@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.
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 +46 -0
  5. package/CHANGELOG.md +15 -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/dist/cli.js CHANGED
@@ -1,442 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
3
  Object.defineProperty(exports, "__esModule", { value: true });
37
4
  const fs_1 = require("fs");
38
5
  const path_1 = require("path");
39
- const utils_1 = require("@ldsg/utils");
40
6
  const commander_1 = require("commander");
41
- const constants_1 = require("./constants");
42
- const get_extend_app_data_params_using_npm_ldsg_module_1 = require("./utils/get-extend-app-data-params-using-npm-ldsg-module");
43
- const get_extend_app_data_params_using_workspace_ldsg_module_1 = require("./utils/get-extend-app-data-params-using-workspace-ldsg-module");
44
- const source_resolver_1 = require("./utils/source-resolver");
45
- const formatter_1 = require("./utils/formatter");
46
- const create_1 = require("./commands/resource/create");
47
- const update_1 = require("./commands/resource/update");
48
- const delete_1 = require("./commands/resource/delete");
49
- const list_1 = require("./commands/resource/list");
50
- const get_1 = require("./commands/resource/get");
51
- const diff_1 = require("./commands/resource/diff");
52
- const mutate_1 = require("./commands/resource/mutate");
7
+ const generate_1 = require("./commands/generate");
8
+ const resource_1 = require("./commands/resource");
53
9
  const { version } = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, "..", "package.json"), "utf-8"));
54
10
  const program = new commander_1.Command();
55
11
  program.name("ldsg").description("LDSG CLI tools").version(version);
56
- program
57
- .command("generate")
58
- .aliases(["g", "gen"])
59
- .description("Generate standalone application from resource records")
60
- .option("--app-data-uri <uri>", "runtime app data URI")
61
- .option("--app-data-expression <expression>", "runtime app data expression (jsonata), used to convert source data to standard ldsg resource records")
62
- .option("--using-workspace-ldsg-module", "use workspace ldsg module mode")
63
- .option("--layout <layout>", `app layout: nested or flat (default: flat for workspace mode, nested otherwise)`)
64
- .option("--app-package-name <name>", "app package name (default: @ldsg/app)")
65
- .option("-o, --output <path>", `output directory for prepared app code (default: ${constants_1.DEFAULT_OUTPUT_PATH})`)
66
- .action(async (options) => {
67
- const outputPath = options.output || constants_1.DEFAULT_OUTPUT_PATH;
68
- const usingWorkspaceLdsgModule = options.usingWorkspaceLdsgModule ?? false;
69
- const layout = options.layout === "nested"
70
- ? utils_1.ZipAppDataLayout.NESTED
71
- : options.layout === "flat"
72
- ? utils_1.ZipAppDataLayout.FLAT
73
- : undefined;
74
- if (options.layout && layout === undefined) {
75
- throw new Error(`invalid layout: ${options.layout} (expected nested or flat)`);
76
- }
77
- const { resourceRecords } = await (0, utils_1.loadAppResourceRecords)({
78
- appDataUri: options.appDataUri,
79
- appDataExpression: options.appDataExpression,
80
- });
81
- const appData = { resourceRecords };
82
- let extendAppDataParams;
83
- if (usingWorkspaceLdsgModule) {
84
- extendAppDataParams = await (0, get_extend_app_data_params_using_workspace_ldsg_module_1.getExtendAppDataParamsUsingWorkspaceLdsgModule)({
85
- appData,
86
- ...(layout ? { layout } : {}),
87
- ...(options.appPackageName ? { appPackageName: options.appPackageName } : {}),
88
- outputPath,
89
- });
90
- }
91
- else {
92
- extendAppDataParams = await (0, get_extend_app_data_params_using_npm_ldsg_module_1.getExtendAppDataParamsUsingNpmLdsgModule)({ appData });
93
- }
94
- const extendAppDataRes = (0, utils_1.extendAppData)(extendAppDataParams);
95
- await (0, utils_1.prepare)({
96
- ...extendAppDataRes,
97
- outputPath,
98
- ...(layout ? { layout } : usingWorkspaceLdsgModule ? { layout: utils_1.ZipAppDataLayout.FLAT } : {}),
99
- });
100
- });
101
- const resource = program.command("resource").aliases(["r"]).description("Manage resource records");
102
- resource
103
- .command("list")
104
- .description("List resource records by filter")
105
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
106
- .option("--kind <kind>", "filter by resource kind")
107
- .option("--parent-id <id>", "filter by parent id")
108
- .option("--root-id <id>", "filter by root resource id")
109
- .option("--pretty", "human-readable output")
110
- .action(async (options) => {
111
- try {
112
- const sourceDesc = (0, source_resolver_1.getSourceDescription)(options.source);
113
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
114
- const { total, resources } = await (0, list_1.listResources)(sourceData.resourceRecords, {
115
- kind: options.kind,
116
- parentId: options.parentId,
117
- rootId: options.rootId,
118
- });
119
- if (options.pretty) {
120
- console.log((0, formatter_1.formatPrettyList)(resources.map((r) => ({
121
- id: r.id,
122
- kind: r.kind,
123
- parentId: r.parentId,
124
- title: r.settings?.title,
125
- }))));
126
- }
127
- else {
128
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({ source: sourceDesc, total, resources })));
129
- }
130
- }
131
- catch (error) {
132
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("LIST_ERROR", error.message)));
133
- process.exit(1);
134
- }
135
- });
136
- resource
137
- .command("get <id>")
138
- .description("Get a resource record by id")
139
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
140
- .option("--children", "include direct children")
141
- .option("--tree", "include full subtree")
142
- .option("--pretty", "human-readable output")
143
- .action(async (id, options) => {
144
- try {
145
- const sourceDesc = (0, source_resolver_1.getSourceDescription)(options.source);
146
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
147
- const record = await (0, get_1.getResource)(sourceData.resourceRecords, id, {
148
- children: options.children,
149
- tree: options.tree,
150
- });
151
- if (!record) {
152
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("NOT_FOUND", `Resource with id "${id}" not found`)));
153
- process.exit(1);
154
- }
155
- if (options.pretty) {
156
- console.log((0, formatter_1.formatJson)(record));
157
- }
158
- else {
159
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({ source: sourceDesc, record })));
160
- }
161
- }
162
- catch (error) {
163
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("GET_ERROR", error.message)));
164
- process.exit(1);
165
- }
166
- });
167
- resource
168
- .command("tree [root-id]")
169
- .description("Display resource tree")
170
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
171
- .option("--show-kind", "show resource kind prefix")
172
- .option("--pretty", "human-readable output")
173
- .action(async (rootId, options) => {
174
- try {
175
- const sourceDesc = (0, source_resolver_1.getSourceDescription)(options.source);
176
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
177
- const result = await (0, list_1.getTree)(sourceData.resourceRecords, rootId, options.showKind);
178
- if (options.pretty) {
179
- console.log((0, formatter_1.formatPrettyTree)(result.tree, options.showKind ?? false));
180
- }
181
- else {
182
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({ source: sourceDesc, ...result })));
183
- }
184
- }
185
- catch (error) {
186
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("TREE_ERROR", error.message)));
187
- process.exit(1);
188
- }
189
- });
190
- resource
191
- .command("create")
192
- .description("Create a new resource record")
193
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
194
- .option("--kind <kind>", "resource kind")
195
- .option("--parent-id <id>", "parent resource id")
196
- .option("--settings <json>", "resource settings as JSON string")
197
- .option("--from-file <path>", "read full resource record from JSON file")
198
- .option("--from-stdin", "read full resource record from stdin")
199
- .option("--dry-run", "preview without writing")
200
- .action(async (options) => {
201
- try {
202
- if ((0, source_resolver_1.isStdinSource)(options.source)) {
203
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("STDIN_NOT_WRITABLE", "stdin source does not support write operations")));
204
- process.exit(1);
205
- }
206
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
207
- let fromFileRecord;
208
- if (options.fromFile) {
209
- const fs = await Promise.resolve().then(() => __importStar(require("fs-extra")));
210
- fromFileRecord = await fs.readJson(options.fromFile);
211
- }
212
- else if (options.fromStdin) {
213
- const chunks = [];
214
- process.stdin.setEncoding("utf-8");
215
- for await (const chunk of process.stdin) {
216
- chunks.push(Buffer.from(chunk));
217
- }
218
- const raw = Buffer.concat(chunks).toString("utf-8");
219
- fromFileRecord = JSON.parse(raw);
220
- }
221
- let settings;
222
- if (options.settings) {
223
- settings = JSON.parse(options.settings);
224
- }
225
- const { record } = await (0, create_1.createResource)({
226
- sourceData,
227
- kind: options.kind,
228
- parentId: options.parentId,
229
- settings,
230
- fromFileRecord: fromFileRecord,
231
- dryRun: options.dryRun,
232
- });
233
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({ record, dryRun: options.dryRun ?? false })));
234
- }
235
- catch (error) {
236
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("CREATE_ERROR", error.message)));
237
- process.exit(1);
238
- }
239
- });
240
- resource
241
- .command("update <id>")
242
- .description("Update a resource record")
243
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
244
- .option("--settings <json>", "resource settings to merge (JSON string, required)")
245
- .option("--dry-run", "preview without writing")
246
- .action(async (id, options) => {
247
- try {
248
- if ((0, source_resolver_1.isStdinSource)(options.source)) {
249
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("STDIN_NOT_WRITABLE", "stdin source does not support write operations")));
250
- process.exit(1);
251
- }
252
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
253
- if (!options.settings) {
254
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("MISSING_SETTINGS", "Required option: --settings <json>")));
255
- process.exit(1);
256
- }
257
- const settings = JSON.parse(options.settings);
258
- const { record } = await (0, update_1.updateResource)({
259
- sourceData,
260
- id,
261
- settings,
262
- dryRun: options.dryRun,
263
- });
264
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({ record, dryRun: options.dryRun ?? false })));
265
- }
266
- catch (error) {
267
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("UPDATE_ERROR", error.message)));
268
- process.exit(1);
269
- }
270
- });
271
- resource
272
- .command("delete <id>")
273
- .description("Delete a resource record and its children")
274
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
275
- .option("--dry-run", "preview deletion scope without writing")
276
- .action(async (id, options) => {
277
- try {
278
- if ((0, source_resolver_1.isStdinSource)(options.source)) {
279
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("STDIN_NOT_WRITABLE", "stdin source does not support write operations")));
280
- process.exit(1);
281
- }
282
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
283
- const { removed } = await (0, delete_1.deleteResource)({
284
- sourceData,
285
- id,
286
- dryRun: options.dryRun,
287
- });
288
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({
289
- dryRun: options.dryRun ?? false,
290
- removedCount: removed.length,
291
- removed: removed.map((r) => ({ id: r.id, kind: r.kind })),
292
- })));
293
- }
294
- catch (error) {
295
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("DELETE_ERROR", error.message)));
296
- process.exit(1);
297
- }
298
- });
299
- resource
300
- .command("diff <id>")
301
- .description("Diff a resource between two sources")
302
- .option("--source-a <path>", "first source file (required)")
303
- .option("--source-b <path>", "second source file (required)")
304
- .option("--pretty", "human-readable output")
305
- .action(async (id, options) => {
306
- try {
307
- if (!options.sourceA || !options.sourceB) {
308
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("MISSING_ARGS", "Required options: --source-a, --source-b")));
309
- process.exit(1);
310
- }
311
- const sourceDataA = await (0, source_resolver_1.resolveSource)(options.sourceA);
312
- const sourceDataB = await (0, source_resolver_1.resolveSource)(options.sourceB);
313
- const result = await (0, diff_1.diffResource)({
314
- sourceA: (0, source_resolver_1.getSourceDescription)(options.sourceA),
315
- sourceB: (0, source_resolver_1.getSourceDescription)(options.sourceB),
316
- id,
317
- recordsA: sourceDataA.resourceRecords,
318
- recordsB: sourceDataB.resourceRecords,
319
- });
320
- if (options.pretty) {
321
- console.log((0, formatter_1.formatPrettyDiff)(result));
322
- }
323
- else {
324
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)(result)));
325
- }
326
- }
327
- catch (error) {
328
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("DIFF_ERROR", error.message)));
329
- process.exit(1);
330
- }
331
- });
332
- resource
333
- .command("pull")
334
- .description("Pull resource records from RRM to a local file (read-only)")
335
- .option("--endpoint <url>", "RRM GraphQL endpoint")
336
- .option("--path <regex>", "scope remote records to a path regex (e.g. application id)")
337
- .option("-o, --output <path>", `output file (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
338
- .action(async (options) => {
339
- try {
340
- const result = await (0, mutate_1.pullRemoteResourceRecords)({
341
- endpoint: options.endpoint,
342
- path: options.path,
343
- output: options.output,
344
- });
345
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)(result)));
346
- }
347
- catch (error) {
348
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("PULL_ERROR", error.message)));
349
- process.exit(1);
350
- }
351
- });
352
- async function parseExplicitRecords(value, file) {
353
- if (value && file) {
354
- throw new Error("Cannot use both an inline value and a file for the same record list");
355
- }
356
- let data;
357
- if (file) {
358
- const fs = await Promise.resolve().then(() => __importStar(require("fs-extra")));
359
- data = await fs.readJson(file);
360
- }
361
- else if (value) {
362
- data = JSON.parse(value);
363
- }
364
- else {
365
- return undefined;
366
- }
367
- const list = Array.isArray(data) ? data : [data];
368
- return list.map((record) => (0, mutate_1.purifyResourceRecord)(record));
369
- }
370
- resource
371
- .command("mutate")
372
- .description("Mutate local resource records on RRM via mutateResourceRecords")
373
- .option("--source <path>", `data source (default: ${constants_1.DEFAULT_SOURCE_PATH})`)
374
- .option("--endpoint <url>", "RRM GraphQL endpoint")
375
- .option("--token <token>", "RRM Bearer token (or RRM_ACCESS_TOKEN env)")
376
- .option("--path <regex>", "scope remote records to a path regex (e.g. application id) before splitting")
377
- .option("--no-delete-missing", "do not soft-delete remote-only records (default: soft-delete like console)")
378
- .option("--no-write-back", "do not write server-assigned ids back to the local source file")
379
- .option("--yes", "confirm soft-deletion without prompting")
380
- .option("--dry-run", "preview the plan without sending")
381
- .option("--create <json>", "explicit create records as JSON (skip auto split)")
382
- .option("--update <json>", "explicit update records as JSON (skip auto split)")
383
- .option("--create-file <path>", "explicit create records from JSON file (skip auto split)")
384
- .option("--update-file <path>", "explicit update records from JSON file (skip auto split)")
385
- .action(async (options) => {
386
- try {
387
- const explicitCreate = await parseExplicitRecords(options.create, options.createFile);
388
- const explicitUpdate = await parseExplicitRecords(options.update, options.updateFile);
389
- if (explicitCreate !== undefined || explicitUpdate !== undefined) {
390
- const result = await (0, mutate_1.mutateRecordsDirect)({
391
- endpoint: options.endpoint,
392
- token: options.token,
393
- createResourceRecords: explicitCreate ?? [],
394
- updateResourceRecords: explicitUpdate ?? [],
395
- dryRun: options.dryRun,
396
- });
397
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({
398
- mode: "explicit",
399
- dryRun: result.dryRun,
400
- createCount: result.createCount,
401
- updateCount: result.updateCount,
402
- createdResourceRecords: result.createdResourceRecords,
403
- updatedResourceRecords: result.updatedResourceRecords,
404
- })));
405
- return;
406
- }
407
- if ((0, source_resolver_1.isStdinSource)(options.source)) {
408
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("STDIN_NOT_SUPPORTED", "stdin source is not supported for mutate; use a local JSON file")));
409
- process.exit(1);
410
- }
411
- const sourceData = await (0, source_resolver_1.resolveSource)(options.source);
412
- const result = await (0, mutate_1.mutateResources)({
413
- sourceData,
414
- endpoint: options.endpoint,
415
- token: options.token,
416
- path: options.path,
417
- deleteMissing: options.deleteMissing,
418
- writeBack: options.writeBack,
419
- yes: options.yes,
420
- dryRun: options.dryRun,
421
- });
422
- const { plan } = result;
423
- console.log((0, formatter_1.formatJson)((0, formatter_1.formatSuccess)({
424
- mode: "auto",
425
- dryRun: result.dryRun,
426
- source: (0, source_resolver_1.getSourceDescription)(options.source),
427
- remoteCount: plan.remoteCount,
428
- localCount: plan.localCount,
429
- createCount: plan.createResourceRecords.length,
430
- updateCount: plan.updateResourceRecords.length,
431
- deleteCount: plan.deleteResourceRecords.length,
432
- idMap: result.idMap,
433
- writeBackPath: result.writeBackPath,
434
- })));
435
- }
436
- catch (error) {
437
- console.error((0, formatter_1.formatJson)((0, formatter_1.formatError)("MUTATE_ERROR", error.message)));
438
- process.exit(1);
439
- }
440
- });
12
+ (0, generate_1.registerGenerateCommand)(program);
13
+ (0, resource_1.registerResourceCommand)(program);
441
14
  program.parse(process.argv);
442
15
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,2BAAkC;AAClC,+BAA4B;AAC5B,yCAAoC;AACpC,kDAA8D;AAC9D,kDAA8D;AAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpE,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;AACjC,IAAA,kCAAuB,EAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerGenerateCommand(program: Command): void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerGenerateCommand = registerGenerateCommand;
4
+ const utils_1 = require("@ldsg/utils");
5
+ const constants_1 = require("../../constants");
6
+ const parse_extra_options_1 = require("./utils/parse-extra-options");
7
+ const generate_application_1 = require("./utils/generate-application");
8
+ function registerGenerateCommand(program) {
9
+ program
10
+ .command("generate")
11
+ .aliases(["g", "gen"])
12
+ .description("Generate standalone application from ldsg data source")
13
+ .usage(`[options] [output]\n\n output: output directory for prepared source code, or zip file path when --zip (default: ${constants_1.DEFAULT_OUTPUT_PATH})`)
14
+ .option("--data-uri <uri>", "ldsg source data URI")
15
+ .option("--data-expression <expression>", "ldsg data expression (jsonata), used to convert source data to ldsg data")
16
+ .option("-z, --zip", "write the prepared source code as a zip file")
17
+ .allowUnknownOption(true)
18
+ .action(async (options, command) => {
19
+ const { dataUri, dataExpression, zip: isZip = false } = options;
20
+ const { options: extraOptions, positionals } = (0, parse_extra_options_1.parseExtraOptions)(command.args);
21
+ const outputPath = positionals[positionals.length - 1] ?? constants_1.DEFAULT_OUTPUT_PATH;
22
+ const data = await (0, utils_1.loadData)({
23
+ dataUri,
24
+ dataExpression,
25
+ });
26
+ const generateParams = {
27
+ data,
28
+ outputPath,
29
+ isZip,
30
+ extraOptions,
31
+ };
32
+ await (0, generate_application_1.generateApplication)(generateParams);
33
+ });
34
+ }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate/index.ts"],"names":[],"mappings":";;AAYA,0DAyCC;AArDD,uCAAuC;AAEvC,+CAAsD;AACtD,qEAAgE;AAEhE,uEAAmE;AAOnE,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACrB,WAAW,CAAC,uDAAuD,CAAC;SAGpE,KAAK,CACJ,oHAAoH,+BAAmB,GAAG,CAC3I;SACA,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CACL,gCAAgC,EAChC,0EAA0E,CAC3E;SACA,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,kBAAkB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAGhE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,uCAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,+BAAmB,CAAC;QAE9E,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAQ,EAAC;YAC1B,OAAO;YACP,cAAc;SACf,CAAC,CAAC;QAKH,MAAM,cAAc,GAAmB;YACrC,IAAI;YACJ,UAAU;YACV,KAAK;YACL,YAAY;SACb,CAAC;QAEF,MAAM,IAAA,0CAAmB,EAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Data } from "@ldsg/utils";
2
+ export type ExtraOptions = Record<string, string | number | boolean>;
3
+ export interface GenerateParams {
4
+ data: Data;
5
+ outputPath: string;
6
+ isZip: boolean;
7
+ extraOptions?: ExtraOptions;
8
+ }
9
+ export interface GenerateRes {
10
+ archive: Buffer<ArrayBufferLike>;
11
+ }
12
+ export type Generate = (params: GenerateParams) => Promise<GenerateRes>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate/types/generate.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Generate } from "./generate";
2
+ export interface Generator {
3
+ generate: Generate;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/commands/generate/types/generator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./generate";
2
+ export * from "./generator";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./generate"), exports);
18
+ __exportStar(require("./generator"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/generate/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B"}
@@ -0,0 +1,8 @@
1
+ import { Data } from "@ldsg/utils";
2
+ export type ExtraOptions = Record<string, string | number | boolean>;
3
+ export interface GenerateParams {
4
+ data: Data;
5
+ outputPath: string;
6
+ isZip: boolean;
7
+ extraOptions?: ExtraOptions;
8
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=get-extend-app-data-params.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/generate/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { GenerateParams } from "@ldsg/types";
2
+ interface GenerateApplicationParams extends GenerateParams {
3
+ }
4
+ type GenerateApplication = (params: GenerateApplicationParams) => Promise<void>;
5
+ export declare const generateApplication: GenerateApplication;
6
+ export {};
@@ -0,0 +1,28 @@
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.generateApplication = void 0;
7
+ const utils_1 = require("@ldsg/utils");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const utils_2 = require("./utils");
11
+ const generateApplication = async (params) => {
12
+ const { outputPath, isZip } = params;
13
+ const { metaGenerator } = await (0, utils_2.buildMetaGenerator)(params);
14
+ const { appGenerator } = await (0, utils_2.buildAppGenerator)({ metaGenerator, ...params });
15
+ const generateAppRes = await (0, utils_2.generateApp)({ appGenerator, ...params });
16
+ {
17
+ const { archive } = generateAppRes;
18
+ if (isZip) {
19
+ const zipOutputPath = node_path_1.default.join(outputPath, "app.zip");
20
+ await fs_extra_1.default.outputFile(zipOutputPath, archive);
21
+ }
22
+ else {
23
+ (0, utils_1.extractZipToFolder)({ archive, outputPath });
24
+ }
25
+ }
26
+ };
27
+ exports.generateApplication = generateApplication;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/generate/utils/generate-application/index.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAiD;AACjD,wDAA0B;AAC1B,0DAA6B;AAE7B,mCAA6E;AAatE,MAAM,mBAAmB,GAAwB,KAAK,EAAE,MAAM,EAAE,EAAE;IACvE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAKrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;IAK3D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,yBAAiB,EAAC,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAK/E,MAAM,cAAc,GAAG,MAAM,IAAA,mBAAW,EAAC,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAKtE,CAAC;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAEnC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvD,MAAM,kBAAE,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAA,0BAAkB,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,mBAAmB,uBAgC9B"}