@metaobjectsdev/cli 1.0.13 → 1.1.1-rc.1
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 +32 -22
- package/dist/bin/meta.js +14 -2
- package/dist/bin/meta.js.map +1 -1
- package/dist/src/commands/docs.d.ts +1 -14
- package/dist/src/commands/docs.d.ts.map +1 -1
- package/dist/src/commands/docs.js +11 -835
- package/dist/src/commands/docs.js.map +1 -1
- package/dist/src/commands/eject.d.ts +24 -1
- package/dist/src/commands/eject.d.ts.map +1 -1
- package/dist/src/commands/eject.js +240 -69
- package/dist/src/commands/eject.js.map +1 -1
- package/dist/src/commands/gen.d.ts +7 -0
- package/dist/src/commands/gen.d.ts.map +1 -1
- package/dist/src/commands/gen.js +91 -21
- package/dist/src/commands/gen.js.map +1 -1
- package/dist/src/commands/generator.js +2 -2
- package/dist/src/commands/generator.js.map +1 -1
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +71 -36
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/migrate.d.ts +1 -1
- package/dist/src/commands/migrate.d.ts.map +1 -1
- package/dist/src/commands/migrate.js +224 -125
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/types.d.ts.map +1 -1
- package/dist/src/commands/types.js +16 -2
- package/dist/src/commands/types.js.map +1 -1
- package/dist/src/commands/upgrade.d.ts.map +1 -1
- package/dist/src/commands/upgrade.js +4 -1
- package/dist/src/commands/upgrade.js.map +1 -1
- package/dist/src/commands/verify.d.ts.map +1 -1
- package/dist/src/commands/verify.js +189 -125
- package/dist/src/commands/verify.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +59 -72
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/agent-context-staleness.d.ts +8 -1
- package/dist/src/lib/agent-context-staleness.d.ts.map +1 -1
- package/dist/src/lib/agent-context-staleness.js +20 -5
- package/dist/src/lib/agent-context-staleness.js.map +1 -1
- package/dist/src/lib/agent-schema.d.ts +9 -0
- package/dist/src/lib/agent-schema.d.ts.map +1 -0
- package/dist/src/lib/agent-schema.js +61 -0
- package/dist/src/lib/agent-schema.js.map +1 -0
- package/dist/src/lib/allow.d.ts +6 -0
- package/dist/src/lib/allow.d.ts.map +1 -1
- package/dist/src/lib/allow.js +49 -5
- package/dist/src/lib/allow.js.map +1 -1
- package/dist/src/lib/anti-patterns.d.ts.map +1 -1
- package/dist/src/lib/anti-patterns.js +4 -2
- package/dist/src/lib/anti-patterns.js.map +1 -1
- package/dist/src/lib/args.d.ts +51 -10
- package/dist/src/lib/args.d.ts.map +1 -1
- package/dist/src/lib/args.js +44 -18
- package/dist/src/lib/args.js.map +1 -1
- package/dist/src/lib/catalog-listing.d.ts +21 -1
- package/dist/src/lib/catalog-listing.d.ts.map +1 -1
- package/dist/src/lib/catalog-listing.js +85 -16
- package/dist/src/lib/catalog-listing.js.map +1 -1
- package/dist/src/lib/catalog.d.ts +30 -0
- package/dist/src/lib/catalog.d.ts.map +1 -1
- package/dist/src/lib/catalog.js +40 -5
- package/dist/src/lib/catalog.js.map +1 -1
- package/dist/src/lib/codegen-drift.d.ts +31 -2
- package/dist/src/lib/codegen-drift.d.ts.map +1 -1
- package/dist/src/lib/codegen-drift.js +109 -4
- package/dist/src/lib/codegen-drift.js.map +1 -1
- package/dist/src/lib/collection-load-options.d.ts +1 -1
- package/dist/src/lib/collection-load-options.d.ts.map +1 -1
- package/dist/src/lib/collection-load-options.js +1 -0
- package/dist/src/lib/collection-load-options.js.map +1 -1
- package/dist/src/lib/config.d.ts +4 -2
- package/dist/src/lib/config.d.ts.map +1 -1
- package/dist/src/lib/config.js +4 -2
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/decimal-precision-advisory.d.ts +10 -0
- package/dist/src/lib/decimal-precision-advisory.d.ts.map +1 -0
- package/dist/src/lib/decimal-precision-advisory.js +34 -0
- package/dist/src/lib/decimal-precision-advisory.js.map +1 -0
- package/dist/src/lib/deprecation-lint.d.ts.map +1 -1
- package/dist/src/lib/deprecation-lint.js +17 -26
- package/dist/src/lib/deprecation-lint.js.map +1 -1
- package/dist/src/lib/docs-removed.d.ts +13 -0
- package/dist/src/lib/docs-removed.d.ts.map +1 -0
- package/dist/src/lib/docs-removed.js +31 -0
- package/dist/src/lib/docs-removed.js.map +1 -0
- package/dist/src/lib/docs-site-eject.d.ts +13 -0
- package/dist/src/lib/docs-site-eject.d.ts.map +1 -0
- package/dist/src/lib/docs-site-eject.js +40 -0
- package/dist/src/lib/docs-site-eject.js.map +1 -0
- package/dist/src/lib/field-lint.d.ts +25 -0
- package/dist/src/lib/field-lint.d.ts.map +1 -0
- package/dist/src/lib/field-lint.js +102 -0
- package/dist/src/lib/field-lint.js.map +1 -0
- package/dist/src/lib/fk-index-advisory.d.ts +1 -2
- package/dist/src/lib/fk-index-advisory.d.ts.map +1 -1
- package/dist/src/lib/fk-index-advisory.js +4 -3
- package/dist/src/lib/fk-index-advisory.js.map +1 -1
- package/dist/src/lib/format.d.ts +7 -0
- package/dist/src/lib/format.d.ts.map +1 -1
- package/dist/src/lib/format.js +13 -0
- package/dist/src/lib/format.js.map +1 -1
- package/dist/src/lib/gen-migrate-advice.d.ts +3 -1
- package/dist/src/lib/gen-migrate-advice.d.ts.map +1 -1
- package/dist/src/lib/gen-migrate-advice.js +3 -4
- package/dist/src/lib/gen-migrate-advice.js.map +1 -1
- package/dist/src/lib/install-set.d.ts +10 -1
- package/dist/src/lib/install-set.d.ts.map +1 -1
- package/dist/src/lib/install-set.js +20 -2
- package/dist/src/lib/install-set.js.map +1 -1
- package/dist/src/lib/load-metaobjects-config.d.ts +13 -11
- package/dist/src/lib/load-metaobjects-config.d.ts.map +1 -1
- package/dist/src/lib/load-metaobjects-config.js +53 -75
- package/dist/src/lib/load-metaobjects-config.js.map +1 -1
- package/dist/src/lib/manifest-ignored-check.d.ts +4 -1
- package/dist/src/lib/manifest-ignored-check.d.ts.map +1 -1
- package/dist/src/lib/manifest-ignored-check.js +9 -4
- package/dist/src/lib/manifest-ignored-check.js.map +1 -1
- package/dist/src/lib/output.d.ts +15 -0
- package/dist/src/lib/output.d.ts.map +1 -1
- package/dist/src/lib/output.js +9 -1
- package/dist/src/lib/output.js.map +1 -1
- package/dist/src/lib/payload-field-tree.d.ts +4 -5
- package/dist/src/lib/payload-field-tree.d.ts.map +1 -1
- package/dist/src/lib/payload-field-tree.js +16 -31
- package/dist/src/lib/payload-field-tree.js.map +1 -1
- package/dist/src/lib/requirement-check.d.ts +7 -0
- package/dist/src/lib/requirement-check.d.ts.map +1 -1
- package/dist/src/lib/requirement-check.js +14 -7
- package/dist/src/lib/requirement-check.js.map +1 -1
- package/dist/src/lib/strict-args.d.ts +28 -0
- package/dist/src/lib/strict-args.d.ts.map +1 -0
- package/dist/src/lib/strict-args.js +49 -0
- package/dist/src/lib/strict-args.js.map +1 -0
- package/dist/src/lib/template-eject.d.ts +108 -0
- package/dist/src/lib/template-eject.d.ts.map +1 -0
- package/dist/src/lib/template-eject.js +438 -0
- package/dist/src/lib/template-eject.js.map +1 -0
- package/dist/src/lib/version.d.ts +9 -0
- package/dist/src/lib/version.d.ts.map +1 -1
- package/dist/src/lib/version.js +15 -0
- package/dist/src/lib/version.js.map +1 -1
- package/package.json +10 -10
- package/src/commands/docs.ts +11 -952
- package/src/commands/eject.ts +318 -73
- package/src/commands/gen.ts +94 -22
- package/src/commands/generator.ts +2 -2
- package/src/commands/init.ts +80 -38
- package/src/commands/migrate.ts +248 -117
- package/src/commands/types.ts +18 -2
- package/src/commands/upgrade.ts +5 -1
- package/src/commands/verify.ts +229 -136
- package/src/index.ts +59 -72
- package/src/lib/agent-context-staleness.ts +20 -5
- package/src/lib/agent-schema.ts +74 -0
- package/src/lib/allow.ts +57 -6
- package/src/lib/anti-patterns.ts +4 -2
- package/src/lib/args.ts +83 -28
- package/src/lib/catalog-listing.ts +105 -25
- package/src/lib/catalog.ts +51 -6
- package/src/lib/codegen-drift.ts +138 -3
- package/src/lib/collection-load-options.ts +2 -1
- package/src/lib/config.ts +5 -3
- package/src/lib/decimal-precision-advisory.ts +50 -0
- package/src/lib/deprecation-lint.ts +16 -24
- package/src/lib/docs-removed.ts +41 -0
- package/src/lib/docs-site-eject.ts +48 -0
- package/src/lib/field-lint.ts +122 -0
- package/src/lib/fk-index-advisory.ts +4 -4
- package/src/lib/format.ts +12 -0
- package/src/lib/gen-migrate-advice.ts +6 -4
- package/src/lib/install-set.ts +20 -1
- package/src/lib/load-metaobjects-config.ts +57 -78
- package/src/lib/manifest-ignored-check.ts +14 -10
- package/src/lib/output.ts +18 -1
- package/src/lib/payload-field-tree.ts +18 -35
- package/src/lib/requirement-check.ts +21 -6
- package/src/lib/strict-args.ts +52 -0
- package/src/lib/template-eject.ts +526 -0
- package/src/lib/version.ts +18 -0
- package/dist/src/lib/docs-drift.d.ts +0 -42
- package/dist/src/lib/docs-drift.d.ts.map +0 -1
- package/dist/src/lib/docs-drift.js +0 -264
- package/dist/src/lib/docs-drift.js.map +0 -1
- package/src/lib/docs-drift.ts +0 -312
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { type GeneratorRegistryEntry } from "@metaobjectsdev/codegen-ts";
|
|
2
|
+
/**
|
|
3
|
+
* The engine package. Its factories are served from a `/generators` subpath rather than
|
|
4
|
+
* its root (the root is the engine plus the primitives an owned generator composes); the
|
|
5
|
+
* framework packages serve theirs from the root. Exported because `eject.ts`'s source
|
|
6
|
+
* table names the same package — one definition per CLI package, not two.
|
|
7
|
+
*/
|
|
8
|
+
export declare const CORE_CODEGEN_PACKAGE = "@metaobjectsdev/codegen-ts";
|
|
2
9
|
/**
|
|
3
10
|
* Which npm package a catalog entry comes from.
|
|
4
11
|
*
|
|
@@ -9,6 +16,29 @@ import { type GeneratorRegistryEntry } from "@metaobjectsdev/codegen-ts";
|
|
|
9
16
|
export declare function packageOf(name: string): string | undefined;
|
|
10
17
|
/** Every `@metaobjectsdev` package that contributes catalog entries. */
|
|
11
18
|
export declare function catalogPackages(): string[];
|
|
19
|
+
/**
|
|
20
|
+
* The module a catalog entry's factory is imported from to run it as shipped — the third
|
|
21
|
+
* element of the slice that registers the name. Undefined for a name no slice registers.
|
|
22
|
+
*/
|
|
23
|
+
export declare function factoryModuleOf(name: string): string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* How one generator reaches a config as shipped: the import line for its factory. The
|
|
26
|
+
* call is not derived here — a factory's options are documented with the generator.
|
|
27
|
+
*/
|
|
28
|
+
export interface GeneratorWiring {
|
|
29
|
+
import: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* How to wire a catalog entry AS SHIPPED: import its factory from the package, no copy.
|
|
33
|
+
*
|
|
34
|
+
* This is the half of "import by default, eject to customize" the catalog owns. The
|
|
35
|
+
* other half is `meta eject`, which prints the import for the owned copy — the symbol is
|
|
36
|
+
* the same in both (gated), so moving between them is one import line.
|
|
37
|
+
*
|
|
38
|
+
* Every entry has one, documentation included (ADR-0034 Amendment 9): there is one way to
|
|
39
|
+
* generate, and an entry is wired the same way whatever it writes.
|
|
40
|
+
*/
|
|
41
|
+
export declare function packagedWiring(entry: GeneratorRegistryEntry): GeneratorWiring | undefined;
|
|
12
42
|
/**
|
|
13
43
|
* The composed catalog, keyed by stable name.
|
|
14
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/lib/catalog.ts"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/lib/catalog.ts"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAC;AAIpC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,+BAA+B,CAAC;AAcjE;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED,wEAAwE;AACxE,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,GAAG,SAAS,CAIzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAC/E,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAiBxC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,EAAE,CAMtD;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE7E"}
|
package/dist/src/lib/catalog.js
CHANGED
|
@@ -15,11 +15,23 @@
|
|
|
15
15
|
import { generatorRegistry, GENERATOR_LAYERS, } from "@metaobjectsdev/codegen-ts";
|
|
16
16
|
import { reactGeneratorRegistry } from "@metaobjectsdev/codegen-ts-react";
|
|
17
17
|
import { tanstackGeneratorRegistry } from "@metaobjectsdev/codegen-ts-tanstack";
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* The engine package. Its factories are served from a `/generators` subpath rather than
|
|
20
|
+
* its root (the root is the engine plus the primitives an owned generator composes); the
|
|
21
|
+
* framework packages serve theirs from the root. Exported because `eject.ts`'s source
|
|
22
|
+
* table names the same package — one definition per CLI package, not two.
|
|
23
|
+
*/
|
|
24
|
+
export const CORE_CODEGEN_PACKAGE = "@metaobjectsdev/codegen-ts";
|
|
25
|
+
/**
|
|
26
|
+
* The slices, in install-boundary order: the engine, then its framework packages. The
|
|
27
|
+
* third element is the module that package serves factories from — a per-package fact
|
|
28
|
+
* declared at registration, so {@link factoryModuleOf} is a lookup and a new slice
|
|
29
|
+
* carries its own fact instead of adding a case to a name-keyed branch.
|
|
30
|
+
*/
|
|
19
31
|
const SLICES = [
|
|
20
|
-
[
|
|
21
|
-
["@metaobjectsdev/codegen-ts-react", reactGeneratorRegistry],
|
|
22
|
-
["@metaobjectsdev/codegen-ts-tanstack", tanstackGeneratorRegistry],
|
|
32
|
+
[CORE_CODEGEN_PACKAGE, generatorRegistry, `${CORE_CODEGEN_PACKAGE}/generators`],
|
|
33
|
+
["@metaobjectsdev/codegen-ts-react", reactGeneratorRegistry, "@metaobjectsdev/codegen-ts-react"],
|
|
34
|
+
["@metaobjectsdev/codegen-ts-tanstack", tanstackGeneratorRegistry, "@metaobjectsdev/codegen-ts-tanstack"],
|
|
23
35
|
];
|
|
24
36
|
/**
|
|
25
37
|
* Which npm package a catalog entry comes from.
|
|
@@ -35,6 +47,29 @@ export function packageOf(name) {
|
|
|
35
47
|
export function catalogPackages() {
|
|
36
48
|
return SLICES.map(([pkg]) => pkg);
|
|
37
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The module a catalog entry's factory is imported from to run it as shipped — the third
|
|
52
|
+
* element of the slice that registers the name. Undefined for a name no slice registers.
|
|
53
|
+
*/
|
|
54
|
+
export function factoryModuleOf(name) {
|
|
55
|
+
return SLICES.find(([, slice]) => name in slice)?.[2];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* How to wire a catalog entry AS SHIPPED: import its factory from the package, no copy.
|
|
59
|
+
*
|
|
60
|
+
* This is the half of "import by default, eject to customize" the catalog owns. The
|
|
61
|
+
* other half is `meta eject`, which prints the import for the owned copy — the symbol is
|
|
62
|
+
* the same in both (gated), so moving between them is one import line.
|
|
63
|
+
*
|
|
64
|
+
* Every entry has one, documentation included (ADR-0034 Amendment 9): there is one way to
|
|
65
|
+
* generate, and an entry is wired the same way whatever it writes.
|
|
66
|
+
*/
|
|
67
|
+
export function packagedWiring(entry) {
|
|
68
|
+
const from = factoryModuleOf(entry.name);
|
|
69
|
+
if (from === undefined)
|
|
70
|
+
return undefined;
|
|
71
|
+
return { import: `import { ${entry.factoryExport} } from "${from}";` };
|
|
72
|
+
}
|
|
38
73
|
/**
|
|
39
74
|
* The composed catalog, keyed by stable name.
|
|
40
75
|
*
|
|
@@ -45,7 +80,7 @@ export function catalogPackages() {
|
|
|
45
80
|
* another.
|
|
46
81
|
*/
|
|
47
82
|
export function composeCatalog() {
|
|
48
|
-
return composeSlices(SLICES);
|
|
83
|
+
return composeSlices(SLICES.map(([pkg, slice]) => [pkg, slice]));
|
|
49
84
|
}
|
|
50
85
|
/**
|
|
51
86
|
* The composition itself, over any slice list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/lib/catalog.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iEAAiE;AACjE,EAAE;AACF,0EAA0E;AAC1E,sFAAsF;AACtF,sFAAsF;AACtF,6DAA6D;AAC7D,EAAE;AACF,0EAA0E;AAC1E,wFAAwF;AACxF,mFAAmF;AACnF,EAAE;AACF,6EAA6E;AAC7E,+CAA+C;AAE/C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/lib/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MetaobjectsGenConfig } from "@metaobjectsdev/codegen-ts";
|
|
1
|
+
import type { MetaobjectsGenConfig, RunGenOpts } from "@metaobjectsdev/codegen-ts";
|
|
2
2
|
import type { MetaData } from "@metaobjectsdev/metadata";
|
|
3
3
|
export interface CodegenDriftResult {
|
|
4
4
|
/** True when the committed output matches a fresh regen exactly. */
|
|
@@ -15,6 +15,12 @@ export interface CodegenDriftResult {
|
|
|
15
15
|
* to end. Two doors asking one question must not answer it twice.
|
|
16
16
|
*/
|
|
17
17
|
handEditedNames: string[];
|
|
18
|
+
/**
|
|
19
|
+
* The subset of `driftedFiles` that no generator emits any more AND that was edited
|
|
20
|
+
* since `meta gen` wrote it, sorted. `meta gen` deletes an untouched orphan but refuses
|
|
21
|
+
* one of these, so prescribing it would loop: the remedy is to delete the file.
|
|
22
|
+
*/
|
|
23
|
+
editedOrphans: string[];
|
|
18
24
|
/**
|
|
19
25
|
* Project-relative paths of generated files that carry a PRESERVED hand edit, sorted:
|
|
20
26
|
* the generated contribution is current (a fresh regen hashes to what we recorded
|
|
@@ -25,6 +31,23 @@ export interface CodegenDriftResult {
|
|
|
25
31
|
* Never overlaps `driftedFiles`.
|
|
26
32
|
*/
|
|
27
33
|
handEdited: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Generated documentation pages the repository git-ignores, and so did not check. Only
|
|
36
|
+
* the directories documentation generators write to are asked: a project that generates
|
|
37
|
+
* many pages and commits a few on purpose is checked on the few it chose. Reported on
|
|
38
|
+
* the pass and the fail line so a gate that checked two of 589 pages cannot read as one
|
|
39
|
+
* that checked them all.
|
|
40
|
+
*/
|
|
41
|
+
docsIgnored: number;
|
|
42
|
+
/**
|
|
43
|
+
* Documentation directories, project-relative, whose every freshly generated page the
|
|
44
|
+
* repository git-ignores. Not compared at all: a project that generates its documentation
|
|
45
|
+
* without committing it passes, as it did when 1.0's `verify --codegen` never looked at
|
|
46
|
+
* documentation.
|
|
47
|
+
*/
|
|
48
|
+
docsIgnoredDirs: string[];
|
|
49
|
+
/** Why git could not be asked which pages are ignored (every page was then checked). */
|
|
50
|
+
docsIgnoreUnavailable?: string;
|
|
28
51
|
/** Set when the gate could not run (e.g. no outDir to compare against). */
|
|
29
52
|
error?: string;
|
|
30
53
|
}
|
|
@@ -41,6 +64,12 @@ export interface CodegenDriftResult {
|
|
|
41
64
|
* never committed because the `meta gen` that produced the committed tree
|
|
42
65
|
* never emitted it either. Undefined ⇒ everything is in scope (byte-identical
|
|
43
66
|
* to a project with no `scope` declared).
|
|
67
|
+
* @param sourceFiles the collection's OWN source files, the same list `meta gen`
|
|
68
|
+
* threads onto `ctx.sourceFiles`. `shared-model` loads them standalone to build its
|
|
69
|
+
* artifact, so without them the regen asked it to publish nothing and this gate
|
|
70
|
+
* failed with "no source files to load" on every project that wires it.
|
|
71
|
+
* @param run what `meta gen` also hands the run and this regen must hand it the same way:
|
|
72
|
+
* the source directories (the docs site loads them) and the agent pages' schema builder.
|
|
44
73
|
*/
|
|
45
|
-
export declare function computeCodegenDrift(config: MetaobjectsGenConfig, metadata: MetaData, projectRoot: string, scope?: (fqn: string) => boolean): Promise<CodegenDriftResult>;
|
|
74
|
+
export declare function computeCodegenDrift(config: MetaobjectsGenConfig, metadata: MetaData, projectRoot: string, scope?: (fqn: string) => boolean, sourceFiles?: readonly string[], run?: Pick<RunGenOpts, "sourceRoots" | "agentSchema">): Promise<CodegenDriftResult>;
|
|
46
75
|
//# sourceMappingURL=codegen-drift.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codegen-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAInF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,EAChC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,EAC/B,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,aAAa,CAAC,GACpD,OAAO,CAAC,kBAAkB,CAAC,CA0Q7B"}
|
|
@@ -30,7 +30,27 @@
|
|
|
30
30
|
import { mkdtempSync, rmSync, existsSync, readFileSync, readdirSync, statSync, cpSync, } from "node:fs";
|
|
31
31
|
import { tmpdir } from "node:os";
|
|
32
32
|
import { join, relative, resolve, isAbsolute } from "node:path";
|
|
33
|
-
import { runGen, contentHash, readGeneratedHash, listGeneratedPaths, NAMES_FILE_SUFFIX, } from "@metaobjectsdev/codegen-ts";
|
|
33
|
+
import { runGen, contentHash, DOCS_TARGET_NAME, readGeneratedHash, listGeneratedPaths, orphanVerdict, NAMES_FILE_SUFFIX, generatorRegistry, normalizeConfig, stableGeneratorName, } from "@metaobjectsdev/codegen-ts";
|
|
34
|
+
import { DEFAULT_TARGET_NAME } from "@metaobjectsdev/codegen-ts/engine";
|
|
35
|
+
import { gitIgnored } from "./git-ignore.js";
|
|
36
|
+
import { toPosix } from "./rel-posix.js";
|
|
37
|
+
/**
|
|
38
|
+
* The output directories a documentation generator writes to, absolute. A generator is
|
|
39
|
+
* documentation when its registry row's layer is `docs`; an owned copy keeps its packaged
|
|
40
|
+
* name, so it is recognised too.
|
|
41
|
+
*/
|
|
42
|
+
function docsOutDirs(config, projectRoot) {
|
|
43
|
+
const dirs = new Set();
|
|
44
|
+
for (const g of normalizeConfig(config).generators) {
|
|
45
|
+
if (generatorRegistry[stableGeneratorName(g, generatorRegistry)]?.layer !== "docs")
|
|
46
|
+
continue;
|
|
47
|
+
const target = g.target ?? DOCS_TARGET_NAME;
|
|
48
|
+
const outDir = target === DEFAULT_TARGET_NAME ? config.outDir : config.targets?.[target]?.outDir;
|
|
49
|
+
if (outDir !== undefined && outDir.length > 0)
|
|
50
|
+
dirs.add(resolve(projectRoot, outDir));
|
|
51
|
+
}
|
|
52
|
+
return dirs;
|
|
53
|
+
}
|
|
34
54
|
/** Collect the committed outDirs declared by the config (default + per-target),
|
|
35
55
|
* resolved against `projectRoot` — a relative outDir (the common, portable,
|
|
36
56
|
* `meta init`-scaffolded shape) must resolve against the project the CLI's
|
|
@@ -78,8 +98,14 @@ function listFiles(dir) {
|
|
|
78
98
|
* never committed because the `meta gen` that produced the committed tree
|
|
79
99
|
* never emitted it either. Undefined ⇒ everything is in scope (byte-identical
|
|
80
100
|
* to a project with no `scope` declared).
|
|
101
|
+
* @param sourceFiles the collection's OWN source files, the same list `meta gen`
|
|
102
|
+
* threads onto `ctx.sourceFiles`. `shared-model` loads them standalone to build its
|
|
103
|
+
* artifact, so without them the regen asked it to publish nothing and this gate
|
|
104
|
+
* failed with "no source files to load" on every project that wires it.
|
|
105
|
+
* @param run what `meta gen` also hands the run and this regen must hand it the same way:
|
|
106
|
+
* the source directories (the docs site loads them) and the agent pages' schema builder.
|
|
81
107
|
*/
|
|
82
|
-
export async function computeCodegenDrift(config, metadata, projectRoot, scope) {
|
|
108
|
+
export async function computeCodegenDrift(config, metadata, projectRoot, scope, sourceFiles, run) {
|
|
83
109
|
const root = isAbsolute(projectRoot) ? projectRoot : resolve(projectRoot);
|
|
84
110
|
// The PROJECT's snapshot manifest, never the temp one built below — that temp
|
|
85
111
|
// manifest only describes the regen that just ran, so it can say nothing about
|
|
@@ -92,7 +118,10 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
|
|
|
92
118
|
driftedFiles: [],
|
|
93
119
|
lines: [],
|
|
94
120
|
handEditedNames: [],
|
|
121
|
+
editedOrphans: [],
|
|
95
122
|
handEdited: [],
|
|
123
|
+
docsIgnored: 0,
|
|
124
|
+
docsIgnoredDirs: [],
|
|
96
125
|
error: "verify --codegen: no outDir configured — cannot locate the committed " +
|
|
97
126
|
"generated output to diff against. Set 'outDir' (and/or per-target " +
|
|
98
127
|
"outDir) in metaobjects.config.ts.",
|
|
@@ -143,33 +172,73 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
|
|
|
143
172
|
// Generate fresh into the temp tree. "overwrite" + "fresh" + a temp
|
|
144
173
|
// gen-state dir guarantees every file is written (no merge/skip), so the
|
|
145
174
|
// temp tree is the canonical "what gen would produce right now".
|
|
146
|
-
await runGen({
|
|
175
|
+
const regen = await runGen({
|
|
147
176
|
config: tempConfig,
|
|
148
177
|
metadata,
|
|
149
178
|
projectRoot: tempRoot,
|
|
150
179
|
genStateDir: join(tempRoot, ".gen-state"),
|
|
151
180
|
mergeStrategy: "overwrite",
|
|
152
181
|
baseline: "fresh",
|
|
182
|
+
// The real project, for a generator that reads its files (`ctx.inputRoot`):
|
|
183
|
+
// `shared-model` takes its default version from the nearest package.json, and an
|
|
184
|
+
// owned generator may read anything. `projectRoot` stays the temp tree, which the
|
|
185
|
+
// owned route and entity generators compute their adapter import against.
|
|
186
|
+
inputRoot: root,
|
|
153
187
|
...(scope !== undefined ? { scope } : {}),
|
|
188
|
+
...(sourceFiles !== undefined ? { sourceFiles } : {}),
|
|
189
|
+
...(run?.sourceRoots !== undefined ? { sourceRoots: run.sourceRoots } : {}),
|
|
190
|
+
...(run?.agentSchema !== undefined ? { agentSchema: run.agentSchema } : {}),
|
|
154
191
|
});
|
|
192
|
+
// Where gen discards hand edits instead of keeping them (handEdits: "overwrite").
|
|
193
|
+
const overwrite = regen.handEditsOverwrite;
|
|
155
194
|
// Diff each committed outDir against its temp mirror.
|
|
156
195
|
const driftedFiles = new Set();
|
|
157
196
|
const lines = [];
|
|
158
197
|
const handEditedNames = new Set();
|
|
159
198
|
const handEdited = new Set();
|
|
199
|
+
const editedOrphans = new Set();
|
|
160
200
|
// Whether we have any record of what we wrote here. With records, the orphan
|
|
161
201
|
// branch below can scope itself to our own output; with none, it cannot tell
|
|
162
202
|
// our stale output from a stranger's file, so the old verdict stands.
|
|
163
203
|
const haveWriteRecords = listGeneratedPaths(projectGenStateDir).length > 0;
|
|
204
|
+
const docsDirs = docsOutDirs(config, root);
|
|
205
|
+
let docsIgnored = 0;
|
|
206
|
+
const docsIgnoredDirs = [];
|
|
207
|
+
let docsIgnoreUnavailable;
|
|
164
208
|
for (const committed of committedDirs) {
|
|
165
209
|
const fresh = tempFor(committed);
|
|
166
210
|
const committedFiles = new Set(listFiles(committed));
|
|
167
211
|
const freshFiles = new Set(listFiles(fresh));
|
|
168
212
|
const all = new Set([...committedFiles, ...freshFiles]);
|
|
213
|
+
// Documentation the project git-ignores is not checked (carried from 1.0's
|
|
214
|
+
// `verify --docs`). Asked of the FRESH set by name, present on disk or not, so the
|
|
215
|
+
// verdict is a property of the repository and not of the machine: a box that ran
|
|
216
|
+
// `meta gen` has every page on disk and a CI runner has the committed few. A TRACKED
|
|
217
|
+
// page is never reported ignored by git, so a committed page is always compared.
|
|
218
|
+
// honourGlobalExcludes: false — a personal ignore file must not change a gate.
|
|
219
|
+
let ignored = new Set();
|
|
220
|
+
if (docsDirs.has(committed) && all.size > 0) {
|
|
221
|
+
const prefix = toPosix(relative(root, committed));
|
|
222
|
+
const fromRoot = (rel) => (prefix === "" ? toPosix(rel) : `${prefix}/${toPosix(rel)}`);
|
|
223
|
+
const lookup = gitIgnored(root, [...all].map(fromRoot), { honourGlobalExcludes: false });
|
|
224
|
+
if ("ignored" in lookup)
|
|
225
|
+
ignored = new Set([...all].map(toPosix).filter((rel) => lookup.ignored.has(fromRoot(rel))));
|
|
226
|
+
else
|
|
227
|
+
docsIgnoreUnavailable = lookup.unavailable;
|
|
228
|
+
const checked = [...freshFiles].filter((rel) => !ignored.has(toPosix(rel)));
|
|
229
|
+
if (freshFiles.size > 0 && checked.length === 0) {
|
|
230
|
+
docsIgnoredDirs.push(relative(root, committed) || ".");
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
169
234
|
for (const rel of [...all].sort()) {
|
|
170
235
|
const relKey = relative(root, join(committed, rel));
|
|
171
236
|
const inCommitted = committedFiles.has(rel);
|
|
172
237
|
const inFresh = freshFiles.has(rel);
|
|
238
|
+
if (ignored.has(toPosix(rel))) {
|
|
239
|
+
docsIgnored++;
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
173
242
|
if (inCommitted && !inFresh) {
|
|
174
243
|
// JURISDICTION, not staleness. A regen not emitting a path means
|
|
175
244
|
// "stale generated output" only for a path we have ever WRITTEN; for
|
|
@@ -184,8 +253,33 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
|
|
|
184
253
|
if (haveWriteRecords && readGeneratedHash(projectGenStateDir, relKey) === undefined) {
|
|
185
254
|
continue;
|
|
186
255
|
}
|
|
256
|
+
const verdict = haveWriteRecords
|
|
257
|
+
? orphanVerdict(regen.orphanSweepJobs ?? [], tempRoot, relative(tempRoot, join(fresh, rel)))
|
|
258
|
+
: undefined;
|
|
259
|
+
if (verdict?.kept === true)
|
|
260
|
+
continue;
|
|
187
261
|
driftedFiles.add(relKey);
|
|
188
|
-
|
|
262
|
+
// `meta gen` deletes an orphan it can prove untouched and REFUSES one edited
|
|
263
|
+
// since it was written, so the remedy differs by which this is. Asked of the
|
|
264
|
+
// same evidence the sweep asks (the recorded hash), so the two cannot disagree.
|
|
265
|
+
// With no write records at all, neither verdict can be proven, so the line
|
|
266
|
+
// stays the plain one.
|
|
267
|
+
if (!haveWriteRecords) {
|
|
268
|
+
lines.push(`- ${relKey} (committed but regen would not emit it)`);
|
|
269
|
+
}
|
|
270
|
+
else if (readGeneratedHash(projectGenStateDir, relKey) === contentHash(readFileSync(join(committed, rel), "utf8"))) {
|
|
271
|
+
lines.push(`- ${relKey} (committed but regen would not emit it; 'meta gen' deletes it)`);
|
|
272
|
+
}
|
|
273
|
+
else if (verdict?.force === true) {
|
|
274
|
+
// The sweep force-deletes an edited orphan here, so gen deletes it.
|
|
275
|
+
lines.push(`- ${relKey} (no generator emits it any more, and it was edited by hand; ` +
|
|
276
|
+
`a force or handEdits: "overwrite" orphan policy owns it, so 'meta gen' deletes it)`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
editedOrphans.add(relKey);
|
|
280
|
+
lines.push(`- ${relKey} (no generator emits it any more, and it was edited by hand: ` +
|
|
281
|
+
`delete it, or move your edits into a file of your own and then delete it)`);
|
|
282
|
+
}
|
|
189
283
|
}
|
|
190
284
|
else if (!inCommitted && inFresh) {
|
|
191
285
|
driftedFiles.add(relKey);
|
|
@@ -235,6 +329,13 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
|
|
|
235
329
|
driftedFiles.add(relKey);
|
|
236
330
|
lines.push(`~ ${relKey} (committed content differs from a fresh regen)`);
|
|
237
331
|
}
|
|
332
|
+
else if (overwrite?.paths.has(join(fresh, rel)) === true) {
|
|
333
|
+
// Its generator says handEdits: "overwrite": `meta gen` replaces the edit
|
|
334
|
+
// with fresh output, so it is drift that gen fixes, not a kept edit.
|
|
335
|
+
driftedFiles.add(relKey);
|
|
336
|
+
lines.push(`~ ${relKey} (edited by hand; its generator sets handEdits: "overwrite", so ` +
|
|
337
|
+
`'meta gen' replaces it with fresh output)`);
|
|
338
|
+
}
|
|
238
339
|
else {
|
|
239
340
|
// The generated contribution is current and the bytes still differ: a
|
|
240
341
|
// hand edit `meta gen` preserved. Not drift, but never silent either.
|
|
@@ -250,7 +351,11 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
|
|
|
250
351
|
driftedFiles: sorted,
|
|
251
352
|
lines,
|
|
252
353
|
handEditedNames: [...handEditedNames].sort(),
|
|
354
|
+
editedOrphans: [...editedOrphans].sort(),
|
|
253
355
|
handEdited: [...handEdited].sort(),
|
|
356
|
+
docsIgnored,
|
|
357
|
+
docsIgnoredDirs,
|
|
358
|
+
...(docsIgnoreUnavailable !== undefined ? { docsIgnoreUnavailable } : {}),
|
|
254
359
|
};
|
|
255
360
|
}
|
|
256
361
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen-drift.js","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codegen-drift.js","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ import type { Collection, LoadMemoryOptions } from "@metaobjectsdev/sdk";
|
|
|
9
9
|
* hand-written shape, so renaming or retyping an option there is a compile
|
|
10
10
|
* error here rather than a silently-dropped key.
|
|
11
11
|
*/
|
|
12
|
-
export declare function collectionLoadOptions(collection: Collection): Required<Pick<LoadMemoryOptions, "files" | "fileIds" | "importedPackages" | "importedNodes" | "libraries">>;
|
|
12
|
+
export declare function collectionLoadOptions(collection: Collection): Required<Pick<LoadMemoryOptions, "files" | "fileIds" | "importedPackages" | "importedNodes" | "libraries" | "physicalNaming">>;
|
|
13
13
|
//# sourceMappingURL=collection-load-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-load-options.d.ts","sourceRoot":"","sources":["../../../src/lib/collection-load-options.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"collection-load-options.d.ts","sourceRoot":"","sources":["../../../src/lib/collection-load-options.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAchI"}
|
|
@@ -20,6 +20,7 @@ export function collectionLoadOptions(collection) {
|
|
|
20
20
|
// threaded by `loadMemoryOptionsFrom`, a SECOND helper, and #333 is on record as the
|
|
21
21
|
// bug where one of the two reached every command and the other reached none.
|
|
22
22
|
libraries: collection.libraries,
|
|
23
|
+
physicalNaming: collection.physicalNaming,
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=collection-load-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-load-options.js","sourceRoot":"","sources":["../../../src/lib/collection-load-options.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAsB;IAEtB,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,mFAAmF;QACnF,mFAAmF;QACnF,gFAAgF;QAChF,qFAAqF;QACrF,6EAA6E;QAC7E,SAAS,EAAE,UAAU,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"collection-load-options.js","sourceRoot":"","sources":["../../../src/lib/collection-load-options.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAsB;IAEtB,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,mFAAmF;QACnF,mFAAmF;QACnF,gFAAgF;QAChF,qFAAqF;QACrF,6EAA6E;QAC7E,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,cAAc,EAAE,UAAU,CAAC,cAAc;KAC1C,CAAC;AACJ,CAAC"}
|
package/dist/src/lib/config.d.ts
CHANGED
|
@@ -41,12 +41,14 @@ export interface ResolvedMigrateConfig {
|
|
|
41
41
|
d1: ResolvedD1Config;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* The migrations directory and
|
|
45
|
-
* `meta gen` needs to word its "now migrate" next step and
|
|
44
|
+
* The migrations directory, dialect and format `meta migrate` would use with no flags — what
|
|
45
|
+
* `meta gen` needs to word its "now migrate" next step and read the committed snapshot the
|
|
46
|
+
* way `meta migrate` reads it.
|
|
46
47
|
*/
|
|
47
48
|
export declare function resolveMigrateDefaults(metaRoot: string): Promise<{
|
|
48
49
|
outDir: string;
|
|
49
50
|
dialect: Dialect | undefined;
|
|
51
|
+
format: MigrateFormat;
|
|
50
52
|
}>;
|
|
51
53
|
export declare function resolveGenConfig(flags: GenFlags): ResolvedGenConfig;
|
|
52
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMjE,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAenE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,qFAAqF;IACrF,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7C,yFAAyF;IACzF,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAmBD
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMjE,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAenE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,qFAAqF;IACrF,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7C,yFAAyF;IACzF,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAmBD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAOlF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1E,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAS3B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAgChC"}
|
package/dist/src/lib/config.js
CHANGED
|
@@ -29,14 +29,16 @@ async function tryLoadConfig(metaRoot) {
|
|
|
29
29
|
// Public resolvers
|
|
30
30
|
// ---------------------------------------------------------------------------
|
|
31
31
|
/**
|
|
32
|
-
* The migrations directory and
|
|
33
|
-
* `meta gen` needs to word its "now migrate" next step and
|
|
32
|
+
* The migrations directory, dialect and format `meta migrate` would use with no flags — what
|
|
33
|
+
* `meta gen` needs to word its "now migrate" next step and read the committed snapshot the
|
|
34
|
+
* way `meta migrate` reads it.
|
|
34
35
|
*/
|
|
35
36
|
export async function resolveMigrateDefaults(metaRoot) {
|
|
36
37
|
const config = await tryLoadConfig(metaRoot);
|
|
37
38
|
return {
|
|
38
39
|
outDir: config?.migrate?.outDir ?? MIGRATE_DEFAULTS.outDir,
|
|
39
40
|
dialect: config?.migrate?.dialect ?? MIGRATE_DEFAULTS.dialect,
|
|
41
|
+
format: config?.migrate?.format ?? MIGRATE_DEFAULTS.format,
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
44
|
export function resolveGenConfig(flags) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAe,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAKzF,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAEnE,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,SAA+B;IAC5C,OAAO,EAAE,SAAgC;IACzC,MAAM,EAAE,SAA0B;IAClC,WAAW,EAAE,OAAgB;IAC7B,KAAK,EAAE,EAAc;CACtB,CAAC;AA+CF,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3F,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type MetaData } from "@metaobjectsdev/metadata";
|
|
2
|
+
/** Significant digits a SQLite or D1 NUMERIC column keeps exactly. */
|
|
3
|
+
export declare const SQLITE_DECIMAL_EXACT_DIGITS = 15;
|
|
4
|
+
export interface DecimalPrecisionOptions {
|
|
5
|
+
/** Skip an entity by FQN — imported (dependency) metadata is not the adopter's to fix. */
|
|
6
|
+
skip?: (fqn: string) => boolean;
|
|
7
|
+
}
|
|
8
|
+
/** One message per `field.decimal` with `@precision` above 15, or [] on any other dialect. */
|
|
9
|
+
export declare function decimalPrecisionWarnings(root: MetaData, dialect: string, opts?: DecimalPrecisionOptions): string[];
|
|
10
|
+
//# sourceMappingURL=decimal-precision-advisory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-precision-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/decimal-precision-advisory.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAElC,sEAAsE;AACtE,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAI9C,MAAM,WAAW,uBAAuB;IACtC,0FAA0F;IAC1F,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACjC;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,uBAA4B,GACjC,MAAM,EAAE,CAoBV"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// ADR-0019 Amendment 1, W4 — the SQLite and D1 tier has no decimal type. A text value with
|
|
2
|
+
// NUMERIC affinity is stored as an INTEGER or REAL, keeping only its first 15 significant
|
|
3
|
+
// digits, so a `field.decimal` declaring `@precision` above 15 is stored lossily.
|
|
4
|
+
// Advisory, never a gate: `meta migrate` warns once per field, on those dialects only.
|
|
5
|
+
import { FIELD_ATTR_PRECISION, FIELD_SUBTYPE_DECIMAL, OBJECT_SUBTYPE_ENTITY, TYPE_FIELD, TYPE_OBJECT, } from "@metaobjectsdev/metadata";
|
|
6
|
+
/** Significant digits a SQLite or D1 NUMERIC column keeps exactly. */
|
|
7
|
+
export const SQLITE_DECIMAL_EXACT_DIGITS = 15;
|
|
8
|
+
const LOSSY_DECIMAL_DIALECTS = ["sqlite", "d1"];
|
|
9
|
+
/** One message per `field.decimal` with `@precision` above 15, or [] on any other dialect. */
|
|
10
|
+
export function decimalPrecisionWarnings(root, dialect, opts = {}) {
|
|
11
|
+
if (!LOSSY_DECIMAL_DIALECTS.includes(dialect))
|
|
12
|
+
return [];
|
|
13
|
+
const out = [];
|
|
14
|
+
for (const obj of root.children()) {
|
|
15
|
+
if (obj.type !== TYPE_OBJECT || obj.subType !== OBJECT_SUBTYPE_ENTITY || obj.isAbstract)
|
|
16
|
+
continue;
|
|
17
|
+
const fqn = obj.resolutionKey();
|
|
18
|
+
if (opts.skip?.(fqn) === true)
|
|
19
|
+
continue;
|
|
20
|
+
// ADR-0039: resolving — fields (and their @precision) inherited via extends count.
|
|
21
|
+
for (const f of obj.children()) {
|
|
22
|
+
if (f.type !== TYPE_FIELD || f.subType !== FIELD_SUBTYPE_DECIMAL)
|
|
23
|
+
continue;
|
|
24
|
+
const precision = f.attr(FIELD_ATTR_PRECISION);
|
|
25
|
+
if (typeof precision !== "number" || precision <= SQLITE_DECIMAL_EXACT_DIGITS)
|
|
26
|
+
continue;
|
|
27
|
+
out.push(`${fqn}.${f.name} is a decimal with @precision ${precision}, but ${dialect} keeps only ` +
|
|
28
|
+
`${SQLITE_DECIMAL_EXACT_DIGITS} significant digits of a decimal (it stores NUMERIC as an integer or ` +
|
|
29
|
+
`a double). Digits beyond the ${SQLITE_DECIMAL_EXACT_DIGITS}th are lost; use Postgres for exact wide decimals.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=decimal-precision-advisory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-precision-advisory.js","sourceRoot":"","sources":["../../../src/lib/decimal-precision-advisory.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,0FAA0F;AAC1F,kFAAkF;AAClF,uFAAuF;AAEvF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAElC,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,MAAM,sBAAsB,GAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAOnE,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CACtC,IAAc,EACd,OAAe,EACf,OAAgC,EAAE;IAElC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,KAAK,qBAAqB,IAAI,GAAG,CAAC,UAAU;YAAE,SAAS;QAClG,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,SAAS;QACxC,mFAAmF;QACnF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,qBAAqB;gBAAE,SAAS;YAC3E,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,2BAA2B;gBAAE,SAAS;YACxF,GAAG,CAAC,IAAI,CACN,GAAG,GAAG,IAAI,CAAC,CAAC,IAAI,iCAAiC,SAAS,SAAS,OAAO,cAAc;gBACtF,GAAG,2BAA2B,uEAAuE;gBACrG,gCAAgC,2BAA2B,oDAAoD,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deprecation-lint.d.ts","sourceRoot":"","sources":["../../../src/lib/deprecation-lint.ts"],"names":[],"mappings":"AAiCA,OAAO,
|
|
1
|
+
{"version":3,"file":"deprecation-lint.d.ts","sourceRoot":"","sources":["../../../src/lib/deprecation-lint.ts"],"names":[],"mappings":"AAiCA,OAAO,EAoBL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AA6OrE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAiBrE"}
|