@metaobjectsdev/cli 1.0.0-rc.5 → 1.0.0-rc.6

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 (106) hide show
  1. package/dist/src/commands/docs.d.ts.map +1 -1
  2. package/dist/src/commands/docs.js +41 -9
  3. package/dist/src/commands/docs.js.map +1 -1
  4. package/dist/src/commands/gen.d.ts +5 -0
  5. package/dist/src/commands/gen.d.ts.map +1 -1
  6. package/dist/src/commands/gen.js +12 -1
  7. package/dist/src/commands/gen.js.map +1 -1
  8. package/dist/src/commands/init.d.ts.map +1 -1
  9. package/dist/src/commands/init.js +27 -3
  10. package/dist/src/commands/init.js.map +1 -1
  11. package/dist/src/commands/migrate.d.ts +5 -0
  12. package/dist/src/commands/migrate.d.ts.map +1 -1
  13. package/dist/src/commands/migrate.js +10 -4
  14. package/dist/src/commands/migrate.js.map +1 -1
  15. package/dist/src/commands/prompt-snapshot.d.ts.map +1 -1
  16. package/dist/src/commands/prompt-snapshot.js +2 -1
  17. package/dist/src/commands/prompt-snapshot.js.map +1 -1
  18. package/dist/src/commands/types.d.ts.map +1 -1
  19. package/dist/src/commands/types.js +12 -3
  20. package/dist/src/commands/types.js.map +1 -1
  21. package/dist/src/commands/upgrade.d.ts.map +1 -1
  22. package/dist/src/commands/upgrade.js +38 -4
  23. package/dist/src/commands/upgrade.js.map +1 -1
  24. package/dist/src/commands/verify.d.ts.map +1 -1
  25. package/dist/src/commands/verify.js +69 -21
  26. package/dist/src/commands/verify.js.map +1 -1
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/index.js +37 -18
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/lib/advisory.d.ts +6 -0
  31. package/dist/src/lib/advisory.d.ts.map +1 -1
  32. package/dist/src/lib/advisory.js +13 -0
  33. package/dist/src/lib/advisory.js.map +1 -1
  34. package/dist/src/lib/anti-patterns.d.ts.map +1 -1
  35. package/dist/src/lib/anti-patterns.js +2 -4
  36. package/dist/src/lib/anti-patterns.js.map +1 -1
  37. package/dist/src/lib/args.d.ts +23 -12
  38. package/dist/src/lib/args.d.ts.map +1 -1
  39. package/dist/src/lib/args.js +33 -22
  40. package/dist/src/lib/args.js.map +1 -1
  41. package/dist/src/lib/base-url-advisory.d.ts +37 -0
  42. package/dist/src/lib/base-url-advisory.d.ts.map +1 -0
  43. package/dist/src/lib/base-url-advisory.js +162 -0
  44. package/dist/src/lib/base-url-advisory.js.map +1 -0
  45. package/dist/src/lib/codegen-drift.d.ts +8 -0
  46. package/dist/src/lib/codegen-drift.d.ts.map +1 -1
  47. package/dist/src/lib/codegen-drift.js +43 -10
  48. package/dist/src/lib/codegen-drift.js.map +1 -1
  49. package/dist/src/lib/detect-stack.d.ts +17 -0
  50. package/dist/src/lib/detect-stack.d.ts.map +1 -1
  51. package/dist/src/lib/detect-stack.js +64 -2
  52. package/dist/src/lib/detect-stack.js.map +1 -1
  53. package/dist/src/lib/docs-drift.d.ts.map +1 -1
  54. package/dist/src/lib/docs-drift.js +16 -7
  55. package/dist/src/lib/docs-drift.js.map +1 -1
  56. package/dist/src/lib/git-ignore.d.ts +19 -0
  57. package/dist/src/lib/git-ignore.d.ts.map +1 -1
  58. package/dist/src/lib/git-ignore.js +46 -3
  59. package/dist/src/lib/git-ignore.js.map +1 -1
  60. package/dist/src/lib/ignored-scaffold-check.d.ts +12 -0
  61. package/dist/src/lib/ignored-scaffold-check.d.ts.map +1 -0
  62. package/dist/src/lib/ignored-scaffold-check.js +75 -0
  63. package/dist/src/lib/ignored-scaffold-check.js.map +1 -0
  64. package/dist/src/lib/load-error.d.ts +46 -0
  65. package/dist/src/lib/load-error.d.ts.map +1 -0
  66. package/dist/src/lib/load-error.js +51 -0
  67. package/dist/src/lib/load-error.js.map +1 -0
  68. package/dist/src/lib/manifest-ignored-check.d.ts.map +1 -1
  69. package/dist/src/lib/manifest-ignored-check.js +19 -6
  70. package/dist/src/lib/manifest-ignored-check.js.map +1 -1
  71. package/dist/src/lib/output.d.ts +13 -1
  72. package/dist/src/lib/output.d.ts.map +1 -1
  73. package/dist/src/lib/output.js +26 -8
  74. package/dist/src/lib/output.js.map +1 -1
  75. package/dist/src/lib/rel-posix.d.ts +5 -0
  76. package/dist/src/lib/rel-posix.d.ts.map +1 -0
  77. package/dist/src/lib/rel-posix.js +23 -0
  78. package/dist/src/lib/rel-posix.js.map +1 -0
  79. package/dist/src/lib/replay-remedy.d.ts +2 -0
  80. package/dist/src/lib/replay-remedy.d.ts.map +1 -0
  81. package/dist/src/lib/replay-remedy.js +69 -0
  82. package/dist/src/lib/replay-remedy.js.map +1 -0
  83. package/package.json +10 -10
  84. package/src/commands/docs.ts +51 -12
  85. package/src/commands/gen.ts +14 -1
  86. package/src/commands/init.ts +27 -3
  87. package/src/commands/migrate.ts +12 -4
  88. package/src/commands/prompt-snapshot.ts +2 -1
  89. package/src/commands/types.ts +12 -3
  90. package/src/commands/upgrade.ts +44 -4
  91. package/src/commands/verify.ts +74 -23
  92. package/src/index.ts +37 -18
  93. package/src/lib/advisory.ts +15 -0
  94. package/src/lib/anti-patterns.ts +2 -5
  95. package/src/lib/args.ts +60 -39
  96. package/src/lib/base-url-advisory.ts +173 -0
  97. package/src/lib/codegen-drift.ts +52 -9
  98. package/src/lib/detect-stack.ts +73 -2
  99. package/src/lib/docs-drift.ts +17 -7
  100. package/src/lib/git-ignore.ts +47 -3
  101. package/src/lib/ignored-scaffold-check.ts +78 -0
  102. package/src/lib/load-error.ts +89 -0
  103. package/src/lib/manifest-ignored-check.ts +21 -6
  104. package/src/lib/output.ts +36 -8
  105. package/src/lib/rel-posix.ts +25 -0
  106. package/src/lib/replay-remedy.ts +78 -0
@@ -74,8 +74,11 @@ export function parseGenArgs(argv) {
74
74
  allowPositionals: true,
75
75
  });
76
76
  const baselineRaw = values.baseline;
77
- if (baselineRaw !== undefined && baselineRaw !== "default" && baselineRaw !== "fresh") {
78
- throw new Error(`invalid --baseline '${baselineRaw}'; expected 'default' or 'fresh'`);
77
+ if (baselineRaw !== undefined &&
78
+ baselineRaw !== "default" &&
79
+ baselineRaw !== "fresh" &&
80
+ baselineRaw !== "adopt") {
81
+ throw new Error(`invalid --baseline '${baselineRaw}'; expected 'default', 'adopt' or 'fresh'`);
79
82
  }
80
83
  return {
81
84
  dryRun: !!values["dry-run"],
@@ -158,7 +161,7 @@ export const VERIFY_OPTIONS = {
158
161
  prompts: { type: "string" },
159
162
  db: { type: "string" },
160
163
  dialect: { type: "string" },
161
- allow: { type: "string" },
164
+ allow: { type: "string", multiple: true },
162
165
  "skip-schema": { type: "boolean", default: false },
163
166
  templates: { type: "boolean", default: false },
164
167
  codegen: { type: "boolean", default: false },
@@ -172,6 +175,30 @@ export const VERIFY_OPTIONS = {
172
175
  "remote": { type: "boolean", default: false },
173
176
  "limit": { type: "string" },
174
177
  };
178
+ /**
179
+ * The `--allow` tokens for one invocation, from EVERY occurrence of the flag.
180
+ *
181
+ * `--allow` is comma-separated, and repeating it is the natural reading (it is what
182
+ * `--server` does). It used to take the LAST occurrence only, so
183
+ * `--allow drop-fk --allow drop-view` silently discarded `drop-fk` and then printed
184
+ * "re-run with --allow drop-fk to apply" seven times — an instruction the user had just
185
+ * followed. Both spellings, and any mixture of them, now mean the union.
186
+ *
187
+ * Duplicates collapse: asking for the same permission twice is one permission.
188
+ */
189
+ function parseAllowTokens(raw) {
190
+ const occurrences = raw === undefined ? [] : Array.isArray(raw) ? raw : [raw];
191
+ const seen = new Set();
192
+ for (const occurrence of occurrences) {
193
+ for (const tok of occurrence.split(",").map((t) => t.trim()).filter((t) => t.length > 0)) {
194
+ if (!ALLOW_TOKENS.includes(tok)) {
195
+ throw new Error(`invalid --allow token '${tok}'; expected one of: ${ALLOW_TOKENS.join(", ")}`);
196
+ }
197
+ seen.add(tok);
198
+ }
199
+ }
200
+ return [...seen];
201
+ }
175
202
  export function parseVerifyArgs(argv) {
176
203
  const { values } = parseArgs({
177
204
  args: argv,
@@ -183,15 +210,7 @@ export function parseVerifyArgs(argv) {
183
210
  if (dialect !== undefined && !DIALECTS.includes(dialect)) {
184
211
  throw new Error(`invalid --dialect '${dialect}'; expected: ${DIALECTS.join(", ")}`);
185
212
  }
186
- const allowRaw = values.allow ?? "";
187
- const allowTokens = allowRaw.length === 0
188
- ? []
189
- : allowRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
190
- for (const tok of allowTokens) {
191
- if (!ALLOW_TOKENS.includes(tok)) {
192
- throw new Error(`invalid --allow token '${tok}'; expected one of: ${ALLOW_TOKENS.join(", ")}`);
193
- }
194
- }
213
+ const allowTokens = parseAllowTokens(values.allow);
195
214
  const templates = !!values.templates;
196
215
  const codegen = !!values.codegen;
197
216
  const docs = !!values.docs;
@@ -253,7 +272,7 @@ export const MIGRATE_OPTIONS = {
253
272
  "migration-format": { type: "string" },
254
273
  "out-dir": { type: "string" },
255
274
  "slug": { type: "string" },
256
- "allow": { type: "string" },
275
+ "allow": { type: "string", multiple: true },
257
276
  "on-ambiguous": { type: "string" },
258
277
  "dry-run": { type: "boolean", default: false },
259
278
  "from-db": { type: "boolean", default: false },
@@ -292,15 +311,7 @@ export function parseMigrateArgs(argv) {
292
311
  if (onAmb !== undefined && !ON_AMBIGUOUS.includes(onAmb)) {
293
312
  throw new Error(`invalid --on-ambiguous '${onAmb}'; expected: ${ON_AMBIGUOUS.join(", ")}`);
294
313
  }
295
- const allowRaw = values.allow ?? "";
296
- const allowTokens = allowRaw.length === 0
297
- ? []
298
- : allowRaw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
299
- for (const tok of allowTokens) {
300
- if (!ALLOW_TOKENS.includes(tok)) {
301
- throw new Error(`invalid --allow token '${tok}'; expected one of: ${ALLOW_TOKENS.join(", ")}`);
302
- }
303
- }
314
+ const allowTokens = parseAllowTokens(values.allow);
304
315
  return {
305
316
  db: values.db,
306
317
  dialect: dialect,
@@ -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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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * F52 — a provider mounted with no `baseUrl` on a project whose `apiPrefix` is not empty.
3
+ *
4
+ * 1.0 moved `$apiPrefix` out of the entity descriptor: a browser's base URL is a
5
+ * DEPLOYMENT fact, so the provider supplies it at runtime. The migration note argues the
6
+ * rename is safe because `<EntityFetcherProvider value={…}>` no longer typechecks — and
7
+ * that is true for the adopter who leaves `value` alone. It says nothing about the
8
+ * adopter who reads the note, renames `value` → `fetcher`, and stops: `baseUrl` is
9
+ * OPTIONAL with default `""`, so that tree compiles clean and every generated hook has
10
+ * quietly lost its `/api` segment. Nothing at the type level can see it, and on the
11
+ * estate where this was found nothing else could either — `vite build` transpiles without
12
+ * typechecking, so `build`, 150 tests and every `meta verify` gate were green over a
13
+ * storefront and an admin app whose entire generated CRUD surface would have 404'd.
14
+ *
15
+ * So this is the only gate that can catch it, and it is a WARNING: `baseUrl` is genuinely
16
+ * optional, a project may serve its API at the origin root, and a prefix can legitimately
17
+ * come from somewhere this scan cannot read. It never touches an exit code.
18
+ *
19
+ * It fires ONLY when `apiPrefix` is non-empty — the `meta init` scaffold sets `""`, which
20
+ * is exactly why the trap is easy to ship: the default-configured project is the one the
21
+ * design was reasoned about.
22
+ */
23
+ export interface BaseUrlFinding {
24
+ file: string;
25
+ line: number;
26
+ /** The provider construct found without a base. */
27
+ construct: string;
28
+ message: string;
29
+ }
30
+ /**
31
+ * Scan a project tree for providers mounted without a base.
32
+ *
33
+ * Returns [] when `apiPrefix` is empty — there is nothing to lose then, and warning would
34
+ * fire on every scaffolded project.
35
+ */
36
+ export declare function scanForMissingBaseUrl(root: string, apiPrefix: string): BaseUrlFinding[];
37
+ //# sourceMappingURL=base-url-advisory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-url-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAKvF"}
@@ -0,0 +1,162 @@
1
+ import { readdirSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { relPosix } from "./rel-posix.js";
4
+ const IGNORE_SEGMENTS = new Set([
5
+ "node_modules", ".git", "dist", "build", ".next", ".turbo", ".output",
6
+ "coverage", ".metaobjects", ".wrangler",
7
+ ]);
8
+ const SCAN_EXT = /\.(?:ts|tsx|js|jsx|mjs)$/;
9
+ const SKIP_FILE = /(?:\.d\.ts$|\.test\.|\.spec\.)/;
10
+ /**
11
+ * The two ways a base is supplied, one per client tier.
12
+ *
13
+ * Matched across the WHOLE opening construct rather than a single line, because a JSX
14
+ * provider is nearly always written multi-line — a per-line rule (which is what the
15
+ * anti-pattern scan uses) would miss the formatting every real codebase has.
16
+ */
17
+ const PROVIDERS = [
18
+ { construct: "<EntityFetcherProvider>", open: /<EntityFetcherProvider\b/g, kind: "jsx" },
19
+ { construct: "provideEntityFetcher()", open: /provideEntityFetcher\s*\(/g, kind: "call" },
20
+ ];
21
+ /**
22
+ * The text of the opening construct that begins at `start`.
23
+ *
24
+ * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
25
+ * than a bracket count, because a bracket count is what the first version was and it was
26
+ * wrong in both directions:
27
+ *
28
+ * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
29
+ * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
30
+ * correct provider.
31
+ * <EntityFetcherProvider fetcher={mk(")")}>
32
+ * → the unbalanced `)` inside a string meant depth never returned to 0, so the
33
+ * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
34
+ * a real finding.
35
+ *
36
+ * So string literals (all three quote styles, with escapes), line comments and block
37
+ * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
38
+ * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
39
+ * tag is vanishingly rare next to the cost of getting it wrong.
40
+ *
41
+ * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
42
+ * it early.
43
+ *
44
+ * Both bail after a generous cap rather than scanning a whole minified file when a
45
+ * construct is unterminated.
46
+ */
47
+ function constructText(src, start, kind) {
48
+ const limit = Math.min(src.length, start + 4000);
49
+ let depth = 0;
50
+ for (let i = start; i < limit; i++) {
51
+ const c = src[i];
52
+ // --- skip what is not code -------------------------------------------------
53
+ if (c === '"' || c === "'" || c === "`") {
54
+ i++;
55
+ while (i < limit && src[i] !== c) {
56
+ if (src[i] === "\\")
57
+ i++;
58
+ i++;
59
+ }
60
+ continue;
61
+ }
62
+ if (c === "/" && src[i + 1] === "/") {
63
+ while (i < limit && src[i] !== "\n")
64
+ i++;
65
+ continue;
66
+ }
67
+ if (c === "/" && src[i + 1] === "*") {
68
+ i += 2;
69
+ while (i < limit && !(src[i] === "*" && src[i + 1] === "/"))
70
+ i++;
71
+ i++;
72
+ continue;
73
+ }
74
+ // --- code ------------------------------------------------------------------
75
+ if (kind === "jsx" && c === ">" && depth === 0)
76
+ return src.slice(start, i + 1);
77
+ if (c === "{" || c === "(" || c === "[")
78
+ depth++;
79
+ else if (c === "}" || c === ")" || c === "]") {
80
+ if (kind === "call" && depth === 1 && c === ")")
81
+ return src.slice(start, i + 1);
82
+ depth--;
83
+ }
84
+ }
85
+ return src.slice(start, limit);
86
+ }
87
+ function scanFile(rel, src, apiPrefix) {
88
+ const out = [];
89
+ for (const { construct, open, kind } of PROVIDERS) {
90
+ open.lastIndex = 0;
91
+ let m;
92
+ while ((m = open.exec(src)) !== null) {
93
+ const text = constructText(src, m.index, kind);
94
+ if (/\bbaseUrl\b/.test(text))
95
+ continue;
96
+ const line = src.slice(0, m.index).split("\n").length;
97
+ out.push({
98
+ file: rel, line, construct,
99
+ message: `${rel}:${line} — ${construct} is mounted with no baseUrl, but this project's ` +
100
+ `apiPrefix is "${apiPrefix}". Every generated hook fetches a path RELATIVE to ` +
101
+ `baseUrl, which defaults to "", so those requests go to the origin root and miss ` +
102
+ `"${apiPrefix}". Pass baseUrl (a literal, or your build's env var). If the API ` +
103
+ `really is served at the root here, this is a false positive — ignore it.`,
104
+ });
105
+ }
106
+ }
107
+ return out;
108
+ }
109
+ function walk(dir, root, acc, apiPrefix) {
110
+ let entries;
111
+ try {
112
+ entries = readdirSync(dir, { withFileTypes: true });
113
+ }
114
+ catch {
115
+ return;
116
+ }
117
+ for (const e of entries) {
118
+ if (IGNORE_SEGMENTS.has(e.name))
119
+ continue;
120
+ const abs = join(dir, e.name);
121
+ // Symlinked directories are NOT followed — same as the anti-pattern scan beside it.
122
+ //
123
+ // The first version did follow them, with a comment claiming it "never re-enters
124
+ // one". There was no visited set, so `src/loop -> <root>` produced 41 findings for a
125
+ // single file (`src/loop/src/loop/…`), terminating only because Linux's 40-symlink
126
+ // ELOOP limit made readdirSync throw into the catch below. It also meant a link
127
+ // pointing outside the project — a monorepo sibling, a linked package — got walked on
128
+ // every `meta verify`. A provider reachable only through a symlink is reachable
129
+ // through its real path too, so following them buys nothing and the duplicates
130
+ // inflate the count the header prints.
131
+ if (e.isDirectory()) {
132
+ walk(abs, root, acc, apiPrefix);
133
+ continue;
134
+ }
135
+ if (!SCAN_EXT.test(e.name) || SKIP_FILE.test(e.name))
136
+ continue;
137
+ let src;
138
+ try {
139
+ src = readFileSync(abs, "utf8");
140
+ }
141
+ catch {
142
+ continue;
143
+ }
144
+ if (!src.includes("EntityFetcher"))
145
+ continue;
146
+ acc.push(...scanFile(relPosix(root, abs), src, apiPrefix));
147
+ }
148
+ }
149
+ /**
150
+ * Scan a project tree for providers mounted without a base.
151
+ *
152
+ * Returns [] when `apiPrefix` is empty — there is nothing to lose then, and warning would
153
+ * fire on every scaffolded project.
154
+ */
155
+ export function scanForMissingBaseUrl(root, apiPrefix) {
156
+ if (apiPrefix === "")
157
+ return [];
158
+ const acc = [];
159
+ walk(root, root, acc, apiPrefix);
160
+ return acc;
161
+ }
162
+ //# sourceMappingURL=base-url-advisory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-url-advisory.js","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,14 @@ export interface CodegenDriftResult {
7
7
  driftedFiles: string[];
8
8
  /** Human-readable, one-line-per-file drift summary. */
9
9
  lines: string[];
10
+ /**
11
+ * The subset of `driftedFiles` convicted for being a HAND-EDITED names artifact,
12
+ * sorted. Reported rather than left to the caller to re-derive, because the remedy
13
+ * differs in kind: `meta gen` MERGES a hand edit and exits 0, so prescribing it for
14
+ * one of these is an unbreakable loop — the same loop the hand-edit exemption exists
15
+ * to end. Two doors asking one question must not answer it twice.
16
+ */
17
+ handEditedNames: string[];
10
18
  /** Set when the gate could not run (e.g. no outDir to compare against). */
11
19
  error?: string;
12
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAwI7B"}
1
+ {"version":3,"file":"codegen-drift.d.ts","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAMzD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CA0K7B"}
@@ -30,7 +30,7 @@
30
30
  import { mkdtempSync, rmSync, existsSync, readFileSync, readdirSync, statSync, cpSync, } from "node:fs";
31
31
  import { tmpdir } from "node:os";
32
32
  import { join, relative, resolve, isAbsolute } from "node:path";
33
- import { runGen, contentHash, readGeneratedHash, listGeneratedPaths, } from "@metaobjectsdev/codegen-ts";
33
+ import { runGen, contentHash, readGeneratedHash, listGeneratedPaths, NAMES_FILE_SUFFIX, } from "@metaobjectsdev/codegen-ts";
34
34
  /** Collect the committed outDirs declared by the config (default + per-target),
35
35
  * resolved against `projectRoot` — a relative outDir (the common, portable,
36
36
  * `meta init`-scaffolded shape) must resolve against the project the CLI's
@@ -91,6 +91,7 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
91
91
  clean: false,
92
92
  driftedFiles: [],
93
93
  lines: [],
94
+ handEditedNames: [],
94
95
  error: "verify --codegen: no outDir configured — cannot locate the committed " +
95
96
  "generated output to diff against. Set 'outDir' (and/or per-target " +
96
97
  "outDir) in metaobjects.config.ts.",
@@ -153,6 +154,7 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
153
154
  // Diff each committed outDir against its temp mirror.
154
155
  const driftedFiles = new Set();
155
156
  const lines = [];
157
+ const handEditedNames = new Set();
156
158
  // Whether we have any record of what we wrote here. With records, the orphan
157
159
  // branch below can scope itself to our own output; with none, it cannot tell
158
160
  // our stale output from a stranger's file, so the old verdict stands.
@@ -190,20 +192,51 @@ export async function computeCodegenDrift(config, metadata, projectRoot, scope)
190
192
  else {
191
193
  const a = readFileSync(join(committed, rel), "utf8");
192
194
  const b = readFileSync(join(fresh, rel), "utf8");
193
- // Not `a !== b` alone: that convicts the hand edit `meta gen` preserved.
194
- // The question this gate can honestly answer is "is the GENERATED
195
- // contribution current?", and the recorded hash answers exactly it.
196
- // FAILS CLOSED, matching `isPristineGenerated`: with no recorded hash
197
- // nothing is proven, so the old byte verdict stands.
198
- if (a !== b && readGeneratedHash(projectGenStateDir, relKey) !== contentHash(b)) {
199
- driftedFiles.add(relKey);
200
- lines.push(`~ ${relKey} (committed content differs from a fresh regen)`);
195
+ if (a !== b) {
196
+ // A `<Entity>Names` artifact is the ONE generated file where a hand edit is
197
+ // itself the defect, so the exemption below does not reach it. RULED: if you
198
+ // want a constant of your own, put it in a file of your own.
199
+ //
200
+ // The exemption exists because `meta gen` MERGES a hand edit and reports
201
+ // "merged", so convicting it printed a remedy that could not work — gen
202
+ // merges again and the next verify fails identically. A names artifact is not
203
+ // that shape. It is a module of physical database names, every value a string:
204
+ // no compiler can see a wrong one, no test reads it, and the whole point of
205
+ // the artifact is that a name is spelled ONCE per run and referenced. So an
206
+ // edited one silently renames a column for every consumer of it, while the
207
+ // gate reports "generated output is in sync with the metadata" — the exact
208
+ // failure the artifact was added to prevent, committed inside the artifact.
209
+ //
210
+ // Keyed on the suffix the emitter and the reference template both spell from
211
+ // one constant. An adopter who owns the generator and RENAMES the artifact
212
+ // opts out of this — stated rather than hidden; the gate cannot recognise a
213
+ // file shape it was never told about.
214
+ if (rel.endsWith(NAMES_FILE_SUFFIX)) {
215
+ driftedFiles.add(relKey);
216
+ handEditedNames.add(relKey);
217
+ lines.push(`~ ${relKey} (hand-edited; a names artifact must match a fresh regen exactly — ` +
218
+ `put constants of your own in a file of your own)`);
219
+ }
220
+ else if (readGeneratedHash(projectGenStateDir, relKey) !== contentHash(b)) {
221
+ // Not `a !== b` alone: that convicts the hand edit `meta gen` preserved.
222
+ // The question this gate can honestly answer is "is the GENERATED
223
+ // contribution current?", and the recorded hash answers exactly it.
224
+ // FAILS CLOSED, matching `isPristineGenerated`: with no recorded hash
225
+ // nothing is proven, so the old byte verdict stands.
226
+ driftedFiles.add(relKey);
227
+ lines.push(`~ ${relKey} (committed content differs from a fresh regen)`);
228
+ }
201
229
  }
202
230
  }
203
231
  }
204
232
  }
205
233
  const sorted = [...driftedFiles].sort();
206
- return { clean: sorted.length === 0, driftedFiles: sorted, lines };
234
+ return {
235
+ clean: sorted.length === 0,
236
+ driftedFiles: sorted,
237
+ lines,
238
+ handEditedNames: [...handEditedNames].sort(),
239
+ };
207
240
  }
208
241
  finally {
209
242
  rmSync(tempRoot, { recursive: true, force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-drift.js","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-drift.js","sourceRoot":"","sources":["../../../src/lib/codegen-drift.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import { type Stack } from "@metaobjectsdev/sdk/agent-context";
2
+ /**
3
+ * Refuse an unknown `--server` / `--client` value instead of dropping it.
4
+ *
5
+ * `--server node` — the CLI's own help example — used to exit 0 with no warning and record
6
+ * `"servers": []`. Worse than the missing four reference fragments: a non-empty override
7
+ * array suppresses BOTH the prior manifest's stack and detection, so the emitted context then
8
+ * declared "Stack: no server, no client" and told the agent that this project has no
9
+ * `metaobjects.config.ts` — about a project with a Fastify server, a React client, and the
10
+ * very config file the same CLI had just read. One silently-dropped flag value made three
11
+ * statements false in the artifact whose whole job is to orient an agent correctly.
12
+ *
13
+ * Either accept the value or say so; never neither.
14
+ */
15
+ export declare function assertKnownStackValues(overrides: {
16
+ servers: string[];
17
+ clients: string[];
18
+ }): void;
2
19
  /** Resolve the stack: explicit --server/--client overrides take precedence; otherwise detect.
3
20
  * Concern tokens (e.g. requirements) are always OBSERVED from project state, independent of
4
21
  * any --server/--client override — a concern is not a stack axis. */
@@ -1 +1 @@
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
+ {"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;AA0E3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAoBhG;AAED;;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,CAcnH"}
@@ -41,14 +41,76 @@ async function probe(cwd) {
41
41
  hasRequirementNodes: () => requirementNodes,
42
42
  };
43
43
  }
44
+ /**
45
+ * Spellings accepted for a stack value that is not the canonical one.
46
+ *
47
+ * `node` is here because the CLI's OWN `--help` gives it as an example of `--server`, and it
48
+ * is the more natural word for a Fastify backend run by the Node CLI. It used to be filtered
49
+ * out silently — see `assertKnownStackValues` for what that silence cost.
50
+ */
51
+ const SERVER_ALIASES = {
52
+ node: "typescript",
53
+ nodejs: "typescript",
54
+ ts: "typescript",
55
+ "c#": "csharp",
56
+ dotnet: "csharp",
57
+ py: "python",
58
+ };
59
+ const CLIENT_ALIASES = {
60
+ reactjs: "react",
61
+ "react-query": "tanstack",
62
+ };
63
+ /** Canonicalize one value, or `undefined` when it names nothing we know. */
64
+ function canonical(raw, valid, aliases) {
65
+ const v = raw.trim().toLowerCase();
66
+ if (valid.includes(v))
67
+ return v;
68
+ return aliases[v];
69
+ }
70
+ /**
71
+ * Refuse an unknown `--server` / `--client` value instead of dropping it.
72
+ *
73
+ * `--server node` — the CLI's own help example — used to exit 0 with no warning and record
74
+ * `"servers": []`. Worse than the missing four reference fragments: a non-empty override
75
+ * array suppresses BOTH the prior manifest's stack and detection, so the emitted context then
76
+ * declared "Stack: no server, no client" and told the agent that this project has no
77
+ * `metaobjects.config.ts` — about a project with a Fastify server, a React client, and the
78
+ * very config file the same CLI had just read. One silently-dropped flag value made three
79
+ * statements false in the artifact whose whole job is to orient an agent correctly.
80
+ *
81
+ * Either accept the value or say so; never neither.
82
+ */
83
+ export function assertKnownStackValues(overrides) {
84
+ const bad = [];
85
+ for (const s of overrides.servers) {
86
+ if (canonical(s, SERVER_LANGS, SERVER_ALIASES) === undefined) {
87
+ bad.push(`--server ${s} (known: ${SERVER_LANGS.join(", ")})`);
88
+ }
89
+ }
90
+ for (const c of overrides.clients) {
91
+ if (canonical(c, CLIENT_FRAMEWORKS, CLIENT_ALIASES) === undefined) {
92
+ bad.push(`--client ${c} (known: ${CLIENT_FRAMEWORKS.join(", ")})`);
93
+ }
94
+ }
95
+ if (bad.length > 0) {
96
+ throw new Error(`unknown stack value(s): ${bad.join("; ")}. A value that names nothing is refused rather ` +
97
+ "than dropped: an empty stack suppresses both the prior manifest and detection, and the " +
98
+ "generated agent context then states the project has no server, no client and no " +
99
+ "metaobjects.config.ts.");
100
+ }
101
+ }
44
102
  /** Resolve the stack: explicit --server/--client overrides take precedence; otherwise detect.
45
103
  * Concern tokens (e.g. requirements) are always OBSERVED from project state, independent of
46
104
  * any --server/--client override — a concern is not a stack axis. */
47
105
  export async function resolveStack(cwd, overrides) {
48
106
  const validServers = SERVER_LANGS;
49
107
  const validClients = CLIENT_FRAMEWORKS;
50
- const oServers = overrides.servers.filter((s) => validServers.includes(s));
51
- const oClients = overrides.clients.filter((c) => validClients.includes(c));
108
+ const oServers = overrides.servers
109
+ .map((s) => canonical(s, validServers, SERVER_ALIASES))
110
+ .filter((s) => s !== undefined);
111
+ const oClients = overrides.clients
112
+ .map((c) => canonical(c, validClients, CLIENT_ALIASES))
113
+ .filter((c) => c !== undefined);
52
114
  const p = await probe(cwd);
53
115
  const concerns = detectConcerns(p);
54
116
  if (oServers.length > 0 || oClients.length > 0)
@@ -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":"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"}