@metaobjectsdev/cli 1.0.8 → 1.0.9-rc.2

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 (58) hide show
  1. package/dist/src/commands/eject.d.ts.map +1 -1
  2. package/dist/src/commands/eject.js +22 -4
  3. package/dist/src/commands/eject.js.map +1 -1
  4. package/dist/src/commands/init.d.ts.map +1 -1
  5. package/dist/src/commands/init.js +0 -3
  6. package/dist/src/commands/init.js.map +1 -1
  7. package/dist/src/commands/migrate.d.ts +1 -1
  8. package/dist/src/commands/migrate.d.ts.map +1 -1
  9. package/dist/src/commands/migrate.js +35 -22
  10. package/dist/src/commands/migrate.js.map +1 -1
  11. package/dist/src/commands/verify.d.ts +12 -0
  12. package/dist/src/commands/verify.d.ts.map +1 -1
  13. package/dist/src/commands/verify.js +102 -20
  14. package/dist/src/commands/verify.js.map +1 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js +5 -2
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/lib/advisory.d.ts +19 -0
  19. package/dist/src/lib/advisory.d.ts.map +1 -1
  20. package/dist/src/lib/advisory.js +27 -0
  21. package/dist/src/lib/advisory.js.map +1 -1
  22. package/dist/src/lib/allow.d.ts +21 -1
  23. package/dist/src/lib/allow.d.ts.map +1 -1
  24. package/dist/src/lib/allow.js +62 -1
  25. package/dist/src/lib/allow.js.map +1 -1
  26. package/dist/src/lib/catalog-listing.d.ts +2 -0
  27. package/dist/src/lib/catalog-listing.d.ts.map +1 -1
  28. package/dist/src/lib/catalog-listing.js +7 -0
  29. package/dist/src/lib/catalog-listing.js.map +1 -1
  30. package/dist/src/lib/file-provider.d.ts +12 -0
  31. package/dist/src/lib/file-provider.d.ts.map +1 -1
  32. package/dist/src/lib/file-provider.js +26 -1
  33. package/dist/src/lib/file-provider.js.map +1 -1
  34. package/dist/src/lib/fk-index-advisory.d.ts +17 -0
  35. package/dist/src/lib/fk-index-advisory.d.ts.map +1 -0
  36. package/dist/src/lib/fk-index-advisory.js +77 -0
  37. package/dist/src/lib/fk-index-advisory.js.map +1 -0
  38. package/dist/src/lib/output.d.ts +9 -0
  39. package/dist/src/lib/output.d.ts.map +1 -1
  40. package/dist/src/lib/output.js +17 -3
  41. package/dist/src/lib/output.js.map +1 -1
  42. package/dist/src/lib/referential-action-advisory.d.ts +14 -0
  43. package/dist/src/lib/referential-action-advisory.d.ts.map +1 -0
  44. package/dist/src/lib/referential-action-advisory.js +38 -0
  45. package/dist/src/lib/referential-action-advisory.js.map +1 -0
  46. package/package.json +10 -10
  47. package/src/commands/eject.ts +25 -4
  48. package/src/commands/init.ts +0 -3
  49. package/src/commands/migrate.ts +32 -24
  50. package/src/commands/verify.ts +108 -18
  51. package/src/index.ts +5 -2
  52. package/src/lib/advisory.ts +33 -0
  53. package/src/lib/allow.ts +66 -2
  54. package/src/lib/catalog-listing.ts +7 -0
  55. package/src/lib/file-provider.ts +27 -1
  56. package/src/lib/fk-index-advisory.ts +112 -0
  57. package/src/lib/output.ts +25 -3
  58. package/src/lib/referential-action-advisory.ts +58 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAuJvE,mEAAmE;AACnE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuR/C,CAAC;AAEF,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiNzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAwJvE,mEAAmE;AACnE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyR/C,CAAC;AAEF,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiNzD"}
package/dist/src/index.js CHANGED
@@ -138,6 +138,8 @@ MIGRATE FLAGS:
138
138
  drop-column,drop-table,type-change,drop-index,drop-fk,
139
139
  drop-check,drop-view,drop-view-cascade,
140
140
  adopt-view,nullable-to-not-null,drop-identity-default
141
+ drop-column DELETES the column's data; for a renamed
142
+ column use --rename-column, which keeps it
141
143
  --on-ambiguous abort|rename|drop-add Default abort
142
144
  --rename-table [schema.]old=new Declare a table rename (repeatable)
143
145
  --rename-column [schema.]table.old=new Declare a column rename; keeps its data (repeatable)
@@ -147,8 +149,7 @@ MIGRATE FLAGS:
147
149
  --yes Skip the --remote --apply confirmation pause
148
150
  --dry-run Print SQL to stdout, don't write
149
151
 
150
- Other commands (ingest, mcp, serve, install-hooks, audit, capture, promote)
151
- ship in later sub-projects. See https://metaobjects.com for docs.
152
+ See https://metaobjects.com for docs.
152
153
  `;
153
154
  /** Focused per-subcommand usage slices shown by `<cmd> --help`. */
154
155
  export const COMMAND_HELP = {
@@ -318,6 +319,8 @@ FLAGS:
318
319
  A bare 'meta verify' also runs an ADVISORY anti-pattern pass: it scans your authored
319
320
  source for hand-rolled aggregates, money-as-float, and CHECK-IN enums and points you
320
321
  at the construct that models them (origin.aggregate / field.currency / field.enum).
322
+ The same pass names every foreign key with no index on its referencing column(s)
323
+ and the index.lookup that would cover it (migrate never adds one on its own).
321
324
  Warnings only — it never fails the build. Opt out with --no-antipatterns or
322
325
  META_NO_ANTIPATTERNS=1.
323
326
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,25 @@ export declare function libraryPrefixRows(findings: readonly {
79
79
  fqn: string;
80
80
  message: string;
81
81
  }[]): AdvisoryFindingRow[];
82
+ /**
83
+ * Unindexed foreign keys in the same row shape. `construct` is `<entity FQN>.<reference>`,
84
+ * the node the author edits to declare the index. There is no line: the finding is about the
85
+ * loaded model, which does not carry source positions.
86
+ */
87
+ export declare function unindexedFkRows(findings: readonly {
88
+ file: string;
89
+ construct: string;
90
+ message: string;
91
+ }[]): AdvisoryFindingRow[];
92
+ /**
93
+ * Relationships on both sides of one FK that disagree on its referential action, in the
94
+ * same row shape. `construct` is `<entity FQN>.<reference>` — the FK, where the fix goes.
95
+ */
96
+ export declare function referentialActionConflictRows(findings: readonly {
97
+ file: string;
98
+ construct: string;
99
+ message: string;
100
+ }[]): AdvisoryFindingRow[];
82
101
  /**
83
102
  * Print a capped run of advisory lines to stderr.
84
103
  *
@@ -1 +1 @@
1
- {"version":3,"file":"advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlE;AAMD,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC,8EAA8E;IAC9E,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAEjE;AAED;;0BAE0B;AAC1B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,kBAAkB,EAAE,CAQ5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAClE,kBAAkB,EAAE,CAQtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,IAAI,CASN"}
1
+ {"version":3,"file":"advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlE;AAMD,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC,8EAA8E;IAC9E,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAEjE;AAED;;0BAE0B;AAC1B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,kBAAkB,EAAE,CAQ5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAClE,kBAAkB,EAAE,CAQtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GACxE,kBAAkB,EAAE,CAQtB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GACxE,kBAAkB,EAAE,CAQtB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,IAAI,CASN"}
@@ -107,6 +107,33 @@ export function libraryPrefixRows(findings) {
107
107
  message: f.message,
108
108
  }));
109
109
  }
110
+ /**
111
+ * Unindexed foreign keys in the same row shape. `construct` is `<entity FQN>.<reference>`,
112
+ * the node the author edits to declare the index. There is no line: the finding is about the
113
+ * loaded model, which does not carry source positions.
114
+ */
115
+ export function unindexedFkRows(findings) {
116
+ return findings.map((f) => ({
117
+ file: f.file,
118
+ line: 0,
119
+ rule: "unindexed-foreign-key",
120
+ construct: f.construct,
121
+ message: f.message,
122
+ }));
123
+ }
124
+ /**
125
+ * Relationships on both sides of one FK that disagree on its referential action, in the
126
+ * same row shape. `construct` is `<entity FQN>.<reference>` — the FK, where the fix goes.
127
+ */
128
+ export function referentialActionConflictRows(findings) {
129
+ return findings.map((f) => ({
130
+ file: f.file,
131
+ line: 0,
132
+ rule: "overridden-referential-action",
133
+ construct: f.construct,
134
+ message: f.message,
135
+ }));
136
+ }
110
137
  // ---------------------------------------------------------------------------
111
138
  // text output
112
139
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"advisory.js","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advisory.js","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { AllowOptions, Change } from "@metaobjectsdev/migrate-ts";
1
+ import type { AllowOptions, Change, ColumnRenameSuggestion } from "@metaobjectsdev/migrate-ts";
2
+ import type { BlockedEntry } from "./output.js";
2
3
  export declare const ALLOW_TOKEN_MAP: Record<string, keyof AllowOptions>;
3
4
  /** Translate parsed `--allow` tokens into the migrate-ts `AllowOptions` shape. */
4
5
  export declare function tokensToAllowOptions(tokens: string[]): AllowOptions;
@@ -8,4 +9,23 @@ export declare function tokensToAllowOptions(tokens: string[]): AllowOptions;
8
9
  * a +/-/~ glyph and a noun (`table`/`column`/…) on top.
9
10
  */
10
11
  export declare function describeChange(c: Change): string;
12
+ /** The `--allow` token that unblocks `c`. migrate-ts picks the permission by what blocked the
13
+ * change (a type change can be blocked by the auto-sequence default it carries), so this only
14
+ * maps that permission back to its CLI token. */
15
+ export declare function allowFlagFor(c: Change): string;
16
+ /** `--rename-column [schema.]table.old=new`, spelled with the pair's real names. */
17
+ export declare function renameColumnFlag(r: ColumnRenameSuggestion): string;
18
+ /**
19
+ * One reportable entry per blocked change. `changes` is the whole diff the blocked ones came
20
+ * from: a blocked drop-column that pairs with an add-column in the same table may be a column
21
+ * the author RENAMED, and `--allow drop-column` would delete its data — so that entry carries
22
+ * the declared-rename flag, which every renderer prints FIRST.
23
+ */
24
+ export declare function blockedEntriesFor(blocked: readonly Change[], changes: readonly Change[]): BlockedEntry[];
25
+ /**
26
+ * The hint for one blocked entry, as the lines a renderer prints in order. A rename-pairable
27
+ * drop leads with the declared rename and names `--allow drop-column` as what deletes the data;
28
+ * every other entry is the one-line `--allow` hint it always was.
29
+ */
30
+ export declare function blockedHintLines(e: BlockedEntry): string[];
11
31
  //# sourceMappingURL=allow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allow.d.ts","sourceRoot":"","sources":["../../../src/lib/allow.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAQvE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,CA2B9D,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CASnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BhD"}
1
+ {"version":3,"file":"allow.d.ts","sourceRoot":"","sources":["../../../src/lib/allow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,CA2B9D,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CASnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAkChD;AAED;;kDAEkD;AAClD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,EAAE,CAcxG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAW1D"}
@@ -1,6 +1,7 @@
1
1
  // Shared destructive-change-permission parsing + change description, used by
2
2
  // both `meta migrate` and `meta verify --db`. Keeping a single copy avoids the
3
3
  // two commands drifting on which `--allow` tokens exist or how a change reads.
4
+ import { allowOptionFor, suggestColumnRenames } from "@metaobjectsdev/migrate-ts";
4
5
  // Map CLI allow tokens → migrate-ts AllowOptions field names.
5
6
  // Exported (not just module-local) so allow-tokens-pinned.test.ts can pin its
6
7
  // key set against ALLOW_TOKENS (args.ts). ALLOW_TOKENS is the *validator* —
@@ -72,10 +73,70 @@ export function describeChange(c) {
72
73
  case "drop-index": return `${c.table} idx ${c.index}`;
73
74
  case "add-fk": return `${c.table} fk ${c.fk.name}`;
74
75
  case "drop-fk": return `${c.table} fk ${c.fk}`;
76
+ case "add-check": return `${c.table} check ${c.check.name} (${c.check.expression})`;
77
+ case "drop-check":
78
+ return c.restore !== undefined
79
+ ? `${c.table} check ${c.check} (${c.restore.expression})`
80
+ : `${c.table} check ${c.check}`;
75
81
  case "create-view": return c.view.name;
76
82
  case "replace-view": return c.view.name;
77
83
  case "drop-view": return c.view;
78
- default: return JSON.stringify(c);
79
84
  }
85
+ // Exhaustive: a new Change kind fails to compile here rather than printing a JSON dump
86
+ // of the change object to a person (which is what a blocked drop-check used to do).
87
+ const unhandled = c;
88
+ return unhandled;
89
+ }
90
+ /** The `--allow` token that unblocks `c`. migrate-ts picks the permission by what blocked the
91
+ * change (a type change can be blocked by the auto-sequence default it carries), so this only
92
+ * maps that permission back to its CLI token. */
93
+ export function allowFlagFor(c) {
94
+ const option = allowOptionFor(c);
95
+ const token = Object.keys(ALLOW_TOKEN_MAP).find((t) => ALLOW_TOKEN_MAP[t] === option);
96
+ return token ?? c.kind;
97
+ }
98
+ /** `--rename-column [schema.]table.old=new`, spelled with the pair's real names. */
99
+ export function renameColumnFlag(r) {
100
+ return `--rename-column ${r.schema !== undefined ? `${r.schema}.` : ""}${r.table}.${r.from}=${r.to}`;
101
+ }
102
+ /**
103
+ * One reportable entry per blocked change. `changes` is the whole diff the blocked ones came
104
+ * from: a blocked drop-column that pairs with an add-column in the same table may be a column
105
+ * the author RENAMED, and `--allow drop-column` would delete its data — so that entry carries
106
+ * the declared-rename flag, which every renderer prints FIRST.
107
+ */
108
+ export function blockedEntriesFor(blocked, changes) {
109
+ const renames = suggestColumnRenames(changes);
110
+ return blocked.map((c) => {
111
+ const entry = { kind: c.kind, description: describeChange(c), allowFlag: allowFlagFor(c) };
112
+ if (c.kind !== "drop-column")
113
+ return entry;
114
+ const r = renames.find((x) => x.from === c.column && x.table === c.table && x.schema === c.schema);
115
+ if (r === undefined)
116
+ return entry;
117
+ return {
118
+ ...entry,
119
+ renameFlag: renameColumnFlag(r),
120
+ renameTo: `${r.table}.${r.to}`,
121
+ ...(r.shapeChange !== undefined ? { shapeChange: r.shapeChange } : {}),
122
+ };
123
+ });
124
+ }
125
+ /**
126
+ * The hint for one blocked entry, as the lines a renderer prints in order. A rename-pairable
127
+ * drop leads with the declared rename and names `--allow drop-column` as what deletes the data;
128
+ * every other entry is the one-line `--allow` hint it always was.
129
+ */
130
+ export function blockedHintLines(e) {
131
+ if (e.renameFlag === undefined) {
132
+ return [`blocked '${e.kind}' on ${e.description} (allow with --allow ${e.allowFlag})`];
133
+ }
134
+ const shape = e.shapeChange !== undefined
135
+ ? ` (its ${e.shapeChange} also changes: rename first with the old shape still declared, then change the shape in a second migration)`
136
+ : "";
137
+ return [
138
+ `${e.description} is dropped and ${e.renameTo ?? "a column"} is added in the same table. If it was renamed, keep its data: re-run with ${e.renameFlag}${shape}`,
139
+ ` (--allow ${e.allowFlag} instead DELETES ${e.description} and all its data)`,
140
+ ];
80
141
  }
81
142
  //# sourceMappingURL=allow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../../src/lib/allow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../../src/lib/allow.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,8 @@ export declare function declaredDepsOf(projectRoot: string): Set<string> | undef
92
92
  * the top of the catalog because this is where an adopter decides what to depend on.
93
93
  */
94
94
  export declare const REFERENCE_HELPER_NOTE: readonly string[];
95
+ /** The footer line explaining the `package-only` row mark. */
96
+ export declare const PACKAGE_ONLY_NOTE: string;
95
97
  /** The human rendering: grouped by layer, because layer is the axis you select by. */
96
98
  export declare function renderCatalogText(rows: CatalogRow[], probed: boolean): string;
97
99
  //# sourceMappingURL=catalog-listing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-listing.d.ts","sourceRoot":"","sources":["../../../src/lib/catalog-listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-listing.d.ts","sourceRoot":"","sources":["../../../src/lib/catalog-listing.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEjE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAAC;QAC5C,SAAS,EAAE,OAAO,CAAC;QACnB,wEAAwE;QACxE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,mDAAmD;QACnD,KAAK,EAAE,OAAO,CAAC;QACf,2FAA2F;QAC3F,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;QAClC,6EAA6E;QAC7E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,2EAA2E;QAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AA+DD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,8EAA8E;IAC9E,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,wDAAwD;IACxD,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9C;;gCAE4B;IAC5B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,gGAAgG;IAChG,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;CAClE;AAkCD,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuE9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,CAO7E;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAYpE;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAG3E;AAeD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,QAES,CAAC;AAExC,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CA4C7E"}
@@ -230,6 +230,9 @@ export const REFERENCE_HELPER_NOTE = [
230
230
  "your repo and the copy is yours to change. What MetaObjects guarantees (migrate, verify,",
231
231
  "render) is not a generator and is not listed here.",
232
232
  ];
233
+ /** The footer line explaining the `package-only` row mark. */
234
+ export const PACKAGE_ONLY_NOTE = "package-only = no reference template ships for it yet, so `meta eject` cannot copy it; " +
235
+ "import it from its package instead.";
233
236
  /** The human rendering: grouped by layer, because layer is the axis you select by. */
234
237
  export function renderCatalogText(rows, probed) {
235
238
  const lines = [];
@@ -249,6 +252,8 @@ export function renderCatalogText(rows, probed) {
249
252
  marks.push(r.framework);
250
253
  if (r.tier === "neutral")
251
254
  marks.push("neutral");
255
+ if (!r.source.ejectable)
256
+ marks.push("package-only");
252
257
  if (r.project?.wired)
253
258
  marks.push("WIRED");
254
259
  if (r.source.owned)
@@ -269,6 +274,8 @@ export function renderCatalogText(rows, probed) {
269
274
  lines.push("");
270
275
  lines.push("`meta eject <name...>` copies a generator into codegen/generators/ and prints");
271
276
  lines.push("the import to add, the entry to wire, and what to install.");
277
+ if (generators.some((r) => !r.source.ejectable))
278
+ lines.push(PACKAGE_ONLY_NOTE);
272
279
  if (!probed) {
273
280
  lines.push("Add --probe to see how many files each would emit for YOUR model.");
274
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-listing.js","sourceRoot":"","sources":["../../../src/lib/catalog-listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-listing.js","sourceRoot":"","sources":["../../../src/lib/catalog-listing.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,17 @@ export declare class FileProvider implements Provider {
3
3
  private readonly baseDir;
4
4
  constructor(baseDir: string);
5
5
  resolve(ref: string): string | undefined;
6
+ /**
7
+ * The file `ref` resolves to, or undefined. `resolve` reads exactly this file, so a
8
+ * diagnostic that names it names the body that was checked.
9
+ */
10
+ pathOf(ref: string): string | undefined;
6
11
  }
12
+ /**
13
+ * The 1-based line of the first mustache tag naming `path` in `text` — `{{path}}`,
14
+ * `{{{path}}}`, `{{& path}}`, `{{#path}}`, `{{^path}}` — trying the full dotted path and then
15
+ * its head segment (a dotted drift is reported on the path, but the tag may open a section on
16
+ * the head). Undefined when no tag matches, e.g. the variable lives in a partial.
17
+ */
18
+ export declare function mustacheTagLine(text: string, path: string): number | undefined;
7
19
  //# sourceMappingURL=file-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/file-provider.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,qBAAa,YAAa,YAAW,QAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAezC"}
1
+ {"version":3,"file":"file-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/file-provider.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,qBAAa,YAAa,YAAW,QAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKxC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAgBxC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9E"}
@@ -14,13 +14,22 @@ export class FileProvider {
14
14
  this.baseDir = baseDir;
15
15
  }
16
16
  resolve(ref) {
17
+ const path = this.pathOf(ref);
18
+ return path === undefined ? undefined : readFileSync(path, "utf8");
19
+ }
20
+ /**
21
+ * The file `ref` resolves to, or undefined. `resolve` reads exactly this file, so a
22
+ * diagnostic that names it names the body that was checked.
23
+ */
24
+ pathOf(ref) {
17
25
  // `group/source` → <baseDir>/group/source<ext>; node:path.join normalizes
18
26
  // the embedded "/" separators for the host OS.
19
27
  for (const ext of EXTENSIONS) {
20
28
  const path = join(this.baseDir, ref) + ext;
21
29
  if (existsSync(path)) {
22
30
  try {
23
- return readFileSync(path, "utf8");
31
+ readFileSync(path, "utf8");
32
+ return path;
24
33
  }
25
34
  catch {
26
35
  // unreadable — fall through and try the next candidate
@@ -30,4 +39,20 @@ export class FileProvider {
30
39
  return undefined;
31
40
  }
32
41
  }
42
+ /**
43
+ * The 1-based line of the first mustache tag naming `path` in `text` — `{{path}}`,
44
+ * `{{{path}}}`, `{{& path}}`, `{{#path}}`, `{{^path}}` — trying the full dotted path and then
45
+ * its head segment (a dotted drift is reported on the path, but the tag may open a section on
46
+ * the head). Undefined when no tag matches, e.g. the variable lives in a partial.
47
+ */
48
+ export function mustacheTagLine(text, path) {
49
+ const esc = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
50
+ const head = path.split(".")[0] ?? path;
51
+ for (const name of path === head ? [path] : [path, head]) {
52
+ const m = new RegExp(`\\{\\{\\{?\\s*[#^&]?\\s*${esc(name)}\\s*\\}`).exec(text);
53
+ if (m !== null)
54
+ return text.slice(0, m.index).split("\n").length;
55
+ }
56
+ return undefined;
57
+ }
33
58
  //# sourceMappingURL=file-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-provider.js","sourceRoot":"","sources":["../../../src/lib/file-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,wCAAwC;AAExC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAU,CAAC;AAEtD,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,OAAO,CAAC,GAAW;QACjB,0EAA0E;QAC1E,+CAA+C;QAC/C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,uDAAuD;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"file-provider.js","sourceRoot":"","sources":["../../../src/lib/file-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,wCAAwC;AAExC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAU,CAAC;AAEtD,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,OAAO,CAAC,GAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAW;QAChB,0EAA0E;QAC1E,+CAA+C;QAC/C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC3B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,uDAAuD;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,2BAA2B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ColumnNamingStrategy, type MetaData } from "@metaobjectsdev/metadata";
2
+ import { type Dialect } from "@metaobjectsdev/migrate-ts";
3
+ export interface UnindexedFkFinding {
4
+ /** The metadata file declaring the entity ("" when the loader recorded none). */
5
+ file: string;
6
+ /** `<entity FQN>.<reference name>`. */
7
+ construct: string;
8
+ message: string;
9
+ }
10
+ export interface UnindexedFkOptions {
11
+ dialect: Dialect;
12
+ columnNamingStrategy: ColumnNamingStrategy;
13
+ /** Skip an entity by FQN — imported (dependency) metadata is not the adopter's to index. */
14
+ skip?: (fqn: string) => boolean;
15
+ }
16
+ export declare function scanForUnindexedForeignKeys(root: MetaData, opts: UnindexedFkOptions): UnindexedFkFinding[];
17
+ //# sourceMappingURL=fk-index-advisory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fk-index-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/fk-index-advisory.ts"],"names":[],"mappings":"AAoBA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,4FAA4F;IAC5F,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACjC;AAkBD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CA+C1G"}
@@ -0,0 +1,77 @@
1
+ // Foreign keys with no index covering their columns — an advisory authoring lint.
2
+ //
3
+ // `meta migrate` emits a FOREIGN KEY constraint for every enforced `identity.reference`
4
+ // and no index on its columns: neither Postgres nor SQLite indexes the referencing side
5
+ // of a foreign key. Every join from the parent, and every ON DELETE cascade / set-null /
6
+ // restrict check from it, then scans the child table. Generating the index automatically
7
+ // would propose a migration to every existing adopter the release it shipped, so this is
8
+ // advice, never a gate: it names each such key and says how to declare the index.
9
+ //
10
+ // Coverage is read off the EXPECTED SCHEMA migrate itself builds (primary key, every
11
+ // `identity.secondary`, every `index.lookup`, every `@unique` field), not re-derived from
12
+ // the metadata — so "covered" means covered in the DDL migrate would emit. An index covers
13
+ // a key when its leading columns are exactly the key's columns, in any order. Expression
14
+ // indexes are not counted; partial ones are (bias to under-flagging).
15
+ import { INDEX_SUBTYPE_LOOKUP, TYPE_INDEX, TYPE_SUBTYPE_SEPARATOR, } from "@metaobjectsdev/metadata/constants";
16
+ import { isMetaObject, resolveColumnName, } from "@metaobjectsdev/metadata";
17
+ import { buildExpectedSchemaWithProvenance, qualifiedDbName, } from "@metaobjectsdev/migrate-ts";
18
+ const INDEX_LOOKUP = `${TYPE_INDEX}${TYPE_SUBTYPE_SEPARATOR}${INDEX_SUBTYPE_LOOKUP}`;
19
+ function covered(table, fkColumns) {
20
+ const want = new Set(fkColumns);
21
+ const prefixes = [
22
+ table.primaryKey,
23
+ ...table.indexes.filter((i) => i.expr === undefined).map((i) => i.columns),
24
+ ];
25
+ return prefixes.some((cols) => cols.length >= want.size && cols.slice(0, want.size).every((c) => want.has(c)));
26
+ }
27
+ function pascal(s) {
28
+ return s.length === 0 ? s : s[0].toUpperCase() + s.slice(1);
29
+ }
30
+ export function scanForUnindexedForeignKeys(root, opts) {
31
+ const { snapshot, provenance } = buildExpectedSchemaWithProvenance(root, {
32
+ dialect: opts.dialect,
33
+ columnNamingStrategy: opts.columnNamingStrategy,
34
+ });
35
+ // ADR-0039: effective children — resolve rather than rely on root being unextended.
36
+ const objectsByFqn = new Map(root.children().filter(isMetaObject).map((o) => [o.resolutionKey(), o]));
37
+ const out = [];
38
+ for (const table of snapshot.tables) {
39
+ const fqn = provenance.get(qualifiedDbName(table));
40
+ if (fqn === undefined || opts.skip?.(fqn) === true)
41
+ continue;
42
+ const entity = objectsByFqn.get(fqn);
43
+ if (entity === undefined)
44
+ continue;
45
+ const files = "files" in entity.source ? entity.source.files : [];
46
+ // A node a shipped library contributed is the library's design, not the adopter's.
47
+ if (files.some((f) => f.startsWith("library:")))
48
+ continue;
49
+ for (const fk of table.foreignKeys) {
50
+ if (covered(table, fk.columns))
51
+ continue;
52
+ // Name the key in the author's terms: the reference and its FIELDS, not columns.
53
+ // A TPH subtype's reference folds into its base's table and is not on `entity`;
54
+ // it is then reported by column, which is still enough to act on.
55
+ const ref = entity.referenceIdentities().find((r) => {
56
+ const cols = r.fields.map((f) => {
57
+ const field = entity.fields().find((x) => x.name === f);
58
+ return field !== undefined ? resolveColumnName(field, opts.columnNamingStrategy) : f;
59
+ });
60
+ return cols.length === fk.columns.length && cols.every((c, i) => c === fk.columns[i]);
61
+ });
62
+ const fields = ref !== undefined ? ref.fields : fk.columns;
63
+ const label = ref !== undefined ? `${entity.name}.${ref.name}` : `${entity.name} (${fk.name})`;
64
+ const indexName = `by${fields.map(pascal).join("")}`;
65
+ const fieldList = fields.length === 1 ? fields[0] : `[${fields.join(", ")}]`;
66
+ out.push({
67
+ file: files[0] ?? "",
68
+ construct: `${fqn}.${ref?.name ?? fk.name}`,
69
+ message: `${label}: foreign key (${fields.join(", ")}) → ${fk.refTable} has no index covering it, ` +
70
+ `so joins from ${fk.refTable} and its ON DELETE checks scan ${table.name}. ` +
71
+ `Declare one on ${entity.name}: ${INDEX_LOOKUP}: { name: ${indexName}, fields: ${fieldList} }`,
72
+ });
73
+ }
74
+ }
75
+ return out;
76
+ }
77
+ //# sourceMappingURL=fk-index-advisory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fk-index-advisory.js","sourceRoot":"","sources":["../../../src/lib/fk-index-advisory.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,15 @@ export interface BlockedEntry {
54
54
  kind: string;
55
55
  description: string;
56
56
  allowFlag: string;
57
+ /**
58
+ * Set on a blocked drop-column that pairs with an add-column in the same table: the exact
59
+ * `--rename-column` flag that keeps the data. Printed BEFORE `--allow`, which deletes it.
60
+ */
61
+ renameFlag?: string;
62
+ /** `table.column` the dropped column may have been renamed to. */
63
+ renameTo?: string;
64
+ /** The shape difference that forces the rename and the reshape into two migrations. */
65
+ shapeChange?: string;
57
66
  }
58
67
  export interface AmbiguousEntry {
59
68
  kind: string;