@opensip-cli/graph-typescript 0.1.10 → 0.1.12
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/README.md +4 -2
- package/dist/__tests__/body-signature-population.test.d.ts +2 -0
- package/dist/__tests__/body-signature-population.test.d.ts.map +1 -0
- package/dist/__tests__/body-signature-population.test.js +49 -0
- package/dist/__tests__/body-signature-population.test.js.map +1 -0
- package/dist/__tests__/edge-helpers/method-target.test.js +33 -1
- package/dist/__tests__/edge-helpers/method-target.test.js.map +1 -1
- package/dist/__tests__/inventory-property-tests.test.d.ts.map +1 -1
- package/dist/__tests__/inventory-property-tests.test.js +0 -1
- package/dist/__tests__/inventory-property-tests.test.js.map +1 -1
- package/dist/__tests__/inventory-shape-coverage.test.d.ts.map +1 -1
- package/dist/__tests__/inventory-shape-coverage.test.js +0 -1
- package/dist/__tests__/inventory-shape-coverage.test.js.map +1 -1
- package/dist/__tests__/lang-adapter-contract.test.d.ts.map +1 -1
- package/dist/__tests__/lang-adapter-contract.test.js +0 -1
- package/dist/__tests__/lang-adapter-contract.test.js.map +1 -1
- package/dist/cache-key.d.ts.map +1 -1
- package/dist/cache-key.js +0 -1
- package/dist/cache-key.js.map +1 -1
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +0 -2
- package/dist/discover.js.map +1 -1
- package/dist/edge-helpers/find-catalog-entry.d.ts.map +1 -1
- package/dist/edge-helpers/find-catalog-entry.js +0 -1
- package/dist/edge-helpers/find-catalog-entry.js.map +1 -1
- package/dist/edge-helpers/method-target.d.ts +10 -0
- package/dist/edge-helpers/method-target.d.ts.map +1 -1
- package/dist/edge-helpers/method-target.js +83 -3
- package/dist/edge-helpers/method-target.js.map +1 -1
- package/dist/edge-resolvers/direct-call.d.ts.map +1 -1
- package/dist/edge-resolvers/direct-call.js +0 -1
- package/dist/edge-resolvers/direct-call.js.map +1 -1
- package/dist/edge-resolvers/jsx-element.d.ts.map +1 -1
- package/dist/edge-resolvers/jsx-element.js +0 -1
- package/dist/edge-resolvers/jsx-element.js.map +1 -1
- package/dist/edge-resolvers/new-expression.d.ts.map +1 -1
- package/dist/edge-resolvers/new-expression.js +0 -1
- package/dist/edge-resolvers/new-expression.js.map +1 -1
- package/dist/edge-resolvers/polymorphic.d.ts.map +1 -1
- package/dist/edge-resolvers/polymorphic.js +0 -1
- package/dist/edge-resolvers/polymorphic.js.map +1 -1
- package/dist/edge-resolvers/property-access.d.ts.map +1 -1
- package/dist/edge-resolvers/property-access.js +0 -1
- package/dist/edge-resolvers/property-access.js.map +1 -1
- package/dist/edges-dispatch.d.ts +13 -0
- package/dist/edges-dispatch.d.ts.map +1 -0
- package/dist/edges-dispatch.js +143 -0
- package/dist/edges-dispatch.js.map +1 -0
- package/dist/edges.d.ts +2 -32
- package/dist/edges.d.ts.map +1 -1
- package/dist/edges.js +4 -271
- package/dist/edges.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/inventory-helpers/classify-visibility.d.ts.map +1 -1
- package/dist/inventory-helpers/classify-visibility.js +0 -1
- package/dist/inventory-helpers/classify-visibility.js.map +1 -1
- package/dist/inventory-helpers/enclosing-class.d.ts +3 -0
- package/dist/inventory-helpers/enclosing-class.d.ts.map +1 -0
- package/dist/inventory-helpers/enclosing-class.js +12 -0
- package/dist/inventory-helpers/enclosing-class.js.map +1 -0
- package/dist/inventory-helpers/extract-decorators.d.ts.map +1 -1
- package/dist/inventory-helpers/extract-decorators.js +0 -1
- package/dist/inventory-helpers/extract-decorators.js.map +1 -1
- package/dist/inventory-helpers/extract-params.d.ts.map +1 -1
- package/dist/inventory-helpers/extract-params.js +0 -1
- package/dist/inventory-helpers/extract-params.js.map +1 -1
- package/dist/inventory-helpers/hash-body.d.ts +1 -0
- package/dist/inventory-helpers/hash-body.d.ts.map +1 -1
- package/dist/inventory-helpers/hash-body.js +3 -9
- package/dist/inventory-helpers/hash-body.js.map +1 -1
- package/dist/inventory-helpers/infer-parent-name.d.ts +3 -0
- package/dist/inventory-helpers/infer-parent-name.d.ts.map +1 -0
- package/dist/inventory-helpers/infer-parent-name.js +14 -0
- package/dist/inventory-helpers/infer-parent-name.js.map +1 -0
- package/dist/inventory-visitors/arrow-function.d.ts +1 -1
- package/dist/inventory-visitors/arrow-function.d.ts.map +1 -1
- package/dist/inventory-visitors/arrow-function.js +2 -15
- package/dist/inventory-visitors/arrow-function.js.map +1 -1
- package/dist/inventory-visitors/class-static-init.d.ts.map +1 -1
- package/dist/inventory-visitors/class-static-init.js +1 -0
- package/dist/inventory-visitors/class-static-init.js.map +1 -1
- package/dist/inventory-visitors/constructor-declaration.d.ts +1 -1
- package/dist/inventory-visitors/constructor-declaration.d.ts.map +1 -1
- package/dist/inventory-visitors/constructor-declaration.js +3 -14
- package/dist/inventory-visitors/constructor-declaration.js.map +1 -1
- package/dist/inventory-visitors/function-declaration.d.ts.map +1 -1
- package/dist/inventory-visitors/function-declaration.js +1 -0
- package/dist/inventory-visitors/function-declaration.js.map +1 -1
- package/dist/inventory-visitors/function-expression.d.ts +1 -1
- package/dist/inventory-visitors/function-expression.d.ts.map +1 -1
- package/dist/inventory-visitors/function-expression.js +2 -16
- package/dist/inventory-visitors/function-expression.js.map +1 -1
- package/dist/inventory-visitors/getter-setter.d.ts.map +1 -1
- package/dist/inventory-visitors/getter-setter.js +3 -13
- package/dist/inventory-visitors/getter-setter.js.map +1 -1
- package/dist/inventory-visitors/method-declaration.d.ts.map +1 -1
- package/dist/inventory-visitors/method-declaration.js +3 -13
- package/dist/inventory-visitors/method-declaration.js.map +1 -1
- package/dist/inventory-visitors/module-init.d.ts.map +1 -1
- package/dist/inventory-visitors/module-init.js +1 -0
- package/dist/inventory-visitors/module-init.js.map +1 -1
- package/dist/parse-fast.d.ts.map +1 -1
- package/dist/parse-fast.js +2 -3
- package/dist/parse-fast.js.map +1 -1
- package/dist/test-file.d.ts +7 -4
- package/dist/test-file.d.ts.map +1 -1
- package/dist/test-file.js +7 -39
- package/dist/test-file.js.map +1 -1
- package/package.json +7 -7
package/dist/cache-key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../src/cache-key.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../src/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B;;;GAGG;AACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5D,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/D,OAAO,MAAM,EAAE,CAAC,OAAO,YAAY,eAAe,IAAI,KAAK,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,aAAiC;IAC7D,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,aAAa,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1D,oBAAoB;QACpB,OAAO,cAAc,aAAa,EAAE,CAAC;IACvC,CAAC;IACD,wEAAwE;IACxE,kEAAkE;IAClE,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAC1C,IAAI,CAAC,MAAM,EACX,EAAE,CAAC,GAAG,EACN,OAAO,CAAC,aAAa,CAAC,EACtB,SAAS,EACT,aAAa,CACd,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,OAA2B;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC;SAC/D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACtC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/discover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,8FAA8F;AAC9F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;CAC9C;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA0BpE"}
|
package/dist/discover.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file error-handling-quality -- two intentional swallows: (1) the ParseConfigHost.readFile shim returns undefined when TS asks about a vanished referenced file (TS treats undefined as "skip"), and (2) realpathSync probe for symlink dedup falls through with the original path; both are marked v8-ignore as effectively unreachable on real input.
|
|
2
|
-
// @fitness-ignore-file unbounded-memory -- ParseConfigHost.readFile reads tsconfig.json files only; bounded by standard TS configuration shape
|
|
3
1
|
/**
|
|
4
2
|
* Stage 0 — Discover files.
|
|
5
3
|
*
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-catalog-entry.d.ts","sourceRoot":"","sources":["../../src/edge-helpers/find-catalog-entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find-catalog-entry.d.ts","sourceRoot":"","sources":["../../src/edge-helpers/find-catalog-entry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,MAAM,GAAG,IAAI,CASf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-catalog-entry.js","sourceRoot":"","sources":["../../src/edge-helpers/find-catalog-entry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"find-catalog-entry.js","sourceRoot":"","sources":["../../src/edge-helpers/find-catalog-entry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAa,EACb,UAAyB,EACzB,OAAgB,EAChB,cAAiC;IAEjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC5D,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,OAAgB,EAAE,IAAY;IAC5C,kEAAkE;IAClE,kEAAkE;IAClE,oCAAoC;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,KAAK,GAA8C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjF,oBAAoB;IACpB,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -19,4 +19,14 @@ import ts from 'typescript';
|
|
|
19
19
|
* fails to match an occurrence at the linker and declines (never fabricates).
|
|
20
20
|
*/
|
|
21
21
|
export declare function methodTargetFile(node: ts.Node, checker: ts.TypeChecker, projectDirAbs: string): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Decode a pnpm-injected workspace `.d.ts` path to its workspace SOURCE path, or
|
|
24
|
+
* `null`. `rel` is a `/node_modules/`-bearing, `/dist/`-bearing `.d.ts` path; the
|
|
25
|
+
* mapping recovers the `<workspace>/src/<sub>.ts` the EXACT build resolves to,
|
|
26
|
+
* from the `@file+<encoded-workspace>` segment pnpm writes into the `.pnpm` dir
|
|
27
|
+
* name (`/`→`+`, optional trailing `_<peer-hash>`). Pure `indexOf`/`slice` — no
|
|
28
|
+
* unbounded-backtracking regex (sonarjs/slow-regex). A non-injected `node_modules`
|
|
29
|
+
* `.d.ts` (no `@file+`) returns `null` — a real npm dependency, not a workspace pkg.
|
|
30
|
+
*/
|
|
31
|
+
export declare function decodeInjectedDist(rel: string): string | null;
|
|
22
32
|
//# sourceMappingURL=method-target.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-target.d.ts","sourceRoot":"","sources":["../../src/edge-helpers/method-target.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-target.d.ts","sourceRoot":"","sources":["../../src/edge-helpers/method-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CA8Bf;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY7D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file batch-operation-limits -- iterates a bounded collection (one symbol's declarations for a single method-call resolution), mirroring the property-access resolver.
|
|
2
1
|
/**
|
|
3
2
|
* Type-attested cross-package METHOD target resolution (ADR-0033 follow-up).
|
|
4
3
|
*
|
|
@@ -36,11 +35,92 @@ export function methodTargetFile(node, checker, projectDirAbs) {
|
|
|
36
35
|
if (!sf.isDeclarationFile)
|
|
37
36
|
return null;
|
|
38
37
|
const rel = relative(projectDirAbs, sf.fileName).split(sep).join('/');
|
|
39
|
-
if (
|
|
38
|
+
if (!rel.endsWith('.d.ts') || !rel.includes('/dist/'))
|
|
40
39
|
return null;
|
|
40
|
+
// (1) Workspace-package built dist — how the single-program (EXACT) build
|
|
41
|
+
// resolves `@scope/pkg`: `packages/X/dist/sub.d.ts` -> `packages/X/src/sub.ts`.
|
|
42
|
+
if (!rel.includes('/node_modules/')) {
|
|
43
|
+
return rel.replace('/dist/', '/src/').replace(/\.d\.ts$/, '.ts');
|
|
41
44
|
}
|
|
42
|
-
|
|
45
|
+
// (2) The SAME workspace package resolved through pnpm's INJECTED copy — how
|
|
46
|
+
// each SHARDED shard's per-shard program resolves `@scope/pkg`:
|
|
47
|
+
// `node_modules/.pnpm/<pkg>@file+<encoded-workspace>/node_modules/<pkg>/dist/sub.d.ts`.
|
|
48
|
+
// pnpm encodes the workspace path with `+` for `/` (e.g. `@file+packages+core`,
|
|
49
|
+
// a trailing `_<peer-hash>`). Decode it so the shard maps to the SAME
|
|
50
|
+
// `packages/X/src/sub.ts` the exact build does; otherwise method boundary
|
|
51
|
+
// calls resolve in exact but decline sharded (a `/node_modules/` reject),
|
|
52
|
+
// breaking sharded≡exact. A real npm `.d.ts` (no `@file+`) stays declined.
|
|
53
|
+
// Done with index/slice (not one regex) to stay ReDoS-free (sonarjs/slow-regex).
|
|
54
|
+
return decodeInjectedDist(rel);
|
|
43
55
|
}
|
|
44
56
|
return null;
|
|
45
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Decode a pnpm-injected workspace `.d.ts` path to its workspace SOURCE path, or
|
|
60
|
+
* `null`. `rel` is a `/node_modules/`-bearing, `/dist/`-bearing `.d.ts` path; the
|
|
61
|
+
* mapping recovers the `<workspace>/src/<sub>.ts` the EXACT build resolves to,
|
|
62
|
+
* from the `@file+<encoded-workspace>` segment pnpm writes into the `.pnpm` dir
|
|
63
|
+
* name (`/`→`+`, optional trailing `_<peer-hash>`). Pure `indexOf`/`slice` — no
|
|
64
|
+
* unbounded-backtracking regex (sonarjs/slow-regex). A non-injected `node_modules`
|
|
65
|
+
* `.d.ts` (no `@file+`) returns `null` — a real npm dependency, not a workspace pkg.
|
|
66
|
+
*/
|
|
67
|
+
export function decodeInjectedDist(rel) {
|
|
68
|
+
const PNPM = '/.pnpm/';
|
|
69
|
+
const pnpmAt = rel.indexOf(PNPM);
|
|
70
|
+
const distAt = rel.indexOf('/dist/');
|
|
71
|
+
if (pnpmAt === -1 || distAt === -1)
|
|
72
|
+
return null;
|
|
73
|
+
const dirEnd = rel.indexOf('/', pnpmAt + PNPM.length);
|
|
74
|
+
if (dirEnd === -1)
|
|
75
|
+
return null;
|
|
76
|
+
const pnpmDir = rel.slice(pnpmAt + PNPM.length, dirEnd);
|
|
77
|
+
const encoded = encodedWorkspaceFromPnpmDir(pnpmDir);
|
|
78
|
+
if (encoded === null)
|
|
79
|
+
return null;
|
|
80
|
+
const sub = rel.slice(distAt + '/dist/'.length).replace(/\.d\.ts$/, '.ts');
|
|
81
|
+
return `${encoded.split('+').join('/')}/src/${sub}`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Extract the `@file+packages[+segment…]` workspace path from a pnpm virtual-store
|
|
85
|
+
* directory name, stopping before peer-dep suffixes (`_@types+…`) or `/`.
|
|
86
|
+
*/
|
|
87
|
+
function encodedWorkspaceFromPnpmDir(pnpmDir) {
|
|
88
|
+
const marker = '@file+';
|
|
89
|
+
const fileAt = pnpmDir.indexOf(marker);
|
|
90
|
+
if (fileAt === -1)
|
|
91
|
+
return null;
|
|
92
|
+
const start = fileAt + marker.length;
|
|
93
|
+
if (!pnpmDir.startsWith('packages', start))
|
|
94
|
+
return null;
|
|
95
|
+
const end = scanEncodedSegments(pnpmDir, start + 'packages'.length);
|
|
96
|
+
if (end === -1)
|
|
97
|
+
return null;
|
|
98
|
+
const encoded = pnpmDir.slice(start, end);
|
|
99
|
+
return encoded.length > 0 ? encoded : null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* From `pos`, consume `+segment` groups (`segment` = `[a-z0-9-]+`), stopping at a
|
|
103
|
+
* peer-dep suffix (`_`), a `/`, or end-of-string. Returns the stop index, or `-1`
|
|
104
|
+
* on a malformed run (an empty segment, or any char that is neither `+`/`_`/`/`).
|
|
105
|
+
*/
|
|
106
|
+
function scanEncodedSegments(pnpmDir, from) {
|
|
107
|
+
let pos = from;
|
|
108
|
+
while (pos < pnpmDir.length) {
|
|
109
|
+
const ch = pnpmDir[pos];
|
|
110
|
+
if (ch === '_' || ch === '/')
|
|
111
|
+
return pos;
|
|
112
|
+
if (ch !== '+')
|
|
113
|
+
return -1;
|
|
114
|
+
pos++;
|
|
115
|
+
const segStart = pos;
|
|
116
|
+
while (pos < pnpmDir.length && isEncodedSegmentChar(pnpmDir[pos]))
|
|
117
|
+
pos++;
|
|
118
|
+
if (pos === segStart)
|
|
119
|
+
return -1;
|
|
120
|
+
}
|
|
121
|
+
return pos;
|
|
122
|
+
}
|
|
123
|
+
function isEncodedSegmentChar(c) {
|
|
124
|
+
return c !== undefined && /[a-z0-9-]/.test(c);
|
|
125
|
+
}
|
|
46
126
|
//# sourceMappingURL=method-target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-target.js","sourceRoot":"","sources":["../../src/edge-helpers/method-target.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"method-target.js","sourceRoot":"","sources":["../../src/edge-helpers/method-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-call.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/direct-call.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"direct-call.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/direct-call.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiB/C,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,cAAc,CAkB7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-call.js","sourceRoot":"","sources":["../../src/edge-resolvers/direct-call.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"direct-call.js","sourceRoot":"","sources":["../../src/edge-resolvers/direct-call.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAuB;IAC3B,UAAU,EAAE,SAAkB;IAC9B,UAAU,EAAE,KAAc;CAC3B,CAAC;AAEF,MAAM,MAAM,GACV,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,sBAAsB;IAChC,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,mBAAmB,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAoC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC9E,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAE/B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-element.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/jsx-element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsx-element.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/jsx-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,KAAK,cAAc,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,qBAAqB,CAAC;AAEtE,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,cAAc,CAyB1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-element.js","sourceRoot":"","sources":["../../src/edge-resolvers/jsx-element.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jsx-element.js","sourceRoot":"","sources":["../../src/edge-resolvers/jsx-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAuB;IAC3B,UAAU,EAAE,SAAkB;IAC9B,UAAU,EAAE,KAAc;CAC3B,CAAC;AAEF,MAAM,MAAM,GACV,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,mBAAmB,CAAC;AAIhC,MAAM,CAAC,MAAM,iBAAiB,GAAiC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,oDAAoD;IACpD,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,iFAAiF;IACjF,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAE3C,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAClF,gFAAgF;IAChF,6EAA6E;IAC7E,yBAAyB;IACzB,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACjF,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAAgC,EAChC,aAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,IAAI,GAAG,GAAY,OAAO,CAAC;IAC3B,OAAO,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;IAChE,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-expression.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/new-expression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new-expression.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/new-expression.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CA2B/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-expression.js","sourceRoot":"","sources":["../../src/edge-resolvers/new-expression.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"new-expression.js","sourceRoot":"","sources":["../../src/edge-resolvers/new-expression.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAuB;IAC3B,UAAU,EAAE,SAAkB;IAC9B,UAAU,EAAE,KAAc;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAmC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAChF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7B,oBAAoB;IACpB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACtF,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzD,oBAAoB;IACpB,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAE/B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,oBAAoB;QACpB,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAAE,SAAS;QACpE,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAChC,oBAAoB;QACpB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7B,oBAAoB;QACpB,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACvE,CAAC;IACH,CAAC;IACD,oBAAoB;IACpB,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,SAAS,eAAe,CAAC,GAA4B;IACnD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,oBAAoB;IACpB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/polymorphic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/polymorphic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmB/C,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,EAAE,CAAC,cAAc,CAWlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymorphic.js","sourceRoot":"","sources":["../../src/edge-resolvers/polymorphic.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"polymorphic.js","sourceRoot":"","sources":["../../src/edge-resolvers/polymorphic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAuB;IAC3B,UAAU,EAAE,SAAkB;IAC9B,UAAU,EAAE,KAAc;CAC3B,CAAC;AAEF,MAAM,MAAM,GACV,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,eAAe;IACzB,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,6BAA6B,CAAC;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAoC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnF,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,UAAU;QACd,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;KACxD,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,mBAAmB,CAC1B,YAAqB,EACrB,UAAkB,EAClB,GAAmD;IAEnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QAC3C,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAc,EACd,UAAkB,EAClB,GAAmD,EACnD,GAAa;IAEb,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/E,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-access.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/property-access.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"property-access.d.ts","sourceRoot":"","sources":["../../src/edge-resolvers/property-access.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,EAAE,CAAC,cAAc,CA6BrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-access.js","sourceRoot":"","sources":["../../src/edge-resolvers/property-access.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"property-access.js","sourceRoot":"","sources":["../../src/edge-resolvers/property-access.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAuB;IAC3B,UAAU,EAAE,SAAkB;IAC9B,UAAU,EAAE,KAAc;CAC3B,CAAC;AAEF,MAAM,MAAM,GACV,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,sBAAsB;IAChC,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,6BAA6B,CAAC;AAE1C,MAAM,CAAC,MAAM,yBAAyB,GAAoC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACtF,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAE/B,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IAC5C,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAExF,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC5E,IAAI,IAAI,EAAE,CAAC;YACT,OAAO;gBACL,EAAE,EAAE,CAAC,IAAI,CAAC;gBACV,UAAU,EAAE,iBAAiB;gBAC7B,UAAU,EAAE,MAAM;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import type { ResolverContext } from './edge-resolvers/types.js';
|
|
3
|
+
import type { CallEdge, Catalog, EdgeSink, ResolverVerdict } from '@opensip-cli/graph';
|
|
4
|
+
export declare function tsPosition(node: ts.Node, sourceFile: ts.SourceFile): {
|
|
5
|
+
readonly line: number;
|
|
6
|
+
readonly column: number;
|
|
7
|
+
readonly text: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function pushCallEdge(node: ts.Node, sourceFile: ts.SourceFile, verdict: ResolverVerdict, ownerKey: string, sink: EdgeSink): void;
|
|
10
|
+
export declare function computeVerdict(node: ts.Node, ctx: ResolverContext): ResolverVerdict | null;
|
|
11
|
+
export declare function isReturnValueDiscarded(node: ts.Node): boolean;
|
|
12
|
+
export declare function rebuildCatalog(catalog: Catalog, callsByHash: ReadonlyMap<string, readonly CallEdge[]>): Catalog;
|
|
13
|
+
//# sourceMappingURL=edges-dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edges-dispatch.d.ts","sourceRoot":"","sources":["../src/edges-dispatch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EAER,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,wBAAgB,UAAU,CACxB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,GACxB;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAQA;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,IAAI,CAeN;AAkCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,eAAe,GAAG,IAAI,CAK1F;AAgED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAU7D;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC,GACpD,OAAO,CAcT"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { appendEdge, ownerEdgeKey, resolveSpecifierToPackage, truncateForCallEdge, } from '@opensip-cli/graph';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { DeclShape, functionLikeFromDeclaration } from './edge-helpers/declaration-to-node.js';
|
|
4
|
+
import { unaliasSymbol } from './edge-helpers/unalias-symbol.js';
|
|
5
|
+
import { resolveByCatalogFallback } from './edge-resolvers/catalog-fallback.js';
|
|
6
|
+
import { resolveDirectCall } from './edge-resolvers/direct-call.js';
|
|
7
|
+
import { resolveJsxElement } from './edge-resolvers/jsx-element.js';
|
|
8
|
+
import { resolveNewExpression } from './edge-resolvers/new-expression.js';
|
|
9
|
+
import { resolvePolymorphicCall } from './edge-resolvers/polymorphic.js';
|
|
10
|
+
import { resolvePropertyAccessCall } from './edge-resolvers/property-access.js';
|
|
11
|
+
import { calleeAnchorNode } from './edge-resolvers/syntactic.js';
|
|
12
|
+
import { isValueReference, resolveShorthandAssignment, resolveValueReference, } from './edges-value-reference.js';
|
|
13
|
+
export function tsPosition(node, sourceFile) {
|
|
14
|
+
const anchor = calleeAnchorNode(node).getStart(sourceFile);
|
|
15
|
+
const anchorLC = sourceFile.getLineAndCharacterOfPosition(anchor);
|
|
16
|
+
return {
|
|
17
|
+
line: anchorLC.line + 1,
|
|
18
|
+
column: anchorLC.character,
|
|
19
|
+
text: sourceFile.text.slice(node.getStart(sourceFile), node.getEnd()),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function pushCallEdge(node, sourceFile, verdict, ownerKey, sink) {
|
|
23
|
+
const { edgesByOwner: callsByHash, stats } = sink;
|
|
24
|
+
stats.totalCallSites++;
|
|
25
|
+
const pos = tsPosition(node, sourceFile);
|
|
26
|
+
const edge = {
|
|
27
|
+
to: verdict.to,
|
|
28
|
+
line: pos.line,
|
|
29
|
+
column: pos.column,
|
|
30
|
+
resolution: verdict.resolution,
|
|
31
|
+
confidence: verdict.confidence,
|
|
32
|
+
text: truncateForCallEdge(pos.text),
|
|
33
|
+
discarded: isReturnValueDiscarded(node),
|
|
34
|
+
};
|
|
35
|
+
appendEdge(callsByHash, ownerKey, edge);
|
|
36
|
+
stats.apply(edge);
|
|
37
|
+
}
|
|
38
|
+
function verdictEntry(predicate, resolve) {
|
|
39
|
+
return { predicate, resolve: (n, c) => resolve(n, c) };
|
|
40
|
+
}
|
|
41
|
+
const isJsxLikeOpening = (n) => ts.isJsxOpeningElement(n) || ts.isJsxSelfClosingElement(n);
|
|
42
|
+
const isValueRefIdentifier = (n) => ts.isIdentifier(n) && isValueReference(n);
|
|
43
|
+
const VERDICT_TABLE = [
|
|
44
|
+
verdictEntry(ts.isCallExpression, (n, c) => dispatchCall(n, c)),
|
|
45
|
+
verdictEntry(ts.isNewExpression, (n, c) => resolveNewExpression(n, c)),
|
|
46
|
+
verdictEntry(isJsxLikeOpening, (n, c) => resolveJsxElement(n, c)),
|
|
47
|
+
verdictEntry(isValueRefIdentifier, (n, c) => {
|
|
48
|
+
const v = resolveValueReference(n, c);
|
|
49
|
+
return v.to.length > 0 ? v : null;
|
|
50
|
+
}),
|
|
51
|
+
verdictEntry(ts.isShorthandPropertyAssignment, (n, c) => {
|
|
52
|
+
const v = resolveShorthandAssignment(n, c);
|
|
53
|
+
return v.to.length > 0 ? v : null;
|
|
54
|
+
}),
|
|
55
|
+
];
|
|
56
|
+
export function computeVerdict(node, ctx) {
|
|
57
|
+
for (const entry of VERDICT_TABLE) {
|
|
58
|
+
if (entry.predicate(node))
|
|
59
|
+
return entry.resolve(node, ctx);
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
function dispatchCall(node, ctx) {
|
|
64
|
+
if (ts.isIdentifier(node.expression)) {
|
|
65
|
+
const direct = resolveDirectCall(node, ctx);
|
|
66
|
+
if (direct.to.length > 0)
|
|
67
|
+
return direct;
|
|
68
|
+
return fallbackWithBinding(node.expression, node.expression.text, ctx);
|
|
69
|
+
}
|
|
70
|
+
if (ts.isPropertyAccessExpression(node.expression)) {
|
|
71
|
+
const direct = resolvePropertyAccessCall(node, ctx);
|
|
72
|
+
if (direct.to.length > 0)
|
|
73
|
+
return direct;
|
|
74
|
+
const poly = resolvePolymorphicCall(node, ctx);
|
|
75
|
+
if (poly.to.length > 0)
|
|
76
|
+
return poly;
|
|
77
|
+
return fallbackWithBinding(node.expression, node.expression.name.text, ctx);
|
|
78
|
+
}
|
|
79
|
+
return { to: [], resolution: 'unknown', confidence: 'low' };
|
|
80
|
+
}
|
|
81
|
+
const UNRESOLVED_VERDICT = { to: [], resolution: 'unknown', confidence: 'low' };
|
|
82
|
+
function fallbackWithBinding(calleeExpr, name, ctx) {
|
|
83
|
+
if (!hasProjectBinding(calleeExpr, name, ctx))
|
|
84
|
+
return UNRESOLVED_VERDICT;
|
|
85
|
+
return resolveByCatalogFallback(name, ctx.catalog);
|
|
86
|
+
}
|
|
87
|
+
function hasProjectBinding(calleeExpr, name, ctx) {
|
|
88
|
+
if (symbolHasInProjectSourceDecl(calleeExpr, ctx))
|
|
89
|
+
return true;
|
|
90
|
+
const spec = ctx.importSpecifiers.get(name);
|
|
91
|
+
if (spec !== undefined) {
|
|
92
|
+
if (spec.startsWith('.'))
|
|
93
|
+
return true;
|
|
94
|
+
return resolveSpecifierToPackage(spec, ctx.crossPackage.manifestIndex) !== undefined;
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const CALLABLE_DECL = DeclShape.FunctionDeclaration |
|
|
99
|
+
DeclShape.ArrowFunction |
|
|
100
|
+
DeclShape.FunctionExpression |
|
|
101
|
+
DeclShape.MethodDeclaration |
|
|
102
|
+
DeclShape.ConstructorDeclaration |
|
|
103
|
+
DeclShape.Accessor |
|
|
104
|
+
DeclShape.VariableInitializer |
|
|
105
|
+
DeclShape.PropertyAssignmentInitializer;
|
|
106
|
+
function symbolHasInProjectSourceDecl(calleeExpr, ctx) {
|
|
107
|
+
const symbol = ctx.typeChecker.getSymbolAtLocation(calleeExpr);
|
|
108
|
+
if (!symbol)
|
|
109
|
+
return false;
|
|
110
|
+
const real = unaliasSymbol(symbol, ctx.typeChecker);
|
|
111
|
+
for (const d of real.getDeclarations() ?? []) {
|
|
112
|
+
if (!d.getSourceFile().isDeclarationFile &&
|
|
113
|
+
functionLikeFromDeclaration(d, CALLABLE_DECL) !== null) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
export function isReturnValueDiscarded(node) {
|
|
120
|
+
let parent = node.parent;
|
|
121
|
+
while (parent) {
|
|
122
|
+
if (ts.isParenthesizedExpression(parent) || ts.isAwaitExpression(parent)) {
|
|
123
|
+
parent = parent.parent;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
return ts.isExpressionStatement(parent);
|
|
127
|
+
}
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
export function rebuildCatalog(catalog, callsByHash) {
|
|
131
|
+
const functions = Object.create(null);
|
|
132
|
+
for (const name of Object.keys(catalog.functions)) {
|
|
133
|
+
const occs = catalog.functions[name];
|
|
134
|
+
if (!occs)
|
|
135
|
+
continue;
|
|
136
|
+
functions[name] = occs.map((o) => ({
|
|
137
|
+
...o,
|
|
138
|
+
calls: callsByHash.get(ownerEdgeKey(o.bodyHash, o.filePath)) ?? [],
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
return { ...catalog, functions };
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=edges-dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edges-dispatch.js","sourceRoot":"","sources":["../src/edges-dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/edges.d.ts
CHANGED
|
@@ -11,55 +11,25 @@
|
|
|
11
11
|
* node) own a synthetic module-init occurrence (synthesized in stage
|
|
12
12
|
* 1).
|
|
13
13
|
*/
|
|
14
|
-
import ts from 'typescript';
|
|
15
14
|
import type { CallSiteRecord } from './walk.js';
|
|
16
15
|
import type { Catalog, ResolutionStats } from '@opensip-cli/graph';
|
|
17
|
-
|
|
16
|
+
import type ts from 'typescript';
|
|
17
|
+
export { isReturnValueDiscarded } from './edges-dispatch.js';
|
|
18
18
|
export interface EdgeResolutionOutput {
|
|
19
19
|
readonly catalog: Catalog;
|
|
20
20
|
readonly resolutionStats: ResolutionStats;
|
|
21
21
|
}
|
|
22
|
-
/** Input for re-resolving edges from cached {@link CallSiteRecord} arrays (warm path). */
|
|
23
22
|
export interface EdgeResolutionFromRecordsInput {
|
|
24
23
|
readonly catalog: Catalog;
|
|
25
24
|
readonly program: ts.Program;
|
|
26
25
|
readonly projectDirAbs: string;
|
|
27
26
|
readonly callSites: readonly CallSiteRecord[];
|
|
28
27
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Stage 2 entry point: resolve a pre-collected list of call-site records
|
|
31
|
-
* produced by `walkProgram` (no AST re-descent). The orchestrator's
|
|
32
|
-
* `resolveCallSitesAdapter` drives this directly with the records the walk
|
|
33
|
-
* already emitted.
|
|
34
|
-
*/
|
|
35
28
|
export declare function resolveEdgesFromRecords(input: EdgeResolutionFromRecordsInput): Promise<EdgeResolutionOutput>;
|
|
36
|
-
/** Input for the fast (syntactic, checker-free) resolve path. */
|
|
37
29
|
export interface EdgeResolutionSyntacticInput {
|
|
38
30
|
readonly catalog: Catalog;
|
|
39
31
|
readonly projectDirAbs: string;
|
|
40
32
|
readonly callSites: readonly CallSiteRecord[];
|
|
41
33
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Fast-tier Stage 2 entry point: resolve the same pre-collected call-site
|
|
44
|
-
* records WITHOUT a `ts.Program` or type checker. Creation edges are
|
|
45
|
-
* static and handled identically to the exact path; call edges are
|
|
46
|
-
* resolved syntactically (callee name + the file's import graph) and
|
|
47
|
-
* labeled `resolution: 'syntactic'` with capped confidence (never
|
|
48
|
-
* `'high'`). The output shape is identical to {@link resolveEdgesFromRecords}
|
|
49
|
-
* — only the verdicts differ — so the catalog stitches the same way.
|
|
50
|
-
*
|
|
51
|
-
* Stats stay honest: fast edges land in `resolvedMedium`/`resolvedLow`/
|
|
52
|
-
* `unresolved`, never `resolvedHigh`.
|
|
53
|
-
*/
|
|
54
34
|
export declare function resolveEdgesSyntactic(input: EdgeResolutionSyntacticInput): Promise<EdgeResolutionOutput>;
|
|
55
|
-
/**
|
|
56
|
-
* The call's return value is discarded when the call expression is the
|
|
57
|
-
* entire expression of an ExpressionStatement (`foo();`). Anything else
|
|
58
|
-
* — assignment RHS, return value, argument, conditional, member chain
|
|
59
|
-
* — consumes the return value.
|
|
60
|
-
*
|
|
61
|
-
* `await foo()` and `(foo())` wrappers are unwrapped so the underlying
|
|
62
|
-
* intent is preserved.
|
|
63
|
-
*/
|
|
64
|
-
export declare function isReturnValueDiscarded(node: ts.Node): boolean;
|
|
65
35
|
//# sourceMappingURL=edges.d.ts.map
|
package/dist/edges.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAY,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAU7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CAuD/B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAkD/B"}
|