@metaobjectsdev/cli 1.0.10 → 1.0.12

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 (55) hide show
  1. package/dist/src/commands/eject.d.ts.map +1 -1
  2. package/dist/src/commands/eject.js +5 -1
  3. package/dist/src/commands/eject.js.map +1 -1
  4. package/dist/src/commands/fmt.d.ts +2 -0
  5. package/dist/src/commands/fmt.d.ts.map +1 -0
  6. package/dist/src/commands/fmt.js +80 -0
  7. package/dist/src/commands/fmt.js.map +1 -0
  8. package/dist/src/commands/gen.d.ts.map +1 -1
  9. package/dist/src/commands/gen.js +7 -0
  10. package/dist/src/commands/gen.js.map +1 -1
  11. package/dist/src/commands/migrate.d.ts.map +1 -1
  12. package/dist/src/commands/migrate.js +1 -0
  13. package/dist/src/commands/migrate.js.map +1 -1
  14. package/dist/src/commands/verify.d.ts.map +1 -1
  15. package/dist/src/commands/verify.js +74 -1
  16. package/dist/src/commands/verify.js.map +1 -1
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/index.js +76 -0
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/lib/args.d.ts +36 -0
  21. package/dist/src/lib/args.d.ts.map +1 -1
  22. package/dist/src/lib/args.js +20 -0
  23. package/dist/src/lib/args.js.map +1 -1
  24. package/dist/src/lib/deprecation-lint.d.ts +11 -0
  25. package/dist/src/lib/deprecation-lint.d.ts.map +1 -0
  26. package/dist/src/lib/deprecation-lint.js +273 -0
  27. package/dist/src/lib/deprecation-lint.js.map +1 -0
  28. package/dist/src/lib/fk-index-advisory.d.ts.map +1 -1
  29. package/dist/src/lib/fk-index-advisory.js +4 -1
  30. package/dist/src/lib/fk-index-advisory.js.map +1 -1
  31. package/dist/src/lib/fmt-engine.d.ts +22 -0
  32. package/dist/src/lib/fmt-engine.d.ts.map +1 -0
  33. package/dist/src/lib/fmt-engine.js +128 -0
  34. package/dist/src/lib/fmt-engine.js.map +1 -0
  35. package/dist/src/lib/name-lint.d.ts +12 -0
  36. package/dist/src/lib/name-lint.d.ts.map +1 -0
  37. package/dist/src/lib/name-lint.js +95 -0
  38. package/dist/src/lib/name-lint.js.map +1 -0
  39. package/dist/src/lib/runtime-boundary-advisory.d.ts +24 -0
  40. package/dist/src/lib/runtime-boundary-advisory.d.ts.map +1 -0
  41. package/dist/src/lib/runtime-boundary-advisory.js +47 -0
  42. package/dist/src/lib/runtime-boundary-advisory.js.map +1 -0
  43. package/package.json +10 -10
  44. package/src/commands/eject.ts +6 -1
  45. package/src/commands/fmt.ts +90 -0
  46. package/src/commands/gen.ts +9 -0
  47. package/src/commands/migrate.ts +1 -0
  48. package/src/commands/verify.ts +90 -1
  49. package/src/index.ts +76 -0
  50. package/src/lib/args.ts +47 -0
  51. package/src/lib/deprecation-lint.ts +327 -0
  52. package/src/lib/fk-index-advisory.ts +4 -1
  53. package/src/lib/fmt-engine.ts +179 -0
  54. package/src/lib/name-lint.ts +106 -0
  55. package/src/lib/runtime-boundary-advisory.ts +74 -0
@@ -108,6 +108,22 @@ export function parseExportArgs(argv) {
108
108
  out: values.out,
109
109
  };
110
110
  }
111
+ /** The flag table `parseFmtArgs` parses. Exported so the help text can be gated against it. */
112
+ export const FMT_OPTIONS = {
113
+ check: { type: "boolean", default: false },
114
+ };
115
+ export function parseFmtArgs(argv) {
116
+ const { values, positionals } = parseArgs({
117
+ args: argv,
118
+ options: FMT_OPTIONS,
119
+ strict: true,
120
+ allowPositionals: true,
121
+ });
122
+ return {
123
+ check: !!values.check,
124
+ files: positionals,
125
+ };
126
+ }
111
127
  // ---------------------------------------------------------------------------
112
128
  // shared DB-connection vocab (used by both verify --db and migrate)
113
129
  // ---------------------------------------------------------------------------
@@ -190,6 +206,8 @@ export const VERIFY_OPTIONS = {
190
206
  "no-antipatterns": { type: "boolean", default: false },
191
207
  "no-requirement-lint": { type: "boolean", default: false },
192
208
  "no-overlay-lint": { type: "boolean", default: false },
209
+ "no-name-lint": { type: "boolean", default: false },
210
+ "no-deprecation-lint": { type: "boolean", default: false },
193
211
  lax: { type: "boolean", default: false },
194
212
  "d1": { type: "string" },
195
213
  "remote": { type: "boolean", default: false },
@@ -263,6 +281,8 @@ export function parseVerifyArgs(argv) {
263
281
  noAntipatterns: !!values["no-antipatterns"],
264
282
  noRequirementLint: !!values["no-requirement-lint"],
265
283
  noOverlayLint: !!values["no-overlay-lint"],
284
+ noNameLint: !!values["no-name-lint"],
285
+ noDeprecationLint: !!values["no-deprecation-lint"],
266
286
  lax: !!values.lax,
267
287
  d1: values.d1,
268
288
  remote: !!values.remote,
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAoBnD,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACjD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACnD,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAChD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACnD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAChD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CAC1C,CAAC;AAEX,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QACrC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;QACf,OAAO,EAAG,MAAM,CAAC,MAA+B,IAAI,EAAE;QACtD,OAAO,EAAG,MAAM,CAAC,MAA+B,IAAI,EAAE;QACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/B,QAAQ,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;KACpC,CAAC;AACJ,CAAC;AAcD,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1C,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAChD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CAC3C,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAG,MAAM,CAAC,MAA+B,IAAI,EAAE;QACtD,OAAO,EAAG,MAAM,CAAC,MAA+B,IAAI,EAAE;QACtD,GAAG,EAAE,MAAM,CAAC,GAAyB;QACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/B,QAAQ,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;KAClC,CAAC;AACJ,CAAC;AAgCD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC5C,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACtD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnB,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,QAA8B,CAAC;IAC1D,IACE,WAAW,KAAK,SAAS;QACzB,WAAW,KAAK,SAAS;QACzB,WAAW,KAAK,OAAO;QACvB,WAAW,KAAK,OAAO,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uBAAuB,WAAW,2CAA2C,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAG,WAAyD,IAAI,SAAS;QACjF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC3C,8EAA8E;QAC9E,gCAAgC;QAChC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAA2B,CAAC;KAC9D,CAAC;AACJ,CAAC;AAUD,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACf,CAAC;AAEX,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAC;AACJ,CAAC;AAaD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CAClC,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAU,CAAC;AAGvD;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAA2B;IACtD,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAkB,CAAC;QAAE,OAAO;IAC3E,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,sEAAsE;YACpE,+FAA+F;YAC/F,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAG9D,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,aAAa;IACb,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,SAAS;IACT,yEAAyE;IACzE,2EAA2E;IAC3E,kEAAkE;IAClE,YAAY;IACZ,WAAW;IACX,oEAAoE;IACpE,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,mBAAmB;IACnB,8EAA8E;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,kEAAkE;IAClE,YAAY;IACZ,sBAAsB;IACtB,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,2DAA2D;IAC3D,uBAAuB;IACvB,yEAAyE;IACzE,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,yEAAyE;IACzE,gBAAgB;CACR,CAAC;AA2IX,kGAAkG;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC5C,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACxD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACzC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC3C,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACtD,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACtD,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1D,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACtD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACnD,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1D,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnB,CAAC;AAEX;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,GAAkC;IAC1D,MAAM,WAAW,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAiB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAiB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;IACrD,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAsC,CAAC,CAAC;IAEpF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACjC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACtD,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/B,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,WAAW,GACf,SAAS,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,IAAI,cAAc,CAAC;IAElH,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,MAAM,CAAC,EAAwB;QACnC,OAAO,EAAE,OAA8B;QACvC,KAAK,EAAE,WAA2B;QAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACnC,SAAS;QACT,OAAO;QACP,eAAe;QACf,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,cAAc;QACd,WAAW;QACX,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAClD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAClD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;QACjB,EAAE,EAAE,MAAM,CAAC,EAAwB;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QACvB,8EAA8E;QAC9E,2CAA2C;QAC3C,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAA2B,CAAC;KAC9D,CAAC;AACJ,CAAC;AAaD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnB,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,IAAc;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAkC9D,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAClC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CAClC,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC;IACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC;IAC5H,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6B,CAAC;IACrD,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,8EAA8E;IAC9E,qFAAqF;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAuB,CAAC;IAChE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAuB,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,gBAAgB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAuB,CAAC;IAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAoB,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAsC,CAAC,CAAC;IAEpF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAwB;QACnC,OAAO,EAAE,OAA8B;QACvC,MAAM,EAAE,MAAmC;QAC3C,MAAM,EAAE,MAAM,CAAC,SAAS,CAAuB;QAC/C,IAAI,EAAE,MAAM,CAAC,IAA0B;QACvC,KAAK,EAAE,WAA2B;QAClC,WAAW,EAAE,KAAgC;QAC7C,OAAO,EAAE;YACP,GAAG,CAAE,MAAM,CAAC,cAAc,CAA0B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACjF,GAAG,CAAE,MAAM,CAAC,eAAe,CAA0B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;SACpF;QACD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC,EAAwB;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QACrB,QAAQ,EAAE,MAAM,CAAC,QAA8B;QAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,gBAAgB,CAAC,CAAS;IACjC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACzG,CAAC;AAED,8FAA8F;AAC9F,SAAS,iBAAiB,CAAC,CAAS;IAClC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACvD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,CAAS,EAAE,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,OAAe;IAExE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;WAC5E,IAAI,CAAC,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAoBD,iGAAiG;AACjG,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CACpC,CAAC;AAEX,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,2CAA2C,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAWD,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAaxE;;;;;;gEAMgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CACtC,CAAC;AAEX,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC;IAC3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAyB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,uBAAuB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,UAAyB;QAClC,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type MetaData } from "@metaobjectsdev/metadata";
2
+ import type { Diagnostic } from "./requirement-check.js";
3
+ export declare const WARN_DEPRECATED_REFERENCE = "WARN_DEPRECATED_REFERENCE";
4
+ /**
5
+ * Lint the loaded model for references INTO a `deprecated` node, across every
6
+ * reference kind the metamodel resolves: `extends`, `@objectRef`, `@references`,
7
+ * and an origin's `@from` / `@of` / `@via`. Returns `[]` for a model with no
8
+ * `deprecated` attr anywhere reachable from a reference (additive, opt-in).
9
+ */
10
+ export declare function lintDeprecatedReferences(root: MetaData): Diagnostic[];
11
+ //# sourceMappingURL=deprecation-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecation-lint.d.ts","sourceRoot":"","sources":["../../../src/lib/deprecation-lint.ts"],"names":[],"mappings":"AAiCA,OAAO,EAmBL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAsPrE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAiBrE"}
@@ -0,0 +1,273 @@
1
+ // `meta verify` — the deprecated-REFERENCE authoring lint (#305).
2
+ //
3
+ // `deprecated` / `replacedBy` are registered documentation common-attrs in every
4
+ // port (doc-provider.ts) and nothing reads them: no validation pass, no `verify`
5
+ // check, no codegen behavior. A deprecation you cannot enforce is a comment.
6
+ //
7
+ // Smallest useful version (approved scope): warn when a node DEPENDS on a node
8
+ // carrying `deprecated`, through the reference kinds the metamodel already has —
9
+ // `extends`, `@objectRef`, `@references`, and an origin's `@from` / `@of` / `@via`
10
+ // path. Where the deprecated node also carries `replacedBy`, the diagnostic names
11
+ // the replacement. Never fails the build — ADVISORY ONLY, the same discipline as
12
+ // every sibling authoring lint in this directory (name-lint.ts, overlay-lint.ts,
13
+ // requirement-lint.ts).
14
+ //
15
+ // Explicitly NOT in scope here (tracked separately): a deprecation DATE that
16
+ // escalates warn -> error once passed, and per-finding suppressions with a
17
+ // recorded reason (#302) — both need their own design.
18
+ //
19
+ // SELF-REFERENCE IS NOT A FINDING, but ONLY the literal case: the same node, or
20
+ // one of the node's own ANCESTORS (the recursive-FK shape: `Category.parentId`
21
+ // is a child of `Category` and points back at `Category` itself — not a
22
+ // dependency on a different thing, it IS the deprecated thing). A DIFFERENT
23
+ // node that merely happens to live under the same entity — e.g. a passthrough
24
+ // field reading a DEPRECATED SIBLING field on its own entity — is a real
25
+ // cross-node dependency and DOES warn; sharing an ancestor is not sharing an
26
+ // identity. Guarded by `isSelfReference` below.
27
+ //
28
+ // Resolution reads the LOADED, FROZEN model only, via the RESOLVING accessors
29
+ // (ADR-0039: `attr()`, `children()`, `superData`) — so a target that inherits
30
+ // `deprecated` from its own abstract base still counts, and a reference
31
+ // inherited through `extends` is reported once, at its declaration
32
+ // (`ownChildren()`, the same sanctioned case name-lint.ts uses).
33
+ import { DOC_ATTR_DEPRECATED, DOC_ATTR_REPLACED_BY, TYPE_FIELD, TYPE_IDENTITY, TYPE_RELATIONSHIP, TYPE_ORIGIN, IDENTITY_SUBTYPE_REFERENCE, IDENTITY_REFERENCE_ATTR_REFERENCES, RELATIONSHIP_ATTR_OBJECT_REF, FIELD_ATTR_OBJECT_REF,
34
+ // @via is spelled identically on every origin subtype (passthrough / aggregate /
35
+ // first); @of is identical on aggregate and first. One constant each, reused —
36
+ // see origin-constants.ts.
37
+ ORIGIN_PASSTHROUGH_ATTR_FROM, ORIGIN_PASSTHROUGH_ATTR_VIA, ORIGIN_AGGREGATE_ATTR_OF, isMetaObject, resolveObjectRef, } from "@metaobjectsdev/metadata";
38
+ export const WARN_DEPRECATED_REFERENCE = "WARN_DEPRECATED_REFERENCE";
39
+ function warn(path, message) {
40
+ return { severity: "warn", code: WARN_DEPRECATED_REFERENCE, path, message };
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // addressing — mirrors name-lint.ts's topLevelAddress/segment, applied to every
44
+ // node (not only ones whose own name is the finding).
45
+ // ---------------------------------------------------------------------------
46
+ function packageOf(node) {
47
+ return node.package ?? node.fileDefaultPackage ?? "";
48
+ }
49
+ /** Walk up to the nearest enclosing `object.*` — every field/identity/relationship/
50
+ * origin is nested under exactly one (objects are never nested in this metamodel). */
51
+ function owningObject(node) {
52
+ let cur = node.parent;
53
+ while (cur !== undefined && !isMetaObject(cur))
54
+ cur = cur.parent;
55
+ return cur;
56
+ }
57
+ /** A human-readable address for a node: the object's FQN, or `<object FQN>.<name>` for
58
+ * something nested inside one. Falls back to the bare name (an abstract field
59
+ * declared at root, outside any object) when there is no enclosing object. */
60
+ function addressOf(node) {
61
+ if (isMetaObject(node))
62
+ return node.resolutionKey();
63
+ const owner = owningObject(node);
64
+ return owner !== undefined ? `${owner.resolutionKey()}.${node.name}` : node.name;
65
+ }
66
+ // ---------------------------------------------------------------------------
67
+ // self-reference guard
68
+ // ---------------------------------------------------------------------------
69
+ function isAncestorOf(maybeAncestor, node) {
70
+ let cur = node.parent;
71
+ while (cur !== undefined) {
72
+ if (cur === maybeAncestor)
73
+ return true;
74
+ cur = cur.parent;
75
+ }
76
+ return false;
77
+ }
78
+ /**
79
+ * True when `target` is not really an OTHER node from `referrer`'s point of
80
+ * view: the same node, or an ANCESTOR of it (the referrer's own enclosing
81
+ * object/field — the recursive-FK shape). Deliberately NOT symmetric: a
82
+ * DESCENDANT of `referrer` is a real, different thing to depend on (and no
83
+ * call site here ever resolves a target nested inside the specific referrer
84
+ * node anyway — a sibling field, the common case, is nested in the shared
85
+ * parent ENTITY, not in the referrer).
86
+ */
87
+ function isSelfReference(referrer, target) {
88
+ return referrer === target || isAncestorOf(target, referrer);
89
+ }
90
+ // ---------------------------------------------------------------------------
91
+ // the check: does `target` carry `deprecated`, resolved?
92
+ // ---------------------------------------------------------------------------
93
+ /** Returns true when a finding was pushed — callers checking a MORE SPECIFIC
94
+ * target first (e.g. a field) use this to decide whether to also check the
95
+ * less-specific one (its entity): only when the specific one was silent. */
96
+ function considerTarget(referrer, referrerPath, verb, target, out) {
97
+ if (isSelfReference(referrer, target))
98
+ return false;
99
+ // Registry contract (documentation-definition.embedded.ts): "Presence ⇒
100
+ // deprecated" — an empty-string reason still means deprecated (codegen-ts's
101
+ // jsdoc.ts reads it the same way, via `!== undefined`, not a truthiness
102
+ // check). Only an ABSENT attr (undefined) means "not deprecated".
103
+ const reason = target.attr(DOC_ATTR_DEPRECATED);
104
+ if (typeof reason !== "string")
105
+ return false;
106
+ const replacedByRaw = target.attr(DOC_ATTR_REPLACED_BY);
107
+ const replacedBy = typeof replacedByRaw === "string" && replacedByRaw !== "" ? replacedByRaw : undefined;
108
+ const targetKind = `${target.type}.${target.subType}`;
109
+ const reasonClause = reason !== "" ? `: ${reason}` : "";
110
+ out.push(warn(referrerPath, `${verb} deprecated ${targetKind} ${addressOf(target)}${reasonClause}` +
111
+ (replacedBy !== undefined ? ` Replaced by ${replacedBy}.` : "")));
112
+ return true;
113
+ }
114
+ /** Split a dotted reference into its entity HEAD and member tail ("Entity.field" ->
115
+ * "Entity" / "field"). `@objectRef` carries no tail (a pure object ref) and is
116
+ * resolved whole by the caller; `@references`/`@from`/`@of`/`@via` do. */
117
+ function headOf(raw) {
118
+ const dot = raw.indexOf(".");
119
+ return dot === -1 ? raw : raw.slice(0, dot);
120
+ }
121
+ function resolveEntityRef(root, ref, referrerPkg) {
122
+ const node = resolveObjectRef(root, ref, referrerPkg).node;
123
+ return node !== undefined && isMetaObject(node) ? node : undefined;
124
+ }
125
+ /** The relationship / identity.reference CHILD on `entity` named `hopName` — a
126
+ * `@via` path segment. Resolving `children()` (ADR-0039): an inherited hop still
127
+ * counts. */
128
+ function findHop(entity, hopName) {
129
+ return entity.children().find((c) => (c.type === TYPE_RELATIONSHIP || (c.type === TYPE_IDENTITY && c.subType === IDENTITY_SUBTYPE_REFERENCE)) &&
130
+ c.name === hopName);
131
+ }
132
+ /** The entity a resolved hop (relationship or identity.reference) points at, raw. */
133
+ function hopTargetRef(hop) {
134
+ const v = hop.type === TYPE_RELATIONSHIP
135
+ ? hop.attr(RELATIONSHIP_ATTR_OBJECT_REF)
136
+ : hop.attr(IDENTITY_REFERENCE_ATTR_REFERENCES);
137
+ return typeof v === "string" && v !== "" ? headOf(v) : undefined;
138
+ }
139
+ /**
140
+ * Check a dotted "Entity" or "Entity.field" reference — shared by origin
141
+ * `@from`/`@of` AND identity.reference's `@references` (ADR-0042 §5: the
142
+ * dotted form is not origin-specific; `Team.code` names an explicit FK target
143
+ * field exactly the way `Country.name` names a passthrough source field — see
144
+ * `fixtures/conformance/relationship-one-two-refs-dotted-references/`). The
145
+ * field is the more specific target (checked first); the entity is checked
146
+ * independently so a field on an otherwise-fine entity, OR a whole deprecated
147
+ * entity, each warn. Resolution failure (either half) is silent — bias to
148
+ * under-flagging, the same stance every sibling advisory pass in this
149
+ * directory takes.
150
+ */
151
+ function checkEntityFieldPath(root, referrer, referrerPath, verb, raw, referrerPkg, out) {
152
+ const head = headOf(raw);
153
+ const entity = resolveEntityRef(root, head, referrerPkg);
154
+ if (entity === undefined)
155
+ return;
156
+ const fieldName = raw.slice(head.length + 1);
157
+ const field = fieldName !== "" ? entity.fields().find((f) => f.name === fieldName) : undefined;
158
+ if (field !== undefined && considerTarget(referrer, referrerPath, verb, field, out)) {
159
+ return; // the field itself is the deprecated thing — don't ALSO warn about its (fine) entity.
160
+ }
161
+ considerTarget(referrer, referrerPath, verb, entity, out);
162
+ }
163
+ /**
164
+ * Walk an origin `@via` relationship path ("Entity.relOrRef[.relOrRef...]"),
165
+ * checking the head entity and every hop it names. Stops silently the moment a
166
+ * segment fails to resolve — a half-walked path still warned on everything it
167
+ * DID resolve, which is the right bias for an advisory that must never crash
168
+ * `meta verify` on a path shape it does not fully understand.
169
+ */
170
+ function checkViaPath(root, origin, referrerPath, verb, via, referrerPkg, out) {
171
+ const segments = via.split(".");
172
+ const headSegment = segments[0];
173
+ if (headSegment === undefined || headSegment === "")
174
+ return;
175
+ let current = resolveEntityRef(root, headSegment, referrerPkg);
176
+ if (current === undefined)
177
+ return;
178
+ considerTarget(origin, referrerPath, verb, current, out);
179
+ for (const hopName of segments.slice(1)) {
180
+ const hop = findHop(current, hopName);
181
+ if (hop === undefined)
182
+ return;
183
+ considerTarget(origin, referrerPath, verb, hop, out);
184
+ const targetRef = hopTargetRef(hop);
185
+ if (targetRef === undefined)
186
+ return;
187
+ const next = resolveEntityRef(root, targetRef, packageOf(current));
188
+ if (next === undefined)
189
+ return;
190
+ considerTarget(origin, referrerPath, verb, next, out);
191
+ current = next;
192
+ }
193
+ }
194
+ function checkOrigin(root, origin, referrerPath, out) {
195
+ const referrerPkg = (() => {
196
+ const owner = owningObject(origin);
197
+ return owner !== undefined ? packageOf(owner) : "";
198
+ })();
199
+ const subtypeLabel = `origin.${origin.subType}`;
200
+ // ADR-0039: own — origin.* never inherits (ADR-0029), so own is correct (the
201
+ // same stance every origin accessor in meta-origin.ts takes).
202
+ const from = origin.ownAttr(ORIGIN_PASSTHROUGH_ATTR_FROM);
203
+ if (typeof from === "string" && from !== "") {
204
+ checkEntityFieldPath(root, origin, referrerPath, `${subtypeLabel} @from references`, from, referrerPkg, out);
205
+ }
206
+ const of_ = origin.ownAttr(ORIGIN_AGGREGATE_ATTR_OF);
207
+ if (typeof of_ === "string" && of_ !== "") {
208
+ checkEntityFieldPath(root, origin, referrerPath, `${subtypeLabel} @of references`, of_, referrerPkg, out);
209
+ }
210
+ const via = origin.ownAttr(ORIGIN_PASSTHROUGH_ATTR_VIA);
211
+ if (typeof via === "string" && via !== "") {
212
+ checkViaPath(root, origin, referrerPath, `${subtypeLabel} @via references`, via, referrerPkg, out);
213
+ }
214
+ }
215
+ function checkNode(root, node, path, out) {
216
+ // extends — every node type may carry a resolved super (generic, type-agnostic).
217
+ if (node.superData !== undefined) {
218
+ considerTarget(node, path, "extends", node.superData, out);
219
+ }
220
+ // @objectRef — relationship.* (its target object) and field.object/value (a
221
+ // value-typed field's own objectRef). Same attr name on both (naming-refs.ts).
222
+ if (node.type === TYPE_RELATIONSHIP || node.type === TYPE_FIELD) {
223
+ const ref = node.attr(node.type === TYPE_RELATIONSHIP ? RELATIONSHIP_ATTR_OBJECT_REF : FIELD_ATTR_OBJECT_REF);
224
+ if (typeof ref === "string" && ref !== "") {
225
+ const owner = owningObject(node);
226
+ const target = resolveEntityRef(root, ref, owner !== undefined ? packageOf(owner) : "");
227
+ if (target !== undefined)
228
+ considerTarget(node, path, "references (@objectRef)", target, out);
229
+ }
230
+ }
231
+ // @references — identity.reference's FK target. May be bare ("Entity",
232
+ // defaulting to the primary identity) or dotted ("Entity.field" /
233
+ // "Entity.fieldA,fieldB", an explicit field/compound target) — the dotted
234
+ // field half is a deprecation-relevant target in its own right (#305 review:
235
+ // `@references: "Team.code"` where only `code` is `@deprecated` was missed
236
+ // when this checked the entity head alone).
237
+ if (node.type === TYPE_IDENTITY && node.subType === IDENTITY_SUBTYPE_REFERENCE) {
238
+ const raw = node.attr(IDENTITY_REFERENCE_ATTR_REFERENCES);
239
+ if (typeof raw === "string" && raw !== "") {
240
+ const owner = owningObject(node);
241
+ checkEntityFieldPath(root, node, path, "references (@references)", raw, owner !== undefined ? packageOf(owner) : "", out);
242
+ }
243
+ }
244
+ // origin.* — @from / @of / @via.
245
+ if (node.type === TYPE_ORIGIN) {
246
+ checkOrigin(root, node, path, out);
247
+ }
248
+ }
249
+ /**
250
+ * Lint the loaded model for references INTO a `deprecated` node, across every
251
+ * reference kind the metamodel resolves: `extends`, `@objectRef`, `@references`,
252
+ * and an origin's `@from` / `@of` / `@via`. Returns `[]` for a model with no
253
+ * `deprecated` attr anywhere reachable from a reference (additive, opt-in).
254
+ */
255
+ export function lintDeprecatedReferences(root) {
256
+ const out = [];
257
+ const walk = (n, prefix) => {
258
+ for (const c of n.ownChildren()) {
259
+ // origin carries no name of its own (always a singleton child of a field) —
260
+ // report against the FIELD it belongs to, not a path ending in a blank segment.
261
+ const path = c.type === TYPE_ORIGIN
262
+ ? prefix
263
+ : prefix === ""
264
+ ? c.resolutionKey()
265
+ : `${prefix}.${c.name}`;
266
+ checkNode(root, c, path, out);
267
+ walk(c, path);
268
+ }
269
+ };
270
+ walk(root, "");
271
+ return out;
272
+ }
273
+ //# sourceMappingURL=deprecation-lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecation-lint.js","sourceRoot":"","sources":["../../../src/lib/deprecation-lint.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,CAkD1G"}
@@ -61,7 +61,10 @@ export function scanForUnindexedForeignKeys(root, opts) {
61
61
  });
62
62
  const fields = ref !== undefined ? ref.fields : fk.columns;
63
63
  const label = ref !== undefined ? `${entity.name}.${ref.name}` : `${entity.name} (${fk.name})`;
64
- const indexName = `by${fields.map(pascal).join("")}`;
64
+ // Entity-prefixed: an index name is schema-wide in Postgres, so a bare `by<Field>`
65
+ // suggested the SAME name to every entity sharing the FK field, and applying the advice
66
+ // verbatim failed `meta migrate` with ERR_DUPLICATE_SQL_NAME.
67
+ const indexName = `${entity.name.charAt(0).toLowerCase()}${entity.name.slice(1)}By${fields.map(pascal).join("")}`;
65
68
  const fieldList = fields.length === 1 ? fields[0] : `[${fields.join(", ")}]`;
66
69
  out.push({
67
70
  file: files[0] ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"fk-index-advisory.js","sourceRoot":"","sources":["../../../src/lib/fk-index-advisory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fk-index-advisory.js","sourceRoot":"","sources":["../../../src/lib/fk-index-advisory.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,wFAAwF;AACxF,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,yFAAyF;AACzF,kFAAkF;AAClF,EAAE;AACF,qFAAqF;AACrF,0FAA0F;AAC1F,2FAA2F;AAC3F,yFAAyF;AACzF,sEAAsE;AAEtE,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,EACjC,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,YAAY,GAAG,GAAG,UAAU,GAAG,sBAAsB,GAAG,oBAAoB,EAAE,CAAC;AAErF,SAAS,OAAO,CAAC,KAAsB,EAAE,SAA4B;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG;QACf,KAAK,CAAC,UAAU;QAChB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAC3E,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAc,EAAE,IAAwB;IAClF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,iCAAiC,CAAC,IAAI,EAAE;QACvE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC,CAAC;IACH,oFAAoF;IACpF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAU,CAAC,CACjF,CAAC;IAEF,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,SAAS;QAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,mFAAmF;QACnF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAAE,SAAS;QAE1D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC;gBAAE,SAAS;YACzC,iFAAiF;YACjF,gFAAgF;YAChF,kEAAkE;YAClE,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACxD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;YAC3D,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;YAC/F,mFAAmF;YACnF,wFAAwF;YACxF,8DAA8D;YAC9D,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE;gBAC3C,OAAO,EACL,GAAG,KAAK,kBAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,6BAA6B;oBAC1F,iBAAiB,EAAE,CAAC,QAAQ,kCAAkC,KAAK,CAAC,IAAI,IAAI;oBAC5E,kBAAkB,MAAM,CAAC,IAAI,KAAK,YAAY,aAAa,SAAS,aAAa,SAAS,IAAI;aACjG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type FmtFileStatus = "formatted" | "would-format" | "unchanged" | "skipped-yaml" | "skipped-overlay" | "error";
2
+ export interface FmtFileReport {
3
+ readonly path: string;
4
+ readonly status: FmtFileStatus;
5
+ readonly detail?: string;
6
+ }
7
+ export interface FmtRunResult {
8
+ readonly files: readonly FmtFileReport[];
9
+ /** Set when the run could not even start — an unresolvable collection, an
10
+ * explicit file argument outside the project's sources, or metadata that
11
+ * does not currently load cleanly. Nothing was attempted. */
12
+ readonly fatal?: string;
13
+ }
14
+ export interface FmtRunOptions {
15
+ readonly projectRoot: string;
16
+ readonly check: boolean;
17
+ /** Explicit paths (cwd-relative or absolute) narrowing the run. Omit/empty
18
+ * for every file the project owns. */
19
+ readonly files?: readonly string[];
20
+ }
21
+ export declare function runFmt(opts: FmtRunOptions): Promise<FmtRunResult>;
22
+ //# sourceMappingURL=fmt-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fmt-engine.d.ts","sourceRoot":"","sources":["../../../src/lib/fmt-engine.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,cAAc,GACd,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,OAAO,CAAC;AAEZ,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC;;kEAE8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;2CACuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA2GvE"}
@@ -0,0 +1,128 @@
1
+ // server/typescript/packages/cli/src/lib/fmt-engine.ts
2
+ //
3
+ // `meta fmt` (#304) orchestration: resolve the project's own metadata files
4
+ // (resolveCollection — never a hardcoded `metaobjects/`), format each one
5
+ // standalone (@metaobjectsdev/metadata's formatMetadataFile — own-mode,
6
+ // declared-here layer only), and gate every rewrite behind a whole-project
7
+ // reload-and-compare safety check before it ever touches disk.
8
+ //
9
+ // The safety check (design rule 4): swap a candidate in via an in-memory
10
+ // source carrying the SAME file id the real load would use, reload the WHOLE
11
+ // project, and require both that it loads with no errors AND that its
12
+ // canonical serialization is byte-identical to the untouched baseline. Only
13
+ // then is the candidate written — so `--check` (which skips the write) and a
14
+ // real run share one code path, and a bug in the formatter can only ever
15
+ // leave a file unchanged plus an error, never a corrupted file.
16
+ import { basename, extname, resolve as resolvePath } from "node:path";
17
+ import { readFile, writeFile } from "node:fs/promises";
18
+ import { composeRegistry, MetaDataLoader, InMemoryStringSource, canonicalSerialize, formatMetadataFile, } from "@metaobjectsdev/metadata";
19
+ import { FileSource } from "@metaobjectsdev/metadata/core";
20
+ import { resolveCollection, defaultLoadMemoryProviders } from "@metaobjectsdev/sdk";
21
+ import { loadMetaobjectsConfig, loadMemoryOptionsFrom } from "./load-metaobjects-config.js";
22
+ async function projectProviders(collection) {
23
+ try {
24
+ const cfg = await loadMetaobjectsConfig(collection.configDir);
25
+ return loadMemoryOptionsFrom(cfg).providers ?? [];
26
+ }
27
+ catch {
28
+ // No metaobjects.config.ts (common for a non-TS-server project running
29
+ // `meta fmt` just for schema-neutral formatting) — format against the
30
+ // core vocabulary only, exactly like a project with no custom providers.
31
+ return [];
32
+ }
33
+ }
34
+ export async function runFmt(opts) {
35
+ let collection;
36
+ try {
37
+ collection = await resolveCollection(opts.projectRoot);
38
+ }
39
+ catch (err) {
40
+ return { files: [], fatal: err instanceof Error ? err.message : String(err) };
41
+ }
42
+ const providers = await projectProviders(collection);
43
+ const registry = composeRegistry([...defaultLoadMemoryProviders, ...providers]);
44
+ let targets;
45
+ if (opts.files !== undefined && opts.files.length > 0) {
46
+ const want = new Set(opts.files.map((f) => resolvePath(opts.projectRoot, f)));
47
+ const owned = new Set(collection.ownFiles);
48
+ const missing = [...want].filter((f) => !owned.has(f));
49
+ if (missing.length > 0) {
50
+ return {
51
+ files: [],
52
+ fatal: `not among this project's resolved metadata sources: ${missing.join(", ")}\n` +
53
+ "meta fmt only formats files resolveCollection() already resolves — pass no " +
54
+ "arguments to format every one of them.",
55
+ };
56
+ }
57
+ targets = collection.ownFiles.filter((f) => want.has(f));
58
+ }
59
+ else {
60
+ targets = collection.ownFiles;
61
+ }
62
+ const sourceId = (p) => collection.fileIds.get(p) ?? basename(p);
63
+ const libSources = collection.libraries.length > 0
64
+ ? (await import("@metaobjectsdev/metadata/library")).librarySources([...collection.libraries])
65
+ : [];
66
+ const buildSources = (overridePath, overrideText) => [
67
+ ...libSources,
68
+ ...collection.files.map((p) => {
69
+ const id = sourceId(p);
70
+ return overridePath !== undefined && p === overridePath
71
+ ? new InMemoryStringSource(overrideText ?? "", { id })
72
+ : new FileSource(p, { id });
73
+ }),
74
+ ];
75
+ const baseline = await new MetaDataLoader({ registry }).load(buildSources());
76
+ if (baseline.errors.length > 0) {
77
+ return {
78
+ files: [],
79
+ fatal: "this project's metadata does not currently load cleanly — fix the error(s) below, " +
80
+ "then re-run fmt:\n" +
81
+ baseline.errors.map((e) => ` ${e.message}`).join("\n"),
82
+ };
83
+ }
84
+ const baselineCanonical = canonicalSerialize(baseline.root);
85
+ const reports = [];
86
+ for (const path of targets) {
87
+ const ext = extname(path).toLowerCase();
88
+ if (ext === ".yaml" || ext === ".yml") {
89
+ reports.push({
90
+ path,
91
+ status: "skipped-yaml",
92
+ detail: "no canonical YAML emitter exists (ADR-0006: JSON is the canonical interchange form) — left untouched",
93
+ });
94
+ continue;
95
+ }
96
+ const content = await readFile(path, "utf8");
97
+ const formatted = formatMetadataFile(content, { registry, sourceId: sourceId(path) });
98
+ if (!formatted.ok) {
99
+ reports.push(formatted.overlay
100
+ ? { path, status: "skipped-overlay", detail: formatted.message }
101
+ : { path, status: "error", detail: formatted.message });
102
+ continue;
103
+ }
104
+ if (formatted.text === content) {
105
+ reports.push({ path, status: "unchanged" });
106
+ continue;
107
+ }
108
+ const testLoad = await new MetaDataLoader({ registry }).load(buildSources(path, formatted.text));
109
+ const safe = testLoad.errors.length === 0 && canonicalSerialize(testLoad.root) === baselineCanonical;
110
+ if (!safe) {
111
+ reports.push({
112
+ path,
113
+ status: "error",
114
+ detail: "formatting this file would change the loaded model's meaning — left unchanged",
115
+ });
116
+ continue;
117
+ }
118
+ if (opts.check) {
119
+ reports.push({ path, status: "would-format" });
120
+ }
121
+ else {
122
+ await writeFile(path, formatted.text, "utf8");
123
+ reports.push({ path, status: "formatted" });
124
+ }
125
+ }
126
+ return { files: reports };
127
+ }
128
+ //# sourceMappingURL=fmt-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fmt-engine.js","sourceRoot":"","sources":["../../../src/lib/fmt-engine.ts"],"names":[],"mappings":"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"}