@metaobjectsdev/cli 0.24.4 → 0.25.0

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 (74) hide show
  1. package/README.md +2 -1
  2. package/dist/src/commands/docs.d.ts +14 -1
  3. package/dist/src/commands/docs.d.ts.map +1 -1
  4. package/dist/src/commands/docs.js +153 -8
  5. package/dist/src/commands/docs.js.map +1 -1
  6. package/dist/src/commands/eject.d.ts +38 -0
  7. package/dist/src/commands/eject.d.ts.map +1 -0
  8. package/dist/src/commands/eject.js +233 -0
  9. package/dist/src/commands/eject.js.map +1 -0
  10. package/dist/src/commands/gen.d.ts.map +1 -1
  11. package/dist/src/commands/gen.js +43 -20
  12. package/dist/src/commands/gen.js.map +1 -1
  13. package/dist/src/commands/init.d.ts +15 -1
  14. package/dist/src/commands/init.d.ts.map +1 -1
  15. package/dist/src/commands/init.js +208 -20
  16. package/dist/src/commands/init.js.map +1 -1
  17. package/dist/src/commands/types.d.ts +2 -1
  18. package/dist/src/commands/types.d.ts.map +1 -1
  19. package/dist/src/commands/types.js +165 -28
  20. package/dist/src/commands/types.js.map +1 -1
  21. package/dist/src/commands/verify.d.ts +9 -1
  22. package/dist/src/commands/verify.d.ts.map +1 -1
  23. package/dist/src/commands/verify.js +299 -51
  24. package/dist/src/commands/verify.js.map +1 -1
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +105 -4
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/lib/advisory.d.ts +77 -0
  29. package/dist/src/lib/advisory.d.ts.map +1 -0
  30. package/dist/src/lib/advisory.js +97 -0
  31. package/dist/src/lib/advisory.js.map +1 -0
  32. package/dist/src/lib/anti-patterns.d.ts +27 -3
  33. package/dist/src/lib/anti-patterns.d.ts.map +1 -1
  34. package/dist/src/lib/anti-patterns.js +145 -8
  35. package/dist/src/lib/anti-patterns.js.map +1 -1
  36. package/dist/src/lib/args.d.ts +35 -1
  37. package/dist/src/lib/args.d.ts.map +1 -1
  38. package/dist/src/lib/args.js +32 -1
  39. package/dist/src/lib/args.js.map +1 -1
  40. package/dist/src/lib/detect-stack.d.ts.map +1 -1
  41. package/dist/src/lib/detect-stack.js +4 -13
  42. package/dist/src/lib/detect-stack.js.map +1 -1
  43. package/dist/src/lib/docs-drift.d.ts +31 -0
  44. package/dist/src/lib/docs-drift.d.ts.map +1 -0
  45. package/dist/src/lib/docs-drift.js +195 -0
  46. package/dist/src/lib/docs-drift.js.map +1 -0
  47. package/dist/src/lib/format.d.ts +10 -0
  48. package/dist/src/lib/format.d.ts.map +1 -1
  49. package/dist/src/lib/format.js +15 -0
  50. package/dist/src/lib/format.js.map +1 -1
  51. package/dist/src/lib/output.d.ts +13 -0
  52. package/dist/src/lib/output.d.ts.map +1 -1
  53. package/dist/src/lib/output.js +16 -1
  54. package/dist/src/lib/output.js.map +1 -1
  55. package/dist/src/lib/package-manifest.d.ts +27 -0
  56. package/dist/src/lib/package-manifest.d.ts.map +1 -0
  57. package/dist/src/lib/package-manifest.js +52 -0
  58. package/dist/src/lib/package-manifest.js.map +1 -0
  59. package/package.json +11 -11
  60. package/src/commands/docs.ts +194 -8
  61. package/src/commands/eject.ts +282 -0
  62. package/src/commands/gen.ts +54 -19
  63. package/src/commands/init.ts +217 -19
  64. package/src/commands/types.ts +185 -34
  65. package/src/commands/verify.ts +358 -47
  66. package/src/index.ts +114 -5
  67. package/src/lib/advisory.ts +150 -0
  68. package/src/lib/anti-patterns.ts +163 -8
  69. package/src/lib/args.ts +74 -2
  70. package/src/lib/detect-stack.ts +4 -11
  71. package/src/lib/docs-drift.ts +222 -0
  72. package/src/lib/format.ts +14 -0
  73. package/src/lib/output.ts +33 -2
  74. package/src/lib/package-manifest.ts +58 -0
@@ -17,13 +17,129 @@
17
17
  import { readdirSync, readFileSync, statSync } from "node:fs";
18
18
  import { join, relative, sep } from "node:path";
19
19
  // Directory segments and file patterns that are never authored app source.
20
+ //
21
+ // `migration` (SINGULAR) sits beside `migrations` because Flyway's own convention
22
+ // is `src/main/resources/db/migration` — the exact directory THIS repo's Flyway
23
+ // output adapter documents as its target (`migrate-ts/src/write-migration-flyway.ts`,
24
+ // `WriteMigrationFlywayOptions.dir`). Without it MetaObjects emitted migrations into
25
+ // a directory its own advisory scanner did not ignore, then flagged the files it had
26
+ // just written as hand-rolled anti-patterns.
27
+ //
28
+ // Nothing else is added here on speculation. A directory list is a guess about
29
+ // someone else's repository — the same failure `@verifiedBy`'s closed pattern list
30
+ // shipped with and 0.23.1 had to correct — so the real coverage lives in
31
+ // IMMUTABLE_MIGRATION_FILE below (a name, wherever it sits) and in the
32
+ // project-declared `ignore` globs.
20
33
  const IGNORE_SEGMENTS = new Set([
21
34
  "node_modules", ".git", "dist", "build", "out", ".next", "coverage",
22
- ".metaobjects", "generated", "migrations",
35
+ ".metaobjects", "generated", "migrations", "migration",
23
36
  ]);
24
37
  const SCAN_EXT = /\.(?:ts|tsx|js|sql)$/;
25
38
  const SKIP_FILE = /(?:\.d\.ts$|\.test\.|\.spec\.)/;
26
39
  const GENERATED_MARKER = "@generated";
40
+ // --- immutable migration files ------------------------------------------------
41
+ //
42
+ // WHY THESE ARE EXCLUDED BY NAME, NOT ONLY BY DIRECTORY. A historical migration
43
+ // that a runner has already applied CANNOT be edited: Flyway checksums each
44
+ // versioned migration and refuses to start against a database whose recorded
45
+ // checksum no longer matches, so "fix the CHECK constraint in V001__baseline.sql"
46
+ // is not advice — it is a request to break every environment that has run it. A
47
+ // finding nobody can act on trains the reader to skip the whole advisory section,
48
+ // which is precisely how this advisory came to be ignored in an adopter estate
49
+ // where it had 233 real hits. Under-flagging is the standing bias (module header);
50
+ // nagging about the unfixable is the worst way to spend the reader's attention.
51
+ //
52
+ // A migration is identifiable by its own name wherever it lives, which is what
53
+ // makes this rule better than another directory guess. Each pattern below names
54
+ // the evidence it rests on; every one is either emitted by this repo itself or by
55
+ // a tool whose naming is documented and unmistakable. Patterns that are merely
56
+ // plausible are deliberately absent — a false exclusion silences a real finding,
57
+ // which is the same failure pointed the other way. An unusual layout is the
58
+ // project's to declare (`AntiPatternScanOptions.ignore`), not ours to guess.
59
+ const IMMUTABLE_MIGRATION_FILE = [
60
+ // Flyway versioned (V) and undo (U). Source of truth for the version grammar is
61
+ // `VERSIONED_RE` in `migrate-ts/src/write-migration-flyway.ts` — restated rather
62
+ // than imported because that constant is module-private, and exporting it is a
63
+ // change to another package. Two deliberate differences from it: it matches `V`
64
+ // ONLY (matching `U` there would let the undo files it emits bump the version
65
+ // counter), whereas an undo file is every bit as un-editable as its up half; and
66
+ // the multi-part form `V1.1__` / `V1_0__` is carried over verbatim, because
67
+ // Flyway pads versions for comparison and both spellings are legal.
68
+ /^[VU]\d+(?:[._]\d+)*__/,
69
+ // Flyway REPEATABLE (`R__`) is deliberately NOT here, and the reason is the rule's
70
+ // name. Flyway re-applies a repeatable migration whenever its checksum changes, so
71
+ // editing one is the sanctioned workflow rather than a forbidden act — which makes a
72
+ // finding on it ACTIONABLE, and this list exists precisely to drop findings that are
73
+ // not. Excluding it would silence a real one. Repeatable scripts live in Flyway's
74
+ // `db/migration`, which IGNORE_SEGMENTS covers, so the practical effect is limited to
75
+ // a stray `R__` outside that tree — where scanning it is the correct answer.
76
+ // A 10+ digit leading number is a clock, not a count: epoch milliseconds (13,
77
+ // node-pg-migrate) or YYYYMMDDHHMMSS (14, Rails / Knex / Sequelize, and this
78
+ // repo's own default writer — see the directory rule below). Ten is the floor
79
+ // because that is epoch seconds; a four-digit lead would also match an ordinary
80
+ // `2024_q1_revenue.sql`, which is exactly the false exclusion to avoid.
81
+ /^\d{10,}[-_]/,
82
+ // A ZERO-PADDED sequence: `0000_lush_rockslide.sql` (Drizzle Kit, whose default
83
+ // `out` is `./drizzle` and so is caught by no directory name), `0001_init.sql`
84
+ // (this repo's own D1 adapter — `write-migration-d1.ts` pads to 4), and
85
+ // `000001_create_users.up.sql` (golang-migrate). The leading zero is what makes
86
+ // this safe: sequence numbers are padded so they sort, ordinary numbers are not,
87
+ // so a year or quarter prefix can never match.
88
+ /^0\d+[-_]/,
89
+ // The up/down halves of a migration pair. `up.sql` / `down.sql` is what this
90
+ // repo's own default writer emits (`migrate-ts/src/write-migration.ts`); the
91
+ // `<name>.up.sql` / `<name>.down.sql` suffix form is golang-migrate's. Kept to
92
+ // `.sql` on purpose — `up.ts` and `down.ts` are not migration names.
93
+ /^(?:up|down)\.sql$/i,
94
+ /\.(?:up|down)\.sql$/i,
95
+ ];
96
+ // A per-migration DIRECTORY named by a timestamp. This repo's default writer
97
+ // creates `<YYYYMMDDHHMMSS>-<slug>/` holding `up.sql` + `down.sql`
98
+ // (`migrate-ts/src/write-migration.ts`), and Prisma creates
99
+ // `<YYYYMMDDHHMMSS>_<slug>/` holding `migration.sql`. Both are already covered
100
+ // when they sit under the default `migrations` root; this catches them under a
101
+ // project-chosen `migrate.outDir`, and it is risk-free — nobody names a source
102
+ // directory with a fourteen-digit timestamp.
103
+ const IMMUTABLE_MIGRATION_DIR = /^\d{10,}[-_]/;
104
+ function isImmutableMigrationFile(basename) {
105
+ return IMMUTABLE_MIGRATION_FILE.some((re) => re.test(basename));
106
+ }
107
+ /**
108
+ * A glob as permissive as the ones adopters actually write, anchored at the scan
109
+ * root and matched against forward-slash relative paths. Deliberately small:
110
+ * anything richer belongs to a glob library, and pulling one in for a knob this
111
+ * narrow is not worth the dependency. (Same grammar the retired `@verifiedBy`
112
+ * scan used for `verify.testFiles`, kept identical so a project that learned one
113
+ * spelling does not have to learn a second.)
114
+ */
115
+ function globToRegExp(glob) {
116
+ let out = "";
117
+ for (let i = 0; i < glob.length; i++) {
118
+ const c = glob[i];
119
+ if (c === "*") {
120
+ if (glob[i + 1] === "*") {
121
+ // `**/` may match zero segments, so `**/*.sql` matches a root-level file.
122
+ if (glob[i + 2] === "/") {
123
+ out += "(?:.*/)?";
124
+ i += 2;
125
+ }
126
+ else {
127
+ out += ".*";
128
+ i += 1;
129
+ }
130
+ }
131
+ else
132
+ out += "[^/]*";
133
+ continue;
134
+ }
135
+ if (c === "?") {
136
+ out += "[^/]";
137
+ continue;
138
+ }
139
+ out += c.replace(/[.+^${}()|[\]\\]/g, "\\$&");
140
+ }
141
+ return new RegExp(`^${out}$`);
142
+ }
27
143
  // --- rules: each tests one source line, returns a finding shape or null -------
28
144
  const MONEY_WORD = /\b(?:price|amount|cost|total|subtotal|fee|balance|cents|dollars)\w*/i;
29
145
  const MONEY_MATH = /(?:\*\s*100\b|\/\s*100\b|\.toFixed\s*\(\s*2\s*\)|parseFloat\s*\()/;
@@ -63,7 +179,10 @@ function findingFor(file, lineNo, raw, isSql) {
63
179
  message: `${file}:${lineNo} — ${ADVICE[hit.rule]}. Run \`meta types ${hit.construct}\`.`,
64
180
  };
65
181
  }
66
- function walk(dir, root, acc) {
182
+ function relPosix(root, abs) {
183
+ return relative(root, abs).split(sep).join("/");
184
+ }
185
+ function walk(dir, root, ignore, acc) {
67
186
  let entries;
68
187
  try {
69
188
  entries = readdirSync(dir, { withFileTypes: true });
@@ -75,14 +194,31 @@ function walk(dir, root, acc) {
75
194
  if (e.isDirectory()) {
76
195
  if (IGNORE_SEGMENTS.has(e.name) || e.name.startsWith("."))
77
196
  continue;
78
- walk(join(dir, e.name), root, acc);
197
+ // A per-migration directory is excluded by its own name, wherever it sits.
198
+ if (IMMUTABLE_MIGRATION_DIR.test(e.name))
199
+ continue;
200
+ const dirRel = relPosix(root, join(dir, e.name));
201
+ if (ignore.some((re) => re.test(dirRel)))
202
+ continue;
203
+ walk(join(dir, e.name), root, ignore, acc);
79
204
  continue;
80
205
  }
81
206
  if (!e.isFile())
82
207
  continue;
83
208
  if (!SCAN_EXT.test(e.name) || SKIP_FILE.test(e.name))
84
209
  continue;
210
+ // Filename shape wins over location, deliberately: a migration is identifiable
211
+ // by its own name, and a project that keeps its migrations somewhere we cannot
212
+ // guess should not be nagged about files it may not edit. The cost is bounded —
213
+ // these name shapes are not ones an ordinary query or schema file wears.
214
+ if (isImmutableMigrationFile(e.name))
215
+ continue;
85
216
  const abs = join(dir, e.name);
217
+ // Checked before the read: a declared ignore is a decision not to look at the
218
+ // file at all, so it should not cost an I/O either.
219
+ const rel = relPosix(root, abs);
220
+ if (ignore.some((re) => re.test(rel)))
221
+ continue;
86
222
  let text;
87
223
  try {
88
224
  if (statSync(abs).size > 512 * 1024)
@@ -95,7 +231,6 @@ function walk(dir, root, acc) {
95
231
  // Skip MetaObjects-generated output — it legitimately contains AVG/CHECK etc.
96
232
  if (text.slice(0, 600).includes(GENERATED_MARKER))
97
233
  continue;
98
- const rel = relative(root, abs).split(sep).join("/");
99
234
  const isSql = e.name.endsWith(".sql");
100
235
  const lines = text.split("\n");
101
236
  for (let i = 0; i < lines.length; i++) {
@@ -107,12 +242,14 @@ function walk(dir, root, acc) {
107
242
  }
108
243
  /**
109
244
  * Scan authored source under `cwd` for the high-precision anti-patterns above.
110
- * Returns every finding (advisory). Generated output, dependencies, build dirs,
111
- * and test files are skipped.
245
+ * Returns every finding (advisory this never influences an exit code).
246
+ * Generated output, dependencies, build dirs, test files, immutable migration
247
+ * files, and anything matched by `options.ignore` are skipped.
112
248
  */
113
- export function scanSourceForAntiPatterns(cwd) {
249
+ export function scanSourceForAntiPatterns(cwd, options) {
114
250
  const acc = [];
115
- walk(cwd, cwd, acc);
251
+ const ignore = (options?.ignore ?? []).map(globToRegExp);
252
+ walk(cwd, cwd, ignore, acc);
116
253
  acc.sort((a, b) => a.file.localeCompare(b.file) || a.line - b.line);
117
254
  return acc;
118
255
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anti-patterns.js","sourceRoot":"","sources":["../../../src/lib/anti-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anti-patterns.js","sourceRoot":"","sources":["../../../src/lib/anti-patterns.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,12 @@ export interface GenFlags {
32
32
  list: boolean;
33
33
  /** Suppress the advisory anti-pattern (verify-as-teacher) pass. */
34
34
  noAntipatterns: boolean;
35
+ /**
36
+ * How many advisory lines TEXT output prints before truncating
37
+ * (`DEFAULT_ADVISORY_LIMIT`, or Infinity for `--limit all`). It never applies to
38
+ * a structured payload, which carries every finding.
39
+ */
40
+ limit: number;
35
41
  }
36
42
  export declare function parseGenArgs(argv: string[]): GenFlags;
37
43
  export interface ExportFlags {
@@ -73,6 +79,18 @@ export interface VerifyFlags {
73
79
  templates: boolean;
74
80
  /** Run the codegen-drift gate (regenerate-to-temp and diff committed output). */
75
81
  codegen: boolean;
82
+ /**
83
+ * Run the docs-drift gate: regenerate the `meta docs` surfaces into a temp dir and diff
84
+ * them against the committed docs tree.
85
+ *
86
+ * A SEPARATE subverb rather than part of `--codegen`, because they check different
87
+ * trees under different ownership rules: `--codegen` regenerates `outDir`/`targets` and
88
+ * must respect the hand edits `meta gen` preserves, while the docs tree has no merge,
89
+ * no manifest, and lives in a directory (`./docs` by default) full of hand-written
90
+ * files it does not own. Folding them together would have to pick one of those rules
91
+ * for both.
92
+ */
93
+ docs: boolean;
76
94
  /**
77
95
  * Replay the committed migration chain into an empty throwaway database and assert
78
96
  * it applies (#313). Needs no `--db`: the engine is local and disposable (PGlite
@@ -86,7 +104,7 @@ export interface VerifyFlags {
86
104
  * read as that flag's opposite rather than as a replay depth.
87
105
  */
88
106
  replaySnapshot: boolean;
89
- /** Whether ANY explicit subverb flag (--templates/--db/--codegen/--replay*) was passed. */
107
+ /** Whether ANY explicit subverb flag (--templates/--db/--codegen/--docs/--replay*) was passed. */
90
108
  anyExplicit: boolean;
91
109
  /** Suppress the advisory anti-pattern (verify-as-teacher) pass. */
92
110
  noAntipatterns: boolean;
@@ -104,6 +122,14 @@ export interface VerifyFlags {
104
122
  * restores the legacy open-attr load (today's behavior). Default false (strict).
105
123
  */
106
124
  lax: boolean;
125
+ /**
126
+ * How many advisory lines TEXT output prints per SECTION before truncating
127
+ * (`DEFAULT_ADVISORY_LIMIT`, or Infinity for `--limit all`). Per-section, never
128
+ * shared across them — the reason the two caps were separate in the first place
129
+ * is that one shared budget lets the authoring lint push every gate warning off
130
+ * the end. It never applies to a structured payload, which carries everything.
131
+ */
132
+ limit: number;
107
133
  }
108
134
  export declare function parseVerifyArgs(argv: string[]): VerifyFlags;
109
135
  export interface PromptSnapshotFlags {
@@ -143,5 +169,13 @@ export interface MigrateFlags {
143
169
  applyPending: boolean;
144
170
  }
145
171
  export declare function parseMigrateArgs(argv: string[]): MigrateFlags;
172
+ export interface EjectFlags {
173
+ /** The generator name to eject; undefined when only --list was given. */
174
+ name: string | undefined;
175
+ list: boolean;
176
+ /** Overwrite an already-ejected file; default false — eject never clobbers. */
177
+ force: boolean;
178
+ }
179
+ export declare function parseEjectArgs(argv: string[]): EjectFlags;
146
180
  export {};
147
181
  //# sourceMappingURL=args.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAgCvD;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAoBjE;AAMD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;2BAEuB;IACvB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B;2BACuB;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CA6BrD;AAMD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAY3D;AAMD,QAAA,MAAM,QAAQ,uCAAwC,CAAC;AACvD,KAAK,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,eAAe,gCAAiC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAO7D,eAAO,MAAM,YAAY,iNAkCf,CAAC;AACX,KAAK,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAMhD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,2EAA2E;IAC3E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,gFAAgF;IAChF,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,2EAA2E;IAC3E,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAKhB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,kGAAkG;IAClG,WAAW,EAAE,OAAO,CAAC;IACrB,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CA4E3D;AAMD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAc3E;AAMD,QAAA,MAAM,YAAY,0CAA2C,CAAC;AAC9D,KAAK,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,gFAAgF;IAChF,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAEhB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAgF7D;AAMD,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoBzD"}
@@ -1,4 +1,5 @@
1
1
  import { parseArgs } from "node:util";
2
+ import { parseAdvisoryLimit } from "./advisory.js";
2
3
  export function parseInitArgs(argv) {
3
4
  const { values } = parseArgs({
4
5
  args: argv,
@@ -61,6 +62,7 @@ export function parseGenArgs(argv) {
61
62
  "baseline": { type: "string" },
62
63
  "list": { type: "boolean", default: false },
63
64
  "no-antipatterns": { type: "boolean", default: false },
65
+ "limit": { type: "string" },
64
66
  },
65
67
  strict: true,
66
68
  allowPositionals: true,
@@ -75,6 +77,9 @@ export function parseGenArgs(argv) {
75
77
  baseline: baselineRaw ?? "default",
76
78
  list: !!values.list,
77
79
  noAntipatterns: !!values["no-antipatterns"],
80
+ // Throws on a bad value; the command layer reports it and exits 2, exactly as
81
+ // it does for --baseline above.
82
+ limit: parseAdvisoryLimit(values.limit),
78
83
  };
79
84
  }
80
85
  export function parseExportArgs(argv) {
@@ -151,6 +156,7 @@ export function parseVerifyArgs(argv) {
151
156
  "skip-schema": { type: "boolean", default: false },
152
157
  templates: { type: "boolean", default: false },
153
158
  codegen: { type: "boolean", default: false },
159
+ docs: { type: "boolean", default: false },
154
160
  replay: { type: "boolean", default: false },
155
161
  "replay-snapshot": { type: "boolean", default: false },
156
162
  "no-antipatterns": { type: "boolean", default: false },
@@ -158,6 +164,7 @@ export function parseVerifyArgs(argv) {
158
164
  lax: { type: "boolean", default: false },
159
165
  "d1": { type: "string" },
160
166
  "remote": { type: "boolean", default: false },
167
+ "limit": { type: "string" },
161
168
  },
162
169
  strict: true,
163
170
  allowPositionals: false,
@@ -177,6 +184,7 @@ export function parseVerifyArgs(argv) {
177
184
  }
178
185
  const templates = !!values.templates;
179
186
  const codegen = !!values.codegen;
187
+ const docs = !!values.docs;
180
188
  const replay = !!values.replay;
181
189
  const replaySnapshot = !!values["replay-snapshot"];
182
190
  // --db is itself an explicit subverb selector: passing a connection URL means
@@ -184,7 +192,7 @@ export function parseVerifyArgs(argv) {
184
192
  // URL — see the `d1` field doc above). The replay flags are subverbs too, and
185
193
  // must be listed here or `meta verify --replay` would ALSO run the template gate
186
194
  // as the bare-verify default.
187
- const anyExplicit = templates || codegen || values.db !== undefined || dialect === "d1" || replay || replaySnapshot;
195
+ const anyExplicit = templates || codegen || docs || values.db !== undefined || dialect === "d1" || replay || replaySnapshot;
188
196
  return {
189
197
  prompts: values.prompts,
190
198
  db: values.db,
@@ -193,6 +201,7 @@ export function parseVerifyArgs(argv) {
193
201
  skipSchema: !!values["skip-schema"],
194
202
  templates,
195
203
  codegen,
204
+ docs,
196
205
  replay,
197
206
  replaySnapshot,
198
207
  anyExplicit,
@@ -201,6 +210,9 @@ export function parseVerifyArgs(argv) {
201
210
  lax: !!values.lax,
202
211
  d1: values.d1,
203
212
  remote: !!values.remote,
213
+ // Throws on a bad value; the command layer reports it and exits 2, exactly as
214
+ // it does for --dialect and --allow above.
215
+ limit: parseAdvisoryLimit(values.limit),
204
216
  };
205
217
  }
206
218
  export function parsePromptSnapshotArgs(argv) {
@@ -294,4 +306,23 @@ export function parseMigrateArgs(argv) {
294
306
  applyPending,
295
307
  };
296
308
  }
309
+ export function parseEjectArgs(argv) {
310
+ const { values, positionals } = parseArgs({
311
+ args: argv,
312
+ options: {
313
+ "list": { type: "boolean", default: false },
314
+ "force": { type: "boolean", default: false },
315
+ },
316
+ strict: true,
317
+ allowPositionals: true,
318
+ });
319
+ if (positionals.length > 1) {
320
+ throw new Error(`meta eject takes at most one generator name; got: ${positionals.join(", ")}`);
321
+ }
322
+ return {
323
+ name: positionals[0],
324
+ list: !!values.list,
325
+ force: !!values.force,
326
+ };
327
+ }
297
328
  //# sourceMappingURL=args.js.map
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-stack.d.ts","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"AAGA,OAAO,EAEkC,KAAK,KAAK,EAElD,MAAM,mCAAmC,CAAC;AAkD3C;;qEAEqE;AACrE,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAUnH"}
1
+ {"version":3,"file":"detect-stack.d.ts","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"AAIA,OAAO,EAEkC,KAAK,KAAK,EAElD,MAAM,mCAAmC,CAAC;AA0C3C;;qEAEqE;AACrE,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAUnH"}
@@ -1,21 +1,12 @@
1
1
  import { existsSync, readFileSync, readdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { resolveCollection } from "@metaobjectsdev/sdk";
4
+ import { declaredDependencyNames, readPackageManifest } from "./package-manifest.js";
4
5
  import { detectStack, detectConcerns, makeStack, SERVER_LANGS, CLIENT_FRAMEWORKS, } from "@metaobjectsdev/sdk/agent-context";
5
6
  function depNames(cwd) {
6
- const out = new Set();
7
- const pkgPath = join(cwd, "package.json");
8
- if (existsSync(pkgPath)) {
9
- try {
10
- const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
11
- for (const key of ["dependencies", "devDependencies", "peerDependencies"]) {
12
- for (const name of Object.keys(pkg[key] ?? {}))
13
- out.add(name);
14
- }
15
- }
16
- catch { /* unreadable manifest — treat as no deps */ }
17
- }
18
- return out;
7
+ // An unreadable or absent manifest reads as no deps, which is what stack detection
8
+ // wants: it probes, it does not require.
9
+ return declaredDependencyNames(readPackageManifest(cwd) ?? {});
19
10
  }
20
11
  // Cheap substring probe, not a metamodel load: matches both canonical JSON's
21
12
  // quoted `"requirement.functional"` key and sigil-free YAML's bare
@@ -1 +1 @@
1
- {"version":3,"file":"detect-stack.js","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-stack.js","sourceRoot":"","sources":["../../../src/lib/detect-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EACL,WAAW,EAAE,cAAc,EAAE,SAAS,EAEtC,YAAY,EAAE,iBAAiB,GAChC,MAAM,mCAAmC,CAAC;AAE3C,SAAS,QAAQ,CAAC,GAAW;IAC3B,mFAAmF;IACnF,yCAAyC;IACzC,OAAO,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,6EAA6E;AAC7E,mEAAmE;AACnE,4CAA4C;AAC5C,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAE/C;;;;;qEAKqE;AACrE,KAAK,UAAU,mBAAmB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAW;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,mBAAmB,EAAE,GAAG,EAAE,CAAC,gBAAgB;KAC5C,CAAC;AACJ,CAAC;AAED;;qEAEqE;AACrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,SAAmD;IACjG,MAAM,YAAY,GAAG,YAAiC,CAAC;IACvD,MAAM,YAAY,GAAG,iBAAsC,CAAC;IAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,31 @@
1
+ export interface DocsDriftResult {
2
+ /** True when every page a fresh `meta docs` would write is committed and identical. */
3
+ clean: boolean;
4
+ /** Docs-dir-relative paths that differ — changed, missing, or (under `agent/`) committed
5
+ * when a fresh run no longer emits them. Sorted. */
6
+ driftedFiles: string[];
7
+ /** Human-readable, one line per file. */
8
+ lines: string[];
9
+ /** The denominator both the passing and the failing report divide by: the pages a fresh
10
+ * run produced, plus any committed page under `agent/` it no longer emits. */
11
+ checked: number;
12
+ /** Set when the gate could not run at all. */
13
+ error?: string;
14
+ }
15
+ export interface ComputeDocsDriftArgs {
16
+ /** Absolute project root — what `meta docs` would be pointed at. */
17
+ projectRoot: string;
18
+ /** The committed docs directory, already resolved (the project's `docs.outDir`). */
19
+ docsDir: string;
20
+ /** Process cwd to hand the docs command, for parity with a direct invocation. */
21
+ cwd: string;
22
+ }
23
+ /**
24
+ * Regenerate the docs into a temp tree and diff it against the committed one.
25
+ *
26
+ * A non-zero exit from the docs command is returned as `error` rather than as drift: a run
27
+ * that could not produce the pages has not shown that the committed ones are wrong, and
28
+ * reporting it as drift would send a reader to edit files that are probably fine.
29
+ */
30
+ export declare function computeDocsDrift(args: ComputeDocsDriftArgs): Promise<DocsDriftResult>;
31
+ //# sourceMappingURL=docs-drift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/docs-drift.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,KAAK,EAAE,OAAO,CAAC;IACf;yDACqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;mFAC+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4DD,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgF3F"}