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

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":"verify.d.ts","sourceRoot":"","sources":["../../../src/commands/verify.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAoBrE,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAsF5B,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM;AACX,kGAAkG;AAClG,cAAc,CAAC,EAAE,cAAc;AAC/B;;;;;GAKG;AACH,GAAG,GAAE,YAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,CAotCjB"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/commands/verify.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqBrE,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAsF5B,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM;AACX,kGAAkG;AAClG,cAAc,CAAC,EAAE,cAAc;AAC/B;;;;;GAKG;AACH,GAAG,GAAE,YAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,CAwuCjB"}
@@ -10,11 +10,12 @@ import { join, resolve as resolvePath } from "node:path";
10
10
  import { parseVerifyArgs } from "../lib/args.js";
11
11
  import { log } from "../lib/log.js";
12
12
  import { emitStructured } from "../lib/format.js";
13
- import { antiPatternRows, missingBaseUrlRows, ranSection, skippedSection, warnCapped, } from "../lib/advisory.js";
13
+ import { antiPatternRows, missingBaseUrlRows, removedPropRows, ranSection, skippedSection, warnCapped, } from "../lib/advisory.js";
14
14
  import { warnIfAgentContextStale } from "../lib/agent-context-staleness.js";
15
15
  import { warnIfManifestIgnored } from "../lib/manifest-ignored-check.js";
16
16
  import { scanSourceForAntiPatterns } from "../lib/anti-patterns.js";
17
17
  import { scanForMissingBaseUrl } from "../lib/base-url-advisory.js";
18
+ import { scanForRemovedProps } from "../lib/removed-prop-advisory.js";
18
19
  import { replayRemedy } from "../lib/replay-remedy.js";
19
20
  import { FileProvider } from "../lib/file-provider.js";
20
21
  import { derivePayloadFieldTree } from "../lib/payload-field-tree.js";
@@ -624,7 +625,21 @@ fmt = "text") {
624
625
  // Same discipline as above: an advisory scan never breaks verify. The anti-pattern
625
626
  // half already ran, so its rows are still reported rather than lost to this catch.
626
627
  }
627
- antiPatternSection = ranSection([...antiPatternRows(findings), ...missingBaseUrlRows(baseUrl)]);
628
+ // F99 — the other half of the same migration: the adopter who never renamed at all.
629
+ // Its own try/catch for the same reason, so one scanner throwing cannot take the
630
+ // other's rows with it.
631
+ let removedProps = [];
632
+ try {
633
+ removedProps = scanForRemovedProps(projectRoot);
634
+ }
635
+ catch {
636
+ // advisory only — never breaks verify.
637
+ }
638
+ antiPatternSection = ranSection([
639
+ ...antiPatternRows(findings),
640
+ ...missingBaseUrlRows(baseUrl),
641
+ ...removedPropRows(removedProps),
642
+ ]);
628
643
  if (findings.length > 0) {
629
644
  log.warn(`meta verify — ${findings.length} place(s) hand-roll what MetaObjects can model ` +
630
645
  `(advisory — does not fail the build):`);
@@ -635,6 +650,11 @@ fmt = "text") {
635
650
  `while apiPrefix is "${forgeConfig?.apiPrefix ?? ""}" (advisory — does not fail the build):`);
636
651
  warnCapped(baseUrl.map((f) => ` ${f.message}`), flags.limit, { structured });
637
652
  }
653
+ if (removedProps.length > 0) {
654
+ log.warn(`meta verify — ${removedProps.length} provider(s) still mounted with a prop 1.0 ` +
655
+ `renamed away (advisory — does not fail the build, but the runtime will):`);
656
+ warnCapped(removedProps.map((f) => ` ${f.message}`), flags.limit, { structured });
657
+ }
638
658
  }
639
659
  // -- template (prompt / output) drift --------------------------------------
640
660
  function runTemplateVerify() {
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AntiPatternFinding } from "./anti-patterns.js";
2
2
  import type { BaseUrlFinding } from "./base-url-advisory.js";
3
+ import type { RemovedPropFinding } from "./removed-prop-advisory.js";
3
4
  /**
4
5
  * How many advisory lines TEXT output prints before it truncates.
5
6
  *
@@ -66,6 +67,12 @@ export declare function antiPatternRows(findings: readonly AntiPatternFinding[])
66
67
  * rather than a second one a consumer has to learn about. `rule` is the discriminator.
67
68
  */
68
69
  export declare function missingBaseUrlRows(findings: readonly BaseUrlFinding[]): AdvisoryFindingRow[];
70
+ /**
71
+ * F99 findings in that same row shape, for the same reason. `rule` carries the prop, so a
72
+ * consumer filtering the advisory list does not have to parse the message to learn WHICH
73
+ * rename fired — there will eventually be more than one.
74
+ */
75
+ export declare function removedPropRows(findings: readonly RemovedPropFinding[]): AdvisoryFindingRow[];
69
76
  /**
70
77
  * Print a capped run of advisory lines to stderr.
71
78
  *
@@ -1 +1 @@
1
- {"version":3,"file":"advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlE;AAMD,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC,8EAA8E;IAC9E,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAEjE;AAED;;0BAE0B;AAC1B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,kBAAkB,EAAE,CAQ5F;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,IAAI,CASN"}
1
+ {"version":3,"file":"advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlE;AAMD,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC,8EAA8E;IAC9E,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAEtE;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAEjE;AAED;;0BAE0B;AAC1B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,kBAAkB,EAAE,CAQ5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQ7F;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC5B,IAAI,CASN"}
@@ -83,6 +83,20 @@ export function missingBaseUrlRows(findings) {
83
83
  message: f.message,
84
84
  }));
85
85
  }
86
+ /**
87
+ * F99 findings in that same row shape, for the same reason. `rule` carries the prop, so a
88
+ * consumer filtering the advisory list does not have to parse the message to learn WHICH
89
+ * rename fired — there will eventually be more than one.
90
+ */
91
+ export function removedPropRows(findings) {
92
+ return findings.map((f) => ({
93
+ file: f.file,
94
+ line: f.line,
95
+ rule: `removed-prop:${f.prop}`,
96
+ construct: f.construct,
97
+ message: f.message,
98
+ }));
99
+ }
86
100
  // ---------------------------------------------------------------------------
87
101
  // text output
88
102
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"advisory.js","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advisory.js","sourceRoot":"","sources":["../../../src/lib/advisory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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
+ {"version":3,"file":"base-url-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/base-url-advisory.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;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;AAyED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAKvF"}
@@ -2,6 +2,7 @@ import { readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { relPosix } from "./rel-posix.js";
4
4
  import { looksBundled } from "./authored-source.js";
5
+ import { constructText } from "./jsx-construct.js";
5
6
  const IGNORE_SEGMENTS = new Set([
6
7
  "node_modules", ".git", "dist", "build", ".next", ".turbo", ".output",
7
8
  "coverage", ".metaobjects", ".wrangler",
@@ -19,72 +20,6 @@ const PROVIDERS = [
19
20
  { construct: "<EntityFetcherProvider>", open: /<EntityFetcherProvider\b/g, kind: "jsx" },
20
21
  { construct: "provideEntityFetcher()", open: /provideEntityFetcher\s*\(/g, kind: "call" },
21
22
  ];
22
- /**
23
- * The text of the opening construct that begins at `start`.
24
- *
25
- * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
26
- * than a bracket count, because a bracket count is what the first version was and it was
27
- * wrong in both directions:
28
- *
29
- * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
30
- * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
31
- * correct provider.
32
- * <EntityFetcherProvider fetcher={mk(")")}>
33
- * → the unbalanced `)` inside a string meant depth never returned to 0, so the
34
- * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
35
- * a real finding.
36
- *
37
- * So string literals (all three quote styles, with escapes), line comments and block
38
- * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
39
- * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
40
- * tag is vanishingly rare next to the cost of getting it wrong.
41
- *
42
- * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
43
- * it early.
44
- *
45
- * Both bail after a generous cap rather than scanning a whole minified file when a
46
- * construct is unterminated.
47
- */
48
- function constructText(src, start, kind) {
49
- const limit = Math.min(src.length, start + 4000);
50
- let depth = 0;
51
- for (let i = start; i < limit; i++) {
52
- const c = src[i];
53
- // --- skip what is not code -------------------------------------------------
54
- if (c === '"' || c === "'" || c === "`") {
55
- i++;
56
- while (i < limit && src[i] !== c) {
57
- if (src[i] === "\\")
58
- i++;
59
- i++;
60
- }
61
- continue;
62
- }
63
- if (c === "/" && src[i + 1] === "/") {
64
- while (i < limit && src[i] !== "\n")
65
- i++;
66
- continue;
67
- }
68
- if (c === "/" && src[i + 1] === "*") {
69
- i += 2;
70
- while (i < limit && !(src[i] === "*" && src[i + 1] === "/"))
71
- i++;
72
- i++;
73
- continue;
74
- }
75
- // --- code ------------------------------------------------------------------
76
- if (kind === "jsx" && c === ">" && depth === 0)
77
- return src.slice(start, i + 1);
78
- if (c === "{" || c === "(" || c === "[")
79
- depth++;
80
- else if (c === "}" || c === ")" || c === "]") {
81
- if (kind === "call" && depth === 1 && c === ")")
82
- return src.slice(start, i + 1);
83
- depth--;
84
- }
85
- }
86
- return src.slice(start, limit);
87
- }
88
23
  function scanFile(rel, src, apiPrefix) {
89
24
  const out = [];
90
25
  for (const { construct, open, kind } of PROVIDERS) {
@@ -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":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * The text of one opening JSX tag or call expression, and its top-level attribute names.
3
+ *
4
+ * Lifted out of `base-url-advisory.ts` when a second advisory (F99, the removed `value`
5
+ * prop) needed exactly the same tokenizer. This is a shared PRIMITIVE, not a shared walker
6
+ * — the two advisories keep their own directory walks deliberately, because they disagree
7
+ * about what to scan and have diverged on purpose.
8
+ */
9
+ /**
10
+ * The text of the construct that begins at `start`.
11
+ *
12
+ * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
13
+ * than a bracket count, because a bracket count is what the first version was and it was
14
+ * wrong in both directions:
15
+ *
16
+ * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
17
+ * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
18
+ * correct provider.
19
+ * <EntityFetcherProvider fetcher={mk(")")}>
20
+ * → the unbalanced `)` inside a string meant depth never returned to 0, so the
21
+ * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
22
+ * a real finding.
23
+ *
24
+ * So string literals (all three quote styles, with escapes), line comments and block
25
+ * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
26
+ * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
27
+ * tag is vanishingly rare next to the cost of getting it wrong.
28
+ *
29
+ * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
30
+ * it early.
31
+ *
32
+ * Both bail after a generous cap rather than scanning a whole minified file when a
33
+ * construct is unterminated.
34
+ */
35
+ export declare function constructText(src: string, start: number, kind: "jsx" | "call"): string;
36
+ /**
37
+ * The attribute names written directly on an opening tag — depth 0 only.
38
+ *
39
+ * Depth is the whole point. `constructText` returns the tag INCLUDING every nested
40
+ * expression, so a substring test for `value=` convicts all of these, none of which pass
41
+ * `value` to the tag:
42
+ *
43
+ * <P fetcher={mk({ value: 1 })}> an object key
44
+ * <P fetcher={o.value === 1 ? a : b}> a comparison — note `=` is the first of `===`
45
+ * <P fetcher={<Inner value={9} />}> a DIFFERENT component's prop
46
+ *
47
+ * Strings and comments are skipped for the same reason they are in `constructText`, so a
48
+ * `title="pass value={x} here"` is prose, not an attribute.
49
+ *
50
+ * An identifier counts only when the next non-space character is a single `=` (not `=>`,
51
+ * not `==`). A valueless boolean attribute (`<P disabled>`) is therefore not reported —
52
+ * correct here, since every prop these advisories care about takes a value.
53
+ */
54
+ export declare function topLevelAttrs(tag: string): Set<string>;
55
+ //# sourceMappingURL=jsx-construct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-construct.d.ts","sourceRoot":"","sources":["../../../src/lib/jsx-construct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAgCtF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAoCtD"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * The text of one opening JSX tag or call expression, and its top-level attribute names.
3
+ *
4
+ * Lifted out of `base-url-advisory.ts` when a second advisory (F99, the removed `value`
5
+ * prop) needed exactly the same tokenizer. This is a shared PRIMITIVE, not a shared walker
6
+ * — the two advisories keep their own directory walks deliberately, because they disagree
7
+ * about what to scan and have diverged on purpose.
8
+ */
9
+ /**
10
+ * The text of the construct that begins at `start`.
11
+ *
12
+ * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
13
+ * than a bracket count, because a bracket count is what the first version was and it was
14
+ * wrong in both directions:
15
+ *
16
+ * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
17
+ * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
18
+ * correct provider.
19
+ * <EntityFetcherProvider fetcher={mk(")")}>
20
+ * → the unbalanced `)` inside a string meant depth never returned to 0, so the
21
+ * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
22
+ * a real finding.
23
+ *
24
+ * So string literals (all three quote styles, with escapes), line comments and block
25
+ * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
26
+ * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
27
+ * tag is vanishingly rare next to the cost of getting it wrong.
28
+ *
29
+ * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
30
+ * it early.
31
+ *
32
+ * Both bail after a generous cap rather than scanning a whole minified file when a
33
+ * construct is unterminated.
34
+ */
35
+ export function constructText(src, start, kind) {
36
+ const limit = Math.min(src.length, start + 4000);
37
+ let depth = 0;
38
+ for (let i = start; i < limit; i++) {
39
+ const c = src[i];
40
+ // --- skip what is not code -------------------------------------------------
41
+ if (c === '"' || c === "'" || c === "`") {
42
+ i++;
43
+ while (i < limit && src[i] !== c) {
44
+ if (src[i] === "\\")
45
+ i++;
46
+ i++;
47
+ }
48
+ continue;
49
+ }
50
+ if (c === "/" && src[i + 1] === "/") {
51
+ while (i < limit && src[i] !== "\n")
52
+ i++;
53
+ continue;
54
+ }
55
+ if (c === "/" && src[i + 1] === "*") {
56
+ i += 2;
57
+ while (i < limit && !(src[i] === "*" && src[i + 1] === "/"))
58
+ i++;
59
+ i++;
60
+ continue;
61
+ }
62
+ // --- code ------------------------------------------------------------------
63
+ if (kind === "jsx" && c === ">" && depth === 0)
64
+ return src.slice(start, i + 1);
65
+ if (c === "{" || c === "(" || c === "[")
66
+ depth++;
67
+ else if (c === "}" || c === ")" || c === "]") {
68
+ if (kind === "call" && depth === 1 && c === ")")
69
+ return src.slice(start, i + 1);
70
+ depth--;
71
+ }
72
+ }
73
+ return src.slice(start, limit);
74
+ }
75
+ /**
76
+ * The attribute names written directly on an opening tag — depth 0 only.
77
+ *
78
+ * Depth is the whole point. `constructText` returns the tag INCLUDING every nested
79
+ * expression, so a substring test for `value=` convicts all of these, none of which pass
80
+ * `value` to the tag:
81
+ *
82
+ * <P fetcher={mk({ value: 1 })}> an object key
83
+ * <P fetcher={o.value === 1 ? a : b}> a comparison — note `=` is the first of `===`
84
+ * <P fetcher={<Inner value={9} />}> a DIFFERENT component's prop
85
+ *
86
+ * Strings and comments are skipped for the same reason they are in `constructText`, so a
87
+ * `title="pass value={x} here"` is prose, not an attribute.
88
+ *
89
+ * An identifier counts only when the next non-space character is a single `=` (not `=>`,
90
+ * not `==`). A valueless boolean attribute (`<P disabled>`) is therefore not reported —
91
+ * correct here, since every prop these advisories care about takes a value.
92
+ */
93
+ export function topLevelAttrs(tag) {
94
+ const out = new Set();
95
+ let depth = 0;
96
+ // Start past the tag name so the component's own name is never read as an attribute.
97
+ let i = 0;
98
+ while (i < tag.length && !/\s/.test(tag[i]))
99
+ i++;
100
+ for (; i < tag.length; i++) {
101
+ const c = tag[i];
102
+ if (c === '"' || c === "'" || c === "`") {
103
+ i++;
104
+ while (i < tag.length && tag[i] !== c) {
105
+ if (tag[i] === "\\")
106
+ i++;
107
+ i++;
108
+ }
109
+ continue;
110
+ }
111
+ if (c === "/" && tag[i + 1] === "/") {
112
+ while (i < tag.length && tag[i] !== "\n")
113
+ i++;
114
+ continue;
115
+ }
116
+ if (c === "/" && tag[i + 1] === "*") {
117
+ i += 2;
118
+ while (i < tag.length && !(tag[i] === "*" && tag[i + 1] === "/"))
119
+ i++;
120
+ i++;
121
+ continue;
122
+ }
123
+ if (c === "{" || c === "(" || c === "[") {
124
+ depth++;
125
+ continue;
126
+ }
127
+ if (c === "}" || c === ")" || c === "]") {
128
+ depth--;
129
+ continue;
130
+ }
131
+ if (depth !== 0)
132
+ continue;
133
+ if (/[A-Za-z_$]/.test(c)) {
134
+ const start = i;
135
+ while (i < tag.length && /[A-Za-z0-9_$-]/.test(tag[i]))
136
+ i++;
137
+ const name = tag.slice(start, i);
138
+ let j = i;
139
+ while (j < tag.length && /\s/.test(tag[j]))
140
+ j++;
141
+ if (tag[j] === "=" && tag[j + 1] !== "=" && tag[j + 1] !== ">")
142
+ out.add(name);
143
+ i--; // the for-loop's i++ re-reads the delimiter we stopped on
144
+ }
145
+ }
146
+ return out;
147
+ }
148
+ //# sourceMappingURL=jsx-construct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-construct.js","sourceRoot":"","sources":["../../../src/lib/jsx-construct.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * F99 — a provider still mounted with a prop 1.0 renamed away.
3
+ *
4
+ * `<EntityFetcherProvider value={f}>` does not typecheck, and both the migration note and
5
+ * the base-URL advisory beside this one rest a safety argument on that fact. The argument
6
+ * holds only where `tsc` is in the gate chain, and in two of nine adopter estates it was
7
+ * not: `vite build` transpiles without typechecking, and a provider with the wrong prop
8
+ * still RENDERS — its children mount, and nothing fails until a component that actually
9
+ * calls a generated hook runs, in a browser, at which point the fetcher is undefined.
10
+ *
11
+ * One estate lost a round to it, misreading a red render smoke test as the release
12
+ * candidate breaking. The second shipped the identical construct and carried it through a
13
+ * whole pass. Two of nine, same component, same prop — that is a class, and the rename
14
+ * was ours.
15
+ *
16
+ * Unlike the base-URL advisory this fires at ANY `apiPrefix`, because there is no
17
+ * configuration under which the old prop reaches the provider. It is still a WARNING and
18
+ * never touches an exit code: the scan cannot see a re-export or an aliased local
19
+ * component, so it must not be the thing that fails a build.
20
+ */
21
+ export interface RemovedPropFinding {
22
+ file: string;
23
+ line: number;
24
+ construct: string;
25
+ /** The prop that no longer exists. */
26
+ prop: string;
27
+ message: string;
28
+ }
29
+ /** Scan a project tree for providers still using a prop 1.0 renamed away. */
30
+ export declare function scanForRemovedProps(root: string): RemovedPropFinding[];
31
+ //# sourceMappingURL=removed-prop-advisory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removed-prop-advisory.d.ts","sourceRoot":"","sources":["../../../src/lib/removed-prop-advisory.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA0ED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAItE"}
@@ -0,0 +1,91 @@
1
+ import { readdirSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { relPosix } from "./rel-posix.js";
4
+ import { looksBundled } from "./authored-source.js";
5
+ import { constructText, topLevelAttrs } from "./jsx-construct.js";
6
+ const IGNORE_SEGMENTS = new Set([
7
+ "node_modules", ".git", "dist", "build", ".next", ".turbo", ".output",
8
+ "coverage", ".metaobjects", ".wrangler",
9
+ ]);
10
+ const SCAN_EXT = /\.(?:ts|tsx|js|jsx|mjs)$/;
11
+ const SKIP_FILE = /(?:\.d\.ts$|\.test\.|\.spec\.)/;
12
+ /**
13
+ * What was renamed, and to what.
14
+ *
15
+ * Deliberately a table of ONE. A rename earns a row here only when an adopter has actually
16
+ * shipped the old spelling past their own gates — the value is in naming the specific
17
+ * construct two estates got wrong, not in mirroring the changelog. `open` also gates the
18
+ * cheap `includes()` prefilter in the walk, so a new row needs its marker adding there.
19
+ */
20
+ const RENAMES = [
21
+ {
22
+ construct: "<EntityFetcherProvider>",
23
+ open: /<EntityFetcherProvider\b/g,
24
+ from: "value",
25
+ to: "fetcher",
26
+ since: "1.0",
27
+ },
28
+ ];
29
+ function scanFile(rel, src) {
30
+ const out = [];
31
+ for (const { construct, open, from, to, since } of RENAMES) {
32
+ open.lastIndex = 0;
33
+ let m;
34
+ while ((m = open.exec(src)) !== null) {
35
+ if (!topLevelAttrs(constructText(src, m.index, "jsx")).has(from))
36
+ continue;
37
+ const line = src.slice(0, m.index).split("\n").length;
38
+ out.push({
39
+ file: rel, line, construct, prop: from,
40
+ message: `${rel}:${line} — ${construct} is mounted with \`${from}\`, which ${since} ` +
41
+ `renamed to \`${to}\`. The provider still renders, so nothing fails until a ` +
42
+ `component calls a generated hook and finds no fetcher. \`tsc --noEmit\` names ` +
43
+ `this exactly; a build that only transpiles does not. Rename ${from} → ${to} — ` +
44
+ `and check baseUrl while you are here, since it is optional and defaults to "".`,
45
+ });
46
+ }
47
+ }
48
+ return out;
49
+ }
50
+ function walk(dir, root, acc) {
51
+ let entries;
52
+ try {
53
+ entries = readdirSync(dir, { withFileTypes: true });
54
+ }
55
+ catch {
56
+ return;
57
+ }
58
+ for (const e of entries) {
59
+ if (IGNORE_SEGMENTS.has(e.name))
60
+ continue;
61
+ const abs = join(dir, e.name);
62
+ // Symlinked directories are NOT followed — see base-url-advisory.ts for the 41-finding
63
+ // ELOOP this prevents.
64
+ if (e.isDirectory()) {
65
+ walk(abs, root, acc);
66
+ continue;
67
+ }
68
+ if (!SCAN_EXT.test(e.name) || SKIP_FILE.test(e.name))
69
+ continue;
70
+ let src;
71
+ try {
72
+ src = readFileSync(abs, "utf8");
73
+ }
74
+ catch {
75
+ continue;
76
+ }
77
+ if (!src.includes("EntityFetcherProvider"))
78
+ continue;
79
+ // A bundle is not authored source (F89) — the fix belongs in the file it was built from.
80
+ if (looksBundled(src))
81
+ continue;
82
+ acc.push(...scanFile(relPosix(root, abs), src));
83
+ }
84
+ }
85
+ /** Scan a project tree for providers still using a prop 1.0 renamed away. */
86
+ export function scanForRemovedProps(root) {
87
+ const acc = [];
88
+ walk(root, root, acc);
89
+ return acc;
90
+ }
91
+ //# sourceMappingURL=removed-prop-advisory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removed-prop-advisory.js","sourceRoot":"","sources":["../../../src/lib/removed-prop-advisory.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.7",
3
+ "version": "1.0.0-rc.8",
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.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",
54
+ "@metaobjectsdev/codegen-ts": "1.0.0-rc.8",
55
+ "@metaobjectsdev/codegen-ts-react": "1.0.0-rc.8",
56
+ "@metaobjectsdev/codegen-ts-tanstack": "1.0.0-rc.8",
57
+ "@metaobjectsdev/docs-site": "1.0.0-rc.8",
58
+ "@metaobjectsdev/metadata": "1.0.0-rc.8",
59
+ "@metaobjectsdev/migrate-ts": "1.0.0-rc.8",
60
+ "@metaobjectsdev/render": "1.0.0-rc.8",
61
+ "@metaobjectsdev/runtime-ts": "1.0.0-rc.8",
62
+ "@metaobjectsdev/sdk": "1.0.0-rc.8",
63
63
  "@toon-format/toon": "^2.3.0",
64
64
  "jiti": "^2.4.0"
65
65
  },
@@ -12,13 +12,14 @@ import { parseVerifyArgs, type MigrateFlags } from "../lib/args.js";
12
12
  import { log } from "../lib/log.js";
13
13
  import { emitStructured, type OutputFormat } from "../lib/format.js";
14
14
  import {
15
- antiPatternRows, missingBaseUrlRows, ranSection, skippedSection, warnCapped,
15
+ antiPatternRows, missingBaseUrlRows, removedPropRows, ranSection, skippedSection, warnCapped,
16
16
  type AdvisoryDiagnosticRow, type AdvisoryFindingRow, type AdvisorySection,
17
17
  } from "../lib/advisory.js";
18
18
  import { warnIfAgentContextStale } from "../lib/agent-context-staleness.js";
19
19
  import { warnIfManifestIgnored } from "../lib/manifest-ignored-check.js";
20
20
  import { scanSourceForAntiPatterns } from "../lib/anti-patterns.js";
21
21
  import { scanForMissingBaseUrl, type BaseUrlFinding } from "../lib/base-url-advisory.js";
22
+ import { scanForRemovedProps, type RemovedPropFinding } from "../lib/removed-prop-advisory.js";
22
23
  import { replayRemedy } from "../lib/replay-remedy.js";
23
24
  import { FileProvider } from "../lib/file-provider.js";
24
25
  import { derivePayloadFieldTree } from "../lib/payload-field-tree.js";
@@ -735,8 +736,21 @@ export async function verifyCommand(
735
736
  // Same discipline as above: an advisory scan never breaks verify. The anti-pattern
736
737
  // half already ran, so its rows are still reported rather than lost to this catch.
737
738
  }
739
+ // F99 — the other half of the same migration: the adopter who never renamed at all.
740
+ // Its own try/catch for the same reason, so one scanner throwing cannot take the
741
+ // other's rows with it.
742
+ let removedProps: RemovedPropFinding[] = [];
743
+ try {
744
+ removedProps = scanForRemovedProps(projectRoot);
745
+ } catch {
746
+ // advisory only — never breaks verify.
747
+ }
738
748
 
739
- antiPatternSection = ranSection([...antiPatternRows(findings), ...missingBaseUrlRows(baseUrl)]);
749
+ antiPatternSection = ranSection([
750
+ ...antiPatternRows(findings),
751
+ ...missingBaseUrlRows(baseUrl),
752
+ ...removedPropRows(removedProps),
753
+ ]);
740
754
  if (findings.length > 0) {
741
755
  log.warn(
742
756
  `meta verify — ${findings.length} place(s) hand-roll what MetaObjects can model ` +
@@ -751,6 +765,13 @@ export async function verifyCommand(
751
765
  );
752
766
  warnCapped(baseUrl.map((f) => ` ${f.message}`), flags.limit, { structured });
753
767
  }
768
+ if (removedProps.length > 0) {
769
+ log.warn(
770
+ `meta verify — ${removedProps.length} provider(s) still mounted with a prop 1.0 ` +
771
+ `renamed away (advisory — does not fail the build, but the runtime will):`,
772
+ );
773
+ warnCapped(removedProps.map((f) => ` ${f.message}`), flags.limit, { structured });
774
+ }
754
775
  }
755
776
 
756
777
  // -- template (prompt / output) drift --------------------------------------
@@ -23,6 +23,7 @@
23
23
  import { log } from "./log.js";
24
24
  import type { AntiPatternFinding } from "./anti-patterns.js";
25
25
  import type { BaseUrlFinding } from "./base-url-advisory.js";
26
+ import type { RemovedPropFinding } from "./removed-prop-advisory.js";
26
27
 
27
28
  /**
28
29
  * How many advisory lines TEXT output prints before it truncates.
@@ -134,6 +135,21 @@ export function missingBaseUrlRows(findings: readonly BaseUrlFinding[]): Advisor
134
135
  }));
135
136
  }
136
137
 
138
+ /**
139
+ * F99 findings in that same row shape, for the same reason. `rule` carries the prop, so a
140
+ * consumer filtering the advisory list does not have to parse the message to learn WHICH
141
+ * rename fired — there will eventually be more than one.
142
+ */
143
+ export function removedPropRows(findings: readonly RemovedPropFinding[]): AdvisoryFindingRow[] {
144
+ return findings.map((f) => ({
145
+ file: f.file,
146
+ line: f.line,
147
+ rule: `removed-prop:${f.prop}`,
148
+ construct: f.construct,
149
+ message: f.message,
150
+ }));
151
+ }
152
+
137
153
  // ---------------------------------------------------------------------------
138
154
  // text output
139
155
  // ---------------------------------------------------------------------------
@@ -2,6 +2,7 @@ import { readdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { relPosix } from "./rel-posix.js";
4
4
  import { looksBundled } from "./authored-source.js";
5
+ import { constructText } from "./jsx-construct.js";
5
6
 
6
7
  /**
7
8
  * F52 — a provider mounted with no `baseUrl` on a project whose `apiPrefix` is not empty.
@@ -52,66 +53,6 @@ const PROVIDERS: readonly { construct: string; open: RegExp; kind: "jsx" | "call
52
53
  { construct: "provideEntityFetcher()", open: /provideEntityFetcher\s*\(/g, kind: "call" },
53
54
  ];
54
55
 
55
- /**
56
- * The text of the opening construct that begins at `start`.
57
- *
58
- * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
59
- * than a bracket count, because a bracket count is what the first version was and it was
60
- * wrong in both directions:
61
- *
62
- * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
63
- * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
64
- * correct provider.
65
- * <EntityFetcherProvider fetcher={mk(")")}>
66
- * → the unbalanced `)` inside a string meant depth never returned to 0, so the
67
- * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
68
- * a real finding.
69
- *
70
- * So string literals (all three quote styles, with escapes), line comments and block
71
- * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
72
- * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
73
- * tag is vanishingly rare next to the cost of getting it wrong.
74
- *
75
- * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
76
- * it early.
77
- *
78
- * Both bail after a generous cap rather than scanning a whole minified file when a
79
- * construct is unterminated.
80
- */
81
- function constructText(src: string, start: number, kind: "jsx" | "call"): string {
82
- const limit = Math.min(src.length, start + 4000);
83
- let depth = 0;
84
- for (let i = start; i < limit; i++) {
85
- const c = src[i]!;
86
-
87
- // --- skip what is not code -------------------------------------------------
88
- if (c === '"' || c === "'" || c === "`") {
89
- i++;
90
- while (i < limit && src[i] !== c) { if (src[i] === "\\") i++; i++; }
91
- continue;
92
- }
93
- if (c === "/" && src[i + 1] === "/") {
94
- while (i < limit && src[i] !== "\n") i++;
95
- continue;
96
- }
97
- if (c === "/" && src[i + 1] === "*") {
98
- i += 2;
99
- while (i < limit && !(src[i] === "*" && src[i + 1] === "/")) i++;
100
- i++;
101
- continue;
102
- }
103
-
104
- // --- code ------------------------------------------------------------------
105
- if (kind === "jsx" && c === ">" && depth === 0) return src.slice(start, i + 1);
106
- if (c === "{" || c === "(" || c === "[") depth++;
107
- else if (c === "}" || c === ")" || c === "]") {
108
- if (kind === "call" && depth === 1 && c === ")") return src.slice(start, i + 1);
109
- depth--;
110
- }
111
- }
112
- return src.slice(start, limit);
113
- }
114
-
115
56
  function scanFile(rel: string, src: string, apiPrefix: string): BaseUrlFinding[] {
116
57
  const out: BaseUrlFinding[] = [];
117
58
  for (const { construct, open, kind } of PROVIDERS) {
@@ -0,0 +1,124 @@
1
+ /**
2
+ * The text of one opening JSX tag or call expression, and its top-level attribute names.
3
+ *
4
+ * Lifted out of `base-url-advisory.ts` when a second advisory (F99, the removed `value`
5
+ * prop) needed exactly the same tokenizer. This is a shared PRIMITIVE, not a shared walker
6
+ * — the two advisories keep their own directory walks deliberately, because they disagree
7
+ * about what to scan and have diverged on purpose.
8
+ */
9
+
10
+ /**
11
+ * The text of the construct that begins at `start`.
12
+ *
13
+ * JSX: up to the `>` that closes the opening TAG. Call this a one-file tokenizer rather
14
+ * than a bracket count, because a bracket count is what the first version was and it was
15
+ * wrong in both directions:
16
+ *
17
+ * <EntityFetcherProvider title="a > b" fetcher={f} baseUrl="/api">
18
+ * → the `>` inside the STRING ended the tag before `baseUrl`, warning about a
19
+ * correct provider.
20
+ * <EntityFetcherProvider fetcher={mk(")")}>
21
+ * → the unbalanced `)` inside a string meant depth never returned to 0, so the
22
+ * 4000-char cap swallowed an unrelated `baseUrl` later in the file and SUPPRESSED
23
+ * a real finding.
24
+ *
25
+ * So string literals (all three quote styles, with escapes), line comments and block
26
+ * comments are skipped rather than counted. A regex literal is deliberately NOT handled —
27
+ * telling `/` division from a regex needs real parsing, and a regex inside a JSX opening
28
+ * tag is vanishingly rare next to the cost of getting it wrong.
29
+ *
30
+ * Call: to the `)` balancing the argument list, so a nested object or arrow does not end
31
+ * it early.
32
+ *
33
+ * Both bail after a generous cap rather than scanning a whole minified file when a
34
+ * construct is unterminated.
35
+ */
36
+ export function constructText(src: string, start: number, kind: "jsx" | "call"): string {
37
+ const limit = Math.min(src.length, start + 4000);
38
+ let depth = 0;
39
+ for (let i = start; i < limit; i++) {
40
+ const c = src[i]!;
41
+
42
+ // --- skip what is not code -------------------------------------------------
43
+ if (c === '"' || c === "'" || c === "`") {
44
+ i++;
45
+ while (i < limit && src[i] !== c) { if (src[i] === "\\") i++; i++; }
46
+ continue;
47
+ }
48
+ if (c === "/" && src[i + 1] === "/") {
49
+ while (i < limit && src[i] !== "\n") i++;
50
+ continue;
51
+ }
52
+ if (c === "/" && src[i + 1] === "*") {
53
+ i += 2;
54
+ while (i < limit && !(src[i] === "*" && src[i + 1] === "/")) i++;
55
+ i++;
56
+ continue;
57
+ }
58
+
59
+ // --- code ------------------------------------------------------------------
60
+ if (kind === "jsx" && c === ">" && depth === 0) return src.slice(start, i + 1);
61
+ if (c === "{" || c === "(" || c === "[") depth++;
62
+ else if (c === "}" || c === ")" || c === "]") {
63
+ if (kind === "call" && depth === 1 && c === ")") return src.slice(start, i + 1);
64
+ depth--;
65
+ }
66
+ }
67
+ return src.slice(start, limit);
68
+ }
69
+
70
+ /**
71
+ * The attribute names written directly on an opening tag — depth 0 only.
72
+ *
73
+ * Depth is the whole point. `constructText` returns the tag INCLUDING every nested
74
+ * expression, so a substring test for `value=` convicts all of these, none of which pass
75
+ * `value` to the tag:
76
+ *
77
+ * <P fetcher={mk({ value: 1 })}> an object key
78
+ * <P fetcher={o.value === 1 ? a : b}> a comparison — note `=` is the first of `===`
79
+ * <P fetcher={<Inner value={9} />}> a DIFFERENT component's prop
80
+ *
81
+ * Strings and comments are skipped for the same reason they are in `constructText`, so a
82
+ * `title="pass value={x} here"` is prose, not an attribute.
83
+ *
84
+ * An identifier counts only when the next non-space character is a single `=` (not `=>`,
85
+ * not `==`). A valueless boolean attribute (`<P disabled>`) is therefore not reported —
86
+ * correct here, since every prop these advisories care about takes a value.
87
+ */
88
+ export function topLevelAttrs(tag: string): Set<string> {
89
+ const out = new Set<string>();
90
+ let depth = 0;
91
+ // Start past the tag name so the component's own name is never read as an attribute.
92
+ let i = 0;
93
+ while (i < tag.length && !/\s/.test(tag[i]!)) i++;
94
+
95
+ for (; i < tag.length; i++) {
96
+ const c = tag[i]!;
97
+ if (c === '"' || c === "'" || c === "`") {
98
+ i++;
99
+ while (i < tag.length && tag[i] !== c) { if (tag[i] === "\\") i++; i++; }
100
+ continue;
101
+ }
102
+ if (c === "/" && tag[i + 1] === "/") { while (i < tag.length && tag[i] !== "\n") i++; continue; }
103
+ if (c === "/" && tag[i + 1] === "*") {
104
+ i += 2;
105
+ while (i < tag.length && !(tag[i] === "*" && tag[i + 1] === "/")) i++;
106
+ i++;
107
+ continue;
108
+ }
109
+ if (c === "{" || c === "(" || c === "[") { depth++; continue; }
110
+ if (c === "}" || c === ")" || c === "]") { depth--; continue; }
111
+ if (depth !== 0) continue;
112
+
113
+ if (/[A-Za-z_$]/.test(c)) {
114
+ const start = i;
115
+ while (i < tag.length && /[A-Za-z0-9_$-]/.test(tag[i]!)) i++;
116
+ const name = tag.slice(start, i);
117
+ let j = i;
118
+ while (j < tag.length && /\s/.test(tag[j]!)) j++;
119
+ if (tag[j] === "=" && tag[j + 1] !== "=" && tag[j + 1] !== ">") out.add(name);
120
+ i--; // the for-loop's i++ re-reads the delimiter we stopped on
121
+ }
122
+ }
123
+ return out;
124
+ }
@@ -0,0 +1,113 @@
1
+ import { readdirSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { relPosix } from "./rel-posix.js";
4
+ import { looksBundled } from "./authored-source.js";
5
+ import { constructText, topLevelAttrs } from "./jsx-construct.js";
6
+
7
+ /**
8
+ * F99 — a provider still mounted with a prop 1.0 renamed away.
9
+ *
10
+ * `<EntityFetcherProvider value={f}>` does not typecheck, and both the migration note and
11
+ * the base-URL advisory beside this one rest a safety argument on that fact. The argument
12
+ * holds only where `tsc` is in the gate chain, and in two of nine adopter estates it was
13
+ * not: `vite build` transpiles without typechecking, and a provider with the wrong prop
14
+ * still RENDERS — its children mount, and nothing fails until a component that actually
15
+ * calls a generated hook runs, in a browser, at which point the fetcher is undefined.
16
+ *
17
+ * One estate lost a round to it, misreading a red render smoke test as the release
18
+ * candidate breaking. The second shipped the identical construct and carried it through a
19
+ * whole pass. Two of nine, same component, same prop — that is a class, and the rename
20
+ * was ours.
21
+ *
22
+ * Unlike the base-URL advisory this fires at ANY `apiPrefix`, because there is no
23
+ * configuration under which the old prop reaches the provider. It is still a WARNING and
24
+ * never touches an exit code: the scan cannot see a re-export or an aliased local
25
+ * component, so it must not be the thing that fails a build.
26
+ */
27
+ export interface RemovedPropFinding {
28
+ file: string;
29
+ line: number;
30
+ construct: string;
31
+ /** The prop that no longer exists. */
32
+ prop: string;
33
+ message: string;
34
+ }
35
+
36
+ const IGNORE_SEGMENTS = new Set([
37
+ "node_modules", ".git", "dist", "build", ".next", ".turbo", ".output",
38
+ "coverage", ".metaobjects", ".wrangler",
39
+ ]);
40
+ const SCAN_EXT = /\.(?:ts|tsx|js|jsx|mjs)$/;
41
+ const SKIP_FILE = /(?:\.d\.ts$|\.test\.|\.spec\.)/;
42
+
43
+ /**
44
+ * What was renamed, and to what.
45
+ *
46
+ * Deliberately a table of ONE. A rename earns a row here only when an adopter has actually
47
+ * shipped the old spelling past their own gates — the value is in naming the specific
48
+ * construct two estates got wrong, not in mirroring the changelog. `open` also gates the
49
+ * cheap `includes()` prefilter in the walk, so a new row needs its marker adding there.
50
+ */
51
+ const RENAMES: readonly {
52
+ construct: string;
53
+ open: RegExp;
54
+ from: string;
55
+ to: string;
56
+ since: string;
57
+ }[] = [
58
+ {
59
+ construct: "<EntityFetcherProvider>",
60
+ open: /<EntityFetcherProvider\b/g,
61
+ from: "value",
62
+ to: "fetcher",
63
+ since: "1.0",
64
+ },
65
+ ];
66
+
67
+ function scanFile(rel: string, src: string): RemovedPropFinding[] {
68
+ const out: RemovedPropFinding[] = [];
69
+ for (const { construct, open, from, to, since } of RENAMES) {
70
+ open.lastIndex = 0;
71
+ let m: RegExpExecArray | null;
72
+ while ((m = open.exec(src)) !== null) {
73
+ if (!topLevelAttrs(constructText(src, m.index, "jsx")).has(from)) continue;
74
+ const line = src.slice(0, m.index).split("\n").length;
75
+ out.push({
76
+ file: rel, line, construct, prop: from,
77
+ message:
78
+ `${rel}:${line} — ${construct} is mounted with \`${from}\`, which ${since} ` +
79
+ `renamed to \`${to}\`. The provider still renders, so nothing fails until a ` +
80
+ `component calls a generated hook and finds no fetcher. \`tsc --noEmit\` names ` +
81
+ `this exactly; a build that only transpiles does not. Rename ${from} → ${to} — ` +
82
+ `and check baseUrl while you are here, since it is optional and defaults to "".`,
83
+ });
84
+ }
85
+ }
86
+ return out;
87
+ }
88
+
89
+ function walk(dir: string, root: string, acc: RemovedPropFinding[]): void {
90
+ let entries;
91
+ try { entries = readdirSync(dir, { withFileTypes: true }); } catch { return; }
92
+ for (const e of entries) {
93
+ if (IGNORE_SEGMENTS.has(e.name)) continue;
94
+ const abs = join(dir, e.name);
95
+ // Symlinked directories are NOT followed — see base-url-advisory.ts for the 41-finding
96
+ // ELOOP this prevents.
97
+ if (e.isDirectory()) { walk(abs, root, acc); continue; }
98
+ if (!SCAN_EXT.test(e.name) || SKIP_FILE.test(e.name)) continue;
99
+ let src: string;
100
+ try { src = readFileSync(abs, "utf8"); } catch { continue; }
101
+ if (!src.includes("EntityFetcherProvider")) continue;
102
+ // A bundle is not authored source (F89) — the fix belongs in the file it was built from.
103
+ if (looksBundled(src)) continue;
104
+ acc.push(...scanFile(relPosix(root, abs), src));
105
+ }
106
+ }
107
+
108
+ /** Scan a project tree for providers still using a prop 1.0 renamed away. */
109
+ export function scanForRemovedProps(root: string): RemovedPropFinding[] {
110
+ const acc: RemovedPropFinding[] = [];
111
+ walk(root, root, acc);
112
+ return acc;
113
+ }