@shrkcrft/api-surface-diff 0.1.0-alpha.19 → 0.1.0-alpha.21
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/engine/extract-surface-with-program.d.ts.map +1 -1
- package/dist/engine/extract-surface-with-program.js +5 -0
- package/dist/engine/extract-surface.d.ts.map +1 -1
- package/dist/engine/extract-surface.js +5 -0
- package/dist/schema/api-surface.d.ts +7 -0
- package/dist/schema/api-surface.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-surface-with-program.d.ts","sourceRoot":"","sources":["../../src/engine/extract-surface-with-program.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,yDAAyD;QACzD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"extract-surface-with-program.d.ts","sourceRoot":"","sources":["../../src/engine/extract-surface-with-program.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,yDAAyD;QACzD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CAoK3B"}
|
|
@@ -148,10 +148,15 @@ export function extractApiSurfaceWithProgram(options) {
|
|
|
148
148
|
const key = s.package ?? '<no-package>';
|
|
149
149
|
counts[key] = (counts[key] ?? 0) + 1;
|
|
150
150
|
}
|
|
151
|
+
// Surface filter entries that matched no known package so callers can fail
|
|
152
|
+
// loudly instead of returning a silent 0-symbol surface.
|
|
153
|
+
const knownPackages = new Set(fileToPackage.values());
|
|
154
|
+
const unmatchedFilters = options.packageFilter?.filter((p) => !knownPackages.has(p)) ?? [];
|
|
151
155
|
const surface = {
|
|
152
156
|
schema: API_SURFACE_SCHEMA,
|
|
153
157
|
projectRoot: options.projectRoot,
|
|
154
158
|
...(options.packageFilter && options.packageFilter.length > 0 ? { packageFilter: options.packageFilter } : {}),
|
|
159
|
+
...(unmatchedFilters.length > 0 ? { unmatchedFilters } : {}),
|
|
155
160
|
symbols: deduped,
|
|
156
161
|
countsByPackage: counts,
|
|
157
162
|
total: deduped.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-surface.d.ts","sourceRoot":"","sources":["../../src/engine/extract-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,sBAA2B,GACnC,WAAW,
|
|
1
|
+
{"version":3,"file":"extract-surface.d.ts","sourceRoot":"","sources":["../../src/engine/extract-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAwDb"}
|
|
@@ -54,10 +54,15 @@ export function extractApiSurface(snap, options = {}) {
|
|
|
54
54
|
const key = s.package ?? '<no-package>';
|
|
55
55
|
counts[key] = (counts[key] ?? 0) + 1;
|
|
56
56
|
}
|
|
57
|
+
// Surface filter entries that matched no known package so callers can fail
|
|
58
|
+
// loudly instead of returning a silent 0-symbol surface.
|
|
59
|
+
const knownPackages = new Set(fileToPackage.values());
|
|
60
|
+
const unmatchedFilters = options.packageFilter?.filter((p) => !knownPackages.has(p)) ?? [];
|
|
57
61
|
return {
|
|
58
62
|
schema: API_SURFACE_SCHEMA,
|
|
59
63
|
projectRoot: snap.manifest.projectRoot,
|
|
60
64
|
...(options.packageFilter && options.packageFilter.length > 0 ? { packageFilter: options.packageFilter } : {}),
|
|
65
|
+
...(unmatchedFilters.length > 0 ? { unmatchedFilters } : {}),
|
|
61
66
|
symbols,
|
|
62
67
|
countsByPackage: counts,
|
|
63
68
|
total: symbols.length,
|
|
@@ -32,6 +32,13 @@ export interface IApiSurface {
|
|
|
32
32
|
projectRoot?: string;
|
|
33
33
|
/** When set, only entries under one of these packages are included. */
|
|
34
34
|
packageFilter?: readonly string[];
|
|
35
|
+
/**
|
|
36
|
+
* Requested `packageFilter` entries that matched NO known workspace package.
|
|
37
|
+
* Present (and non-empty) only when a filter was supplied that the extractor
|
|
38
|
+
* could not resolve — lets callers fail loudly instead of silently emitting a
|
|
39
|
+
* 0-symbol surface. Absent when every filter matched (deterministic output).
|
|
40
|
+
*/
|
|
41
|
+
unmatchedFilters?: readonly string[];
|
|
35
42
|
/** Symbols sorted by id ascending. */
|
|
36
43
|
symbols: readonly IPublicSymbol[];
|
|
37
44
|
/** Per-package summary counts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-surface.d.ts","sourceRoot":"","sources":["../../src/schema/api-surface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAG,2BAAoC,CAAC;AACvE,eAAO,MAAM,uBAAuB,EAAG,gCAAyC,CAAC;AAEjF,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,UAAU,GACV,WAAW,GACX,YAAY,GACZ,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sCAAsC;IACtC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,kCAAkC;IAClC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,SAAS,GACT,cAAc,GACd,YAAY,GACZ,eAAe,GACf,mBAAmB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC"}
|
|
1
|
+
{"version":3,"file":"api-surface.d.ts","sourceRoot":"","sources":["../../src/schema/api-surface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAG,2BAAoC,CAAC;AACvE,eAAO,MAAM,uBAAuB,EAAG,gCAAyC,CAAC;AAEjF,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,UAAU,GACV,WAAW,GACX,YAAY,GACZ,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,sCAAsC;IACtC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,kCAAkC;IAClC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,SAAS,GACT,cAAc,GACd,YAAY,GACZ,eAAe,GACf,mBAAmB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrkcrft/api-surface-diff",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.21",
|
|
4
4
|
"description": "SharkCraft API surface diff: compare two code-graph snapshots and report added / removed / changed public symbols. Catches accidental API breaks before publish.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "SharkCraft contributors",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "./dist/index.js",
|
|
9
|
-
"types": "./dist/index.d.
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@shrkcrft/core": "^0.1.0-alpha.
|
|
48
|
-
"@shrkcrft/graph": "^0.1.0-alpha.
|
|
47
|
+
"@shrkcrft/core": "^0.1.0-alpha.21",
|
|
48
|
+
"@shrkcrft/graph": "^0.1.0-alpha.21",
|
|
49
49
|
"typescript": "^5.5.0"
|
|
50
50
|
},
|
|
51
51
|
"publishConfig": {
|