@jigx/sdk-tools 1.2.0-next.3 → 1.2.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -1
- package/dist/cli.js +83 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrator/converters/app-index.d.ts +53 -0
- package/dist/migrator/converters/app-index.d.ts.map +1 -0
- package/dist/migrator/converters/app-index.js +206 -0
- package/dist/migrator/converters/app-index.js.map +1 -0
- package/dist/migrator/converters/assets.d.ts +7 -0
- package/dist/migrator/converters/assets.d.ts.map +1 -0
- package/dist/migrator/converters/assets.js +58 -0
- package/dist/migrator/converters/assets.js.map +1 -0
- package/dist/migrator/converters/components.d.ts +4 -0
- package/dist/migrator/converters/components.d.ts.map +1 -0
- package/dist/migrator/converters/components.js +7 -0
- package/dist/migrator/converters/components.js.map +1 -0
- package/dist/migrator/converters/databases.d.ts +9 -0
- package/dist/migrator/converters/databases.d.ts.map +1 -0
- package/dist/migrator/converters/databases.js +45 -0
- package/dist/migrator/converters/databases.js.map +1 -0
- package/dist/migrator/converters/datasources.d.ts +46 -0
- package/dist/migrator/converters/datasources.d.ts.map +1 -0
- package/dist/migrator/converters/datasources.js +445 -0
- package/dist/migrator/converters/datasources.js.map +1 -0
- package/dist/migrator/converters/functions.d.ts +13 -0
- package/dist/migrator/converters/functions.d.ts.map +1 -0
- package/dist/migrator/converters/functions.js +444 -0
- package/dist/migrator/converters/functions.js.map +1 -0
- package/dist/migrator/converters/index.d.ts +11 -0
- package/dist/migrator/converters/index.d.ts.map +1 -0
- package/dist/migrator/converters/index.js +9 -0
- package/dist/migrator/converters/index.js.map +1 -0
- package/dist/migrator/converters/scripts.d.ts +10 -0
- package/dist/migrator/converters/scripts.d.ts.map +1 -0
- package/dist/migrator/converters/scripts.js +28 -0
- package/dist/migrator/converters/scripts.js.map +1 -0
- package/dist/migrator/converters/translations.d.ts +5 -0
- package/dist/migrator/converters/translations.d.ts.map +1 -0
- package/dist/migrator/converters/translations.js +25 -0
- package/dist/migrator/converters/translations.js.map +1 -0
- package/dist/migrator/converters/types.d.ts +35 -0
- package/dist/migrator/converters/types.d.ts.map +1 -0
- package/dist/migrator/converters/types.js +2 -0
- package/dist/migrator/converters/types.js.map +1 -0
- package/dist/migrator/errors.d.ts +5 -0
- package/dist/migrator/errors.d.ts.map +1 -0
- package/dist/migrator/errors.js +8 -0
- package/dist/migrator/errors.js.map +1 -0
- package/dist/migrator/index.d.ts +6 -0
- package/dist/migrator/index.d.ts.map +1 -0
- package/dist/migrator/index.js +4 -0
- package/dist/migrator/index.js.map +1 -0
- package/dist/migrator/migrate.d.ts +75 -0
- package/dist/migrator/migrate.d.ts.map +1 -0
- package/dist/migrator/migrate.js +439 -0
- package/dist/migrator/migrate.js.map +1 -0
- package/dist/migrator/module-writer.d.ts +26 -0
- package/dist/migrator/module-writer.d.ts.map +1 -0
- package/dist/migrator/module-writer.js +26 -0
- package/dist/migrator/module-writer.js.map +1 -0
- package/dist/migrator/nodes/action-definition.d.ts +11 -0
- package/dist/migrator/nodes/action-definition.d.ts.map +1 -0
- package/dist/migrator/nodes/action-definition.js +75 -0
- package/dist/migrator/nodes/action-definition.js.map +1 -0
- package/dist/migrator/nodes/app-events.d.ts +29 -0
- package/dist/migrator/nodes/app-events.d.ts.map +1 -0
- package/dist/migrator/nodes/app-events.js +40 -0
- package/dist/migrator/nodes/app-events.js.map +1 -0
- package/dist/migrator/nodes/attach.d.ts +61 -0
- package/dist/migrator/nodes/attach.d.ts.map +1 -0
- package/dist/migrator/nodes/attach.js +174 -0
- package/dist/migrator/nodes/attach.js.map +1 -0
- package/dist/migrator/nodes/builder-access.d.ts +16 -0
- package/dist/migrator/nodes/builder-access.d.ts.map +1 -0
- package/dist/migrator/nodes/builder-access.js +81 -0
- package/dist/migrator/nodes/builder-access.js.map +1 -0
- package/dist/migrator/nodes/codegen.d.ts +33 -0
- package/dist/migrator/nodes/codegen.d.ts.map +1 -0
- package/dist/migrator/nodes/codegen.js +77 -0
- package/dist/migrator/nodes/codegen.js.map +1 -0
- package/dist/migrator/nodes/index.d.ts +6 -0
- package/dist/migrator/nodes/index.d.ts.map +1 -0
- package/dist/migrator/nodes/index.js +6 -0
- package/dist/migrator/nodes/index.js.map +1 -0
- package/dist/migrator/nodes/node-shape.d.ts +39 -0
- package/dist/migrator/nodes/node-shape.d.ts.map +1 -0
- package/dist/migrator/nodes/node-shape.js +65 -0
- package/dist/migrator/nodes/node-shape.js.map +1 -0
- package/dist/migrator/nodes/probe.d.ts +66 -0
- package/dist/migrator/nodes/probe.d.ts.map +1 -0
- package/dist/migrator/nodes/probe.js +46 -0
- package/dist/migrator/nodes/probe.js.map +1 -0
- package/dist/migrator/nodes/rules/action-list.d.ts +4 -0
- package/dist/migrator/nodes/rules/action-list.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/action-list.js +14 -0
- package/dist/migrator/nodes/rules/action-list.js.map +1 -0
- package/dist/migrator/nodes/rules/action-slots.d.ts +13 -0
- package/dist/migrator/nodes/rules/action-slots.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/action-slots.js +35 -0
- package/dist/migrator/nodes/rules/action-slots.js.map +1 -0
- package/dist/migrator/nodes/rules/banner.d.ts +8 -0
- package/dist/migrator/nodes/rules/banner.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/banner.js +34 -0
- package/dist/migrator/nodes/rules/banner.js.map +1 -0
- package/dist/migrator/nodes/rules/custom-component.d.ts +7 -0
- package/dist/migrator/nodes/rules/custom-component.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/custom-component.js +8 -0
- package/dist/migrator/nodes/rules/custom-component.js.map +1 -0
- package/dist/migrator/nodes/rules/dropdown.d.ts +4 -0
- package/dist/migrator/nodes/rules/dropdown.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/dropdown.js +3 -0
- package/dist/migrator/nodes/rules/dropdown.js.map +1 -0
- package/dist/migrator/nodes/rules/execute-entity.d.ts +7 -0
- package/dist/migrator/nodes/rules/execute-entity.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/execute-entity.js +40 -0
- package/dist/migrator/nodes/rules/execute-entity.js.map +1 -0
- package/dist/migrator/nodes/rules/field-row.d.ts +4 -0
- package/dist/migrator/nodes/rules/field-row.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/field-row.js +3 -0
- package/dist/migrator/nodes/rules/field-row.js.map +1 -0
- package/dist/migrator/nodes/rules/index.d.ts +16 -0
- package/dist/migrator/nodes/rules/index.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/index.js +44 -0
- package/dist/migrator/nodes/rules/index.js.map +1 -0
- package/dist/migrator/nodes/rules/list-item.d.ts +7 -0
- package/dist/migrator/nodes/rules/list-item.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/list-item.js +40 -0
- package/dist/migrator/nodes/rules/list-item.js.map +1 -0
- package/dist/migrator/nodes/rules/list.d.ts +4 -0
- package/dist/migrator/nodes/rules/list.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/list.js +7 -0
- package/dist/migrator/nodes/rules/list.js.map +1 -0
- package/dist/migrator/nodes/rules/method-names.d.ts +10 -0
- package/dist/migrator/nodes/rules/method-names.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/method-names.js +33 -0
- package/dist/migrator/nodes/rules/method-names.js.map +1 -0
- package/dist/migrator/nodes/rules/screen-slots.d.ts +10 -0
- package/dist/migrator/nodes/rules/screen-slots.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/screen-slots.js +9 -0
- package/dist/migrator/nodes/rules/screen-slots.js.map +1 -0
- package/dist/migrator/nodes/rules/set-jig-state.d.ts +4 -0
- package/dist/migrator/nodes/rules/set-jig-state.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/set-jig-state.js +9 -0
- package/dist/migrator/nodes/rules/set-jig-state.js.map +1 -0
- package/dist/migrator/nodes/rules/state-key.d.ts +7 -0
- package/dist/migrator/nodes/rules/state-key.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/state-key.js +16 -0
- package/dist/migrator/nodes/rules/state-key.js.map +1 -0
- package/dist/migrator/nodes/rules/summary.d.ts +7 -0
- package/dist/migrator/nodes/rules/summary.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/summary.js +16 -0
- package/dist/migrator/nodes/rules/summary.js.map +1 -0
- package/dist/migrator/nodes/rules/sync-entities.d.ts +7 -0
- package/dist/migrator/nodes/rules/sync-entities.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/sync-entities.js +17 -0
- package/dist/migrator/nodes/rules/sync-entities.js.map +1 -0
- package/dist/migrator/nodes/rules/types.d.ts +35 -0
- package/dist/migrator/nodes/rules/types.d.ts.map +1 -0
- package/dist/migrator/nodes/rules/types.js +7 -0
- package/dist/migrator/nodes/rules/types.js.map +1 -0
- package/dist/migrator/nodes/screen.d.ts +13 -0
- package/dist/migrator/nodes/screen.d.ts.map +1 -0
- package/dist/migrator/nodes/screen.js +403 -0
- package/dist/migrator/nodes/screen.js.map +1 -0
- package/dist/migrator/normalize.d.ts +42 -0
- package/dist/migrator/normalize.d.ts.map +1 -0
- package/dist/migrator/normalize.js +167 -0
- package/dist/migrator/normalize.js.map +1 -0
- package/dist/migrator/project-writer.d.ts +34 -0
- package/dist/migrator/project-writer.d.ts.map +1 -0
- package/dist/migrator/project-writer.js +65 -0
- package/dist/migrator/project-writer.js.map +1 -0
- package/dist/migrator/prune.d.ts +58 -0
- package/dist/migrator/prune.d.ts.map +1 -0
- package/dist/migrator/prune.js +171 -0
- package/dist/migrator/prune.js.map +1 -0
- package/dist/migrator/read-solution.d.ts +38 -0
- package/dist/migrator/read-solution.d.ts.map +1 -0
- package/dist/migrator/read-solution.js +144 -0
- package/dist/migrator/read-solution.js.map +1 -0
- package/dist/migrator/report.d.ts +76 -0
- package/dist/migrator/report.d.ts.map +1 -0
- package/dist/migrator/report.js +53 -0
- package/dist/migrator/report.js.map +1 -0
- package/dist/migrator/ts-printer.d.ts +19 -0
- package/dist/migrator/ts-printer.d.ts.map +1 -0
- package/dist/migrator/ts-printer.js +70 -0
- package/dist/migrator/ts-printer.js.map +1 -0
- package/dist/migrator/verify-entity.d.ts +21 -0
- package/dist/migrator/verify-entity.d.ts.map +1 -0
- package/dist/migrator/verify-entity.js +22 -0
- package/dist/migrator/verify-entity.js.map +1 -0
- package/dist/scaffolder/index.d.ts +1 -0
- package/dist/scaffolder/index.d.ts.map +1 -1
- package/dist/scaffolder/index.js +1 -0
- package/dist/scaffolder/index.js.map +1 -1
- package/dist/scaffolder/templates.d.ts +11 -2
- package/dist/scaffolder/templates.d.ts.map +1 -1
- package/dist/scaffolder/templates.js +7 -3
- package/dist/scaffolder/templates.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isPlainObject } from './normalize.js';
|
|
2
|
+
import { compareText } from './read-solution.js';
|
|
3
|
+
const NODE_TYPE = /^(?:component|action|jig|datasource|widget)\.[A-Za-z0-9-]+$/;
|
|
4
|
+
/** A node is a plain object whose `type` is a typed node type (`component.*`, `action.*`, `jig.*`, …). */
|
|
5
|
+
function isNode(value) {
|
|
6
|
+
return isPlainObject(value) && typeof value.type === 'string' && NODE_TYPE.test(value.type);
|
|
7
|
+
}
|
|
8
|
+
function countDescendantNodes(value) {
|
|
9
|
+
const children = Array.isArray(value)
|
|
10
|
+
? value
|
|
11
|
+
: isPlainObject(value)
|
|
12
|
+
? Object.values(value)
|
|
13
|
+
: [];
|
|
14
|
+
let count = 0;
|
|
15
|
+
for (const child of children) {
|
|
16
|
+
count += (isNode(child) ? 1 : 0) + countDescendantNodes(child);
|
|
17
|
+
}
|
|
18
|
+
return count;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Counts the nodes in a value: nested nodes, plus the value itself when it is a node
|
|
22
|
+
* or when `asRoot` is set (an entity root always counts as one node).
|
|
23
|
+
*/
|
|
24
|
+
export function countNodes(options) {
|
|
25
|
+
const { value, asRoot } = options;
|
|
26
|
+
return (asRoot || isNode(value) ? 1 : 0) + countDescendantNodes(value);
|
|
27
|
+
}
|
|
28
|
+
/** Stable gap order: by relPath, then path, then gapId. */
|
|
29
|
+
export function sortGaps(gaps) {
|
|
30
|
+
return [...gaps].sort((a, b) => compareText(a.location.relPath, b.location.relPath) ||
|
|
31
|
+
compareText(JSON.stringify(a.location.path), JSON.stringify(b.location.path)) ||
|
|
32
|
+
compareText(a.gapId, b.gapId));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Groups gaps by `gapId`, largest first: by skipped nodes, then occurrences, then gapId.
|
|
36
|
+
* Returns at most `limit` entries (all when omitted).
|
|
37
|
+
*/
|
|
38
|
+
export function summarizeGaps(options) {
|
|
39
|
+
const { gaps, limit } = options;
|
|
40
|
+
const byId = new Map();
|
|
41
|
+
for (const { gapId, skippedNodes } of gaps) {
|
|
42
|
+
const totals = byId.get(gapId) ?? { occurrences: 0, skippedNodes: 0 };
|
|
43
|
+
totals.occurrences += 1;
|
|
44
|
+
totals.skippedNodes += skippedNodes;
|
|
45
|
+
byId.set(gapId, totals);
|
|
46
|
+
}
|
|
47
|
+
const summary = [...byId].map(([gapId, totals]) => ({ gapId, ...totals }));
|
|
48
|
+
summary.sort((a, b) => b.skippedNodes - a.skippedNodes ||
|
|
49
|
+
b.occurrences - a.occurrences ||
|
|
50
|
+
compareText(a.gapId, b.gapId));
|
|
51
|
+
return limit === undefined ? summary : summary.slice(0, limit);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/migrator/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prints a string literal.
|
|
3
|
+
*
|
|
4
|
+
* A string with a line feed (and no carriage return, which template literals
|
|
5
|
+
* normalize away) becomes a template literal with `\`, backtick and `${` escaped.
|
|
6
|
+
* Everything else becomes a single-quoted literal.
|
|
7
|
+
*/
|
|
8
|
+
export declare function str(value: string): string;
|
|
9
|
+
/** Prints an object key: bare when it is an identifier, quoted otherwise; `__proto__` stays a data key. */
|
|
10
|
+
export declare function key(name: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Prints a JSON-like value (null, string, number, boolean, array, plain object) as a TS literal.
|
|
13
|
+
*
|
|
14
|
+
* Nested lines are indented relative to `indent`; the first line carries no indent.
|
|
15
|
+
* Object entries whose value is `undefined` are omitted.
|
|
16
|
+
* @throws Error when the value (or a nested value) is not JSON-like
|
|
17
|
+
*/
|
|
18
|
+
export declare function lit(value: unknown, indent?: string): string;
|
|
19
|
+
//# sourceMappingURL=ts-printer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-printer.d.ts","sourceRoot":"","sources":["../../src/migrator/ts-printer.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAczC;AAED,2GAA2G;AAC3G,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxC;AAMD;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,GAAG,MAAM,CAkBvD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Prints JSON-like values as readable TypeScript literals.
|
|
2
|
+
// Multi-line strings (SQL, JSONata) become template literals so they stay readable.
|
|
3
|
+
const IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
4
|
+
function escapeControl(char) {
|
|
5
|
+
return `\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}`;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Prints a string literal.
|
|
9
|
+
*
|
|
10
|
+
* A string with a line feed (and no carriage return, which template literals
|
|
11
|
+
* normalize away) becomes a template literal with `\`, backtick and `${` escaped.
|
|
12
|
+
* Everything else becomes a single-quoted literal.
|
|
13
|
+
*/
|
|
14
|
+
export function str(value) {
|
|
15
|
+
if (value.includes('\n') && !value.includes('\r')) {
|
|
16
|
+
const body = value.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
|
|
17
|
+
return `\`${body}\``;
|
|
18
|
+
}
|
|
19
|
+
const body = value
|
|
20
|
+
.replace(/\\/g, '\\\\')
|
|
21
|
+
.replace(/'/g, "\\'")
|
|
22
|
+
.replace(/\n/g, '\\n')
|
|
23
|
+
.replace(/\r/g, '\\r')
|
|
24
|
+
.replace(/\t/g, '\\t')
|
|
25
|
+
// eslint-disable-next-line no-control-regex -- escapes the remaining C0 controls and DEL
|
|
26
|
+
.replace(/[\u0000-\u001f\u007f]/g, escapeControl);
|
|
27
|
+
return `'${body}'`;
|
|
28
|
+
}
|
|
29
|
+
/** Prints an object key: bare when it is an identifier, quoted otherwise; `__proto__` stays a data key. */
|
|
30
|
+
export function key(name) {
|
|
31
|
+
if (name === '__proto__')
|
|
32
|
+
return `[${str(name)}]`;
|
|
33
|
+
return IDENTIFIER.test(name) ? name : str(name);
|
|
34
|
+
}
|
|
35
|
+
function isPlainObject(value) {
|
|
36
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Prints a JSON-like value (null, string, number, boolean, array, plain object) as a TS literal.
|
|
40
|
+
*
|
|
41
|
+
* Nested lines are indented relative to `indent`; the first line carries no indent.
|
|
42
|
+
* Object entries whose value is `undefined` are omitted.
|
|
43
|
+
* @throws Error when the value (or a nested value) is not JSON-like
|
|
44
|
+
*/
|
|
45
|
+
export function lit(value, indent = '') {
|
|
46
|
+
if (value === null)
|
|
47
|
+
return 'null';
|
|
48
|
+
if (typeof value === 'string')
|
|
49
|
+
return str(value);
|
|
50
|
+
if (typeof value === 'number')
|
|
51
|
+
return Object.is(value, -0) ? '-0' : String(value);
|
|
52
|
+
if (typeof value === 'boolean')
|
|
53
|
+
return String(value);
|
|
54
|
+
const inner = `${indent} `;
|
|
55
|
+
if (Array.isArray(value)) {
|
|
56
|
+
if (value.length === 0)
|
|
57
|
+
return '[]';
|
|
58
|
+
const items = value.map((item) => `${inner}${lit(item, inner)},\n`).join('');
|
|
59
|
+
return `[\n${items}${indent}]`;
|
|
60
|
+
}
|
|
61
|
+
if (isPlainObject(value)) {
|
|
62
|
+
const entries = Object.entries(value).filter(([, item]) => item !== undefined);
|
|
63
|
+
if (entries.length === 0)
|
|
64
|
+
return '{}';
|
|
65
|
+
const items = entries.map(([name, item]) => `${inner}${key(name)}: ${lit(item, inner)},\n`);
|
|
66
|
+
return `{\n${items.join('')}${indent}}`;
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Cannot print ${typeof value} as a TypeScript literal`);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ts-printer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-printer.js","sourceRoot":"","sources":["../../src/migrator/ts-printer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ComparableApplication } from './normalize.js';
|
|
2
|
+
import { type EntityKind } from './read-solution.js';
|
|
3
|
+
export interface VerifyEntityOptions {
|
|
4
|
+
readonly kind: EntityKind;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
/** `toComparable(app.build())`. */
|
|
7
|
+
readonly built: ComparableApplication;
|
|
8
|
+
/** `toComparable(assembleLegacy(prune({ entries, gaps })))`: the pruned legacy. */
|
|
9
|
+
readonly legacy: ComparableApplication;
|
|
10
|
+
}
|
|
11
|
+
export interface VerifyEntityResult {
|
|
12
|
+
readonly equal: boolean;
|
|
13
|
+
/** Top-level keys whose values differ (both sides objects); empty otherwise. */
|
|
14
|
+
readonly differingKeys: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Compares one entity of the built Application with the same entity of the pruned legacy
|
|
18
|
+
* solution. Both sides are already normalized by `toComparable`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function verifyEntity(options: VerifyEntityOptions): VerifyEntityResult;
|
|
21
|
+
//# sourceMappingURL=verify-entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-entity.d.ts","sourceRoot":"","sources":["../../src/migrator/verify-entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAiB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,gFAAgF;IAChF,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAa7E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
import { isPlainObject } from './normalize.js';
|
|
3
|
+
/**
|
|
4
|
+
* Compares one entity of the built Application with the same entity of the pruned legacy
|
|
5
|
+
* solution. Both sides are already normalized by `toComparable`.
|
|
6
|
+
*/
|
|
7
|
+
export function verifyEntity(options) {
|
|
8
|
+
const { kind, id, built, legacy } = options;
|
|
9
|
+
const builtEntity = built[kind]?.[id];
|
|
10
|
+
const legacyEntity = legacy[kind]?.[id];
|
|
11
|
+
if (isDeepStrictEqual(builtEntity, legacyEntity))
|
|
12
|
+
return { equal: true, differingKeys: [] };
|
|
13
|
+
if (!isPlainObject(builtEntity) || !isPlainObject(legacyEntity)) {
|
|
14
|
+
return { equal: false, differingKeys: [] };
|
|
15
|
+
}
|
|
16
|
+
const names = [...new Set([...Object.keys(builtEntity), ...Object.keys(legacyEntity)])];
|
|
17
|
+
const differingKeys = names
|
|
18
|
+
.filter((name) => !isDeepStrictEqual(builtEntity[name], legacyEntity[name]))
|
|
19
|
+
.sort();
|
|
20
|
+
return { equal: false, differingKeys };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=verify-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-entity.js","sourceRoot":"","sources":["../../src/migrator/verify-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAA8B,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAkB1E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;IAC3F,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,aAAa,GAAG,KAAK;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3E,IAAI,EAAE,CAAA;IACT,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;AACxC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { scaffold, ScaffoldError } from './scaffold.js';
|
|
2
2
|
export type { ScaffoldOptions, ScaffoldResult } from './scaffold.js';
|
|
3
|
+
export { gitignore, packageJson, tsconfigJson } from './templates.js';
|
|
3
4
|
export type { ApplicationType, TemplateInputs } from './templates.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffolder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACpE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffolder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/scaffolder/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffolder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffolder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -4,8 +4,17 @@ export interface TemplateInputs {
|
|
|
4
4
|
readonly type: ApplicationType;
|
|
5
5
|
}
|
|
6
6
|
export type ApplicationType = 'app' | 'data';
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Optional project template inputs. Omitted, the scaffolder output is unchanged.
|
|
9
|
+
*/
|
|
10
|
+
export interface ProjectTemplateOptions {
|
|
11
|
+
/** Pins `@jigx/core-sdk` to this exact version instead of the scaffolder range. */
|
|
12
|
+
readonly coreSdkVersion?: string;
|
|
13
|
+
/** Adds `@types/node` to `devDependencies` and `types: ["node"]` to tsconfig. */
|
|
14
|
+
readonly nodeTypes?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function packageJson(inputs: Pick<TemplateInputs, 'applicationName'> & ProjectTemplateOptions): string;
|
|
17
|
+
export declare function tsconfigJson(options?: ProjectTemplateOptions): string;
|
|
9
18
|
export declare function gitignore(): string;
|
|
10
19
|
export declare function readme(inputs: TemplateInputs): string;
|
|
11
20
|
export declare function claudeMd(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAQ5C,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAQ5C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAID,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,sBAAsB,GACvE,MAAM,CAsBR;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAoBzE;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAkCrD;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAQjC;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA2BpD"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
// a release to `latest` (see release.yml) is what moves fresh scaffolds.
|
|
4
4
|
// CLI/core-sdk version drift is accepted per ADR-0003.
|
|
5
5
|
const coreSdkRange = '^1.0.0';
|
|
6
|
+
const nodeTypesRange = '^22.0.0';
|
|
6
7
|
export function packageJson(inputs) {
|
|
7
|
-
const { applicationName } = inputs;
|
|
8
|
+
const { applicationName, coreSdkVersion, nodeTypes = false } = inputs;
|
|
8
9
|
const body = {
|
|
9
10
|
name: applicationName,
|
|
10
11
|
version: '0.0.0',
|
|
@@ -17,15 +18,17 @@ export function packageJson(inputs) {
|
|
|
17
18
|
typecheck: 'tsc --build',
|
|
18
19
|
},
|
|
19
20
|
dependencies: {
|
|
20
|
-
'@jigx/core-sdk': coreSdkRange,
|
|
21
|
+
'@jigx/core-sdk': coreSdkVersion ?? coreSdkRange,
|
|
21
22
|
},
|
|
22
23
|
devDependencies: {
|
|
24
|
+
...(nodeTypes ? { '@types/node': nodeTypesRange } : {}),
|
|
23
25
|
typescript: '^5.9.3',
|
|
24
26
|
},
|
|
25
27
|
};
|
|
26
28
|
return `${JSON.stringify(body, null, 2)}\n`;
|
|
27
29
|
}
|
|
28
|
-
export function tsconfigJson() {
|
|
30
|
+
export function tsconfigJson(options = {}) {
|
|
31
|
+
const { nodeTypes = false } = options;
|
|
29
32
|
const body = {
|
|
30
33
|
compilerOptions: {
|
|
31
34
|
target: 'es2024',
|
|
@@ -39,6 +42,7 @@ export function tsconfigJson() {
|
|
|
39
42
|
noEmit: true,
|
|
40
43
|
isolatedModules: true,
|
|
41
44
|
forceConsistentCasingInFileNames: true,
|
|
45
|
+
...(nodeTypes ? { types: ['node'] } : {}),
|
|
42
46
|
},
|
|
43
47
|
include: ['src/**/*.ts'],
|
|
44
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAQA,wEAAwE;AACxE,+EAA+E;AAC/E,yEAAyE;AACzE,uDAAuD;AACvD,MAAM,YAAY,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffolder/templates.ts"],"names":[],"mappings":"AAQA,wEAAwE;AACxE,+EAA+E;AAC/E,yEAAyE;AACzE,uDAAuD;AACvD,MAAM,YAAY,GAAG,QAAQ,CAAA;AAY7B,MAAM,cAAc,GAAG,SAAS,CAAA;AAEhC,MAAM,UAAU,WAAW,CACzB,MAAwE;IAExE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IACrE,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;SACb;QACD,OAAO,EAAE;YACP,SAAS,EAAE,aAAa;SACzB;QACD,YAAY,EAAE;YACZ,gBAAgB,EAAE,cAAc,IAAI,YAAY;SACjD;QACD,eAAe,EAAE;YACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,UAAU,EAAE,QAAQ;SACrB;KACF,CAAA;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAO,GAA2B,EAAE;IAC/D,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACrC,MAAM,IAAI,GAAG;QACX,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,UAAU;YAC5B,GAAG,EAAE,CAAC,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,gCAAgC,EAAE,IAAI;YACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C;QACD,OAAO,EAAE,CAAC,aAAa,CAAC;KACzB,CAAA;IACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAsB;IAC3C,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/C,OAAO,KAAK,KAAK;;;;wBAIK,eAAe;YAC3B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bf,CAAA;AACD,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO;;;;;;CAMR,CAAA;AACD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAsB;IAC1C,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO;;;WAGE,eAAe;WACf,YAAY;WACZ,IAAI;;;;;WAKJ,YAAY;;;;;;;;;;;;;CAatB,CAAA;AACD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jigx/sdk-tools",
|
|
3
|
-
"version": "1.2.0-next.
|
|
3
|
+
"version": "1.2.0-next.5",
|
|
4
4
|
"description": "Jigx SDK toolkit (jigx CLI) — scaffold, build, and publish Jigx Application projects",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"type": "module",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@clack/prompts": "^0.11.0",
|
|
62
|
+
"@jigx/core-sdk": "1.2.0-next.12",
|
|
62
63
|
"amazon-cognito-identity-js": "^6.3.20",
|
|
63
64
|
"tsx": "^4.23.1",
|
|
64
65
|
"yaml": "^2.9.0"
|