Copy as Markdown[View as Markdown](/docs/sdk/functions/versionDiagram.md)

***

# Function: versionDiagram()

> **versionDiagram**(`directory`): (`id`) => `Promise`<`void`>

Defined in: diagrams.ts:185

Version a diagram by its id.

Takes the latest diagram and moves it to a versioned directory. All files with this diagram are also versioned (e.g /diagrams/ArchitectureDiagram/diagram.png)

## Parameters[​](#parameters "Direct link to Parameters")

| Parameter   | Type     |
| ----------- | -------- |
| `directory` | `string` |

## Returns[​](#returns "Direct link to Returns")

`Function`

### Parameters[​](#parameters-1 "Direct link to Parameters")

| Parameter | Type     |
| --------- | -------- |
| `id`      | `string` |

### Returns[​](#returns-1 "Direct link to Returns")

`Promise`<`void`>

## Example[​](#example "Direct link to Example")

```
import utils from '@eventcatalog/utils';

const { versionDiagram } = utils('/path/to/eventcatalog');

// moves the latest ArchitectureDiagram diagram to a versioned directory
// the version within that diagram is used as the version number.
await versionDiagram('ArchitectureDiagram');
```
