@ldsg/cli 0.3.43 → 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.
Files changed (133) hide show
  1. package/.rush/temp/package-deps_build.json +15 -18
  2. package/.rush/temp/shrinkwrap-deps.json +1 -1
  3. package/.tsbuildinfo +1 -1
  4. package/CHANGELOG.json +23 -0
  5. package/CHANGELOG.md +8 -1
  6. package/README.md +3 -3
  7. package/dist/__tests__/bootstrap-generator.test.js +120 -0
  8. package/dist/__tests__/bootstrap-generator.test.js.map +1 -0
  9. package/dist/__tests__/generate-bootstrap.test.d.ts +1 -0
  10. package/dist/__tests__/generate-bootstrap.test.js +97 -0
  11. package/dist/__tests__/generate-bootstrap.test.js.map +1 -0
  12. package/dist/__tests__/resolve-module-builder.test.d.ts +1 -0
  13. package/dist/__tests__/resolve-module-builder.test.js +83 -0
  14. package/dist/__tests__/resolve-module-builder.test.js.map +1 -0
  15. package/dist/__tests__/resolve-root.test.d.ts +1 -0
  16. package/dist/__tests__/resolve-root.test.js +32 -0
  17. package/dist/__tests__/resolve-root.test.js.map +1 -0
  18. package/dist/cli.js +4 -431
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/generate/index.d.ts +2 -0
  21. package/dist/commands/generate/index.js +35 -0
  22. package/dist/commands/generate/index.js.map +1 -0
  23. package/dist/commands/generate/types/generate.d.ts +12 -0
  24. package/dist/commands/generate/types/generate.js +3 -0
  25. package/dist/commands/generate/types/generate.js.map +1 -0
  26. package/dist/commands/generate/types/generator.d.ts +4 -0
  27. package/dist/commands/generate/types/generator.js +3 -0
  28. package/dist/commands/generate/types/generator.js.map +1 -0
  29. package/dist/commands/generate/types/index.d.ts +2 -0
  30. package/dist/commands/generate/types/index.js +19 -0
  31. package/dist/commands/generate/types/index.js.map +1 -0
  32. package/dist/commands/generate/types.d.ts +8 -0
  33. package/dist/{types/get-extend-app-data-params.js → commands/generate/types.js} +1 -1
  34. package/dist/commands/generate/types.js.map +1 -0
  35. package/dist/commands/generate/utils/generate-application/index.d.ts +6 -0
  36. package/dist/commands/generate/utils/generate-application/index.js +28 -0
  37. package/dist/commands/generate/utils/generate-application/index.js.map +1 -0
  38. package/dist/commands/generate/utils/generate-application/types/generator.d.ts +9 -0
  39. package/dist/commands/generate/utils/generate-application/types/generator.js +3 -0
  40. package/dist/commands/generate/utils/generate-application/types/generator.js.map +1 -0
  41. package/dist/commands/generate/utils/generate-application/types/index.d.ts +1 -0
  42. package/dist/commands/generate/utils/generate-application/types/index.js +18 -0
  43. package/dist/commands/generate/utils/generate-application/types/index.js.map +1 -0
  44. package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.d.ts +9 -0
  45. package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.js +30 -0
  46. package/dist/commands/generate/utils/generate-application/utils/build-app-generator/index.js.map +1 -0
  47. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.d.ts +13 -0
  48. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.js +125 -0
  49. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/index.js.map +1 -0
  50. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.d.ts +3 -0
  51. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.js +7 -0
  52. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/constants.js.map +1 -0
  53. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.d.ts +4 -0
  54. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.js +69 -0
  55. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/index.js.map +1 -0
  56. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.d.ts +3 -0
  57. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.js +32 -0
  58. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/prepare-bootstrap-app-files.js.map +1 -0
  59. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.d.ts +2 -0
  60. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.js +62 -0
  61. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/render-bootstrap-entry.js.map +1 -0
  62. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.d.ts +11 -0
  63. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.js +84 -0
  64. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap/resolve-dependencies.js.map +1 -0
  65. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.d.ts +2 -0
  66. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.js +15 -0
  67. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/get-resource-record-by-id.js.map +1 -0
  68. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.d.ts +2 -0
  69. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.js +21 -0
  70. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record.js.map +1 -0
  71. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.d.ts +2 -0
  72. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.js +18 -0
  73. package/dist/commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record.js.map +1 -0
  74. package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.d.ts +8 -0
  75. package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.js +32 -0
  76. package/dist/commands/generate/utils/generate-application/utils/build-meta-generator/index.js.map +1 -0
  77. package/dist/commands/generate/utils/generate-application/utils/generate-app/index.d.ts +8 -0
  78. package/dist/commands/generate/utils/generate-application/utils/generate-app/index.js +10 -0
  79. package/dist/commands/generate/utils/generate-application/utils/generate-app/index.js.map +1 -0
  80. package/dist/commands/generate/utils/generate-application/utils/index.d.ts +3 -0
  81. package/dist/commands/generate/utils/generate-application/utils/index.js +20 -0
  82. package/dist/commands/generate/utils/generate-application/utils/index.js.map +1 -0
  83. package/dist/commands/generate/utils/parse-extra-options.d.ts +5 -0
  84. package/dist/commands/generate/utils/parse-extra-options.js +59 -0
  85. package/dist/commands/generate/utils/parse-extra-options.js.map +1 -0
  86. package/dist/commands/resource/index.d.ts +2 -0
  87. package/dist/commands/resource/index.js +392 -0
  88. package/dist/commands/resource/index.js.map +1 -0
  89. package/dist/generator/bootstrap-generator.d.ts +19 -0
  90. package/dist/generator/bootstrap-generator.js +59 -0
  91. package/dist/generator/bootstrap-generator.js.map +1 -0
  92. package/dist/generator/module-builder.d.ts +2 -0
  93. package/dist/generator/module-builder.js +284 -0
  94. package/dist/generator/module-builder.js.map +1 -0
  95. package/dist/generator/resolve-module-builder.d.ts +8 -0
  96. package/dist/generator/resolve-module-builder.js +41 -0
  97. package/dist/generator/resolve-module-builder.js.map +1 -0
  98. package/dist/generator/resolve-root.d.ts +5 -0
  99. package/dist/generator/resolve-root.js +48 -0
  100. package/dist/generator/resolve-root.js.map +1 -0
  101. package/jest.config.js +4 -1
  102. package/package.json +5 -5
  103. package/src/cli.ts +4 -510
  104. package/src/commands/generate/index.ts +54 -0
  105. package/src/commands/generate/utils/generate-application/index.ts +50 -0
  106. package/src/commands/generate/utils/generate-application/utils/build-app-generator/index.ts +39 -0
  107. package/src/commands/generate/utils/generate-application/utils/build-meta-generator/index.ts +45 -0
  108. package/src/commands/generate/utils/generate-application/utils/generate-app/index.ts +17 -0
  109. package/src/commands/generate/utils/generate-application/utils/index.ts +3 -0
  110. package/src/commands/generate/utils/parse-extra-options.ts +80 -0
  111. package/src/commands/resource/index.ts +455 -0
  112. package/dist/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.js +0 -81
  113. package/dist/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.js.map +0 -1
  114. package/dist/types/get-extend-app-data-params.d.ts +0 -10
  115. package/dist/types/get-extend-app-data-params.js.map +0 -1
  116. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.d.ts +0 -2
  117. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js +0 -27
  118. package/dist/utils/get-extend-app-data-params-using-npm-ldsg-module.js.map +0 -1
  119. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.d.ts +0 -2
  120. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js +0 -98
  121. package/dist/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.js.map +0 -1
  122. package/src/__tests__/add-pnpm-overrides.test.ts +0 -91
  123. package/src/__tests__/commands.test.ts +0 -318
  124. package/src/__tests__/formatter.test.ts +0 -151
  125. package/src/__tests__/generate-app-index-ts.test.ts +0 -141
  126. package/src/__tests__/get-extend-app-data-params-using-workspace-ldsg-module.test.ts +0 -109
  127. package/src/__tests__/json-file-mutator.test.ts +0 -186
  128. package/src/__tests__/mutate.test.ts +0 -392
  129. package/src/__tests__/source-resolver.test.ts +0 -125
  130. package/src/types/get-extend-app-data-params.ts +0 -13
  131. package/src/utils/get-extend-app-data-params-using-npm-ldsg-module.ts +0 -34
  132. package/src/utils/get-extend-app-data-params-using-workspace-ldsg-module/index.ts +0 -159
  133. /package/dist/__tests__/{get-extend-app-data-params-using-workspace-ldsg-module.test.d.ts → bootstrap-generator.test.d.ts} +0 -0
package/CHANGELOG.json CHANGED
@@ -1,6 +1,29 @@
1
1
  {
2
2
  "name": "@ldsg/cli",
3
3
  "entries": [
4
+ {
5
+ "version": "0.3.44",
6
+ "tag": "@ldsg/cli_v0.3.44",
7
+ "date": "Thu, 29 Oct 2026 14:35:23 GMT",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "comment": "发布更新"
12
+ }
13
+ ],
14
+ "dependency": [
15
+ {
16
+ "comment": "Updating dependency \"@ldsg/handler\" to `0.3.44`"
17
+ },
18
+ {
19
+ "comment": "Updating dependency \"@ldsg/utils\" to `0.3.44`"
20
+ },
21
+ {
22
+ "comment": "Updating dependency \"@ldsg/types\" to `0.3.44`"
23
+ }
24
+ ]
25
+ }
26
+ },
4
27
  {
5
28
  "version": "0.3.43",
6
29
  "tag": "@ldsg/cli_v0.3.43",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @ldsg/cli
2
2
 
3
- This log was last generated on Sun, 11 Oct 2026 10:59:48 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 29 Oct 2026 14:35:23 GMT and should not be manually modified.
4
+
5
+ ## 0.3.44
6
+ Thu, 29 Oct 2026 14:35:23 GMT
7
+
8
+ ### Patches
9
+
10
+ - 发布更新
4
11
 
5
12
  ## 0.3.43
6
13
  Sun, 11 Oct 2026 10:59:48 GMT
package/README.md CHANGED
@@ -41,11 +41,11 @@ pnpm build
41
41
  因此部署产物只需存放 `dist`,运行时无需 node_modules/源码。
42
42
 
43
43
  ```sh
44
- # 生成(默认 npm 模式,NESTED 布局)
45
- ldsg g --app-data-uri <uri> --output ./generated/app
44
+ # 生成(默认 npm 模式,NESTED 布局),最后一个参数为输出目录
45
+ ldsg g --data-uri <uri> ./generated/app
46
46
 
47
47
  # 源数据非标准格式时,用 JSONata 表达式转换为标准落地生根资源记录
48
- ldsg g --app-data-uri <uri> --app-data-expression '{"resourceRecords":$.data.queryResourceRecords.resourceRecords}' --output ./generated/app
48
+ ldsg g --data-uri <uri> --data-expression '{"resourceRecords":$.data.queryResourceRecords.resourceRecords}' ./generated/app
49
49
 
50
50
  # 构建(打单文件 dist)
51
51
  (cd generated/app; pnpm install && pnpm build)
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const handler_generator_1 = require("@ldsg/handler-generator");
4
+ const bootstrap_generator_1 = require("../generator/bootstrap-generator");
5
+ jest.mock("@ldsg/handler-generator", () => ({
6
+ buildHandlerModuleResource: jest.fn(),
7
+ }));
8
+ const mockedBuildHandlerModuleResource = handler_generator_1.buildHandlerModuleResource;
9
+ const buildApp = jest.fn();
10
+ const generatorDefinitionHandler = {
11
+ id: "generator-definition-handler",
12
+ kind: "handler",
13
+ parentId: "generator-definition",
14
+ settings: {
15
+ slug: "handler",
16
+ title: "",
17
+ description: "",
18
+ code: 'export * from "@ldsg/generator";',
19
+ dependencies: [{ name: "@ldsg/generator", version: "workspace:*" }],
20
+ },
21
+ };
22
+ const handlerGeneratorHandler = {
23
+ id: "handler-generator-handler",
24
+ kind: "handler",
25
+ parentId: "handler-generator",
26
+ settings: {
27
+ slug: "handler",
28
+ title: "",
29
+ description: "",
30
+ code: 'export { createModuleBuilder } from "@ldsg/handler-generator";',
31
+ dependencies: [{ name: "@ldsg/handler-generator", version: "workspace:*" }],
32
+ },
33
+ };
34
+ const rootGeneratorHandler = {
35
+ id: "root-generator-handler",
36
+ kind: "handler",
37
+ parentId: "root-generator",
38
+ settings: {
39
+ slug: "handler",
40
+ title: "",
41
+ description: "",
42
+ code: 'export * from "@ldsg/express-app-generator";',
43
+ dependencies: [{ name: "@ldsg/express-app-generator", version: "workspace:*" }],
44
+ },
45
+ };
46
+ beforeEach(() => {
47
+ jest.clearAllMocks();
48
+ });
49
+ test("createBootstrapGenerator builds both handler modules and application generator", async () => {
50
+ const moduleBuilder = {
51
+ buildModule: jest.fn(async () => ({
52
+ moduleDir: "/tmp/application-generator",
53
+ entryPath: "/tmp/application-generator/dist/index.js",
54
+ exports: { buildApp },
55
+ })),
56
+ };
57
+ mockedBuildHandlerModuleResource
58
+ .mockResolvedValueOnce({
59
+ moduleDir: "/tmp/generator-definition-handler",
60
+ entryPath: "/tmp/generator-definition-handler/dist/index.js",
61
+ exports: {},
62
+ })
63
+ .mockResolvedValueOnce({
64
+ moduleDir: "/tmp/handler-generator-handler",
65
+ entryPath: "/tmp/handler-generator-handler/dist/index.js",
66
+ exports: { createModuleBuilder: () => moduleBuilder },
67
+ });
68
+ const bootstrapGenerator = await (0, bootstrap_generator_1.createBootstrapGenerator)({
69
+ generatorDefinitionHandler,
70
+ handlerGeneratorHandler,
71
+ mode: "workspace",
72
+ cwd: "/tmp",
73
+ });
74
+ expect(mockedBuildHandlerModuleResource).toHaveBeenNthCalledWith(1, {
75
+ code: generatorDefinitionHandler.settings.code,
76
+ dependencies: generatorDefinitionHandler.settings.dependencies,
77
+ mode: "workspace",
78
+ cwd: "/tmp",
79
+ });
80
+ expect(mockedBuildHandlerModuleResource).toHaveBeenNthCalledWith(2, {
81
+ code: handlerGeneratorHandler.settings.code,
82
+ dependencies: handlerGeneratorHandler.settings.dependencies,
83
+ mode: "workspace",
84
+ cwd: "/tmp",
85
+ });
86
+ const applicationGenerator = await bootstrapGenerator.buildApplicationGenerator({
87
+ rootGeneratorHandler,
88
+ });
89
+ expect(moduleBuilder.buildModule).toHaveBeenCalledWith(expect.objectContaining({
90
+ code: 'export * as generator from "@ldsg/generator";\nexport * from "@ldsg/express-app-generator";',
91
+ dependencies: [
92
+ { name: "@ldsg/generator" },
93
+ { name: "@ldsg/express-app-generator", version: "workspace:*" },
94
+ ],
95
+ mode: "workspace",
96
+ cwd: "/tmp",
97
+ }));
98
+ expect(applicationGenerator.moduleDir).toBe("/tmp/application-generator");
99
+ expect(applicationGenerator.buildApp).toBe(buildApp);
100
+ });
101
+ test("createBootstrapGenerator throws when handler generator handler does not export createModuleBuilder", async () => {
102
+ mockedBuildHandlerModuleResource
103
+ .mockResolvedValueOnce({
104
+ moduleDir: "/tmp/generator-definition-handler",
105
+ entryPath: "/tmp/generator-definition-handler/dist/index.js",
106
+ exports: {},
107
+ })
108
+ .mockResolvedValueOnce({
109
+ moduleDir: "/tmp/handler-generator-handler",
110
+ entryPath: "/tmp/handler-generator-handler/dist/index.js",
111
+ exports: {},
112
+ });
113
+ await expect((0, bootstrap_generator_1.createBootstrapGenerator)({
114
+ generatorDefinitionHandler,
115
+ handlerGeneratorHandler,
116
+ mode: "npm",
117
+ cwd: "/tmp",
118
+ })).rejects.toThrow("must export createModuleBuilder");
119
+ });
120
+ //# sourceMappingURL=bootstrap-generator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-generator.test.js","sourceRoot":"","sources":["../../src/__tests__/bootstrap-generator.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,97 @@
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
+ const fs_extra_1 = __importDefault(require("fs-extra"));
7
+ const node_os_1 = __importDefault(require("node:os"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const generate_bootstrap_1 = require("../commands/generate/utils/generate-application/utils/build-bootstrap/utils/generate-bootstrap");
10
+ const createResourceRecords = () => [
11
+ {
12
+ id: "root",
13
+ kind: "bootstrap",
14
+ parentId: null,
15
+ settings: {
16
+ originalKind: "application",
17
+ slug: "app",
18
+ title: "App",
19
+ description: "",
20
+ },
21
+ },
22
+ {
23
+ id: "bootstrap-definition",
24
+ kind: "resource_definition",
25
+ parentId: "root",
26
+ settings: {
27
+ kind: "bootstrap",
28
+ slug: "resource-definition",
29
+ title: "",
30
+ description: "",
31
+ handlerResourceId: "bootstrap-handler",
32
+ generatorResourceId: "generator",
33
+ },
34
+ },
35
+ {
36
+ id: "bootstrap-handler",
37
+ kind: "handler",
38
+ parentId: "bootstrap-definition",
39
+ settings: {
40
+ slug: "handler",
41
+ title: "",
42
+ description: "",
43
+ code: 'export * from "@ldsg/generator-app";',
44
+ dependencies: [{ name: "@ldsg/generator-app", version: "workspace:*" }],
45
+ },
46
+ },
47
+ {
48
+ id: "generator",
49
+ kind: "generator",
50
+ parentId: "root",
51
+ settings: {
52
+ slug: "generator",
53
+ title: "",
54
+ description: "",
55
+ handlerResourceId: "generator-handler",
56
+ },
57
+ },
58
+ {
59
+ id: "generator-handler",
60
+ kind: "handler",
61
+ parentId: "generator",
62
+ settings: {
63
+ slug: "handler",
64
+ title: "",
65
+ description: "",
66
+ code: 'export * from "@ldsg/express-app-generator";',
67
+ dependencies: [{ name: "@ldsg/express-app-generator", version: "workspace:*" }],
68
+ },
69
+ },
70
+ ];
71
+ test("generateBootstrap writes an installable bootstrap project", async () => {
72
+ const outputPath = await fs_extra_1.default.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), "ldsg-bootstrap-"));
73
+ try {
74
+ await (0, generate_bootstrap_1.generateBootstrap)({
75
+ data: { resourceRecords: createResourceRecords() },
76
+ outputPath,
77
+ isZip: false,
78
+ extraOptions: {},
79
+ });
80
+ const packageJson = await fs_extra_1.default.readJson(node_path_1.default.join(outputPath, "package.json"));
81
+ const manifest = await fs_extra_1.default.readJson(node_path_1.default.join(outputPath, "manifest.json"));
82
+ const entry = await fs_extra_1.default.readFile(node_path_1.default.join(outputPath, "index.ts"), "utf8");
83
+ const handlerEntry = await fs_extra_1.default.readFile(node_path_1.default.join(outputPath, "handlers", "bootstrap-handler", "index.ts"), "utf8");
84
+ expect(packageJson.name).toBe("ldsg-bootstrap");
85
+ expect(packageJson.dependencies["@ldsg/create-generator-app"]).toBe("latest");
86
+ expect(packageJson.dependencies["bootstrap-handler"]).toBe("workspace:*");
87
+ expect(manifest.resourceRecords).toHaveLength(5);
88
+ expect(entry).toContain('import { createGeneratorApp } from "@ldsg/create-generator-app";');
89
+ expect(entry).toContain('from "./handlers/bootstrap-handler"');
90
+ expect(handlerEntry).toContain('export * from "@ldsg/generator-app";');
91
+ expect(await fs_extra_1.default.pathExists(node_path_1.default.join(outputPath, "node_modules"))).toBe(false);
92
+ }
93
+ finally {
94
+ await fs_extra_1.default.remove(outputPath);
95
+ }
96
+ });
97
+ //# sourceMappingURL=generate-bootstrap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-bootstrap.test.js","sourceRoot":"","sources":["../../src/__tests__/generate-bootstrap.test.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0B;AAC1B,sDAAyB;AACzB,0DAA6B;AAC7B,uIAAmI;AAEnI,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC;IAClC;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE;YACR,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,EAAE;SAChB;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,mBAAmB;YACtC,mBAAmB,EAAE,WAAW;SACjC;KACF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,sCAAsC;YAC5C,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;SACxE;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,mBAAmB;SACvC;KACF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,8CAA8C;YACpD,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;SAChF;KACF;CACF,CAAC;AAEF,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,MAAM,IAAA,sCAAiB,EAAC;YACtB,IAAI,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,EAAE;YAClD,UAAU;YACV,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,kBAAE,CAAC,QAAQ,CACpC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAClE,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1E,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kEAAkE,CAAC,CAAC;QAC5F,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;YAAS,CAAC;QACT,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const handler_generator_1 = require("@ldsg/handler-generator");
4
+ const resolve_module_builder_1 = require("../generator/resolve-module-builder");
5
+ jest.mock("@ldsg/handler-generator", () => ({
6
+ buildModuleBuilder: jest.fn(),
7
+ createModuleBuilder: jest.fn(),
8
+ }));
9
+ const mockedCreateModuleBuilder = handler_generator_1.createModuleBuilder;
10
+ const mockedBuildModuleBuilder = handler_generator_1.buildModuleBuilder;
11
+ beforeEach(() => {
12
+ jest.clearAllMocks();
13
+ mockedCreateModuleBuilder.mockReturnValue({ name: "builtin" });
14
+ mockedBuildModuleBuilder.mockResolvedValue({ name: "resource" });
15
+ });
16
+ test("falls back to builtin module builder when handler definition has no generatorResourceId", async () => {
17
+ const res = await (0, resolve_module_builder_1.resolveModuleBuilder)({
18
+ resourceRecords: [
19
+ {
20
+ id: "handler-definition",
21
+ kind: "resource_definition",
22
+ parentId: "root",
23
+ settings: { slug: "handler-definition", title: "", description: "", kind: "handler" },
24
+ },
25
+ ],
26
+ mode: "npm",
27
+ cwd: "/tmp",
28
+ });
29
+ expect(res).toEqual({ name: "builtin" });
30
+ expect(mockedCreateModuleBuilder).toHaveBeenCalled();
31
+ expect(mockedBuildModuleBuilder).not.toHaveBeenCalled();
32
+ });
33
+ test("builds module builder from handler generator resources", async () => {
34
+ const res = await (0, resolve_module_builder_1.resolveModuleBuilder)({
35
+ resourceRecords: [
36
+ {
37
+ id: "handler-definition",
38
+ kind: "resource_definition",
39
+ parentId: "root",
40
+ settings: {
41
+ slug: "handler-definition",
42
+ title: "",
43
+ description: "",
44
+ kind: "handler",
45
+ generatorResourceId: "handler-generator",
46
+ },
47
+ },
48
+ {
49
+ id: "handler-generator",
50
+ kind: "generator",
51
+ parentId: "root",
52
+ settings: {
53
+ slug: "handler-generator",
54
+ title: "",
55
+ description: "",
56
+ handlerResourceId: "handler-generator-handler",
57
+ },
58
+ },
59
+ {
60
+ id: "handler-generator-handler",
61
+ kind: "handler",
62
+ parentId: "handler-generator",
63
+ settings: {
64
+ slug: "handler-generator-handler",
65
+ title: "",
66
+ description: "",
67
+ code: 'export { createModuleBuilder } from "@ldsg/handler-generator";',
68
+ dependencies: [{ name: "@ldsg/handler-generator", version: "workspace:*" }],
69
+ },
70
+ },
71
+ ],
72
+ mode: "workspace",
73
+ cwd: "/tmp",
74
+ });
75
+ expect(res).toEqual({ name: "resource" });
76
+ expect(mockedBuildModuleBuilder).toHaveBeenCalledWith({
77
+ code: 'export { createModuleBuilder } from "@ldsg/handler-generator";',
78
+ dependencies: [{ name: "@ldsg/handler-generator", version: "workspace:*" }],
79
+ mode: "workspace",
80
+ cwd: "/tmp",
81
+ });
82
+ });
83
+ //# sourceMappingURL=resolve-module-builder.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-module-builder.test.js","sourceRoot":"","sources":["../../src/__tests__/resolve-module-builder.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const resolve_root_resource_record_1 = require("../commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-root-resource-record");
4
+ const resolve_resource_definition_resource_record_1 = require("../commands/generate/utils/generate-application/utils/build-bootstrap/utils/resource-record/resolve-resource-definition-resource-record");
5
+ const root = {
6
+ id: "root-resource",
7
+ kind: "application",
8
+ parentId: null,
9
+ settings: { slug: "app", title: "App", description: "" },
10
+ };
11
+ test("resolveRootResourceRecord returns the unique root resource", () => {
12
+ expect((0, resolve_root_resource_record_1.resolveRootResourceRecord)([root])).toBe(root);
13
+ });
14
+ test("resolveRootResourceRecord throws when there is no root resource", () => {
15
+ expect(() => (0, resolve_root_resource_record_1.resolveRootResourceRecord)([])).toThrow("root resource not found");
16
+ });
17
+ test("resolveRootResourceRecord throws when there are multiple root resources", () => {
18
+ expect(() => (0, resolve_root_resource_record_1.resolveRootResourceRecord)([root, { ...root, id: "root-resource-2" }])).toThrow("multiple root resources");
19
+ });
20
+ test("resolveResourceDefinitionResourceRecord returns the definition under the root resource", () => {
21
+ const definition = {
22
+ id: "app-definition",
23
+ kind: "resource_definition",
24
+ parentId: root.id,
25
+ settings: { kind: "application", slug: "resource-definition", title: "", description: "" },
26
+ };
27
+ expect((0, resolve_resource_definition_resource_record_1.resolveResourceDefinitionResourceRecord)([root, definition], root.id, "application")).toBe(definition);
28
+ });
29
+ test("resolveResourceDefinitionResourceRecord throws when the definition is missing", () => {
30
+ expect(() => (0, resolve_resource_definition_resource_record_1.resolveResourceDefinitionResourceRecord)([root], root.id, "generator")).toThrow("resource definition not found: generator");
31
+ });
32
+ //# sourceMappingURL=resolve-root.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-root.test.js","sourceRoot":"","sources":["../../src/__tests__/resolve-root.test.ts"],"names":[],"mappings":";;AAAA,2KAAqK;AACrK,yMAAkM;AAElM,MAAM,IAAI,GAAG;IACX,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;CACzD,CAAC;AAEF,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,MAAM,CAAC,IAAA,wDAAyB,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wDAAyB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACnF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wDAAyB,EAAC,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CACzF,yBAAyB,CAC1B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wFAAwF,EAAE,GAAG,EAAE;IAClG,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;KAC3F,CAAC;IAEF,MAAM,CAAC,IAAA,qFAAuC,EAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAC9F,UAAU,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IACzF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,qFAAuC,EAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CACzF,0CAA0C,CAC3C,CAAC;AACJ,CAAC,CAAC,CAAC"}