sdkproof 0.1.2 → 0.1.3

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/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(src: string): Set<string>;
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(src: string): Set<string>;
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(src) {
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(src) {
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 = true) {
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, followDeps, p.name);
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, followDeps, types.packument.name);
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, followDeps, label) {
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 !== undefined) {
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 } = resolveExports(files, entry);
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
- // An ambient declaration exports nothing in the ES sense, so the reader above
309
- // comes back empty on a package that is entirely `declare module`. Read the
310
- // block itself before giving up.
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 x of ambientSymbols(entrySrc))
313
- entryOnly.add(x);
314
- if (entryOnly.size < 5)
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 (followDeps) {
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
- // followDeps=false: one hop only, so a deep dependency chain cannot turn one
372
- // drift check into a package-tree crawl.
373
- return surfaceOf(dep, version, false);
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
- /** `export * from "spec"` / `export { a } from "spec"` — the specifier only. */
376
- const REEXPORT_ALL = /export\s+\*\s+from\s*["'`]([^"'`]+)["'`]/g;
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
- const stem = base.replace(/\.(js|mjs|cjs|d\.ts|d\.mts|d\.cts)$/, "");
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`,
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdkproof",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
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",