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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/commands/upgrade.ts"],"names":[],"mappings":"AA0DA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsKjF"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/commands/upgrade.ts"],"names":[],"mappings":"AA0DA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+LjF"}
@@ -110,6 +110,13 @@ export async function upgradeCommand(args, cwd) {
110
110
  abstractAnchorTypes,
111
111
  ...(flags.maxVersion !== undefined ? { maxVersion: flags.maxVersion } : {}),
112
112
  };
113
+ // One retirement RULE, however many occurrences it has. An estate hit this with 24
114
+ // `@forge*` attributes, and the per-occurrence rationale turned the output into ~96
115
+ // lines saying one thing four times over — the wall that buries the instruction it is
116
+ // made of, which is the exact failure `runGen`'s no-manifest refusal aggregates to
117
+ // avoid. Keyed by the rendered text, so two rules that happen to read identically
118
+ // collapse and two that differ anywhere do not.
119
+ const rules = new Map();
113
120
  for (const file of files) {
114
121
  const rel = relative(projectRoot, file);
115
122
  const before = await readFile(file, "utf8");
@@ -133,21 +140,23 @@ export async function upgradeCommand(args, cwd) {
133
140
  for (const c of r.changes)
134
141
  log.info(` ${c.line}: @${c.from} → ${c.to}`);
135
142
  for (const f of r.refusals) {
136
- // The WHY and the replacement both print, and the guide is not an alternative to
137
- // them. This used to read `Retired in <since>. See <guide>` — dropping `why`
138
- // whenever a guide existed, which is almost always, and dropping `replacedBy`
139
- // unconditionally. For the `@forge*` entries that removed the only actionable
140
- // sentence there is ("opt the provider in explicitly"), and for an authored
141
- // `<type>.base` it announced a retirement of something that was never authorable —
142
- // telling the reader they used to have a working feature. Hence "no longer accepted
143
- // as of", which is true of both, with the carefully-written `why` beside it.
143
+ // The occurrence line is per-line information: file, line, subject, the value found.
144
+ // The RATIONALE that goes with it is per RULE and prints once, after the listing —
145
+ // see `rules` below.
144
146
  log.warn(` ${f.line}: ${f.subject}${f.value !== undefined ? `: ${f.value}` : ""} — needs a decision ` +
145
147
  `(no longer accepted as of ${f.since}).`);
146
- log.warn(` ${f.why}`);
147
- // The same suggestion list every OTHER door prints for a retirement, rather than a
148
- // second rendering of the same note that can drift from it.
149
- for (const line of retirementSuggestions(f))
150
- log.warn(` ${line}`);
148
+ const key = `${f.why}\u0000${retirementSuggestions(f).join("\u0000")}`;
149
+ const rule = rules.get(key);
150
+ if (rule === undefined) {
151
+ rules.set(key, {
152
+ why: f.why,
153
+ suggestions: retirementSuggestions(f),
154
+ subjects: new Set([f.subject]),
155
+ });
156
+ }
157
+ else {
158
+ rule.subjects.add(f.subject);
159
+ }
151
160
  }
152
161
  totalChanges += r.changes.length;
153
162
  totalRefusals += r.refusals.length;
@@ -158,6 +167,21 @@ export async function upgradeCommand(args, cwd) {
158
167
  }
159
168
  }
160
169
  log.info("");
170
+ // The WHY and the options, once per rule. Both print, and the guide is not an
171
+ // alternative to them: this used to read `Retired in <since>. See <guide>`, dropping
172
+ // `why` whenever a guide existed — which is almost always — and dropping `replacedBy`
173
+ // unconditionally. For the `@forge*` entries that removed the only actionable sentence
174
+ // there is ("opt the provider in explicitly"). The subject list is what lets a reader
175
+ // connect the paragraph back to the lines above it now that it prints away from them.
176
+ for (const rule of rules.values()) {
177
+ const subjects = [...rule.subjects].sort().join(", ");
178
+ log.warn(`\n ${subjects} — why, and what to do:`);
179
+ log.warn(` ${rule.why}`);
180
+ for (const line of rule.suggestions)
181
+ log.warn(` ${line}`);
182
+ }
183
+ if (rules.size > 0)
184
+ log.info("");
161
185
  if (notChecked.length > 0) {
162
186
  log.warn(`${notChecked.length} file(s) could not be parsed and were NOT checked — fix these ` +
163
187
  `first, then re-run:\n ${notChecked.join("\n ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anti-patterns.d.ts","sourceRoot":"","sources":["../../../src/lib/anti-patterns.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,GAAG,aAAa,GAAG,YAAY,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgGD,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AA4HD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,kBAAkB,EAAE,CAMtB"}
1
+ {"version":3,"file":"anti-patterns.d.ts","sourceRoot":"","sources":["../../../src/lib/anti-patterns.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,GAAG,aAAa,GAAG,YAAY,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgGD,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAgID;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,kBAAkB,EAAE,CAMtB"}
@@ -17,6 +17,7 @@
17
17
  import { readdirSync, readFileSync, statSync } from "node:fs";
18
18
  import { join } from "node:path";
19
19
  import { relPosix } from "./rel-posix.js";
20
+ import { looksBundled } from "./authored-source.js";
20
21
  // Directory segments and file patterns that are never authored app source.
21
22
  //
22
23
  // `migration` (SINGULAR) sits beside `migrations` because Flyway's own convention
@@ -229,6 +230,11 @@ function walk(dir, root, ignore, acc) {
229
230
  // Skip MetaObjects-generated output — it legitimately contains AVG/CHECK etc.
230
231
  if (text.slice(0, 600).includes(GENERATED_MARKER))
231
232
  continue;
233
+ // …and skip a BUNDLE, which is nobody's source. The 512KB gate above is about cost, not
234
+ // authorship: a 300KB minified file passes it while being just as unfixable. Same rule
235
+ // the base-URL advisory applies, from the same module. See lib/authored-source.ts.
236
+ if (looksBundled(text))
237
+ continue;
232
238
  const isSql = e.name.endsWith(".sql");
233
239
  const lines = text.split("\n");
234
240
  for (let i = 0; i < lines.length; i++) {
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Is this file text a HUMAN wrote, or a bundler's output?
3
+ *
4
+ * Both advisory scanners — the base-URL one and the anti-pattern one — exist to teach the
5
+ * author of a file something about the file. A bundle is not authored: nobody can act on a
6
+ * finding in it, the fix belongs in the source it was built from, and naming a generated
7
+ * artifact spends the scanners' whole false-positive budget in one line.
8
+ *
9
+ * The rule is a property of the ARTIFACT, not of a directory name. An estate proved why:
10
+ * its build output is `public/`, which no ignore list would have guessed (the lists cover
11
+ * `dist`, `build`, `.next`, `.output`, `out`), so `meta verify` reported
12
+ * `public/main.js:243 — <EntityFetcherProvider> is mounted with no baseUrl` while
13
+ * `client/src/main.tsx:26` — the source, the file a person edits — passes `baseUrl="/api"`
14
+ * correctly. Adding `public` to a list would have fixed that estate and nobody else.
15
+ *
16
+ * The two scanners keep their own walkers, deliberately (they diverge on eight axes and
17
+ * unifying them needs ~6 options for two callers). What they share is this judgment, so it
18
+ * lives here once rather than being decided twice.
19
+ */
20
+ /** True when `text` looks like build output rather than source someone edits. */
21
+ export declare function looksBundled(text: string): boolean;
22
+ //# sourceMappingURL=authored-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-source.d.ts","sourceRoot":"","sources":["../../../src/lib/authored-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUlD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Is this file text a HUMAN wrote, or a bundler's output?
3
+ *
4
+ * Both advisory scanners — the base-URL one and the anti-pattern one — exist to teach the
5
+ * author of a file something about the file. A bundle is not authored: nobody can act on a
6
+ * finding in it, the fix belongs in the source it was built from, and naming a generated
7
+ * artifact spends the scanners' whole false-positive budget in one line.
8
+ *
9
+ * The rule is a property of the ARTIFACT, not of a directory name. An estate proved why:
10
+ * its build output is `public/`, which no ignore list would have guessed (the lists cover
11
+ * `dist`, `build`, `.next`, `.output`, `out`), so `meta verify` reported
12
+ * `public/main.js:243 — <EntityFetcherProvider> is mounted with no baseUrl` while
13
+ * `client/src/main.tsx:26` — the source, the file a person edits — passes `baseUrl="/api"`
14
+ * correctly. Adding `public` to a list would have fixed that estate and nobody else.
15
+ *
16
+ * The two scanners keep their own walkers, deliberately (they diverge on eight axes and
17
+ * unifying them needs ~6 options for two callers). What they share is this judgment, so it
18
+ * lives here once rather than being decided twice.
19
+ */
20
+ /**
21
+ * Bundlers emit lines in the thousands-to-hundreds-of-thousands of characters; the estate
22
+ * bundle that produced the false positive has a longest line of 266,226. Authored source
23
+ * does not reach 5,000 — the threshold sits an order of magnitude above the longest line
24
+ * any human writes and an order of magnitude below what minification produces, so it is a
25
+ * wide gap rather than a tuned one.
26
+ *
27
+ * NOT `>= 512KB`, which `anti-patterns.ts` already applies for a different reason (cost):
28
+ * that gate is about how much work a scan does, and a 300KB bundle sails through it while
29
+ * being exactly as unauthored as a 700KB one.
30
+ */
31
+ const BUNDLED_LINE_LENGTH = 5000;
32
+ /** True when `text` looks like build output rather than source someone edits. */
33
+ export function looksBundled(text) {
34
+ // Scan for a long line without splitting the whole file: a 700KB bundle would otherwise
35
+ // allocate an array of it, and this runs per file on every `meta verify` / `meta gen`.
36
+ let lineStart = 0;
37
+ for (let i = 0; i < text.length; i++) {
38
+ if (text.charCodeAt(i) !== 10 /* \n */)
39
+ continue;
40
+ if (i - lineStart >= BUNDLED_LINE_LENGTH)
41
+ return true;
42
+ lineStart = i + 1;
43
+ }
44
+ return text.length - lineStart >= BUNDLED_LINE_LENGTH;
45
+ }
46
+ //# sourceMappingURL=authored-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored-source.js","sourceRoot":"","sources":["../../../src/lib/authored-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,wFAAwF;IACxF,uFAAuF;IACvF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ;YAAE,SAAS;QACjD,IAAI,CAAC,GAAG,SAAS,IAAI,mBAAmB;YAAE,OAAO,IAAI,CAAC;QACtD,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI,mBAAmB,CAAC;AACxD,CAAC"}
@@ -1 +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"}
1
+ {"version":3,"file":"base-url-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;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;AAqID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAKvF"}
@@ -1,6 +1,7 @@
1
1
  import { readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { relPosix } from "./rel-posix.js";
4
+ import { looksBundled } from "./authored-source.js";
4
5
  const IGNORE_SEGMENTS = new Set([
5
6
  "node_modules", ".git", "dist", "build", ".next", ".turbo", ".output",
6
7
  "coverage", ".metaobjects", ".wrangler",
@@ -143,6 +144,11 @@ function walk(dir, root, acc, apiPrefix) {
143
144
  }
144
145
  if (!src.includes("EntityFetcher"))
145
146
  continue;
147
+ // A bundle is not authored source: the fix belongs in the file it was built FROM, and
148
+ // an estate whose output directory is `public/` proved that no ignore list guesses the
149
+ // name. See lib/authored-source.ts.
150
+ if (looksBundled(src))
151
+ continue;
146
152
  acc.push(...scanFile(relPosix(root, abs), src, apiPrefix));
147
153
  }
148
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-url-advisory.js","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-url-advisory.js","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgCpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;IACrE,UAAU,EAAE,cAAc,EAAE,WAAW;CACxC,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAC5C,MAAM,SAAS,GAAG,gCAAgC,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,SAAS,GAAyE;IACtF,EAAE,SAAS,EAAE,yBAAyB,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,KAAK,EAAE;IACxF,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE;CAC1F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,KAAa,EAAE,IAAoB;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAElB,8EAA8E;QAC9E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;oBAAE,CAAC,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;YAAC,CAAC;YACpE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAC;YACjE,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7C,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChF,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,SAAiB;IAC3D,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS;gBAC1B,OAAO,EACL,GAAG,GAAG,IAAI,IAAI,MAAM,SAAS,kDAAkD;oBAC/E,iBAAiB,SAAS,qDAAqD;oBAC/E,kFAAkF;oBAClF,IAAI,SAAS,mEAAmE;oBAChF,0EAA0E;aAC7E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,GAAW,EAAE,IAAY,EAAE,GAAqB,EAAE,SAAiB;IAC/E,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO;IAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,oFAAoF;QACpF,EAAE;QACF,iFAAiF;QACjF,qFAAqF;QACrF,mFAAmF;QACnF,gFAAgF;QAChF,sFAAsF;QACtF,gFAAgF;QAChF,+EAA+E;QAC/E,uCAAuC;QACvC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/D,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YAAC,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,SAAS;QAC7C,sFAAsF;QACtF,uFAAuF;QACvF,oCAAoC;QACpC,IAAI,YAAY,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,SAAiB;IACnE,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,6 +1,19 @@
1
1
  import type { MetaDataTypeProvider, MetaobjectsGenConfig } from "@metaobjectsdev/codegen-ts";
2
2
  import { type Collection } from "@metaobjectsdev/sdk";
3
3
  export declare function removedGeneratorImportError(source: string): string | undefined;
4
+ /**
5
+ * The same diagnostic, recovered from the THROW instead of the source — for the case the
6
+ * source scan structurally cannot see: a removed export imported by a module the config
7
+ * imports, rather than by the config itself.
8
+ *
9
+ * It cannot name the file (the TypeError carries no reference back to the import that
10
+ * produced it — that limitation is real, it is just not a reason to say nothing), so it
11
+ * names what it does know: the symbol, the removal, and the one-command remedy. Matching is
12
+ * on the SYMBOL, not the message shape, because the shape is the transpiler's: Bun says
13
+ * `(0 , _generators.entityFile) is not a function` and Node ESM says
14
+ * `entityFile is not a function`.
15
+ */
16
+ export declare function removedGeneratorRuntimeError(err: unknown): string | undefined;
4
17
  /**
5
18
  * The `loadMemory` options a project's gen config contributes.
6
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA+IzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA6B9E;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,GACrE;IAAE,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAKhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqM9F"}
1
+ {"version":3,"file":"load-metaobjects-config.d.ts","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmJzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA6B9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmB7E;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,GACrE;IAAE,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAKhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgN9F"}
@@ -136,10 +136,14 @@ function resolveCliPkg(specifier) {
136
136
  * the supported home of the generators with no ownable copy), so nothing upstream of here
137
137
  * can tell a correct import from a removed one.
138
138
  *
139
- * It reads the config SOURCE rather than catching the throw because the throw happens inside
140
- * a generator factory call with no reference back to the import that produced it, and only a
141
- * config declaring one of these in `generators: [...]` throws at all — a stale type-only
142
- * import would fail silently at typecheck-time instead.
139
+ * It reads the config SOURCE because that is the arm that can name the FILE and the exact
140
+ * import. `removedGeneratorRuntimeError` below is the second arm, and an adopter estate is
141
+ * why there are two: the import does not have to be in the config. This project's config
142
+ * imported an OWNED generator — `./codegen/generators/entityFileTyped`, the shape `meta
143
+ * eject` itself produces — and THAT file carried the stale
144
+ * `import { entityFile } from "@metaobjectsdev/codegen-ts/generators"`. The source scan saw
145
+ * a clean config and the adopter got exactly the bare TypeError this check exists to
146
+ * prevent: `(0 , _generators.entityFile) is not a function`, exit 2, no file, no remedy.
143
147
  */
144
148
  const REMOVED_GENERATOR_EXPORTS = ["entityFile", "queriesFile", "routesFile", "barrel"];
145
149
  const GENERATORS_SUBPATH = "@metaobjectsdev/codegen-ts/generators";
@@ -170,6 +174,38 @@ export function removedGeneratorImportError(source) {
170
174
  `still live there. Only ${names.length === 1 ? "this one" : `these ${names.length}`} moved.\n` +
171
175
  ` Guide: docs/features/migrations/0.x-to-1.0.md §11`);
172
176
  }
177
+ /**
178
+ * The same diagnostic, recovered from the THROW instead of the source — for the case the
179
+ * source scan structurally cannot see: a removed export imported by a module the config
180
+ * imports, rather than by the config itself.
181
+ *
182
+ * It cannot name the file (the TypeError carries no reference back to the import that
183
+ * produced it — that limitation is real, it is just not a reason to say nothing), so it
184
+ * names what it does know: the symbol, the removal, and the one-command remedy. Matching is
185
+ * on the SYMBOL, not the message shape, because the shape is the transpiler's: Bun says
186
+ * `(0 , _generators.entityFile) is not a function` and Node ESM says
187
+ * `entityFile is not a function`.
188
+ */
189
+ export function removedGeneratorRuntimeError(err) {
190
+ const message = err instanceof Error ? err.message : String(err ?? "");
191
+ if (!/is not a function/.test(message))
192
+ return undefined;
193
+ const hit = REMOVED_GENERATOR_EXPORTS.find((n) => new RegExp(`\\b${n}\\b`).test(message));
194
+ if (hit === undefined)
195
+ return undefined;
196
+ const template = hit.replace(/File$/, "");
197
+ return (`${hit}() is not a function — 1.0 REMOVED it from "${GENERATORS_SUBPATH}" ` +
198
+ `(ADR-0034 scaffold-and-own): these generators are yours to own, so the package no ` +
199
+ `longer ships them as an import. Your metaobjects.config.ts does not import it, so ` +
200
+ `the import is in a module the config imports — most often an OWNED generator under ` +
201
+ `codegen/generators/, which is exactly what 'meta eject' writes.\n` +
202
+ ` Fix — copy it into your repo:\n meta eject ${template}\n` +
203
+ ` then change that module's import to: ` +
204
+ `import { ${hit} } from "./codegen/generators/${template}";\n` +
205
+ ` The subpath itself is fine — promptRender, outputParser, routesFileHono and the ` +
206
+ `rest still live there.\n` +
207
+ ` Guide: docs/features/migrations/0.x-to-1.0.md §11`);
208
+ }
173
209
  function rewriteImportSpecifiers(source, aliasMap) {
174
210
  let result = source;
175
211
  for (const [specifier, resolvedPath] of Object.entries(aliasMap)) {
@@ -445,7 +481,20 @@ export async function loadMetaobjectsConfig(projectRoot) {
445
481
  const prepareStackTraceBefore = Error.prepareStackTrace;
446
482
  const stackTraceLimitBefore = Error.stackTraceLimit;
447
483
  try {
448
- const raw = (await jiti.import(loadPath));
484
+ let raw;
485
+ try {
486
+ raw = (await jiti.import(loadPath));
487
+ }
488
+ catch (err) {
489
+ // The second arm of the ADR-0034 diagnostic: a removed export imported by a module the
490
+ // config imports rather than by the config itself. Rethrown as the migration message,
491
+ // because what reaches the adopter otherwise is `(0 , _generators.entityFile) is not a
492
+ // function` — the exact unactionable failure the source scan above exists to prevent.
493
+ const runtime = removedGeneratorRuntimeError(err);
494
+ if (runtime !== undefined)
495
+ throw new Error(runtime);
496
+ throw err;
497
+ }
449
498
  // jiti's interopDefault doesn't always unwrap the default export when accessed
450
499
  // across module boundaries — explicitly unwrap if present.
451
500
  const cfg = (raw && typeof raw === "object" && "default" in raw && raw.default
@@ -1 +1 @@
1
- {"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-metaobjects-config.js","sourceRoot":"","sources":["../../../src/lib/load-metaobjects-config.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,23 @@ export interface WranglerExecuteOptions {
6
6
  }
7
7
  export declare function buildWranglerExecuteArgs(opts: WranglerExecuteOptions): string[];
8
8
  /**
9
- * Run wrangler with the given args; return stdout. Stderr is included in the
10
- * error message when wrangler exits non-zero. `cwd` is the directory wrangler
9
+ * The reason to report when wrangler exits non-zero.
10
+ *
11
+ * **`--json` puts wrangler's error on STDOUT, and warnings on stderr.** This function
12
+ * exists because the runner used to report stderr alone, so a live D1 gate failing for
13
+ * want of a `CLOUDFLARE_API_TOKEN` told the adopter its cause was
14
+ * `▲ [WARNING] … "unsafe" fields are experimental` — a warning, named as the reason a
15
+ * schema gate failed, with the real cause discarded. Found by running an estate's own
16
+ * `verify:prod-schema` against production for the first time.
17
+ *
18
+ * Order: the structured error wrangler wrote, then stderr, then raw stdout, then the
19
+ * process's own message. Stderr is still consulted — a genuine wrangler failure that
20
+ * never reaches stdout must not be swallowed to fix the opposite mistake.
21
+ */
22
+ export declare function wranglerFailureReason(stdout: string, stderr: string, fallback: string): string;
23
+ /**
24
+ * Run wrangler with the given args; return stdout. The failure REASON is chosen by
25
+ * `wranglerFailureReason` when wrangler exits non-zero. `cwd` is the directory wrangler
11
26
  * runs in (defaults to process.cwd() — caller should pass the project root).
12
27
  */
13
28
  export type WranglerRunner = (args: string[], cwd: string) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/lib/wrangler.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAW/E;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1G,eAAO,MAAM,qBAAqB,EAAE,cAYnC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIjE"}
1
+ {"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/lib/wrangler.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAW/E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR;AAsBD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1G,eAAO,MAAM,qBAAqB,EAAE,cAYnC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIjE"}
@@ -13,6 +13,55 @@ export function buildWranglerExecuteArgs(opts) {
13
13
  }
14
14
  return args;
15
15
  }
16
+ /**
17
+ * The reason to report when wrangler exits non-zero.
18
+ *
19
+ * **`--json` puts wrangler's error on STDOUT, and warnings on stderr.** This function
20
+ * exists because the runner used to report stderr alone, so a live D1 gate failing for
21
+ * want of a `CLOUDFLARE_API_TOKEN` told the adopter its cause was
22
+ * `▲ [WARNING] … "unsafe" fields are experimental` — a warning, named as the reason a
23
+ * schema gate failed, with the real cause discarded. Found by running an estate's own
24
+ * `verify:prod-schema` against production for the first time.
25
+ *
26
+ * Order: the structured error wrangler wrote, then stderr, then raw stdout, then the
27
+ * process's own message. Stderr is still consulted — a genuine wrangler failure that
28
+ * never reaches stdout must not be swallowed to fix the opposite mistake.
29
+ */
30
+ export function wranglerFailureReason(stdout, stderr, fallback) {
31
+ const structured = structuredWranglerError(stdout);
32
+ if (structured !== undefined)
33
+ return structured;
34
+ const err = stderr.trim();
35
+ if (err.length > 0)
36
+ return err;
37
+ const out = stdout.trim();
38
+ if (out.length > 0)
39
+ return out;
40
+ return fallback;
41
+ }
42
+ /** wrangler's two `--json` error shapes: `{error:{text}}` / `{error}` and the
43
+ * `[{success:false,error}]` execute envelope. Anything else reads as absent. */
44
+ function structuredWranglerError(stdout) {
45
+ let parsed;
46
+ try {
47
+ parsed = JSON.parse(stdout);
48
+ }
49
+ catch {
50
+ return undefined;
51
+ }
52
+ const node = Array.isArray(parsed) ? parsed[0] : parsed;
53
+ if (node === null || typeof node !== "object")
54
+ return undefined;
55
+ const { error } = node;
56
+ if (typeof error === "string" && error.trim().length > 0)
57
+ return error.trim();
58
+ if (error !== null && typeof error === "object") {
59
+ const { text } = error;
60
+ if (typeof text === "string" && text.trim().length > 0)
61
+ return text.trim();
62
+ }
63
+ return undefined;
64
+ }
16
65
  export const defaultWranglerRunner = async (args, cwd) => {
17
66
  try {
18
67
  const { stdout, stderr } = await execFile("wrangler", args, { cwd, maxBuffer: 16 * 1024 * 1024 });
@@ -23,8 +72,8 @@ export const defaultWranglerRunner = async (args, cwd) => {
23
72
  if (e.code === "ENOENT") {
24
73
  throw new Error(`wrangler not found on PATH; install it: 'npm i -D wrangler'`);
25
74
  }
26
- const stderr = e.stderr ?? "";
27
- throw new Error(`wrangler ${args.join(" ")} failed: ${stderr || e.message}`);
75
+ const reason = wranglerFailureReason(e.stdout ?? "", e.stderr ?? "", e.message);
76
+ throw new Error(`wrangler ${args.join(" ")} failed: ${reason}`);
28
77
  }
29
78
  };
30
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../../../src/lib/wrangler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AASvC,MAAM,UAAU,wBAAwB,CAAC,IAA4B;IACnE,MAAM,IAAI,GAAa;QACrB,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO;QAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACpC,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,OAAO;KAC1B,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,CAAC,MAAM,qBAAqB,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QAClG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAmE,CAAC;QAC9E,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../../../src/lib/wrangler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/cli",
3
- "version": "1.0.0-rc.6",
3
+ "version": "1.0.0-rc.7",
4
4
  "description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -51,15 +51,15 @@
51
51
  "@biomejs/js-api": "^0.7.0",
52
52
  "@biomejs/wasm-nodejs": "^1.9.4",
53
53
  "@libsql/kysely-libsql": "^0.4.0",
54
- "@metaobjectsdev/codegen-ts": "1.0.0-rc.6",
55
- "@metaobjectsdev/codegen-ts-react": "1.0.0-rc.6",
56
- "@metaobjectsdev/codegen-ts-tanstack": "1.0.0-rc.6",
57
- "@metaobjectsdev/docs-site": "1.0.0-rc.6",
58
- "@metaobjectsdev/metadata": "1.0.0-rc.6",
59
- "@metaobjectsdev/migrate-ts": "1.0.0-rc.6",
60
- "@metaobjectsdev/render": "1.0.0-rc.6",
61
- "@metaobjectsdev/runtime-ts": "1.0.0-rc.6",
62
- "@metaobjectsdev/sdk": "1.0.0-rc.6",
54
+ "@metaobjectsdev/codegen-ts": "1.0.0-rc.7",
55
+ "@metaobjectsdev/codegen-ts-react": "1.0.0-rc.7",
56
+ "@metaobjectsdev/codegen-ts-tanstack": "1.0.0-rc.7",
57
+ "@metaobjectsdev/docs-site": "1.0.0-rc.7",
58
+ "@metaobjectsdev/metadata": "1.0.0-rc.7",
59
+ "@metaobjectsdev/migrate-ts": "1.0.0-rc.7",
60
+ "@metaobjectsdev/render": "1.0.0-rc.7",
61
+ "@metaobjectsdev/runtime-ts": "1.0.0-rc.7",
62
+ "@metaobjectsdev/sdk": "1.0.0-rc.7",
63
63
  "@toon-format/toon": "^2.3.0",
64
64
  "jiti": "^2.4.0"
65
65
  },
@@ -126,6 +126,14 @@ export async function upgradeCommand(args: string[], cwd: string): Promise<numbe
126
126
  ...(flags.maxVersion !== undefined ? { maxVersion: flags.maxVersion } : {}),
127
127
  };
128
128
 
129
+ // One retirement RULE, however many occurrences it has. An estate hit this with 24
130
+ // `@forge*` attributes, and the per-occurrence rationale turned the output into ~96
131
+ // lines saying one thing four times over — the wall that buries the instruction it is
132
+ // made of, which is the exact failure `runGen`'s no-manifest refusal aggregates to
133
+ // avoid. Keyed by the rendered text, so two rules that happen to read identically
134
+ // collapse and two that differ anywhere do not.
135
+ const rules = new Map<string, { why: string; suggestions: string[]; subjects: Set<string> }>();
136
+
129
137
  for (const file of files) {
130
138
  const rel = relative(projectRoot, file);
131
139
  const before = await readFile(file, "utf8");
@@ -148,22 +156,24 @@ export async function upgradeCommand(args: string[], cwd: string): Promise<numbe
148
156
  log.info(`\n${rel}`);
149
157
  for (const c of r.changes) log.info(` ${c.line}: @${c.from} → ${c.to}`);
150
158
  for (const f of r.refusals) {
151
- // The WHY and the replacement both print, and the guide is not an alternative to
152
- // them. This used to read `Retired in <since>. See <guide>` — dropping `why`
153
- // whenever a guide existed, which is almost always, and dropping `replacedBy`
154
- // unconditionally. For the `@forge*` entries that removed the only actionable
155
- // sentence there is ("opt the provider in explicitly"), and for an authored
156
- // `<type>.base` it announced a retirement of something that was never authorable —
157
- // telling the reader they used to have a working feature. Hence "no longer accepted
158
- // as of", which is true of both, with the carefully-written `why` beside it.
159
+ // The occurrence line is per-line information: file, line, subject, the value found.
160
+ // The RATIONALE that goes with it is per RULE and prints once, after the listing —
161
+ // see `rules` below.
159
162
  log.warn(
160
163
  ` ${f.line}: ${f.subject}${f.value !== undefined ? `: ${f.value}` : ""} — needs a decision ` +
161
164
  `(no longer accepted as of ${f.since}).`,
162
165
  );
163
- log.warn(` ${f.why}`);
164
- // The same suggestion list every OTHER door prints for a retirement, rather than a
165
- // second rendering of the same note that can drift from it.
166
- for (const line of retirementSuggestions(f)) log.warn(` ${line}`);
166
+ const key = `${f.why}\u0000${retirementSuggestions(f).join("\u0000")}`;
167
+ const rule = rules.get(key);
168
+ if (rule === undefined) {
169
+ rules.set(key, {
170
+ why: f.why,
171
+ suggestions: retirementSuggestions(f),
172
+ subjects: new Set([f.subject]),
173
+ });
174
+ } else {
175
+ rule.subjects.add(f.subject);
176
+ }
167
177
  }
168
178
 
169
179
  totalChanges += r.changes.length;
@@ -175,6 +185,21 @@ export async function upgradeCommand(args: string[], cwd: string): Promise<numbe
175
185
  }
176
186
 
177
187
  log.info("");
188
+
189
+ // The WHY and the options, once per rule. Both print, and the guide is not an
190
+ // alternative to them: this used to read `Retired in <since>. See <guide>`, dropping
191
+ // `why` whenever a guide existed — which is almost always — and dropping `replacedBy`
192
+ // unconditionally. For the `@forge*` entries that removed the only actionable sentence
193
+ // there is ("opt the provider in explicitly"). The subject list is what lets a reader
194
+ // connect the paragraph back to the lines above it now that it prints away from them.
195
+ for (const rule of rules.values()) {
196
+ const subjects = [...rule.subjects].sort().join(", ");
197
+ log.warn(`\n ${subjects} — why, and what to do:`);
198
+ log.warn(` ${rule.why}`);
199
+ for (const line of rule.suggestions) log.warn(` ${line}`);
200
+ }
201
+ if (rules.size > 0) log.info("");
202
+
178
203
  if (notChecked.length > 0) {
179
204
  log.warn(
180
205
  `${notChecked.length} file(s) could not be parsed and were NOT checked — fix these ` +
@@ -18,6 +18,7 @@
18
18
  import { readdirSync, readFileSync, statSync } from "node:fs";
19
19
  import { join } from "node:path";
20
20
  import { relPosix } from "./rel-posix.js";
21
+ import { looksBundled } from "./authored-source.js";
21
22
 
22
23
  export interface AntiPatternFinding {
23
24
  file: string; // path relative to the scan root (posix-ish, sep-normalized)
@@ -259,6 +260,10 @@ function walk(dir: string, root: string, ignore: readonly RegExp[], acc: AntiPat
259
260
  }
260
261
  // Skip MetaObjects-generated output — it legitimately contains AVG/CHECK etc.
261
262
  if (text.slice(0, 600).includes(GENERATED_MARKER)) continue;
263
+ // …and skip a BUNDLE, which is nobody's source. The 512KB gate above is about cost, not
264
+ // authorship: a 300KB minified file passes it while being just as unfixable. Same rule
265
+ // the base-URL advisory applies, from the same module. See lib/authored-source.ts.
266
+ if (looksBundled(text)) continue;
262
267
  const isSql = e.name.endsWith(".sql");
263
268
  const lines = text.split("\n");
264
269
  for (let i = 0; i < lines.length; i++) {
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Is this file text a HUMAN wrote, or a bundler's output?
3
+ *
4
+ * Both advisory scanners — the base-URL one and the anti-pattern one — exist to teach the
5
+ * author of a file something about the file. A bundle is not authored: nobody can act on a
6
+ * finding in it, the fix belongs in the source it was built from, and naming a generated
7
+ * artifact spends the scanners' whole false-positive budget in one line.
8
+ *
9
+ * The rule is a property of the ARTIFACT, not of a directory name. An estate proved why:
10
+ * its build output is `public/`, which no ignore list would have guessed (the lists cover
11
+ * `dist`, `build`, `.next`, `.output`, `out`), so `meta verify` reported
12
+ * `public/main.js:243 — <EntityFetcherProvider> is mounted with no baseUrl` while
13
+ * `client/src/main.tsx:26` — the source, the file a person edits — passes `baseUrl="/api"`
14
+ * correctly. Adding `public` to a list would have fixed that estate and nobody else.
15
+ *
16
+ * The two scanners keep their own walkers, deliberately (they diverge on eight axes and
17
+ * unifying them needs ~6 options for two callers). What they share is this judgment, so it
18
+ * lives here once rather than being decided twice.
19
+ */
20
+
21
+ /**
22
+ * Bundlers emit lines in the thousands-to-hundreds-of-thousands of characters; the estate
23
+ * bundle that produced the false positive has a longest line of 266,226. Authored source
24
+ * does not reach 5,000 — the threshold sits an order of magnitude above the longest line
25
+ * any human writes and an order of magnitude below what minification produces, so it is a
26
+ * wide gap rather than a tuned one.
27
+ *
28
+ * NOT `>= 512KB`, which `anti-patterns.ts` already applies for a different reason (cost):
29
+ * that gate is about how much work a scan does, and a 300KB bundle sails through it while
30
+ * being exactly as unauthored as a 700KB one.
31
+ */
32
+ const BUNDLED_LINE_LENGTH = 5000;
33
+
34
+ /** True when `text` looks like build output rather than source someone edits. */
35
+ export function looksBundled(text: string): boolean {
36
+ // Scan for a long line without splitting the whole file: a 700KB bundle would otherwise
37
+ // allocate an array of it, and this runs per file on every `meta verify` / `meta gen`.
38
+ let lineStart = 0;
39
+ for (let i = 0; i < text.length; i++) {
40
+ if (text.charCodeAt(i) !== 10 /* \n */) continue;
41
+ if (i - lineStart >= BUNDLED_LINE_LENGTH) return true;
42
+ lineStart = i + 1;
43
+ }
44
+ return text.length - lineStart >= BUNDLED_LINE_LENGTH;
45
+ }
@@ -1,6 +1,7 @@
1
1
  import { readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { relPosix } from "./rel-posix.js";
4
+ import { looksBundled } from "./authored-source.js";
4
5
 
5
6
  /**
6
7
  * F52 — a provider mounted with no `baseUrl` on a project whose `apiPrefix` is not empty.
@@ -155,6 +156,10 @@ function walk(dir: string, root: string, acc: BaseUrlFinding[], apiPrefix: strin
155
156
  let src: string;
156
157
  try { src = readFileSync(abs, "utf8"); } catch { continue; }
157
158
  if (!src.includes("EntityFetcher")) continue;
159
+ // A bundle is not authored source: the fix belongs in the file it was built FROM, and
160
+ // an estate whose output directory is `public/` proved that no ignore list guesses the
161
+ // name. See lib/authored-source.ts.
162
+ if (looksBundled(src)) continue;
158
163
  acc.push(...scanFile(relPosix(root, abs), src, apiPrefix));
159
164
  }
160
165
  }
@@ -141,10 +141,14 @@ function resolveCliPkg(specifier: string): string {
141
141
  * the supported home of the generators with no ownable copy), so nothing upstream of here
142
142
  * can tell a correct import from a removed one.
143
143
  *
144
- * It reads the config SOURCE rather than catching the throw because the throw happens inside
145
- * a generator factory call with no reference back to the import that produced it, and only a
146
- * config declaring one of these in `generators: [...]` throws at all — a stale type-only
147
- * import would fail silently at typecheck-time instead.
144
+ * It reads the config SOURCE because that is the arm that can name the FILE and the exact
145
+ * import. `removedGeneratorRuntimeError` below is the second arm, and an adopter estate is
146
+ * why there are two: the import does not have to be in the config. This project's config
147
+ * imported an OWNED generator — `./codegen/generators/entityFileTyped`, the shape `meta
148
+ * eject` itself produces — and THAT file carried the stale
149
+ * `import { entityFile } from "@metaobjectsdev/codegen-ts/generators"`. The source scan saw
150
+ * a clean config and the adopter got exactly the bare TypeError this check exists to
151
+ * prevent: `(0 , _generators.entityFile) is not a function`, exit 2, no file, no remedy.
148
152
  */
149
153
  const REMOVED_GENERATOR_EXPORTS = ["entityFile", "queriesFile", "routesFile", "barrel"] as const;
150
154
  const GENERATORS_SUBPATH = "@metaobjectsdev/codegen-ts/generators";
@@ -180,6 +184,39 @@ export function removedGeneratorImportError(source: string): string | undefined
180
184
  );
181
185
  }
182
186
 
187
+ /**
188
+ * The same diagnostic, recovered from the THROW instead of the source — for the case the
189
+ * source scan structurally cannot see: a removed export imported by a module the config
190
+ * imports, rather than by the config itself.
191
+ *
192
+ * It cannot name the file (the TypeError carries no reference back to the import that
193
+ * produced it — that limitation is real, it is just not a reason to say nothing), so it
194
+ * names what it does know: the symbol, the removal, and the one-command remedy. Matching is
195
+ * on the SYMBOL, not the message shape, because the shape is the transpiler's: Bun says
196
+ * `(0 , _generators.entityFile) is not a function` and Node ESM says
197
+ * `entityFile is not a function`.
198
+ */
199
+ export function removedGeneratorRuntimeError(err: unknown): string | undefined {
200
+ const message = err instanceof Error ? err.message : String(err ?? "");
201
+ if (!/is not a function/.test(message)) return undefined;
202
+ const hit = REMOVED_GENERATOR_EXPORTS.find((n) => new RegExp(`\\b${n}\\b`).test(message));
203
+ if (hit === undefined) return undefined;
204
+ const template = hit.replace(/File$/, "");
205
+ return (
206
+ `${hit}() is not a function — 1.0 REMOVED it from "${GENERATORS_SUBPATH}" ` +
207
+ `(ADR-0034 scaffold-and-own): these generators are yours to own, so the package no ` +
208
+ `longer ships them as an import. Your metaobjects.config.ts does not import it, so ` +
209
+ `the import is in a module the config imports — most often an OWNED generator under ` +
210
+ `codegen/generators/, which is exactly what 'meta eject' writes.\n` +
211
+ ` Fix — copy it into your repo:\n meta eject ${template}\n` +
212
+ ` then change that module's import to: ` +
213
+ `import { ${hit} } from "./codegen/generators/${template}";\n` +
214
+ ` The subpath itself is fine — promptRender, outputParser, routesFileHono and the ` +
215
+ `rest still live there.\n` +
216
+ ` Guide: docs/features/migrations/0.x-to-1.0.md §11`
217
+ );
218
+ }
219
+
183
220
  function rewriteImportSpecifiers(source: string, aliasMap: Record<string, string>): string {
184
221
  let result = source;
185
222
  for (const [specifier, resolvedPath] of Object.entries(aliasMap)) {
@@ -461,7 +498,18 @@ export async function loadMetaobjectsConfig(projectRoot: string): Promise<Metaob
461
498
  const prepareStackTraceBefore = Error.prepareStackTrace;
462
499
  const stackTraceLimitBefore = Error.stackTraceLimit;
463
500
  try {
464
- const raw = (await jiti.import(loadPath)) as MetaobjectsGenConfig | { default: MetaobjectsGenConfig };
501
+ let raw: MetaobjectsGenConfig | { default: MetaobjectsGenConfig };
502
+ try {
503
+ raw = (await jiti.import(loadPath)) as MetaobjectsGenConfig | { default: MetaobjectsGenConfig };
504
+ } catch (err) {
505
+ // The second arm of the ADR-0034 diagnostic: a removed export imported by a module the
506
+ // config imports rather than by the config itself. Rethrown as the migration message,
507
+ // because what reaches the adopter otherwise is `(0 , _generators.entityFile) is not a
508
+ // function` — the exact unactionable failure the source scan above exists to prevent.
509
+ const runtime = removedGeneratorRuntimeError(err);
510
+ if (runtime !== undefined) throw new Error(runtime);
511
+ throw err;
512
+ }
465
513
  // jiti's interopDefault doesn't always unwrap the default export when accessed
466
514
  // across module boundaries — explicitly unwrap if present.
467
515
  const cfg = (raw && typeof raw === "object" && "default" in raw && raw.default
@@ -24,8 +24,56 @@ export function buildWranglerExecuteArgs(opts: WranglerExecuteOptions): string[]
24
24
  }
25
25
 
26
26
  /**
27
- * Run wrangler with the given args; return stdout. Stderr is included in the
28
- * error message when wrangler exits non-zero. `cwd` is the directory wrangler
27
+ * The reason to report when wrangler exits non-zero.
28
+ *
29
+ * **`--json` puts wrangler's error on STDOUT, and warnings on stderr.** This function
30
+ * exists because the runner used to report stderr alone, so a live D1 gate failing for
31
+ * want of a `CLOUDFLARE_API_TOKEN` told the adopter its cause was
32
+ * `▲ [WARNING] … "unsafe" fields are experimental` — a warning, named as the reason a
33
+ * schema gate failed, with the real cause discarded. Found by running an estate's own
34
+ * `verify:prod-schema` against production for the first time.
35
+ *
36
+ * Order: the structured error wrangler wrote, then stderr, then raw stdout, then the
37
+ * process's own message. Stderr is still consulted — a genuine wrangler failure that
38
+ * never reaches stdout must not be swallowed to fix the opposite mistake.
39
+ */
40
+ export function wranglerFailureReason(
41
+ stdout: string,
42
+ stderr: string,
43
+ fallback: string,
44
+ ): string {
45
+ const structured = structuredWranglerError(stdout);
46
+ if (structured !== undefined) return structured;
47
+ const err = stderr.trim();
48
+ if (err.length > 0) return err;
49
+ const out = stdout.trim();
50
+ if (out.length > 0) return out;
51
+ return fallback;
52
+ }
53
+
54
+ /** wrangler's two `--json` error shapes: `{error:{text}}` / `{error}` and the
55
+ * `[{success:false,error}]` execute envelope. Anything else reads as absent. */
56
+ function structuredWranglerError(stdout: string): string | undefined {
57
+ let parsed: unknown;
58
+ try {
59
+ parsed = JSON.parse(stdout);
60
+ } catch {
61
+ return undefined;
62
+ }
63
+ const node = Array.isArray(parsed) ? parsed[0] : parsed;
64
+ if (node === null || typeof node !== "object") return undefined;
65
+ const { error } = node as { error?: unknown };
66
+ if (typeof error === "string" && error.trim().length > 0) return error.trim();
67
+ if (error !== null && typeof error === "object") {
68
+ const { text } = error as { text?: unknown };
69
+ if (typeof text === "string" && text.trim().length > 0) return text.trim();
70
+ }
71
+ return undefined;
72
+ }
73
+
74
+ /**
75
+ * Run wrangler with the given args; return stdout. The failure REASON is chosen by
76
+ * `wranglerFailureReason` when wrangler exits non-zero. `cwd` is the directory wrangler
29
77
  * runs in (defaults to process.cwd() — caller should pass the project root).
30
78
  */
31
79
  export type WranglerRunner = (args: string[], cwd: string) => Promise<{ stdout: string; stderr: string }>;
@@ -39,8 +87,8 @@ export const defaultWranglerRunner: WranglerRunner = async (args, cwd) => {
39
87
  if (e.code === "ENOENT") {
40
88
  throw new Error(`wrangler not found on PATH; install it: 'npm i -D wrangler'`);
41
89
  }
42
- const stderr = e.stderr ?? "";
43
- throw new Error(`wrangler ${args.join(" ")} failed: ${stderr || e.message}`);
90
+ const reason = wranglerFailureReason(e.stdout ?? "", e.stderr ?? "", e.message);
91
+ throw new Error(`wrangler ${args.join(" ")} failed: ${reason}`);
44
92
  }
45
93
  };
46
94