@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.
- package/dist/src/commands/upgrade.d.ts.map +1 -1
- package/dist/src/commands/upgrade.js +37 -13
- package/dist/src/commands/upgrade.js.map +1 -1
- package/dist/src/lib/anti-patterns.d.ts.map +1 -1
- package/dist/src/lib/anti-patterns.js +6 -0
- package/dist/src/lib/anti-patterns.js.map +1 -1
- package/dist/src/lib/authored-source.d.ts +22 -0
- package/dist/src/lib/authored-source.d.ts.map +1 -0
- package/dist/src/lib/authored-source.js +46 -0
- package/dist/src/lib/authored-source.js.map +1 -0
- package/dist/src/lib/base-url-advisory.d.ts.map +1 -1
- package/dist/src/lib/base-url-advisory.js +6 -0
- package/dist/src/lib/base-url-advisory.js.map +1 -1
- package/dist/src/lib/load-metaobjects-config.d.ts +13 -0
- package/dist/src/lib/load-metaobjects-config.d.ts.map +1 -1
- package/dist/src/lib/load-metaobjects-config.js +54 -5
- package/dist/src/lib/load-metaobjects-config.js.map +1 -1
- package/dist/src/lib/wrangler.d.ts +17 -2
- package/dist/src/lib/wrangler.d.ts.map +1 -1
- package/dist/src/lib/wrangler.js +51 -2
- package/dist/src/lib/wrangler.js.map +1 -1
- package/package.json +10 -10
- package/src/commands/upgrade.ts +37 -12
- package/src/lib/anti-patterns.ts +5 -0
- package/src/lib/authored-source.ts +45 -0
- package/src/lib/base-url-advisory.ts +5 -0
- package/src/lib/load-metaobjects-config.ts +53 -5
- package/src/lib/wrangler.ts +52 -4
|
@@ -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,
|
|
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
|
|
137
|
-
//
|
|
138
|
-
//
|
|
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
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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":"
|
|
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":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,6CAA6C;AAC7C,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,iFAAiF;AACjF,6EAA6E;AAC7E,8EAA8E;AAC9E,kFAAkF;AAClF,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,wBAAwB;AAExB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
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":"
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"base-url-advisory.js","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
10
|
-
*
|
|
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"}
|
package/dist/src/lib/wrangler.js
CHANGED
|
@@ -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
|
|
27
|
-
throw new Error(`wrangler ${args.join(" ")} failed: ${
|
|
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;
|
|
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.
|
|
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.
|
|
55
|
-
"@metaobjectsdev/codegen-ts-react": "1.0.0-rc.
|
|
56
|
-
"@metaobjectsdev/codegen-ts-tanstack": "1.0.0-rc.
|
|
57
|
-
"@metaobjectsdev/docs-site": "1.0.0-rc.
|
|
58
|
-
"@metaobjectsdev/metadata": "1.0.0-rc.
|
|
59
|
-
"@metaobjectsdev/migrate-ts": "1.0.0-rc.
|
|
60
|
-
"@metaobjectsdev/render": "1.0.0-rc.
|
|
61
|
-
"@metaobjectsdev/runtime-ts": "1.0.0-rc.
|
|
62
|
-
"@metaobjectsdev/sdk": "1.0.0-rc.
|
|
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
|
},
|
package/src/commands/upgrade.ts
CHANGED
|
@@ -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
|
|
152
|
-
//
|
|
153
|
-
//
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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 ` +
|
package/src/lib/anti-patterns.ts
CHANGED
|
@@ -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
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
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
|
-
|
|
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
|
package/src/lib/wrangler.ts
CHANGED
|
@@ -24,8 +24,56 @@ export function buildWranglerExecuteArgs(opts: WranglerExecuteOptions): string[]
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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
|
|
43
|
-
throw new Error(`wrangler ${args.join(" ")} failed: ${
|
|
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
|
|