homegraph 1.2.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -11
- package/dist/bin/homegraph.js +298 -72
- package/dist/bin/homegraph.js.map +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +117 -11
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts +207 -6
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +461 -20
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +19 -1
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +157 -3
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +426 -9
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +32 -1
- package/dist/db/sqlite-adapter.d.ts +24 -17
- package/dist/db/sqlite-adapter.d.ts.map +1 -1
- package/dist/db/sqlite-adapter.js +292 -36
- package/dist/db/sqlite-adapter.js.map +1 -1
- package/dist/db/wal-valve.d.ts +119 -0
- package/dist/db/wal-valve.d.ts.map +1 -0
- package/dist/db/wal-valve.js +290 -0
- package/dist/db/wal-valve.js.map +1 -0
- package/dist/directory.d.ts +9 -5
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +210 -19
- package/dist/directory.js.map +1 -1
- package/dist/extraction/arkts-batch-worker.js +3 -2
- package/dist/extraction/arkts-batch-worker.js.map +1 -1
- package/dist/extraction/cfml-extractor.d.ts +107 -0
- package/dist/extraction/cfml-extractor.d.ts.map +1 -0
- package/dist/extraction/cfml-extractor.js +494 -0
- package/dist/extraction/cfml-extractor.js.map +1 -0
- package/dist/extraction/default-ignore.d.ts +39 -0
- package/dist/extraction/default-ignore.d.ts.map +1 -0
- package/dist/extraction/default-ignore.js +221 -0
- package/dist/extraction/default-ignore.js.map +1 -0
- package/dist/extraction/grammars.d.ts +25 -1
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +177 -24
- package/dist/extraction/grammars.js.map +1 -1
- package/dist/extraction/index.d.ts +52 -14
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +521 -314
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +90 -6
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +1579 -128
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/extraction/languages/c-cpp.d.ts +42 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
- package/dist/extraction/languages/c-cpp.js +369 -4
- package/dist/extraction/languages/c-cpp.js.map +1 -1
- package/dist/extraction/languages/cfquery.d.ts +12 -0
- package/dist/extraction/languages/cfquery.d.ts.map +1 -0
- package/dist/extraction/languages/cfquery.js +28 -0
- package/dist/extraction/languages/cfquery.js.map +1 -0
- package/dist/extraction/languages/cfscript.d.ts +3 -0
- package/dist/extraction/languages/cfscript.d.ts.map +1 -0
- package/dist/extraction/languages/cfscript.js +73 -0
- package/dist/extraction/languages/cfscript.js.map +1 -0
- package/dist/extraction/languages/cobol.d.ts +33 -0
- package/dist/extraction/languages/cobol.d.ts.map +1 -0
- package/dist/extraction/languages/cobol.js +499 -0
- package/dist/extraction/languages/cobol.js.map +1 -0
- package/dist/extraction/languages/erlang.d.ts +3 -0
- package/dist/extraction/languages/erlang.d.ts.map +1 -0
- package/dist/extraction/languages/erlang.js +350 -0
- package/dist/extraction/languages/erlang.js.map +1 -0
- package/dist/extraction/languages/index.d.ts.map +1 -1
- package/dist/extraction/languages/index.js +16 -0
- package/dist/extraction/languages/index.js.map +1 -1
- package/dist/extraction/languages/nix.d.ts +3 -0
- package/dist/extraction/languages/nix.d.ts.map +1 -0
- package/dist/extraction/languages/nix.js +294 -0
- package/dist/extraction/languages/nix.js.map +1 -0
- package/dist/extraction/languages/solidity.d.ts +3 -0
- package/dist/extraction/languages/solidity.d.ts.map +1 -0
- package/dist/extraction/languages/solidity.js +293 -0
- package/dist/extraction/languages/solidity.js.map +1 -0
- package/dist/extraction/languages/terraform.d.ts +3 -0
- package/dist/extraction/languages/terraform.d.ts.map +1 -0
- package/dist/extraction/languages/terraform.js +641 -0
- package/dist/extraction/languages/terraform.js.map +1 -0
- package/dist/extraction/languages/vbnet.d.ts +11 -0
- package/dist/extraction/languages/vbnet.d.ts.map +1 -0
- package/dist/extraction/languages/vbnet.js +141 -0
- package/dist/extraction/languages/vbnet.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +30 -10
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -1
- package/dist/extraction/mybatis-extractor.js +140 -38
- package/dist/extraction/mybatis-extractor.js.map +1 -1
- package/dist/extraction/parse-pool.d.ts +27 -1
- package/dist/extraction/parse-pool.d.ts.map +1 -1
- package/dist/extraction/parse-pool.js +75 -7
- package/dist/extraction/parse-pool.js.map +1 -1
- package/dist/extraction/parse-worker.js +9 -2
- package/dist/extraction/parse-worker.js.map +1 -1
- package/dist/extraction/store-worker.d.ts +20 -0
- package/dist/extraction/store-worker.d.ts.map +1 -0
- package/dist/extraction/store-worker.js +102 -0
- package/dist/extraction/store-worker.js.map +1 -0
- package/dist/extraction/store-writer.d.ts +48 -0
- package/dist/extraction/store-writer.d.ts.map +1 -0
- package/dist/extraction/store-writer.js +167 -0
- package/dist/extraction/store-writer.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
- package/dist/extraction/tree-sitter-helpers.js +1 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -1
- package/dist/extraction/tree-sitter-types.d.ts +3 -1
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.d.ts +38 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +801 -10
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +14 -4
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
- package/dist/extraction/wasm-runtime-flags.js +55 -7
- package/dist/extraction/wasm-runtime-flags.js.map +1 -1
- package/dist/graph/traversal.d.ts.map +1 -1
- package/dist/graph/traversal.js +1 -1
- package/dist/graph/traversal.js.map +1 -1
- package/dist/index.d.ts +74 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +436 -55
- package/dist/index.js.map +1 -1
- package/dist/installer/index.d.ts +42 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +97 -2
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/daemon.d.ts +25 -3
- package/dist/mcp/daemon.d.ts.map +1 -1
- package/dist/mcp/daemon.js +62 -8
- package/dist/mcp/daemon.js.map +1 -1
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -1
- package/dist/mcp/dynamic-boundaries.js +2 -1
- package/dist/mcp/dynamic-boundaries.js.map +1 -1
- package/dist/mcp/early-ppid.d.ts +26 -0
- package/dist/mcp/early-ppid.d.ts.map +1 -0
- package/dist/mcp/early-ppid.js +29 -0
- package/dist/mcp/early-ppid.js.map +1 -0
- package/dist/mcp/engine.d.ts +4 -5
- package/dist/mcp/engine.d.ts.map +1 -1
- package/dist/mcp/engine.js +27 -1
- package/dist/mcp/engine.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +41 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/liveness-watchdog.d.ts +18 -1
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -1
- package/dist/mcp/liveness-watchdog.js +73 -13
- package/dist/mcp/liveness-watchdog.js.map +1 -1
- package/dist/mcp/memory-budget.d.ts +30 -0
- package/dist/mcp/memory-budget.d.ts.map +1 -0
- package/dist/mcp/memory-budget.js +123 -0
- package/dist/mcp/memory-budget.js.map +1 -0
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +88 -4
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/query-cache.d.ts +35 -4
- package/dist/mcp/query-cache.d.ts.map +1 -1
- package/dist/mcp/query-cache.js +89 -19
- package/dist/mcp/query-cache.js.map +1 -1
- package/dist/mcp/query-pool.d.ts +46 -12
- package/dist/mcp/query-pool.d.ts.map +1 -1
- package/dist/mcp/query-pool.js +100 -23
- package/dist/mcp/query-pool.js.map +1 -1
- package/dist/mcp/query-worker.d.ts +2 -2
- package/dist/mcp/query-worker.js +2 -2
- package/dist/mcp/server-instructions.d.ts +4 -27
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +39 -84
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/session.d.ts +14 -0
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +28 -1
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/startup-handshake.d.ts +44 -0
- package/dist/mcp/startup-handshake.d.ts.map +1 -0
- package/dist/mcp/startup-handshake.js +73 -0
- package/dist/mcp/startup-handshake.js.map +1 -0
- package/dist/mcp/tools.d.ts +104 -4
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +2432 -217
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transport.d.ts.map +1 -1
- package/dist/mcp/transport.js +18 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/project-config.d.ts +38 -0
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +101 -2
- package/dist/project-config.js.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts +2 -1
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -1
- package/dist/resolution/c-fnptr-synthesizer.js +178 -146
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +54 -10
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +1299 -257
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/cooperative-yield.d.ts +10 -2
- package/dist/resolution/cooperative-yield.d.ts.map +1 -1
- package/dist/resolution/cooperative-yield.js +6 -4
- package/dist/resolution/cooperative-yield.js.map +1 -1
- package/dist/resolution/frameworks/cics.d.ts +20 -0
- package/dist/resolution/frameworks/cics.d.ts.map +1 -0
- package/dist/resolution/frameworks/cics.js +90 -0
- package/dist/resolution/frameworks/cics.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -1
- package/dist/resolution/frameworks/go.js +29 -6
- package/dist/resolution/frameworks/go.js.map +1 -1
- package/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/dist/resolution/frameworks/index.js +3 -0
- package/dist/resolution/frameworks/index.js.map +1 -1
- package/dist/resolution/frameworks/java.d.ts.map +1 -1
- package/dist/resolution/frameworks/java.js +14 -6
- package/dist/resolution/frameworks/java.js.map +1 -1
- package/dist/resolution/frameworks/terraform.d.ts +38 -0
- package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
- package/dist/resolution/frameworks/terraform.js +277 -0
- package/dist/resolution/frameworks/terraform.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +2 -1
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -1
- package/dist/resolution/goframe-synthesizer.js +8 -3
- package/dist/resolution/goframe-synthesizer.js.map +1 -1
- package/dist/resolution/import-resolver.d.ts +9 -3
- package/dist/resolution/import-resolver.d.ts.map +1 -1
- package/dist/resolution/import-resolver.js +295 -11
- package/dist/resolution/import-resolver.js.map +1 -1
- package/dist/resolution/index.d.ts +146 -8
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +1089 -131
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/memory-budget.d.ts +48 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -0
- package/dist/resolution/memory-budget.js +162 -0
- package/dist/resolution/memory-budget.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +12 -4
- package/dist/resolution/name-matcher.d.ts.map +1 -1
- package/dist/resolution/name-matcher.js +793 -130
- package/dist/resolution/name-matcher.js.map +1 -1
- package/dist/resolution/resolver-pool.d.ts +106 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -0
- package/dist/resolution/resolver-pool.js +344 -0
- package/dist/resolution/resolver-pool.js.map +1 -0
- package/dist/resolution/resolver-worker.d.ts +17 -0
- package/dist/resolution/resolver-worker.d.ts.map +1 -0
- package/dist/resolution/resolver-worker.js +141 -0
- package/dist/resolution/resolver-worker.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +1 -1
- package/dist/resolution/strip-comments.d.ts.map +1 -1
- package/dist/resolution/strip-comments.js +49 -0
- package/dist/resolution/strip-comments.js.map +1 -1
- package/dist/resolution/types.d.ts +32 -0
- package/dist/resolution/types.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.d.ts +10 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -1
- package/dist/resolution/workspace-packages.js +142 -4
- package/dist/resolution/workspace-packages.js.map +1 -1
- package/dist/search/identifier-segments.d.ts +60 -0
- package/dist/search/identifier-segments.d.ts.map +1 -0
- package/dist/search/identifier-segments.js +176 -0
- package/dist/search/identifier-segments.js.map +1 -0
- package/dist/search/query-utils.d.ts +201 -0
- package/dist/search/query-utils.d.ts.map +1 -1
- package/dist/search/query-utils.js +919 -2
- package/dist/search/query-utils.js.map +1 -1
- package/dist/spec/build/diff-parser.d.ts +55 -0
- package/dist/spec/build/diff-parser.d.ts.map +1 -0
- package/dist/spec/build/diff-parser.js +205 -0
- package/dist/spec/build/diff-parser.js.map +1 -0
- package/dist/spec/build/git-scanner.d.ts +93 -0
- package/dist/spec/build/git-scanner.d.ts.map +1 -0
- package/dist/spec/build/git-scanner.js +254 -0
- package/dist/spec/build/git-scanner.js.map +1 -0
- package/dist/spec/build/pipeline.d.ts +54 -0
- package/dist/spec/build/pipeline.d.ts.map +1 -0
- package/dist/spec/build/pipeline.js +170 -0
- package/dist/spec/build/pipeline.js.map +1 -0
- package/dist/spec/build/scan.d.ts +48 -0
- package/dist/spec/build/scan.d.ts.map +1 -0
- package/dist/spec/build/scan.js +89 -0
- package/dist/spec/build/scan.js.map +1 -0
- package/dist/spec/build/scope-resolver.d.ts +50 -0
- package/dist/spec/build/scope-resolver.d.ts.map +1 -0
- package/dist/spec/build/scope-resolver.js +105 -0
- package/dist/spec/build/scope-resolver.js.map +1 -0
- package/dist/spec/build/spec-extractor.d.ts +74 -0
- package/dist/spec/build/spec-extractor.d.ts.map +1 -0
- package/dist/spec/build/spec-extractor.js +344 -0
- package/dist/spec/build/spec-extractor.js.map +1 -0
- package/dist/spec/config.d.ts +35 -1
- package/dist/spec/config.d.ts.map +1 -1
- package/dist/spec/config.js +30 -5
- package/dist/spec/config.js.map +1 -1
- package/dist/spec/db/fts.d.ts.map +1 -1
- package/dist/spec/db/fts.js +19 -50
- package/dist/spec/db/fts.js.map +1 -1
- package/dist/spec/db/index.d.ts +5 -3
- package/dist/spec/db/index.d.ts.map +1 -1
- package/dist/spec/db/index.js +16 -1
- package/dist/spec/db/index.js.map +1 -1
- package/dist/spec/db/persist.d.ts +45 -0
- package/dist/spec/db/persist.d.ts.map +1 -0
- package/dist/spec/db/persist.js +66 -0
- package/dist/spec/db/persist.js.map +1 -0
- package/dist/spec/db/relations.d.ts +80 -1
- package/dist/spec/db/relations.d.ts.map +1 -1
- package/dist/spec/db/relations.js +175 -4
- package/dist/spec/db/relations.js.map +1 -1
- package/dist/spec/db/schema.d.ts +4 -0
- package/dist/spec/db/schema.d.ts.map +1 -1
- package/dist/spec/db/schema.js +4 -0
- package/dist/spec/db/schema.js.map +1 -1
- package/dist/spec/db/schema.sql +5 -1
- package/dist/spec/db/spec-node.d.ts +5 -0
- package/dist/spec/db/spec-node.d.ts.map +1 -1
- package/dist/spec/db/spec-node.js +11 -5
- package/dist/spec/db/spec-node.js.map +1 -1
- package/dist/spec/db/sql-utils.d.ts +11 -0
- package/dist/spec/db/sql-utils.d.ts.map +1 -0
- package/dist/spec/db/sql-utils.js +19 -0
- package/dist/spec/db/sql-utils.js.map +1 -0
- package/dist/spec/evolve/cluster-context.d.ts +30 -0
- package/dist/spec/evolve/cluster-context.d.ts.map +1 -0
- package/dist/spec/evolve/cluster-context.js +78 -0
- package/dist/spec/evolve/cluster-context.js.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts +51 -0
- package/dist/spec/evolve/commit-spec-analyzer.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-analyzer.js +88 -0
- package/dist/spec/evolve/commit-spec-analyzer.js.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts +53 -0
- package/dist/spec/evolve/commit-spec-persister.d.ts.map +1 -0
- package/dist/spec/evolve/commit-spec-persister.js +93 -0
- package/dist/spec/evolve/commit-spec-persister.js.map +1 -0
- package/dist/spec/evolve/impact-locator.d.ts +23 -7
- package/dist/spec/evolve/impact-locator.d.ts.map +1 -1
- package/dist/spec/evolve/impact-locator.js +58 -14
- package/dist/spec/evolve/impact-locator.js.map +1 -1
- package/dist/spec/evolve/pipeline.d.ts +62 -25
- package/dist/spec/evolve/pipeline.d.ts.map +1 -1
- package/dist/spec/evolve/pipeline.js +436 -457
- package/dist/spec/evolve/pipeline.js.map +1 -1
- package/dist/spec/evolve/spec-rewriter.d.ts +13 -13
- package/dist/spec/evolve/spec-rewriter.d.ts.map +1 -1
- package/dist/spec/evolve/spec-rewriter.js +45 -45
- package/dist/spec/evolve/spec-rewriter.js.map +1 -1
- package/dist/spec/git/commits.d.ts +85 -0
- package/dist/spec/git/commits.d.ts.map +1 -0
- package/dist/spec/git/commits.js +218 -0
- package/dist/spec/git/commits.js.map +1 -0
- package/dist/spec/git/exec.d.ts +13 -0
- package/dist/spec/git/exec.d.ts.map +1 -0
- package/dist/spec/git/exec.js +19 -0
- package/dist/spec/git/exec.js.map +1 -0
- package/dist/spec/git/index.d.ts +9 -0
- package/dist/spec/git/index.d.ts.map +1 -0
- package/dist/spec/git/index.js +22 -0
- package/dist/spec/git/index.js.map +1 -0
- package/dist/spec/git-utils.d.ts +8 -0
- package/dist/spec/git-utils.d.ts.map +1 -0
- package/dist/spec/git-utils.js +14 -0
- package/dist/spec/git-utils.js.map +1 -0
- package/dist/spec/graph/index.d.ts +8 -0
- package/dist/spec/graph/index.d.ts.map +1 -0
- package/dist/spec/graph/index.js +17 -0
- package/dist/spec/graph/index.js.map +1 -0
- package/dist/spec/graph/queries.d.ts +6 -35
- package/dist/spec/graph/queries.d.ts.map +1 -1
- package/dist/spec/graph/queries.js +71 -248
- package/dist/spec/graph/queries.js.map +1 -1
- package/dist/spec/llm/agent-client.d.ts +59 -0
- package/dist/spec/llm/agent-client.d.ts.map +1 -0
- package/dist/spec/llm/agent-client.js +213 -0
- package/dist/spec/llm/agent-client.js.map +1 -0
- package/dist/spec/llm/agents/claude-code.d.ts +32 -0
- package/dist/spec/llm/agents/claude-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/claude-code.js +125 -0
- package/dist/spec/llm/agents/claude-code.js.map +1 -0
- package/dist/spec/llm/agents/codex.d.ts +32 -0
- package/dist/spec/llm/agents/codex.d.ts.map +1 -0
- package/dist/spec/llm/agents/codex.js +145 -0
- package/dist/spec/llm/agents/codex.js.map +1 -0
- package/dist/spec/llm/agents/detect-utils.d.ts +28 -0
- package/dist/spec/llm/agents/detect-utils.d.ts.map +1 -0
- package/dist/spec/llm/agents/detect-utils.js +91 -0
- package/dist/spec/llm/agents/detect-utils.js.map +1 -0
- package/dist/spec/llm/agents/deveco-code.d.ts +33 -0
- package/dist/spec/llm/agents/deveco-code.d.ts.map +1 -0
- package/dist/spec/llm/agents/deveco-code.js +165 -0
- package/dist/spec/llm/agents/deveco-code.js.map +1 -0
- package/dist/spec/llm/agents/index.d.ts +31 -0
- package/dist/spec/llm/agents/index.d.ts.map +1 -0
- package/dist/spec/llm/agents/index.js +65 -0
- package/dist/spec/llm/agents/index.js.map +1 -0
- package/dist/spec/llm/agents/types.d.ts +76 -0
- package/dist/spec/llm/agents/types.d.ts.map +1 -0
- package/dist/spec/llm/agents/types.js +15 -0
- package/dist/spec/llm/agents/types.js.map +1 -0
- package/dist/spec/llm/client.d.ts +31 -11
- package/dist/spec/llm/client.d.ts.map +1 -1
- package/dist/spec/llm/client.js +143 -81
- package/dist/spec/llm/client.js.map +1 -1
- package/dist/spec/llm/factory.d.ts +41 -0
- package/dist/spec/llm/factory.d.ts.map +1 -0
- package/dist/spec/llm/factory.js +80 -0
- package/dist/spec/llm/factory.js.map +1 -0
- package/dist/spec/llm/prompts.d.ts +24 -8
- package/dist/spec/llm/prompts.d.ts.map +1 -1
- package/dist/spec/llm/prompts.js +100 -50
- package/dist/spec/llm/prompts.js.map +1 -1
- package/dist/spec/llm/retry.d.ts +53 -0
- package/dist/spec/llm/retry.d.ts.map +1 -0
- package/dist/spec/llm/retry.js +153 -0
- package/dist/spec/llm/retry.js.map +1 -0
- package/dist/spec/mine/clusterer.d.ts +63 -0
- package/dist/spec/mine/clusterer.d.ts.map +1 -0
- package/dist/spec/mine/clusterer.js +904 -0
- package/dist/spec/mine/clusterer.js.map +1 -0
- package/dist/spec/mine/clustering/features.d.ts +38 -0
- package/dist/spec/mine/clustering/features.d.ts.map +1 -0
- package/dist/spec/mine/clustering/features.js +108 -0
- package/dist/spec/mine/clustering/features.js.map +1 -0
- package/dist/spec/mine/clustering/index.d.ts +62 -0
- package/dist/spec/mine/clustering/index.d.ts.map +1 -0
- package/dist/spec/mine/clustering/index.js +259 -0
- package/dist/spec/mine/clustering/index.js.map +1 -0
- package/dist/spec/mine/clustering/leiden.d.ts +61 -0
- package/dist/spec/mine/clustering/leiden.d.ts.map +1 -0
- package/dist/spec/mine/clustering/leiden.js +489 -0
- package/dist/spec/mine/clustering/leiden.js.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts +22 -0
- package/dist/spec/mine/clustering/text-similarity.d.ts.map +1 -0
- package/dist/spec/mine/clustering/text-similarity.js +98 -0
- package/dist/spec/mine/clustering/text-similarity.js.map +1 -0
- package/dist/spec/mine/generator.d.ts +54 -0
- package/dist/spec/mine/generator.d.ts.map +1 -0
- package/dist/spec/mine/generator.js +267 -0
- package/dist/spec/mine/generator.js.map +1 -0
- package/dist/spec/mine/persist.d.ts +37 -0
- package/dist/spec/mine/persist.d.ts.map +1 -0
- package/dist/spec/mine/persist.js +170 -0
- package/dist/spec/mine/persist.js.map +1 -0
- package/dist/spec/mine/pipeline.d.ts +41 -0
- package/dist/spec/mine/pipeline.d.ts.map +1 -0
- package/dist/spec/mine/pipeline.js +236 -0
- package/dist/spec/mine/pipeline.js.map +1 -0
- package/dist/spec/mine/progress-handler.d.ts +22 -0
- package/dist/spec/mine/progress-handler.d.ts.map +1 -0
- package/dist/spec/mine/progress-handler.js +108 -0
- package/dist/spec/mine/progress-handler.js.map +1 -0
- package/dist/spec/mine/progress.d.ts +23 -0
- package/dist/spec/mine/progress.d.ts.map +1 -0
- package/dist/spec/mine/progress.js +12 -0
- package/dist/spec/mine/progress.js.map +1 -0
- package/dist/spec/mine/scanner.d.ts +59 -0
- package/dist/spec/mine/scanner.d.ts.map +1 -0
- package/dist/spec/mine/scanner.js +383 -0
- package/dist/spec/mine/scanner.js.map +1 -0
- package/dist/spec/types.d.ts +32 -0
- package/dist/spec/types.d.ts.map +1 -1
- package/dist/spec/ui/index.d.ts +9 -0
- package/dist/spec/ui/index.d.ts.map +1 -0
- package/dist/spec/ui/index.js +16 -0
- package/dist/spec/ui/index.js.map +1 -0
- package/dist/spec/ui/progress-handler.d.ts +33 -0
- package/dist/spec/ui/progress-handler.d.ts.map +1 -0
- package/dist/spec/ui/progress-handler.js +132 -0
- package/dist/spec/ui/progress-handler.js.map +1 -0
- package/dist/spec/ui/progress.d.ts +24 -0
- package/dist/spec/ui/progress.d.ts.map +1 -0
- package/dist/spec/ui/progress.js +13 -0
- package/dist/spec/ui/progress.js.map +1 -0
- package/dist/spec/utils/fs.d.ts +45 -0
- package/dist/spec/utils/fs.d.ts.map +1 -0
- package/dist/spec/utils/fs.js +163 -0
- package/dist/spec/utils/fs.js.map +1 -0
- package/dist/spec/utils/index.d.ts +12 -0
- package/dist/spec/utils/index.d.ts.map +1 -0
- package/dist/spec/utils/index.js +26 -0
- package/dist/spec/utils/index.js.map +1 -0
- package/dist/spec/utils/meta.d.ts +32 -0
- package/dist/spec/utils/meta.d.ts.map +1 -0
- package/dist/spec/utils/meta.js +122 -0
- package/dist/spec/utils/meta.js.map +1 -0
- package/dist/spec/utils/truncate.d.ts +86 -0
- package/dist/spec/utils/truncate.d.ts.map +1 -0
- package/dist/spec/utils/truncate.js +172 -0
- package/dist/spec/utils/truncate.js.map +1 -0
- package/dist/spec/utils.d.ts +4 -16
- package/dist/spec/utils.d.ts.map +1 -1
- package/dist/spec/utils.js +6 -58
- package/dist/spec/utils.js.map +1 -1
- package/dist/sync/git-hooks.d.ts.map +1 -1
- package/dist/sync/git-hooks.js +2 -0
- package/dist/sync/git-hooks.js.map +1 -1
- package/dist/sync/watcher.d.ts +35 -6
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +127 -17
- package/dist/sync/watcher.js.map +1 -1
- package/dist/sync/worktree.d.ts.map +1 -1
- package/dist/sync/worktree.js +5 -0
- package/dist/sync/worktree.js.map +1 -1
- package/dist/telemetry/index.js +3 -3
- package/dist/telemetry/index.js.map +1 -1
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -1
- package/dist/upgrade/index.d.ts +32 -0
- package/dist/upgrade/index.d.ts.map +1 -1
- package/dist/upgrade/index.js +162 -14
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/remove-binary.d.ts +87 -0
- package/dist/upgrade/remove-binary.d.ts.map +1 -0
- package/dist/upgrade/remove-binary.js +289 -0
- package/dist/upgrade/remove-binary.js.map +1 -0
- package/dist/upgrade/update-check.d.ts +92 -0
- package/dist/upgrade/update-check.d.ts.map +1 -0
- package/dist/upgrade/update-check.js +258 -0
- package/dist/upgrade/update-check.js.map +1 -0
- package/package.json +6 -2
- package/scripts/agent-eval/run-all.sh +6 -0
- package/scripts/build-bundle.sh +5 -0
- package/scripts/npm-shim.js +8 -1
- package/scripts/exp_boundary_eval/__pycache__/_utils.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/analyze.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/deveco_arm.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_one.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/run_session.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/__pycache__/setup.cpython-310.pyc +0 -0
- package/scripts/exp_boundary_eval/data/agents.json +0 -109
- package/scripts/exp_boundary_eval/data/experiments.json +0 -140
- package/scripts/qa_eval/README.md +0 -407
- package/scripts/qa_eval/_test_deveco_probe.py +0 -41
- package/scripts/qa_eval/agent_runner.py +0 -526
- package/scripts/qa_eval/data/.gitignore +0 -4
- package/scripts/qa_eval/data/test-set.jsonl +0 -2
- package/scripts/qa_eval/eval_metrics.py +0 -274
- package/scripts/qa_eval/external_agent.py +0 -976
- package/scripts/qa_eval/llm_config.py +0 -92
- package/scripts/qa_eval/memory_monitor.py +0 -132
- package/scripts/qa_eval/my_answer_accuracy.py +0 -187
- package/scripts/qa_eval/requirements.txt +0 -2
- package/scripts/qa_eval/run_pipeline.py +0 -804
- package/scripts/qa_eval/stats_efficiency.py +0 -279
- package/scripts/qa_eval/stats_scores.py +0 -207
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Built-in directory / path ignore rules shared by `scanDirectory` and
|
|
4
|
+
* language-specific walks (e.g. ArkTS `scanEtsFiles`) so every enumerator
|
|
5
|
+
* agrees on what is project source vs build/vendor noise.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.readGitignorePatterns = readGitignorePatterns;
|
|
45
|
+
exports.buildDefaultIgnore = buildDefaultIgnore;
|
|
46
|
+
exports.defaultsOnlyIgnore = defaultsOnlyIgnore;
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const ignore_1 = __importDefault(require("ignore"));
|
|
50
|
+
const errors_1 = require("../errors");
|
|
51
|
+
/**
|
|
52
|
+
* Directory names that are dependency, build, cache, or tooling output across the
|
|
53
|
+
* languages/frameworks HomeGraph supports — curated from the canonical
|
|
54
|
+
* github/gitignore templates. Excluded by default so the graph reflects your code,
|
|
55
|
+
* not third-party noise, without requiring a `.gitignore` (issue #407). The
|
|
56
|
+
* exclusion applies uniformly (git or not, tracked or not); the only opt-in is an
|
|
57
|
+
* explicit `.gitignore` negation (e.g. `!vendor/`). First-party-prone or generic
|
|
58
|
+
* names (`packages`, `lib`, `app`, `bin`, `src`, `deps`, `env`, `tmp`, `storage`,
|
|
59
|
+
* `Library`) are deliberately NOT listed, to avoid ever hiding real source.
|
|
60
|
+
*
|
|
61
|
+
* Only dirs that actually contain *indexable source* (or are enormous) earn a slot
|
|
62
|
+
* — IDE/state dirs like `.idea`/`.vs` are omitted because HomeGraph indexes only
|
|
63
|
+
* recognized source extensions, so they produce no symbols regardless.
|
|
64
|
+
*/
|
|
65
|
+
const DEFAULT_IGNORE_DIRS = new Set([
|
|
66
|
+
// JS / TS — dependency directories
|
|
67
|
+
'node_modules', 'bower_components', 'jspm_packages', 'web_modules',
|
|
68
|
+
'.yarn', '.pnpm-store',
|
|
69
|
+
// JS / TS — framework & bundler build / cache / deploy output
|
|
70
|
+
'.next', '.nuxt', '.svelte-kit', '.turbo', '.vite', '.parcel-cache', '.angular',
|
|
71
|
+
'.docusaurus', 'storybook-static', '.vinxi', '.nitro', 'out-tsc',
|
|
72
|
+
'.vercel', '.netlify', '.wrangler',
|
|
73
|
+
// Build output (common across ecosystems)
|
|
74
|
+
'dist', 'build', 'out', '.output',
|
|
75
|
+
// Test / coverage
|
|
76
|
+
'coverage', '.nyc_output',
|
|
77
|
+
// Python
|
|
78
|
+
'__pycache__', '__pypackages__', '.venv', 'venv', '.pixi', '.pdm-build',
|
|
79
|
+
'.mypy_cache', '.pytest_cache', '.ruff_cache', '.tox', '.nox', '.hypothesis',
|
|
80
|
+
'.ipynb_checkpoints', '.eggs',
|
|
81
|
+
// Rust / JVM (Maven, Gradle, Scala)
|
|
82
|
+
'target', '.gradle',
|
|
83
|
+
// .NET
|
|
84
|
+
'obj',
|
|
85
|
+
// Vendored deps (Go, PHP/Composer, Ruby/Bundler)
|
|
86
|
+
'vendor',
|
|
87
|
+
// Swift / iOS
|
|
88
|
+
'.build', 'Pods', 'Carthage', 'DerivedData', '.swiftpm',
|
|
89
|
+
// Dart / Flutter
|
|
90
|
+
'.dart_tool', '.pub-cache',
|
|
91
|
+
// Native (Android NDK, C/C++ deps)
|
|
92
|
+
'.cxx', '.externalNativeBuild', 'vcpkg_installed',
|
|
93
|
+
// Scala tooling
|
|
94
|
+
'.bloop', '.metals',
|
|
95
|
+
// Lua / Luau (LuaRocks)
|
|
96
|
+
'lua_modules', '.luarocks',
|
|
97
|
+
// Delphi / RAD Studio IDE backups (duplicate .pas source — would double-count)
|
|
98
|
+
'__history', '__recovery',
|
|
99
|
+
// Generic cache
|
|
100
|
+
'.cache',
|
|
101
|
+
]);
|
|
102
|
+
/**
|
|
103
|
+
* Android resource directory types. A `res/` tree holds ONLY non-code resources —
|
|
104
|
+
* layouts, drawables, value bags (strings/colors/styles), menus, navigation
|
|
105
|
+
* graphs — split into one typed subdirectory per kind, optionally density/locale/
|
|
106
|
+
* version-qualified (`values-es`, `drawable-hdpi`, `layout-v21`, …). None of it
|
|
107
|
+
* yields an extractable code symbol, yet on an Android app it DOMINATES the tree
|
|
108
|
+
* (one report: 26k XML files = 97% of the project, 0 symbols), bloating the DB,
|
|
109
|
+
* slowing indexing, and skewing both the file count and `codegraph_explore`
|
|
110
|
+
* results (#1047). So these are excluded by default. The structure is
|
|
111
|
+
* self-identifying — a non-Android project has no `res/layout/` etc., so it's
|
|
112
|
+
* untouched — and the only XML that DOES produce symbols (MyBatis mappers) lives
|
|
113
|
+
* under `src/main/resources/`, never `res/`, so nothing useful is dropped.
|
|
114
|
+
* `res/raw/` is deliberately NOT here: it holds arbitrary bundled assets that can
|
|
115
|
+
* be code-ish (a `.sql` schema, a `.js`), so we leave it indexed. Override any of
|
|
116
|
+
* these with a `.gitignore` negation (e.g. `!res/values/`).
|
|
117
|
+
*/
|
|
118
|
+
const ANDROID_RES_TYPES = [
|
|
119
|
+
'anim', 'animator', 'color', 'drawable', 'font', 'layout',
|
|
120
|
+
'menu', 'mipmap', 'navigation', 'transition', 'values', 'xml',
|
|
121
|
+
];
|
|
122
|
+
/** Gitignore-style patterns for the `ignore` matcher: the dirs above plus a few globs. */
|
|
123
|
+
const DEFAULT_IGNORE_PATTERNS = [
|
|
124
|
+
...Array.from(DEFAULT_IGNORE_DIRS, (d) => `${d}/`),
|
|
125
|
+
'*.egg-info/', // Python packaging metadata
|
|
126
|
+
'cmake-build-*/', // CLion / CMake build trees
|
|
127
|
+
'bazel-*/', // Bazel output symlink trees
|
|
128
|
+
// Android resource dirs at any depth, with their qualifier variants (#1047).
|
|
129
|
+
...ANDROID_RES_TYPES.map((t) => `**/res/${t}*/`),
|
|
130
|
+
];
|
|
131
|
+
/** True if `buf` decodes as strict UTF-8 (no invalid byte sequences). */
|
|
132
|
+
function isValidUtf8(buf) {
|
|
133
|
+
try {
|
|
134
|
+
new TextDecoder('utf-8', { fatal: true }).decode(buf);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Read a `.gitignore` and return patterns safe to hand to the `ignore` matcher —
|
|
143
|
+
* never throwing, even when the file isn't real gitignore text. Two failure
|
|
144
|
+
* modes, both seen in the wild (issue #682):
|
|
145
|
+
*
|
|
146
|
+
* - The file isn't valid UTF-8 — e.g. transparently encrypted in place by
|
|
147
|
+
* corporate DLP / endpoint-security software, leaving a UTF-16 header plus
|
|
148
|
+
* ciphertext. None of it is meaningful patterns, so the whole file is skipped.
|
|
149
|
+
* - The file is text but a single line can't be compiled to a regex by the
|
|
150
|
+
* `ignore` library — `\\[` and friends throw "Unterminated character class".
|
|
151
|
+
* Crucially the throw is LAZY (at match time, not `.add()`), so it would
|
|
152
|
+
* otherwise escape mid-scan. That one pattern is dropped; the rest are kept.
|
|
153
|
+
*
|
|
154
|
+
* Either way a warning that NAMES the file is logged (the reporter couldn't tell
|
|
155
|
+
* which `.gitignore` was at fault) and indexing continues instead of aborting.
|
|
156
|
+
* Returns '' when there's nothing usable.
|
|
157
|
+
*/
|
|
158
|
+
function readGitignorePatterns(giPath) {
|
|
159
|
+
let buf;
|
|
160
|
+
try {
|
|
161
|
+
buf = fs.readFileSync(giPath);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return ''; // unreadable (permissions / race) — treat as absent
|
|
165
|
+
}
|
|
166
|
+
// A NUL byte never appears in real gitignore text, and a fatal UTF-8 decode
|
|
167
|
+
// catches the rest. Such a file isn't ignore patterns at all.
|
|
168
|
+
if (buf.includes(0) || !isValidUtf8(buf)) {
|
|
169
|
+
(0, errors_1.logWarn)('Ignoring a .gitignore that is not valid UTF-8 text — it may have been encrypted ' +
|
|
170
|
+
'in place by endpoint-security software. Indexing continues without it.', { file: giPath });
|
|
171
|
+
return '';
|
|
172
|
+
}
|
|
173
|
+
const content = buf.toString('utf-8');
|
|
174
|
+
// Fast path: one `.ignores()` call forces the library to compile EVERY rule,
|
|
175
|
+
// so if it doesn't throw, the whole file is safe to use verbatim.
|
|
176
|
+
try {
|
|
177
|
+
(0, ignore_1.default)().add(content).ignores('.homegraph-probe');
|
|
178
|
+
return content;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Fall through: a line is uncompilable — keep the good ones, drop the bad.
|
|
182
|
+
}
|
|
183
|
+
const kept = [];
|
|
184
|
+
let dropped = 0;
|
|
185
|
+
for (const line of content.split(/\r?\n/)) {
|
|
186
|
+
try {
|
|
187
|
+
(0, ignore_1.default)().add(line).ignores('.homegraph-probe');
|
|
188
|
+
kept.push(line);
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
dropped++;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (dropped > 0) {
|
|
195
|
+
(0, errors_1.logWarn)(`Skipped ${dropped} unparseable pattern(s) in a .gitignore; the rest are applied.`, { file: giPath });
|
|
196
|
+
}
|
|
197
|
+
return kept.join('\n');
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* An `ignore` matcher seeded with the built-in defaults, merged with the project's
|
|
201
|
+
* root .gitignore so a negation there (e.g. `!vendor/`) overrides a default. Shared
|
|
202
|
+
* by both enumeration paths so behavior is identical with or without git — and so
|
|
203
|
+
* the defaults apply to tracked files too (committing a dependency dir doesn't make
|
|
204
|
+
* it project code; the explicit `.gitignore` negation is the only opt-in).
|
|
205
|
+
*/
|
|
206
|
+
function buildDefaultIgnore(rootDir) {
|
|
207
|
+
const ig = (0, ignore_1.default)().add(DEFAULT_IGNORE_PATTERNS);
|
|
208
|
+
const rootGitignore = path.join(rootDir, '.gitignore');
|
|
209
|
+
if (fs.existsSync(rootGitignore))
|
|
210
|
+
ig.add(readGitignorePatterns(rootGitignore));
|
|
211
|
+
return ig;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Defaults-only ignore matcher (no root `.gitignore` merged). Used wherever the
|
|
215
|
+
* parent repo's own ignore rules must NOT apply — inside embedded child repos,
|
|
216
|
+
* whose gitignore semantics their own `git ls-files` already enforced (#514).
|
|
217
|
+
*/
|
|
218
|
+
function defaultsOnlyIgnore() {
|
|
219
|
+
return (0, ignore_1.default)().add(DEFAULT_IGNORE_PATTERNS);
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=default-ignore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-ignore.js","sourceRoot":"","sources":["../../src/extraction/default-ignore.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,15 @@ export declare function isSourceFile(filePath: string, overrides?: Record<string
|
|
|
28
28
|
* extractor links them. (config/ + locales/ JSON have no section refs.)
|
|
29
29
|
*/
|
|
30
30
|
export declare function isShopifyLiquidJson(filePath: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* OTP application resource file: `<app>.app.src` (checked into every rebar3/
|
|
33
|
+
* erlang.mk app) or its compiled `<app>.app`. Erlang TERMS, not forms — the
|
|
34
|
+
* grammar parses them as top-level expressions, and the Erlang extractor's
|
|
35
|
+
* application-tuple handler turns `{mod, {Mod, _}}` and `{applications, […]}`
|
|
36
|
+
* into entry-module and dependency edges. Routed by full suffix because the
|
|
37
|
+
* last-dot extension (`.src`) is far too generic for EXTENSION_MAP.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isErlangAppFile(filePath: string): boolean;
|
|
31
40
|
/**
|
|
32
41
|
* Play Framework routes file: the extensionless `conf/routes` (and included
|
|
33
42
|
* `conf/*.routes`). No grammar — route extraction is done by the Play framework
|
|
@@ -42,12 +51,27 @@ export declare function isArkModuleJson5(filePath: string): boolean;
|
|
|
42
51
|
* Idempotent — safe to call multiple times.
|
|
43
52
|
*/
|
|
44
53
|
export declare function initGrammars(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Pre-read the grammar WASM bytes for an index set, keyed by language. The
|
|
56
|
+
* orchestrator reads each grammar ONCE and hands the bytes to every parse
|
|
57
|
+
* worker via its `load-grammars` message, so worker spawns/respawns load
|
|
58
|
+
* grammars from memory instead of re-reading them from disk — on slow storage
|
|
59
|
+
* (HDD, issue #1231) each respawn's grammar re-read otherwise amplifies the
|
|
60
|
+
* I/O contention that caused the respawn. Best-effort: a language whose WASM
|
|
61
|
+
* can't be read here is simply omitted, and the worker falls back to its own
|
|
62
|
+
* disk load (which surfaces the real error/warning path).
|
|
63
|
+
*/
|
|
64
|
+
export declare function readGrammarWasmBytes(languages: Language[]): Promise<Record<string, Uint8Array>>;
|
|
45
65
|
/**
|
|
46
66
|
* Load grammar WASM files for specific languages only.
|
|
47
67
|
* Skips languages that are already loaded or have no WASM grammar.
|
|
48
68
|
* Must be called after initGrammars().
|
|
69
|
+
*
|
|
70
|
+
* `wasmBytes` (optional) holds pre-read grammar bytes keyed by language (from
|
|
71
|
+
* {@link readGrammarWasmBytes}, forwarded through the parse pool); when a
|
|
72
|
+
* language's bytes are present they're loaded from memory instead of disk.
|
|
49
73
|
*/
|
|
50
|
-
export declare function loadGrammarsForLanguages(languages: Language[]): Promise<void>;
|
|
74
|
+
export declare function loadGrammarsForLanguages(languages: Language[], wasmBytes?: Record<string, Uint8Array>): Promise<void>;
|
|
51
75
|
/**
|
|
52
76
|
* Load ALL grammar WASM files. Convenience function for tests and
|
|
53
77
|
* backward compatibility. Prefer loadGrammarsForLanguages() in production.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,MAAM,EAA4B,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAwChK;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAkHlD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,CAS5F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM1D;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAWD;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAMlD;AAyDD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAarG;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3H;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAsBhH;AA4BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAa/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEnE;AAED,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAKlD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA8CjE"}
|
|
@@ -43,9 +43,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
exports.EXTENSION_MAP = void 0;
|
|
44
44
|
exports.isSourceFile = isSourceFile;
|
|
45
45
|
exports.isShopifyLiquidJson = isShopifyLiquidJson;
|
|
46
|
+
exports.isErlangAppFile = isErlangAppFile;
|
|
46
47
|
exports.isPlayRoutesFile = isPlayRoutesFile;
|
|
47
48
|
exports.isArkModuleJson5 = isArkModuleJson5;
|
|
48
49
|
exports.initGrammars = initGrammars;
|
|
50
|
+
exports.readGrammarWasmBytes = readGrammarWasmBytes;
|
|
49
51
|
exports.loadGrammarsForLanguages = loadGrammarsForLanguages;
|
|
50
52
|
exports.loadAllGrammars = loadAllGrammars;
|
|
51
53
|
exports.isGrammarsInitialized = isGrammarsInitialized;
|
|
@@ -61,6 +63,7 @@ exports.clearParserCache = clearParserCache;
|
|
|
61
63
|
exports.getUnavailableGrammarErrors = getUnavailableGrammarErrors;
|
|
62
64
|
exports.getLanguageDisplayName = getLanguageDisplayName;
|
|
63
65
|
const path = __importStar(require("path"));
|
|
66
|
+
const fsp = __importStar(require("fs/promises"));
|
|
64
67
|
const web_tree_sitter_1 = require("web-tree-sitter");
|
|
65
68
|
/**
|
|
66
69
|
* WASM filename map — maps each language to its .wasm grammar file
|
|
@@ -89,6 +92,15 @@ const WASM_GRAMMAR_FILES = {
|
|
|
89
92
|
r: 'tree-sitter-r.wasm',
|
|
90
93
|
luau: 'tree-sitter-luau.wasm',
|
|
91
94
|
objc: 'tree-sitter-objc.wasm',
|
|
95
|
+
cfml: 'tree-sitter-cfml.wasm',
|
|
96
|
+
cfscript: 'tree-sitter-cfscript.wasm',
|
|
97
|
+
cfquery: 'tree-sitter-cfquery.wasm',
|
|
98
|
+
cobol: 'tree-sitter-cobol.wasm',
|
|
99
|
+
vbnet: 'tree-sitter-vbnet.wasm',
|
|
100
|
+
erlang: 'tree-sitter-erlang.wasm',
|
|
101
|
+
solidity: 'tree-sitter-solidity.wasm',
|
|
102
|
+
terraform: 'tree-sitter-terraform.wasm',
|
|
103
|
+
nix: 'tree-sitter-nix.wasm',
|
|
92
104
|
};
|
|
93
105
|
/**
|
|
94
106
|
* File extension to Language mapping
|
|
@@ -100,6 +112,8 @@ exports.EXTENSION_MAP = {
|
|
|
100
112
|
// ESM/CJS TypeScript module extensions — parsed as TS (no JSX). (#366)
|
|
101
113
|
'.mts': 'typescript',
|
|
102
114
|
'.cts': 'typescript',
|
|
115
|
+
// ArkTS (HarmonyOS / OpenHarmony) — declarative UI via arkanalyzer, not
|
|
116
|
+
// tree-sitter. Plain `.ts` in an ArkTS project stays TypeScript.
|
|
103
117
|
'.js': 'javascript',
|
|
104
118
|
'.mjs': 'javascript',
|
|
105
119
|
'.cjs': 'javascript',
|
|
@@ -158,13 +172,53 @@ exports.EXTENSION_MAP = {
|
|
|
158
172
|
'.luau': 'luau',
|
|
159
173
|
'.m': 'objc',
|
|
160
174
|
'.mm': 'objc',
|
|
175
|
+
'.sol': 'solidity',
|
|
176
|
+
// CFML: .cfc/.cfm parse with the tag-aware `cfml` grammar (custom CfmlExtractor
|
|
177
|
+
// dialect-switches to cfscript for bare-script content); .cfs is pure CFScript.
|
|
178
|
+
'.cfc': 'cfml',
|
|
179
|
+
'.cfm': 'cfml',
|
|
180
|
+
'.cfs': 'cfscript',
|
|
181
|
+
// Metal Shading Language ≈ C++14: the C++ grammar extracts its functions,
|
|
182
|
+
// structs, and calls. MSL-specific `[[attribute]]` annotations are blanked
|
|
183
|
+
// pre-parse for `.metal` files (see blankMetalAttributes in c-cpp.ts). (#1121)
|
|
184
|
+
'.metal': 'cpp',
|
|
185
|
+
// CUDA ≈ C++ plus execution-space specifiers (`__global__` …) and
|
|
186
|
+
// `<<<grid, block>>>` kernel-launch syntax: the C++ grammar extracts its
|
|
187
|
+
// functions/structs/classes/calls once blankCudaConstructs (pre-parse; gated
|
|
188
|
+
// by these extensions OR by content for CUDA living in `.h`/`.hpp` headers —
|
|
189
|
+
// see c-cpp.ts) blanks the CUDA-only tokens. (#387)
|
|
190
|
+
'.cu': 'cpp',
|
|
191
|
+
'.cuh': 'cpp',
|
|
192
|
+
'.nix': 'nix',
|
|
161
193
|
// XML: file-level tracking; the MyBatis extractor matches `<mapper namespace="...">`
|
|
162
194
|
// shape and emits SQL-statement nodes (other XML returns empty).
|
|
163
195
|
'.xml': 'xml',
|
|
196
|
+
// COBOL: programs (.cbl/.cob) and copybooks (.cpy). Vendored grammar
|
|
197
|
+
// (patched yutaro-sakamoto/tree-sitter-cobol) handles fixed-format column
|
|
198
|
+
// rules, EXEC CICS/SQL blocks, and standalone copybook fragments.
|
|
199
|
+
'.cbl': 'cobol',
|
|
200
|
+
'.cob': 'cobol',
|
|
201
|
+
'.cobol': 'cobol',
|
|
202
|
+
'.cpy': 'cobol',
|
|
203
|
+
// VB.NET: vendored grammar (patched govindbanura/tree-sitter-vbnet) — classes,
|
|
204
|
+
// modules, interfaces, structures, properties, events, Handles clauses, LINQ.
|
|
205
|
+
'.vb': 'vbnet',
|
|
206
|
+
// Erlang: modules (.erl) and header files (.hrl). Vendored WhatsApp/
|
|
207
|
+
// tree-sitter-erlang grammar (the ELP grammar).
|
|
208
|
+
'.erl': 'erlang',
|
|
209
|
+
'.hrl': 'erlang',
|
|
210
|
+
// escripts parse natively — the grammar has a first-class `shebang` node.
|
|
211
|
+
// (`.app`/`.app.src` resource files route via isErlangAppFile below: their
|
|
212
|
+
// last-dot extension is too generic for this map.)
|
|
213
|
+
'.escript': 'erlang',
|
|
164
214
|
// Spring config: `application.properties` / `application-*.properties`. Same
|
|
165
215
|
// shape as the `.yml` variants — the YAML/properties extractor emits one node
|
|
166
216
|
// per leaf key, and the Spring resolver links `@Value("${k}")` references.
|
|
167
217
|
'.properties': 'properties',
|
|
218
|
+
// Terraform / OpenTofu / HCL config — tree-sitter-terraform dialect of HCL.
|
|
219
|
+
'.tf': 'terraform',
|
|
220
|
+
'.tfvars': 'terraform',
|
|
221
|
+
'.tofu': 'terraform',
|
|
168
222
|
};
|
|
169
223
|
/**
|
|
170
224
|
* Whether a file is one HomeGraph can parse, based purely on its extension.
|
|
@@ -182,6 +236,8 @@ function isSourceFile(filePath, overrides) {
|
|
|
182
236
|
return true;
|
|
183
237
|
if (isShopifyLiquidJson(filePath))
|
|
184
238
|
return true; // Shopify OS 2.0 JSON templates / section groups
|
|
239
|
+
if (isErlangAppFile(filePath))
|
|
240
|
+
return true; // OTP `.app`/`.app.src` resource files
|
|
185
241
|
const dot = filePath.lastIndexOf('.');
|
|
186
242
|
if (dot < 0)
|
|
187
243
|
return false;
|
|
@@ -198,6 +254,17 @@ function isShopifyLiquidJson(filePath) {
|
|
|
198
254
|
// top-level (`templates/product.json`).
|
|
199
255
|
return /(^|\/)(templates|sections)\/.+\.json$/i.test(filePath);
|
|
200
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* OTP application resource file: `<app>.app.src` (checked into every rebar3/
|
|
259
|
+
* erlang.mk app) or its compiled `<app>.app`. Erlang TERMS, not forms — the
|
|
260
|
+
* grammar parses them as top-level expressions, and the Erlang extractor's
|
|
261
|
+
* application-tuple handler turns `{mod, {Mod, _}}` and `{applications, […]}`
|
|
262
|
+
* into entry-module and dependency edges. Routed by full suffix because the
|
|
263
|
+
* last-dot extension (`.src`) is far too generic for EXTENSION_MAP.
|
|
264
|
+
*/
|
|
265
|
+
function isErlangAppFile(filePath) {
|
|
266
|
+
return /\.app(?:\.src)?$/i.test(filePath);
|
|
267
|
+
}
|
|
201
268
|
/**
|
|
202
269
|
* Play Framework routes file: the extensionless `conf/routes` (and included
|
|
203
270
|
* `conf/*.routes`). No grammar — route extraction is done by the Play framework
|
|
@@ -230,22 +297,95 @@ async function initGrammars() {
|
|
|
230
297
|
await web_tree_sitter_1.Parser.init();
|
|
231
298
|
parserInitialized = true;
|
|
232
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Grammars that ship their own vendored WASMs under `dist/extraction/wasm/`
|
|
302
|
+
* (not in tree-sitter-wasms, or the tree-sitter-wasms build is too old).
|
|
303
|
+
* Lua: tree-sitter-wasms ships an ABI-13 build that corrupts the shared WASM
|
|
304
|
+
* heap under web-tree-sitter 0.25 (drops nested calls/imports on every file
|
|
305
|
+
* after the first); we vendor the upstream ABI-15 wasm instead. C#: the
|
|
306
|
+
* tree-sitter-wasms build (ABI 13) has no primary-constructor support and
|
|
307
|
+
* parses `class Foo(...)` as an ERROR that swallows the whole class (#237); we
|
|
308
|
+
* vendor the upstream ABI-15 tree-sitter-c-sharp 0.23.5 wasm, which parses
|
|
309
|
+
* primary constructors natively. Terraform: tree-sitter-wasms does not ship
|
|
310
|
+
* HCL/Terraform at all, so we vendor the prebuilt tree-sitter-terraform.wasm
|
|
311
|
+
* from @tree-sitter-grammars/tree-sitter-hcl 1.2.0 (Apache-2.0) —
|
|
312
|
+
* byte-identical to the npm package's artifact. ArkTS: tree-sitter-wasms
|
|
313
|
+
* doesn't ship it either; we vendor the prebuilt tree-sitter-arkts.wasm from
|
|
314
|
+
* the tree-sitter-arkts 0.2.0 npm package (harmony-contrib/tree-sitter-arkts,
|
|
315
|
+
* MIT) — byte-identical to the npm tarball's artifact. It extends the
|
|
316
|
+
* tree-sitter-javascript grammar the same way tree-sitter-typescript does,
|
|
317
|
+
* adding `struct_declaration` and the `arkui_component_expression` build()
|
|
318
|
+
* DSL. Nix: tree-sitter-wasms doesn't ship it; we vendor a wasm built from
|
|
319
|
+
* nix-community/tree-sitter-nix @ 3d0173d (MIT) with tree-sitter-cli 0.25.10
|
|
320
|
+
* (`generate` + `build --wasm`, ABI 15 — upstream's checked-in parser.c is
|
|
321
|
+
* still ABI 13; all 54 upstream corpus tests pass on the regenerated parser).
|
|
322
|
+
*/
|
|
323
|
+
const VENDORED_WASM_LANGS = new Set([
|
|
324
|
+
'pascal', 'scala', 'lua', 'luau', 'csharp', 'r', 'cfml', 'cfscript', 'cfquery',
|
|
325
|
+
'cobol', 'vbnet', 'erlang', 'terraform', 'nix',
|
|
326
|
+
]);
|
|
327
|
+
/** Absolute path of a language's grammar WASM (vendored or tree-sitter-wasms). */
|
|
328
|
+
function resolveWasmPath(lang) {
|
|
329
|
+
const wasmFile = WASM_GRAMMAR_FILES[lang];
|
|
330
|
+
return VENDORED_WASM_LANGS.has(lang)
|
|
331
|
+
? path.join(__dirname, 'wasm', wasmFile)
|
|
332
|
+
: require.resolve(`tree-sitter-wasms/out/${wasmFile}`);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Expand an index set's languages to the grammars actually needed to parse it.
|
|
336
|
+
* SFC languages (svelte/vue/astro) have no grammar of their own — their
|
|
337
|
+
* extractors delegate <script>/frontmatter content to the TS/JS extractor, so
|
|
338
|
+
* those grammars must be loaded even when no plain .ts/.js file is in the index
|
|
339
|
+
* set (e.g. a pure-.astro content site). CFML (.cfc/.cfm) likewise delegates
|
|
340
|
+
* bare-script content, <cfscript> tag bodies, and <cfquery> SQL bodies to the
|
|
341
|
+
* cfscript/cfquery grammars (see injections.scm in tree-sitter-cfml).
|
|
342
|
+
*/
|
|
343
|
+
function expandGrammarLanguages(languages) {
|
|
344
|
+
if (languages.some((l) => l === 'svelte' || l === 'vue' || l === 'astro')) {
|
|
345
|
+
languages = [...languages, 'typescript', 'javascript'];
|
|
346
|
+
}
|
|
347
|
+
if (languages.some((l) => l === 'cfml')) {
|
|
348
|
+
languages = [...languages, 'cfscript', 'cfquery'];
|
|
349
|
+
}
|
|
350
|
+
return languages;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Pre-read the grammar WASM bytes for an index set, keyed by language. The
|
|
354
|
+
* orchestrator reads each grammar ONCE and hands the bytes to every parse
|
|
355
|
+
* worker via its `load-grammars` message, so worker spawns/respawns load
|
|
356
|
+
* grammars from memory instead of re-reading them from disk — on slow storage
|
|
357
|
+
* (HDD, issue #1231) each respawn's grammar re-read otherwise amplifies the
|
|
358
|
+
* I/O contention that caused the respawn. Best-effort: a language whose WASM
|
|
359
|
+
* can't be read here is simply omitted, and the worker falls back to its own
|
|
360
|
+
* disk load (which surfaces the real error/warning path).
|
|
361
|
+
*/
|
|
362
|
+
async function readGrammarWasmBytes(languages) {
|
|
363
|
+
const out = {};
|
|
364
|
+
const toRead = [...new Set(expandGrammarLanguages(languages))].filter((lang) => lang in WASM_GRAMMAR_FILES);
|
|
365
|
+
for (const lang of toRead) {
|
|
366
|
+
try {
|
|
367
|
+
out[lang] = await fsp.readFile(resolveWasmPath(lang));
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
// fall through — the worker's own load reports the failure
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return out;
|
|
374
|
+
}
|
|
233
375
|
/**
|
|
234
376
|
* Load grammar WASM files for specific languages only.
|
|
235
377
|
* Skips languages that are already loaded or have no WASM grammar.
|
|
236
378
|
* Must be called after initGrammars().
|
|
379
|
+
*
|
|
380
|
+
* `wasmBytes` (optional) holds pre-read grammar bytes keyed by language (from
|
|
381
|
+
* {@link readGrammarWasmBytes}, forwarded through the parse pool); when a
|
|
382
|
+
* language's bytes are present they're loaded from memory instead of disk.
|
|
237
383
|
*/
|
|
238
|
-
async function loadGrammarsForLanguages(languages) {
|
|
384
|
+
async function loadGrammarsForLanguages(languages, wasmBytes) {
|
|
239
385
|
if (!parserInitialized) {
|
|
240
386
|
await initGrammars();
|
|
241
387
|
}
|
|
242
|
-
|
|
243
|
-
// extractors delegate <script>/frontmatter content to the TS/JS extractor,
|
|
244
|
-
// so those grammars must be loaded even when no plain .ts/.js file is in
|
|
245
|
-
// the index set (e.g. a pure-.astro content site).
|
|
246
|
-
if (languages.some((l) => l === 'svelte' || l === 'vue' || l === 'astro')) {
|
|
247
|
-
languages = [...languages, 'typescript', 'javascript'];
|
|
248
|
-
}
|
|
388
|
+
languages = expandGrammarLanguages(languages);
|
|
249
389
|
// Deduplicate and filter to languages that have WASM grammars and aren't already loaded
|
|
250
390
|
const toLoad = [...new Set(languages)].filter((lang) => lang in WASM_GRAMMAR_FILES &&
|
|
251
391
|
!languageCache.has(lang) &&
|
|
@@ -253,21 +393,9 @@ async function loadGrammarsForLanguages(languages) {
|
|
|
253
393
|
// Load grammars sequentially to avoid web-tree-sitter WASM race condition on Node 20+
|
|
254
394
|
// See: https://github.com/tree-sitter/tree-sitter/issues/2338
|
|
255
395
|
for (const lang of toLoad) {
|
|
256
|
-
const wasmFile = WASM_GRAMMAR_FILES[lang];
|
|
257
396
|
try {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
// ABI-13 build that corrupts the shared WASM heap under web-tree-sitter
|
|
261
|
-
// 0.25 (drops nested calls/imports on every file after the first); we
|
|
262
|
-
// vendor the upstream ABI-15 wasm instead. C#: the tree-sitter-wasms
|
|
263
|
-
// build (ABI 13) has no primary-constructor support and parses
|
|
264
|
-
// `class Foo(...)` as an ERROR that swallows the whole class (#237); we
|
|
265
|
-
// vendor the upstream ABI-15 tree-sitter-c-sharp 0.23.5 wasm, which parses
|
|
266
|
-
// primary constructors natively.
|
|
267
|
-
const wasmPath = (lang === 'pascal' || lang === 'scala' || lang === 'lua' || lang === 'luau' || lang === 'csharp' || lang === 'r')
|
|
268
|
-
? path.join(__dirname, 'wasm', wasmFile)
|
|
269
|
-
: require.resolve(`tree-sitter-wasms/out/${wasmFile}`);
|
|
270
|
-
const language = await web_tree_sitter_1.Language.load(wasmPath);
|
|
397
|
+
const bytes = wasmBytes?.[lang];
|
|
398
|
+
const language = await web_tree_sitter_1.Language.load(bytes ?? resolveWasmPath(lang));
|
|
271
399
|
languageCache.set(lang, language);
|
|
272
400
|
}
|
|
273
401
|
catch (error) {
|
|
@@ -329,6 +457,10 @@ function detectLanguage(filePath, source, overrides) {
|
|
|
329
457
|
// links each section `"type"` to its `sections/<type>.liquid`).
|
|
330
458
|
if (isShopifyLiquidJson(filePath))
|
|
331
459
|
return 'liquid';
|
|
460
|
+
// OTP `.app`/`.app.src` resource files — Erlang terms the grammar parses as
|
|
461
|
+
// top-level expressions (last-dot ext `.src` is too generic for the map).
|
|
462
|
+
if (isErlangAppFile(filePath))
|
|
463
|
+
return 'erlang';
|
|
332
464
|
const lang = (overrides && overrides[ext]) || exports.EXTENSION_MAP[ext] || 'unknown';
|
|
333
465
|
// .h files could be C, C++, or Objective-C — check source content
|
|
334
466
|
if (lang === 'c' && ext === '.h' && source) {
|
|
@@ -345,7 +477,16 @@ function detectLanguage(filePath, source, overrides) {
|
|
|
345
477
|
*/
|
|
346
478
|
function looksLikeCpp(source) {
|
|
347
479
|
const sample = source.substring(0, 8192);
|
|
348
|
-
|
|
480
|
+
// The `class MACRO Name : Base` / `class MACRO Name { … }` branch mirrors what
|
|
481
|
+
// `blankCppExportMacros` recovers: an ALL-CAPS export/visibility macro
|
|
482
|
+
// (`ENGINE_API`, `MYMODULE_API`, `*_EXPORT`, …) sitting between `class`/`struct`
|
|
483
|
+
// and the type name. Without it, a header whose ONLY C++ signal is such a
|
|
484
|
+
// macro-annotated class — common for lean Unreal-Engine types that carry just
|
|
485
|
+
// `GENERATED_BODY()` and no explicit `public:`/`virtual` — is misdetected as C,
|
|
486
|
+
// routed through the C extractor (which extracts no classes), and its class
|
|
487
|
+
// definition silently vanishes. The two-token shape (`<KW> <MACRO> <Name>`
|
|
488
|
+
// before a `[:{]`) never occurs in valid C, so this can't misclassify C headers.
|
|
489
|
+
return /\bnamespace\b|\bclass\s+\w+\s*[:{]|\b(?:class|struct)\s+[A-Z][A-Z0-9_]+\s+\w+\s*(?:final\s*)?[:{]|\btemplate\s*<|\b(?:public|private|protected)\s*:|\bvirtual\b|\busing\s+(?:namespace\b|\w+\s*=)/.test(sample);
|
|
349
490
|
}
|
|
350
491
|
/**
|
|
351
492
|
* Heuristic: does a .h file contain Objective-C constructs?
|
|
@@ -417,7 +558,10 @@ function requiresInProcessExtraction(language) {
|
|
|
417
558
|
* Get all supported languages (those with grammar definitions).
|
|
418
559
|
*/
|
|
419
560
|
function getSupportedLanguages() {
|
|
420
|
-
return [
|
|
561
|
+
return [
|
|
562
|
+
...Object.keys(WASM_GRAMMAR_FILES),
|
|
563
|
+
'svelte', 'vue', 'astro', 'liquid', 'razor', 'yaml', 'twig', 'xml', 'properties', 'arkts',
|
|
564
|
+
];
|
|
421
565
|
}
|
|
422
566
|
/**
|
|
423
567
|
* Reset the cached parser for a language to reclaim WASM heap memory.
|
|
@@ -488,10 +632,19 @@ function getLanguageDisplayName(language) {
|
|
|
488
632
|
lua: 'Lua',
|
|
489
633
|
luau: 'Luau',
|
|
490
634
|
objc: 'Objective-C',
|
|
635
|
+
solidity: 'Solidity',
|
|
636
|
+
nix: 'Nix',
|
|
491
637
|
yaml: 'YAML',
|
|
492
638
|
twig: 'Twig',
|
|
493
639
|
xml: 'XML',
|
|
494
640
|
properties: 'Java properties',
|
|
641
|
+
cfml: 'CFML',
|
|
642
|
+
cfscript: 'CFScript',
|
|
643
|
+
cfquery: 'CFQuery (SQL)',
|
|
644
|
+
cobol: 'COBOL',
|
|
645
|
+
vbnet: 'Visual Basic .NET',
|
|
646
|
+
erlang: 'Erlang',
|
|
647
|
+
terraform: 'Terraform',
|
|
495
648
|
unknown: 'Unknown',
|
|
496
649
|
};
|
|
497
650
|
return names[language] || language;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
|