@hexaijs/plugin-contracts-generator 0.1.0 → 0.2.0
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/README.md +5 -2
- package/dist/cli-CPg-O4OY.d.ts +214 -0
- package/dist/cli.d.ts +1 -35
- package/dist/cli.js +2479 -232
- package/dist/cli.js.map +1 -1
- package/dist/decorators/index.d.ts +12 -11
- package/dist/decorators/index.js +21 -116
- package/dist/decorators/index.js.map +1 -1
- package/dist/index.d.ts +533 -40
- package/dist/index.js +2738 -91
- package/dist/index.js.map +1 -1
- package/dist/runtime/index.d.ts +23 -2
- package/dist/runtime/index.js +38 -5
- package/dist/runtime/index.js.map +1 -1
- package/package.json +63 -75
- package/dist/ast-utils.d.ts +0 -6
- package/dist/ast-utils.d.ts.map +0 -1
- package/dist/ast-utils.js +0 -111
- package/dist/ast-utils.js.map +0 -1
- package/dist/class-analyzer.d.ts +0 -16
- package/dist/class-analyzer.d.ts.map +0 -1
- package/dist/class-analyzer.js +0 -155
- package/dist/class-analyzer.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/config-loader.d.ts +0 -34
- package/dist/config-loader.d.ts.map +0 -1
- package/dist/config-loader.js +0 -188
- package/dist/config-loader.js.map +0 -1
- package/dist/decorators/index.d.ts.map +0 -1
- package/dist/domain/index.d.ts +0 -2
- package/dist/domain/index.d.ts.map +0 -1
- package/dist/domain/index.js +0 -18
- package/dist/domain/index.js.map +0 -1
- package/dist/domain/types.d.ts +0 -182
- package/dist/domain/types.d.ts.map +0 -1
- package/dist/domain/types.js +0 -65
- package/dist/domain/types.js.map +0 -1
- package/dist/errors.d.ts +0 -79
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -138
- package/dist/errors.js.map +0 -1
- package/dist/file-copier.d.ts +0 -85
- package/dist/file-copier.d.ts.map +0 -1
- package/dist/file-copier.js +0 -773
- package/dist/file-copier.js.map +0 -1
- package/dist/file-graph-resolver.d.ts +0 -47
- package/dist/file-graph-resolver.d.ts.map +0 -1
- package/dist/file-graph-resolver.js +0 -230
- package/dist/file-graph-resolver.js.map +0 -1
- package/dist/file-system.d.ts +0 -26
- package/dist/file-system.d.ts.map +0 -1
- package/dist/file-system.js +0 -34
- package/dist/file-system.js.map +0 -1
- package/dist/hexai-plugin.d.ts +0 -16
- package/dist/hexai-plugin.d.ts.map +0 -1
- package/dist/hexai-plugin.js +0 -59
- package/dist/hexai-plugin.js.map +0 -1
- package/dist/import-analyzer.d.ts +0 -6
- package/dist/import-analyzer.d.ts.map +0 -1
- package/dist/import-analyzer.js +0 -77
- package/dist/import-analyzer.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/logger.d.ts +0 -21
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -47
- package/dist/logger.js.map +0 -1
- package/dist/parser.d.ts +0 -32
- package/dist/parser.d.ts.map +0 -1
- package/dist/parser.js +0 -209
- package/dist/parser.js.map +0 -1
- package/dist/pipeline.d.ts +0 -56
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/pipeline.js +0 -152
- package/dist/pipeline.js.map +0 -1
- package/dist/reexport-generator.d.ts +0 -81
- package/dist/reexport-generator.d.ts.map +0 -1
- package/dist/reexport-generator.js +0 -208
- package/dist/reexport-generator.js.map +0 -1
- package/dist/registry-generator.d.ts +0 -27
- package/dist/registry-generator.d.ts.map +0 -1
- package/dist/registry-generator.js +0 -108
- package/dist/registry-generator.js.map +0 -1
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/message-registry.d.ts +0 -23
- package/dist/runtime/message-registry.d.ts.map +0 -1
- package/dist/runtime/message-registry.js +0 -39
- package/dist/runtime/message-registry.js.map +0 -1
- package/dist/scanner.d.ts +0 -21
- package/dist/scanner.d.ts.map +0 -1
- package/dist/scanner.js +0 -53
- package/dist/scanner.js.map +0 -1
- package/dist/test-utils.d.ts +0 -23
- package/dist/test-utils.d.ts.map +0 -1
- package/dist/test-utils.js +0 -198
- package/dist/test-utils.js.map +0 -1
- package/dist/tsconfig-loader.d.ts +0 -8
- package/dist/tsconfig-loader.d.ts.map +0 -1
- package/dist/tsconfig-loader.js +0 -64
- package/dist/tsconfig-loader.js.map +0 -1
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Version = string | number | undefined;
|
|
2
|
+
interface MessageHeaders {
|
|
3
|
+
id: string;
|
|
4
|
+
type: string;
|
|
5
|
+
schemaVersion?: Version;
|
|
6
|
+
createdAt: Date;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
interface MessageClass<T = any> {
|
|
10
|
+
getSchemaVersion(): Version;
|
|
11
|
+
getType(): string;
|
|
12
|
+
from(rawPayload: Record<string, unknown>, header?: MessageHeaders): T;
|
|
13
|
+
new (payload: any, headers?: any): T;
|
|
14
|
+
}
|
|
15
|
+
declare class MessageRegistry {
|
|
16
|
+
private readonly registry;
|
|
17
|
+
register(messageClass: MessageClass): this;
|
|
18
|
+
dehydrate<T>(header: MessageHeaders, body: Record<string, unknown>): T;
|
|
19
|
+
has(type: string, version?: Version): boolean;
|
|
20
|
+
size(): number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { type MessageClass, type MessageHeaders, MessageRegistry };
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
// src/runtime/message-registry.ts
|
|
2
|
+
var MessageRegistry = class {
|
|
3
|
+
registry = /* @__PURE__ */ new Map();
|
|
4
|
+
register(messageClass) {
|
|
5
|
+
const type = messageClass.getType();
|
|
6
|
+
const version = messageClass.getSchemaVersion();
|
|
7
|
+
const key = makeKey(type, version);
|
|
8
|
+
if (this.registry.has(key)) {
|
|
9
|
+
throw new Error(`${format(type, version)} is already registered.`);
|
|
10
|
+
}
|
|
11
|
+
this.registry.set(key, messageClass);
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
dehydrate(header, body) {
|
|
15
|
+
const { type, schemaVersion } = header;
|
|
16
|
+
const key = makeKey(type, schemaVersion);
|
|
17
|
+
const messageClass = this.registry.get(key);
|
|
18
|
+
if (!messageClass) {
|
|
19
|
+
throw new Error(`${format(type, schemaVersion)} is not registered.`);
|
|
20
|
+
}
|
|
21
|
+
return messageClass.from(body, header);
|
|
22
|
+
}
|
|
23
|
+
has(type, version) {
|
|
24
|
+
return this.registry.has(makeKey(type, version));
|
|
25
|
+
}
|
|
26
|
+
size() {
|
|
27
|
+
return this.registry.size;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
function makeKey(type, version) {
|
|
31
|
+
return version !== void 0 ? `${type}:${version}` : type;
|
|
32
|
+
}
|
|
33
|
+
function format(type, version) {
|
|
34
|
+
return version !== void 0 ? `'${type}' (v${version})` : `'${type}'`;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { MessageRegistry };
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
6
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/runtime/message-registry.ts"],"names":[],"mappings":";AAmBO,IAAM,kBAAN,MAAsB;AAAA,EACR,QAAA,uBAAe,GAAA,EAA0B;AAAA,EAE1D,SAAS,YAAA,EAAkC;AACvC,IAAA,MAAM,IAAA,GAAO,aAAa,OAAA,EAAQ;AAClC,IAAA,MAAM,OAAA,GAAU,aAAa,gBAAA,EAAiB;AAC9C,IAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,IAAA,EAAM,OAAO,CAAA;AAEjC,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,GAAG,CAAA,EAAG;AACxB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,OAAO,IAAA,EAAM,OAAO,CAAC,CAAA,uBAAA,CAAyB,CAAA;AAAA,IACrE;AAEA,IAAA,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,GAAA,EAAK,YAAY,CAAA;AACnC,IAAA,OAAO,IAAA;AAAA,EACX;AAAA,EAEA,SAAA,CAAa,QAAwB,IAAA,EAAkC;AACnE,IAAA,MAAM,EAAE,IAAA,EAAM,aAAA,EAAc,GAAI,MAAA;AAChC,IAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,IAAA,EAAM,aAAa,CAAA;AACvC,IAAA,MAAM,YAAA,GAAe,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,GAAG,CAAA;AAE1C,IAAA,IAAI,CAAC,YAAA,EAAc;AACf,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,OAAO,IAAA,EAAM,aAAa,CAAC,CAAA,mBAAA,CAAqB,CAAA;AAAA,IACvE;AAEA,IAAA,OAAO,YAAA,CAAa,IAAA,CAAK,IAAA,EAAM,MAAM,CAAA;AAAA,EACzC;AAAA,EAEA,GAAA,CAAI,MAAc,OAAA,EAA4B;AAC1C,IAAA,OAAO,KAAK,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,IAAA,EAAM,OAAO,CAAC,CAAA;AAAA,EACnD;AAAA,EAEA,IAAA,GAAe;AACX,IAAA,OAAO,KAAK,QAAA,CAAS,IAAA;AAAA,EACzB;AACJ;AAEA,SAAS,OAAA,CAAQ,MAAc,OAAA,EAA2B;AACtD,EAAA,OAAO,YAAY,MAAA,GAAY,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,GAAK,IAAA;AAC1D;AAEA,SAAS,MAAA,CAAO,MAAc,OAAA,EAA2B;AACrD,EAAA,OAAO,OAAA,KAAY,SAAY,CAAA,CAAA,EAAI,IAAI,OAAO,OAAO,CAAA,CAAA,CAAA,GAAM,IAAI,IAAI,CAAA,CAAA,CAAA;AACvE","file":"index.js","sourcesContent":["type Version = string | number | undefined;\n\nexport interface MessageHeaders {\n id: string;\n type: string;\n schemaVersion?: Version;\n createdAt: Date;\n [key: string]: unknown;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface MessageClass<T = any> {\n getSchemaVersion(): Version;\n getType(): string;\n from(rawPayload: Record<string, unknown>, header?: MessageHeaders): T;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (payload: any, headers?: any): T;\n}\n\nexport class MessageRegistry {\n private readonly registry = new Map<string, MessageClass>();\n\n register(messageClass: MessageClass): this {\n const type = messageClass.getType();\n const version = messageClass.getSchemaVersion();\n const key = makeKey(type, version);\n\n if (this.registry.has(key)) {\n throw new Error(`${format(type, version)} is already registered.`);\n }\n\n this.registry.set(key, messageClass);\n return this;\n }\n\n dehydrate<T>(header: MessageHeaders, body: Record<string, unknown>): T {\n const { type, schemaVersion } = header;\n const key = makeKey(type, schemaVersion);\n const messageClass = this.registry.get(key);\n\n if (!messageClass) {\n throw new Error(`${format(type, schemaVersion)} is not registered.`);\n }\n\n return messageClass.from(body, header) as T;\n }\n\n has(type: string, version?: Version): boolean {\n return this.registry.has(makeKey(type, version));\n }\n\n size(): number {\n return this.registry.size;\n }\n}\n\nfunction makeKey(type: string, version?: Version): string {\n return version !== undefined ? `${type}:${version}` : type;\n}\n\nfunction format(type: string, version?: Version): string {\n return version !== undefined ? `'${type}' (v${version})` : `'${type}'`;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,79 +1,67 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
},
|
|
6
|
-
"version": "0.1.0",
|
|
7
|
-
"description": "Collect domain events and commands from bounded contexts and generate frontend-compatible contracts package",
|
|
8
|
-
"license": "MIT",
|
|
9
|
-
"author": "Sangwoo Hyun <wkdny.hyun@gmail.com>",
|
|
10
|
-
"contributors": [
|
|
11
|
-
"Seungcheol Baek <victoryiron.baek@gmail.com>",
|
|
12
|
-
"Donghyun Lee <edonghyun@naver.com>"
|
|
13
|
-
],
|
|
14
|
-
"repository": {
|
|
15
|
-
"type": "git",
|
|
16
|
-
"url": "git+https://github.com/workingdanny911/hexai.git",
|
|
17
|
-
"directory": "packages/plugin-contracts-generator"
|
|
18
|
-
},
|
|
19
|
-
"homepage": "https://github.com/workingdanny911/hexai#readme",
|
|
20
|
-
"bugs": {
|
|
21
|
-
"url": "https://github.com/workingdanny911/hexai/issues"
|
|
22
|
-
},
|
|
23
|
-
"keywords": [
|
|
24
|
-
"hexai",
|
|
25
|
-
"hexagonal",
|
|
26
|
-
"clean-architecture",
|
|
27
|
-
"ddd",
|
|
28
|
-
"contracts",
|
|
29
|
-
"code-generation",
|
|
30
|
-
"typescript"
|
|
31
|
-
],
|
|
32
|
-
"files": [
|
|
33
|
-
"dist",
|
|
34
|
-
"LICENSE"
|
|
35
|
-
],
|
|
36
|
-
"main": "dist/index.js",
|
|
37
|
-
"types": "dist/index.d.ts",
|
|
38
|
-
"exports": {
|
|
39
|
-
".": {
|
|
40
|
-
"types": "./dist/index.d.ts",
|
|
41
|
-
"import": "./dist/index.js",
|
|
42
|
-
"require": "./dist/index.js"
|
|
2
|
+
"name": "@hexaijs/plugin-contracts-generator",
|
|
3
|
+
"publishConfig": {
|
|
4
|
+
"access": "public"
|
|
43
5
|
},
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
6
|
+
"version": "0.2.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"description": "Collect domain events and commands from bounded contexts and generate frontend-compatible contracts package",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"author": "Sangwoo Hyun <wkdny.hyun@gmail.com>",
|
|
11
|
+
"contributors": [
|
|
12
|
+
"Seungcheol Baek <victoryiron.baek@gmail.com>",
|
|
13
|
+
"Donghyun Lee <edonghyun@naver.com>"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/workingdanny911/hexai.git",
|
|
18
|
+
"directory": "packages/plugin-contracts-generator"
|
|
48
19
|
},
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
20
|
+
"homepage": "https://github.com/workingdanny911/hexai#readme",
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/workingdanny911/hexai/issues"
|
|
23
|
+
},
|
|
24
|
+
"keywords": ["hexai", "hexagonal", "clean-architecture", "ddd", "contracts", "code-generation", "typescript"],
|
|
25
|
+
"files": [
|
|
26
|
+
"dist",
|
|
27
|
+
"LICENSE"
|
|
28
|
+
],
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"import": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./decorators": {
|
|
35
|
+
"types": "./dist/decorators/index.d.ts",
|
|
36
|
+
"import": "./dist/decorators/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./runtime": {
|
|
39
|
+
"types": "./dist/runtime/index.d.ts",
|
|
40
|
+
"import": "./dist/runtime/index.js"
|
|
41
|
+
},
|
|
42
|
+
"./package.json": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
"bin": {
|
|
45
|
+
"generate-contracts": "dist/cli.js"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"build": "tsup"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"glob": "^10.3.0",
|
|
53
|
+
"minimatch": "^9.0.0",
|
|
54
|
+
"reflect-metadata": "^0.2.2"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@hexaijs/cli": "^0.2.0",
|
|
58
|
+
"typescript": "^5.0.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@hexaijs/cli": "workspace:^",
|
|
62
|
+
"@hexaijs/core": "workspace:^",
|
|
63
|
+
"@hexaijs/tooling": "workspace:*",
|
|
64
|
+
"@types/node": "^20.11.0",
|
|
65
|
+
"typescript": "^5.3.0"
|
|
53
66
|
}
|
|
54
|
-
|
|
55
|
-
"bin": {
|
|
56
|
-
"generate-contracts": "dist/cli.js"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"glob": "^10.3.0",
|
|
60
|
-
"minimatch": "^9.0.0",
|
|
61
|
-
"reflect-metadata": "^0.2.2"
|
|
62
|
-
},
|
|
63
|
-
"peerDependencies": {
|
|
64
|
-
"typescript": "^5.0.0",
|
|
65
|
-
"@hexaijs/cli": "^0.1.0"
|
|
66
|
-
},
|
|
67
|
-
"devDependencies": {
|
|
68
|
-
"@types/node": "^20.11.0",
|
|
69
|
-
"typescript": "^5.3.0",
|
|
70
|
-
"@hexaijs/core": "^0.2.0",
|
|
71
|
-
"@hexaijs/cli": "^0.1.0"
|
|
72
|
-
},
|
|
73
|
-
"scripts": {
|
|
74
|
-
"clean": "rm -rf dist",
|
|
75
|
-
"build": "pnpm clean && tsc -p ./tsconfig.build.json",
|
|
76
|
-
"test": "vitest run",
|
|
77
|
-
"test:watch": "vitest"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
67
|
+
}
|
package/dist/ast-utils.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
import type { TypeRef, Field } from "./domain";
|
|
3
|
-
export declare function isPrimitiveTypeName(name: string): boolean;
|
|
4
|
-
export declare function parseTypeNode(typeNode: ts.TypeNode): TypeRef;
|
|
5
|
-
export declare function extractFieldsFromMembers(members: ts.NodeArray<ts.TypeElement>): Field[];
|
|
6
|
-
//# sourceMappingURL=ast-utils.d.ts.map
|
package/dist/ast-utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../src/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EACR,OAAO,EAOP,KAAK,EACR,MAAM,UAAU,CAAC;AAgBlB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,CAwC5D;AAED,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,GACtC,KAAK,EAAE,CAsBT"}
|
package/dist/ast-utils.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.isPrimitiveTypeName = isPrimitiveTypeName;
|
|
37
|
-
exports.parseTypeNode = parseTypeNode;
|
|
38
|
-
exports.extractFieldsFromMembers = extractFieldsFromMembers;
|
|
39
|
-
const ts = __importStar(require("typescript"));
|
|
40
|
-
const PRIMITIVE_TYPE_NAMES = new Set([
|
|
41
|
-
"string",
|
|
42
|
-
"number",
|
|
43
|
-
"boolean",
|
|
44
|
-
"void",
|
|
45
|
-
"null",
|
|
46
|
-
"undefined",
|
|
47
|
-
"any",
|
|
48
|
-
"unknown",
|
|
49
|
-
"never",
|
|
50
|
-
"bigint",
|
|
51
|
-
"symbol",
|
|
52
|
-
]);
|
|
53
|
-
function isPrimitiveTypeName(name) {
|
|
54
|
-
return PRIMITIVE_TYPE_NAMES.has(name);
|
|
55
|
-
}
|
|
56
|
-
function parseTypeNode(typeNode) {
|
|
57
|
-
if (typeNode.kind === ts.SyntaxKind.StringKeyword) {
|
|
58
|
-
return { kind: "primitive", name: "string" };
|
|
59
|
-
}
|
|
60
|
-
if (typeNode.kind === ts.SyntaxKind.NumberKeyword) {
|
|
61
|
-
return { kind: "primitive", name: "number" };
|
|
62
|
-
}
|
|
63
|
-
if (typeNode.kind === ts.SyntaxKind.BooleanKeyword) {
|
|
64
|
-
return { kind: "primitive", name: "boolean" };
|
|
65
|
-
}
|
|
66
|
-
if (ts.isArrayTypeNode(typeNode)) {
|
|
67
|
-
const elementType = parseTypeNode(typeNode.elementType);
|
|
68
|
-
return { kind: "array", elementType };
|
|
69
|
-
}
|
|
70
|
-
if (ts.isTypeReferenceNode(typeNode)) {
|
|
71
|
-
const name = typeNode.typeName.getText();
|
|
72
|
-
const typeArguments = typeNode.typeArguments
|
|
73
|
-
? typeNode.typeArguments.map((t) => parseTypeNode(t))
|
|
74
|
-
: undefined;
|
|
75
|
-
return { kind: "reference", name, typeArguments };
|
|
76
|
-
}
|
|
77
|
-
if (ts.isIntersectionTypeNode(typeNode)) {
|
|
78
|
-
const types = typeNode.types.map((t) => parseTypeNode(t));
|
|
79
|
-
return { kind: "intersection", types };
|
|
80
|
-
}
|
|
81
|
-
if (ts.isUnionTypeNode(typeNode)) {
|
|
82
|
-
const types = typeNode.types.map((t) => parseTypeNode(t));
|
|
83
|
-
return { kind: "union", types };
|
|
84
|
-
}
|
|
85
|
-
if (ts.isTypeLiteralNode(typeNode)) {
|
|
86
|
-
const fields = extractFieldsFromMembers(typeNode.members);
|
|
87
|
-
return { kind: "object", fields };
|
|
88
|
-
}
|
|
89
|
-
return { kind: "reference", name: typeNode.getText() };
|
|
90
|
-
}
|
|
91
|
-
function extractFieldsFromMembers(members) {
|
|
92
|
-
const fields = [];
|
|
93
|
-
for (const member of members) {
|
|
94
|
-
if (ts.isPropertySignature(member) && member.name) {
|
|
95
|
-
const fieldName = member.name.getText();
|
|
96
|
-
const fieldType = member.type
|
|
97
|
-
? parseTypeNode(member.type)
|
|
98
|
-
: { kind: "primitive", name: "any" };
|
|
99
|
-
const optional = !!member.questionToken;
|
|
100
|
-
const readonly = member.modifiers?.some((m) => m.kind === ts.SyntaxKind.ReadonlyKeyword) ?? false;
|
|
101
|
-
fields.push({
|
|
102
|
-
name: fieldName,
|
|
103
|
-
type: fieldType,
|
|
104
|
-
optional,
|
|
105
|
-
readonly,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return fields;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=ast-utils.js.map
|
package/dist/ast-utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../src/ast-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/class-analyzer.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
export declare function hasDecorator(node: ts.ClassDeclaration, decoratorName: string): boolean;
|
|
3
|
-
export interface DecoratorOptions {
|
|
4
|
-
response?: string;
|
|
5
|
-
context?: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Extracts options from a decorator call expression.
|
|
9
|
-
* For example, @PublicCommand({ response: 'CreateUserResult' }) returns { response: 'CreateUserResult' }
|
|
10
|
-
*/
|
|
11
|
-
export declare function getDecoratorOptions(node: ts.ClassDeclaration, decoratorName: string): DecoratorOptions | undefined;
|
|
12
|
-
export declare function hasExportModifier(node: ts.Node): boolean;
|
|
13
|
-
export declare function extractClassSourceText(node: ts.ClassDeclaration, sourceCode: string): string;
|
|
14
|
-
export declare function getBaseClassName(node: ts.ClassDeclaration): string | undefined;
|
|
15
|
-
export declare function collectClassReferences(node: ts.ClassDeclaration): Set<string>;
|
|
16
|
-
//# sourceMappingURL=class-analyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.d.ts","sourceRoot":"","sources":["../src/class-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,wBAAgB,YAAY,CACxB,IAAI,EAAE,EAAE,CAAC,gBAAgB,EACzB,aAAa,EAAE,MAAM,GACtB,OAAO,CAaT;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,EAAE,CAAC,gBAAgB,EACzB,aAAa,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS,CAmC9B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAOxD;AAED,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACnB,MAAM,CAMR;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAe9E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAgC7E"}
|
package/dist/class-analyzer.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.hasDecorator = hasDecorator;
|
|
37
|
-
exports.getDecoratorOptions = getDecoratorOptions;
|
|
38
|
-
exports.hasExportModifier = hasExportModifier;
|
|
39
|
-
exports.extractClassSourceText = extractClassSourceText;
|
|
40
|
-
exports.getBaseClassName = getBaseClassName;
|
|
41
|
-
exports.collectClassReferences = collectClassReferences;
|
|
42
|
-
const ts = __importStar(require("typescript"));
|
|
43
|
-
const ast_utils_1 = require("./ast-utils");
|
|
44
|
-
function hasDecorator(node, decoratorName) {
|
|
45
|
-
const decorators = ts.getDecorators(node);
|
|
46
|
-
if (!decorators)
|
|
47
|
-
return false;
|
|
48
|
-
return decorators.some((decorator) => {
|
|
49
|
-
if (ts.isCallExpression(decorator.expression)) {
|
|
50
|
-
const expr = decorator.expression.expression;
|
|
51
|
-
if (ts.isIdentifier(expr)) {
|
|
52
|
-
return expr.text === decoratorName;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Extracts options from a decorator call expression.
|
|
60
|
-
* For example, @PublicCommand({ response: 'CreateUserResult' }) returns { response: 'CreateUserResult' }
|
|
61
|
-
*/
|
|
62
|
-
function getDecoratorOptions(node, decoratorName) {
|
|
63
|
-
const decorators = ts.getDecorators(node);
|
|
64
|
-
if (!decorators)
|
|
65
|
-
return undefined;
|
|
66
|
-
for (const decorator of decorators) {
|
|
67
|
-
if (!ts.isCallExpression(decorator.expression))
|
|
68
|
-
continue;
|
|
69
|
-
const expr = decorator.expression.expression;
|
|
70
|
-
if (!ts.isIdentifier(expr) || expr.text !== decoratorName)
|
|
71
|
-
continue;
|
|
72
|
-
// Found the decorator, now extract options from the first argument
|
|
73
|
-
const args = decorator.expression.arguments;
|
|
74
|
-
if (args.length === 0)
|
|
75
|
-
return {};
|
|
76
|
-
const firstArg = args[0];
|
|
77
|
-
if (!ts.isObjectLiteralExpression(firstArg))
|
|
78
|
-
return {};
|
|
79
|
-
const options = {};
|
|
80
|
-
for (const prop of firstArg.properties) {
|
|
81
|
-
if (!ts.isPropertyAssignment(prop))
|
|
82
|
-
continue;
|
|
83
|
-
if (!ts.isIdentifier(prop.name))
|
|
84
|
-
continue;
|
|
85
|
-
const propName = prop.name.text;
|
|
86
|
-
if (propName === "response" && ts.isStringLiteral(prop.initializer)) {
|
|
87
|
-
options.response = prop.initializer.text;
|
|
88
|
-
}
|
|
89
|
-
else if (propName === "context" && ts.isStringLiteral(prop.initializer)) {
|
|
90
|
-
options.context = prop.initializer.text;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return options;
|
|
94
|
-
}
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
function hasExportModifier(node) {
|
|
98
|
-
const modifiers = ts.canHaveModifiers(node)
|
|
99
|
-
? ts.getModifiers(node)
|
|
100
|
-
: undefined;
|
|
101
|
-
return (modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword) ?? false);
|
|
102
|
-
}
|
|
103
|
-
function extractClassSourceText(node, sourceCode) {
|
|
104
|
-
const fullStart = node.getFullStart();
|
|
105
|
-
const end = node.getEnd();
|
|
106
|
-
let sourceText = sourceCode.slice(fullStart, end);
|
|
107
|
-
sourceText = sourceText.replace(/^\s*\n/, "");
|
|
108
|
-
return sourceText;
|
|
109
|
-
}
|
|
110
|
-
function getBaseClassName(node) {
|
|
111
|
-
if (!node.heritageClauses)
|
|
112
|
-
return undefined;
|
|
113
|
-
for (const clause of node.heritageClauses) {
|
|
114
|
-
if (clause.token === ts.SyntaxKind.ExtendsKeyword) {
|
|
115
|
-
const firstType = clause.types[0];
|
|
116
|
-
if (firstType && ts.isExpressionWithTypeArguments(firstType)) {
|
|
117
|
-
const expr = firstType.expression;
|
|
118
|
-
if (ts.isIdentifier(expr)) {
|
|
119
|
-
return expr.text;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return undefined;
|
|
125
|
-
}
|
|
126
|
-
function collectClassReferences(node) {
|
|
127
|
-
const references = new Set();
|
|
128
|
-
const baseClass = getBaseClassName(node);
|
|
129
|
-
if (baseClass) {
|
|
130
|
-
references.add(baseClass);
|
|
131
|
-
}
|
|
132
|
-
const visitNode = (child) => {
|
|
133
|
-
if (ts.isTypeReferenceNode(child)) {
|
|
134
|
-
const name = child.typeName.getText();
|
|
135
|
-
if (!(0, ast_utils_1.isPrimitiveTypeName)(name)) {
|
|
136
|
-
references.add(name);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else if (ts.isIdentifier(child)) {
|
|
140
|
-
const parent = child.parent;
|
|
141
|
-
if (parent &&
|
|
142
|
-
(ts.isTypeReferenceNode(parent) ||
|
|
143
|
-
ts.isExpressionWithTypeArguments(parent))) {
|
|
144
|
-
const name = child.text;
|
|
145
|
-
if (!(0, ast_utils_1.isPrimitiveTypeName)(name)) {
|
|
146
|
-
references.add(name);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
ts.forEachChild(child, visitNode);
|
|
151
|
-
};
|
|
152
|
-
ts.forEachChild(node, visitNode);
|
|
153
|
-
return references;
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=class-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../src/class-analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAsB5F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yBAAyB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAqKD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDvD;AAoBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,YAAY,EAAE,qBAAqB,GACpC,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
package/dist/config-loader.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { FileSystem } from "./file-system";
|
|
2
|
-
import type { DecoratorNames, ResponseNamingConvention } from "./domain";
|
|
3
|
-
export interface ContextConfig {
|
|
4
|
-
readonly name: string;
|
|
5
|
-
readonly sourceDir: string;
|
|
6
|
-
readonly tsconfigPath?: string;
|
|
7
|
-
readonly responseNamingConventions?: readonly ResponseNamingConvention[];
|
|
8
|
-
}
|
|
9
|
-
export interface ContractsConfig {
|
|
10
|
-
readonly contexts: readonly ContextConfig[];
|
|
11
|
-
readonly pathAliasRewrites?: Readonly<Record<string, string>>;
|
|
12
|
-
readonly externalDependencies?: Readonly<Record<string, string>>;
|
|
13
|
-
readonly decoratorNames: Required<DecoratorNames>;
|
|
14
|
-
readonly responseNamingConventions?: readonly ResponseNamingConvention[];
|
|
15
|
-
readonly removeDecorators?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export interface ConfigLoaderOptions {
|
|
18
|
-
fileSystem?: FileSystem;
|
|
19
|
-
}
|
|
20
|
-
export declare class ConfigLoader {
|
|
21
|
-
private readonly fs;
|
|
22
|
-
constructor(options?: ConfigLoaderOptions);
|
|
23
|
-
load(configPath: string): Promise<ContractsConfig>;
|
|
24
|
-
private loadTypeScriptConfig;
|
|
25
|
-
private extractContractsConfig;
|
|
26
|
-
private resolveContexts;
|
|
27
|
-
private resolveStringContext;
|
|
28
|
-
private expandGlobPattern;
|
|
29
|
-
private loadPackageConfig;
|
|
30
|
-
private validateObjectContext;
|
|
31
|
-
private matchGlobPattern;
|
|
32
|
-
}
|
|
33
|
-
export { ConfigLoadError } from "./errors";
|
|
34
|
-
//# sourceMappingURL=config-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC5E;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvC;AAwBD,MAAM,WAAW,mBAAmB;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAa;gBAEpB,OAAO,GAAE,mBAAwB;IAIvC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAO1C,oBAAoB;YAiBpB,sBAAsB;YAgCtB,eAAe;YAqBf,oBAAoB;YAYpB,iBAAiB;YAQjB,iBAAiB;IAqC/B,OAAO,CAAC,qBAAqB;YA0Bf,gBAAgB;CAuCjC;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|