@likec4/generators 1.38.1 → 1.39.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/generate-aux.js +1 -1
- package/dist/react/generate-react-types.js +1 -1
- package/package.json +9 -5
- package/src/model/generate-aux.ts +2 -2
- package/src/react/generate-react-types.ts +1 -1
- package/src/__mocks__/data.ts +0 -463
- package/src/d2/__snapshots__/generate-d2.spec.ts.snap +0 -169
- package/src/d2/generate-d2.spec.ts +0 -102
- package/src/mmd/__snapshots__/generate-mmd.spec.ts.snap +0 -55
- package/src/mmd/generate-mmd.spec.ts +0 -23
- package/src/model/__snapshots__/_aux.generate-valid-code.snap +0 -56
- package/src/model/__snapshots__/likec4.computed-model.snap +0 -1150
- package/src/model/__snapshots__/likec4.parsed-model.snap +0 -654
- package/src/model/generate-aux.spec.ts +0 -65
- package/src/model/generate-likec4-model.spec.ts +0 -184
- package/src/puml/__snapshots__/generate-puml.spec.ts.snap +0 -184
- package/src/puml/generate-puml.spec.ts +0 -26
- package/src/react/__snapshots__/valid-code.snap +0 -111
- package/src/react/generate-react-types.spec.ts +0 -67
- package/src/views-data-ts/__snapshots__/generate-views-data.spec.ts.snap +0 -83
- package/src/views-data-ts/generate-views-data.spec.ts +0 -15
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Builder } from '@likec4/core/builder'
|
|
2
|
-
import type { aux, LikeC4ViewModel } from '@likec4/core/model'
|
|
3
|
-
import type { LayoutedView, ProcessedView } from '@likec4/core/types'
|
|
4
|
-
import { expect, test, vi } from 'vitest'
|
|
5
|
-
import { fakeComputedView3Levels, fakeDiagram, fakeDiagram2 } from '../__mocks__/data'
|
|
6
|
-
import { generateD2 } from './generate-d2'
|
|
7
|
-
|
|
8
|
-
const b = Builder
|
|
9
|
-
.specification({
|
|
10
|
-
elements: {
|
|
11
|
-
actor: {},
|
|
12
|
-
system: {},
|
|
13
|
-
component: {},
|
|
14
|
-
},
|
|
15
|
-
deployments: {
|
|
16
|
-
env: {},
|
|
17
|
-
vm: {},
|
|
18
|
-
},
|
|
19
|
-
tags: {
|
|
20
|
-
t1: {},
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
.model(({ actor, system, component, rel }, _) =>
|
|
24
|
-
_(
|
|
25
|
-
actor('alice', 'Alice'),
|
|
26
|
-
actor('bob', 'Bob'),
|
|
27
|
-
system('cloud', 'Cloud').with(
|
|
28
|
-
component('backend', 'Backend').with(
|
|
29
|
-
component('api', 'API'),
|
|
30
|
-
component('db', 'DB'),
|
|
31
|
-
),
|
|
32
|
-
component('frontend'),
|
|
33
|
-
),
|
|
34
|
-
rel('alice', 'cloud.frontend', {
|
|
35
|
-
title: 'uses \n at home',
|
|
36
|
-
}),
|
|
37
|
-
rel('bob', 'cloud.frontend', {
|
|
38
|
-
title: 'uses \n at work',
|
|
39
|
-
}),
|
|
40
|
-
rel('cloud.backend.api', 'cloud.backend.db'),
|
|
41
|
-
rel('cloud.frontend', 'cloud.backend.api', {
|
|
42
|
-
title: 'requests',
|
|
43
|
-
tags: ['t1'],
|
|
44
|
-
}),
|
|
45
|
-
)
|
|
46
|
-
)
|
|
47
|
-
// Test Element View
|
|
48
|
-
|
|
49
|
-
test('generate D2 - landscape', () => {
|
|
50
|
-
const m = b
|
|
51
|
-
.views(({ view, $include }) =>
|
|
52
|
-
view('index', {
|
|
53
|
-
title: 'Layout',
|
|
54
|
-
description: 'description',
|
|
55
|
-
}).with(
|
|
56
|
-
$include('*'),
|
|
57
|
-
)
|
|
58
|
-
)
|
|
59
|
-
.toLikeC4Model()
|
|
60
|
-
expect(generateD2(m.view('index'))).toMatchSnapshot()
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
test('generate D2 - element view', () => {
|
|
64
|
-
const m = b
|
|
65
|
-
.views(({ viewOf, $include }) =>
|
|
66
|
-
viewOf('v1', 'cloud').with(
|
|
67
|
-
$include('*'),
|
|
68
|
-
)
|
|
69
|
-
)
|
|
70
|
-
.toLikeC4Model()
|
|
71
|
-
expect(generateD2(m.view('v1'))).toMatchSnapshot()
|
|
72
|
-
})
|
|
73
|
-
|
|
74
|
-
test('generate D2 - element view 3 levels', () => {
|
|
75
|
-
const m = b
|
|
76
|
-
.views(({ viewOf, $include }) =>
|
|
77
|
-
viewOf('v2', 'cloud.backend').with(
|
|
78
|
-
$include('*'),
|
|
79
|
-
$include('* -> cloud._'),
|
|
80
|
-
)
|
|
81
|
-
)
|
|
82
|
-
.toLikeC4Model()
|
|
83
|
-
expect(generateD2(m.view('v2'))).toMatchSnapshot()
|
|
84
|
-
})
|
|
85
|
-
|
|
86
|
-
const mockViewModel = vi.fn(function($view: ProcessedView) {
|
|
87
|
-
return {
|
|
88
|
-
$view,
|
|
89
|
-
} as unknown as LikeC4ViewModel<aux.Unknown, LayoutedView<aux.Unknown>>
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
test('generate D2 - fakeDiagram', () => {
|
|
93
|
-
expect(generateD2(mockViewModel(fakeDiagram))).toMatchSnapshot()
|
|
94
|
-
})
|
|
95
|
-
|
|
96
|
-
test('generate D2 - fakeDiagram2', () => {
|
|
97
|
-
expect(generateD2(mockViewModel(fakeDiagram2))).toMatchSnapshot()
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
test('generate D2 - fakeComputedView 3 Levels', () => {
|
|
101
|
-
expect(generateD2(mockViewModel(fakeComputedView3Levels))).toMatchSnapshot()
|
|
102
|
-
})
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
-
|
|
3
|
-
exports[`generate mermaid - fakeComputedView 3 Levels 1`] = `
|
|
4
|
-
"---
|
|
5
|
-
title: "Context: Cloud"
|
|
6
|
-
---
|
|
7
|
-
graph TB
|
|
8
|
-
Amazon[amazon]
|
|
9
|
-
subgraph Cloud["cloud"]
|
|
10
|
-
subgraph Cloud.Backend["backend"]
|
|
11
|
-
Cloud.Backend.Graphql[graphql]
|
|
12
|
-
Cloud.Backend.Storage[storage]
|
|
13
|
-
end
|
|
14
|
-
Cloud.FrontendAdminPanel[adminPanel]
|
|
15
|
-
Cloud.FrontendDashboard[dashboard]
|
|
16
|
-
end
|
|
17
|
-
Customer[customer]
|
|
18
|
-
Support[support]
|
|
19
|
-
Cloud.FrontendDashboard -.-> Cloud.Backend.Graphql
|
|
20
|
-
Cloud.FrontendAdminPanel -.-> Cloud.Backend.Graphql
|
|
21
|
-
Cloud.Backend.Storage -.-> Amazon
|
|
22
|
-
Cloud.Backend.Graphql -.-> Cloud.Backend.Storage
|
|
23
|
-
Support -.-> Cloud.FrontendAdminPanel
|
|
24
|
-
Customer -.-> Cloud.FrontendDashboard
|
|
25
|
-
"
|
|
26
|
-
`;
|
|
27
|
-
|
|
28
|
-
exports[`generate mermaid - fakeDiagram 1`] = `
|
|
29
|
-
"graph TB
|
|
30
|
-
Amazon[amazon]
|
|
31
|
-
subgraph Cloud["cloud"]
|
|
32
|
-
Cloud.Backend[backend]
|
|
33
|
-
Cloud.Frontend[frontend]
|
|
34
|
-
end
|
|
35
|
-
Customer[customer]
|
|
36
|
-
Support[support]
|
|
37
|
-
Cloud.Frontend -. "requests" .-> Cloud.Backend
|
|
38
|
-
Cloud.Backend -.-> Amazon
|
|
39
|
-
Support -.-> Cloud.Frontend
|
|
40
|
-
Customer -. "opens" .-> Cloud.Frontend
|
|
41
|
-
"
|
|
42
|
-
`;
|
|
43
|
-
|
|
44
|
-
exports[`generate mermaid - fakeDiagram2 1`] = `
|
|
45
|
-
"---
|
|
46
|
-
title: "frontend"
|
|
47
|
-
---
|
|
48
|
-
graph TB
|
|
49
|
-
Client[client]
|
|
50
|
-
SystemBackend[backend]
|
|
51
|
-
SystemFrontend[frontend]
|
|
52
|
-
SystemFrontend -. "requests" .-> SystemBackend
|
|
53
|
-
Client -. "opens" .-> SystemFrontend
|
|
54
|
-
"
|
|
55
|
-
`;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { LikeC4ViewModel } from '@likec4/core/model'
|
|
2
|
-
import type { aux, ProcessedView } from '@likec4/core/types'
|
|
3
|
-
import { expect, test, vi } from 'vitest'
|
|
4
|
-
import { fakeComputedView3Levels, fakeDiagram, fakeDiagram2 } from '../__mocks__/data'
|
|
5
|
-
import { generateMermaid } from './generate-mmd'
|
|
6
|
-
|
|
7
|
-
const mockViewModel = vi.fn(function($view: ProcessedView) {
|
|
8
|
-
return {
|
|
9
|
-
$view,
|
|
10
|
-
} as unknown as LikeC4ViewModel<aux.Unknown>
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
test('generate mermaid - fakeDiagram', () => {
|
|
14
|
-
expect(generateMermaid(mockViewModel(fakeDiagram))).toMatchSnapshot()
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
test('generate mermaid - fakeDiagram2', () => {
|
|
18
|
-
expect(generateMermaid(mockViewModel(fakeDiagram2))).toMatchSnapshot()
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
test('generate mermaid - fakeComputedView 3 Levels', () => {
|
|
22
|
-
expect(generateMermaid(mockViewModel(fakeComputedView3Levels))).toMatchSnapshot()
|
|
23
|
-
})
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { Aux, SpecAux } from '@likec4/core/types';
|
|
2
|
-
|
|
3
|
-
export type $Specs = SpecAux<
|
|
4
|
-
// Element kinds
|
|
5
|
-
| "actor"
|
|
6
|
-
| "component"
|
|
7
|
-
| "system",
|
|
8
|
-
// Deployment kinds
|
|
9
|
-
| "env"
|
|
10
|
-
| "vm",
|
|
11
|
-
// Relationship kinds
|
|
12
|
-
| "dislike"
|
|
13
|
-
| "like",
|
|
14
|
-
// Tags
|
|
15
|
-
| "tag1"
|
|
16
|
-
| "tag2",
|
|
17
|
-
// Metadata keys
|
|
18
|
-
| "key1"
|
|
19
|
-
| "key2"
|
|
20
|
-
>
|
|
21
|
-
|
|
22
|
-
export type $Aux = Aux<
|
|
23
|
-
"computed",
|
|
24
|
-
// Elements
|
|
25
|
-
| "alice"
|
|
26
|
-
| "bob"
|
|
27
|
-
| "cloud"
|
|
28
|
-
| "cloud.backend"
|
|
29
|
-
| "cloud.frontend"
|
|
30
|
-
| "cloud.backend.api"
|
|
31
|
-
| "cloud.backend.db",
|
|
32
|
-
// Deployments
|
|
33
|
-
| "dev"
|
|
34
|
-
| "prod"
|
|
35
|
-
| "dev.api"
|
|
36
|
-
| "dev.vm1"
|
|
37
|
-
| "prod.vm1"
|
|
38
|
-
| "prod.vm2",
|
|
39
|
-
// Views
|
|
40
|
-
| "view1"
|
|
41
|
-
| "view2",
|
|
42
|
-
// Project ID
|
|
43
|
-
"from-builder",
|
|
44
|
-
$Specs
|
|
45
|
-
>
|
|
46
|
-
|
|
47
|
-
export type $ElementId = $Aux['ElementId']
|
|
48
|
-
export type $DeploymentId = $Aux['DeploymentId']
|
|
49
|
-
export type $ViewId = $Aux['ViewId']
|
|
50
|
-
|
|
51
|
-
export type $ElementKind = $Aux['ElementKind']
|
|
52
|
-
export type $RelationKind = $Aux['RelationKind']
|
|
53
|
-
export type $DeploymentKind = $Aux['DeploymentKind']
|
|
54
|
-
export type $Tag = $Aux['Tag']
|
|
55
|
-
export type $Tags = readonly $Aux['Tag'][]
|
|
56
|
-
export type $MetadataKey = $Aux['MetadataKey']
|