@odg/command 1.25.0 → 1.26.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/dist/Generators/MakeFile.d.ts +1 -1
- package/dist/Generators/MakeFile.d.ts.map +1 -1
- package/dist/Generators/MakeFile.js +22 -28
- package/dist/Generators/MakeFile.js.map +1 -1
- package/dist/Generators/StubCreator.js +18 -24
- package/dist/Generators/StubCreator.js.map +1 -1
- package/dist/Registrations/pascal-to-dot-lower.js +2 -6
- package/dist/Registrations/pascal-to-dot-lower.js.map +1 -1
- package/dist/Registrations/register.d.ts +1 -1
- package/dist/Registrations/register.d.ts.map +1 -1
- package/dist/Registrations/register.js +24 -27
- package/dist/Registrations/register.js.map +1 -1
- package/dist/Registrations/ts-mutators.js +20 -30
- package/dist/Registrations/ts-mutators.js.map +1 -1
- package/dist/Registrations/types.js +1 -2
- package/dist/index.js +12 -17
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/odg.js +2 -1
- package/package.json +18 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LoggerInterface } from "@odg/log";
|
|
2
|
-
import type { RegistrationTargets } from "../Registrations/types";
|
|
2
|
+
import type { RegistrationTargets } from "../Registrations/types.ts";
|
|
3
3
|
interface RegistrationOptions {
|
|
4
4
|
register?: boolean;
|
|
5
5
|
registrationTargets?: Omit<RegistrationTargets, "enabled">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeFile.d.ts","sourceRoot":"","sources":["../../src/Generators/MakeFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MakeFile.d.ts","sourceRoot":"","sources":["../../src/Generators/MakeFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chemical_x_1 = require("@odg/chemical-x");
|
|
7
|
-
const register_1 = require("../Registrations/register");
|
|
8
|
-
const StubCreator_1 = __importDefault(require("./StubCreator"));
|
|
9
|
-
class MakeFile {
|
|
1
|
+
import { Str } from "@odg/chemical-x";
|
|
2
|
+
import { registerArtifact } from "../Registrations/register.js";
|
|
3
|
+
import StubCreator from "./StubCreator.js";
|
|
4
|
+
export default class MakeFile {
|
|
10
5
|
logger;
|
|
11
|
-
stubCreator = new
|
|
6
|
+
stubCreator = new StubCreator();
|
|
12
7
|
constructor(logger) {
|
|
13
8
|
this.logger = logger;
|
|
14
9
|
}
|
|
@@ -20,7 +15,7 @@ class MakeFile {
|
|
|
20
15
|
* @returns {Promise<void>}
|
|
21
16
|
*/
|
|
22
17
|
async generatePage(pageName, options) {
|
|
23
|
-
const pageNameString = new
|
|
18
|
+
const pageNameString = new Str(pageName);
|
|
24
19
|
const pageClassName = pageNameString.pascalCase().toString();
|
|
25
20
|
const filePath = await this.stubCreator.create("page", `${pageClassName}Page`, options.path, {
|
|
26
21
|
"PageName:UCFirst": pageClassName,
|
|
@@ -28,7 +23,7 @@ class MakeFile {
|
|
|
28
23
|
});
|
|
29
24
|
const targets = this.buildRegistrationTargets(options);
|
|
30
25
|
await this.scaffoldPageAddOns(pageClassName, options);
|
|
31
|
-
await
|
|
26
|
+
await registerArtifact({
|
|
32
27
|
kind: "page",
|
|
33
28
|
name: pageClassName,
|
|
34
29
|
pageClassName: `${pageClassName}Page`,
|
|
@@ -38,13 +33,13 @@ class MakeFile {
|
|
|
38
33
|
await this.logger.info(`Page created successfully in : ${filePath}`);
|
|
39
34
|
}
|
|
40
35
|
async generateSelectors(selectorName, options) {
|
|
41
|
-
const selectorNameString = new
|
|
36
|
+
const selectorNameString = new Str(selectorName);
|
|
42
37
|
const pageName = selectorNameString.pascalCase().toString();
|
|
43
38
|
const filePath = await this.stubCreator.create("selector", `${pageName}Selector`, options.path, {
|
|
44
39
|
"SelectorName:UCFirst": pageName,
|
|
45
40
|
"SelectorName:LCFirst": selectorNameString.camelCase().toString(),
|
|
46
41
|
});
|
|
47
|
-
await
|
|
42
|
+
await registerArtifact({
|
|
48
43
|
kind: "selector",
|
|
49
44
|
name: selectorName,
|
|
50
45
|
selectorClassName: `${pageName}Selector`,
|
|
@@ -54,20 +49,20 @@ class MakeFile {
|
|
|
54
49
|
}
|
|
55
50
|
async generateHandler(handlerName, options) {
|
|
56
51
|
const isTransition = options.handlerFrom !== undefined || options.handlerTo !== undefined;
|
|
57
|
-
const handlerFromString = new
|
|
58
|
-
const handlerToString = new
|
|
59
|
-
const handlerNameString = new
|
|
52
|
+
const handlerFromString = new Str(options.handlerFrom ?? handlerName);
|
|
53
|
+
const handlerToString = new Str(options.handlerTo ?? handlerName);
|
|
54
|
+
const handlerNameString = new Str(handlerName);
|
|
60
55
|
const handlerClassName = isTransition
|
|
61
56
|
? `${handlerFromString.pascalCase().toString()}To${handlerToString.pascalCase().toString()}Handler`
|
|
62
57
|
: `${handlerNameString.pascalCase().toString()}Handler`;
|
|
63
|
-
const selectorNameString = new
|
|
58
|
+
const selectorNameString = new Str(handlerName);
|
|
64
59
|
const selectorName = selectorNameString.camelCase().toString();
|
|
65
60
|
const handlerPageSelectorBundle = `${selectorName}Selector`;
|
|
66
61
|
const filePath = await this.stubCreator.create("handler", handlerClassName, options.path, {
|
|
67
62
|
"HandlerClassName": handlerClassName,
|
|
68
63
|
"HandlerPageSelectorBundle": handlerPageSelectorBundle,
|
|
69
64
|
});
|
|
70
|
-
await
|
|
65
|
+
await registerArtifact({
|
|
71
66
|
kind: "handler",
|
|
72
67
|
name: handlerName,
|
|
73
68
|
handlerClassName,
|
|
@@ -77,10 +72,10 @@ class MakeFile {
|
|
|
77
72
|
await this.logger.info(`Handler created successfully in : ${filePath}`);
|
|
78
73
|
}
|
|
79
74
|
async generateEvent(eventName, options) {
|
|
80
|
-
const eventNameString = new
|
|
75
|
+
const eventNameString = new Str(eventName);
|
|
81
76
|
const pageClassName = eventNameString.pascalCase().toString();
|
|
82
77
|
const eventEnumMember = `${pageClassName}Event`;
|
|
83
|
-
await
|
|
78
|
+
await registerArtifact({
|
|
84
79
|
kind: "event",
|
|
85
80
|
name: eventName,
|
|
86
81
|
eventEnumMember,
|
|
@@ -94,8 +89,8 @@ class MakeFile {
|
|
|
94
89
|
path: undefined,
|
|
95
90
|
});
|
|
96
91
|
}
|
|
97
|
-
const listenerNameString = new
|
|
98
|
-
const eventNameString = new
|
|
92
|
+
const listenerNameString = new Str(listenerName);
|
|
93
|
+
const eventNameString = new Str(options.event);
|
|
99
94
|
const listenerPascal = listenerNameString.pascalCase().toString();
|
|
100
95
|
const eventBindingPascal = eventNameString.pascalCase().toString();
|
|
101
96
|
const listenerClassName = `${listenerPascal}EventListener`;
|
|
@@ -105,7 +100,7 @@ class MakeFile {
|
|
|
105
100
|
"EventBinding:UCFirst": eventBindingPascal,
|
|
106
101
|
"EventBinding:LCFirst": eventNameString.camelCase().toString(),
|
|
107
102
|
});
|
|
108
|
-
await
|
|
103
|
+
await registerArtifact({
|
|
109
104
|
kind: "listener",
|
|
110
105
|
name: listenerName,
|
|
111
106
|
listenerClassName,
|
|
@@ -116,8 +111,8 @@ class MakeFile {
|
|
|
116
111
|
}
|
|
117
112
|
async generateConfig(configName, options) {
|
|
118
113
|
const validator = options.validator ?? "zod.string()";
|
|
119
|
-
const configKey = new
|
|
120
|
-
await
|
|
114
|
+
const configKey = new Str(configName).constCase().toString();
|
|
115
|
+
await registerArtifact({
|
|
121
116
|
kind: "config",
|
|
122
117
|
name: configKey,
|
|
123
118
|
configEnumMembers: [configKey],
|
|
@@ -127,7 +122,7 @@ class MakeFile {
|
|
|
127
122
|
await this.logger.info(`Config "${configKey}" registered successfully`);
|
|
128
123
|
}
|
|
129
124
|
async generateException(exceptionName, options) {
|
|
130
|
-
const exceptionNameString = new
|
|
125
|
+
const exceptionNameString = new Str(exceptionName);
|
|
131
126
|
const exceptionClassName = exceptionNameString.pascalCase().toString();
|
|
132
127
|
const exceptionType = options.isUnknown ? "UnknownException" : "Exception";
|
|
133
128
|
const filePath = await this.stubCreator.create("exception", `${exceptionClassName}${exceptionType}`, options.path, {
|
|
@@ -183,5 +178,4 @@ class MakeFile {
|
|
|
183
178
|
}
|
|
184
179
|
}
|
|
185
180
|
}
|
|
186
|
-
exports.default = MakeFile;
|
|
187
181
|
//# sourceMappingURL=MakeFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeFile.js","sourceRoot":"","sources":["../../src/Generators/MakeFile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MakeFile.js","sourceRoot":"","sources":["../../src/Generators/MakeFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
const promises_1 = require("node:fs/promises");
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const chemical_x_1 = require("@odg/chemical-x");
|
|
9
|
-
const exception_1 = require("@odg/exception");
|
|
10
|
-
class StubCreator {
|
|
1
|
+
import { appendFile, mkdir, readFile, writeFile, } from "node:fs/promises";
|
|
2
|
+
import nodePath from "node:path";
|
|
3
|
+
import { File, Str } from "@odg/chemical-x";
|
|
4
|
+
import { InvalidArgumentException } from "@odg/exception";
|
|
5
|
+
export default class StubCreator {
|
|
11
6
|
async create(stub, name, pathDestination, variables) {
|
|
12
7
|
const destination = await this.getPath(name, pathDestination);
|
|
13
|
-
const fileInstance = new
|
|
8
|
+
const fileInstance = new File(destination);
|
|
14
9
|
if (await fileInstance.exists()) {
|
|
15
|
-
throw new
|
|
10
|
+
throw new InvalidArgumentException(`The ${name} already exists.`);
|
|
16
11
|
}
|
|
17
12
|
const content = await this.getStub(stub, variables);
|
|
18
|
-
await
|
|
19
|
-
await
|
|
13
|
+
await mkdir(pathDestination, { recursive: true });
|
|
14
|
+
await writeFile(destination, content);
|
|
20
15
|
const indexFile = `${pathDestination}/index.ts`;
|
|
21
16
|
await this.appendToIndexIfExists(indexFile, name);
|
|
22
17
|
return destination;
|
|
@@ -30,8 +25,8 @@ class StubCreator {
|
|
|
30
25
|
*/
|
|
31
26
|
async getStub(name, variables) {
|
|
32
27
|
const pathStub = await this.getStubPath(name);
|
|
33
|
-
const file = await
|
|
34
|
-
const stringInstance = new
|
|
28
|
+
const file = await readFile(`${pathStub}/${name}.stub`);
|
|
29
|
+
const stringInstance = new Str(file.toString());
|
|
35
30
|
return stringInstance
|
|
36
31
|
.formatUnicorn(variables)
|
|
37
32
|
.toString();
|
|
@@ -53,26 +48,25 @@ class StubCreator {
|
|
|
53
48
|
* @returns {Promise<string>}
|
|
54
49
|
*/
|
|
55
50
|
async getStubPath(name) {
|
|
56
|
-
const stubPathLocal = `${
|
|
57
|
-
const fileInstance = new
|
|
51
|
+
const stubPathLocal = `${nodePath.resolve("./stubs")}/${name}.stub`;
|
|
52
|
+
const fileInstance = new File(stubPathLocal);
|
|
58
53
|
if (await fileInstance.exists()) {
|
|
59
|
-
return
|
|
54
|
+
return nodePath.resolve("./stubs");
|
|
60
55
|
}
|
|
61
|
-
return
|
|
56
|
+
return nodePath.join(process.cwd(), "node_modules/@odg/command/stubs");
|
|
62
57
|
}
|
|
63
58
|
async appendToIndexIfExists(indexFile, name) {
|
|
64
|
-
const fileInstance = new
|
|
59
|
+
const fileInstance = new File(indexFile);
|
|
65
60
|
if (!await fileInstance.exists()) {
|
|
66
61
|
return;
|
|
67
62
|
}
|
|
68
63
|
const exportLine = `export * from "./${name}";`;
|
|
69
|
-
const existing = await
|
|
64
|
+
const existing = await readFile(indexFile, { encoding: "utf8" });
|
|
70
65
|
if (existing.includes(exportLine)) {
|
|
71
66
|
return;
|
|
72
67
|
}
|
|
73
68
|
const insert = existing.endsWith("\n") || existing.length === 0 ? "" : "\n";
|
|
74
|
-
await
|
|
69
|
+
await appendFile(indexFile, `${insert}${exportLine}\n`);
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
|
-
exports.default = StubCreator;
|
|
78
72
|
//# sourceMappingURL=StubCreator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StubCreator.js","sourceRoot":"","sources":["../../src/Generators/StubCreator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StubCreator.js","sourceRoot":"","sources":["../../src/Generators/StubCreator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pascalCaseToDotLower = pascalCaseToDotLower;
|
|
4
|
-
exports.resolveContainerEnumMemberValue = resolveContainerEnumMemberValue;
|
|
5
1
|
/**
|
|
6
2
|
* Converts a PascalCase identifier to dot-separated lowercase segments.
|
|
7
3
|
*
|
|
8
4
|
* @param {string} identifier PascalCase class or symbol name (e.g. ExampleEventListener)
|
|
9
5
|
* @returns {string} Dot-separated lowercase (e.g. example.event.listener)
|
|
10
6
|
*/
|
|
11
|
-
function pascalCaseToDotLower(identifier) {
|
|
7
|
+
export function pascalCaseToDotLower(identifier) {
|
|
12
8
|
return identifier
|
|
13
9
|
.split(/(?=[A-Z])/)
|
|
14
10
|
.filter((segment) => segment.length > 0)
|
|
@@ -22,7 +18,7 @@ function pascalCaseToDotLower(identifier) {
|
|
|
22
18
|
* @param {string} containerEnumMember Class name used as the ContainerName member
|
|
23
19
|
* @returns {string} Value for the ContainerName enum entry
|
|
24
20
|
*/
|
|
25
|
-
function resolveContainerEnumMemberValue(override, containerEnumMember) {
|
|
21
|
+
export function resolveContainerEnumMemberValue(override, containerEnumMember) {
|
|
26
22
|
if (override !== undefined) {
|
|
27
23
|
return override;
|
|
28
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pascal-to-dot-lower.js","sourceRoot":"","sources":["../../src/Registrations/pascal-to-dot-lower.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pascal-to-dot-lower.js","sourceRoot":"","sources":["../../src/Registrations/pascal-to-dot-lower.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACnD,OAAO,UAAU;SACZ,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC3C,QAA4B,EAC5B,mBAA2B;IAE3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ArtifactDescriptor, RegistrationTargets } from "./types";
|
|
1
|
+
import type { ArtifactDescriptor, RegistrationTargets } from "./types.ts";
|
|
2
2
|
export declare function registerArtifact(descriptor: ArtifactDescriptor, targets: RegistrationTargets): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=register.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/Registrations/register.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/Registrations/register.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAwS1E,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BlH"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const exception_1 = require("@odg/exception");
|
|
6
|
-
const pascal_to_dot_lower_1 = require("./pascal-to-dot-lower");
|
|
7
|
-
const ts_mutators_1 = require("./ts-mutators");
|
|
1
|
+
import { dirname, relative } from "node:path";
|
|
2
|
+
import { InvalidArgumentException } from "@odg/exception";
|
|
3
|
+
import { resolveContainerEnumMemberValue } from "./pascal-to-dot-lower.js";
|
|
4
|
+
import { didEnsureBarrelExport, didEnsureEnumMember, didEnsureEnvironmentExampleLines, didEnsureInterfaceProperty, didEnsureTopLevelStatements, didEnsureTypeNamedImport, didEnsureValueNamedImport, didEnsureZodObjectEntry, } from "./ts-mutators.js";
|
|
8
5
|
/** TypeScript path alias for the listeners barrel (see tsconfig paths). */
|
|
9
6
|
const listenersTypeModuleSpecifier = "@listeners";
|
|
10
7
|
/** TypeScript path alias for the pages barrel (see tsconfig paths). */
|
|
@@ -15,13 +12,13 @@ function resolveRelativeExportPath(filePath, barrelPath, fallbackExportName) {
|
|
|
15
12
|
if (!filePath) {
|
|
16
13
|
return `./${fallbackExportName}`;
|
|
17
14
|
}
|
|
18
|
-
const barrelDirectory =
|
|
15
|
+
const barrelDirectory = dirname(barrelPath);
|
|
19
16
|
const filePathWithoutExtension = filePath.replace(/\.ts$/, "");
|
|
20
|
-
const relativePath =
|
|
17
|
+
const relativePath = relative(barrelDirectory, filePathWithoutExtension);
|
|
21
18
|
return `./${relativePath}`;
|
|
22
19
|
}
|
|
23
20
|
async function registerContainerEnumMember(containerEnumPath, memberName, memberValue) {
|
|
24
|
-
await
|
|
21
|
+
await didEnsureEnumMember({
|
|
25
22
|
filePath: containerEnumPath,
|
|
26
23
|
enumName: "ContainerName",
|
|
27
24
|
memberName,
|
|
@@ -29,12 +26,12 @@ async function registerContainerEnumMember(containerEnumPath, memberName, member
|
|
|
29
26
|
});
|
|
30
27
|
}
|
|
31
28
|
async function registerContainerInterfaceBinding(containerInterfacePath, enumMember, className, moduleSpecifier) {
|
|
32
|
-
await
|
|
29
|
+
await didEnsureValueNamedImport({
|
|
33
30
|
filePath: containerInterfacePath,
|
|
34
31
|
moduleSpecifier,
|
|
35
32
|
name: className,
|
|
36
33
|
});
|
|
37
|
-
await
|
|
34
|
+
await didEnsureInterfaceProperty({
|
|
38
35
|
filePath: containerInterfacePath,
|
|
39
36
|
interfaceName: "ContainerInterface",
|
|
40
37
|
propertyName: `[ContainerName.${enumMember}]`,
|
|
@@ -43,7 +40,7 @@ async function registerContainerInterfaceBinding(containerInterfacePath, enumMem
|
|
|
43
40
|
}
|
|
44
41
|
async function registerBarrelExport(barrelPath, filePath, fallbackExportName) {
|
|
45
42
|
const relativeExportPath = resolveRelativeExportPath(filePath, barrelPath, fallbackExportName);
|
|
46
|
-
await
|
|
43
|
+
await didEnsureBarrelExport({
|
|
47
44
|
barrelPath,
|
|
48
45
|
relativeExportPath,
|
|
49
46
|
});
|
|
@@ -53,7 +50,7 @@ async function registerConfigEnumMembers(descriptor, targets) {
|
|
|
53
50
|
return;
|
|
54
51
|
}
|
|
55
52
|
for (const key of descriptor.configEnumMembers) {
|
|
56
|
-
await
|
|
53
|
+
await didEnsureEnumMember({
|
|
57
54
|
filePath: targets.configEnumPath,
|
|
58
55
|
enumName: "ConfigName",
|
|
59
56
|
memberName: key,
|
|
@@ -65,7 +62,7 @@ async function registerEnvironmentExampleLines(descriptor, targets) {
|
|
|
65
62
|
if (!descriptor.envExampleLines?.length || !targets.envExamplePath) {
|
|
66
63
|
return;
|
|
67
64
|
}
|
|
68
|
-
await
|
|
65
|
+
await didEnsureEnvironmentExampleLines({
|
|
69
66
|
filePath: targets.envExamplePath,
|
|
70
67
|
lines: descriptor.envExampleLines,
|
|
71
68
|
});
|
|
@@ -85,14 +82,14 @@ async function registerImports(targets) {
|
|
|
85
82
|
targets.handlersIndexPath,
|
|
86
83
|
targets.listenersIndexPath,
|
|
87
84
|
].filter(Boolean));
|
|
88
|
-
await Promise.all([...importTargets].map(async (filePath) =>
|
|
85
|
+
await Promise.all([...importTargets].map(async (filePath) => didEnsureTopLevelStatements({
|
|
89
86
|
filePath,
|
|
90
87
|
statements: imports,
|
|
91
88
|
})));
|
|
92
89
|
}
|
|
93
90
|
async function registerPage(descriptor, targets) {
|
|
94
91
|
if (descriptor.containerEnumMember && targets.containerEnumPath) {
|
|
95
|
-
await registerContainerEnumMember(targets.containerEnumPath, descriptor.containerEnumMember,
|
|
92
|
+
await registerContainerEnumMember(targets.containerEnumPath, descriptor.containerEnumMember, resolveContainerEnumMemberValue(undefined, descriptor.containerEnumMember));
|
|
96
93
|
}
|
|
97
94
|
if (descriptor.pageClassName && targets.pagesIndexPath) {
|
|
98
95
|
await registerBarrelExport(targets.pagesIndexPath, descriptor.filePath, descriptor.pageClassName);
|
|
@@ -110,7 +107,7 @@ async function registerSelector(descriptor, targets) {
|
|
|
110
107
|
}
|
|
111
108
|
async function registerHandler(descriptor, targets) {
|
|
112
109
|
if (descriptor.containerEnumMember && targets.containerEnumPath) {
|
|
113
|
-
await registerContainerEnumMember(targets.containerEnumPath, descriptor.containerEnumMember,
|
|
110
|
+
await registerContainerEnumMember(targets.containerEnumPath, descriptor.containerEnumMember, resolveContainerEnumMemberValue(undefined, descriptor.containerEnumMember));
|
|
114
111
|
}
|
|
115
112
|
if (descriptor.handlerClassName && targets.handlersIndexPath) {
|
|
116
113
|
await registerBarrelExport(targets.handlersIndexPath, descriptor.filePath, descriptor.handlerClassName);
|
|
@@ -122,9 +119,9 @@ async function registerHandler(descriptor, targets) {
|
|
|
122
119
|
async function registerEventsInterface(descriptor, targets) {
|
|
123
120
|
const payloadType = targets.eventPayloadType;
|
|
124
121
|
if (!payloadType || !descriptor.eventEnumMember || !targets.eventsInterfacePath) {
|
|
125
|
-
throw new
|
|
122
|
+
throw new InvalidArgumentException("Missing explicit event payload type: pass --eventPayloadType to register EventsInterface safely.");
|
|
126
123
|
}
|
|
127
|
-
await
|
|
124
|
+
await didEnsureInterfaceProperty({
|
|
128
125
|
filePath: targets.eventsInterfacePath,
|
|
129
126
|
interfaceName: "EventBaseInterface",
|
|
130
127
|
propertyName: `[EventName.${descriptor.eventEnumMember}]`,
|
|
@@ -137,12 +134,12 @@ async function registerEventContainerInterface(descriptor, targets) {
|
|
|
137
134
|
|| !targets.containerInterfacePath) {
|
|
138
135
|
return;
|
|
139
136
|
}
|
|
140
|
-
await
|
|
137
|
+
await didEnsureTypeNamedImport({
|
|
141
138
|
filePath: targets.containerInterfacePath,
|
|
142
139
|
moduleSpecifier: listenersTypeModuleSpecifier,
|
|
143
140
|
name: descriptor.listenerClassName,
|
|
144
141
|
});
|
|
145
|
-
await
|
|
142
|
+
await didEnsureInterfaceProperty({
|
|
146
143
|
filePath: targets.containerInterfacePath,
|
|
147
144
|
interfaceName: "ContainerInterface",
|
|
148
145
|
propertyName: `[ContainerName.${descriptor.containerEnumMember}]`,
|
|
@@ -151,7 +148,7 @@ async function registerEventContainerInterface(descriptor, targets) {
|
|
|
151
148
|
}
|
|
152
149
|
async function registerEvent(descriptor, targets) {
|
|
153
150
|
if (descriptor.eventEnumMember && targets.eventEnumPath) {
|
|
154
|
-
await
|
|
151
|
+
await didEnsureEnumMember({
|
|
155
152
|
filePath: targets.eventEnumPath,
|
|
156
153
|
enumName: "EventName",
|
|
157
154
|
memberName: descriptor.eventEnumMember,
|
|
@@ -170,11 +167,11 @@ async function registerListener(descriptor, targets) {
|
|
|
170
167
|
await registerBarrelExport(targets.listenersIndexPath, descriptor.filePath, descriptor.listenerClassName);
|
|
171
168
|
}
|
|
172
169
|
if (descriptor.containerEnumMember && targets.containerEnumPath) {
|
|
173
|
-
await
|
|
170
|
+
await didEnsureEnumMember({
|
|
174
171
|
filePath: targets.containerEnumPath,
|
|
175
172
|
enumName: "ContainerName",
|
|
176
173
|
memberName: descriptor.containerEnumMember,
|
|
177
|
-
memberValue:
|
|
174
|
+
memberValue: resolveContainerEnumMemberValue(targets.containerEnumMemberValue, descriptor.containerEnumMember),
|
|
178
175
|
});
|
|
179
176
|
}
|
|
180
177
|
await registerEventContainerInterface(descriptor, targets);
|
|
@@ -186,7 +183,7 @@ async function registerConfig(descriptor, targets) {
|
|
|
186
183
|
return;
|
|
187
184
|
}
|
|
188
185
|
for (const key of descriptor.configEnumMembers) {
|
|
189
|
-
await
|
|
186
|
+
await didEnsureZodObjectEntry({
|
|
190
187
|
filePath: targets.configValidatorPath,
|
|
191
188
|
constName: "configValidator",
|
|
192
189
|
propertyName: `[ConfigName.${key}]`,
|
|
@@ -194,7 +191,7 @@ async function registerConfig(descriptor, targets) {
|
|
|
194
191
|
});
|
|
195
192
|
}
|
|
196
193
|
}
|
|
197
|
-
async function registerArtifact(descriptor, targets) {
|
|
194
|
+
export async function registerArtifact(descriptor, targets) {
|
|
198
195
|
if (!targets.enabled)
|
|
199
196
|
return;
|
|
200
197
|
await registerImports(targets);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/Registrations/register.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/Registrations/register.ts"],"names":[],"mappings":"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"}
|