@lzehrung/codegraph 2.4.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/codegraph-skill/codegraph/SKILL.md +3 -3
- package/dist/agent/call-hierarchy.js +2 -4
- package/dist/agent/call-hierarchy.js.map +1 -1
- package/dist/agent/explore.d.ts +1 -1
- package/dist/agent/explore.d.ts.map +1 -1
- package/dist/agent/explore.js +3 -2
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/refactor-plan.js +2 -4
- package/dist/agent/refactor-plan.js.map +1 -1
- package/dist/agent/rename-preview.d.ts.map +1 -1
- package/dist/agent/rename-preview.js +58 -8
- package/dist/agent/rename-preview.js.map +1 -1
- package/dist/agent/search.js +2 -3
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/semantic-symbols.d.ts.map +1 -1
- package/dist/agent/semantic-symbols.js +2 -3
- package/dist/agent/semantic-symbols.js.map +1 -1
- package/dist/agent/type-hierarchy.js +2 -4
- package/dist/agent/type-hierarchy.js.map +1 -1
- package/dist/agent/workspace-symbols.d.ts.map +1 -1
- package/dist/agent/workspace-symbols.js +2 -3
- package/dist/agent/workspace-symbols.js.map +1 -1
- package/dist/agent-tools.d.ts +0 -4
- package/dist/agent-tools.d.ts.map +1 -1
- package/dist/agent-tools.js +3 -6
- package/dist/agent-tools.js.map +1 -1
- package/dist/analysis-summary.d.ts +8 -4
- package/dist/analysis-summary.d.ts.map +1 -1
- package/dist/analysis-summary.js +15 -66
- package/dist/analysis-summary.js.map +1 -1
- package/dist/bin/cli.js +14417 -16886
- package/dist/bin/query-index-worker.js +229 -99
- package/dist/cli/command-table.d.ts.map +1 -1
- package/dist/cli/command-table.js +9 -17
- package/dist/cli/command-table.js.map +1 -1
- package/dist/cli/context.js +10 -10
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/drift.d.ts +0 -2
- package/dist/cli/drift.d.ts.map +1 -1
- package/dist/cli/drift.js +0 -1
- package/dist/cli/drift.js.map +1 -1
- package/dist/cli/graph-delta.d.ts +0 -2
- package/dist/cli/graph-delta.d.ts.map +1 -1
- package/dist/cli/graph-delta.js +0 -4
- package/dist/cli/graph-delta.js.map +1 -1
- package/dist/cli/graph.d.ts +0 -3
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +4 -14
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/help.d.ts +34 -34
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +6 -13
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/impact.d.ts +0 -2
- package/dist/cli/impact.d.ts.map +1 -1
- package/dist/cli/impact.js +0 -1
- package/dist/cli/impact.js.map +1 -1
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/inspect.d.ts +0 -2
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +5 -8
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/invocation-context.d.ts +0 -3
- package/dist/cli/invocation-context.d.ts.map +1 -1
- package/dist/cli/invocation-context.js +4 -16
- package/dist/cli/invocation-context.js.map +1 -1
- package/dist/cli/navigation.d.ts +0 -2
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +0 -1
- package/dist/cli/navigation.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +2 -12
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/review.d.ts +0 -2
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +0 -5
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/root-policy.d.ts +0 -2
- package/dist/cli/root-policy.d.ts.map +1 -1
- package/dist/cli/root-policy.js +0 -8
- package/dist/cli/root-policy.js.map +1 -1
- package/dist/cli/server.d.ts.map +1 -1
- package/dist/cli/server.js +0 -2
- package/dist/cli/server.js.map +1 -1
- package/dist/drift/git.d.ts.map +1 -1
- package/dist/drift/git.js +0 -1
- package/dist/drift/git.js.map +1 -1
- package/dist/drift/snapshot.d.ts.map +1 -1
- package/dist/drift/snapshot.js +0 -1
- package/dist/drift/snapshot.js.map +1 -1
- package/dist/drift/types.d.ts +0 -2
- package/dist/drift/types.d.ts.map +1 -1
- package/dist/drift/types.js.map +1 -1
- package/dist/duplicates/unit-cache.d.ts +0 -1
- package/dist/duplicates/unit-cache.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.js +3 -11
- package/dist/duplicates/unit-cache.js.map +1 -1
- package/dist/duplicates/units.d.ts +5 -5
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +25 -88
- package/dist/duplicates/units.js.map +1 -1
- package/dist/graph-builder.d.ts +0 -6
- package/dist/graph-builder.d.ts.map +1 -1
- package/dist/graph-builder.js +2 -5
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +1 -6
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +23 -21
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts +1 -1
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +22 -98
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/specifiers.d.ts +4 -13
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +76 -173
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +12 -3
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.js +315 -177
- package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.js +11 -0
- package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +25 -22
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +216 -147
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed.js +80 -71
- package/dist/graphs/symbol-graph-detailed.js.map +1 -1
- package/dist/graphs/symbol-graph.d.ts +1 -1
- package/dist/graphs/symbol-graph.d.ts.map +1 -1
- package/dist/graphs/symbol-graph.js +12 -4
- package/dist/graphs/symbol-graph.js.map +1 -1
- package/dist/graphs/types.d.ts +0 -4
- package/dist/graphs/types.d.ts.map +1 -1
- package/dist/graphs.d.ts +1 -1
- package/dist/graphs.d.ts.map +1 -1
- package/dist/impact/analyzer.d.ts.map +1 -1
- package/dist/impact/analyzer.js +94 -1
- package/dist/impact/analyzer.js.map +1 -1
- package/dist/impact/call-compatibility.d.ts.map +1 -1
- package/dist/impact/call-compatibility.js +39 -43
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/impact/transitive.d.ts +6 -2
- package/dist/impact/transitive.d.ts.map +1 -1
- package/dist/impact/transitive.js +23 -11
- package/dist/impact/transitive.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +67 -12
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +17 -2
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +19 -29
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +3 -4
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +53 -62
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts +0 -2
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +0 -97
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/build-cache.d.ts +1 -1
- package/dist/indexer/build-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache.js +1 -1
- package/dist/indexer/build-cache.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +72 -58
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +9 -9
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/callable-identity.d.ts +24 -0
- package/dist/indexer/callable-identity.d.ts.map +1 -0
- package/dist/indexer/callable-identity.js +111 -0
- package/dist/indexer/callable-identity.js.map +1 -0
- package/dist/indexer/compilation-units.d.ts +2 -0
- package/dist/indexer/compilation-units.d.ts.map +1 -1
- package/dist/indexer/compilation-units.js +20 -18
- package/dist/indexer/compilation-units.js.map +1 -1
- package/dist/indexer/cpp-callables.d.ts +12 -7
- package/dist/indexer/cpp-callables.d.ts.map +1 -1
- package/dist/indexer/cpp-callables.js +42 -34
- package/dist/indexer/cpp-callables.js.map +1 -1
- package/dist/indexer/declaration-visibility.d.ts +7 -0
- package/dist/indexer/declaration-visibility.d.ts.map +1 -1
- package/dist/indexer/declaration-visibility.js +22 -0
- package/dist/indexer/declaration-visibility.js.map +1 -1
- package/dist/indexer/declarations.d.ts.map +1 -1
- package/dist/indexer/declarations.js +32 -7
- package/dist/indexer/declarations.js.map +1 -1
- package/dist/indexer/expand-star-imports.d.ts +6 -1
- package/dist/indexer/expand-star-imports.d.ts.map +1 -1
- package/dist/indexer/expand-star-imports.js +120 -48
- package/dist/indexer/expand-star-imports.js.map +1 -1
- package/dist/indexer/finalize.d.ts.map +1 -1
- package/dist/indexer/finalize.js +0 -1
- package/dist/indexer/finalize.js.map +1 -1
- package/dist/indexer/import-resolution-tables.d.ts +72 -0
- package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
- package/dist/indexer/import-resolution-tables.js +147 -0
- package/dist/indexer/import-resolution-tables.js.map +1 -0
- package/dist/indexer/import-types.d.ts +18 -1
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/import-types.js.map +1 -1
- package/dist/indexer/imports/context.d.ts +6 -1
- package/dist/indexer/imports/context.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.d.ts +3 -2
- package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.js +19 -22
- package/dist/indexer/imports/import-binding-tables.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +10 -4
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +46 -81
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
- package/dist/indexer/imports/text-import-extractors.js +17 -7
- package/dist/indexer/imports/text-import-extractors.js.map +1 -1
- package/dist/indexer/imports.d.ts +3 -4
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +106 -81
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/incremental-plan.d.ts.map +1 -1
- package/dist/indexer/incremental-plan.js +27 -11
- package/dist/indexer/incremental-plan.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts +1 -2
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +121 -43
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/member-selection.d.ts +46 -0
- package/dist/indexer/member-selection.d.ts.map +1 -0
- package/dist/indexer/member-selection.js +169 -0
- package/dist/indexer/member-selection.js.map +1 -0
- package/dist/indexer/name-lookup-policies/c-family.d.ts +1 -1
- package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/c-family.js +30 -10
- package/dist/indexer/name-lookup-policies/c-family.js.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.js +14 -8
- package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
- package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/index.js +29 -3
- package/dist/indexer/name-lookup-policies/index.js.map +1 -1
- package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/php.js +9 -2
- package/dist/indexer/name-lookup-policies/php.js.map +1 -1
- package/dist/indexer/name-resolution-types.d.ts +2 -0
- package/dist/indexer/name-resolution-types.d.ts.map +1 -1
- package/dist/indexer/name-resolution.d.ts +5 -0
- package/dist/indexer/name-resolution.d.ts.map +1 -1
- package/dist/indexer/name-resolution.js +17 -2
- package/dist/indexer/name-resolution.js.map +1 -1
- package/dist/indexer/navigation-cpp.d.ts +8 -0
- package/dist/indexer/navigation-cpp.d.ts.map +1 -1
- package/dist/indexer/navigation-cpp.js +283 -2
- package/dist/indexer/navigation-cpp.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts +11 -2
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +675 -333
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts +4 -1
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +43 -23
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-provenance.d.ts +1 -1
- package/dist/indexer/navigation-provenance.d.ts.map +1 -1
- package/dist/indexer/navigation-provenance.js +4 -13
- package/dist/indexer/navigation-provenance.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +1 -1
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +44 -16
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts +13 -0
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +158 -5
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts +2 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +82 -57
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +2 -3
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +8 -21
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/reference-candidates.d.ts.map +1 -1
- package/dist/indexer/reference-candidates.js +13 -7
- package/dist/indexer/reference-candidates.js.map +1 -1
- package/dist/indexer/reference-context.d.ts.map +1 -1
- package/dist/indexer/reference-context.js +4 -1
- package/dist/indexer/reference-context.js.map +1 -1
- package/dist/indexer/scope-nodes.d.ts.map +1 -1
- package/dist/indexer/scope-nodes.js +5 -0
- package/dist/indexer/scope-nodes.js.map +1 -1
- package/dist/indexer/scope-types.d.ts +4 -0
- package/dist/indexer/scope-types.d.ts.map +1 -1
- package/dist/indexer/scope.d.ts +2 -3
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +85 -13
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/shared-owner-identity.js +1 -1
- package/dist/indexer/shared-owner-identity.js.map +1 -1
- package/dist/indexer/star-import-precedence.d.ts +6 -7
- package/dist/indexer/star-import-precedence.d.ts.map +1 -1
- package/dist/indexer/star-import-precedence.js +18 -12
- package/dist/indexer/star-import-precedence.js.map +1 -1
- package/dist/indexer/ts-callables.d.ts +15 -24
- package/dist/indexer/ts-callables.d.ts.map +1 -1
- package/dist/indexer/ts-callables.js +44 -75
- package/dist/indexer/ts-callables.js.map +1 -1
- package/dist/indexer/types.d.ts +23 -26
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer/types.js +4 -0
- package/dist/indexer/types.js.map +1 -1
- package/dist/indexer.d.ts +2 -7
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js.map +1 -1
- package/dist/languages/all.d.ts +1 -0
- package/dist/languages/all.d.ts.map +1 -1
- package/dist/languages/all.js +1 -0
- package/dist/languages/all.js.map +1 -1
- package/dist/languages/callable-arity.d.ts +21 -0
- package/dist/languages/callable-arity.d.ts.map +1 -1
- package/dist/languages/callable-arity.js +17 -0
- package/dist/languages/callable-arity.js.map +1 -1
- package/dist/languages/definitions/terraform.d.ts +9 -0
- package/dist/languages/definitions/terraform.d.ts.map +1 -0
- package/dist/languages/definitions/terraform.js +84 -0
- package/dist/languages/definitions/terraform.js.map +1 -0
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +6 -0
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/languages.d.ts +1 -0
- package/dist/languages.d.ts.map +1 -1
- package/dist/languages.js +1 -0
- package/dist/languages.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +0 -1
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/native/byte-index.d.ts +6 -0
- package/dist/native/byte-index.d.ts.map +1 -1
- package/dist/native/byte-index.js +11 -6
- package/dist/native/byte-index.js.map +1 -1
- package/dist/native/contracts.d.ts +2 -3
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/execution.d.ts +9 -9
- package/dist/native/execution.d.ts.map +1 -1
- package/dist/native/execution.js +37 -77
- package/dist/native/execution.js.map +1 -1
- package/dist/native/js-bridge.d.ts +2 -15
- package/dist/native/js-bridge.d.ts.map +1 -1
- package/dist/native/js-bridge.js +2 -15
- package/dist/native/js-bridge.js.map +1 -1
- package/dist/native/query-results.js +2 -2
- package/dist/native/query-results.js.map +1 -1
- package/dist/native/runtime.d.ts +12 -12
- package/dist/native/runtime.d.ts.map +1 -1
- package/dist/native/runtime.js +24 -69
- package/dist/native/runtime.js.map +1 -1
- package/dist/native/tree-sitter-native.d.ts +3 -3
- package/dist/native/tree-sitter-native.d.ts.map +1 -1
- package/dist/native/tree-sitter-native.js +2 -2
- package/dist/native/tree-sitter-native.js.map +1 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -4
- package/dist/presets.js.map +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +2 -20
- package/dist/review.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +0 -5
- package/dist/session.js.map +1 -1
- package/dist/sql/navigation.js +1 -1
- package/dist/sql/navigation.js.map +1 -1
- package/dist/terraform/navigation.d.ts +20 -0
- package/dist/terraform/navigation.d.ts.map +1 -0
- package/dist/terraform/navigation.js +142 -0
- package/dist/terraform/navigation.js.map +1 -0
- package/dist/terraform/resolution.d.ts +82 -0
- package/dist/terraform/resolution.d.ts.map +1 -0
- package/dist/terraform/resolution.js +324 -0
- package/dist/terraform/resolution.js.map +1 -0
- package/dist/terraform/syntax.d.ts +109 -0
- package/dist/terraform/syntax.d.ts.map +1 -0
- package/dist/terraform/syntax.js +441 -0
- package/dist/terraform/syntax.js.map +1 -0
- package/dist/util/bloom-filter.d.ts +1 -0
- package/dist/util/bloom-filter.d.ts.map +1 -1
- package/dist/util/bloom-filter.js +3 -0
- package/dist/util/bloom-filter.js.map +1 -1
- package/dist/util/glob.d.ts +32 -0
- package/dist/util/glob.d.ts.map +1 -0
- package/dist/util/glob.js +137 -0
- package/dist/util/glob.js.map +1 -0
- package/dist/util/member-access-tables.d.ts.map +1 -1
- package/dist/util/member-access-tables.js +5 -0
- package/dist/util/member-access-tables.js.map +1 -1
- package/dist/util/member-access.d.ts.map +1 -1
- package/dist/util/member-access.js +5 -2
- package/dist/util/member-access.js.map +1 -1
- package/dist/util/project-files.d.ts +2 -10
- package/dist/util/project-files.d.ts.map +1 -1
- package/dist/util/project-files.js +32 -52
- package/dist/util/project-files.js.map +1 -1
- package/dist/util/python-type-checking.d.ts +18 -0
- package/dist/util/python-type-checking.d.ts.map +1 -0
- package/dist/util/python-type-checking.js +160 -0
- package/dist/util/python-type-checking.js.map +1 -0
- package/dist/util/resolution/jvm.d.ts +7 -3
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +56 -38
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/rust.d.ts +0 -1
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +0 -9
- package/dist/util/resolution/rust.js.map +1 -1
- package/dist/util/resolution/specifier-targets.d.ts +44 -0
- package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
- package/dist/util/resolution/specifier-targets.js +157 -0
- package/dist/util/resolution/specifier-targets.js.map +1 -0
- package/dist/util/resolution/terraform.d.ts +18 -0
- package/dist/util/resolution/terraform.d.ts.map +1 -0
- package/dist/util/resolution/terraform.js +64 -0
- package/dist/util/resolution/terraform.js.map +1 -0
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +5 -10
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/specifiers.d.ts +9 -1
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +27 -8
- package/dist/util/specifiers.js.map +1 -1
- package/dist/util/trivia-tables.d.ts.map +1 -1
- package/dist/util/trivia-tables.js +9 -0
- package/dist/util/trivia-tables.js.map +1 -1
- package/dist/util/trivia.d.ts.map +1 -1
- package/dist/util/trivia.js +49 -30
- package/dist/util/trivia.js.map +1 -1
- package/dist/util/workspace.d.ts.map +1 -1
- package/dist/util/workspace.js +32 -4
- package/dist/util/workspace.js.map +1 -1
- package/package.json +6 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/reports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/indexer/build-cache/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3G,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GACtC,WAAW,GAAG,SAAS,CAMzB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAM3F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAYrG;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,GACd,cAAc,GAAG,SAAS,CAS5B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,CAOR"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { supportsReducedModeRegexRecovery } from "../../native/tree-sitter-native.js";
|
|
2
1
|
import { logWithLevel } from "../../logging.js";
|
|
3
2
|
import { stringifyUnknown } from "../../util/ast.js";
|
|
4
|
-
import { isGraphOnlyLanguage } from "../../document-links/language-ids.js";
|
|
5
3
|
export function initCacheReport(report, mode) {
|
|
6
4
|
if (!report)
|
|
7
5
|
return undefined;
|
|
@@ -32,101 +30,6 @@ export function recordFileFailure(report, file, error) {
|
|
|
32
30
|
}
|
|
33
31
|
fileReport.errors = errors;
|
|
34
32
|
}
|
|
35
|
-
const EMPTY_FALLBACK_IMPORT_REASONS = {
|
|
36
|
-
fast: 0,
|
|
37
|
-
"reduced-mode": 0,
|
|
38
|
-
unavailable: 0,
|
|
39
|
-
unsupportedLanguage: 0,
|
|
40
|
-
"query-error": 0,
|
|
41
|
-
"query-empty": 0,
|
|
42
|
-
};
|
|
43
|
-
function initFallbackImportExtractionReport(report) {
|
|
44
|
-
if (!report)
|
|
45
|
-
return undefined;
|
|
46
|
-
if (!report.graph) {
|
|
47
|
-
report.graph = {
|
|
48
|
-
fallbackImportExtraction: {
|
|
49
|
-
total: 0,
|
|
50
|
-
byLanguage: {},
|
|
51
|
-
byReason: { ...EMPTY_FALLBACK_IMPORT_REASONS },
|
|
52
|
-
files: {},
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
else if (!report.graph.fallbackImportExtraction) {
|
|
57
|
-
report.graph.fallbackImportExtraction = {
|
|
58
|
-
total: 0,
|
|
59
|
-
byLanguage: {},
|
|
60
|
-
byReason: { ...EMPTY_FALLBACK_IMPORT_REASONS },
|
|
61
|
-
files: {},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return report.graph.fallbackImportExtraction;
|
|
65
|
-
}
|
|
66
|
-
export function createFallbackImportExtractionHandler(report, opts) {
|
|
67
|
-
const fallbackReport = initFallbackImportExtractionReport(report);
|
|
68
|
-
const warned = new Set();
|
|
69
|
-
const logLevel = opts?.logLevel ?? "warn";
|
|
70
|
-
const shouldLog = logLevel !== "silent" && logLevel !== "error";
|
|
71
|
-
return (event) => {
|
|
72
|
-
const filePath = event.file ? event.file.replace(/\\/g, "/") : "unknown";
|
|
73
|
-
// Graph-only extraction is the supported path, not degraded native parsing.
|
|
74
|
-
const supportedGraphOnly = event.reason === "unsupportedLanguage" && isGraphOnlyLanguage(event.language);
|
|
75
|
-
if (fallbackReport && !supportedGraphOnly) {
|
|
76
|
-
if (!fallbackReport.files[filePath]) {
|
|
77
|
-
fallbackReport.total += 1;
|
|
78
|
-
fallbackReport.byLanguage[event.language] = (fallbackReport.byLanguage[event.language] ?? 0) + 1;
|
|
79
|
-
fallbackReport.byReason ??= { ...EMPTY_FALLBACK_IMPORT_REASONS };
|
|
80
|
-
fallbackReport.byReason[event.reason] = (fallbackReport.byReason[event.reason] ?? 0) + 1;
|
|
81
|
-
}
|
|
82
|
-
fallbackReport.files[filePath] = {
|
|
83
|
-
language: event.language,
|
|
84
|
-
reason: event.reason,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
if (!shouldLog)
|
|
88
|
-
return;
|
|
89
|
-
const warningKey = `${event.language}:${event.reason}`;
|
|
90
|
-
if (warned.has(warningKey))
|
|
91
|
-
return;
|
|
92
|
-
warned.add(warningKey);
|
|
93
|
-
const severity = event.reason === "fast" ||
|
|
94
|
-
event.reason === "reduced-mode" ||
|
|
95
|
-
event.reason === "unavailable" ||
|
|
96
|
-
supportedGraphOnly ||
|
|
97
|
-
(event.reason !== "unsupportedLanguage" && supportsReducedModeRegexRecovery(event.language))
|
|
98
|
-
? "debug"
|
|
99
|
-
: "warn";
|
|
100
|
-
let message;
|
|
101
|
-
if (event.reason === "reduced-mode") {
|
|
102
|
-
message = `Native parser unavailable for ${event.language}; using reduced import extraction.`;
|
|
103
|
-
}
|
|
104
|
-
else if (event.reason === "unavailable") {
|
|
105
|
-
message = `Native parser unavailable for ${event.language}; no native query ran, using regex-based fallback extraction.`;
|
|
106
|
-
}
|
|
107
|
-
else if (event.reason === "unsupportedLanguage") {
|
|
108
|
-
message = isGraphOnlyLanguage(event.language)
|
|
109
|
-
? `Native grammar is not registered for ${event.language}; using graph-only extraction.`
|
|
110
|
-
: `Native grammar is not registered for ${event.language}; using regex-based fallback extraction.`;
|
|
111
|
-
}
|
|
112
|
-
else if (event.reason === "fast") {
|
|
113
|
-
message = `Fast mode active for ${event.language}; using regex-based import extraction instead of the native parser.`;
|
|
114
|
-
}
|
|
115
|
-
else if (supportsReducedModeRegexRecovery(event.language)) {
|
|
116
|
-
message = `Native import recovery degraded for ${event.language}; using native-owned fallback extraction.`;
|
|
117
|
-
}
|
|
118
|
-
else if (event.reason === "query-error") {
|
|
119
|
-
message = `Native import query failed for ${event.language}; using regex-based fallback extraction.`;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
message = `Native import query returned no results for ${event.language}; using regex-based fallback extraction to recover additional imports.`;
|
|
123
|
-
}
|
|
124
|
-
logWithLevel(opts?.logLevel, severity, message, {
|
|
125
|
-
language: event.language,
|
|
126
|
-
reason: event.reason,
|
|
127
|
-
});
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
33
|
export function initManifestReport(report, used, reused) {
|
|
131
34
|
if (!report)
|
|
132
35
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/indexer/build-cache/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/indexer/build-cache/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,UAAU,eAAe,CAC7B,MAA+B,EAC/B,IAAuC;IAEvC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA+B;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA+B,EAAE,IAAY,EAAE,KAAc;IAC7F,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC9B,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAA+B,EAC/B,IAAa,EACb,MAAe;IAEf,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,cAA0C,EAC1C,gBAAkD,EAClD,QAA8B;IAE9B,IAAI,CAAC,gBAAgB,CAAC,KAAK;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC1D,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAC1D,CAAC;IACD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -3,5 +3,5 @@ export { buildBloomFilterForFile, cacheSignatureForFile, clearMemoryCache, close
|
|
|
3
3
|
export { cacheRoot, resolveCacheLocation } from "./build-cache/location.js";
|
|
4
4
|
export { BLOOM_FILTER_SNAPSHOT_FILENAME, BLOOM_FILTER_SNAPSHOT_VERSION, PROJECT_SNAPSHOT_VERSION, createProjectSnapshotIdentity, projectSnapshotFilesSignature, tryLoadDetailedSymbolGraphSnapshot, tryLoadPersistedBloomFilters, tryLoadProjectSnapshotModules, tryLoadProjectIndexSnapshot, writeDetailedSymbolGraphSnapshot, writeProjectIndexSnapshot, } from "./build-cache/project-snapshot.js";
|
|
5
5
|
export { diffBuildOptions, graphOptionsEqual, normalizeGraphOptions, normalizeLanguageExtensions, summarizeBuildOptions, type ManifestBuildOptions, } from "./build-cache/options.js";
|
|
6
|
-
export {
|
|
6
|
+
export { initCacheReport, initFileReport, initManifestReport, recordConfigHashResult, recordFileFailure, } from "./build-cache/reports.js";
|
|
7
7
|
//# sourceMappingURL=build-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-cache.d.ts","sourceRoot":"","sources":["../../src/indexer/build-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,EAC9B,qCAAqC,EACrC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,uBAAuB,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"build-cache.d.ts","sourceRoot":"","sources":["../../src/indexer/build-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,EAC9B,qCAAqC,EACrC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,uBAAuB,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
|
|
@@ -3,5 +3,5 @@ export { buildBloomFilterForFile, cacheSignatureForFile, clearMemoryCache, close
|
|
|
3
3
|
export { cacheRoot, resolveCacheLocation } from "./build-cache/location.js";
|
|
4
4
|
export { BLOOM_FILTER_SNAPSHOT_FILENAME, BLOOM_FILTER_SNAPSHOT_VERSION, PROJECT_SNAPSHOT_VERSION, createProjectSnapshotIdentity, projectSnapshotFilesSignature, tryLoadDetailedSymbolGraphSnapshot, tryLoadPersistedBloomFilters, tryLoadProjectSnapshotModules, tryLoadProjectIndexSnapshot, writeDetailedSymbolGraphSnapshot, writeProjectIndexSnapshot, } from "./build-cache/project-snapshot.js";
|
|
5
5
|
export { diffBuildOptions, graphOptionsEqual, normalizeGraphOptions, normalizeLanguageExtensions, summarizeBuildOptions, } from "./build-cache/options.js";
|
|
6
|
-
export {
|
|
6
|
+
export { initCacheReport, initFileReport, initManifestReport, recordConfigHashResult, recordFileFailure, } from "./build-cache/reports.js";
|
|
7
7
|
//# sourceMappingURL=build-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-cache.js","sourceRoot":"","sources":["../../src/indexer/build-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,EAC9B,qCAAqC,EACrC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GAGd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"build-cache.js","sourceRoot":"","sources":["../../src/indexer/build-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,EAC9B,qCAAqC,EACrC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GAGd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-index.d.ts","sourceRoot":"","sources":["../../src/indexer/build-index.ts"],"names":[],"mappings":"AA2GA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAI5B,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"build-index.d.ts","sourceRoot":"","sources":["../../src/indexer/build-index.ts"],"names":[],"mappings":"AA2GA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAI5B,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AA49DpB;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAYvG;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC,CAyBvB;AA8BD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC,CA44BvB;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6IpH"}
|
|
@@ -4,12 +4,14 @@ import fsp from "node:fs/promises";
|
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { performance } from "node:perf_hooks";
|
|
6
6
|
import { languageExtensionPatterns, supportForFile, supportForFileWithoutHeaderSample, } from "../languages.js";
|
|
7
|
+
import { DECLARATION_RESOLVED_IMPORT_LANGUAGES } from "./import-resolution-tables.js";
|
|
7
8
|
import { isJsTsLanguage } from "../languages/js-family.js";
|
|
8
9
|
import { loadWorkspaceConfig, resolveWorkspacePackage } from "../util/workspace.js";
|
|
9
10
|
import { DEFAULT_PROJECT_PATTERNS, createProjectDiscoveryContext, discoverProjectFilesWithGitCandidates, listProjectFilesWithGitCandidates, } from "../util/project-files.js";
|
|
10
11
|
import { getGitHead, isGitRepo, getGitBlobHashes, listChangedFiles } from "../util/git.js";
|
|
11
12
|
import { clearResolutionCaches, loadNearestTsconfigFor, resolveSpecifier, } from "../util/resolution.js";
|
|
12
13
|
import { collectCppDeclaredModules, isCppNamedModuleSpecifier } from "../util/resolution/cpp.js";
|
|
14
|
+
import { resolveJvmPackageImportPaths } from "../util/resolution/jvm.js";
|
|
13
15
|
import { loadTsconfigResolutionInputsFor } from "../util/resolution/tsconfig.js";
|
|
14
16
|
import { resolveModuleSpecifierEdges } from "../graphs/edge-resolution.js";
|
|
15
17
|
import { fileIdentityKey, initializeFileIdentityCaseSensitivity, isFilePathWithinRoot, normalizePath, } from "../util/paths.js";
|
|
@@ -30,9 +32,9 @@ import { compareEdges, edgeKey, toRelativeEdge } from "./shared.js";
|
|
|
30
32
|
import { BloomFilter, buildBloomFilterFromSource } from "../util/bloom-filter.js";
|
|
31
33
|
import { initNativeBackendReport } from "../native/native-backend-report.js";
|
|
32
34
|
import { closeDuplicateUnitCacheDatabase } from "../duplicates.js";
|
|
33
|
-
import { isNativeRequiredUnavailableError } from "../native/tree-sitter-native.js";
|
|
35
|
+
import { assertNativeRequiredAvailable, isNativeRequiredUnavailableError } from "../native/tree-sitter-native.js";
|
|
34
36
|
import { isNodeSqliteUnavailableError } from "../sqlite-driver.js";
|
|
35
|
-
import { buildBloomFilterForFile, cacheSignatureForFile, closeDiskCacheDatabase, diskModuleCacheExists, collectWorkspaceManifestDependencyEdges, computeConfigHash,
|
|
37
|
+
import { buildBloomFilterForFile, cacheSignatureForFile, closeDiskCacheDatabase, diskModuleCacheExists, collectWorkspaceManifestDependencyEdges, computeConfigHash, diffBuildOptions, fileSignature, fileSignatureFromSource, graphOptionsEqual, initFileReport, initManifestReport, loadManifest, normalizeGraphOptions, normalizeIndexedFileInputs, normalizeIndexedFileInputsWithinRoot, normalizeLanguageExtensions, projectSnapshotFilesSignature, recordConfigHashResult, recordFileFailure, sanitizeManifestEntriesForRoot, sanitizeManifestTransientFilesForRoot, listDiskCachedModuleFiles, listMemoryCachedModuleFiles, loadModuleFromCache, memoryCacheEvictionSerial, memoryCacheLostPayloads, peekCachedModule, removeModulesFromCache, settleMemoryCacheEvictions, tryLoadFromCache, tryLoadPersistedBloomFilters, tryLoadProjectIndexSnapshot, tryLoadProjectSnapshotModules, verifyManifestEntries, writeModulesToCache, writeProjectIndexSnapshot, } from "./build-cache.js";
|
|
36
38
|
import { computeResolverEnvironmentFingerprint } from "./build-cache/resolver-environment.js";
|
|
37
39
|
import { cacheRoot } from "./build-cache/location.js";
|
|
38
40
|
import { SymbolKind, } from "./types.js";
|
|
@@ -286,7 +288,7 @@ async function buildIndexedModuleForFile(args) {
|
|
|
286
288
|
const prepared = await prepareFileContextForBuild(args.file, args.support, args.opts, args.workerSetup, args.report, args.confinedRoot, args.projectRoot, args.trustedSource, !!args.bloomFilterCache);
|
|
287
289
|
const { source, sup, nativeQueries, embeddedBlocks } = prepared;
|
|
288
290
|
let tree;
|
|
289
|
-
const graphOnlyLanguage = isGraphOnlyLanguage(sup.id),
|
|
291
|
+
const graphOnlyLanguage = isGraphOnlyLanguage(sup.id), nativeSourceLimitSkip = prepared.nativeFallbackReason === "sourceTooLarge";
|
|
290
292
|
if (prepared.syntaxTree) {
|
|
291
293
|
const parsedTree = new ProjectedSyntaxTree(source, prepared.syntaxTree);
|
|
292
294
|
tree = parsedTree;
|
|
@@ -298,7 +300,7 @@ async function buildIndexedModuleForFile(args) {
|
|
|
298
300
|
nativeQueries,
|
|
299
301
|
}, args.parsedCacheMaxEntries);
|
|
300
302
|
}
|
|
301
|
-
else if (!nativeQueries && !graphOnlyLanguage && sup.id !== "sql" && !
|
|
303
|
+
else if (!nativeQueries && !graphOnlyLanguage && sup.id !== "sql" && !nativeSourceLimitSkip) {
|
|
302
304
|
const parseAttempt = attemptParsePreparedFileContext(prepared);
|
|
303
305
|
const parsed = parseAttempt.parsed;
|
|
304
306
|
if (parsed) {
|
|
@@ -316,7 +318,7 @@ async function buildIndexedModuleForFile(args) {
|
|
|
316
318
|
}
|
|
317
319
|
}
|
|
318
320
|
else if (nativeQueries && !graphOnlyLanguage && sup.id !== "sql") {
|
|
319
|
-
//
|
|
321
|
+
// A native query without a transferred tree can still use the native syntax tree.
|
|
320
322
|
const parseAttempt = attemptParsePreparedFileContext(prepared);
|
|
321
323
|
const parsed = parseAttempt.parsed;
|
|
322
324
|
if (parsed) {
|
|
@@ -324,8 +326,8 @@ async function buildIndexedModuleForFile(args) {
|
|
|
324
326
|
setParsedCacheEntry(args.parsedMap, args.file, parsed, args.parsedCacheMaxEntries);
|
|
325
327
|
}
|
|
326
328
|
}
|
|
327
|
-
const lacksParserContext = !
|
|
328
|
-
if (args.bloomFilterCache && !
|
|
329
|
+
const lacksParserContext = !graphOnlyLanguage && !nativeQueries;
|
|
330
|
+
if (args.bloomFilterCache && !nativeSourceLimitSkip) {
|
|
329
331
|
const filter = prepared.workerBloomFilter
|
|
330
332
|
? BloomFilter.fromBuffer(Buffer.from(prepared.workerBloomFilter.bits), prepared.workerBloomFilter.size, prepared.workerBloomFilter.hashCount, prepared.workerBloomFilter.itemCount)
|
|
331
333
|
: buildBloomFilterFromSource(source, sup);
|
|
@@ -337,12 +339,11 @@ async function buildIndexedModuleForFile(args) {
|
|
|
337
339
|
graphOptions: args.graphOptions,
|
|
338
340
|
...(args.workspaceConfig ? { workspaceConfig: args.workspaceConfig } : {}),
|
|
339
341
|
...(args.matchPath ? { matchPath: args.matchPath } : {}),
|
|
340
|
-
...(args.opts?.native ? { native: args.opts.native } : {}),
|
|
341
342
|
...(args.opts?.logLevel ? { logLevel: args.opts.logLevel } : {}),
|
|
342
343
|
...(args.opts?.languageExtensions ? { languageExtensions: args.opts.languageExtensions } : {}),
|
|
343
|
-
...(args.
|
|
344
|
+
...(args.report ? { report: args.report } : {}),
|
|
344
345
|
};
|
|
345
|
-
const imports =
|
|
346
|
+
const imports = nativeSourceLimitSkip || sup.id === "sql"
|
|
346
347
|
? []
|
|
347
348
|
: await collectImportsForFile(args.file, args.projectRoot, {
|
|
348
349
|
source,
|
|
@@ -350,12 +351,14 @@ async function buildIndexedModuleForFile(args) {
|
|
|
350
351
|
...(nativeQueries !== undefined ? { nativeQueries } : {}),
|
|
351
352
|
...sharedImportOptions,
|
|
352
353
|
});
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
354
|
+
if (!nativeSourceLimitSkip) {
|
|
355
|
+
for (const block of embeddedBlocks ?? []) {
|
|
356
|
+
imports.push(...(await collectImportsForFile(args.file, args.projectRoot, {
|
|
357
|
+
source: block.source,
|
|
358
|
+
sup: block.sup,
|
|
359
|
+
...sharedImportOptions,
|
|
360
|
+
})));
|
|
361
|
+
}
|
|
359
362
|
}
|
|
360
363
|
collectJsonDependencies(imports, args.jsonDependencies);
|
|
361
364
|
let mod;
|
|
@@ -369,7 +372,6 @@ async function buildIndexedModuleForFile(args) {
|
|
|
369
372
|
mod = collectLocalsAndExportsFromSource(args.file, source, sup, imports, {
|
|
370
373
|
...(tree ? { tree } : {}),
|
|
371
374
|
...(nativeQueries !== undefined ? { nativeQueries } : {}),
|
|
372
|
-
...(args.opts?.native ? { nativeMode: args.opts.native } : {}),
|
|
373
375
|
...(args.opts?.logLevel ? { logLevel: args.opts.logLevel } : {}),
|
|
374
376
|
});
|
|
375
377
|
}
|
|
@@ -532,7 +534,7 @@ async function specifierResolutionChanged(file, entry, projectRoot, workspaceCon
|
|
|
532
534
|
return false;
|
|
533
535
|
}
|
|
534
536
|
async function moduleCacheSignatureForFile(file, sigInfo, opts, resolverEnvironmentFingerprint) {
|
|
535
|
-
const baseSignature = await cacheSignatureForFile(file, sigInfo
|
|
537
|
+
const baseSignature = await cacheSignatureForFile(file, sigInfo);
|
|
536
538
|
const normalizedExtensions = normalizeLanguageExtensions(opts?.languageExtensions);
|
|
537
539
|
const normalizedGraphOptions = normalizeGraphOptions(opts?.graph);
|
|
538
540
|
const resolveNodeModules = normalizedGraphOptions.resolveNodeModules;
|
|
@@ -596,7 +598,6 @@ function createIndexBuildRunState(projectRoot, opts, graphOptions = normalizeGra
|
|
|
596
598
|
cacheMode,
|
|
597
599
|
cacheEnabled: cacheMode !== "off",
|
|
598
600
|
graphOptions,
|
|
599
|
-
onFallbackImportExtraction: createFallbackImportExtractionHandler(report, opts),
|
|
600
601
|
};
|
|
601
602
|
}
|
|
602
603
|
function emitIndexLifecycleProgress(opts, phase, mode, total, elapsedMs) {
|
|
@@ -965,17 +966,54 @@ async function collectStaleCachedModules(args) {
|
|
|
965
966
|
}
|
|
966
967
|
}
|
|
967
968
|
}
|
|
969
|
+
// A package star depends on every package file, not just its representative edge. A type
|
|
970
|
+
// wildcard (`import p.C.*` naming class `p.C`) turns into a package star once package `p.C` exists.
|
|
971
|
+
const isJvmFile = (file) => {
|
|
972
|
+
const languageId = supportForFileWithoutHeaderSample(file, args.opts?.languageExtensions)?.id;
|
|
973
|
+
return languageId === "java" || languageId === "kotlin";
|
|
974
|
+
};
|
|
975
|
+
const dependsOnJvmPackage = (imp) => imp.kind === "star" && (!!imp.jvmPackageFiles || !!imp.jvmTypeWildcardName || typeof imp.resolved !== "string");
|
|
976
|
+
if (args.cacheMisses.added.some(isJvmFile) || args.cacheMisses.changed.some(isJvmFile)) {
|
|
977
|
+
const packageImporters = [];
|
|
978
|
+
for (const [file, cached] of cachedModules) {
|
|
979
|
+
if (stale.has(file) || !isJvmFile(file))
|
|
980
|
+
continue;
|
|
981
|
+
if (cached.mod.imports.some(dependsOnJvmPackage))
|
|
982
|
+
packageImporters.push([file, cached.mod]);
|
|
983
|
+
}
|
|
984
|
+
const changed = await mapLimit(packageImporters, args.concurrency, async ([file, mod]) => {
|
|
985
|
+
for (const imp of mod.imports) {
|
|
986
|
+
if (imp.kind !== "star" || !dependsOnJvmPackage(imp))
|
|
987
|
+
continue;
|
|
988
|
+
const current = await resolveJvmPackageImportPaths(args.projectRoot, imp.from, file);
|
|
989
|
+
const previous = imp.jvmPackageFiles ?? [];
|
|
990
|
+
if (current.length !== previous.length ||
|
|
991
|
+
current.some((target, index) => fileIdentityKey(target) !== fileIdentityKey(previous[index]))) {
|
|
992
|
+
return true;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
return false;
|
|
996
|
+
});
|
|
997
|
+
packageImporters.forEach(([file], index) => {
|
|
998
|
+
if (changed[index])
|
|
999
|
+
stale.add(file);
|
|
1000
|
+
});
|
|
1001
|
+
}
|
|
968
1002
|
return { stale, deletedDeclarationFiles };
|
|
969
1003
|
}
|
|
970
|
-
/**
|
|
971
|
-
* Languages that resolve imports through the declarations of other files
|
|
972
|
-
* (C# namespaces, JVM packages, PHP namespaces, C++ named modules).
|
|
973
|
-
* A content change in a dependency can move the target.
|
|
974
|
-
*/
|
|
975
|
-
const DECLARATION_RESOLVED_IMPORT_LANGUAGES = new Set(["cpp", "csharp", "java", "kotlin", "php"]);
|
|
976
|
-
/** Files a cached module resolved: import targets and re-export sources. */
|
|
1004
|
+
/** Files a cached module depends on, including every JVM wildcard package file. */
|
|
977
1005
|
function cachedModuleTargets(mod) {
|
|
978
|
-
const targets =
|
|
1006
|
+
const targets = [];
|
|
1007
|
+
for (const binding of mod.imports) {
|
|
1008
|
+
if (typeof binding.resolved === "string")
|
|
1009
|
+
targets.push(binding.resolved);
|
|
1010
|
+
if (binding.kind !== "star" || !binding.jvmPackageFiles)
|
|
1011
|
+
continue;
|
|
1012
|
+
for (const file of binding.jvmPackageFiles) {
|
|
1013
|
+
if (file !== binding.resolved)
|
|
1014
|
+
targets.push(file);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
979
1017
|
for (const entry of mod.exports) {
|
|
980
1018
|
if (entry.type === "local" || !entry.moduleSpecifier || entry.fromModule === entry.moduleSpecifier)
|
|
981
1019
|
continue;
|
|
@@ -1009,9 +1047,10 @@ async function cachedModulesWithMissingTargets(cachedModules, concurrency) {
|
|
|
1009
1047
|
return missing;
|
|
1010
1048
|
}
|
|
1011
1049
|
async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperOpts) {
|
|
1050
|
+
assertNativeRequiredAvailable();
|
|
1012
1051
|
clearResolutionCaches();
|
|
1013
1052
|
await initializeFileIdentityCaseSensitivity(projectRoot);
|
|
1014
|
-
const { normalizedProjectRoot, report, timings, totalStart, cacheEnabled, graphOptions
|
|
1053
|
+
const { normalizedProjectRoot, report, timings, totalStart, cacheEnabled, graphOptions } = createIndexBuildRunState(projectRoot, opts);
|
|
1015
1054
|
const manifestMode = helperOpts?.manifestMode ?? "off";
|
|
1016
1055
|
const useManifest = manifestMode !== "off";
|
|
1017
1056
|
const shouldWriteManifest = manifestMode === "read-write";
|
|
@@ -1295,13 +1334,8 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1295
1334
|
let edges = [];
|
|
1296
1335
|
if (mod && edgesCached) {
|
|
1297
1336
|
edges = await collectEdgesForFile(file, projectRoot, workspaceConfig, {
|
|
1298
|
-
fast: !!graphOptions.fast,
|
|
1299
|
-
...(graphOptions.fastRegexDisabledLanguages
|
|
1300
|
-
? { fastRegexDisabledLanguages: graphOptions.fastRegexDisabledLanguages }
|
|
1301
|
-
: {}),
|
|
1302
1337
|
resolveNodeModules: !!graphOptions.resolveNodeModules,
|
|
1303
1338
|
dynamicImportHeuristics: !!graphOptions.dynamicImportHeuristics,
|
|
1304
|
-
...(opts?.native ? { native: opts.native } : {}),
|
|
1305
1339
|
...(opts?.languageExtensions ? { languageExtensions: opts.languageExtensions } : {}),
|
|
1306
1340
|
...(opts?.logLevel ? { logLevel: opts.logLevel } : {}),
|
|
1307
1341
|
...(graphOptions.resolutionHints ? { resolutionHints: graphOptions.resolutionHints } : {}),
|
|
@@ -1310,7 +1344,6 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1310
1344
|
...(cachedEdgesEntry ? { cachedFileEdges: cachedEdgesEntry } : {}),
|
|
1311
1345
|
...(manifest?.projectRoot ? { cachedFileEdgesProjectRoot: manifest.projectRoot } : {}),
|
|
1312
1346
|
...(onFileEdges ? { onFileEdges } : {}),
|
|
1313
|
-
...(onFallbackImportExtraction ? { onFallbackImportExtraction } : {}),
|
|
1314
1347
|
allFiles: normalizedFiles,
|
|
1315
1348
|
...(sqlFactCache ? { sqlFactCache } : {}),
|
|
1316
1349
|
});
|
|
@@ -1352,7 +1385,6 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1352
1385
|
parsedCacheMaxEntries: parsedCacheMaxEntries(opts),
|
|
1353
1386
|
jsonDependencies,
|
|
1354
1387
|
bloomFilterCache,
|
|
1355
|
-
onFallbackImportExtraction,
|
|
1356
1388
|
fileSignatures,
|
|
1357
1389
|
cacheEnabled,
|
|
1358
1390
|
...(confinedRoot ? { confinedRoot, trustedSource: trustedSources?.get(file) } : {}),
|
|
@@ -1366,13 +1398,8 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1366
1398
|
}
|
|
1367
1399
|
edges = await collectEdgesForFile(file, projectRoot, workspaceConfig, {
|
|
1368
1400
|
...(graphContext ? { parsed: graphContext } : {}),
|
|
1369
|
-
fast: !!graphOptions.fast,
|
|
1370
|
-
...(graphOptions.fastRegexDisabledLanguages
|
|
1371
|
-
? { fastRegexDisabledLanguages: graphOptions.fastRegexDisabledLanguages }
|
|
1372
|
-
: {}),
|
|
1373
1401
|
resolveNodeModules: !!graphOptions.resolveNodeModules,
|
|
1374
1402
|
dynamicImportHeuristics: !!graphOptions.dynamicImportHeuristics,
|
|
1375
|
-
...(opts?.native ? { native: opts.native } : {}),
|
|
1376
1403
|
...(opts?.languageExtensions ? { languageExtensions: opts.languageExtensions } : {}),
|
|
1377
1404
|
...(opts?.logLevel ? { logLevel: opts.logLevel } : {}),
|
|
1378
1405
|
...(graphOptions.resolutionHints ? { resolutionHints: graphOptions.resolutionHints } : {}),
|
|
@@ -1381,7 +1408,6 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1381
1408
|
...(cachedEdgesEntry ? { cachedFileEdges: cachedEdgesEntry } : {}),
|
|
1382
1409
|
...(manifest?.projectRoot ? { cachedFileEdgesProjectRoot: manifest.projectRoot } : {}),
|
|
1383
1410
|
...(onFileEdges ? { onFileEdges } : {}),
|
|
1384
|
-
...(onFallbackImportExtraction ? { onFallbackImportExtraction } : {}),
|
|
1385
1411
|
allFiles: normalizedFiles,
|
|
1386
1412
|
...(sqlFactCache ? { sqlFactCache } : {}),
|
|
1387
1413
|
});
|
|
@@ -1578,6 +1604,7 @@ async function buildIndexFromFileListShared(projectRoot, rawFiles, opts, helperO
|
|
|
1578
1604
|
}
|
|
1579
1605
|
}
|
|
1580
1606
|
async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpts) {
|
|
1607
|
+
assertNativeRequiredAvailable();
|
|
1581
1608
|
const timings = opts?.report ? (opts.report.timings ??= {}) : undefined;
|
|
1582
1609
|
const discoveryContext = helperOpts?.discoveryContext;
|
|
1583
1610
|
await initializeFileIdentityCaseSensitivity(projectRoot);
|
|
@@ -1700,6 +1727,7 @@ export async function buildProjectIndex(projectRoot, opts) {
|
|
|
1700
1727
|
* under the project root.
|
|
1701
1728
|
*/
|
|
1702
1729
|
export async function buildProjectIndexFromFiles(projectRoot, inputFiles, rawOpts) {
|
|
1730
|
+
assertNativeRequiredAvailable();
|
|
1703
1731
|
// Discovery, manifest loading, and cache checks all precede file processing, so stamp the
|
|
1704
1732
|
// operation origin here and let the completion event report the caller's whole wait.
|
|
1705
1733
|
const opts = { ...rawOpts, progressStartedAt: rawOpts?.progressStartedAt ?? performance.now() };
|
|
@@ -1755,6 +1783,7 @@ async function buildDeclaredScopeIndex(projectRoot, scopeFiles, opts, helperOpts
|
|
|
1755
1783
|
* sentinels for review-agent workflows that analyze uncommitted changes.
|
|
1756
1784
|
*/
|
|
1757
1785
|
export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
1786
|
+
assertNativeRequiredAvailable();
|
|
1758
1787
|
const opts = {
|
|
1759
1788
|
...rawOpts,
|
|
1760
1789
|
progressStartedAt: rawOpts?.progressStartedAt ?? performance.now(),
|
|
@@ -1767,10 +1796,7 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
1767
1796
|
clearResolutionCaches();
|
|
1768
1797
|
});
|
|
1769
1798
|
const graphOptions = normalizeGraphOptions(opts?.graph);
|
|
1770
|
-
const
|
|
1771
|
-
if (strictIncremental && graphOptions.fast)
|
|
1772
|
-
graphOptions.fast = false;
|
|
1773
|
-
const { normalizedProjectRoot, report, timings, totalStart, cacheMode, cacheEnabled, onFallbackImportExtraction } = createIndexBuildRunState(projectRoot, opts, graphOptions);
|
|
1799
|
+
const { normalizedProjectRoot, report, timings, totalStart, cacheMode, cacheEnabled } = createIndexBuildRunState(projectRoot, opts, graphOptions);
|
|
1774
1800
|
let checkProgressActive = false;
|
|
1775
1801
|
const startCheckProgress = () => {
|
|
1776
1802
|
if (checkProgressActive)
|
|
@@ -2102,7 +2128,6 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2102
2128
|
modules: new Map(),
|
|
2103
2129
|
byFile: new Map(),
|
|
2104
2130
|
projectRoot: normalizedProjectRoot,
|
|
2105
|
-
...(opts?.native ? { nativeMode: opts.native } : {}),
|
|
2106
2131
|
exportCache: new Map(),
|
|
2107
2132
|
scopeCache: new Map(),
|
|
2108
2133
|
parsed: new Map(),
|
|
@@ -2174,8 +2199,6 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2174
2199
|
if (report) {
|
|
2175
2200
|
if (snapshotLoad.analysisReport?.backend)
|
|
2176
2201
|
report.backend = snapshotLoad.analysisReport.backend;
|
|
2177
|
-
if (snapshotLoad.analysisReport?.graph)
|
|
2178
|
-
report.graph = snapshotLoad.analysisReport.graph;
|
|
2179
2202
|
if (!report.backend)
|
|
2180
2203
|
initNativeBackendReport(report);
|
|
2181
2204
|
snapshot.buildReport = report;
|
|
@@ -2426,7 +2449,6 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2426
2449
|
parsedCacheMaxEntries: parsedCacheMaxEntries(opts),
|
|
2427
2450
|
jsonDependencies,
|
|
2428
2451
|
bloomFilterCache,
|
|
2429
|
-
onFallbackImportExtraction,
|
|
2430
2452
|
fileSignatures,
|
|
2431
2453
|
cacheEnabled,
|
|
2432
2454
|
...(resolverEnvironmentFingerprint !== undefined ? { resolverEnvironmentFingerprint } : {}),
|
|
@@ -2511,13 +2533,8 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2511
2533
|
? { nodes: new Set(baseGraph.nodes), edges: [...baseGraph.edges] }
|
|
2512
2534
|
: await collectGraph(projectRoot, filesList, {
|
|
2513
2535
|
parsed: parsedMap,
|
|
2514
|
-
fast: !!graphOptions.fast,
|
|
2515
|
-
...(graphOptions.fastRegexDisabledLanguages
|
|
2516
|
-
? { fastRegexDisabledLanguages: graphOptions.fastRegexDisabledLanguages }
|
|
2517
|
-
: {}),
|
|
2518
2536
|
resolveNodeModules: !!graphOptions.resolveNodeModules,
|
|
2519
2537
|
dynamicImportHeuristics: !!graphOptions.dynamicImportHeuristics,
|
|
2520
|
-
...(opts?.native ? { native: opts.native } : {}),
|
|
2521
2538
|
...(opts?.languageExtensions ? { languageExtensions: opts.languageExtensions } : {}),
|
|
2522
2539
|
threads: conc,
|
|
2523
2540
|
...(opts?.logLevel ? { logLevel: opts.logLevel } : {}),
|
|
@@ -2525,7 +2542,6 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2525
2542
|
allFiles: Array.from(allFiles),
|
|
2526
2543
|
fileSignatures,
|
|
2527
2544
|
cachedFileEdges: cachedGraphEntries,
|
|
2528
|
-
...(onFallbackImportExtraction ? { onFallbackImportExtraction } : {}),
|
|
2529
2545
|
...(baseGraph ? { baseGraph } : {}),
|
|
2530
2546
|
replaceFiles: new Set(changedFiles),
|
|
2531
2547
|
onFileEdges: (file, entry) => {
|
|
@@ -2641,6 +2657,7 @@ export async function buildProjectIndexIncremental(projectRoot, rawOpts) {
|
|
|
2641
2657
|
}
|
|
2642
2658
|
}
|
|
2643
2659
|
export async function buildGraphDelta(projectRoot, opts) {
|
|
2660
|
+
assertNativeRequiredAvailable();
|
|
2644
2661
|
const manifest = await loadManifest(projectRoot, opts);
|
|
2645
2662
|
const trackedEntries = sanitizeManifestEntriesForRoot(projectRoot, manifest?.files);
|
|
2646
2663
|
const graphOptions = normalizeGraphOptions(opts?.graph);
|
|
@@ -2650,9 +2667,6 @@ export async function buildGraphDelta(projectRoot, opts) {
|
|
|
2650
2667
|
? diffBuildOptions(manifest.buildOptions, opts).includes("languageExtensions")
|
|
2651
2668
|
: false;
|
|
2652
2669
|
const languageSupportChangedForFile = (file) => supportForFile(file, previousLanguageExtensions)?.id !== supportForFile(file, currentLanguageExtensions)?.id;
|
|
2653
|
-
const strictIncremental = opts?.incrementalStrict ?? false;
|
|
2654
|
-
if (strictIncremental && graphOptions.fast)
|
|
2655
|
-
graphOptions.fast = false;
|
|
2656
2670
|
const explicitFiles = await normalizeIndexedFileInputsWithinRoot(projectRoot, opts?.files ?? [], "Graph delta file");
|
|
2657
2671
|
const additionalFiles = await normalizeIndexedFileInputsWithinRoot(projectRoot, opts?.additionalFiles ?? [], "Additional graph delta file");
|
|
2658
2672
|
const needsGitScan = !!opts?.gitBase || !!opts?.changedSince;
|