@ddd-tool/domain-designer-cli 0.3.0 → 0.3.2
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/bin/domain-designer-cli.cjs +19148 -19145
- package/package.json +4 -2
- package/packages/core/dist/README.md +43 -0
- package/packages/core/dist/actor.d.ts +2 -0
- package/packages/core/dist/agg.d.ts +2 -0
- package/packages/core/dist/command.d.ts +3 -0
- package/packages/core/dist/common.d.ts +158 -0
- package/packages/core/dist/event.d.ts +2 -0
- package/packages/core/dist/index.d.ts +33 -0
- package/packages/core/dist/index.js +1980 -0
- package/packages/core/dist/info.d.ts +2 -0
- package/packages/core/dist/note.d.ts +2 -0
- package/packages/core/dist/package.json +21 -0
- package/packages/core/dist/policy.d.ts +2 -0
- package/packages/core/dist/read-model.d.ts +2 -0
- package/packages/core/dist/service.d.ts +2 -0
- package/packages/core/dist/system.d.ts +2 -0
- package/packages/core/dist/types.d.ts +558 -0
- package/packages/playground/node_modules/.vite/deps/_metadata.json +7 -7
- package/packages/playground/package.json +19 -21
- package/packages/playground/src/views/Index.vue +16 -16
- package/packages/playground/src/views/complex-example-detail/book.ts +383 -383
- package/packages/playground/src/views/complex-example-detail/common.ts +4 -4
- package/packages/playground/src/views/complex-example-detail/user.ts +66 -66
- package/packages/playground/src/views/design-en.ts +110 -110
- package/packages/playground/src/views/design-zh.ts +97 -97
- package/packages/playground/src/views/index.ts +19 -19
- package/packages/playground/src/views/simple-example.ts +103 -103
- package/packages/playground/vite-env.d.ts +12 -12
- package/packages/playground/vite.config.ts +27 -21
- package/packages/ui-component/dist/LICENSE +201 -0
- package/packages/ui-component/dist/README.md +5 -0
- package/packages/ui-component/dist/UI.vue.d.ts +29 -0
- package/packages/ui-component/dist/common.d.ts +9 -0
- package/packages/ui-component/dist/components/drag-zoom/Index.vue.d.ts +37 -0
- package/packages/ui-component/dist/components/node-info/Index.vue.d.ts +29 -0
- package/packages/ui-component/dist/components/nomnoml/Index.vue.d.ts +24 -0
- package/packages/ui-component/dist/components/nomnoml/base-style.d.ts +2 -0
- package/packages/ui-component/dist/components/nomnoml/preprocess.d.ts +5 -0
- package/packages/ui-component/dist/components/story-bar/Index.vue.d.ts +28 -0
- package/packages/ui-component/dist/components/tool-bar/Index.vue.d.ts +29 -0
- package/packages/ui-component/dist/domain/common.d.ts +27 -0
- package/packages/ui-component/dist/domain/diagram-agg/gen-code.d.ts +64 -0
- package/packages/ui-component/dist/domain/diagram-agg/index.d.ts +8554 -0
- package/packages/ui-component/dist/domain/diagram-agg/plugins.d.ts +80 -0
- package/packages/ui-component/dist/domain/diagram-agg/types.d.ts +20 -0
- package/packages/ui-component/dist/domain/i18n-agg/index.d.ts +25 -0
- package/packages/ui-component/dist/domain/i18n-agg/locale/en-US.d.ts +3 -0
- package/packages/ui-component/dist/domain/i18n-agg/locale/zh-CN.d.ts +3 -0
- package/packages/ui-component/dist/domain/i18n-agg/message.d.ts +42 -0
- package/packages/ui-component/dist/domain/mount-plugin.d.ts +1 -0
- package/packages/ui-component/dist/favicon.ico +0 -0
- package/packages/ui-component/dist/index.css +144 -0
- package/packages/ui-component/dist/index.d.ts +6 -0
- package/packages/ui-component/dist/index.js +19776 -0
- package/packages/ui-component/dist/package.json +28 -0
- package/packages/ui-component/dist/ui.d.ts +8 -0
- package/scripts/build-ts.mjs +52 -52
- package/scripts/sync-version.mjs +22 -22
- package/templates/CLAUDE.md +273 -12
- package/templates/complex-example-detail/book.ts +386 -383
- package/templates/complex-example-detail/common.ts +4 -4
- package/templates/complex-example-detail/user.ts +66 -66
- package/templates/node_modules/@ddd-tool/domain-designer-core/actor.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/agg.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/command.d.ts +3 -3
- package/templates/node_modules/@ddd-tool/domain-designer-core/common.d.ts +79 -79
- package/templates/node_modules/@ddd-tool/domain-designer-core/event.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/index.d.ts +4 -4
- package/templates/node_modules/@ddd-tool/domain-designer-core/info.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/note.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/policy.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/read-model.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/service.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/system.d.ts +2 -2
- package/templates/node_modules/@ddd-tool/domain-designer-core/types.d.ts +326 -326
- package/templates/node_modules/version.txt +1 -1
- package/templates/simple-example.ts +103 -103
- package/templates//345/244/215/346/235/202/346/250/241/345/235/227/346/267/273/345/212/240-detail/345/220/216/347/274/200 +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-tool/domain-designer-cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"./bin",
|
|
12
|
+
"./packages/core/dist",
|
|
12
13
|
"./packages/playground",
|
|
14
|
+
"./packages/ui-component/dist",
|
|
13
15
|
"./scripts",
|
|
14
16
|
"./templates",
|
|
15
17
|
"./tsconfig.json"
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
"dev:ui": "pnpm -F @ddd-tool/domain-designer-ui-component dev",
|
|
60
62
|
"dev:page": "pnpm -F github-pages dev",
|
|
61
63
|
"build": "pnpm syncver && pnpm -r build && pnpm fmt",
|
|
62
|
-
"fmt": "pnpm exec prettier --write \"**/*.{vue,ts}\"",
|
|
64
|
+
"fmt": "pnpm exec prettier --write \"**/*.{vue,ts,mjs}\"",
|
|
63
65
|
"test": "pnpm -r test",
|
|
64
66
|
"test:cli": "pnpm -F cli test",
|
|
65
67
|
"verify": "pnpm -r verify",
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# domain-designer-core
|
|
2
|
+
|
|
3
|
+
领域设计器核心库
|
|
4
|
+
|
|
5
|
+
## 关于 api 命名
|
|
6
|
+
|
|
7
|
+
- 多个单词能表示同一个意思时,选择使用频次高的
|
|
8
|
+
|
|
9
|
+
- 遵循 ts 命名规范,函数名尽量保持在 8 个字母内,保留前缀,对后缀进行缩写
|
|
10
|
+
|
|
11
|
+
- 如果缩写后的名称有明显歧义,那么干脆就不缩写了
|
|
12
|
+
|
|
13
|
+
## 功能设计
|
|
14
|
+
|
|
15
|
+
- [x] 提供一个 `createDomainDesigner` 函数,通过该函数能够实现用户在设计时的各种需求
|
|
16
|
+
|
|
17
|
+
- [x] 内部提供可链式调用的函数
|
|
18
|
+
|
|
19
|
+
- [x] 提供一个 `checkDesigner` 函数,用于辅助检查完备性
|
|
20
|
+
|
|
21
|
+
- [x] 内置字符串相似性算法,用于辅助检查完备性
|
|
22
|
+
|
|
23
|
+
## 关于 LinkType
|
|
24
|
+
|
|
25
|
+
- Association: 关联关系。默认实线连线,表示稳定的关系,从一个节点到下一个节点
|
|
26
|
+
|
|
27
|
+
- Dependency: 依赖关系。虚线连线,表示弱依赖关系。
|
|
28
|
+
|
|
29
|
+
- Aggregation: 聚合关系。空心菱形箭头连线,表示从部分组成整体(部分可单独存在)
|
|
30
|
+
|
|
31
|
+
- Composition: 组合关系。实心菱形箭头连线,表示从部分组成整体(部分不可单独存在,没有整体就没有部分)
|
|
32
|
+
|
|
33
|
+
## 关于 wasm
|
|
34
|
+
|
|
35
|
+
- 使用 rust 构建
|
|
36
|
+
|
|
37
|
+
```shell
|
|
38
|
+
cd wasm/
|
|
39
|
+
|
|
40
|
+
wasm-pack build
|
|
41
|
+
|
|
42
|
+
# -t, --target <TARGET> Sets the target environment. [possible values: bundler, nodejs, web, no-modules, deno] [default: bundler]
|
|
43
|
+
```
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DomainDesignCommandProvider, DomainDesignFacadeCommandProvider } from './types'
|
|
2
|
+
export declare function createCommandProvider(designId: string): DomainDesignCommandProvider
|
|
3
|
+
export declare function createFacadeCmdProvider(designId: string): DomainDesignFacadeCommandProvider
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NonEmptyArray,
|
|
3
|
+
DomainDesignAgg,
|
|
4
|
+
DomainDesignAggProvider,
|
|
5
|
+
DomainDesignCommand,
|
|
6
|
+
DomainDesignCommandProvider,
|
|
7
|
+
DomainDesignNoteProvider,
|
|
8
|
+
DomainDesignEvent,
|
|
9
|
+
DomainDesignEventProvider,
|
|
10
|
+
DomainDesignFacadeCommand,
|
|
11
|
+
DomainDesignFacadeCommandProvider,
|
|
12
|
+
DomainDesignInfoProvider,
|
|
13
|
+
DomainDesignActor,
|
|
14
|
+
DomainDesignActorProvider,
|
|
15
|
+
DomainDesignPolicy,
|
|
16
|
+
DomainDesignPolicyProvider,
|
|
17
|
+
DomainDesignService,
|
|
18
|
+
DomainDesignServiceProvider,
|
|
19
|
+
DomainDesignSystem,
|
|
20
|
+
DomainDesignSystemProvider,
|
|
21
|
+
DomainDesignReadModel,
|
|
22
|
+
DomainDesignReadModelProvider,
|
|
23
|
+
CustomInfoArrayToInfoObject,
|
|
24
|
+
DomainDesignInfo,
|
|
25
|
+
DomainDesignInfoType,
|
|
26
|
+
CustomInfo,
|
|
27
|
+
DomainDesignOptions,
|
|
28
|
+
DomainObjectSet,
|
|
29
|
+
DomainDesignObject,
|
|
30
|
+
} from './types'
|
|
31
|
+
export type LinkType = 'Association' | 'Dependency' | 'Aggregation' | 'Composition'
|
|
32
|
+
type Rule =
|
|
33
|
+
| 'Info'
|
|
34
|
+
| 'Actor'
|
|
35
|
+
| 'Command'
|
|
36
|
+
| 'FacadeCommand'
|
|
37
|
+
| 'Agg'
|
|
38
|
+
| 'Event'
|
|
39
|
+
| 'Policy'
|
|
40
|
+
| 'Service'
|
|
41
|
+
| 'System'
|
|
42
|
+
| 'ReadModel'
|
|
43
|
+
export declare function genId(): string
|
|
44
|
+
type ContextInitializer = () => {
|
|
45
|
+
id: string
|
|
46
|
+
options: DomainDesignOptions
|
|
47
|
+
createNote: DomainDesignNoteProvider
|
|
48
|
+
createInfo: DomainDesignInfoProvider
|
|
49
|
+
createActor: DomainDesignActorProvider
|
|
50
|
+
createCommand: DomainDesignCommandProvider
|
|
51
|
+
createFacadeCommand: DomainDesignFacadeCommandProvider
|
|
52
|
+
createAgg: DomainDesignAggProvider
|
|
53
|
+
createEvent: DomainDesignEventProvider
|
|
54
|
+
createPolicy: DomainDesignPolicyProvider
|
|
55
|
+
createService: DomainDesignServiceProvider
|
|
56
|
+
createSystem: DomainDesignSystemProvider
|
|
57
|
+
createReadModel: DomainDesignReadModelProvider
|
|
58
|
+
}
|
|
59
|
+
export type DomainDesignInternalContext = ReturnType<typeof createInternalContext>
|
|
60
|
+
declare function createInternalContext(initFn: ContextInitializer): {
|
|
61
|
+
startWorkflow(name: string): string
|
|
62
|
+
defineUserStory(name: string, workflowNames: NonEmptyArray<string>): void
|
|
63
|
+
linkTo(
|
|
64
|
+
srcRule: Rule,
|
|
65
|
+
srcId: string,
|
|
66
|
+
targetRule: Rule,
|
|
67
|
+
targetId: string,
|
|
68
|
+
linkType?: LinkType,
|
|
69
|
+
): void
|
|
70
|
+
getDesignerId(): string
|
|
71
|
+
getDesignerOptions(): Required<DomainDesignOptions>
|
|
72
|
+
getWorkflows(): Record<string, string[]>
|
|
73
|
+
getUserStories(): Record<string, string[]>
|
|
74
|
+
getLinks(): Record<string, LinkType>
|
|
75
|
+
getIdMap(): Record<string, DomainDesignObject>
|
|
76
|
+
getAssociationMap(): Record<string, DomainObjectSet<DomainDesignObject>>
|
|
77
|
+
getCommands(): DomainDesignCommand<any>[]
|
|
78
|
+
getFacadeCommands(): DomainDesignFacadeCommand<any>[]
|
|
79
|
+
getActors(): DomainDesignActor[]
|
|
80
|
+
getEvents(): DomainDesignEvent<any>[]
|
|
81
|
+
getPolicies(): DomainDesignPolicy[]
|
|
82
|
+
getServices(): DomainDesignService[]
|
|
83
|
+
getSystems(): DomainDesignSystem[]
|
|
84
|
+
getAggs(): DomainDesignAgg<any>[]
|
|
85
|
+
getReadModels(): DomainDesignReadModel<any>[]
|
|
86
|
+
registerInfo(info: DomainDesignInfo<any, any>): void
|
|
87
|
+
registerCommand(command: DomainDesignCommand<any>): void
|
|
88
|
+
registerFacadeCommand(command: DomainDesignFacadeCommand<any>): void
|
|
89
|
+
registerActor(actor: DomainDesignActor): void
|
|
90
|
+
registerEvent(event: DomainDesignEvent<any>): void
|
|
91
|
+
registerPolicy(policy: DomainDesignPolicy): void
|
|
92
|
+
registerService(service: DomainDesignService): void
|
|
93
|
+
registerSystem(system: DomainDesignSystem): void
|
|
94
|
+
registerAgg(agg: DomainDesignAgg<any>): void
|
|
95
|
+
registerReadModel(readModel: DomainDesignReadModel<any>): void
|
|
96
|
+
customInfoArrToInfoObj<G_NAME extends string, ARR extends NonEmptyArray<CustomInfo<G_NAME>>>(
|
|
97
|
+
arr: ARR,
|
|
98
|
+
): CustomInfoArrayToInfoObject<ARR>
|
|
99
|
+
customInfoArrToInfoArr<G_NAME extends string, ARR extends NonEmptyArray<CustomInfo<G_NAME>>>(
|
|
100
|
+
arr: ARR,
|
|
101
|
+
): DomainDesignInfo<DomainDesignInfoType, string>[]
|
|
102
|
+
toFormat<
|
|
103
|
+
OBJ extends {
|
|
104
|
+
_attributes: {
|
|
105
|
+
__id: string
|
|
106
|
+
name: string
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
>(
|
|
110
|
+
obj: OBJ,
|
|
111
|
+
): string
|
|
112
|
+
createNote: DomainDesignNoteProvider
|
|
113
|
+
info: {
|
|
114
|
+
document<NAME extends string>(
|
|
115
|
+
name: NAME,
|
|
116
|
+
note?: string | import('./types').DomainDesignNote,
|
|
117
|
+
): DomainDesignInfo<'Document', NAME>
|
|
118
|
+
func<NAME extends string>(
|
|
119
|
+
name: NAME,
|
|
120
|
+
note?: string | import('./types').DomainDesignNote,
|
|
121
|
+
): DomainDesignInfo<'Function', NAME>
|
|
122
|
+
func<NAME extends string>(
|
|
123
|
+
name: NAME,
|
|
124
|
+
dependsOn: NonEmptyArray<
|
|
125
|
+
| import('./types').DomainDesignInfoFuncDependsOn
|
|
126
|
+
| string
|
|
127
|
+
| [string, string | import('./types').DomainDesignNote]
|
|
128
|
+
>,
|
|
129
|
+
note?: string | import('./types').DomainDesignNote,
|
|
130
|
+
): DomainDesignInfo<'Function', NAME>
|
|
131
|
+
id<NAME extends string>(
|
|
132
|
+
name: NAME,
|
|
133
|
+
note?: string | import('./types').DomainDesignNote,
|
|
134
|
+
): DomainDesignInfo<'Id', NAME>
|
|
135
|
+
valueObj<NAME extends string>(
|
|
136
|
+
name: NAME,
|
|
137
|
+
note?: string | import('./types').DomainDesignNote,
|
|
138
|
+
): DomainDesignInfo<'ValueObject', NAME>
|
|
139
|
+
version<NAME extends string>(
|
|
140
|
+
name: NAME,
|
|
141
|
+
note?: string | import('./types').DomainDesignNote,
|
|
142
|
+
): DomainDesignInfo<'Version', NAME>
|
|
143
|
+
}
|
|
144
|
+
createPersion: DomainDesignActorProvider
|
|
145
|
+
createCommand: DomainDesignCommandProvider
|
|
146
|
+
createFacadeCommand: DomainDesignFacadeCommandProvider
|
|
147
|
+
createAgg: DomainDesignAggProvider
|
|
148
|
+
createEvent: DomainDesignEventProvider
|
|
149
|
+
createPolicy: DomainDesignPolicyProvider
|
|
150
|
+
createService: DomainDesignServiceProvider
|
|
151
|
+
createSystem: DomainDesignSystemProvider
|
|
152
|
+
createReadModel: DomainDesignReadModelProvider
|
|
153
|
+
}
|
|
154
|
+
export declare function useInternalContext(
|
|
155
|
+
designId: string,
|
|
156
|
+
initFn?: ContextInitializer,
|
|
157
|
+
): DomainDesignInternalContext
|
|
158
|
+
export {}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DomainDesigner, DomainDesignOptions } from './types'
|
|
2
|
+
export declare function defaultOptions(): Required<DomainDesignOptions>
|
|
3
|
+
export declare function createDomainDesigner(opts?: DomainDesignOptions): DomainDesigner
|
|
4
|
+
export {
|
|
5
|
+
type DomainDesigner,
|
|
6
|
+
type DomainDesignAgg,
|
|
7
|
+
type DomainDesignCommand,
|
|
8
|
+
type DomainDesignFacadeCommand,
|
|
9
|
+
type DomainDesignNote,
|
|
10
|
+
type DomainDesignEvent,
|
|
11
|
+
type DomainDesignInfo,
|
|
12
|
+
type DomainDesignInfoType,
|
|
13
|
+
type DomainDesignActor,
|
|
14
|
+
type DomainDesignSystem,
|
|
15
|
+
type DomainDesignService,
|
|
16
|
+
type DomainDesignPolicy,
|
|
17
|
+
type DomainDesignInfoRecord,
|
|
18
|
+
type DomainDesignReadModel,
|
|
19
|
+
type DomainDesignObject,
|
|
20
|
+
DomainDesignRule,
|
|
21
|
+
isDomainDesignInfo,
|
|
22
|
+
isDomainDesignInfoFunc,
|
|
23
|
+
isDomainDesignActor,
|
|
24
|
+
isDomainDesignAgg,
|
|
25
|
+
isDomainDesignCommand,
|
|
26
|
+
isDomainDesignFacadeCommand,
|
|
27
|
+
isDomainDesignEvent,
|
|
28
|
+
isDomainDesignPolicy,
|
|
29
|
+
isDomainDesignReadModel,
|
|
30
|
+
isDomainDesignService,
|
|
31
|
+
isDomainDesignSystem,
|
|
32
|
+
isDomainDesigner,
|
|
33
|
+
} from './types'
|