cgraphx 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.claude-template/FLOW-MAP.md +7 -5
- package/dist/.claude-template/commands/end.md +1 -1
- package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +2 -1
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +4 -2
- package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +5 -2
- package/dist/.claude-template/skills/iboc-check/SKILL.md +116 -0
- package/dist/.claude-template/skills/iboc-check/filler-prompt.md +75 -0
- package/dist/.claude-template/skills/implementation/SKILL.md +7 -0
- package/dist/.claude-template/skills/init-project-guides/SKILL.md +1 -1
- package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
- package/dist/.claude-template/skills/write-api/assets/template-request.bru +3 -3
- package/dist/.claude-template/skills/write-api/references/bru-format.md +6 -6
- package/dist/.claude-template/skills/write-delivery-guide/SKILL.md +97 -0
- package/dist/.claude-template/skills/write-delivery-guide/template-change-type.md +120 -0
- package/dist/.claude-template/skills/write-delivery-guide/template-multi-role-flow.md +148 -0
- package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +23 -6
- package/dist/core/code/engine/cli/analyze-config.js +320 -0
- package/dist/core/code/engine/cli/analyze.js +1086 -0
- package/dist/core/code/engine/cli/cli-message.js +83 -0
- package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
- package/dist/core/code/engine/cli/embedding-dims.js +43 -0
- package/dist/core/code/engine/cli/format-elapsed.js +12 -0
- package/dist/core/code/engine/cli/help-i18n.js +144 -0
- package/dist/core/code/engine/cli/i18n/en.js +110 -0
- package/dist/core/code/engine/cli/i18n/index.js +47 -0
- package/dist/core/code/engine/cli/i18n/resources.js +9 -0
- package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
- package/dist/core/code/engine/cli/lazy-action.js +67 -0
- package/dist/core/code/engine/cli/optional-grammars.js +136 -0
- package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
- package/dist/core/code/engine/cli/status.js +156 -0
- package/dist/core/code/engine/cli/tool.js +384 -0
- package/dist/core/code/engine/config/ignore-service.js +511 -0
- package/dist/core/code/engine/config/supported-languages.js +17 -0
- package/dist/core/code/engine/core/analysis-features.js +64 -0
- package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
- package/dist/core/code/engine/core/git-staleness.js +180 -0
- package/dist/core/code/engine/core/graph/graph.js +180 -0
- package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
- package/dist/core/code/engine/core/graph/types.js +2 -0
- package/dist/core/code/engine/core/index-freshness.js +12 -0
- package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
- package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
- package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
- package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
- package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
- package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
- package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
- package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
- package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
- package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
- package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
- package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
- package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
- package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
- package/dist/core/code/engine/core/ingestion/constants.js +26 -0
- package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
- package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
- package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
- package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
- package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
- package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
- package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
- package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
- package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
- package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
- package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
- package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
- package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
- package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
- package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
- package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
- package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
- package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
- package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
- package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
- package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
- package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
- package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
- package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
- package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
- package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
- package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
- package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
- package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
- package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
- package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
- package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
- package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
- package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
- package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
- package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
- package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
- package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
- package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
- package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
- package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
- package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
- package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
- package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
- package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
- package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
- package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
- package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
- package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
- package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
- package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
- package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
- package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
- package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
- package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
- package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
- package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
- package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
- package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
- package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
- package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
- package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
- package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
- package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
- package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
- package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
- package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
- package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
- package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
- package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
- package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
- package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
- package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
- package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
- package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
- package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
- package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
- package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
- package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
- package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
- package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
- package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
- package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
- package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
- package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
- package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
- package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
- package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
- package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
- package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
- package/dist/core/code/engine/core/lbug/native-check.js +435 -0
- package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
- package/dist/core/code/engine/core/lbug/query-params.js +25 -0
- package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
- package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
- package/dist/core/code/engine/core/lbug/schema.js +771 -0
- package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
- package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
- package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
- package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
- package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
- package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
- package/dist/core/code/engine/core/logger.js +339 -0
- package/dist/core/code/engine/core/platform/capabilities.js +91 -0
- package/dist/core/code/engine/core/run-analyze.js +1098 -0
- package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
- package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
- package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
- package/dist/core/code/engine/lib/utils.js +121 -0
- package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
- package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
- package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
- package/dist/core/code/engine/mcp/local/limits.js +15 -0
- package/dist/core/code/engine/mcp/local/line-display.js +6 -0
- package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
- package/dist/core/code/engine/storage/branch-index.js +72 -0
- package/dist/core/code/engine/storage/file-hash.js +95 -0
- package/dist/core/code/engine/storage/fs-atomic.js +34 -0
- package/dist/core/code/engine/storage/git.js +555 -0
- package/dist/core/code/engine/storage/index-lock.js +664 -0
- package/dist/core/code/engine/storage/parse-cache.js +650 -0
- package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
- package/dist/core/code/engine/storage/repo-manager.js +1061 -0
- package/dist/core/code/engine/storage/scope-index-store.js +247 -0
- package/dist/core/code/engine/types/pipeline.js +2 -0
- package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
- package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
- package/dist/core/code/shared/graph/types.js +8 -0
- package/dist/core/code/shared/index.js +105 -0
- package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
- package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
- package/dist/core/code/shared/integrations/retry.js +70 -0
- package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
- package/dist/core/code/shared/language-detection.js +162 -0
- package/dist/core/code/shared/languages.js +27 -0
- package/dist/core/code/shared/lbug/schema-constants.js +98 -0
- package/dist/core/code/shared/mro-strategy.js +2 -0
- package/dist/core/code/shared/pipeline.js +5 -0
- package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
- package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
- package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
- package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
- package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
- package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
- package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
- package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
- package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
- package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
- package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
- package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
- package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
- package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
- package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
- package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
- package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
- package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
- package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
- package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/core/code/shared/scope-resolution/types.js +25 -0
- package/dist/core/code/shared/test-helpers.js +17 -0
- package/dist/core/code/vendor/leiden/index.cjs +355 -0
- package/dist/core/code/vendor/leiden/utils.cjs +419 -0
- package/dist/core/features/scanner.d.ts +2 -0
- package/dist/core/features/scanner.d.ts.map +1 -1
- package/dist/core/features/scanner.js +27 -6
- package/dist/core/features/scanner.js.map +1 -1
- package/dist/core/timeline/cli.d.ts.map +1 -1
- package/dist/core/timeline/cli.js +13 -6
- package/dist/core/timeline/cli.js.map +1 -1
- package/dist/core/timeline/debris.d.ts +20 -0
- package/dist/core/timeline/debris.d.ts.map +1 -0
- package/dist/core/timeline/debris.js +124 -0
- package/dist/core/timeline/debris.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -1
- package/dist/core/timeline/hook-runner.js +3 -1
- package/dist/core/timeline/hook-runner.js.map +1 -1
- package/dist/core/timeline/hooks.d.ts.map +1 -1
- package/dist/core/timeline/hooks.js +13 -5
- package/dist/core/timeline/hooks.js.map +1 -1
- package/dist/core/timeline/installer.d.ts +2 -0
- package/dist/core/timeline/installer.d.ts.map +1 -1
- package/dist/core/timeline/installer.js +12 -0
- package/dist/core/timeline/installer.js.map +1 -1
- package/dist/core/timeline/project-root.d.ts +21 -0
- package/dist/core/timeline/project-root.d.ts.map +1 -0
- package/dist/core/timeline/project-root.js +83 -0
- package/dist/core/timeline/project-root.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TypeScript and JavaScript language providers.
|
|
4
|
+
*
|
|
5
|
+
* Both languages share the same type extraction config (typescriptConfig)
|
|
6
|
+
* and export checker (tsExportChecker). They differ in file extensions, tree-sitter
|
|
7
|
+
* queries (TypeScript grammar has interface/type nodes), and language ID.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.javascriptProvider = exports.typescriptProvider = exports.BUILT_INS = void 0;
|
|
11
|
+
const index_js_1 = require("../../../../shared/index.js");
|
|
12
|
+
const language_provider_js_1 = require("../language-provider.js");
|
|
13
|
+
const generic_js_1 = require("../class-extractors/generic.js");
|
|
14
|
+
const typescript_javascript_js_1 = require("../class-extractors/configs/typescript-javascript.js");
|
|
15
|
+
const ast_helpers_js_1 = require("../utils/ast-helpers.js");
|
|
16
|
+
const cjs_export_assignment_js_1 = require("./typescript/cjs-export-assignment.js");
|
|
17
|
+
const rootOf = (node) => node.tree?.rootNode;
|
|
18
|
+
/** `exports.X = fn` where the module already declares `X` — see #2723. */
|
|
19
|
+
const isShadowedCjsExportNode = (node) => {
|
|
20
|
+
const root = rootOf(node);
|
|
21
|
+
return root !== undefined && (0, cjs_export_assignment_js_1.isShadowedCjsExportAssignmentNode)(node, root);
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Label for a `<receiver>.<member> = <function>` capture (#2723 follow-up).
|
|
25
|
+
*
|
|
26
|
+
* The member-assignment queries match ANY identifier receiver, because an
|
|
27
|
+
* `exports` alias (`const e = exports; e.foo = fn`) cannot be pinned in the
|
|
28
|
+
* query. Everything that is not a recognised shape is dropped HERE — without
|
|
29
|
+
* that, every `obj.handler = function () {}` in every JS/TS file would emit a
|
|
30
|
+
* spurious top-level `Function` named `handler`.
|
|
31
|
+
*
|
|
32
|
+
* Recognised: a CJS export (direct, `module.exports`, or via a module-scope
|
|
33
|
+
* alias) stays a Function; a prototype or `this` member becomes a Method; a
|
|
34
|
+
* CJS export shadowing a name the module already declares emits nothing.
|
|
35
|
+
*/
|
|
36
|
+
const memberAssignmentLabel = (node) => {
|
|
37
|
+
const root = rootOf(node);
|
|
38
|
+
// Module-level `this.X = fn` in CommonJS IS `module.exports.X = fn`, so it
|
|
39
|
+
// is an exported Function, not an instance member. Checked before the
|
|
40
|
+
// Method branch, which would otherwise claim every `this` receiver.
|
|
41
|
+
if (root !== undefined && (0, cjs_export_assignment_js_1.isModuleLevelThisExport)(node, root))
|
|
42
|
+
return 'Function';
|
|
43
|
+
// `module.exports = fn` — the module itself is the callable.
|
|
44
|
+
if ((0, ast_helpers_js_1.isCjsDefaultExportAssignment)(node))
|
|
45
|
+
return 'Function';
|
|
46
|
+
// A module-level `this` member in ESM or a no-signal file is neither an
|
|
47
|
+
// export (top-level `this` is undefined) nor an instance member. Emitting a
|
|
48
|
+
// Method there minted an ownerless node (#2729 review F13).
|
|
49
|
+
if ((0, cjs_export_assignment_js_1.isModuleLevelThisAssignment)(node))
|
|
50
|
+
return null;
|
|
51
|
+
if ((0, ast_helpers_js_1.isPrototypeMemberAssignmentNode)(node))
|
|
52
|
+
return 'Method';
|
|
53
|
+
if (isShadowedCjsExportNode(node))
|
|
54
|
+
return null;
|
|
55
|
+
const value = node.childForFieldName('right');
|
|
56
|
+
if (root === undefined || value === null)
|
|
57
|
+
return null;
|
|
58
|
+
return (0, cjs_export_assignment_js_1.cjsExportedNameFor)(value, root) !== null ? 'Function' : null;
|
|
59
|
+
};
|
|
60
|
+
const typescript_js_1 = require("../cfg/visitors/typescript.js");
|
|
61
|
+
const typescript_js_2 = require("../type-extractors/typescript.js");
|
|
62
|
+
const export_detection_js_1 = require("../export-detection.js");
|
|
63
|
+
const resolver_factory_js_1 = require("../import-resolvers/resolver-factory.js");
|
|
64
|
+
const typescript_javascript_js_2 = require("../import-resolvers/configs/typescript-javascript.js");
|
|
65
|
+
const tree_sitter_queries_js_1 = require("../tree-sitter-queries.js");
|
|
66
|
+
const typescript_js_3 = require("../field-extractors/typescript.js");
|
|
67
|
+
const generic_js_2 = require("../field-extractors/generic.js");
|
|
68
|
+
const typescript_javascript_js_3 = require("../field-extractors/configs/typescript-javascript.js");
|
|
69
|
+
const generic_js_3 = require("../method-extractors/generic.js");
|
|
70
|
+
const typescript_javascript_js_4 = require("../method-extractors/configs/typescript-javascript.js");
|
|
71
|
+
const generic_js_4 = require("../variable-extractors/generic.js");
|
|
72
|
+
const typescript_javascript_js_5 = require("../variable-extractors/configs/typescript-javascript.js");
|
|
73
|
+
const generic_js_5 = require("../call-extractors/generic.js");
|
|
74
|
+
const typescript_javascript_js_6 = require("../call-extractors/configs/typescript-javascript.js");
|
|
75
|
+
const ts_js_hoc_utils_js_1 = require("../ts-js-hoc-utils.js");
|
|
76
|
+
const index_js_2 = require("./typescript/index.js");
|
|
77
|
+
const index_js_3 = require("./javascript/index.js");
|
|
78
|
+
/**
|
|
79
|
+
* TypeScript/JavaScript: arrow_function and function_expression are
|
|
80
|
+
* anonymous AST nodes — they take their name from the surrounding
|
|
81
|
+
* declarative context.
|
|
82
|
+
*
|
|
83
|
+
* Recognised contexts:
|
|
84
|
+
* - `const foo = () => {}` (variable_declarator) → "foo"
|
|
85
|
+
* - `{ addItem: (item) => ... }` (pair / property_assignment) → "addItem"
|
|
86
|
+
* Covers Zustand stores, TanStack Query factories, React Context
|
|
87
|
+
* providers, and most other HOF-heavy idioms (issue #1166).
|
|
88
|
+
* - `const X = HOC((args) => { ... })` (arguments → call_expression →
|
|
89
|
+
* variable_declarator) → "X". Covers `React.forwardRef`, `memo`,
|
|
90
|
+
* `useCallback`, `useMemo`, `observer`, `debounce`, and other HOC
|
|
91
|
+
* factories that wrap their behaviour-defining arrow. Without this
|
|
92
|
+
* branch, every shadcn/Radix UI component (`const Button =
|
|
93
|
+
* React.forwardRef(...)`) registered as an anonymous arrow with
|
|
94
|
+
* calls inside falling back to File-level attribution. The same
|
|
95
|
+
* applied to all `useCallback` / `useMemo` callbacks bound to a
|
|
96
|
+
* const — the sole way to give them a named caller anchor.
|
|
97
|
+
*
|
|
98
|
+
* Returns `null` for funcName when the arrow lives in a context that has
|
|
99
|
+
* no static name — bare call arguments (not bound to a const), computed
|
|
100
|
+
* keys, return-from-arrow positions. The parent walk in
|
|
101
|
+
* findEnclosingFunctionId then continues up to the next named ancestor
|
|
102
|
+
* (or to the file).
|
|
103
|
+
*/
|
|
104
|
+
const tsExtractFunctionName = (node, filePath) => {
|
|
105
|
+
if (node.type !== 'arrow_function' && node.type !== 'function_expression')
|
|
106
|
+
return null;
|
|
107
|
+
const parent = node.parent;
|
|
108
|
+
if (!parent)
|
|
109
|
+
return null;
|
|
110
|
+
if (parent.type === 'variable_declarator') {
|
|
111
|
+
let nameNode = parent.childForFieldName?.('name');
|
|
112
|
+
if (!nameNode) {
|
|
113
|
+
for (let i = 0; i < parent.childCount; i++) {
|
|
114
|
+
const c = parent.child(i);
|
|
115
|
+
if (c?.type === 'identifier') {
|
|
116
|
+
nameNode = c;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return { funcName: nameNode?.text ?? null, label: 'Function' };
|
|
122
|
+
}
|
|
123
|
+
// Object property pair: `{ addItem: (item) => ... }`.
|
|
124
|
+
// tree-sitter-typescript uses `pair`; tree-sitter-javascript also exposes
|
|
125
|
+
// `pair`. (Older grammars used `property_assignment`; we accept both.)
|
|
126
|
+
if (parent.type === 'pair' || parent.type === 'property_assignment') {
|
|
127
|
+
const keyNode = parent.childForFieldName?.('key');
|
|
128
|
+
if (!keyNode)
|
|
129
|
+
return { funcName: null, label: 'Function' };
|
|
130
|
+
if (keyNode.type === 'property_identifier' || keyNode.type === 'identifier') {
|
|
131
|
+
return { funcName: keyNode.text, label: 'Function' };
|
|
132
|
+
}
|
|
133
|
+
if (keyNode.type === 'string') {
|
|
134
|
+
// `"add-item": () => ...` — the literal text inside the quotes.
|
|
135
|
+
const fragment = keyNode.children?.find((c) => c.type === 'string_fragment');
|
|
136
|
+
const text = fragment?.text ?? null;
|
|
137
|
+
return { funcName: text, label: 'Function' };
|
|
138
|
+
}
|
|
139
|
+
// computed_property_name (`[ACTION_KEY]`) and other dynamic keys have
|
|
140
|
+
// no static name — fall through anonymous.
|
|
141
|
+
return { funcName: null, label: 'Function' };
|
|
142
|
+
}
|
|
143
|
+
// HOC-wrapped variable declarations: `const Button = forwardRef((p, r) => { ... })`,
|
|
144
|
+
// `const handleClick = useCallback(() => doStuff(), [deps])`,
|
|
145
|
+
// `const Card = React.memo((props) => { ... })`. The arrow's `parent` is
|
|
146
|
+
// `arguments`, grandparent is `call_expression`, great-grandparent is
|
|
147
|
+
// `variable_declarator`. Walk the chain up and take the variable's name
|
|
148
|
+
// — the meaningful identifier the developer wrote on the LHS. Mirrors
|
|
149
|
+
// the four registry-primary patterns in `typescript/query.ts`.
|
|
150
|
+
//
|
|
151
|
+
// NOTE: Excludes common array methods (map, filter, reduce, etc.) to avoid
|
|
152
|
+
// false positives like `const x = arr.map(a => ...)` being classified as
|
|
153
|
+
// Function when it's actually a Const holding an array.
|
|
154
|
+
if (parent.type === 'arguments') {
|
|
155
|
+
const callExpr = parent.parent;
|
|
156
|
+
if (!callExpr || callExpr.type !== 'call_expression') {
|
|
157
|
+
return { funcName: null, label: 'Function' };
|
|
158
|
+
}
|
|
159
|
+
// Check if callee is a member_expression calling an array method
|
|
160
|
+
const callee = callExpr.childForFieldName?.('function');
|
|
161
|
+
if (callee?.type === 'member_expression') {
|
|
162
|
+
const property = callee.childForFieldName?.('property');
|
|
163
|
+
if (property?.type === 'property_identifier' &&
|
|
164
|
+
ts_js_hoc_utils_js_1.ARRAY_METHOD_HOC_BLOCKLIST_SET.has(property.text)) {
|
|
165
|
+
return { funcName: null, label: 'Function' };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const declarator = callExpr.parent;
|
|
169
|
+
// Existing path: const X = HOC(arrow)
|
|
170
|
+
if (declarator?.type === 'variable_declarator') {
|
|
171
|
+
const nameNode = declarator.childForFieldName?.('name');
|
|
172
|
+
if (nameNode?.type === 'identifier') {
|
|
173
|
+
return { funcName: nameNode.text, label: 'Function' };
|
|
174
|
+
}
|
|
175
|
+
return { funcName: null, label: 'Function' };
|
|
176
|
+
}
|
|
177
|
+
// export default HOC(arrow) — name it from the file, not the wrapper.
|
|
178
|
+
// This keeps route handlers and wrapped defaults navigable without
|
|
179
|
+
// collapsing every file onto names like `memo` or `defineEventHandler`.
|
|
180
|
+
if (declarator?.type === 'export_statement') {
|
|
181
|
+
if (callee?.type === 'identifier') {
|
|
182
|
+
if (ts_js_hoc_utils_js_1.DEFAULT_EXPORT_IDENTIFIER_BLOCKLIST_SET.has(callee.text)) {
|
|
183
|
+
return { funcName: null, label: 'Function' };
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
funcName: filePath ? (0, ts_js_hoc_utils_js_1.deriveDefaultExportHocName)(filePath) : null,
|
|
187
|
+
label: 'Function',
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
// Member-expression callees like React.memo keep the same file-derived
|
|
191
|
+
// name, with array-like helpers excluded above.
|
|
192
|
+
if (callee?.type === 'member_expression') {
|
|
193
|
+
return {
|
|
194
|
+
funcName: filePath ? (0, ts_js_hoc_utils_js_1.deriveDefaultExportHocName)(filePath) : null,
|
|
195
|
+
label: 'Function',
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return { funcName: null, label: 'Function' };
|
|
199
|
+
}
|
|
200
|
+
return { funcName: null, label: 'Function' };
|
|
201
|
+
}
|
|
202
|
+
return { funcName: null, label: 'Function' };
|
|
203
|
+
};
|
|
204
|
+
exports.BUILT_INS = new Set([
|
|
205
|
+
'console',
|
|
206
|
+
'log',
|
|
207
|
+
'warn',
|
|
208
|
+
'error',
|
|
209
|
+
'info',
|
|
210
|
+
'debug',
|
|
211
|
+
'setTimeout',
|
|
212
|
+
'setInterval',
|
|
213
|
+
'clearTimeout',
|
|
214
|
+
'clearInterval',
|
|
215
|
+
'parseInt',
|
|
216
|
+
'parseFloat',
|
|
217
|
+
'isNaN',
|
|
218
|
+
'isFinite',
|
|
219
|
+
'encodeURI',
|
|
220
|
+
'decodeURI',
|
|
221
|
+
'encodeURIComponent',
|
|
222
|
+
'decodeURIComponent',
|
|
223
|
+
'JSON',
|
|
224
|
+
'parse',
|
|
225
|
+
'stringify',
|
|
226
|
+
'Object',
|
|
227
|
+
'Array',
|
|
228
|
+
'String',
|
|
229
|
+
'Number',
|
|
230
|
+
'Boolean',
|
|
231
|
+
'Symbol',
|
|
232
|
+
'BigInt',
|
|
233
|
+
'Map',
|
|
234
|
+
'Set',
|
|
235
|
+
'WeakMap',
|
|
236
|
+
'WeakSet',
|
|
237
|
+
'Promise',
|
|
238
|
+
'resolve',
|
|
239
|
+
'reject',
|
|
240
|
+
'then',
|
|
241
|
+
'catch',
|
|
242
|
+
'finally',
|
|
243
|
+
'Math',
|
|
244
|
+
'Date',
|
|
245
|
+
'RegExp',
|
|
246
|
+
'Error',
|
|
247
|
+
'require',
|
|
248
|
+
'import',
|
|
249
|
+
'export',
|
|
250
|
+
'fetch',
|
|
251
|
+
'Response',
|
|
252
|
+
'Request',
|
|
253
|
+
'useState',
|
|
254
|
+
'useEffect',
|
|
255
|
+
'useCallback',
|
|
256
|
+
'useMemo',
|
|
257
|
+
'useRef',
|
|
258
|
+
'useContext',
|
|
259
|
+
'useReducer',
|
|
260
|
+
'useLayoutEffect',
|
|
261
|
+
'useImperativeHandle',
|
|
262
|
+
'useDebugValue',
|
|
263
|
+
'createElement',
|
|
264
|
+
'createContext',
|
|
265
|
+
'createRef',
|
|
266
|
+
'forwardRef',
|
|
267
|
+
'memo',
|
|
268
|
+
'lazy',
|
|
269
|
+
'map',
|
|
270
|
+
'filter',
|
|
271
|
+
'reduce',
|
|
272
|
+
'forEach',
|
|
273
|
+
'find',
|
|
274
|
+
'findIndex',
|
|
275
|
+
'some',
|
|
276
|
+
'every',
|
|
277
|
+
'includes',
|
|
278
|
+
'indexOf',
|
|
279
|
+
'slice',
|
|
280
|
+
'splice',
|
|
281
|
+
'concat',
|
|
282
|
+
'join',
|
|
283
|
+
'split',
|
|
284
|
+
'push',
|
|
285
|
+
'pop',
|
|
286
|
+
'shift',
|
|
287
|
+
'unshift',
|
|
288
|
+
'sort',
|
|
289
|
+
'reverse',
|
|
290
|
+
'keys',
|
|
291
|
+
'values',
|
|
292
|
+
'entries',
|
|
293
|
+
'assign',
|
|
294
|
+
'freeze',
|
|
295
|
+
'seal',
|
|
296
|
+
'hasOwnProperty',
|
|
297
|
+
'toString',
|
|
298
|
+
'valueOf',
|
|
299
|
+
]);
|
|
300
|
+
/**
|
|
301
|
+
* `this` is the only receiver keyword JavaScript and TypeScript bind, and it
|
|
302
|
+
* is bound by every function form except an arrow (#2701). The query files
|
|
303
|
+
* tag those forms with `@receiver-owner.this`; this hook just reads the tag,
|
|
304
|
+
* so the node-type list stays in the one place that already names grammar
|
|
305
|
+
* nodes. See `Scope.ownsReceivers` for what the marker does to the walk.
|
|
306
|
+
*/
|
|
307
|
+
const TS_OWNED_RECEIVERS = new Set(['this']);
|
|
308
|
+
const tsScopeOwnsReceivers = (match) => match['@receiver-owner.this'] === undefined ? undefined : TS_OWNED_RECEIVERS;
|
|
309
|
+
exports.typescriptProvider = (0, language_provider_js_1.defineLanguage)({
|
|
310
|
+
id: index_js_1.SupportedLanguages.TypeScript,
|
|
311
|
+
extensions: ['.ts', '.tsx'],
|
|
312
|
+
entryPointPatterns: [/^use[A-Z]/],
|
|
313
|
+
astFrameworkPatterns: [
|
|
314
|
+
{
|
|
315
|
+
framework: 'nestjs',
|
|
316
|
+
entryPointMultiplier: 3.2,
|
|
317
|
+
reason: 'nestjs-decorator',
|
|
318
|
+
patterns: ['@Controller', '@Get', '@Post', '@Put', '@Delete', '@Patch'],
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
framework: 'expo-router',
|
|
322
|
+
entryPointMultiplier: 2.5,
|
|
323
|
+
reason: 'expo-router-navigation',
|
|
324
|
+
patterns: [
|
|
325
|
+
'router.push',
|
|
326
|
+
'router.replace',
|
|
327
|
+
'router.navigate',
|
|
328
|
+
'useRouter',
|
|
329
|
+
'useLocalSearchParams',
|
|
330
|
+
'useSegments',
|
|
331
|
+
'expo-router',
|
|
332
|
+
],
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
treeSitterQueries: tree_sitter_queries_js_1.TYPESCRIPT_QUERIES,
|
|
336
|
+
typeConfig: typescript_js_2.typeConfig,
|
|
337
|
+
scopeOwnsReceivers: tsScopeOwnsReceivers,
|
|
338
|
+
exportChecker: export_detection_js_1.tsExportChecker,
|
|
339
|
+
importResolver: (0, resolver_factory_js_1.createImportResolver)(typescript_javascript_js_2.typescriptImportConfig),
|
|
340
|
+
callExtractor: (0, generic_js_5.createCallExtractor)(typescript_javascript_js_6.typescriptCallConfig),
|
|
341
|
+
fieldExtractor: typescript_js_3.typescriptFieldExtractor,
|
|
342
|
+
methodExtractor: (0, generic_js_3.createMethodExtractor)({
|
|
343
|
+
...typescript_javascript_js_4.typescriptMethodConfig,
|
|
344
|
+
extractFunctionName: tsExtractFunctionName,
|
|
345
|
+
}),
|
|
346
|
+
variableExtractor: (0, generic_js_4.createVariableExtractor)(typescript_javascript_js_5.typescriptVariableConfig),
|
|
347
|
+
classExtractor: (0, generic_js_1.createClassExtractor)(typescript_javascript_js_1.typescriptClassConfig),
|
|
348
|
+
// ── JSDoc → description (issue #2270). An exported decl is captured as the
|
|
349
|
+
// inner declaration; its JSDoc precedes the wrapping `export_statement`. ──
|
|
350
|
+
descriptionExtractor: (0, ast_helpers_js_1.createLeadingDocDescriptionExtractor)({
|
|
351
|
+
wrapperNodeTypes: ['export_statement'],
|
|
352
|
+
}),
|
|
353
|
+
builtInNames: exports.BUILT_INS,
|
|
354
|
+
// Member-assignment shapes are not free functions (#2723 follow-up). The
|
|
355
|
+
// capture arrives anchored on the assignment, so the shape is decided from
|
|
356
|
+
// the left-hand side:
|
|
357
|
+
// - `Foo.prototype.bar = fn` / `this.bar = fn` -> a Method
|
|
358
|
+
// - a CJS export shadowing a name the module already declares -> no node
|
|
359
|
+
// at all, since the scope declaration that would reach it is suppressed
|
|
360
|
+
// too (an orphan `Function` twin beside `class Dup {}` otherwise).
|
|
361
|
+
// Every other `definition.function` capture keeps its default label.
|
|
362
|
+
labelOverride: (functionNode, defaultLabel) => defaultLabel !== 'Function'
|
|
363
|
+
? defaultLabel
|
|
364
|
+
: functionNode.type === 'assignment_expression'
|
|
365
|
+
? memberAssignmentLabel(functionNode)
|
|
366
|
+
: defaultLabel,
|
|
367
|
+
// ── RFC #909 Ring 3: scope-based resolution hooks (RFC §5) ──────────
|
|
368
|
+
// TypeScript is the third migration after Python and C#. See
|
|
369
|
+
// ./typescript/index.ts for the full per-hook rationale and the
|
|
370
|
+
// canonical capture vocabulary in ./typescript/query.ts
|
|
371
|
+
// (TYPESCRIPT_SCOPE_QUERY constant).
|
|
372
|
+
emitScopeCaptures: index_js_2.emitTsScopeCaptures,
|
|
373
|
+
// CFG/PDG substrate (#2081 M1) — runs in the worker on a --pdg run.
|
|
374
|
+
cfgVisitor: (0, typescript_js_1.createTypeScriptCfgVisitor)(),
|
|
375
|
+
interpretImport: index_js_2.interpretTsImport,
|
|
376
|
+
interpretTypeBinding: index_js_2.interpretTsTypeBinding,
|
|
377
|
+
bindingScopeFor: index_js_2.tsBindingScopeFor,
|
|
378
|
+
importOwningScope: index_js_2.tsImportOwningScope,
|
|
379
|
+
// Merge precedence is decided from BindingRef origin + declaration
|
|
380
|
+
// space only. The central finalizer already calls this per (scope,
|
|
381
|
+
// name), so the Scope object itself intentionally does not affect
|
|
382
|
+
// TypeScript declaration merging.
|
|
383
|
+
mergeBindings: (_scope, bindings) => (0, index_js_2.typescriptMergeBindings)(bindings),
|
|
384
|
+
receiverBinding: index_js_2.tsReceiverBinding,
|
|
385
|
+
arityCompatibility: index_js_2.typescriptArityCompatibility,
|
|
386
|
+
resolveImportTarget: index_js_2.resolveTsImportTarget,
|
|
387
|
+
});
|
|
388
|
+
exports.javascriptProvider = (0, language_provider_js_1.defineLanguage)({
|
|
389
|
+
id: index_js_1.SupportedLanguages.JavaScript,
|
|
390
|
+
extensions: ['.js', '.jsx'],
|
|
391
|
+
entryPointPatterns: [/^use[A-Z]/],
|
|
392
|
+
astFrameworkPatterns: [
|
|
393
|
+
{
|
|
394
|
+
framework: 'nestjs',
|
|
395
|
+
entryPointMultiplier: 3.2,
|
|
396
|
+
reason: 'nestjs-decorator',
|
|
397
|
+
patterns: ['@Controller', '@Get', '@Post', '@Put', '@Delete', '@Patch'],
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
framework: 'expo-router',
|
|
401
|
+
entryPointMultiplier: 2.5,
|
|
402
|
+
reason: 'expo-router-navigation',
|
|
403
|
+
patterns: [
|
|
404
|
+
'router.push',
|
|
405
|
+
'router.replace',
|
|
406
|
+
'router.navigate',
|
|
407
|
+
'useRouter',
|
|
408
|
+
'useLocalSearchParams',
|
|
409
|
+
'useSegments',
|
|
410
|
+
'expo-router',
|
|
411
|
+
],
|
|
412
|
+
},
|
|
413
|
+
],
|
|
414
|
+
treeSitterQueries: tree_sitter_queries_js_1.JAVASCRIPT_QUERIES,
|
|
415
|
+
typeConfig: typescript_js_2.typeConfig,
|
|
416
|
+
scopeOwnsReceivers: tsScopeOwnsReceivers,
|
|
417
|
+
exportChecker: export_detection_js_1.tsExportChecker,
|
|
418
|
+
importResolver: (0, resolver_factory_js_1.createImportResolver)(typescript_javascript_js_2.javascriptImportConfig),
|
|
419
|
+
callExtractor: (0, generic_js_5.createCallExtractor)(typescript_javascript_js_6.javascriptCallConfig),
|
|
420
|
+
fieldExtractor: (0, generic_js_2.createFieldExtractor)(typescript_javascript_js_3.javascriptConfig),
|
|
421
|
+
methodExtractor: (0, generic_js_3.createMethodExtractor)({
|
|
422
|
+
...typescript_javascript_js_4.javascriptMethodConfig,
|
|
423
|
+
extractFunctionName: tsExtractFunctionName,
|
|
424
|
+
}),
|
|
425
|
+
variableExtractor: (0, generic_js_4.createVariableExtractor)(typescript_javascript_js_5.javascriptVariableConfig),
|
|
426
|
+
classExtractor: (0, generic_js_1.createClassExtractor)(typescript_javascript_js_1.javascriptClassConfig),
|
|
427
|
+
// ── JSDoc → description (issue #2270). An exported decl is captured as the
|
|
428
|
+
// inner declaration; its JSDoc precedes the wrapping `export_statement`. ──
|
|
429
|
+
descriptionExtractor: (0, ast_helpers_js_1.createLeadingDocDescriptionExtractor)({
|
|
430
|
+
wrapperNodeTypes: ['export_statement'],
|
|
431
|
+
}),
|
|
432
|
+
builtInNames: exports.BUILT_INS,
|
|
433
|
+
// Member-assignment shapes — see the TypeScript provider above.
|
|
434
|
+
labelOverride: (functionNode, defaultLabel) => defaultLabel !== 'Function'
|
|
435
|
+
? defaultLabel
|
|
436
|
+
: functionNode.type === 'assignment_expression'
|
|
437
|
+
? memberAssignmentLabel(functionNode)
|
|
438
|
+
: defaultLabel,
|
|
439
|
+
// ── RFC #909 Ring 3: scope-based resolution hooks (RFC §5) ──────────
|
|
440
|
+
// JavaScript is the fourth migration after Python, C#, and TypeScript.
|
|
441
|
+
// Hooks are thin wrappers over the TypeScript implementations where
|
|
442
|
+
// semantics are identical; JS-specific additions (CJS require(),
|
|
443
|
+
// JSDoc type bindings) live in ./javascript/captures.ts.
|
|
444
|
+
// See ./javascript/index.ts for the full per-module rationale.
|
|
445
|
+
emitScopeCaptures: index_js_3.emitJsScopeCaptures,
|
|
446
|
+
// CFG/PDG substrate (#2081 M1) — TS and JS share the same grammar family.
|
|
447
|
+
cfgVisitor: (0, typescript_js_1.createTypeScriptCfgVisitor)(),
|
|
448
|
+
interpretImport: index_js_3.interpretJsImport,
|
|
449
|
+
interpretTypeBinding: index_js_3.interpretJsTypeBinding,
|
|
450
|
+
bindingScopeFor: index_js_3.jsBindingScopeFor,
|
|
451
|
+
importOwningScope: index_js_3.jsImportOwningScope,
|
|
452
|
+
mergeBindings: (_scope, bindings) => (0, index_js_3.jsMergeBindings)(bindings),
|
|
453
|
+
receiverBinding: index_js_3.jsReceiverBinding,
|
|
454
|
+
arityCompatibility: index_js_3.jsArityCompatibility,
|
|
455
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vue SFC scope captures (RFC #909 Ring 3, issue #940).
|
|
4
|
+
*
|
|
5
|
+
* Extracts the `<script>` / `<script setup>` block from the SFC source
|
|
6
|
+
* and delegates to `emitTsScopeCaptures`. The parse-worker builds the
|
|
7
|
+
* cached tree from the extracted script content using the TypeScript
|
|
8
|
+
* grammar (see `[SupportedLanguages.Vue]: TypeScript.typescript` in
|
|
9
|
+
* `parse-worker.ts`), so passing that tree here keeps grammar identity
|
|
10
|
+
* consistent and avoids a redundant re-parse.
|
|
11
|
+
*
|
|
12
|
+
* Template expressions are intentionally out-of-scope: component-
|
|
13
|
+
* reference CALLS edges are already emitted by the legacy template
|
|
14
|
+
* extractor in the parse worker and would be double-counted here.
|
|
15
|
+
*
|
|
16
|
+
* Position note: all capture positions are relative to the *extracted*
|
|
17
|
+
* script block, not the full .vue file. This is consistent with the
|
|
18
|
+
* cached tree and with how the scope model uses positions (only for
|
|
19
|
+
* scope-containment walks within a single file), so no offset
|
|
20
|
+
* translation is required for graph-edge correctness.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.emitVueScopeCaptures = emitVueScopeCaptures;
|
|
24
|
+
const vue_sfc_extractor_js_1 = require("../../vue-sfc-extractor.js");
|
|
25
|
+
const captures_js_1 = require("../typescript/captures.js");
|
|
26
|
+
const captures_js_2 = require("../javascript/captures.js");
|
|
27
|
+
/**
|
|
28
|
+
* Emit scope captures for a Vue SFC.
|
|
29
|
+
*
|
|
30
|
+
* Handles three call-site shapes:
|
|
31
|
+
*
|
|
32
|
+
* 1. **Full SFC content** (sequential path, <15 files): `sourceText`
|
|
33
|
+
* contains the whole `.vue` file with `<template>`, `<script>`, etc.
|
|
34
|
+
* `extractVueScript` extracts the script block and we delegate to
|
|
35
|
+
* `emitTsScopeCaptures` or `emitJsScopeCaptures` based on `lang`.
|
|
36
|
+
*
|
|
37
|
+
* 2. **Already-extracted script content** (worker-mode path, ≥15 files):
|
|
38
|
+
* the parse worker calls `extractVueScript` itself before calling
|
|
39
|
+
* `extractParsedFile`, so `sourceText` is already the bare script
|
|
40
|
+
* text with no `<script>` tags. The caller marks this explicitly via
|
|
41
|
+
* `sourceMeta.sourceKind === 'pre-extracted-script'`.
|
|
42
|
+
*
|
|
43
|
+
* 3. **Supporting TS/JS files** included in Vue scope-resolution runs:
|
|
44
|
+
* when `filePath` is not `.vue`, delegate straight to TypeScript captures.
|
|
45
|
+
*
|
|
46
|
+
* Returns an empty array for render-function-only SFCs (no `<script>` block).
|
|
47
|
+
*/
|
|
48
|
+
function emitVueScopeCaptures(sourceText, filePath, cachedTree, sourceMeta) {
|
|
49
|
+
// Vue resolver may include supporting TS/JS files in the same run to
|
|
50
|
+
// preserve cross-file import/type context for `.vue` callers. These are
|
|
51
|
+
// already plain script files, so no SFC extraction is needed.
|
|
52
|
+
if (!filePath.endsWith('.vue')) {
|
|
53
|
+
return (0, captures_js_1.emitTsScopeCaptures)(sourceText, filePath, cachedTree);
|
|
54
|
+
}
|
|
55
|
+
if (sourceMeta?.sourceKind === 'pre-extracted-script') {
|
|
56
|
+
// Worker-mode path: the parse worker always uses TypeScript grammar for
|
|
57
|
+
// .vue files. Lang-based grammar selection is a sequential-path feature.
|
|
58
|
+
return (0, captures_js_1.emitTsScopeCaptures)(sourceText, filePath, cachedTree);
|
|
59
|
+
}
|
|
60
|
+
const extracted = (0, vue_sfc_extractor_js_1.extractVueScript)(sourceText);
|
|
61
|
+
if (extracted === null)
|
|
62
|
+
return [];
|
|
63
|
+
// Select captures based on script lang attribute.
|
|
64
|
+
// Use TS grammar unless ALL blocks explicitly request JS/JSX.
|
|
65
|
+
// Mixed-lang: TS handles JS natively; JS grammar chokes on TS syntax.
|
|
66
|
+
if (extracted.lang === 'js' || extracted.lang === 'jsx') {
|
|
67
|
+
return (0, captures_js_2.emitJsScopeCaptures)(extracted.scriptContent, filePath, cachedTree);
|
|
68
|
+
}
|
|
69
|
+
return (0, captures_js_1.emitTsScopeCaptures)(extracted.scriptContent, filePath, cachedTree);
|
|
70
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Import-target resolver for Vue SFCs (RFC #909 Ring 3, issue #940).
|
|
4
|
+
*
|
|
5
|
+
* Vue `<script>` / `<script setup>` blocks are TypeScript (or plain
|
|
6
|
+
* JavaScript), so the resolver delegates to `resolveTsTarget` with
|
|
7
|
+
* `language: SupportedLanguages.TypeScript` to get:
|
|
8
|
+
*
|
|
9
|
+
* - tsconfig path-alias rewriting (Vue projects universally use TS)
|
|
10
|
+
* - `.ts` / `.tsx` / `.js` / `.jsx` extension-suffix fallback
|
|
11
|
+
*
|
|
12
|
+
* `.vue` imports are written with explicit extensions (`'./Button.vue'`),
|
|
13
|
+
* so no Vue-specific suffix guessing is required: the standard
|
|
14
|
+
* resolver finds them via the exact-path branch before any extension
|
|
15
|
+
* logic fires.
|
|
16
|
+
*
|
|
17
|
+
* Memoization mirrors the TypeScript adapter: workspace file-list
|
|
18
|
+
* arrays, the suffix index, and the per-pass resolve cache are rebuilt
|
|
19
|
+
* lazily when `allFilePaths` reference changes (once per workspace pass).
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.makeVueResolveImportTarget = makeVueResolveImportTarget;
|
|
23
|
+
const index_js_1 = require("../../../../../shared/index.js");
|
|
24
|
+
const import_target_js_1 = require("../typescript/import-target.js");
|
|
25
|
+
const utils_js_1 = require("../../import-resolvers/utils.js");
|
|
26
|
+
/**
|
|
27
|
+
* Build a memoized `resolveImportTarget` adapter for Vue SFCs.
|
|
28
|
+
*
|
|
29
|
+
* Uses `SupportedLanguages.TypeScript` so tsconfig path-alias resolution
|
|
30
|
+
* and `.ts`/`.tsx` extension guessing fire for relative and bare-specifier
|
|
31
|
+
* imports inside `<script>` blocks.
|
|
32
|
+
*/
|
|
33
|
+
function makeVueResolveImportTarget() {
|
|
34
|
+
let cached = null;
|
|
35
|
+
return (targetRaw, fromFile, allFilePaths, resolutionConfig) => {
|
|
36
|
+
if (cached === null || cached.key !== allFilePaths) {
|
|
37
|
+
const allFileList = Array.from(allFilePaths);
|
|
38
|
+
const normalizedFileList = allFileList.map((f) => f.toLowerCase());
|
|
39
|
+
cached = {
|
|
40
|
+
key: allFilePaths,
|
|
41
|
+
allFilePaths: new Set(allFilePaths),
|
|
42
|
+
allFileList,
|
|
43
|
+
normalizedFileList,
|
|
44
|
+
index: (0, utils_js_1.buildSuffixIndex)(normalizedFileList, allFileList),
|
|
45
|
+
resolveCache: new Map(),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const cfg = resolutionConfig;
|
|
49
|
+
const ws = {
|
|
50
|
+
fromFile,
|
|
51
|
+
language: index_js_1.SupportedLanguages.TypeScript,
|
|
52
|
+
allFilePaths: cached.allFilePaths,
|
|
53
|
+
allFileList: cached.allFileList,
|
|
54
|
+
normalizedFileList: cached.normalizedFileList,
|
|
55
|
+
index: cached.index,
|
|
56
|
+
resolveCache: cached.resolveCache,
|
|
57
|
+
tsconfigPaths: cfg?.tsconfigPaths ?? null,
|
|
58
|
+
};
|
|
59
|
+
return (0, import_target_js_1.resolveTsTarget)(targetRaw, ws);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vue SFC scope-resolution hooks (RFC #909 Ring 3, issue #940).
|
|
4
|
+
*
|
|
5
|
+
* Public API barrel. Consumers should import from this file rather
|
|
6
|
+
* than the individual modules.
|
|
7
|
+
*
|
|
8
|
+
* Module layout (each file is a single concern):
|
|
9
|
+
*
|
|
10
|
+
* - `captures.ts` — `emitVueScopeCaptures` — extracts the
|
|
11
|
+
* `<script>` / `<script setup>` block and
|
|
12
|
+
* delegates to `emitTsScopeCaptures` (TypeScript
|
|
13
|
+
* grammar, same grammar the parse-worker uses).
|
|
14
|
+
* - `import-target.ts` — `makeVueResolveImportTarget` — memoized
|
|
15
|
+
* adapter using the TypeScript resolver with
|
|
16
|
+
* tsconfig path-alias support.
|
|
17
|
+
* - `scope-resolver.ts` — `vueScopeResolver` wiring object.
|
|
18
|
+
*
|
|
19
|
+
* ## Known limitations
|
|
20
|
+
*
|
|
21
|
+
* 1. **Template expressions** — Full template AST parsing is not performed.
|
|
22
|
+
* `vueScopeResolver.emitPostResolutionEdges` extracts five categories of
|
|
23
|
+
* template-derived edges via lightweight regex, all emitted after standard
|
|
24
|
+
* scope-resolution passes complete:
|
|
25
|
+
* - PascalCase/kebab-case component references → `vue-template-component` `CALLS`
|
|
26
|
+
* - `@event="handler"` on **native** elements → `vue-template-callback` `CALLS`
|
|
27
|
+
* - `@event="handler"` on **component** elements → `vue-event: @<name>` `BINDS_EVENT_HANDLER`
|
|
28
|
+
* - `emit(...)` / `this.$emit(...)` in script → `vue-emit: <name>` `EMITS_EVENT`
|
|
29
|
+
* - `:prop="varName"` single-identifier bindings → `vue-template-attribute` `ACCESSES`
|
|
30
|
+
* `BINDS_EVENT_HANDLER` and `EMITS_EVENT` are complementary "hanging" edges:
|
|
31
|
+
* a Cypher query joining on the shared component File node reveals which
|
|
32
|
+
* handlers receive which component's emitted events.
|
|
33
|
+
* Complex inline expressions (`@click="toggle(item)"`, `{{ a + b }}`,
|
|
34
|
+
* member-access bindings `:key="post.id"`) are intentionally excluded
|
|
35
|
+
* because they cannot be resolved to a single call/access target without
|
|
36
|
+
* a full template AST. Tracked in #1647.
|
|
37
|
+
* 2. **Options API `this` resolution** — `this.X()` in Options API
|
|
38
|
+
* components does not resolve through type-binding when the component
|
|
39
|
+
* uses a plain object literal rather than a class. `fieldFallbackOnMethodLookup`
|
|
40
|
+
* recovers common cases via field-name matching.
|
|
41
|
+
* 3. **`<script setup>` + `<script>` dual-block** — When both blocks are
|
|
42
|
+
* present, only `<script setup>` is processed (per `extractVueScript`
|
|
43
|
+
* priority). The non-setup block is skipped.
|
|
44
|
+
* 4. **JSX in `<template>`** — Vue's template compiler is not a
|
|
45
|
+
* tree-sitter grammar; JSX-style bindings inside templates are not
|
|
46
|
+
* processed by the scope-resolution pipeline.
|
|
47
|
+
*/
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.vueScopeResolver = exports.makeVueResolveImportTarget = exports.emitVueScopeCaptures = void 0;
|
|
50
|
+
var captures_js_1 = require("./captures.js");
|
|
51
|
+
Object.defineProperty(exports, "emitVueScopeCaptures", { enumerable: true, get: function () { return captures_js_1.emitVueScopeCaptures; } });
|
|
52
|
+
var import_target_js_1 = require("./import-target.js");
|
|
53
|
+
Object.defineProperty(exports, "makeVueResolveImportTarget", { enumerable: true, get: function () { return import_target_js_1.makeVueResolveImportTarget; } });
|
|
54
|
+
var scope_resolver_js_1 = require("./scope-resolver.js");
|
|
55
|
+
Object.defineProperty(exports, "vueScopeResolver", { enumerable: true, get: function () { return scope_resolver_js_1.vueScopeResolver; } });
|