sdkproof 0.1.2 → 0.1.4
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/core/verify.d.ts +36 -0
- package/dist/core/verify.js +77 -0
- package/dist/core/verify.js.map +1 -1
- package/dist/drift.d.ts +64 -1
- package/dist/drift.js +132 -0
- package/dist/drift.js.map +1 -1
- package/dist/run.js +81 -3
- package/dist/run.js.map +1 -1
- package/dist/surface.d.ts +13 -4
- package/dist/surface.js +140 -29
- package/dist/surface.js.map +1 -1
- package/dist/workspace.d.ts +56 -0
- package/dist/workspace.js +108 -2
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
package/dist/core/verify.d.ts
CHANGED
|
@@ -10,6 +10,42 @@ export interface VerifyOptions {
|
|
|
10
10
|
* clean under the fixture's strict tsconfig.
|
|
11
11
|
*/
|
|
12
12
|
export declare function verify(candidate: Candidate, spec: VerifyTarget, opts: VerifyOptions): Promise<Verdict>;
|
|
13
|
+
/**
|
|
14
|
+
* The modules a candidate imported that tsc could not resolve and that are NOT
|
|
15
|
+
* the package under test.
|
|
16
|
+
*
|
|
17
|
+
* The exclusion is the whole point. A missing SUBPATH OF THE TARGET is a real
|
|
18
|
+
* finding — the model reached for an entrypoint the package does not publish —
|
|
19
|
+
* so it must stay a failure. A missing THIRD-PARTY module is the sandbox
|
|
20
|
+
* lacking something the task needed, which is the harness's fault, not the
|
|
21
|
+
* model's. Only the second kind is worth trying to install.
|
|
22
|
+
*/
|
|
23
|
+
export declare function externalMissingModules(errors: TscError[], packageName: string): string[];
|
|
24
|
+
/**
|
|
25
|
+
* TS2307 specifiers that ARE subpaths of the package under test.
|
|
26
|
+
*
|
|
27
|
+
* These are the mirror of externalMissingModules() and they need the opposite
|
|
28
|
+
* treatment — but only after a second question is answered. A subpath the
|
|
29
|
+
* package genuinely does not publish is a real finding: the model reached for
|
|
30
|
+
* an entrypoint that is not there. A subpath that EXISTS in the installed
|
|
31
|
+
* package and still fails to resolve is the sandbox's module-resolution mode
|
|
32
|
+
* talking, and scoring it is inventing a finding.
|
|
33
|
+
*
|
|
34
|
+
* The sandbox is `"type": "module"` under `moduleResolution: "NodeNext"`, the
|
|
35
|
+
* strictest mode there is: a subpath must be listed in the package's `exports`
|
|
36
|
+
* map or be fully specified with an extension. Packages that predate `exports`
|
|
37
|
+
* fail on both counts while working perfectly in any real project.
|
|
38
|
+
*
|
|
39
|
+
* Measured 2026-08-23. `highcharts/modules/exporting.d.ts` is on disk and tsc
|
|
40
|
+
* still said "Cannot find module 'highcharts/modules/exporting'". expo 57 ships
|
|
41
|
+
* NO exports map at all, so `expo/config` — a directory holding index.d.ts —
|
|
42
|
+
* was unresolvable, and all four of expo's "failures" were this. Reported as
|
|
43
|
+
* drift, they would have been the first fabricated finding the project ever
|
|
44
|
+
* published.
|
|
45
|
+
*
|
|
46
|
+
* Resolution is the caller's job: this only names the candidates.
|
|
47
|
+
*/
|
|
48
|
+
export declare function targetSubpathMisses(errors: TscError[], packageName: string): string[];
|
|
13
49
|
/**
|
|
14
50
|
* Detect a candidate that augments the module it is supposed to be USING.
|
|
15
51
|
* Matches the package itself and any subpath entrypoint of it, so
|
package/dist/core/verify.js
CHANGED
|
@@ -102,6 +102,83 @@ export async function verify(candidate, spec, opts) {
|
|
|
102
102
|
await rm(candidatePath, { force: true });
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* The modules a candidate imported that tsc could not resolve and that are NOT
|
|
107
|
+
* the package under test.
|
|
108
|
+
*
|
|
109
|
+
* The exclusion is the whole point. A missing SUBPATH OF THE TARGET is a real
|
|
110
|
+
* finding — the model reached for an entrypoint the package does not publish —
|
|
111
|
+
* so it must stay a failure. A missing THIRD-PARTY module is the sandbox
|
|
112
|
+
* lacking something the task needed, which is the harness's fault, not the
|
|
113
|
+
* model's. Only the second kind is worth trying to install.
|
|
114
|
+
*/
|
|
115
|
+
export function externalMissingModules(errors, packageName) {
|
|
116
|
+
const found = new Set();
|
|
117
|
+
for (const e of errors) {
|
|
118
|
+
if (e.code !== "TS2307")
|
|
119
|
+
continue;
|
|
120
|
+
const m = /Cannot find module '([^']+)'/.exec(e.message);
|
|
121
|
+
if (!m)
|
|
122
|
+
continue;
|
|
123
|
+
const spec = m[1];
|
|
124
|
+
// A relative path is the candidate's own file layout, never an install.
|
|
125
|
+
if (spec.startsWith(".") || spec.startsWith("/"))
|
|
126
|
+
continue;
|
|
127
|
+
const parts = spec.split("/");
|
|
128
|
+
const root = spec.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
|
|
129
|
+
if (root === packageName)
|
|
130
|
+
continue;
|
|
131
|
+
found.add(root);
|
|
132
|
+
}
|
|
133
|
+
return [...found];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* TS2307 specifiers that ARE subpaths of the package under test.
|
|
137
|
+
*
|
|
138
|
+
* These are the mirror of externalMissingModules() and they need the opposite
|
|
139
|
+
* treatment — but only after a second question is answered. A subpath the
|
|
140
|
+
* package genuinely does not publish is a real finding: the model reached for
|
|
141
|
+
* an entrypoint that is not there. A subpath that EXISTS in the installed
|
|
142
|
+
* package and still fails to resolve is the sandbox's module-resolution mode
|
|
143
|
+
* talking, and scoring it is inventing a finding.
|
|
144
|
+
*
|
|
145
|
+
* The sandbox is `"type": "module"` under `moduleResolution: "NodeNext"`, the
|
|
146
|
+
* strictest mode there is: a subpath must be listed in the package's `exports`
|
|
147
|
+
* map or be fully specified with an extension. Packages that predate `exports`
|
|
148
|
+
* fail on both counts while working perfectly in any real project.
|
|
149
|
+
*
|
|
150
|
+
* Measured 2026-08-23. `highcharts/modules/exporting.d.ts` is on disk and tsc
|
|
151
|
+
* still said "Cannot find module 'highcharts/modules/exporting'". expo 57 ships
|
|
152
|
+
* NO exports map at all, so `expo/config` — a directory holding index.d.ts —
|
|
153
|
+
* was unresolvable, and all four of expo's "failures" were this. Reported as
|
|
154
|
+
* drift, they would have been the first fabricated finding the project ever
|
|
155
|
+
* published.
|
|
156
|
+
*
|
|
157
|
+
* Resolution is the caller's job: this only names the candidates.
|
|
158
|
+
*/
|
|
159
|
+
export function targetSubpathMisses(errors, packageName) {
|
|
160
|
+
const found = new Set();
|
|
161
|
+
for (const e of errors) {
|
|
162
|
+
// TS2307 is the plain import. TS2882 is the same resolution failure
|
|
163
|
+
// reported for a SIDE-EFFECT import — `import "highcharts/modules/exporting"`
|
|
164
|
+
// — which is exactly how chart and polyfill packages are loaded, so
|
|
165
|
+
// checking only TS2307 catches the ordinary case and misses the idiomatic
|
|
166
|
+
// one. Found 2026-08-23 on highcharts, one fix after the first.
|
|
167
|
+
if (e.code !== "TS2307" && e.code !== "TS2882")
|
|
168
|
+
continue;
|
|
169
|
+
const m = /(?:Cannot find module|side-effect import of) '([^']+)'/.exec(e.message);
|
|
170
|
+
if (!m)
|
|
171
|
+
continue;
|
|
172
|
+
const spec = m[1];
|
|
173
|
+
if (spec.startsWith(".") || spec.startsWith("/"))
|
|
174
|
+
continue;
|
|
175
|
+
if (spec === packageName)
|
|
176
|
+
continue;
|
|
177
|
+
if (spec.startsWith(packageName + "/"))
|
|
178
|
+
found.add(spec);
|
|
179
|
+
}
|
|
180
|
+
return [...found];
|
|
181
|
+
}
|
|
105
182
|
/**
|
|
106
183
|
* Detect a candidate that augments the module it is supposed to be USING.
|
|
107
184
|
* Matches the package itself and any subpath entrypoint of it, so
|
package/dist/core/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,kDAAkD;AAClD,mFAAmF;AACnF,MAAM,OAAO,GAAG,mDAAmD,CAAC;AAEpE,4EAA4E;AAC5E,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,oEAAoE;IAC9E,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,+BAA+B;IACzC,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,wCAAwC;IAClD,QAAQ,EAAE,uCAAuC;IACjD,QAAQ,EAAE,iDAAiD;IAC3D,QAAQ,EAAE,8DAA8D;IACxE,QAAQ,EAAE,gEAAgE;IAC1E,QAAQ,EAAE,mCAAmC;IAC7C,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,0BAA0B;IAC1B,QAAQ,EAAE,gCAAgC;IAC1C,QAAQ,EAAE,2CAA2C;IACrD,QAAQ,EAAE,uCAAuC;IACjD,QAAQ,EAAE,uDAAuD;IACjE,QAAQ,EAAE,uDAAuD;CAClE,CAAC,CAAC;AAOH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,SAAoB,EACpB,IAAkB,EAClB,IAAmB;IAEnB,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,EAAE;IACF,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,2BAA2B;IAC3B,yEAAyE;IACzE,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,uDAAuD;IACvD,EAAE;IACF,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,2BAA2B;IAC3B,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;SAC7F,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,kEAAkE;IAClE,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC3B,MAAM;SACP,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAGD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,8BAA8B,GAAG,sBAAsB,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC;QACN,CAAC,CAAC,iDAAiD,WAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,mDAAmD;QAClI,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,6CAA6C,CAAC;IACnE,+EAA+E;IAC/E,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,EAAE;IACF,8EAA8E;IAC9E,6EAA6E;IAC7E,6DAA6D;IAC7D,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;SAC1C,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC;SAC3C,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,IAAI;QAAE,OAAO,+DAA+D,CAAC;IAClF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,kEAAkE,CAAC;IACxG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAE,YAAoB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,OAAO,CAAC,QAAQ,EAChB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,EACnD,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAChC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wEAAwE;QACxE,MAAM,CAAC,GAAG,GAA2C,CAAC;QACtD,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAkB;IACjE,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,mEAAmE;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC;YAAE,SAAS;QAC7E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/core/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/drift.d.ts
CHANGED
|
@@ -62,6 +62,20 @@ export interface DriftReport {
|
|
|
62
62
|
* reading it naively gives "2 exported symbols -> 1131" and a confident
|
|
63
63
|
* "nothing was removed", which is worse than no answer.
|
|
64
64
|
*/
|
|
65
|
+
/**
|
|
66
|
+
* Symbols the NEW entrypoint gained. Removals alone cannot tell a deletion
|
|
67
|
+
* from a rename, and the difference decides everything: a deleted symbol
|
|
68
|
+
* leaves a model with nothing to say, a RENAMED one leaves it confidently
|
|
69
|
+
* writing the old name. Measured 2026-08-23 — swiper deleted 72 exports and
|
|
70
|
+
* scored 83%, while react-table renamed one family and scored 0 of 12.
|
|
71
|
+
*/
|
|
72
|
+
addedToEntry: string[];
|
|
73
|
+
/** whether each version's entrypoint exposes a default export */
|
|
74
|
+
defaultFrom: boolean;
|
|
75
|
+
defaultTo: boolean;
|
|
76
|
+
/** `exports` map subpath keys published by each version, when it declares one */
|
|
77
|
+
entrypointsFrom: string[];
|
|
78
|
+
entrypointsTo: string[];
|
|
65
79
|
readable: boolean;
|
|
66
80
|
unreadableReason?: string;
|
|
67
81
|
/**
|
|
@@ -79,7 +93,7 @@ export interface DriftOptions {
|
|
|
79
93
|
}
|
|
80
94
|
export declare function computeDrift(p: Packument, opts?: DriftOptions): Promise<DriftReport>;
|
|
81
95
|
/** What one surface lost relative to another. Split out so it can be tested without the network. */
|
|
82
|
-
export declare function diffSurfaces(a: Surface, b: Surface, oldReadme: string): Pick<DriftReport, "mode" | "fromCount" | "toCount" | "removed" | "withoutRunway" | "removedFromEntry" | "documentedRemovals" | "valueRemovals" | "readable" | "unreadableReason" | "typesFrom">;
|
|
96
|
+
export declare function diffSurfaces(a: Surface, b: Surface, oldReadme: string): Pick<DriftReport, "mode" | "fromCount" | "toCount" | "removed" | "withoutRunway" | "removedFromEntry" | "documentedRemovals" | "valueRemovals" | "readable" | "unreadableReason" | "typesFrom" | "addedToEntry" | "defaultFrom" | "defaultTo">;
|
|
83
97
|
/**
|
|
84
98
|
* The list worth showing a human, sharpest first: exports the old README
|
|
85
99
|
* documented, else everything that left the entrypoint, else the wide diff.
|
|
@@ -100,3 +114,52 @@ export declare function driftVerdict(d: DriftReport): {
|
|
|
100
114
|
worth: boolean;
|
|
101
115
|
reason: string;
|
|
102
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* How much the IMPORT LINE changed — which is what actually breaks a model.
|
|
119
|
+
*
|
|
120
|
+
* The watcher used to rank on removal count and it is measurably the wrong
|
|
121
|
+
* question. Scored 13 packages on 2026-08-23:
|
|
122
|
+
*
|
|
123
|
+
* swiper v14 72 exports removed -> 83% no finding
|
|
124
|
+
* matrix-js-sdk v42 12 exports removed -> 100% no finding
|
|
125
|
+
* mobx-react v10 5 removed, ALL documented -> 92% no finding
|
|
126
|
+
* openai v7 nothing removed -> 100% no finding
|
|
127
|
+
*
|
|
128
|
+
* and yet:
|
|
129
|
+
*
|
|
130
|
+
* react-table v9 get*RowModel -> create*RowModel -> 0 of 12
|
|
131
|
+
* react-native-plaid-link-sdk v13 named -> default -> 0 of 7
|
|
132
|
+
* react-plaid-link v5 onSuccess signature changed -> 7 of 11
|
|
133
|
+
*
|
|
134
|
+
* The pattern is not how much went away. A deleted symbol leaves a model with
|
|
135
|
+
* nothing to say; the compiler reports one missing name and the model stops. A
|
|
136
|
+
* symbol whose NAME OR SHAPE moved leaves it confidently writing the old form,
|
|
137
|
+
* in every file, on the very first line — and that is the failure that scores
|
|
138
|
+
* zero.
|
|
139
|
+
*
|
|
140
|
+
* Three signals, cheapest first, all computable from the two declaration
|
|
141
|
+
* surfaces with no model call:
|
|
142
|
+
*
|
|
143
|
+
* 1. default-export flip — the single most destructive change, because every
|
|
144
|
+
* import statement in every example is now wrong. Plaid v13.
|
|
145
|
+
* 2. entrypoint restructure — the `exports` map gained or lost subpaths, so
|
|
146
|
+
* the same symbol now lives somewhere else. react-table's `./legacy`.
|
|
147
|
+
* 3. rename families — removed names that reappear as added names under a
|
|
148
|
+
* different verb or a longer form. `getCoreRowModel` ->
|
|
149
|
+
* `createCoreRowModel`, `create` -> `createPlaidLinkSession`. This is a
|
|
150
|
+
* rename wearing a deletion's clothes, and raw removal counting cannot
|
|
151
|
+
* see it at all.
|
|
152
|
+
*/
|
|
153
|
+
export interface ImportShape {
|
|
154
|
+
/** 0-100. Rank on this, not on removal count. */
|
|
155
|
+
score: number;
|
|
156
|
+
defaultFlip: boolean;
|
|
157
|
+
entrypointsAdded: string[];
|
|
158
|
+
entrypointsRemoved: string[];
|
|
159
|
+
/** `[removedName, theAddedNameThatReplacedIt]` */
|
|
160
|
+
renames: [string, string][];
|
|
161
|
+
/** removals with no matching addition — a true deletion, which drifts far less */
|
|
162
|
+
deletions: string[];
|
|
163
|
+
reasons: string[];
|
|
164
|
+
}
|
|
165
|
+
export declare function importShape(d: DriftReport): ImportShape;
|
package/dist/drift.js
CHANGED
|
@@ -19,9 +19,20 @@ export async function computeDrift(p, opts = {}) {
|
|
|
19
19
|
from: { version: fromVersion, major: Number(fromVersion.split(".")[0]), published: p.time?.[fromVersion] ?? "" },
|
|
20
20
|
to: { version: toVersion, major: toMajor, published: p.time?.[toVersion] ?? "" },
|
|
21
21
|
majorAgeMonths: Number(monthsSince(toLine?.first ?? p.time?.[toVersion] ?? "").toFixed(1)),
|
|
22
|
+
entrypointsFrom: exportKeys(p, fromVersion),
|
|
23
|
+
entrypointsTo: exportKeys(p, toVersion),
|
|
22
24
|
...diff,
|
|
23
25
|
};
|
|
24
26
|
}
|
|
27
|
+
/** The `exports` map subpaths a version publishes, e.g. `.`, `./legacy`. */
|
|
28
|
+
function exportKeys(p, version) {
|
|
29
|
+
const exp = p.versions?.[version]?.exports;
|
|
30
|
+
if (!exp || typeof exp !== "object" || Array.isArray(exp))
|
|
31
|
+
return [];
|
|
32
|
+
return Object.keys(exp)
|
|
33
|
+
.filter((k) => k.startsWith("."))
|
|
34
|
+
.sort();
|
|
35
|
+
}
|
|
25
36
|
/** What one surface lost relative to another. Split out so it can be tested without the network. */
|
|
26
37
|
export function diffSurfaces(a, b, oldReadme) {
|
|
27
38
|
// ONE mode for the pair. Deciding per version is what made Apollo read as a
|
|
@@ -37,6 +48,9 @@ export function diffSurfaces(a, b, oldReadme) {
|
|
|
37
48
|
// Word-boundary hits in the old README, so `parse` does not match `safeParse`.
|
|
38
49
|
const documentedRemovals = removedFromEntry.filter((sym) => new RegExp(`\\b${sym.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\b`).test(oldReadme));
|
|
39
50
|
const valueRemovals = removedFromEntry.filter((sym) => isValueExport(a.sources, sym));
|
|
51
|
+
const addedToEntry = [...b.entryOnly]
|
|
52
|
+
.filter((s) => !a.entryOnly.has(s) && isPublicName(s))
|
|
53
|
+
.sort();
|
|
40
54
|
// A package with fewer than five readable exports either has almost no API or
|
|
41
55
|
// is not declaring it in a form this reader understands. Either way a diff
|
|
42
56
|
// against it is not evidence.
|
|
@@ -66,6 +80,9 @@ export function diffSurfaces(a, b, oldReadme) {
|
|
|
66
80
|
removedFromEntry,
|
|
67
81
|
documentedRemovals,
|
|
68
82
|
valueRemovals,
|
|
83
|
+
addedToEntry,
|
|
84
|
+
defaultFrom: a.entryOnly.has("default"),
|
|
85
|
+
defaultTo: b.entryOnly.has("default"),
|
|
69
86
|
};
|
|
70
87
|
}
|
|
71
88
|
/** `@types/express@4.17.23` and `@types/express@5.0.0` are the same publisher. */
|
|
@@ -142,4 +159,119 @@ export function driftVerdict(d) {
|
|
|
142
159
|
`in a major that is ${d.majorAgeMonths.toFixed(0)} months old`,
|
|
143
160
|
};
|
|
144
161
|
}
|
|
162
|
+
/** Verbs that front an API name; strip them and two renames of the same thing collide. */
|
|
163
|
+
const NAME_VERBS = /^(get|create|use|make|build|new|with|init|to|from|is|has|set|open|read|load)/i;
|
|
164
|
+
function stemOf(name) {
|
|
165
|
+
return name.replace(NAME_VERBS, "").replace(/[^A-Za-z0-9]/g, "").toLowerCase();
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Did `removed` come back under another name? A shared stem catches a changed
|
|
169
|
+
* verb (`getCoreRowModel` / `createCoreRowModel`); prefix containment catches a
|
|
170
|
+
* name that grew more specific (`create` / `createPlaidLinkSession`).
|
|
171
|
+
*/
|
|
172
|
+
function matchRename(removed, added) {
|
|
173
|
+
const rs = stemOf(removed);
|
|
174
|
+
if (rs.length >= 4) {
|
|
175
|
+
const byStem = added.find((a) => stemOf(a) === rs);
|
|
176
|
+
if (byStem)
|
|
177
|
+
return byStem;
|
|
178
|
+
}
|
|
179
|
+
// Prefix containment catches a name that grew more specific, but it has to be
|
|
180
|
+
// held to a real boundary or it manufactures renames out of nothing:
|
|
181
|
+
// highcharts matched `Data` -> `DataTableCore` and `Data` ->
|
|
182
|
+
// `DataSortingOptionsObject` on a four-character prefix, which is two
|
|
183
|
+
// unrelated symbols sharing a common English word. Six characters and a
|
|
184
|
+
// camelCase boundary keeps `create` -> `createPlaidLinkSession` and drops
|
|
185
|
+
// both of those.
|
|
186
|
+
const boundary = (long, short) => long.length > short.length && long.startsWith(short) && /[A-Z_]/.test(long[short.length]);
|
|
187
|
+
if (removed.length >= 6) {
|
|
188
|
+
const byPrefix = added.find((a) => a !== removed && boundary(a, removed));
|
|
189
|
+
if (byPrefix)
|
|
190
|
+
return byPrefix;
|
|
191
|
+
}
|
|
192
|
+
const shorter = added.find((a) => a.length >= 6 && boundary(removed, a));
|
|
193
|
+
return shorter ?? null;
|
|
194
|
+
}
|
|
195
|
+
export function importShape(d) {
|
|
196
|
+
const reasons = [];
|
|
197
|
+
const added = d.addedToEntry ?? [];
|
|
198
|
+
const renames = [];
|
|
199
|
+
const deletions = [];
|
|
200
|
+
for (const r of d.removedFromEntry ?? []) {
|
|
201
|
+
const hit = matchRename(r, added);
|
|
202
|
+
if (hit)
|
|
203
|
+
renames.push([r, hit]);
|
|
204
|
+
else
|
|
205
|
+
deletions.push(r);
|
|
206
|
+
}
|
|
207
|
+
const defaultFlip = Boolean(d.defaultFrom) !== Boolean(d.defaultTo);
|
|
208
|
+
const before = new Set(d.entrypointsFrom ?? []);
|
|
209
|
+
const after = new Set(d.entrypointsTo ?? []);
|
|
210
|
+
const entrypointsAdded = [...after].filter((k) => !before.has(k));
|
|
211
|
+
const entrypointsRemoved = [...before].filter((k) => !after.has(k));
|
|
212
|
+
let score = 0;
|
|
213
|
+
// A default-export flip rewrites every import statement — but only when the
|
|
214
|
+
// NAMED exports people actually call went with it. swiper v14 gained a
|
|
215
|
+
// default while its 72 removals were all type aliases (A11yOptions,
|
|
216
|
+
// AutoplayEvents) that nobody writes by hand, and it scored 83%. Plaid v13
|
|
217
|
+
// turned `create` and `open` — the two functions every integration starts
|
|
218
|
+
// with — into a default, and scored 0 of 7. Same flip, opposite outcome, and
|
|
219
|
+
// valueRemovals is what tells them apart.
|
|
220
|
+
const valuesGone = (d.valueRemovals ?? []).length;
|
|
221
|
+
if (defaultFlip && valuesGone) {
|
|
222
|
+
score += 45;
|
|
223
|
+
reasons.push(d.defaultTo
|
|
224
|
+
? `the entrypoint now has a default export and ${valuesGone} callable export${valuesGone === 1 ? "" : "s"} left the named surface — every import line changes`
|
|
225
|
+
: "the default export is gone — every `import x from` line changes");
|
|
226
|
+
}
|
|
227
|
+
else if (defaultFlip) {
|
|
228
|
+
// Real, but additive: the named surface people import from still works.
|
|
229
|
+
score += 8;
|
|
230
|
+
reasons.push("a default export appeared, but no callable named export left with it");
|
|
231
|
+
}
|
|
232
|
+
// Renames are worth far more per symbol than deletions, and the count
|
|
233
|
+
// saturates: one renamed family fails as many tasks as five do.
|
|
234
|
+
if (renames.length) {
|
|
235
|
+
const valueSet = new Set(d.valueRemovals ?? []);
|
|
236
|
+
const valueRenames = renames.filter(([from]) => valueSet.has(from)).length;
|
|
237
|
+
// A renamed function is written from memory in every file; a renamed type
|
|
238
|
+
// alias is usually inferred and never typed out at all.
|
|
239
|
+
score += Math.min(valueRenames, 8) * 6 + Math.min(renames.length - valueRenames, 6) * 1.5;
|
|
240
|
+
const shown = renames.slice(0, 3).map(([a, b]) => `${a} -> ${b}`).join(", ");
|
|
241
|
+
reasons.push(`${renames.length} export${renames.length === 1 ? "" : "s"} renamed rather than deleted (${shown}${renames.length > 3 ? " ..." : ""}) — a model writes the old name with no error to guide it`);
|
|
242
|
+
}
|
|
243
|
+
if (entrypointsAdded.length || entrypointsRemoved.length) {
|
|
244
|
+
score += Math.min(entrypointsAdded.length + entrypointsRemoved.length, 4) * 4;
|
|
245
|
+
reasons.push(`the exports map moved (${[...entrypointsRemoved.map((k) => `-${k}`), ...entrypointsAdded.map((k) => `+${k}`)].slice(0, 4).join(" ")}) — the same symbol may now live behind a different specifier`);
|
|
246
|
+
}
|
|
247
|
+
// True deletions still count for something, but an order of magnitude less.
|
|
248
|
+
// This is the term the old ranking was built entirely out of.
|
|
249
|
+
if (deletions.length) {
|
|
250
|
+
const valueSet = new Set(d.valueRemovals ?? []);
|
|
251
|
+
score += Math.min(deletions.filter((x) => valueSet.has(x)).length, 20) * 0.5;
|
|
252
|
+
}
|
|
253
|
+
// A removal the old README documented used to be the TOP of this project's
|
|
254
|
+
// ranking ladder. Today falsified it: mobx-react removed five names and the
|
|
255
|
+
// old README documented all five — `inject`, `Provider`, `MobXProviderContext`
|
|
256
|
+
// — and it still scored 92%, because the model simply wrote the v10 form.
|
|
257
|
+
// Being taught a name is weak evidence next to the name still being there
|
|
258
|
+
// under a different spelling, so it survives as a tiebreaker, not a driver.
|
|
259
|
+
const documented = (d.documentedRemovals ?? []).length;
|
|
260
|
+
if (documented)
|
|
261
|
+
score += Math.min(documented, 6) * 1.5;
|
|
262
|
+
if (!reasons.length) {
|
|
263
|
+
reasons.push(deletions.length
|
|
264
|
+
? `${deletions.length} export${deletions.length === 1 ? "" : "s"} deleted outright, with no rename and no entrypoint change — a model gets one clear error and stops`
|
|
265
|
+
: "the import surface did not change shape");
|
|
266
|
+
}
|
|
267
|
+
return {
|
|
268
|
+
score: Math.min(100, Math.round(score)),
|
|
269
|
+
defaultFlip,
|
|
270
|
+
entrypointsAdded,
|
|
271
|
+
entrypointsRemoved,
|
|
272
|
+
renames,
|
|
273
|
+
deletions,
|
|
274
|
+
reasons,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
145
277
|
//# sourceMappingURL=drift.js.map
|
package/dist/drift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drift.js","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
|
package/dist/run.js
CHANGED
|
@@ -3,13 +3,13 @@ import path from "node:path";
|
|
|
3
3
|
import { FatalApiError, RefusalError } from "./core/model.js";
|
|
4
4
|
import { buildUserPrompt, extractCode, GENERATION_SYSTEM } from "./core/prompt.js";
|
|
5
5
|
import { score } from "./core/score.js";
|
|
6
|
-
import { verify } from "./core/verify.js";
|
|
6
|
+
import { externalMissingModules, targetSubpathMisses, verify } from "./core/verify.js";
|
|
7
7
|
import { computeDrift, driftVerdict } from "./drift.js";
|
|
8
8
|
import { fetchPackument, readmeFor, resolveVersion } from "./registry.js";
|
|
9
9
|
import { readmeOf } from "./surface.js";
|
|
10
10
|
import { renderMarkdown, renderTerminal } from "./report.js";
|
|
11
11
|
import { loadTaskFile, synthesizeTasks } from "./tasks.js";
|
|
12
|
-
import { prepareWorkspace, resolveTsc } from "./workspace.js";
|
|
12
|
+
import { healModules, prepareWorkspace, resolveTsc, subpathExists } from "./workspace.js";
|
|
13
13
|
/** Split `@scope/name@version` without mangling the scope's leading `@`. */
|
|
14
14
|
export function parseSpec(spec) {
|
|
15
15
|
const at = spec.lastIndexOf("@");
|
|
@@ -151,14 +151,92 @@ export async function run(opts) {
|
|
|
151
151
|
log(" (unmeasured, not counted as drift)");
|
|
152
152
|
}
|
|
153
153
|
// Verify sequentially — every candidate is written to the same candidate.ts.
|
|
154
|
+
const target = { packageName: name, fixtureDir: ws.dir, candidateFile: ws.candidateFile };
|
|
154
155
|
process.stderr.write("Verifying ");
|
|
155
156
|
const verdicts = [];
|
|
156
157
|
for (const c of candidates) {
|
|
157
|
-
const v = await verify(c,
|
|
158
|
+
const v = await verify(c, target, { tscEntry });
|
|
158
159
|
verdicts.push(v);
|
|
159
160
|
process.stderr.write(v.passed ? "✓" : "✗");
|
|
160
161
|
}
|
|
161
162
|
process.stderr.write("\n");
|
|
163
|
+
// The sandbox installs the target's DECLARED peers, but the task set is
|
|
164
|
+
// synthesised from the target's README — so a perfectly reasonable task can
|
|
165
|
+
// require a module the target never declares. mobx-react declares `mobx` and
|
|
166
|
+
// `react`, its README documents SSR, and both SSR tasks died on
|
|
167
|
+
// `TS2307: Cannot find module 'react-dom/server'`. TS2307 is in
|
|
168
|
+
// API_SHAPE_CODES, so the sandbox's gap was published as model drift and the
|
|
169
|
+
// package scored 75% instead of 90% (2026-08-23).
|
|
170
|
+
//
|
|
171
|
+
// That is the 2026-07-31 Prisma failure again — a missing install recorded as
|
|
172
|
+
// drift — and no fixture test can catch it, because the fixture never imports
|
|
173
|
+
// the missing module.
|
|
174
|
+
//
|
|
175
|
+
// So install what is missing and compile again. This MEASURES the task rather
|
|
176
|
+
// than discarding it, and it keeps the distinction that matters: a module
|
|
177
|
+
// that installs was an environment gap, a module the registry does not have
|
|
178
|
+
// is the model importing something imaginary and stays a failure. A missing
|
|
179
|
+
// subpath of the target is never healed — that is the finding itself.
|
|
180
|
+
const gaps = [
|
|
181
|
+
...new Set(verdicts.filter((v) => !v.passed).flatMap((v) => externalMissingModules(v.errors, name))),
|
|
182
|
+
];
|
|
183
|
+
if (gaps.length) {
|
|
184
|
+
log(`Sandbox gap: ${gaps.join(", ")} — needed by a task, not declared by ${name}. Installing, then re-checking.`);
|
|
185
|
+
const { installed } = await healModules(ws.dir, gaps, {
|
|
186
|
+
allowScripts: opts.allowScripts,
|
|
187
|
+
log,
|
|
188
|
+
});
|
|
189
|
+
if (installed.length) {
|
|
190
|
+
ws.extraInstalls.push(...installed);
|
|
191
|
+
const affected = new Set(verdicts
|
|
192
|
+
.filter((v) => !v.passed && externalMissingModules(v.errors, name).some((g) => installed.includes(g)))
|
|
193
|
+
.map((v) => v.taskId + "\u0000" + v.model));
|
|
194
|
+
process.stderr.write("Re-checking ");
|
|
195
|
+
for (let i = 0; i < verdicts.length; i++) {
|
|
196
|
+
const c = candidates[i];
|
|
197
|
+
if (!affected.has(verdicts[i].taskId + "\u0000" + verdicts[i].model))
|
|
198
|
+
continue;
|
|
199
|
+
verdicts[i] = await verify(c, target, { tscEntry });
|
|
200
|
+
process.stderr.write(verdicts[i].passed ? "\u2713" : "\u2717");
|
|
201
|
+
}
|
|
202
|
+
process.stderr.write("\n");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// A subpath of the TARGET that tsc cannot resolve is normally the finding
|
|
206
|
+
// itself — the model reached for an entrypoint the package does not publish.
|
|
207
|
+
// But only when the subpath is genuinely absent. The sandbox is
|
|
208
|
+
// `"type": "module"` under NodeNext, the strictest resolution mode there is,
|
|
209
|
+
// so a subpath with no `exports` entry fails even when the declarations are
|
|
210
|
+
// sitting on disk.
|
|
211
|
+
//
|
|
212
|
+
// Measured 2026-08-23: `highcharts/modules/exporting.d.ts` exists and tsc
|
|
213
|
+
// still said "Cannot find module"; expo 57 publishes no exports map at all,
|
|
214
|
+
// so `expo/config` was unresolvable and ALL FOUR of expo's failures were
|
|
215
|
+
// this. Scored, they would have been the first fabricated finding this
|
|
216
|
+
// project ever published — the one error it cannot recover from, given the
|
|
217
|
+
// argument is that the compiler decides.
|
|
218
|
+
//
|
|
219
|
+
// So drop the task rather than score it. The import failure cascades through
|
|
220
|
+
// the rest of the file, which makes the other diagnostics unreliable too,
|
|
221
|
+
// and dropping is the only direction that cannot invent a finding.
|
|
222
|
+
const unscorable = [];
|
|
223
|
+
const scorable = [];
|
|
224
|
+
for (const v of verdicts) {
|
|
225
|
+
const ghosts = v.passed
|
|
226
|
+
? []
|
|
227
|
+
: targetSubpathMisses(v.errors, name).filter((sp) => subpathExists(ws.dir, name, sp));
|
|
228
|
+
if (ghosts.length)
|
|
229
|
+
unscorable.push({ taskId: v.taskId, model: v.model, subpaths: ghosts });
|
|
230
|
+
else
|
|
231
|
+
scorable.push(v);
|
|
232
|
+
}
|
|
233
|
+
if (unscorable.length) {
|
|
234
|
+
log(`Unscorable: ${unscorable.length}/${verdicts.length} — ${[...new Set(unscorable.flatMap((u) => u.subpaths))].join(", ")} ` +
|
|
235
|
+
`resolve on disk but not under the sandbox's NodeNext ESM rules.`);
|
|
236
|
+
log(" Dropped, not failed: scoring these would report a finding that is not real.");
|
|
237
|
+
}
|
|
238
|
+
verdicts.length = 0;
|
|
239
|
+
verdicts.push(...scorable);
|
|
162
240
|
const result = score(name, version, new Date().toISOString(), verdicts, refusals, [], lost);
|
|
163
241
|
const ctx = {
|
|
164
242
|
packageName: name,
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/surface.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export interface Surface {
|
|
|
54
54
|
* the condition map.
|
|
55
55
|
*/
|
|
56
56
|
export declare function subpathRoot(exports: unknown): unknown;
|
|
57
|
-
export declare function symbolsFromSource(
|
|
57
|
+
export declare function symbolsFromSource(source: string): Set<string>;
|
|
58
58
|
/**
|
|
59
59
|
* The members of an ambient declaration — `declare module "x" { ... }` or
|
|
60
60
|
* `declare namespace X { ... }` paired with `export = X`.
|
|
@@ -69,7 +69,13 @@ export declare function symbolsFromSource(src: string): Set<string>;
|
|
|
69
69
|
* internal organisation, and counting them makes a rename inside one look like
|
|
70
70
|
* a removal from the public surface.
|
|
71
71
|
*/
|
|
72
|
-
export declare function ambientSymbols(
|
|
72
|
+
export declare function ambientSymbols(source: string): Set<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Blank out comments and the insides of string and template literals, keeping
|
|
75
|
+
* every character position and newline. What is left has braces that mean what
|
|
76
|
+
* they say, and identifiers still where they were.
|
|
77
|
+
*/
|
|
78
|
+
export declare function sanitize(src: string): string;
|
|
73
79
|
/** Did `sym` carry an @deprecated jsdoc in this package? */
|
|
74
80
|
export declare function isDeprecated(sources: string[], sym: string): boolean;
|
|
75
81
|
export declare function packageFiles(p: Packument, version: string): Promise<Map<string, string>>;
|
|
@@ -92,7 +98,7 @@ export declare function readmeOf(p: Packument, version: string): Promise<string>
|
|
|
92
98
|
* sides of a diff are wrong together, so the removals stay right, but "3
|
|
93
99
|
* exported symbols -> 61" is not a sentence anyone should have to interpret.
|
|
94
100
|
*/
|
|
95
|
-
export declare function surfaceOf(p: Packument, version: string, followDeps?: boolean): Promise<Surface>;
|
|
101
|
+
export declare function surfaceOf(p: Packument, version: string, followDeps?: number | boolean): Promise<Surface>;
|
|
96
102
|
/**
|
|
97
103
|
* Walk the re-export chain from an entry .d.ts and collect every symbol a
|
|
98
104
|
* consumer can import from the package root.
|
|
@@ -103,7 +109,10 @@ export declare function surfaceOf(p: Packument, version: string, followDeps?: bo
|
|
|
103
109
|
* reported so the caller can fall back to scanning every .d.ts instead of
|
|
104
110
|
* silently under-reporting the surface.
|
|
105
111
|
*/
|
|
106
|
-
export declare function resolveExports(files: Map<string, string>, entry: string, maxDepth?: number
|
|
112
|
+
export declare function resolveExports(files: Map<string, string>, entry: string, maxDepth?: number, self?: {
|
|
113
|
+
name: string;
|
|
114
|
+
pkg: Record<string, any>;
|
|
115
|
+
}): {
|
|
107
116
|
symbols: Set<string>;
|
|
108
117
|
unresolved: string[];
|
|
109
118
|
};
|
package/dist/surface.js
CHANGED
|
@@ -65,7 +65,12 @@ function typeCandidates(pkg) {
|
|
|
65
65
|
out.push("index.d.ts", "dist/index.d.ts", "types/index.d.ts", "lib/index.d.ts", "dist/types/index.d.ts", "dist/development/index.d.ts", "dist/production/index.d.ts", "dist/node/index.d.ts", "dist/index.d.mts", "dist/index.d.cts", "index.d.mts", "types/index.d.mts", "dist/esm/index.d.ts", "build/index.d.ts");
|
|
66
66
|
return [...new Set(out.filter((p) => p && /\.d\.[cm]?ts$/.test(p)))];
|
|
67
67
|
}
|
|
68
|
-
export function symbolsFromSource(
|
|
68
|
+
export function symbolsFromSource(source) {
|
|
69
|
+
// Comments are blanked first. A re-export block can carry a jsdoc per name —
|
|
70
|
+
// graphql 17 does, to mark deprecations — and splitting the raw text on
|
|
71
|
+
// commas then yields "/** @deprecated ... */ valueFromAST", which fails the
|
|
72
|
+
// identifier test and drops a symbol that is exported.
|
|
73
|
+
const src = sanitize(source);
|
|
69
74
|
const out = new Set();
|
|
70
75
|
for (const m of src.matchAll(/export\s*(?:type\s*)?\{([^}]*)\}/gs)) {
|
|
71
76
|
for (let part of m[1].split(",")) {
|
|
@@ -97,7 +102,12 @@ export function symbolsFromSource(src) {
|
|
|
97
102
|
* internal organisation, and counting them makes a rename inside one look like
|
|
98
103
|
* a removal from the public surface.
|
|
99
104
|
*/
|
|
100
|
-
export function ambientSymbols(
|
|
105
|
+
export function ambientSymbols(source) {
|
|
106
|
+
// Brace counting has to happen on text where a brace is a brace. Joi ships
|
|
107
|
+
// the same 82KB of declarations in v17 and v18; the raw scanner read 98
|
|
108
|
+
// symbols from one and 20 from the other, because a brace inside a string or
|
|
109
|
+
// a jsdoc example desynchronised the depth and closed the block early.
|
|
110
|
+
const src = sanitize(source);
|
|
101
111
|
const out = new Set();
|
|
102
112
|
const OPEN = /declare\s+(?:module\s+["'`][^"'`]+["'`]|namespace\s+[A-Za-z_$][\w$.]*)\s*\{/g;
|
|
103
113
|
const DECL = /^\s*(?:export\s+)?(?:declare\s+)?(?:abstract\s+)?(?:interface|type|class|function|const|let|var|enum|namespace)\s+([A-Za-z_$][\w$]*)/;
|
|
@@ -138,6 +148,44 @@ export function ambientSymbols(src) {
|
|
|
138
148
|
}
|
|
139
149
|
return out;
|
|
140
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Blank out comments and the insides of string and template literals, keeping
|
|
153
|
+
* every character position and newline. What is left has braces that mean what
|
|
154
|
+
* they say, and identifiers still where they were.
|
|
155
|
+
*/
|
|
156
|
+
export function sanitize(src) {
|
|
157
|
+
const out = src.split("");
|
|
158
|
+
const blank = (from, to) => {
|
|
159
|
+
for (let i = from; i < to && i < out.length; i++)
|
|
160
|
+
if (out[i] !== "\n")
|
|
161
|
+
out[i] = " ";
|
|
162
|
+
};
|
|
163
|
+
for (let i = 0; i < src.length; i++) {
|
|
164
|
+
const c = src[i];
|
|
165
|
+
const next = src[i + 1];
|
|
166
|
+
if (c === "/" && next === "/") {
|
|
167
|
+
const end = src.indexOf("\n", i);
|
|
168
|
+
blank(i, end === -1 ? src.length : end);
|
|
169
|
+
i = end === -1 ? src.length : end;
|
|
170
|
+
}
|
|
171
|
+
else if (c === "/" && next === "*") {
|
|
172
|
+
const end = src.indexOf("*/", i + 2);
|
|
173
|
+
blank(i, end === -1 ? src.length : end + 2);
|
|
174
|
+
i = end === -1 ? src.length : end + 1;
|
|
175
|
+
}
|
|
176
|
+
else if (c === '"' || c === "'" || c === "`") {
|
|
177
|
+
let j = i + 1;
|
|
178
|
+
while (j < src.length && src[j] !== c) {
|
|
179
|
+
if (src[j] === "\\")
|
|
180
|
+
j++;
|
|
181
|
+
j++;
|
|
182
|
+
}
|
|
183
|
+
blank(i + 1, j);
|
|
184
|
+
i = j;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return out.join("");
|
|
188
|
+
}
|
|
141
189
|
/** Declarations at the top level of a block body, ignoring anything nested. */
|
|
142
190
|
function topLevelDecls(body) {
|
|
143
191
|
const DECL = /^\s*(?:export\s+)?(?:declare\s+)?(?:abstract\s+)?(?:interface|type|class|function|const|let|var|enum|namespace)\s+([A-Za-z_$][\w$]*)/;
|
|
@@ -224,9 +272,10 @@ export async function readmeOf(p, version) {
|
|
|
224
272
|
* sides of a diff are wrong together, so the removals stay right, but "3
|
|
225
273
|
* exported symbols -> 61" is not a sentence anyone should have to interpret.
|
|
226
274
|
*/
|
|
227
|
-
export async function surfaceOf(p, version, followDeps =
|
|
275
|
+
export async function surfaceOf(p, version, followDeps = 2) {
|
|
276
|
+
const hops = followDeps === true ? 2 : followDeps === false ? 0 : followDeps;
|
|
228
277
|
try {
|
|
229
|
-
return await readSurface(p, version,
|
|
278
|
+
return await readSurface(p, version, hops, p.name);
|
|
230
279
|
}
|
|
231
280
|
catch (err) {
|
|
232
281
|
if (!(err instanceof NoTypeEntrypoint))
|
|
@@ -238,7 +287,7 @@ export async function surfaceOf(p, version, followDeps = true) {
|
|
|
238
287
|
if (!types)
|
|
239
288
|
throw untyped(p.name, version);
|
|
240
289
|
try {
|
|
241
|
-
const s = await readSurface(types.packument, types.version,
|
|
290
|
+
const s = await readSurface(types.packument, types.version, hops, types.packument.name);
|
|
242
291
|
return { ...s, typesFrom: `${types.packument.name}@${types.version}` };
|
|
243
292
|
}
|
|
244
293
|
catch {
|
|
@@ -274,7 +323,7 @@ async function typesPackageFor(name, version) {
|
|
|
274
323
|
return { packument, version: resolveVersion(packument) };
|
|
275
324
|
}
|
|
276
325
|
}
|
|
277
|
-
async function readSurface(p, version,
|
|
326
|
+
async function readSurface(p, version, hops, label) {
|
|
278
327
|
const files = await packageFiles(p, version);
|
|
279
328
|
let pkg = {};
|
|
280
329
|
try {
|
|
@@ -285,19 +334,30 @@ async function readSurface(p, version, followDeps, label) {
|
|
|
285
334
|
}
|
|
286
335
|
const dts = [...files.entries()].filter(([rel]) => /\.d\.[cm]?ts$/.test(rel));
|
|
287
336
|
const sources = dts.map(([, src]) => src);
|
|
337
|
+
// Every declared candidate is tried and the richest surface wins, rather than
|
|
338
|
+
// the first that happens to exist. A package that ships both `index.d.ts` and
|
|
339
|
+
// `index.d.mts` does not always put the same thing in them, and picking a
|
|
340
|
+
// different one for each side of a diff reports the difference between two
|
|
341
|
+
// files as a change to the API. valibot and date-fns both did that.
|
|
288
342
|
let entry = "";
|
|
289
343
|
let entrySrc = "";
|
|
344
|
+
let best = null;
|
|
345
|
+
const self = { name: p.name, pkg };
|
|
290
346
|
for (const c of typeCandidates(pkg)) {
|
|
291
347
|
const src = files.get(c);
|
|
292
|
-
if (src
|
|
348
|
+
if (src === undefined)
|
|
349
|
+
continue;
|
|
350
|
+
const got = resolveExports(files, c, 12, self);
|
|
351
|
+
const richer = !best || got.symbols.size > best.symbols.size;
|
|
352
|
+
if (richer) {
|
|
353
|
+
best = got;
|
|
293
354
|
entry = c;
|
|
294
355
|
entrySrc = src;
|
|
295
|
-
break;
|
|
296
356
|
}
|
|
297
357
|
}
|
|
298
|
-
if (!entry)
|
|
358
|
+
if (!entry || !best)
|
|
299
359
|
throw new NoTypeEntrypoint(`${p.name}@${version} ships no type entrypoint`);
|
|
300
|
-
const { symbols: entryOnly, unresolved } =
|
|
360
|
+
const { symbols: entryOnly, unresolved } = best;
|
|
301
361
|
const widened = new Set(entryOnly);
|
|
302
362
|
for (const s of sources) {
|
|
303
363
|
for (const x of symbolsFromSource(s))
|
|
@@ -305,23 +365,24 @@ async function readSurface(p, version, followDeps, label) {
|
|
|
305
365
|
for (const x of ambientSymbols(s))
|
|
306
366
|
widened.add(x);
|
|
307
367
|
}
|
|
308
|
-
//
|
|
309
|
-
//
|
|
310
|
-
//
|
|
368
|
+
// A file can carry both kinds of declaration, so both are read, always. Doing
|
|
369
|
+
// it only when the ES surface looked thin made the reader sensitive to things
|
|
370
|
+
// it has no business caring about: joi 17 and joi 18 are the same 82KB
|
|
371
|
+
// `declare namespace Joi` with different indentation, and they extracted 98
|
|
372
|
+
// symbols and 20.
|
|
373
|
+
for (const x of ambientSymbols(entrySrc))
|
|
374
|
+
entryOnly.add(x);
|
|
311
375
|
if (entryOnly.size < 5) {
|
|
312
|
-
for (const
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (const src of sources)
|
|
316
|
-
for (const x of ambientSymbols(src))
|
|
317
|
-
entryOnly.add(x);
|
|
376
|
+
for (const src of sources)
|
|
377
|
+
for (const x of ambientSymbols(src))
|
|
378
|
+
entryOnly.add(x);
|
|
318
379
|
}
|
|
319
380
|
// Cross the package boundary once, for an `export *` that points at a
|
|
320
381
|
// dependency this package declares. Anything else stays unresolved.
|
|
321
382
|
const stillUnresolved = [];
|
|
322
|
-
if (
|
|
383
|
+
if (hops > 0) {
|
|
323
384
|
for (const spec of unresolved) {
|
|
324
|
-
const inherited = await surfaceOfDependency(pkg, spec).catch(() => null);
|
|
385
|
+
const inherited = await surfaceOfDependency(pkg, spec, hops - 1).catch(() => null);
|
|
325
386
|
if (!inherited) {
|
|
326
387
|
stillUnresolved.push(spec);
|
|
327
388
|
continue;
|
|
@@ -359,7 +420,7 @@ async function readSurface(p, version, followDeps, label) {
|
|
|
359
420
|
* caret or tilde range falls back to the highest stable release of that major,
|
|
360
421
|
* and anything else (`workspace:*`, a git url) is left unresolved.
|
|
361
422
|
*/
|
|
362
|
-
async function surfaceOfDependency(pkg, spec) {
|
|
423
|
+
async function surfaceOfDependency(pkg, spec, hops) {
|
|
363
424
|
const range = pkg.dependencies?.[spec] ?? pkg.peerDependencies?.[spec] ?? pkg.optionalDependencies?.[spec];
|
|
364
425
|
if (!range)
|
|
365
426
|
return null;
|
|
@@ -368,12 +429,19 @@ async function surfaceOfDependency(pkg, spec) {
|
|
|
368
429
|
return null;
|
|
369
430
|
const dep = await fetchPackument(spec);
|
|
370
431
|
const version = dep.versions[bare] ? bare : resolveVersion(dep, bare.split(".")[0]);
|
|
371
|
-
//
|
|
372
|
-
//
|
|
373
|
-
|
|
432
|
+
// Bounded, because a chain is real — vue re-exports @vue/runtime-dom, which
|
|
433
|
+
// re-exports @vue/runtime-core — but an unbounded one turns a drift check
|
|
434
|
+
// into a crawl of the dependency tree.
|
|
435
|
+
return surfaceOf(dep, version, hops);
|
|
374
436
|
}
|
|
375
|
-
/**
|
|
376
|
-
|
|
437
|
+
/**
|
|
438
|
+
* `export * from "spec"`, and the type-only form of it.
|
|
439
|
+
*
|
|
440
|
+
* `export type * from "./types.js"` is how got 15 re-exports most of its
|
|
441
|
+
* surface. Without the `type` alternative the walk skipped that line and 26 of
|
|
442
|
+
* the 29 symbols it then reported as removed were still importable.
|
|
443
|
+
*/
|
|
444
|
+
const REEXPORT_ALL = /export\s+(?:type\s+)?\*\s+(?:as\s+[A-Za-z_$][\w$]*\s+)?from\s*["'`]([^"'`]+)["'`]/g;
|
|
377
445
|
/**
|
|
378
446
|
* Walk the re-export chain from an entry .d.ts and collect every symbol a
|
|
379
447
|
* consumer can import from the package root.
|
|
@@ -384,7 +452,7 @@ const REEXPORT_ALL = /export\s+\*\s+from\s*["'`]([^"'`]+)["'`]/g;
|
|
|
384
452
|
* reported so the caller can fall back to scanning every .d.ts instead of
|
|
385
453
|
* silently under-reporting the surface.
|
|
386
454
|
*/
|
|
387
|
-
export function resolveExports(files, entry, maxDepth = 12) {
|
|
455
|
+
export function resolveExports(files, entry, maxDepth = 12, self) {
|
|
388
456
|
const symbols = new Set();
|
|
389
457
|
const unresolved = [];
|
|
390
458
|
const seen = new Set();
|
|
@@ -400,6 +468,15 @@ export function resolveExports(files, entry, maxDepth = 12) {
|
|
|
400
468
|
for (const m of src.matchAll(REEXPORT_ALL)) {
|
|
401
469
|
const spec = m[1];
|
|
402
470
|
if (!spec.startsWith(".")) {
|
|
471
|
+
// A package re-exporting its own subpath — `export * from "zustand/vanilla"`
|
|
472
|
+
// — is not a dependency, it is this tarball. Resolve it through the
|
|
473
|
+
// package's own exports map. zustand and jotai are both built this way,
|
|
474
|
+
// and treating it as unresolved reported their whole surface as removed.
|
|
475
|
+
const own = self && selfSubpath(files, self.name, self.pkg, spec);
|
|
476
|
+
if (own) {
|
|
477
|
+
walk(own, depth + 1);
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
403
480
|
unresolved.push(spec);
|
|
404
481
|
continue;
|
|
405
482
|
}
|
|
@@ -413,11 +490,45 @@ export function resolveExports(files, entry, maxDepth = 12) {
|
|
|
413
490
|
walk(entry, 0);
|
|
414
491
|
return { symbols, unresolved: [...new Set(unresolved)] };
|
|
415
492
|
}
|
|
493
|
+
/**
|
|
494
|
+
* Resolve `pkg/sub` against the package's own `exports` map, returning the
|
|
495
|
+
* .d.ts inside this tarball that the subpath points at.
|
|
496
|
+
*/
|
|
497
|
+
function selfSubpath(files, name, pkg, spec) {
|
|
498
|
+
if (spec !== name && !spec.startsWith(`${name}/`))
|
|
499
|
+
return null;
|
|
500
|
+
const sub = spec === name ? "." : `./${spec.slice(name.length + 1)}`;
|
|
501
|
+
const entry = pkg.exports?.[sub];
|
|
502
|
+
const candidates = [];
|
|
503
|
+
const collect = (o, d = 0) => {
|
|
504
|
+
if (d > 3 || !o)
|
|
505
|
+
return;
|
|
506
|
+
if (typeof o === "string")
|
|
507
|
+
candidates.push(o.replace(/^\.\//, ""));
|
|
508
|
+
else if (typeof o === "object")
|
|
509
|
+
for (const v of Object.values(o))
|
|
510
|
+
collect(v, d + 1);
|
|
511
|
+
};
|
|
512
|
+
collect(entry);
|
|
513
|
+
for (const c of candidates) {
|
|
514
|
+
const stem = c.replace(/\.(js|mjs|cjs|ts|d\.ts|d\.mts|d\.cts)$/, "");
|
|
515
|
+
for (const guess of [c, `${stem}.d.ts`, `${stem}.d.mts`, `${stem}.d.cts`, `${stem}/index.d.ts`]) {
|
|
516
|
+
if (files.has(guess) && /\.d\.[cm]?ts$/.test(guess))
|
|
517
|
+
return guess;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
// No exports map, or nothing typed in it: fall back to the conventional path.
|
|
521
|
+
const guess = spec === name ? "index.d.ts" : `${spec.slice(name.length + 1)}.d.ts`;
|
|
522
|
+
return files.has(guess) ? guess : null;
|
|
523
|
+
}
|
|
416
524
|
/** Map a relative specifier onto a .d.ts path inside the tarball. */
|
|
417
525
|
function resolveRelativeDts(files, dir, spec) {
|
|
418
526
|
const base = path.posix.normalize(path.posix.join(dir, spec)).replace(/^\.\//, "");
|
|
419
527
|
// `export * from "./core.js"` is how an ESM-correct .d.ts names its sibling.
|
|
420
|
-
|
|
528
|
+
// `.ts` is in the list because date-fns v4's barrel is `export * from "./add.ts"`.
|
|
529
|
+
// Missing it left the entry resolving to nothing, so v4 read as 1 symbol
|
|
530
|
+
// against v3's 300 and every export looked removed.
|
|
531
|
+
const stem = base.replace(/\.(js|mjs|cjs|ts|d\.ts|d\.mts|d\.cts)$/, "");
|
|
421
532
|
for (const c of [
|
|
422
533
|
base,
|
|
423
534
|
`${stem}.d.ts`, `${stem}.d.mts`, `${stem}.d.cts`,
|
package/dist/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -40,3 +40,59 @@ export declare function typesPackageFor(name: string): string;
|
|
|
40
40
|
* has scored before".
|
|
41
41
|
*/
|
|
42
42
|
export declare function prepareWorkspace(opts: WorkspaceOptions): Promise<Workspace>;
|
|
43
|
+
/**
|
|
44
|
+
* The module names tsc could not resolve. Only TS2307 counts: any other
|
|
45
|
+
* diagnostic is the package's own business, not a missing install.
|
|
46
|
+
*/
|
|
47
|
+
export declare function missingModules(out: string): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Install modules a CANDIDATE needed but the sandbox never had, and report
|
|
50
|
+
* which ones took.
|
|
51
|
+
*
|
|
52
|
+
* Why this exists: the sandbox installs the target's DECLARED peers, but the
|
|
53
|
+
* task set is synthesised from the target's README — so the generator can
|
|
54
|
+
* write a task that legitimately requires a module the target never declares.
|
|
55
|
+
* mobx-react (2026-08-23) declares `mobx` and `react` and not `react-dom`, its
|
|
56
|
+
* README documents SSR, and the two SSR tasks failed with
|
|
57
|
+
* `TS2307: Cannot find module 'react-dom/server'`. TS2307 is in
|
|
58
|
+
* API_SHAPE_CODES, so a missing install was published as model drift and
|
|
59
|
+
* mobx-react scored 75% instead of 90%.
|
|
60
|
+
*
|
|
61
|
+
* That is the 2026-07-31 Prisma failure exactly — *"a missing devDependency
|
|
62
|
+
* was being recorded and published as model drift"* — and `fixtures.test.ts`
|
|
63
|
+
* cannot catch it, because the fixture never imports the missing module.
|
|
64
|
+
*
|
|
65
|
+
* Healing rather than discarding is the honest repair: it MEASURES the task
|
|
66
|
+
* instead of dropping it, and it keeps the distinction that matters. A module
|
|
67
|
+
* that installs was an environment gap. A module that does not exist on the
|
|
68
|
+
* registry is the model importing something imaginary, which is real drift and
|
|
69
|
+
* stays a failure.
|
|
70
|
+
*
|
|
71
|
+
* Capped, and every install is logged: candidate code is model output, and
|
|
72
|
+
* this installs by name from it.
|
|
73
|
+
*/
|
|
74
|
+
export declare function healModules(dir: string, names: string[], opts?: {
|
|
75
|
+
allowScripts?: boolean;
|
|
76
|
+
limit?: number;
|
|
77
|
+
log?: (m: string) => void;
|
|
78
|
+
}): Promise<{
|
|
79
|
+
installed: string[];
|
|
80
|
+
failed: string[];
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Does a subpath of the target actually EXIST in the installed package?
|
|
84
|
+
*
|
|
85
|
+
* The question separates a real finding from a fabricated one. If
|
|
86
|
+
* `highcharts/modules/exporting` is absent, a model importing it found an
|
|
87
|
+
* entrypoint that is not there — that is drift. If it is sitting on disk and
|
|
88
|
+
* tsc still says "Cannot find module", the sandbox's NodeNext + `"type":
|
|
89
|
+
* "module"` resolution is refusing a subpath that has no `exports` entry, and
|
|
90
|
+
* counting it would publish a finding that is not real.
|
|
91
|
+
*
|
|
92
|
+
* Deliberately generous about what counts as existing: an `exports` entry, a
|
|
93
|
+
* file with any declaration extension, or a directory with an index. A false
|
|
94
|
+
* "it exists" costs one dropped task; a false "it is missing" costs a
|
|
95
|
+
* fabricated finding, and for a project whose argument is that the compiler
|
|
96
|
+
* decides, that is the unrecoverable error.
|
|
97
|
+
*/
|
|
98
|
+
export declare function subpathExists(dir: string, packageName: string, specifier: string): boolean;
|
package/dist/workspace.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
4
|
-
import { existsSync } from "node:fs";
|
|
4
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { promisify } from "node:util";
|
|
@@ -194,9 +194,115 @@ async function hasTypes(dir, name) {
|
|
|
194
194
|
* The module names tsc could not resolve. Only TS2307 counts: any other
|
|
195
195
|
* diagnostic is the package's own business, not a missing install.
|
|
196
196
|
*/
|
|
197
|
-
function missingModules(out) {
|
|
197
|
+
export function missingModules(out) {
|
|
198
198
|
return moduleNamesFrom(out, /error TS2307: Cannot find module '([^']+)'/);
|
|
199
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Install modules a CANDIDATE needed but the sandbox never had, and report
|
|
202
|
+
* which ones took.
|
|
203
|
+
*
|
|
204
|
+
* Why this exists: the sandbox installs the target's DECLARED peers, but the
|
|
205
|
+
* task set is synthesised from the target's README — so the generator can
|
|
206
|
+
* write a task that legitimately requires a module the target never declares.
|
|
207
|
+
* mobx-react (2026-08-23) declares `mobx` and `react` and not `react-dom`, its
|
|
208
|
+
* README documents SSR, and the two SSR tasks failed with
|
|
209
|
+
* `TS2307: Cannot find module 'react-dom/server'`. TS2307 is in
|
|
210
|
+
* API_SHAPE_CODES, so a missing install was published as model drift and
|
|
211
|
+
* mobx-react scored 75% instead of 90%.
|
|
212
|
+
*
|
|
213
|
+
* That is the 2026-07-31 Prisma failure exactly — *"a missing devDependency
|
|
214
|
+
* was being recorded and published as model drift"* — and `fixtures.test.ts`
|
|
215
|
+
* cannot catch it, because the fixture never imports the missing module.
|
|
216
|
+
*
|
|
217
|
+
* Healing rather than discarding is the honest repair: it MEASURES the task
|
|
218
|
+
* instead of dropping it, and it keeps the distinction that matters. A module
|
|
219
|
+
* that installs was an environment gap. A module that does not exist on the
|
|
220
|
+
* registry is the model importing something imaginary, which is real drift and
|
|
221
|
+
* stays a failure.
|
|
222
|
+
*
|
|
223
|
+
* Capped, and every install is logged: candidate code is model output, and
|
|
224
|
+
* this installs by name from it.
|
|
225
|
+
*/
|
|
226
|
+
export async function healModules(dir, names, opts = {}) {
|
|
227
|
+
const log = opts.log ?? (() => { });
|
|
228
|
+
const installed = [];
|
|
229
|
+
const failed = [];
|
|
230
|
+
for (const name of names.slice(0, opts.limit ?? 5)) {
|
|
231
|
+
try {
|
|
232
|
+
await npm(["install", name], dir, Boolean(opts.allowScripts));
|
|
233
|
+
installed.push(name);
|
|
234
|
+
// The module may ship no declarations of its own; DefinitelyTyped is
|
|
235
|
+
// what a TypeScript user would reach for, so try it and shrug on a miss.
|
|
236
|
+
const types = typesPackageFor(name);
|
|
237
|
+
if (types !== name && !(await hasTypes(dir, name))) {
|
|
238
|
+
try {
|
|
239
|
+
await npm(["install", types], dir, Boolean(opts.allowScripts));
|
|
240
|
+
installed.push(types);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// no DefinitelyTyped entry; tsc will say so and the task stays failed
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
// Not installable — almost always a package that does not exist. That is
|
|
249
|
+
// the model importing something imaginary, and it stays a failure.
|
|
250
|
+
failed.push(name);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (installed.length)
|
|
254
|
+
log(` installed for the sandbox: ${installed.join(", ")}`);
|
|
255
|
+
return { installed, failed };
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Does a subpath of the target actually EXIST in the installed package?
|
|
259
|
+
*
|
|
260
|
+
* The question separates a real finding from a fabricated one. If
|
|
261
|
+
* `highcharts/modules/exporting` is absent, a model importing it found an
|
|
262
|
+
* entrypoint that is not there — that is drift. If it is sitting on disk and
|
|
263
|
+
* tsc still says "Cannot find module", the sandbox's NodeNext + `"type":
|
|
264
|
+
* "module"` resolution is refusing a subpath that has no `exports` entry, and
|
|
265
|
+
* counting it would publish a finding that is not real.
|
|
266
|
+
*
|
|
267
|
+
* Deliberately generous about what counts as existing: an `exports` entry, a
|
|
268
|
+
* file with any declaration extension, or a directory with an index. A false
|
|
269
|
+
* "it exists" costs one dropped task; a false "it is missing" costs a
|
|
270
|
+
* fabricated finding, and for a project whose argument is that the compiler
|
|
271
|
+
* decides, that is the unrecoverable error.
|
|
272
|
+
*/
|
|
273
|
+
export function subpathExists(dir, packageName, specifier) {
|
|
274
|
+
const rel = specifier.slice(packageName.length + 1);
|
|
275
|
+
const root = path.join(dir, "node_modules", ...packageName.split("/"));
|
|
276
|
+
try {
|
|
277
|
+
const meta = JSON.parse(readFileSync(path.join(root, "package.json"), "utf8"));
|
|
278
|
+
const map = meta.exports;
|
|
279
|
+
if (map && typeof map === "object") {
|
|
280
|
+
for (const key of Object.keys(map)) {
|
|
281
|
+
if (key === `./${rel}`)
|
|
282
|
+
return true;
|
|
283
|
+
// A wildcard entry like "./modules/*" covers this subpath.
|
|
284
|
+
if (key.includes("*")) {
|
|
285
|
+
const re = new RegExp("^" + key.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*") + "$");
|
|
286
|
+
if (re.test(`./${rel}`))
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
// no package.json to read; fall through to the disk check
|
|
294
|
+
}
|
|
295
|
+
const base = path.join(root, rel);
|
|
296
|
+
for (const p of [base, `${base}.d.ts`, `${base}.d.mts`, `${base}.d.cts`, `${base}.ts`]) {
|
|
297
|
+
if (existsSync(p))
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
for (const i of ["index.d.ts", "index.d.mts", "index.ts"]) {
|
|
301
|
+
if (existsSync(path.join(base, i)))
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
200
306
|
/** Modules that resolved but ship no declarations — DefinitelyTyped candidates. */
|
|
201
307
|
function untypedModules(out) {
|
|
202
308
|
return moduleNamesFrom(out, /error TS7016: Could not find a declaration file for module '([^']+)'/);
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sdkproof",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Score how often an AI model writes library code that does not compile. Give it a package name, it writes real tasks, compiles every answer against the real installed package with tsc, and reports what broke.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|