@opensip-cli/graph-typescript 0.1.0
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/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +31 -0
- package/dist/__tests__/_pipeline.d.ts +40 -0
- package/dist/__tests__/_pipeline.d.ts.map +1 -0
- package/dist/__tests__/_pipeline.js +67 -0
- package/dist/__tests__/_pipeline.js.map +1 -0
- package/dist/__tests__/acceptance/_fixture-runner.d.ts +13 -0
- package/dist/__tests__/acceptance/_fixture-runner.d.ts.map +1 -0
- package/dist/__tests__/acceptance/_fixture-runner.js +55 -0
- package/dist/__tests__/acceptance/_fixture-runner.js.map +1 -0
- package/dist/__tests__/acceptance/alias-resolution.test.d.ts +8 -0
- package/dist/__tests__/acceptance/alias-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/alias-resolution.test.js +39 -0
- package/dist/__tests__/acceptance/alias-resolution.test.js.map +1 -0
- package/dist/__tests__/acceptance/arrow-callback-resolution.test.d.ts +8 -0
- package/dist/__tests__/acceptance/arrow-callback-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/arrow-callback-resolution.test.js +33 -0
- package/dist/__tests__/acceptance/arrow-callback-resolution.test.js.map +1 -0
- package/dist/__tests__/acceptance/constructor-calls.test.d.ts +7 -0
- package/dist/__tests__/acceptance/constructor-calls.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/constructor-calls.test.js +36 -0
- package/dist/__tests__/acceptance/constructor-calls.test.js.map +1 -0
- package/dist/__tests__/acceptance/interface-dispatch.test.d.ts +8 -0
- package/dist/__tests__/acceptance/interface-dispatch.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/interface-dispatch.test.js +44 -0
- package/dist/__tests__/acceptance/interface-dispatch.test.js.map +1 -0
- package/dist/__tests__/acceptance/inventory-completeness.test.d.ts +9 -0
- package/dist/__tests__/acceptance/inventory-completeness.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/inventory-completeness.test.js +72 -0
- package/dist/__tests__/acceptance/inventory-completeness.test.js.map +1 -0
- package/dist/__tests__/acceptance/jsx-resolution.test.d.ts +7 -0
- package/dist/__tests__/acceptance/jsx-resolution.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/jsx-resolution.test.js +46 -0
- package/dist/__tests__/acceptance/jsx-resolution.test.js.map +1 -0
- package/dist/__tests__/acceptance/module-init.test.d.ts +10 -0
- package/dist/__tests__/acceptance/module-init.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/module-init.test.js +40 -0
- package/dist/__tests__/acceptance/module-init.test.js.map +1 -0
- package/dist/__tests__/acceptance/projectdir-normalization.test.d.ts +7 -0
- package/dist/__tests__/acceptance/projectdir-normalization.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance/projectdir-normalization.test.js +51 -0
- package/dist/__tests__/acceptance/projectdir-normalization.test.js.map +1 -0
- package/dist/__tests__/body-twin-edges.test.d.ts +12 -0
- package/dist/__tests__/body-twin-edges.test.d.ts.map +1 -0
- package/dist/__tests__/body-twin-edges.test.js +85 -0
- package/dist/__tests__/body-twin-edges.test.js.map +1 -0
- package/dist/__tests__/cache-key.test.d.ts +8 -0
- package/dist/__tests__/cache-key.test.d.ts.map +1 -0
- package/dist/__tests__/cache-key.test.js +86 -0
- package/dist/__tests__/cache-key.test.js.map +1 -0
- package/dist/__tests__/depends-on-emission.test.d.ts +19 -0
- package/dist/__tests__/depends-on-emission.test.d.ts.map +1 -0
- package/dist/__tests__/depends-on-emission.test.js +165 -0
- package/dist/__tests__/depends-on-emission.test.js.map +1 -0
- package/dist/__tests__/discover.test.d.ts +9 -0
- package/dist/__tests__/discover.test.d.ts.map +1 -0
- package/dist/__tests__/discover.test.js +72 -0
- package/dist/__tests__/discover.test.js.map +1 -0
- package/dist/__tests__/edge-helpers/method-target.test.d.ts +8 -0
- package/dist/__tests__/edge-helpers/method-target.test.d.ts.map +1 -0
- package/dist/__tests__/edge-helpers/method-target.test.js +96 -0
- package/dist/__tests__/edge-helpers/method-target.test.js.map +1 -0
- package/dist/__tests__/edge-helpers/resolve-decl.test.d.ts +13 -0
- package/dist/__tests__/edge-helpers/resolve-decl.test.d.ts.map +1 -0
- package/dist/__tests__/edge-helpers/resolve-decl.test.js +176 -0
- package/dist/__tests__/edge-helpers/resolve-decl.test.js.map +1 -0
- package/dist/__tests__/edge-resolvers/branches.test.d.ts +11 -0
- package/dist/__tests__/edge-resolvers/branches.test.d.ts.map +1 -0
- package/dist/__tests__/edge-resolvers/branches.test.js +305 -0
- package/dist/__tests__/edge-resolvers/branches.test.js.map +1 -0
- package/dist/__tests__/edge-resolvers/contract.test.d.ts +8 -0
- package/dist/__tests__/edge-resolvers/contract.test.d.ts.map +1 -0
- package/dist/__tests__/edge-resolvers/contract.test.js +30 -0
- package/dist/__tests__/edge-resolvers/contract.test.js.map +1 -0
- package/dist/__tests__/edge-resolvers/resolver-units.test.d.ts +17 -0
- package/dist/__tests__/edge-resolvers/resolver-units.test.d.ts.map +1 -0
- package/dist/__tests__/edge-resolvers/resolver-units.test.js +286 -0
- package/dist/__tests__/edge-resolvers/resolver-units.test.js.map +1 -0
- package/dist/__tests__/fast-vs-exact.test.d.ts +16 -0
- package/dist/__tests__/fast-vs-exact.test.d.ts.map +1 -0
- package/dist/__tests__/fast-vs-exact.test.js +116 -0
- package/dist/__tests__/fast-vs-exact.test.js.map +1 -0
- package/dist/__tests__/graph-cli.test.d.ts +9 -0
- package/dist/__tests__/graph-cli.test.d.ts.map +1 -0
- package/dist/__tests__/graph-cli.test.js +417 -0
- package/dist/__tests__/graph-cli.test.js.map +1 -0
- package/dist/__tests__/heap-preflight.test.d.ts +10 -0
- package/dist/__tests__/heap-preflight.test.d.ts.map +1 -0
- package/dist/__tests__/heap-preflight.test.js +166 -0
- package/dist/__tests__/heap-preflight.test.js.map +1 -0
- package/dist/__tests__/inventory-differential.test.d.ts +15 -0
- package/dist/__tests__/inventory-differential.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-differential.test.js +319 -0
- package/dist/__tests__/inventory-differential.test.js.map +1 -0
- package/dist/__tests__/inventory-helpers/hash-body.test.d.ts +11 -0
- package/dist/__tests__/inventory-helpers/hash-body.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-helpers/hash-body.test.js +34 -0
- package/dist/__tests__/inventory-helpers/hash-body.test.js.map +1 -0
- package/dist/__tests__/inventory-helpers/synthesize-name.test.d.ts +9 -0
- package/dist/__tests__/inventory-helpers/synthesize-name.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-helpers/synthesize-name.test.js +30 -0
- package/dist/__tests__/inventory-helpers/synthesize-name.test.js.map +1 -0
- package/dist/__tests__/inventory-property-tests.test.d.ts +24 -0
- package/dist/__tests__/inventory-property-tests.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-property-tests.test.js +521 -0
- package/dist/__tests__/inventory-property-tests.test.js.map +1 -0
- package/dist/__tests__/inventory-shape-coverage.test.d.ts +16 -0
- package/dist/__tests__/inventory-shape-coverage.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-shape-coverage.test.js +586 -0
- package/dist/__tests__/inventory-shape-coverage.test.js.map +1 -0
- package/dist/__tests__/inventory-visitors/contract.test.d.ts +9 -0
- package/dist/__tests__/inventory-visitors/contract.test.d.ts.map +1 -0
- package/dist/__tests__/inventory-visitors/contract.test.js +33 -0
- package/dist/__tests__/inventory-visitors/contract.test.js.map +1 -0
- package/dist/__tests__/lang-adapter-contract.test.d.ts +19 -0
- package/dist/__tests__/lang-adapter-contract.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter-contract.test.js +880 -0
- package/dist/__tests__/lang-adapter-contract.test.js.map +1 -0
- package/dist/__tests__/lang-adapter-registry.test.d.ts +10 -0
- package/dist/__tests__/lang-adapter-registry.test.d.ts.map +1 -0
- package/dist/__tests__/lang-adapter-registry.test.js +151 -0
- package/dist/__tests__/lang-adapter-registry.test.js.map +1 -0
- package/dist/__tests__/normalize-project-dir.test.d.ts +5 -0
- package/dist/__tests__/normalize-project-dir.test.d.ts.map +1 -0
- package/dist/__tests__/normalize-project-dir.test.js +47 -0
- package/dist/__tests__/normalize-project-dir.test.js.map +1 -0
- package/dist/__tests__/orchestrate.test.d.ts +8 -0
- package/dist/__tests__/orchestrate.test.d.ts.map +1 -0
- package/dist/__tests__/orchestrate.test.js +213 -0
- package/dist/__tests__/orchestrate.test.js.map +1 -0
- package/dist/__tests__/parse-fast.test.d.ts +9 -0
- package/dist/__tests__/parse-fast.test.d.ts.map +1 -0
- package/dist/__tests__/parse-fast.test.js +114 -0
- package/dist/__tests__/parse-fast.test.js.map +1 -0
- package/dist/__tests__/rules/_helpers.d.ts +18 -0
- package/dist/__tests__/rules/_helpers.d.ts.map +1 -0
- package/dist/__tests__/rules/_helpers.js +62 -0
- package/dist/__tests__/rules/_helpers.js.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body.test.d.ts +5 -0
- package/dist/__tests__/rules/duplicated-function-body.test.d.ts.map +1 -0
- package/dist/__tests__/rules/duplicated-function-body.test.js +39 -0
- package/dist/__tests__/rules/duplicated-function-body.test.js.map +1 -0
- package/dist/__tests__/rules/orphan-subtree.test.d.ts +5 -0
- package/dist/__tests__/rules/orphan-subtree.test.d.ts.map +1 -0
- package/dist/__tests__/rules/orphan-subtree.test.js +75 -0
- package/dist/__tests__/rules/orphan-subtree.test.js.map +1 -0
- package/dist/__tests__/rules/rule-hints-integration.test.d.ts +20 -0
- package/dist/__tests__/rules/rule-hints-integration.test.d.ts.map +1 -0
- package/dist/__tests__/rules/rule-hints-integration.test.js +279 -0
- package/dist/__tests__/rules/rule-hints-integration.test.js.map +1 -0
- package/dist/__tests__/tool-register.test.d.ts +16 -0
- package/dist/__tests__/tool-register.test.d.ts.map +1 -0
- package/dist/__tests__/tool-register.test.js +210 -0
- package/dist/__tests__/tool-register.test.js.map +1 -0
- package/dist/__tests__/value-reference-unit.test.d.ts +13 -0
- package/dist/__tests__/value-reference-unit.test.d.ts.map +1 -0
- package/dist/__tests__/value-reference-unit.test.js +226 -0
- package/dist/__tests__/value-reference-unit.test.js.map +1 -0
- package/dist/__tests__/value-reference.test.d.ts +15 -0
- package/dist/__tests__/value-reference.test.d.ts.map +1 -0
- package/dist/__tests__/value-reference.test.js +115 -0
- package/dist/__tests__/value-reference.test.js.map +1 -0
- package/dist/__tests__/walk-fast.test.d.ts +8 -0
- package/dist/__tests__/walk-fast.test.d.ts.map +1 -0
- package/dist/__tests__/walk-fast.test.js +51 -0
- package/dist/__tests__/walk-fast.test.js.map +1 -0
- package/dist/__tests__/walk-reexports.test.d.ts +7 -0
- package/dist/__tests__/walk-reexports.test.d.ts.map +1 -0
- package/dist/__tests__/walk-reexports.test.js +79 -0
- package/dist/__tests__/walk-reexports.test.js.map +1 -0
- package/dist/cache-key.d.ts +41 -0
- package/dist/cache-key.d.ts.map +1 -0
- package/dist/cache-key.js +94 -0
- package/dist/cache-key.js.map +1 -0
- package/dist/discover.d.ts +25 -0
- package/dist/discover.d.ts.map +1 -0
- package/dist/discover.js +124 -0
- package/dist/discover.js.map +1 -0
- package/dist/edge-helpers/cross-package-context.d.ts +34 -0
- package/dist/edge-helpers/cross-package-context.d.ts.map +1 -0
- package/dist/edge-helpers/cross-package-context.js +97 -0
- package/dist/edge-helpers/cross-package-context.js.map +1 -0
- package/dist/edge-helpers/declaration-to-node.d.ts +58 -0
- package/dist/edge-helpers/declaration-to-node.d.ts.map +1 -0
- package/dist/edge-helpers/declaration-to-node.js +93 -0
- package/dist/edge-helpers/declaration-to-node.js.map +1 -0
- package/dist/edge-helpers/find-catalog-entry.d.ts +24 -0
- package/dist/edge-helpers/find-catalog-entry.d.ts.map +1 -0
- package/dist/edge-helpers/find-catalog-entry.js +45 -0
- package/dist/edge-helpers/find-catalog-entry.js.map +1 -0
- package/dist/edge-helpers/method-target.d.ts +22 -0
- package/dist/edge-helpers/method-target.d.ts.map +1 -0
- package/dist/edge-helpers/method-target.js +46 -0
- package/dist/edge-helpers/method-target.js.map +1 -0
- package/dist/edge-helpers/resolution-trace.d.ts +24 -0
- package/dist/edge-helpers/resolution-trace.d.ts.map +1 -0
- package/dist/edge-helpers/resolution-trace.js +38 -0
- package/dist/edge-helpers/resolution-trace.js.map +1 -0
- package/dist/edge-helpers/resolve-decl.d.ts +44 -0
- package/dist/edge-helpers/resolve-decl.d.ts.map +1 -0
- package/dist/edge-helpers/resolve-decl.js +170 -0
- package/dist/edge-helpers/resolve-decl.js.map +1 -0
- package/dist/edge-helpers/unalias-symbol.d.ts +10 -0
- package/dist/edge-helpers/unalias-symbol.d.ts.map +1 -0
- package/dist/edge-helpers/unalias-symbol.js +29 -0
- package/dist/edge-helpers/unalias-symbol.js.map +1 -0
- package/dist/edge-resolvers/__tests__/boundary.test.d.ts +15 -0
- package/dist/edge-resolvers/__tests__/boundary.test.d.ts.map +1 -0
- package/dist/edge-resolvers/__tests__/boundary.test.js +227 -0
- package/dist/edge-resolvers/__tests__/boundary.test.js.map +1 -0
- package/dist/edge-resolvers/__tests__/callee-anchor.test.d.ts +10 -0
- package/dist/edge-resolvers/__tests__/callee-anchor.test.d.ts.map +1 -0
- package/dist/edge-resolvers/__tests__/callee-anchor.test.js +63 -0
- package/dist/edge-resolvers/__tests__/callee-anchor.test.js.map +1 -0
- package/dist/edge-resolvers/__tests__/syntactic.test.d.ts +12 -0
- package/dist/edge-resolvers/__tests__/syntactic.test.d.ts.map +1 -0
- package/dist/edge-resolvers/__tests__/syntactic.test.js +215 -0
- package/dist/edge-resolvers/__tests__/syntactic.test.js.map +1 -0
- package/dist/edge-resolvers/boundary.d.ts +41 -0
- package/dist/edge-resolvers/boundary.d.ts.map +1 -0
- package/dist/edge-resolvers/boundary.js +130 -0
- package/dist/edge-resolvers/boundary.js.map +1 -0
- package/dist/edge-resolvers/catalog-fallback.d.ts +13 -0
- package/dist/edge-resolvers/catalog-fallback.d.ts.map +1 -0
- package/dist/edge-resolvers/catalog-fallback.js +30 -0
- package/dist/edge-resolvers/catalog-fallback.js.map +1 -0
- package/dist/edge-resolvers/direct-call.d.ts +10 -0
- package/dist/edge-resolvers/direct-call.d.ts.map +1 -0
- package/dist/edge-resolvers/direct-call.js +45 -0
- package/dist/edge-resolvers/direct-call.js.map +1 -0
- package/dist/edge-resolvers/jsx-element.d.ts +16 -0
- package/dist/edge-resolvers/jsx-element.d.ts.map +1 -0
- package/dist/edge-resolvers/jsx-element.js +67 -0
- package/dist/edge-resolvers/jsx-element.js.map +1 -0
- package/dist/edge-resolvers/new-expression.d.ts +11 -0
- package/dist/edge-resolvers/new-expression.d.ts.map +1 -0
- package/dist/edge-resolvers/new-expression.js +56 -0
- package/dist/edge-resolvers/new-expression.js.map +1 -0
- package/dist/edge-resolvers/polymorphic.d.ts +8 -0
- package/dist/edge-resolvers/polymorphic.d.ts.map +1 -0
- package/dist/edge-resolvers/polymorphic.js +57 -0
- package/dist/edge-resolvers/polymorphic.js.map +1 -0
- package/dist/edge-resolvers/property-access.d.ts +10 -0
- package/dist/edge-resolvers/property-access.d.ts.map +1 -0
- package/dist/edge-resolvers/property-access.js +56 -0
- package/dist/edge-resolvers/property-access.js.map +1 -0
- package/dist/edge-resolvers/syntactic.d.ts +105 -0
- package/dist/edge-resolvers/syntactic.d.ts.map +1 -0
- package/dist/edge-resolvers/syntactic.js +294 -0
- package/dist/edge-resolvers/syntactic.js.map +1 -0
- package/dist/edge-resolvers/types.d.ts +37 -0
- package/dist/edge-resolvers/types.d.ts.map +1 -0
- package/dist/edge-resolvers/types.js +10 -0
- package/dist/edge-resolvers/types.js.map +1 -0
- package/dist/edges-value-reference.d.ts +26 -0
- package/dist/edges-value-reference.d.ts.map +1 -0
- package/dist/edges-value-reference.js +138 -0
- package/dist/edges-value-reference.js.map +1 -0
- package/dist/edges.d.ts +65 -0
- package/dist/edges.d.ts.map +1 -0
- package/dist/edges.js +392 -0
- package/dist/edges.js.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +346 -0
- package/dist/index.js.map +1 -0
- package/dist/inventory-helpers/classify-visibility.d.ts +13 -0
- package/dist/inventory-helpers/classify-visibility.d.ts.map +1 -0
- package/dist/inventory-helpers/classify-visibility.js +56 -0
- package/dist/inventory-helpers/classify-visibility.js.map +1 -0
- package/dist/inventory-helpers/extract-decorators.d.ts +6 -0
- package/dist/inventory-helpers/extract-decorators.d.ts.map +1 -0
- package/dist/inventory-helpers/extract-decorators.js +33 -0
- package/dist/inventory-helpers/extract-decorators.js.map +1 -0
- package/dist/inventory-helpers/extract-params.d.ts +7 -0
- package/dist/inventory-helpers/extract-params.d.ts.map +1 -0
- package/dist/inventory-helpers/extract-params.js +28 -0
- package/dist/inventory-helpers/extract-params.js.map +1 -0
- package/dist/inventory-helpers/hash-body.d.ts +43 -0
- package/dist/inventory-helpers/hash-body.d.ts.map +1 -0
- package/dist/inventory-helpers/hash-body.js +52 -0
- package/dist/inventory-helpers/hash-body.js.map +1 -0
- package/dist/inventory-helpers/synthesize-name.d.ts +16 -0
- package/dist/inventory-helpers/synthesize-name.d.ts.map +1 -0
- package/dist/inventory-helpers/synthesize-name.js +17 -0
- package/dist/inventory-helpers/synthesize-name.js.map +1 -0
- package/dist/inventory-visitors/arrow-function.d.ts +8 -0
- package/dist/inventory-visitors/arrow-function.d.ts.map +1 -0
- package/dist/inventory-visitors/arrow-function.js +55 -0
- package/dist/inventory-visitors/arrow-function.js.map +1 -0
- package/dist/inventory-visitors/class-static-init.d.ts +17 -0
- package/dist/inventory-visitors/class-static-init.d.ts.map +1 -0
- package/dist/inventory-visitors/class-static-init.js +45 -0
- package/dist/inventory-visitors/class-static-init.js.map +1 -0
- package/dist/inventory-visitors/constructor-declaration.d.ts +7 -0
- package/dist/inventory-visitors/constructor-declaration.d.ts.map +1 -0
- package/dist/inventory-visitors/constructor-declaration.js +47 -0
- package/dist/inventory-visitors/constructor-declaration.js.map +1 -0
- package/dist/inventory-visitors/function-declaration.d.ts +7 -0
- package/dist/inventory-visitors/function-declaration.d.ts.map +1 -0
- package/dist/inventory-visitors/function-declaration.js +59 -0
- package/dist/inventory-visitors/function-declaration.js.map +1 -0
- package/dist/inventory-visitors/function-expression.d.ts +7 -0
- package/dist/inventory-visitors/function-expression.d.ts.map +1 -0
- package/dist/inventory-visitors/function-expression.js +56 -0
- package/dist/inventory-visitors/function-expression.js.map +1 -0
- package/dist/inventory-visitors/getter-setter.d.ts +7 -0
- package/dist/inventory-visitors/getter-setter.d.ts.map +1 -0
- package/dist/inventory-visitors/getter-setter.js +63 -0
- package/dist/inventory-visitors/getter-setter.js.map +1 -0
- package/dist/inventory-visitors/method-declaration.d.ts +7 -0
- package/dist/inventory-visitors/method-declaration.d.ts.map +1 -0
- package/dist/inventory-visitors/method-declaration.js +75 -0
- package/dist/inventory-visitors/method-declaration.js.map +1 -0
- package/dist/inventory-visitors/module-init.d.ts +15 -0
- package/dist/inventory-visitors/module-init.d.ts.map +1 -0
- package/dist/inventory-visitors/module-init.js +40 -0
- package/dist/inventory-visitors/module-init.js.map +1 -0
- package/dist/inventory-visitors/types.d.ts +26 -0
- package/dist/inventory-visitors/types.d.ts.map +1 -0
- package/dist/inventory-visitors/types.js +14 -0
- package/dist/inventory-visitors/types.js.map +1 -0
- package/dist/normalize-project-dir.d.ts +14 -0
- package/dist/normalize-project-dir.d.ts.map +1 -0
- package/dist/normalize-project-dir.js +36 -0
- package/dist/normalize-project-dir.js.map +1 -0
- package/dist/parse-fast.d.ts +41 -0
- package/dist/parse-fast.d.ts.map +1 -0
- package/dist/parse-fast.js +91 -0
- package/dist/parse-fast.js.map +1 -0
- package/dist/parse.d.ts +42 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +75 -0
- package/dist/parse.js.map +1 -0
- package/dist/test-file.d.ts +7 -0
- package/dist/test-file.d.ts.map +1 -0
- package/dist/test-file.js +42 -0
- package/dist/test-file.js.map +1 -0
- package/dist/walk.d.ts +125 -0
- package/dist/walk.d.ts.map +1 -0
- package/dist/walk.js +393 -0
- package/dist/walk.js.map +1 -0
- package/package.json +57 -0
package/dist/walk.js
ADDED
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stage 1+2 unified walk — Phase 4 of
|
|
3
|
+
* docs/plans/graph-performance-improvements.md.
|
|
4
|
+
*
|
|
5
|
+
* Legacy pipeline walked every source file twice: once for Stage 1
|
|
6
|
+
* (emit FunctionOccurrence records) and once for Stage 2 (locate +
|
|
7
|
+
* resolve call sites). The two walks descend in identical order and
|
|
8
|
+
* the only data flowing between them is each function-shape's
|
|
9
|
+
* bodyHash — which Stage 1 already computes. Stage 2 was *re-hashing*
|
|
10
|
+
* every function-shape to look it up in `fnByHash`.
|
|
11
|
+
*
|
|
12
|
+
* Phase 4 fuses both passes into one descent per file. The walker
|
|
13
|
+
* emits both:
|
|
14
|
+
* - `occurrences` — what Stage 1 emitted (function/method/arrow/etc.
|
|
15
|
+
* records, plus a synthesized module-init per file).
|
|
16
|
+
* - `callSites` — flat list of nodes that Stage 2's resolvers care
|
|
17
|
+
* about, paired with the bodyHash that owns them. Resolution
|
|
18
|
+
* happens *outside* the walk, against this flat list.
|
|
19
|
+
*
|
|
20
|
+
* The orchestrator (`cli/orchestrate.ts`) drives the pipeline
|
|
21
|
+
* end-to-end. `edges.ts` exposes `resolveEdgesFromRecords` as the
|
|
22
|
+
* Stage 2 entry point, consuming the `callSites` this walk emits.
|
|
23
|
+
*/
|
|
24
|
+
import { relative, sep } from 'node:path';
|
|
25
|
+
import ts from 'typescript';
|
|
26
|
+
import { visitArrowFunction } from './inventory-visitors/arrow-function.js';
|
|
27
|
+
import { visitClassStaticBlock } from './inventory-visitors/class-static-init.js';
|
|
28
|
+
import { visitConstructorDeclaration } from './inventory-visitors/constructor-declaration.js';
|
|
29
|
+
import { visitFunctionDeclaration } from './inventory-visitors/function-declaration.js';
|
|
30
|
+
import { visitFunctionExpression } from './inventory-visitors/function-expression.js';
|
|
31
|
+
import { visitGetterSetter } from './inventory-visitors/getter-setter.js';
|
|
32
|
+
import { visitMethodDeclaration } from './inventory-visitors/method-declaration.js';
|
|
33
|
+
import { synthesizeModuleInit } from './inventory-visitors/module-init.js';
|
|
34
|
+
import { isTypescriptTestFile } from './test-file.js';
|
|
35
|
+
export function walkProgram(input) {
|
|
36
|
+
const functions = Object.create(null);
|
|
37
|
+
const callSites = [];
|
|
38
|
+
const dependencySites = [];
|
|
39
|
+
const reExports = [];
|
|
40
|
+
const parseErrors = [];
|
|
41
|
+
const filesSet = new Set(input.files.map(normalizeForCompare));
|
|
42
|
+
for (const sf of input.sourceFiles) {
|
|
43
|
+
if (sf.isDeclarationFile)
|
|
44
|
+
continue;
|
|
45
|
+
const sfPath = normalizeForCompare(sf.fileName);
|
|
46
|
+
if (!filesSet.has(sfPath))
|
|
47
|
+
continue;
|
|
48
|
+
try {
|
|
49
|
+
walkFile(sf, input.projectDirAbs, functions, callSites, dependencySites);
|
|
50
|
+
collectReExports(sf, input.projectDirAbs, reExports);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
/* v8 ignore start */
|
|
54
|
+
parseErrors.push({
|
|
55
|
+
filePath: relative(input.projectDirAbs, sf.fileName),
|
|
56
|
+
message: error instanceof Error ? error.message : String(error),
|
|
57
|
+
});
|
|
58
|
+
/* v8 ignore stop */
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return { functions, callSites, dependencySites, reExports, parseErrors };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Walk a source file's top-level statements for `ImportDeclaration`
|
|
65
|
+
* and `ImportEqualsDeclaration` nodes; emit one `DependencySiteRecord`
|
|
66
|
+
* per import with a string module specifier. The owner is the file's
|
|
67
|
+
* synthesized module-init occurrence (every file has exactly one).
|
|
68
|
+
*
|
|
69
|
+
* Phase 4 of opensip's substrate consolidation (DEC-498). Out of
|
|
70
|
+
* scope at v1: re-exports (`ExportDeclaration` with `moduleSpecifier`),
|
|
71
|
+
* dynamic imports (`import(…)` expressions), and side-effect imports
|
|
72
|
+
* with no specifier identifier.
|
|
73
|
+
*/
|
|
74
|
+
function collectDependencySites(sourceFile, moduleInitHash, out) {
|
|
75
|
+
for (const stmt of sourceFile.statements) {
|
|
76
|
+
let specifierNode;
|
|
77
|
+
if (ts.isImportDeclaration(stmt)) {
|
|
78
|
+
specifierNode = stmt.moduleSpecifier;
|
|
79
|
+
}
|
|
80
|
+
else if (ts.isImportEqualsDeclaration(stmt) &&
|
|
81
|
+
ts.isExternalModuleReference(stmt.moduleReference) &&
|
|
82
|
+
stmt.moduleReference.expression !== undefined) {
|
|
83
|
+
specifierNode = stmt.moduleReference.expression;
|
|
84
|
+
}
|
|
85
|
+
if (specifierNode === undefined || !ts.isStringLiteral(specifierNode)) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const startPos = stmt.getStart(sourceFile);
|
|
89
|
+
const lineChar = sourceFile.getLineAndCharacterOfPosition(startPos);
|
|
90
|
+
out.push({
|
|
91
|
+
node: stmt,
|
|
92
|
+
sourceFile,
|
|
93
|
+
ownerHash: moduleInitHash,
|
|
94
|
+
specifier: specifierNode.text,
|
|
95
|
+
line: lineChar.line + 1,
|
|
96
|
+
column: lineChar.character,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Collect the file's re-export declarations as {@link ReExportRecord}s. Two
|
|
102
|
+
* forms (see the type doc): `export … from 'spec'` (a re-export with a module
|
|
103
|
+
* specifier) and `export { x }` where `x` is an imported binding (correlated
|
|
104
|
+
* against the file's named imports). A plain `export { localDef }` of a name
|
|
105
|
+
* defined in this file is skipped — it is already an exported occurrence.
|
|
106
|
+
*/
|
|
107
|
+
function collectReExports(sourceFile, projectDirAbs, out) {
|
|
108
|
+
const fromFile = relative(projectDirAbs, sourceFile.fileName).split(sep).join('/');
|
|
109
|
+
const imported = buildImportSourceMap(sourceFile);
|
|
110
|
+
for (const stmt of sourceFile.statements) {
|
|
111
|
+
if (ts.isExportDeclaration(stmt))
|
|
112
|
+
pushReExportsFromStmt(stmt, fromFile, imported, out);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function buildImportSourceMap(sourceFile) {
|
|
116
|
+
const imported = new Map();
|
|
117
|
+
for (const stmt of sourceFile.statements) {
|
|
118
|
+
if (!ts.isImportDeclaration(stmt) || !ts.isStringLiteral(stmt.moduleSpecifier))
|
|
119
|
+
continue;
|
|
120
|
+
const named = stmt.importClause?.namedBindings;
|
|
121
|
+
if (!named || !ts.isNamedImports(named))
|
|
122
|
+
continue;
|
|
123
|
+
for (const el of named.elements) {
|
|
124
|
+
imported.set(el.name.text, {
|
|
125
|
+
specifier: stmt.moduleSpecifier.text,
|
|
126
|
+
importedName: (el.propertyName ?? el.name).text,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return imported;
|
|
131
|
+
}
|
|
132
|
+
/** Push the {@link ReExportRecord}s for one `ExportDeclaration` (both forms). */
|
|
133
|
+
function pushReExportsFromStmt(stmt, fromFile, imported, out) {
|
|
134
|
+
const spec = stmt.moduleSpecifier && ts.isStringLiteral(stmt.moduleSpecifier)
|
|
135
|
+
? stmt.moduleSpecifier.text
|
|
136
|
+
: undefined;
|
|
137
|
+
const clause = stmt.exportClause;
|
|
138
|
+
// Form 1: `export … from 'spec'`.
|
|
139
|
+
if (spec !== undefined) {
|
|
140
|
+
if (clause === undefined) {
|
|
141
|
+
// `export * from 'spec'` — re-exports every exported name of `spec`.
|
|
142
|
+
out.push({ fromFile, exportedName: '*', sourceName: '*', specifier: spec });
|
|
143
|
+
}
|
|
144
|
+
else if (ts.isNamedExports(clause)) {
|
|
145
|
+
for (const el of clause.elements) {
|
|
146
|
+
out.push({
|
|
147
|
+
fromFile,
|
|
148
|
+
exportedName: el.name.text,
|
|
149
|
+
sourceName: (el.propertyName ?? el.name).text,
|
|
150
|
+
specifier: spec,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// NamespaceExport (`export * as ns from 'spec'`) — a namespace object, not a
|
|
155
|
+
// directly-callable name; left to a follow-up.
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
// Form 2: `export { a, b as c }` with NO `from` — a re-export only when the
|
|
159
|
+
// local binding was IMPORTED (otherwise it's a local definition's export).
|
|
160
|
+
if (clause === undefined || !ts.isNamedExports(clause))
|
|
161
|
+
return;
|
|
162
|
+
for (const el of clause.elements) {
|
|
163
|
+
const imp = imported.get((el.propertyName ?? el.name).text);
|
|
164
|
+
if (imp === undefined)
|
|
165
|
+
continue; // local definition → already an occurrence
|
|
166
|
+
out.push({
|
|
167
|
+
fromFile,
|
|
168
|
+
exportedName: el.name.text,
|
|
169
|
+
sourceName: imp.importedName,
|
|
170
|
+
specifier: imp.specifier,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function walkFile(sourceFile, projectDirAbs, out, callSites, dependencySites) {
|
|
175
|
+
const filePathProjectRel = relative(projectDirAbs, sourceFile.fileName).split(sep).join('/');
|
|
176
|
+
const baseCtx = {
|
|
177
|
+
sourceFile,
|
|
178
|
+
projectDirAbs,
|
|
179
|
+
filePathProjectRel,
|
|
180
|
+
inTestFile: isTypescriptTestFile(filePathProjectRel),
|
|
181
|
+
definedInGenerated: isGeneratedFile(filePathProjectRel),
|
|
182
|
+
enclosingClass: null,
|
|
183
|
+
};
|
|
184
|
+
// One synthesized module-init per file. Its hash owns top-level
|
|
185
|
+
// call sites discovered before any function-shape descent.
|
|
186
|
+
const moduleInit = synthesizeModuleInit(sourceFile, baseCtx);
|
|
187
|
+
record(out, moduleInit);
|
|
188
|
+
// Phase 4 (DEC-498): walk top-level imports as dependency sites.
|
|
189
|
+
collectDependencySites(sourceFile, moduleInit.bodyHash, dependencySites);
|
|
190
|
+
function descend(node, ctx, ownerHash) {
|
|
191
|
+
const occ = dispatchVisitor(node, ctx);
|
|
192
|
+
let childOwnerHash = ownerHash;
|
|
193
|
+
if (occ) {
|
|
194
|
+
record(out, occ);
|
|
195
|
+
childOwnerHash = occ.bodyHash;
|
|
196
|
+
// Inline-callable creation edge from the parent owner. Function
|
|
197
|
+
// declarations are deliberately excluded — they need a real
|
|
198
|
+
// call edge to be reachable, which is what makes the orphan
|
|
199
|
+
// rule catch genuinely unused top-level functions.
|
|
200
|
+
if (isInlineCallable(node) && ownerHash !== childOwnerHash) {
|
|
201
|
+
callSites.push({
|
|
202
|
+
node,
|
|
203
|
+
sourceFile,
|
|
204
|
+
ownerHash,
|
|
205
|
+
kind: 'creation',
|
|
206
|
+
childHash: childOwnerHash,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (isResolverCandidate(node)) {
|
|
211
|
+
callSites.push({ node, sourceFile, ownerHash, kind: 'call' });
|
|
212
|
+
}
|
|
213
|
+
if (ts.isClassDeclaration(node) || ts.isClassExpression(node)) {
|
|
214
|
+
/* v8 ignore next */
|
|
215
|
+
const className = node.name?.text ?? '<anon-class>';
|
|
216
|
+
const childCtx = { ...ctx, enclosingClass: className };
|
|
217
|
+
// @graph-ignore-next-line graph:cycle -- intentional recursive descent; forEachChild re-enters the visitor (descend)
|
|
218
|
+
ts.forEachChild(node, (c) => {
|
|
219
|
+
descend(c, childCtx, childOwnerHash);
|
|
220
|
+
});
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
ts.forEachChild(node, (c) => {
|
|
224
|
+
descend(c, ctx, childOwnerHash);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
// SourceFile itself isn't function-shaped or a resolver candidate.
|
|
228
|
+
// Descend its children directly with module-init as the initial
|
|
229
|
+
// owner.
|
|
230
|
+
ts.forEachChild(sourceFile, (c) => {
|
|
231
|
+
descend(c, baseCtx, moduleInit.bodyHash);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
function record(out, occ) {
|
|
235
|
+
const list = out[occ.simpleName];
|
|
236
|
+
if (list) {
|
|
237
|
+
/* v8 ignore next */
|
|
238
|
+
list.push(occ);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
out[occ.simpleName] = [occ];
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
function visitorEntry(predicate, visit) {
|
|
245
|
+
return { predicate, visit: (n, c) => visit(n, c) };
|
|
246
|
+
}
|
|
247
|
+
const isAccessor = (n) => ts.isGetAccessor(n) || ts.isSetAccessor(n);
|
|
248
|
+
const VISITOR_TABLE = [
|
|
249
|
+
visitorEntry(ts.isFunctionDeclaration, visitFunctionDeclaration),
|
|
250
|
+
visitorEntry(ts.isArrowFunction, visitArrowFunction),
|
|
251
|
+
visitorEntry(ts.isMethodDeclaration, visitMethodDeclaration),
|
|
252
|
+
visitorEntry(ts.isConstructorDeclaration, visitConstructorDeclaration),
|
|
253
|
+
visitorEntry(isAccessor, visitGetterSetter),
|
|
254
|
+
visitorEntry(ts.isFunctionExpression, visitFunctionExpression),
|
|
255
|
+
visitorEntry(ts.isClassStaticBlockDeclaration, visitClassStaticBlock),
|
|
256
|
+
];
|
|
257
|
+
/**
|
|
258
|
+
* Dispatch a node to the right Stage 1 inventory visitor and return
|
|
259
|
+
* the function occurrence (or null if the node isn't function-shaped).
|
|
260
|
+
* Exported so external callers (and the public package barrel) can
|
|
261
|
+
* share this dispatch table when they need to classify a single node
|
|
262
|
+
* without driving the full walker.
|
|
263
|
+
*/
|
|
264
|
+
function dispatchVisitor(node, ctx) {
|
|
265
|
+
for (const entry of VISITOR_TABLE) {
|
|
266
|
+
if (entry.predicate(node))
|
|
267
|
+
return entry.visit(node, ctx);
|
|
268
|
+
}
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* An inline callable (arrow / function-expression / method / accessor /
|
|
273
|
+
* constructor) gets a creation edge from its enclosing scope so
|
|
274
|
+
* reachability flows through inline callbacks even when the runtime
|
|
275
|
+
* dispatch site is unresolvable. Function declarations are
|
|
276
|
+
* deliberately excluded — they need a real call edge to be reachable.
|
|
277
|
+
*/
|
|
278
|
+
function isInlineCallable(node) {
|
|
279
|
+
return (ts.isArrowFunction(node) ||
|
|
280
|
+
ts.isFunctionExpression(node) ||
|
|
281
|
+
ts.isMethodDeclaration(node) ||
|
|
282
|
+
ts.isConstructorDeclaration(node) ||
|
|
283
|
+
ts.isGetAccessor(node) ||
|
|
284
|
+
ts.isSetAccessor(node));
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Five resolver-target node shapes plus a fast pre-filter on bare
|
|
288
|
+
* identifiers (most identifiers are declaration names or property
|
|
289
|
+
* names, not value references). The filter mirrors the intent of
|
|
290
|
+
* Stage 2's `isValueReference` — false positives just cost an extra
|
|
291
|
+
* resolver call, false negatives lose edges, so err on admitting.
|
|
292
|
+
*/
|
|
293
|
+
function isResolverCandidate(node) {
|
|
294
|
+
if (ts.isCallExpression(node))
|
|
295
|
+
return true;
|
|
296
|
+
if (ts.isNewExpression(node))
|
|
297
|
+
return true;
|
|
298
|
+
if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node))
|
|
299
|
+
return true;
|
|
300
|
+
if (ts.isShorthandPropertyAssignment(node))
|
|
301
|
+
return true;
|
|
302
|
+
if (ts.isIdentifier(node))
|
|
303
|
+
return isLikelyValueReference(node);
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
function isLikelyValueReference(node) {
|
|
307
|
+
const parent = node.parent;
|
|
308
|
+
if (!parent)
|
|
309
|
+
return false;
|
|
310
|
+
if (isStructuralParent(parent))
|
|
311
|
+
return false;
|
|
312
|
+
if (isJsxTagName(node, parent))
|
|
313
|
+
return false;
|
|
314
|
+
if (isDeclarationName(node, parent))
|
|
315
|
+
return false;
|
|
316
|
+
if (isPropertyOrLabelName(node, parent))
|
|
317
|
+
return false;
|
|
318
|
+
if (isCallTargetIdentifier(node, parent))
|
|
319
|
+
return false;
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* The identifier IS the tag name of a JSX element (`<Banner/>`, `</Banner>`).
|
|
324
|
+
* The JSX element node is its own resolver candidate
|
|
325
|
+
* ({@link isResolverCandidate}) and `resolveJsxElement` owns the edge — so the
|
|
326
|
+
* tag-name identifier must NOT also be admitted as a standalone value
|
|
327
|
+
* reference, or the sharded boundary extractor recovers BOTH (element + tag
|
|
328
|
+
* name) and emits a duplicate cross-package edge at the adjacent column. (Exact
|
|
329
|
+
* silently drops the redundant value-ref; sharded did not — the source of the
|
|
330
|
+
* 36 sharded-only column-twin divergences.) A qualified tag (`<A.B/>`) is a
|
|
331
|
+
* PropertyAccess/QualifiedName and is already excluded by `isStructuralParent`.
|
|
332
|
+
*/
|
|
333
|
+
function isJsxTagName(node, parent) {
|
|
334
|
+
return ((ts.isJsxOpeningElement(parent) ||
|
|
335
|
+
ts.isJsxSelfClosingElement(parent) ||
|
|
336
|
+
ts.isJsxClosingElement(parent)) &&
|
|
337
|
+
parent.tagName === node);
|
|
338
|
+
}
|
|
339
|
+
/** Parents that make the identifier a type or import position. */
|
|
340
|
+
function isStructuralParent(parent) {
|
|
341
|
+
return (ts.isQualifiedName(parent) ||
|
|
342
|
+
ts.isImportSpecifier(parent) ||
|
|
343
|
+
ts.isImportClause(parent) ||
|
|
344
|
+
ts.isExportSpecifier(parent) ||
|
|
345
|
+
ts.isTypeReferenceNode(parent));
|
|
346
|
+
}
|
|
347
|
+
/** Identifier IS the declaration's name (binding position, not value). */
|
|
348
|
+
function isDeclarationName(node, parent) {
|
|
349
|
+
if (ts.isVariableDeclaration(parent) && parent.name === node)
|
|
350
|
+
return true;
|
|
351
|
+
if (ts.isParameter(parent) && parent.name === node)
|
|
352
|
+
return true;
|
|
353
|
+
if (ts.isFunctionDeclaration(parent) && parent.name === node)
|
|
354
|
+
return true;
|
|
355
|
+
if (ts.isClassDeclaration(parent) && parent.name === node)
|
|
356
|
+
return true;
|
|
357
|
+
if (ts.isMethodDeclaration(parent) && parent.name === node)
|
|
358
|
+
return true;
|
|
359
|
+
if (ts.isPropertyDeclaration(parent) && parent.name === node)
|
|
360
|
+
return true;
|
|
361
|
+
if (ts.isBindingElement(parent) && parent.name === node)
|
|
362
|
+
return true;
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
/** Identifier is a property/label name (not a value reference). */
|
|
366
|
+
function isPropertyOrLabelName(node, parent) {
|
|
367
|
+
if (ts.isPropertyAccessExpression(parent) && parent.name === node)
|
|
368
|
+
return true;
|
|
369
|
+
if (ts.isPropertyAssignment(parent) && parent.name === node)
|
|
370
|
+
return true;
|
|
371
|
+
if (ts.isLabeledStatement(parent) && parent.label === node)
|
|
372
|
+
return true;
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Identifier IS the call target — already collected as the enclosing
|
|
377
|
+
* CallExpression / NewExpression, so skip the inner identifier to
|
|
378
|
+
* avoid double-counting.
|
|
379
|
+
*/
|
|
380
|
+
function isCallTargetIdentifier(node, parent) {
|
|
381
|
+
if (ts.isCallExpression(parent) && parent.expression === node)
|
|
382
|
+
return true;
|
|
383
|
+
if (ts.isNewExpression(parent) && parent.expression === node)
|
|
384
|
+
return true;
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
387
|
+
function normalizeForCompare(p) {
|
|
388
|
+
return p.split(sep).join('/');
|
|
389
|
+
}
|
|
390
|
+
function isGeneratedFile(rel) {
|
|
391
|
+
return /\bdist\/|\bbuild\/|\.generated\./.test(rel);
|
|
392
|
+
}
|
|
393
|
+
//# sourceMappingURL=walk.js.map
|
package/dist/walk.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.js","sourceRoot":"","sources":["../src/walk.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opensip-cli/graph-typescript",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"description": "TypeScript language adapter for the opensip graph engine",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"opensip-cli",
|
|
8
|
+
"static-analysis",
|
|
9
|
+
"code-quality",
|
|
10
|
+
"call-graph",
|
|
11
|
+
"dependency-graph",
|
|
12
|
+
"typescript",
|
|
13
|
+
"javascript"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/opensip-ai/opensip-cli.git",
|
|
18
|
+
"directory": "packages/graph/graph-typescript"
|
|
19
|
+
},
|
|
20
|
+
"homepage": "https://github.com/opensip-ai/opensip-cli",
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/opensip-ai/opensip-cli/issues"
|
|
23
|
+
},
|
|
24
|
+
"type": "module",
|
|
25
|
+
"main": "./dist/index.js",
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"NOTICE"
|
|
34
|
+
],
|
|
35
|
+
"opensipTools": {
|
|
36
|
+
"kind": "graph-adapter"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"typescript": "~6.0.3",
|
|
40
|
+
"@opensip-cli/core": "0.1.0",
|
|
41
|
+
"@opensip-cli/lang-typescript": "0.1.0",
|
|
42
|
+
"@opensip-cli/graph": "0.1.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/node": "^24.13.2",
|
|
46
|
+
"vitest": "^4.1.8",
|
|
47
|
+
"@opensip-cli/graph-python": "0.1.0",
|
|
48
|
+
"@opensip-cli/datastore": "0.1.0",
|
|
49
|
+
"@opensip-cli/graph-rust": "0.1.0"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsc",
|
|
53
|
+
"test": "vitest run --passWithNoTests",
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"clean": "rm -rf dist"
|
|
56
|
+
}
|
|
57
|
+
}
|