@ldsg/cli 0.3.42 → 0.3.44
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/.rush/temp/package-deps_build.json +15 -18
- package/.rush/temp/shrinkwrap-deps.json +1 -1
- package/.tsbuildinfo +1 -1
- package/CHANGELOG.json +46 -0
- package/CHANGELOG.md +15 -1
- package/README.md +3 -3
- package/dist/__tests__/bootstrap-generator.test.js +120 -0
- package/dist/__tests__/bootstrap-generator.test.js.map +1 -0
- package/dist/__tests__/generate-bootstrap.test.d.ts +1 -0
- package/dist/__tests__/generate-bootstrap.test.js +97 -0
- package/dist/__tests__/generate-bootstrap.test.js.map +1 -0
- package/dist/__tests__/resolve-module-builder.test.d.ts +1 -0
- package/dist/__tests__/resolve-module-builder.test.js +83 -0
- package/dist/__tests__/resolve-module-builder.test.js.map +1 -0
- package/dist/__tests__/resolve-root.test.d.ts +1 -0
- package/dist/__tests__/resolve-root.test.js +32 -0
- package/dist/__tests__/resolve-root.test.js.map +1 -0
- package/dist/cli.js +4 -431
- package/dist/cli.js.map +1 -1
- package/dist/commands/generate/index.d.ts +2 -0
- package/dist/commands/generate/index.js +35 -0
- package/dist/commands/generate/index.js.map +1 -0
- package/dist/commands/generate/types/generate.d.ts +12 -0
- package/dist/commands/generate/types/generate.js +3 -0
- package/dist/commands/generate/types/generate.js.map +1 -0
- package/dist/commands/generate/types/generator.d.ts +4 -0
- package/dist/commands/generate/types/generator.js +3 -0
- package/dist/commands/generate/types/generator.js.map +1 -0
- package/dist/commands/generate/types/index.d.ts +2 -0
- package/dist/commands/generate/types/index.js +19 -0
- package/dist/commands/generate/types/index.js.map +1 -0
- package/dist/commands/generate/types.d.ts +8 -0
- package/dist/{types/get-extend-app-data-params.js → commands/generate/types.js} +1 -1
- package/dist/commands/generate/types.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/index.d.ts +6 -0
- package/dist/commands/generate/utils/generate-application/index.js +28 -0
- package/dist/commands/generate/utils/generate-application/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/types/generator.d.ts +9 -0
- package/dist/commands/generate/utils/generate-application/types/generator.js +3 -0
- package/dist/commands/generate/utils/generate-application/types/generator.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/types/index.d.ts +1 -0
- package/dist/commands/generate/utils/generate-application/types/index.js +18 -0
- package/dist/commands/generate/utils/generate-application/types/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.d.ts +9 -0
- package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.js +30 -0
- package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.d.ts +13 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.js +125 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.d.ts +3 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.js +7 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.d.ts +4 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.js +69 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.d.ts +3 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.js +32 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.d.ts +2 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.js +62 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.d.ts +11 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.js +84 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.d.ts +2 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.js +15 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.d.ts +2 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.js +21 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.d.ts +2 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.js +18 -0
- package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.d.ts +8 -0
- package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.js +32 -0
- package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/generate-app/index.d.ts +8 -0
- package/dist/commands/generate/utils/generate-application/utils/generate-app/index.js +10 -0
- package/dist/commands/generate/utils/generate-application/utils/generate-app/index.js.map +1 -0
- package/dist/commands/generate/utils/generate-application/utils/index.d.ts +3 -0
- package/dist/commands/generate/utils/generate-application/utils/index.js +20 -0
- package/dist/commands/generate/utils/generate-application/utils/index.js.map +1 -0
- package/dist/commands/generate/utils/parse-extra-options.d.ts +5 -0
- package/dist/commands/generate/utils/parse-extra-options.js +59 -0
- package/dist/commands/generate/utils/parse-extra-options.js.map +1 -0
- package/dist/commands/resource/index.d.ts +2 -0
- package/dist/commands/resource/index.js +392 -0
- package/dist/commands/resource/index.js.map +1 -0
- package/dist/generator/bootstrap-generator.d.ts +19 -0
- package/dist/generator/bootstrap-generator.js +59 -0
- package/dist/generator/bootstrap-generator.js.map +1 -0
- package/dist/generator/module-builder.d.ts +2 -0
- package/dist/generator/module-builder.js +284 -0
- package/dist/generator/module-builder.js.map +1 -0
- package/dist/generator/resolve-module-builder.d.ts +8 -0
- package/dist/generator/resolve-module-builder.js +41 -0
- package/dist/generator/resolve-module-builder.js.map +1 -0
- package/dist/generator/resolve-root.d.ts +5 -0
- package/dist/generator/resolve-root.js +48 -0
- package/dist/generator/resolve-root.js.map +1 -0
- package/jest.config.js +4 -1
- package/package.json +5 -5
- package/src/cli.ts +4 -510
- package/src/commands/generate/index.ts +54 -0
- package/src/commands/generate/utils/generate-application/index.ts +50 -0
- package/src/commands/generate/utils/generate-application/utils/build-app-generator/index.ts +39 -0
- package/src/commands/generate/utils/generate-application/utils/build-meta-generator/index.ts +45 -0
- package/src/commands/generate/utils/generate-application/utils/generate-app/index.ts +17 -0
- package/src/commands/generate/utils/generate-application/utils/index.ts +3 -0
- package/src/commands/generate/utils/parse-extra-options.ts +80 -0
- package/src/commands/resource/index.ts +455 -0
- package/dist/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.js +0 -81
- package/dist/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.js.map +0 -1
- package/dist/types/get-extend-app-data-params.d.ts +0 -10
- package/dist/types/get-extend-app-data-params.js.map +0 -1
- package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.d.ts +0 -2
- package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js +0 -27
- package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js.map +0 -1
- package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.d.ts +0 -2
- package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js +0 -98
- package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js.map +0 -1
- package/src/__tests__/add-pnpm-overrides.test.ts +0 -91
- package/src/__tests__/commands.test.ts +0 -318
- package/src/__tests__/formatter.test.ts +0 -151
- package/src/__tests__/generate-app-index-ts.test.ts +0 -141
- package/src/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.ts +0 -109
- package/src/__tests__/json-file-mutator.test.ts +0 -186
- package/src/__tests__/mutate.test.ts +0 -392
- package/src/__tests__/source-resolver.test.ts +0 -125
- package/src/types/get-extend-app-data-params.ts +0 -13
- package/src/utils/get-extend-app-data-params-using-npm-ldsg-module.ts +0 -34
- package/src/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.ts +0 -159
- /package/dist/__tests__/{get-extend-app-data-params-using-workspace-ldsg-module.test.d.ts → bootstrap-generator.test.d.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createBootstrapGenerator = void 0;
|
|
4
|
+
const handler_generator_1 = require("@ldsg/handler-generator");
|
|
5
|
+
const handler_module_template_constants_1 = require("@ldsg/handler-module-template-constants");
|
|
6
|
+
const createBootstrapGenerator = async (params) => {
|
|
7
|
+
const { generatorDefinitionHandler, handlerGeneratorHandler, mode, cwd } = params;
|
|
8
|
+
const generatorDefinitionHandlerModule = await (0, handler_generator_1.buildHandlerModuleResource)({
|
|
9
|
+
code: generatorDefinitionHandler.settings.code,
|
|
10
|
+
dependencies: generatorDefinitionHandler.settings.dependencies ?? [],
|
|
11
|
+
mode,
|
|
12
|
+
cwd,
|
|
13
|
+
});
|
|
14
|
+
const handlerGeneratorHandlerModule = await (0, handler_generator_1.buildHandlerModuleResource)({
|
|
15
|
+
code: handlerGeneratorHandler.settings.code,
|
|
16
|
+
dependencies: handlerGeneratorHandler.settings.dependencies ?? [],
|
|
17
|
+
mode,
|
|
18
|
+
cwd,
|
|
19
|
+
});
|
|
20
|
+
const createModuleBuilder = handlerGeneratorHandlerModule.exports.createModuleBuilder;
|
|
21
|
+
if (typeof createModuleBuilder !== "function") {
|
|
22
|
+
throw new Error(`handler generator handler must export createModuleBuilder: ${handlerGeneratorHandlerModule.moduleDir}`);
|
|
23
|
+
}
|
|
24
|
+
const moduleBuilder = createModuleBuilder();
|
|
25
|
+
const buildApplicationGenerator = async (buildParams) => {
|
|
26
|
+
const { rootGeneratorHandler } = buildParams;
|
|
27
|
+
const built = await moduleBuilder.buildModule({
|
|
28
|
+
files: handler_module_template_constants_1.FILES_IN_HANDLER_MODULE_TEMPLATE,
|
|
29
|
+
code: `export * as generator from "@ldsg/generator";\n${rootGeneratorHandler.settings.code}`,
|
|
30
|
+
dependencies: [
|
|
31
|
+
{ name: "@ldsg/generator" },
|
|
32
|
+
...(rootGeneratorHandler.settings.dependencies ?? []),
|
|
33
|
+
],
|
|
34
|
+
entry: "index.ts",
|
|
35
|
+
output: "dist/index.js",
|
|
36
|
+
buildCommand: "pnpm run build",
|
|
37
|
+
packageManager: "pnpm",
|
|
38
|
+
mode,
|
|
39
|
+
cwd,
|
|
40
|
+
cacheKey: `application-generator:${rootGeneratorHandler.id}`,
|
|
41
|
+
});
|
|
42
|
+
const buildApp = built.exports.buildApp;
|
|
43
|
+
if (typeof buildApp !== "function") {
|
|
44
|
+
throw new Error(`application generator must export buildApp: ${built.moduleDir}`);
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
moduleDir: built.moduleDir,
|
|
48
|
+
entryPath: built.entryPath,
|
|
49
|
+
buildApp,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
generatorDefinitionHandlerModule,
|
|
54
|
+
handlerGeneratorHandlerModule,
|
|
55
|
+
buildApplicationGenerator,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
exports.createBootstrapGenerator = createBootstrapGenerator;
|
|
59
|
+
//# sourceMappingURL=bootstrap-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-generator.js","sourceRoot":"","sources":["../../src/generator/bootstrap-generator.ts"],"names":[],"mappings":";;;AAOA,+DAAqE;AACrE,+FAA2F;AA2CpF,MAAM,wBAAwB,GAAG,KAAK,EAC3C,MAAsC,EACT,EAAE;IAC/B,MAAM,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAElF,MAAM,gCAAgC,GAAG,MAAM,IAAA,8CAA0B,EAAC;QACxE,IAAI,EAAE,0BAA0B,CAAC,QAAQ,CAAC,IAAI;QAC9C,YAAY,EAAE,0BAA0B,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE;QACpE,IAAI;QACJ,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,6BAA6B,GAAG,MAAM,IAAA,8CAA0B,EAAC;QACrE,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI;QAC3C,YAAY,EAAE,uBAAuB,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE;QACjE,IAAI;QACJ,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAEtF,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,8DAA8D,6BAA6B,CAAC,SAAS,EAAE,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,EAAmB,CAAC;IAE7D,MAAM,yBAAyB,GAAoD,KAAK,EACtF,WAAW,EACX,EAAE;QACF,MAAM,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC;YAC5C,KAAK,EAAE,oEAAiD;YACxD,IAAI,EAAE,kDAAkD,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5F,YAAY,EAAE;gBACZ,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAC3B,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;aACtD;YACD,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,eAAe;YACvB,YAAY,EAAE,gBAAgB;YAC9B,cAAc,EAAE,MAAM;YACtB,IAAI;YACJ,GAAG;YACH,QAAQ,EAAE,yBAAyB,oBAAoB,CAAC,EAAE,EAAE;SAC7D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAkC,CAAC;QAElE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,gCAAgC;QAChC,6BAA6B;QAC7B,yBAAyB;KAC1B,CAAC;AACJ,CAAC,CAAC;AApEW,QAAA,wBAAwB,4BAoEnC"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createModuleBuilder = void 0;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
11
|
+
const DEFAULT_PACKAGE_MANAGER = "pnpm";
|
|
12
|
+
const DEFAULT_INSTALL_ARGS = ["--ignore-scripts"];
|
|
13
|
+
const DEFAULT_BUILD_COMMAND = "pnpm run build";
|
|
14
|
+
const workspacePackageDirCache = new Map();
|
|
15
|
+
const stableStringify = (value) => {
|
|
16
|
+
if (value === null || typeof value !== "object") {
|
|
17
|
+
return JSON.stringify(value);
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(value)) {
|
|
20
|
+
return `[${value.map((item) => stableStringify(item)).join(",")}]`;
|
|
21
|
+
}
|
|
22
|
+
const entries = Object.entries(value)
|
|
23
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
24
|
+
.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`);
|
|
25
|
+
return `{${entries.join(",")}}`;
|
|
26
|
+
};
|
|
27
|
+
const hashValue = (value) => crypto_1.default.createHash("sha256").update(stableStringify(value)).digest("hex");
|
|
28
|
+
const findRepoRoot = async (cwd) => {
|
|
29
|
+
let current = path_1.default.resolve(cwd);
|
|
30
|
+
while (true) {
|
|
31
|
+
if (await fs_extra_1.default.pathExists(path_1.default.join(current, "rush.json"))) {
|
|
32
|
+
return current;
|
|
33
|
+
}
|
|
34
|
+
const parent = path_1.default.dirname(current);
|
|
35
|
+
if (parent === current) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
current = parent;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const findWorkspacePackageDir = async (cwd, packageName) => {
|
|
42
|
+
const cacheKey = `${cwd}:${packageName}`;
|
|
43
|
+
if (workspacePackageDirCache.has(cacheKey)) {
|
|
44
|
+
return workspacePackageDirCache.get(cacheKey) ?? undefined;
|
|
45
|
+
}
|
|
46
|
+
const repoRoot = await findRepoRoot(cwd);
|
|
47
|
+
if (!repoRoot) {
|
|
48
|
+
workspacePackageDirCache.set(cacheKey, null);
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const rushJsonPath = path_1.default.join(repoRoot, "rush.json");
|
|
52
|
+
const rushJson = (await fs_extra_1.default.readJson(rushJsonPath));
|
|
53
|
+
for (const project of rushJson.projects) {
|
|
54
|
+
if (project.packageName !== packageName) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const projectDir = path_1.default.join(repoRoot, project.projectFolder);
|
|
58
|
+
const packageJsonPath = path_1.default.join(projectDir, "package.json");
|
|
59
|
+
if (await fs_extra_1.default.pathExists(packageJsonPath)) {
|
|
60
|
+
workspacePackageDirCache.set(cacheKey, projectDir);
|
|
61
|
+
return projectDir;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
workspacePackageDirCache.set(cacheKey, null);
|
|
65
|
+
return undefined;
|
|
66
|
+
};
|
|
67
|
+
const resolveDependencyVersion = async (params, dependency) => {
|
|
68
|
+
if (dependency.version) {
|
|
69
|
+
return dependency.version;
|
|
70
|
+
}
|
|
71
|
+
if (dependency.uri) {
|
|
72
|
+
return dependency.uri;
|
|
73
|
+
}
|
|
74
|
+
if (params.mode === "workspace") {
|
|
75
|
+
const packageDir = await findWorkspacePackageDir(params.cwd, dependency.name);
|
|
76
|
+
if (packageDir) {
|
|
77
|
+
return `file:${packageDir}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return "latest";
|
|
81
|
+
};
|
|
82
|
+
const assertSafeRelativePath = (baseDir, relativePath) => {
|
|
83
|
+
if (path_1.default.isAbsolute(relativePath)) {
|
|
84
|
+
throw new Error(`module file path must be relative: ${relativePath}`);
|
|
85
|
+
}
|
|
86
|
+
const absolutePath = path_1.default.resolve(baseDir, relativePath);
|
|
87
|
+
if (absolutePath !== baseDir && !absolutePath.startsWith(`${baseDir}${path_1.default.sep}`)) {
|
|
88
|
+
throw new Error(`module file path escapes module directory: ${relativePath}`);
|
|
89
|
+
}
|
|
90
|
+
return absolutePath;
|
|
91
|
+
};
|
|
92
|
+
const writeModuleFile = async (baseDir, file) => {
|
|
93
|
+
const filePath = assertSafeRelativePath(baseDir, file.path);
|
|
94
|
+
await fs_extra_1.default.mkdir(path_1.default.dirname(filePath), { recursive: true });
|
|
95
|
+
if (typeof file.data === "string") {
|
|
96
|
+
await fs_extra_1.default.writeFile(filePath, file.data, "utf8");
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
await fs_extra_1.default.writeJson(filePath, file.data, { spaces: 2 });
|
|
100
|
+
};
|
|
101
|
+
const runCommand = (command, args, cwd, env) => new Promise((resolve, reject) => {
|
|
102
|
+
const child = (0, child_process_1.spawn)(command, args, {
|
|
103
|
+
cwd,
|
|
104
|
+
env: {
|
|
105
|
+
...process.env,
|
|
106
|
+
...env,
|
|
107
|
+
},
|
|
108
|
+
shell: false,
|
|
109
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
110
|
+
});
|
|
111
|
+
let output = "";
|
|
112
|
+
child.stdout?.on("data", (chunk) => {
|
|
113
|
+
output += chunk.toString();
|
|
114
|
+
});
|
|
115
|
+
child.stderr?.on("data", (chunk) => {
|
|
116
|
+
output += chunk.toString();
|
|
117
|
+
});
|
|
118
|
+
child.on("error", (error) => {
|
|
119
|
+
reject(error);
|
|
120
|
+
});
|
|
121
|
+
child.on("close", (code) => {
|
|
122
|
+
if (code === 0) {
|
|
123
|
+
resolve();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
reject(new Error(`command failed with exit code ${code}: ${command} ${args.join(" ")}\n${output.slice(-4000)}`));
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
const runShellCommand = (command, cwd, env) => new Promise((resolve, reject) => {
|
|
130
|
+
const child = (0, child_process_1.spawn)(command, {
|
|
131
|
+
cwd,
|
|
132
|
+
env: {
|
|
133
|
+
...process.env,
|
|
134
|
+
...env,
|
|
135
|
+
},
|
|
136
|
+
shell: true,
|
|
137
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
138
|
+
});
|
|
139
|
+
let output = "";
|
|
140
|
+
child.stdout?.on("data", (chunk) => {
|
|
141
|
+
output += chunk.toString();
|
|
142
|
+
});
|
|
143
|
+
child.stderr?.on("data", (chunk) => {
|
|
144
|
+
output += chunk.toString();
|
|
145
|
+
});
|
|
146
|
+
child.on("error", (error) => {
|
|
147
|
+
reject(error);
|
|
148
|
+
});
|
|
149
|
+
child.on("close", (code) => {
|
|
150
|
+
if (code === 0) {
|
|
151
|
+
resolve();
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
reject(new Error(`command failed with exit code ${code}: ${command}\n${output.slice(-4000)}`));
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
const readPackageJsonData = (params) => {
|
|
158
|
+
const packageJsonFile = params.files.find((file) => file.path === params.packageJsonPath);
|
|
159
|
+
if (!packageJsonFile || typeof packageJsonFile.data !== "object") {
|
|
160
|
+
return {};
|
|
161
|
+
}
|
|
162
|
+
return JSON.parse(JSON.stringify(packageJsonFile.data));
|
|
163
|
+
};
|
|
164
|
+
const writePackageJson = async (params) => {
|
|
165
|
+
const packageJsonPath = assertSafeRelativePath(params.moduleDir, params.packageJsonPath);
|
|
166
|
+
const packageJson = readPackageJsonData({
|
|
167
|
+
files: params.files,
|
|
168
|
+
packageJsonPath: params.packageJsonPath,
|
|
169
|
+
});
|
|
170
|
+
const dependencies = {
|
|
171
|
+
...packageJson.dependencies,
|
|
172
|
+
};
|
|
173
|
+
for (const dependency of params.dependencies) {
|
|
174
|
+
dependencies[dependency.name] = await resolveDependencyVersion({
|
|
175
|
+
cwd: params.cwd,
|
|
176
|
+
mode: params.mode,
|
|
177
|
+
}, dependency);
|
|
178
|
+
}
|
|
179
|
+
const devDependencies = {
|
|
180
|
+
...packageJson.devDependencies,
|
|
181
|
+
};
|
|
182
|
+
if (params.needsTypeScript) {
|
|
183
|
+
if (!devDependencies.typescript) {
|
|
184
|
+
devDependencies.typescript = "^5.8.3";
|
|
185
|
+
}
|
|
186
|
+
if (!devDependencies["@types/node"]) {
|
|
187
|
+
devDependencies["@types/node"] = "^20.13.0";
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
const nextPackageJson = {
|
|
191
|
+
...packageJson,
|
|
192
|
+
name: `ldsg-module-${params.hash.slice(0, 8)}`,
|
|
193
|
+
private: true,
|
|
194
|
+
main: params.output,
|
|
195
|
+
dependencies,
|
|
196
|
+
devDependencies,
|
|
197
|
+
};
|
|
198
|
+
await fs_extra_1.default.mkdir(path_1.default.dirname(packageJsonPath), { recursive: true });
|
|
199
|
+
await fs_extra_1.default.writeJson(packageJsonPath, nextPackageJson, { spaces: 2 });
|
|
200
|
+
};
|
|
201
|
+
const loadModule = (outputPath) => {
|
|
202
|
+
const resolvedPath = require.resolve(outputPath);
|
|
203
|
+
delete require.cache[resolvedPath];
|
|
204
|
+
return require(outputPath);
|
|
205
|
+
};
|
|
206
|
+
const buildModule = async (params) => {
|
|
207
|
+
const packageManager = params.packageManager ?? DEFAULT_PACKAGE_MANAGER;
|
|
208
|
+
const installArgs = params.installArgs ??
|
|
209
|
+
(packageManager === "pnpm"
|
|
210
|
+
? [...DEFAULT_INSTALL_ARGS, "--ignore-workspace"]
|
|
211
|
+
: DEFAULT_INSTALL_ARGS);
|
|
212
|
+
const output = params.output ?? params.entry;
|
|
213
|
+
const packageJsonPath = params.packageJsonPath ?? "package.json";
|
|
214
|
+
const hash = hashValue({
|
|
215
|
+
files: params.files,
|
|
216
|
+
code: params.code,
|
|
217
|
+
dependencies: params.dependencies,
|
|
218
|
+
entry: params.entry,
|
|
219
|
+
output,
|
|
220
|
+
packageJsonPath,
|
|
221
|
+
packageManager,
|
|
222
|
+
installArgs,
|
|
223
|
+
buildCommand: params.buildCommand,
|
|
224
|
+
mode: params.mode,
|
|
225
|
+
cacheKey: params.cacheKey,
|
|
226
|
+
});
|
|
227
|
+
const moduleDir = params.targetDir ?? path_1.default.join(params.cwd, ".ldsg", "modules", hash);
|
|
228
|
+
const outputPath = assertSafeRelativePath(moduleDir, output);
|
|
229
|
+
const stampPath = path_1.default.join(moduleDir, ".ldsg-module.json");
|
|
230
|
+
const isFresh = (await fs_extra_1.default.pathExists(stampPath)) &&
|
|
231
|
+
(await fs_extra_1.default.pathExists(outputPath)) &&
|
|
232
|
+
(await fs_extra_1.default.readJson(stampPath)).hash === hash;
|
|
233
|
+
if (!isFresh) {
|
|
234
|
+
await fs_extra_1.default.emptyDir(moduleDir);
|
|
235
|
+
await fs_extra_1.default.mkdir(moduleDir, { recursive: true });
|
|
236
|
+
for (const file of params.files) {
|
|
237
|
+
if (file.path === packageJsonPath) {
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
await writeModuleFile(moduleDir, file);
|
|
241
|
+
}
|
|
242
|
+
await writePackageJson({
|
|
243
|
+
moduleDir,
|
|
244
|
+
hash,
|
|
245
|
+
files: params.files,
|
|
246
|
+
packageJsonPath,
|
|
247
|
+
output,
|
|
248
|
+
dependencies: params.dependencies,
|
|
249
|
+
mode: params.mode,
|
|
250
|
+
cwd: params.cwd,
|
|
251
|
+
needsTypeScript: params.entry.endsWith(".ts") || params.files.some((file) => file.path.endsWith(".ts")),
|
|
252
|
+
});
|
|
253
|
+
const entryPath = assertSafeRelativePath(moduleDir, params.entry);
|
|
254
|
+
await fs_extra_1.default.mkdir(path_1.default.dirname(entryPath), { recursive: true });
|
|
255
|
+
await fs_extra_1.default.writeFile(entryPath, params.code, "utf8");
|
|
256
|
+
await runCommand(packageManager, ["install", ...installArgs], moduleDir, params.env);
|
|
257
|
+
if (params.buildCommand) {
|
|
258
|
+
await runShellCommand(params.buildCommand, moduleDir, params.env);
|
|
259
|
+
}
|
|
260
|
+
else if (params.entry.endsWith(".ts")) {
|
|
261
|
+
const defaultBuildCommand = packageManager === "npm"
|
|
262
|
+
? "npm run build"
|
|
263
|
+
: packageManager === "yarn"
|
|
264
|
+
? "yarn build"
|
|
265
|
+
: DEFAULT_BUILD_COMMAND;
|
|
266
|
+
await runShellCommand(defaultBuildCommand, moduleDir, params.env);
|
|
267
|
+
}
|
|
268
|
+
await fs_extra_1.default.writeJson(stampPath, {
|
|
269
|
+
hash,
|
|
270
|
+
createdAt: new Date().toISOString(),
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
const exports = loadModule(outputPath);
|
|
274
|
+
return {
|
|
275
|
+
moduleDir,
|
|
276
|
+
entryPath: outputPath,
|
|
277
|
+
exports,
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
const createModuleBuilder = () => ({
|
|
281
|
+
buildModule,
|
|
282
|
+
});
|
|
283
|
+
exports.createModuleBuilder = createModuleBuilder;
|
|
284
|
+
//# sourceMappingURL=module-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-builder.js","sourceRoot":"","sources":["../../src/generator/module-builder.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAsC;AACtC,oDAA4B;AAC5B,gDAAwB;AAIxB,wDAA0B;AAE1B,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,oBAAoB,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAElE,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAC3C,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAA+B,EAAE;IACtE,IAAI,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,GAAW,EACX,WAAmB,EACU,EAAE;IAC/B,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAEzC,IAAI,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAEhD,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnD,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAGC,EACD,UAAqC,EACpB,EAAE;IACnB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAE9E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,QAAQ,UAAU,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,YAAoB,EAAU,EAAE;IAC/E,IAAI,cAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEzD,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,cAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,8CAA8C,YAAY,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAE,IAAiB,EAAiB,EAAE;IAClF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,OAAe,EACf,IAAc,EACd,GAAW,EACX,GAA4B,EACb,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;QACjC,GAAG;QACH,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,GAAG;SACP;QACD,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,CACJ,IAAI,KAAK,CACP,iCAAiC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAC9F,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,CACtB,OAAe,EACf,GAAW,EACX,GAA4B,EACb,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE;QAC3B,GAAG;QACH,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,GAAG;SACP;QACD,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,CACJ,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACvF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,mBAAmB,GAAG,CAAC,MAG5B,EAA2B,EAAE;IAC5B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,eAAe,CAAC,CAAC;IAE1F,IAAI,CAAC,eAAe,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAA4B,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAU/B,EAAiB,EAAE;IAClB,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAEzF,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACtC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,YAAY,GAA2B;QAC3C,GAAI,WAAW,CAAC,YAAmD;KACpE,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,wBAAwB,CAC5D;YACE,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAA2B;QAC9C,GAAI,WAAW,CAAC,eAAsD;KACvE,CAAC;IAEF,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAChC,eAAe,CAAC,UAAU,GAAG,QAAQ,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,eAAe,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG;QACtB,GAAG,WAAW;QACd,IAAI,EAAE,eAAe,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC9C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,YAAY;QACZ,eAAe;KAChB,CAAC;IAEF,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,kBAAE,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,UAAkB,EAA2B,EAAE;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEnC,OAAO,OAAO,CAAC,UAAU,CAA4B,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,MAAyB,EAA2B,EAAE;IAC/E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACxE,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;QAClB,CAAC,cAAc,KAAK,MAAM;YACxB,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,oBAAoB,CAAC;YACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc,CAAC;IAEjE,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM;QACN,eAAe;QACf,cAAc;QACd,WAAW;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAE5D,MAAM,OAAO,GACX,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAuB,CAAC,IAAI,KAAK,IAAI,CAAC;IAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,kBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,kBAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,gBAAgB,CAAC;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,eAAe;YACf,MAAM;YACN,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,eAAe,EACb,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACzF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAElE,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,kBAAE,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,mBAAmB,GACvB,cAAc,KAAK,KAAK;gBACtB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,cAAc,KAAK,MAAM;oBACzB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,qBAAqB,CAAC;YAE9B,MAAM,eAAe,CAAC,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,kBAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO;QACL,SAAS;QACT,SAAS,EAAE,UAAU;QACrB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,GAAkB,EAAE,CAAC,CAAC;IACvD,WAAW;CACZ,CAAC,CAAC;AAFU,QAAA,mBAAmB,uBAE7B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ModuleBuildMode, ModuleBuilder } from "@ldsg/generator";
|
|
2
|
+
import type { ResourceRecord } from "@ldsg/types";
|
|
3
|
+
export interface ResolveModuleBuilderParams {
|
|
4
|
+
resourceRecords: ResourceRecord[];
|
|
5
|
+
mode: ModuleBuildMode;
|
|
6
|
+
cwd: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const resolveModuleBuilder: (params: ResolveModuleBuilderParams) => Promise<ModuleBuilder>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveModuleBuilder = void 0;
|
|
4
|
+
const handler_generator_1 = require("@ldsg/handler-generator");
|
|
5
|
+
const resolveModuleBuilder = async (params) => {
|
|
6
|
+
const { resourceRecords, mode, cwd } = params;
|
|
7
|
+
const handlerResourceDefinition = resourceRecords.find((resourceRecord) => {
|
|
8
|
+
return (resourceRecord.kind === "resource_definition" && resourceRecord.settings.kind === "handler");
|
|
9
|
+
});
|
|
10
|
+
const generatorResourceId = handlerResourceDefinition?.settings.generatorResourceId;
|
|
11
|
+
if (!generatorResourceId) {
|
|
12
|
+
return (0, handler_generator_1.createModuleBuilder)();
|
|
13
|
+
}
|
|
14
|
+
const handlerGeneratorResource = resourceRecords.find((resourceRecord) => {
|
|
15
|
+
return resourceRecord.id === generatorResourceId;
|
|
16
|
+
});
|
|
17
|
+
if (!handlerGeneratorResource) {
|
|
18
|
+
throw new Error(`handler generator resource not found: ${generatorResourceId}`);
|
|
19
|
+
}
|
|
20
|
+
if (handlerGeneratorResource.kind !== "generator") {
|
|
21
|
+
throw new Error(`handler generator resource must be generator: ${handlerGeneratorResource.id}`);
|
|
22
|
+
}
|
|
23
|
+
const handlerResourceId = handlerGeneratorResource.settings.handlerResourceId;
|
|
24
|
+
const handlerGeneratorHandlerResource = resourceRecords.find((resourceRecord) => {
|
|
25
|
+
return resourceRecord.id === handlerResourceId;
|
|
26
|
+
});
|
|
27
|
+
if (!handlerGeneratorHandlerResource) {
|
|
28
|
+
throw new Error(`handler generator handler resource not found: ${handlerResourceId}`);
|
|
29
|
+
}
|
|
30
|
+
if (handlerGeneratorHandlerResource.kind !== "handler") {
|
|
31
|
+
throw new Error(`handler generator handler resource must be handler: ${handlerGeneratorHandlerResource.id}`);
|
|
32
|
+
}
|
|
33
|
+
return (0, handler_generator_1.buildModuleBuilder)({
|
|
34
|
+
code: handlerGeneratorHandlerResource.settings.code,
|
|
35
|
+
dependencies: handlerGeneratorHandlerResource.settings.dependencies ?? [],
|
|
36
|
+
mode,
|
|
37
|
+
cwd,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.resolveModuleBuilder = resolveModuleBuilder;
|
|
41
|
+
//# sourceMappingURL=resolve-module-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-module-builder.js","sourceRoot":"","sources":["../../src/generator/resolve-module-builder.ts"],"names":[],"mappings":";;;AAEA,+DAAkF;AAgB3E,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAkC,EACV,EAAE;IAC1B,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE9C,MAAM,yBAAyB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QACxE,OAAO,CACL,cAAc,CAAC,IAAI,KAAK,qBAAqB,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAEpF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAA,uCAAmB,GAAE,CAAC;IAC/B,CAAC;IAED,MAAM,wBAAwB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QACvE,OAAO,cAAc,CAAC,EAAE,KAAK,mBAAmB,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,mBAAmB,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,wBAAwB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,iDAAiD,wBAAwB,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAE9E,MAAM,+BAA+B,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QAC9E,OAAO,cAAc,CAAC,EAAE,KAAK,iBAAiB,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,iBAAiB,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,+BAA+B,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,uDAAuD,+BAA+B,CAAC,EAAE,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,sCAAkB,EAAC;QACxB,IAAI,EAAE,+BAA+B,CAAC,QAAQ,CAAC,IAAI;QACnD,YAAY,EAAE,+BAA+B,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE;QACzE,IAAI;QACJ,GAAG;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,oBAAoB,wBAmD/B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ResourceRecord } from "@ldsg/types";
|
|
2
|
+
export declare const isRootResource: (resourceRecord: ResourceRecord) => boolean;
|
|
3
|
+
export declare const resolveRootResource: (resourceRecords: ResourceRecord[]) => ResourceRecord;
|
|
4
|
+
export declare const resolveResourceDefinition: (resourceRecords: ResourceRecord[], rootResourceId: string, kind: string) => ResourceRecord;
|
|
5
|
+
export declare const getResourceRecordById: (resourceRecords: ResourceRecord[], id: string | undefined, description: string) => ResourceRecord;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getResourceRecordById = exports.resolveResourceDefinition = exports.resolveRootResource = exports.isRootResource = void 0;
|
|
4
|
+
const ROOT_PARENT_IDS = [null, "root"];
|
|
5
|
+
const isRootResource = (resourceRecord) => {
|
|
6
|
+
return ROOT_PARENT_IDS.includes(resourceRecord.parentId);
|
|
7
|
+
};
|
|
8
|
+
exports.isRootResource = isRootResource;
|
|
9
|
+
const resolveRootResource = (resourceRecords) => {
|
|
10
|
+
const rootResources = resourceRecords.filter(exports.isRootResource);
|
|
11
|
+
if (rootResources.length === 0) {
|
|
12
|
+
throw new Error("root resource not found");
|
|
13
|
+
}
|
|
14
|
+
if (rootResources.length > 1) {
|
|
15
|
+
throw new Error(`multiple root resources: ${rootResources.map((resource) => resource.id).join(", ")}`);
|
|
16
|
+
}
|
|
17
|
+
return rootResources[0];
|
|
18
|
+
};
|
|
19
|
+
exports.resolveRootResource = resolveRootResource;
|
|
20
|
+
const resolveResourceDefinition = (resourceRecords, rootResourceId, kind) => {
|
|
21
|
+
const resourceDefinitions = resourceRecords.filter((resourceRecord) => {
|
|
22
|
+
return (resourceRecord.kind === "resource_definition" &&
|
|
23
|
+
resourceRecord.settings.kind === kind &&
|
|
24
|
+
resourceRecord.parentId === rootResourceId);
|
|
25
|
+
});
|
|
26
|
+
if (resourceDefinitions.length === 0) {
|
|
27
|
+
throw new Error(`resource definition not found: ${kind}`);
|
|
28
|
+
}
|
|
29
|
+
if (resourceDefinitions.length > 1) {
|
|
30
|
+
throw new Error(`multiple resource definitions for ${kind}: ${resourceDefinitions
|
|
31
|
+
.map((resource) => resource.id)
|
|
32
|
+
.join(", ")}`);
|
|
33
|
+
}
|
|
34
|
+
return resourceDefinitions[0];
|
|
35
|
+
};
|
|
36
|
+
exports.resolveResourceDefinition = resolveResourceDefinition;
|
|
37
|
+
const getResourceRecordById = (resourceRecords, id, description) => {
|
|
38
|
+
if (!id) {
|
|
39
|
+
throw new Error(`${description} id is missing`);
|
|
40
|
+
}
|
|
41
|
+
const resourceRecord = resourceRecords.find((item) => item.id === id);
|
|
42
|
+
if (!resourceRecord) {
|
|
43
|
+
throw new Error(`${description} not found: ${id}`);
|
|
44
|
+
}
|
|
45
|
+
return resourceRecord;
|
|
46
|
+
};
|
|
47
|
+
exports.getResourceRecordById = getResourceRecordById;
|
|
48
|
+
//# sourceMappingURL=resolve-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-root.js","sourceRoot":"","sources":["../../src/generator/resolve-root.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAEhC,MAAM,cAAc,GAAG,CAAC,cAA8B,EAAW,EAAE;IACxE,OAAO,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAKK,MAAM,mBAAmB,GAAG,CAAC,eAAiC,EAAkB,EAAE;IACvF,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;IAE7D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,4BAA4B,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B;AAKK,MAAM,yBAAyB,GAAG,CACvC,eAAiC,EACjC,cAAsB,EACtB,IAAY,EACI,EAAE;IAClB,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE;QACpE,OAAO,CACL,cAAc,CAAC,IAAI,KAAK,qBAAqB;YAC7C,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;YACrC,cAAc,CAAC,QAAQ,KAAK,cAAc,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,KAAK,mBAAmB;aAC9D,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AA1BW,QAAA,yBAAyB,6BA0BpC;AAKK,MAAM,qBAAqB,GAAG,CACnC,eAAiC,EACjC,EAAsB,EACtB,WAAmB,EACH,EAAE;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,eAAe,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
|
package/jest.config.js
CHANGED
|
@@ -5,7 +5,10 @@ module.exports = {
|
|
|
5
5
|
testMatch: ["**/__tests__/**/*.test.ts"],
|
|
6
6
|
moduleNameMapper: {
|
|
7
7
|
"^@ldsg/types$": "<rootDir>/../../libs/types/src",
|
|
8
|
-
"^@ldsg/constants$":
|
|
8
|
+
"^@ldsg/express-app-template-constants$":
|
|
9
|
+
"<rootDir>/../../template-constants/app/src",
|
|
10
|
+
"^@ldsg/handler-template-constants$":
|
|
11
|
+
"<rootDir>/../../template-constants/handler/src",
|
|
9
12
|
"^@ldsg/utils$": "<rootDir>/../../libs/utils/src",
|
|
10
13
|
},
|
|
11
14
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ldsg/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.44",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "ISC",
|
|
@@ -17,9 +17,8 @@
|
|
|
17
17
|
"commander": "^12.0.0",
|
|
18
18
|
"fs-extra": "^11.3.0",
|
|
19
19
|
"js-yaml": "^4.1.0",
|
|
20
|
-
"@ldsg/
|
|
21
|
-
"@ldsg/
|
|
22
|
-
"@ldsg/utils": "0.3.42"
|
|
20
|
+
"@ldsg/handler": "0.3.44",
|
|
21
|
+
"@ldsg/utils": "0.3.44"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|
|
25
24
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -37,7 +36,8 @@
|
|
|
37
36
|
"ts-jest": "^29.4.1",
|
|
38
37
|
"ts-node": "^10.9.2",
|
|
39
38
|
"tslib": "^2.8.1",
|
|
40
|
-
"typescript": "^5.3.3"
|
|
39
|
+
"typescript": "^5.3.3",
|
|
40
|
+
"@ldsg/types": "0.3.44"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "tsc --project tsconfig.build.json",
|