@yalehwang/archguard 0.1.23 → 0.1.32
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 +176 -32
- package/assets/grammars/benchmarks.md +101 -0
- package/assets/grammars/checksums.json +8 -0
- package/{node_modules/tree-sitter/LICENSE → assets/grammars/licenses/tree-sitter-cpp.LICENSE} +2 -2
- package/{node_modules/node-gyp-build/LICENSE → assets/grammars/licenses/tree-sitter-go.LICENSE} +5 -5
- package/assets/grammars/licenses/tree-sitter-java.LICENSE +21 -0
- package/assets/grammars/licenses/tree-sitter-kotlin.LICENSE +21 -0
- package/assets/grammars/licenses/tree-sitter-python.LICENSE +21 -0
- package/assets/grammars/licenses/tree-sitter.LICENSE +21 -0
- package/assets/grammars/provenance.json +66 -0
- package/assets/grammars/tree-sitter-cpp.wasm +0 -0
- package/assets/grammars/tree-sitter-go.wasm +0 -0
- package/assets/grammars/tree-sitter-java.wasm +0 -0
- package/assets/grammars/tree-sitter-kotlin.wasm +0 -0
- package/assets/grammars/tree-sitter-python.wasm +0 -0
- package/assets/grammars/tree-sitter.wasm +0 -0
- package/dist/analysis/atlas-metrics-analysis.d.ts +11 -0
- package/dist/analysis/atlas-metrics-analysis.d.ts.map +1 -0
- package/dist/analysis/atlas-metrics-analysis.js +17 -0
- package/dist/analysis/atlas-metrics-analysis.js.map +1 -0
- package/dist/analysis/fitness/dependency-checker.d.ts +4 -0
- package/dist/analysis/fitness/dependency-checker.d.ts.map +1 -0
- package/dist/analysis/fitness/dependency-checker.js +16 -0
- package/dist/analysis/fitness/dependency-checker.js.map +1 -0
- package/dist/analysis/fitness/rule-evaluator.d.ts +6 -0
- package/dist/analysis/fitness/rule-evaluator.d.ts.map +1 -0
- package/dist/analysis/fitness/rule-evaluator.js +64 -0
- package/dist/analysis/fitness/rule-evaluator.js.map +1 -0
- package/dist/analysis/fitness/rule-types.d.ts +2 -0
- package/dist/analysis/fitness/rule-types.d.ts.map +1 -0
- package/dist/analysis/fitness/rule-types.js +2 -0
- package/dist/analysis/fitness/rule-types.js.map +1 -0
- package/dist/analysis/gim/direction-hint.d.ts +18 -0
- package/dist/analysis/gim/direction-hint.d.ts.map +1 -0
- package/dist/analysis/gim/direction-hint.js +76 -0
- package/dist/analysis/gim/direction-hint.js.map +1 -0
- package/dist/analysis/gim/gim-loss-evaluator.d.ts +14 -0
- package/dist/analysis/gim/gim-loss-evaluator.d.ts.map +1 -0
- package/dist/analysis/gim/gim-loss-evaluator.js +80 -0
- package/dist/analysis/gim/gim-loss-evaluator.js.map +1 -0
- package/dist/analysis/gini.d.ts +2 -0
- package/dist/analysis/gini.d.ts.map +1 -0
- package/dist/analysis/gini.js +12 -0
- package/dist/analysis/gini.js.map +1 -0
- package/dist/analysis/git-history/git-log-reader.d.ts +24 -0
- package/dist/analysis/git-history/git-log-reader.d.ts.map +1 -0
- package/dist/analysis/git-history/git-log-reader.js +117 -0
- package/dist/analysis/git-history/git-log-reader.js.map +1 -0
- package/dist/analysis/git-history/history-aggregator.d.ts +19 -0
- package/dist/analysis/git-history/history-aggregator.d.ts.map +1 -0
- package/dist/analysis/git-history/history-aggregator.js +291 -0
- package/dist/analysis/git-history/history-aggregator.js.map +1 -0
- package/dist/analysis/git-history/history-query.d.ts +111 -0
- package/dist/analysis/git-history/history-query.d.ts.map +1 -0
- package/dist/analysis/git-history/history-query.js +201 -0
- package/dist/analysis/git-history/history-query.js.map +1 -0
- package/dist/analysis/git-history/index.d.ts +4 -0
- package/dist/analysis/git-history/index.d.ts.map +1 -0
- package/dist/analysis/git-history/index.js +4 -0
- package/dist/analysis/git-history/index.js.map +1 -0
- package/dist/analysis/metric-vector-builder.d.ts +5 -0
- package/dist/analysis/metric-vector-builder.d.ts.map +1 -0
- package/dist/analysis/metric-vector-builder.js +47 -0
- package/dist/analysis/metric-vector-builder.js.map +1 -0
- package/dist/analysis/metrics-history-reader.d.ts +4 -0
- package/dist/analysis/metrics-history-reader.d.ts.map +1 -0
- package/dist/analysis/metrics-history-reader.js +24 -0
- package/dist/analysis/metrics-history-reader.js.map +1 -0
- package/dist/analysis/package-metrics-analysis.d.ts +18 -0
- package/dist/analysis/package-metrics-analysis.d.ts.map +1 -0
- package/dist/analysis/package-metrics-analysis.js +59 -0
- package/dist/analysis/package-metrics-analysis.js.map +1 -0
- package/dist/analysis/project-semantics-loader.d.ts +3 -0
- package/dist/analysis/project-semantics-loader.d.ts.map +1 -0
- package/dist/analysis/project-semantics-loader.js +25 -0
- package/dist/analysis/project-semantics-loader.js.map +1 -0
- package/dist/analysis/snapshot-diff.d.ts +19 -0
- package/dist/analysis/snapshot-diff.d.ts.map +1 -0
- package/dist/analysis/snapshot-diff.js +54 -0
- package/dist/analysis/snapshot-diff.js.map +1 -0
- package/dist/analysis/snapshot-store.d.ts +15 -0
- package/dist/analysis/snapshot-store.d.ts.map +1 -0
- package/dist/analysis/snapshot-store.js +96 -0
- package/dist/analysis/snapshot-store.js.map +1 -0
- package/dist/analysis/test-analyzer.d.ts +4 -1
- package/dist/analysis/test-analyzer.d.ts.map +1 -1
- package/dist/analysis/test-analyzer.js +67 -14
- package/dist/analysis/test-analyzer.js.map +1 -1
- package/dist/analysis/test-coverage-mapper.d.ts +1 -1
- package/dist/analysis/test-coverage-mapper.d.ts.map +1 -1
- package/dist/analysis/test-coverage-mapper.js +32 -2
- package/dist/analysis/test-coverage-mapper.js.map +1 -1
- package/dist/analysis/test-issue-detector.d.ts +1 -1
- package/dist/analysis/test-issue-detector.d.ts.map +1 -1
- package/dist/analysis/test-issue-detector.js +7 -2
- package/dist/analysis/test-issue-detector.js.map +1 -1
- package/dist/analysis/test-pattern-advisor.d.ts +2 -0
- package/dist/analysis/test-pattern-advisor.d.ts.map +1 -0
- package/dist/analysis/test-pattern-advisor.js +59 -0
- package/dist/analysis/test-pattern-advisor.js.map +1 -0
- package/dist/cli/analyze/normalize-to-diagrams.d.ts +9 -0
- package/dist/cli/analyze/normalize-to-diagrams.d.ts.map +1 -1
- package/dist/cli/analyze/normalize-to-diagrams.js +35 -26
- package/dist/cli/analyze/normalize-to-diagrams.js.map +1 -1
- package/dist/cli/analyze/run-analysis.d.ts +5 -1
- package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
- package/dist/cli/analyze/run-analysis.js +207 -33
- package/dist/cli/analyze/run-analysis.js.map +1 -1
- package/dist/cli/{cache-manager.d.ts → cache/cache-manager.d.ts} +1 -1
- package/dist/cli/cache/cache-manager.d.ts.map +1 -0
- package/dist/cli/{cache-manager.js → cache/cache-manager.js} +3 -3
- package/dist/cli/cache/cache-manager.js.map +1 -0
- package/dist/cli/cognitive/ccb-assembler.d.ts +8 -0
- package/dist/cli/cognitive/ccb-assembler.d.ts.map +1 -0
- package/dist/cli/cognitive/ccb-assembler.js +213 -0
- package/dist/cli/cognitive/ccb-assembler.js.map +1 -0
- package/dist/cli/cognitive/ccb-reader.d.ts +7 -0
- package/dist/cli/cognitive/ccb-reader.d.ts.map +1 -0
- package/dist/cli/cognitive/ccb-reader.js +27 -0
- package/dist/cli/cognitive/ccb-reader.js.map +1 -0
- package/dist/cli/cognitive/ccb-schema.d.ts +36 -0
- package/dist/cli/cognitive/ccb-schema.d.ts.map +1 -0
- package/dist/cli/cognitive/ccb-schema.js +2 -0
- package/dist/cli/cognitive/ccb-schema.js.map +1 -0
- package/dist/cli/cognitive/ccb-writer.d.ts +3 -0
- package/dist/cli/cognitive/ccb-writer.d.ts.map +1 -0
- package/dist/cli/cognitive/ccb-writer.js +12 -0
- package/dist/cli/cognitive/ccb-writer.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +23 -4
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/cache.js +2 -2
- package/dist/cli/commands/cache.js.map +1 -1
- package/dist/cli/commands/check.d.ts +3 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +48 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/diff.d.ts +3 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +89 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +1 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/query.d.ts +51 -0
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +373 -17
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/config-loader.d.ts +50 -0
- package/dist/cli/config-loader.d.ts.map +1 -1
- package/dist/cli/config-loader.js +33 -0
- package/dist/cli/config-loader.js.map +1 -1
- package/dist/cli/{errors.d.ts → errors/index.d.ts} +16 -2
- package/dist/cli/errors/index.d.ts.map +1 -0
- package/dist/cli/{error-handler.js → errors/index.js} +32 -2
- package/dist/cli/errors/index.js.map +1 -0
- package/dist/cli/git-history/git-log-reader.d.ts +2 -0
- package/dist/cli/git-history/git-log-reader.d.ts.map +1 -0
- package/dist/cli/git-history/git-log-reader.js +2 -0
- package/dist/cli/git-history/git-log-reader.js.map +1 -0
- package/dist/cli/git-history/history-aggregator.d.ts +2 -0
- package/dist/cli/git-history/history-aggregator.d.ts.map +1 -0
- package/dist/cli/git-history/history-aggregator.js +2 -0
- package/dist/cli/git-history/history-aggregator.js.map +1 -0
- package/dist/cli/git-history/history-loader.d.ts +11 -0
- package/dist/cli/git-history/history-loader.d.ts.map +1 -0
- package/dist/cli/git-history/history-loader.js +30 -0
- package/dist/cli/git-history/history-loader.js.map +1 -0
- package/dist/cli/git-history/history-query.d.ts +2 -0
- package/dist/cli/git-history/history-query.d.ts.map +1 -0
- package/dist/cli/git-history/history-query.js +2 -0
- package/dist/cli/git-history/history-query.js.map +1 -0
- package/dist/cli/git-history/history-writer.d.ts +3 -0
- package/dist/cli/git-history/history-writer.d.ts.map +1 -0
- package/dist/cli/git-history/history-writer.js +14 -0
- package/dist/cli/git-history/history-writer.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp/analyze-tool.d.ts +2 -0
- package/dist/cli/mcp/analyze-tool.d.ts.map +1 -1
- package/dist/cli/mcp/analyze-tool.js +15 -4
- package/dist/cli/mcp/analyze-tool.js.map +1 -1
- package/dist/cli/mcp/mcp-server.d.ts +7 -2
- package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
- package/dist/cli/mcp/mcp-server.js +203 -50
- package/dist/cli/mcp/mcp-server.js.map +1 -1
- package/dist/cli/mcp/tools/atlas-analytics-tools.d.ts +7 -0
- package/dist/cli/mcp/tools/atlas-analytics-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/atlas-analytics-tools.js +190 -0
- package/dist/cli/mcp/tools/atlas-analytics-tools.js.map +1 -0
- package/dist/cli/mcp/tools/call-graph-tools.d.ts +3 -0
- package/dist/cli/mcp/tools/call-graph-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/call-graph-tools.js +47 -0
- package/dist/cli/mcp/tools/call-graph-tools.js.map +1 -0
- package/dist/cli/mcp/tools/ccb-tool.d.ts +3 -0
- package/dist/cli/mcp/tools/ccb-tool.d.ts.map +1 -0
- package/dist/cli/mcp/tools/ccb-tool.js +63 -0
- package/dist/cli/mcp/tools/ccb-tool.js.map +1 -0
- package/dist/cli/mcp/tools/cognitive-summary-tool.d.ts +3 -0
- package/dist/cli/mcp/tools/cognitive-summary-tool.d.ts.map +1 -0
- package/dist/cli/mcp/tools/cognitive-summary-tool.js +118 -0
- package/dist/cli/mcp/tools/cognitive-summary-tool.js.map +1 -0
- package/dist/cli/mcp/tools/gim-tools.d.ts +3 -0
- package/dist/cli/mcp/tools/gim-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/gim-tools.js +78 -0
- package/dist/cli/mcp/tools/gim-tools.js.map +1 -0
- package/dist/cli/mcp/tools/git-history-analyze-tool.d.ts +3 -0
- package/dist/cli/mcp/tools/git-history-analyze-tool.d.ts.map +1 -0
- package/dist/cli/mcp/tools/git-history-analyze-tool.js +172 -0
- package/dist/cli/mcp/tools/git-history-analyze-tool.js.map +1 -0
- package/dist/cli/mcp/tools/git-history-evidence-pack-tool.d.ts +3 -0
- package/dist/cli/mcp/tools/git-history-evidence-pack-tool.d.ts.map +1 -0
- package/dist/cli/mcp/tools/git-history-evidence-pack-tool.js +87 -0
- package/dist/cli/mcp/tools/git-history-evidence-pack-tool.js.map +1 -0
- package/dist/cli/mcp/tools/git-history-tools.d.ts +3 -0
- package/dist/cli/mcp/tools/git-history-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/git-history-tools.js +125 -0
- package/dist/cli/mcp/tools/git-history-tools.js.map +1 -0
- package/dist/cli/mcp/tools/metric-trend-tools.d.ts +8 -0
- package/dist/cli/mcp/tools/metric-trend-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/metric-trend-tools.js +50 -0
- package/dist/cli/mcp/tools/metric-trend-tools.js.map +1 -0
- package/dist/cli/mcp/tools/package-metrics-tools.d.ts +7 -0
- package/dist/cli/mcp/tools/package-metrics-tools.d.ts.map +1 -0
- package/dist/cli/mcp/tools/package-metrics-tools.js +62 -0
- package/dist/cli/mcp/tools/package-metrics-tools.js.map +1 -0
- package/dist/cli/mcp/tools/test-analysis-tools.d.ts.map +1 -1
- package/dist/cli/mcp/tools/test-analysis-tools.js +75 -84
- package/dist/cli/mcp/tools/test-analysis-tools.js.map +1 -1
- package/dist/cli/metrics-history-writer.d.ts +16 -0
- package/dist/cli/metrics-history-writer.d.ts.map +1 -0
- package/dist/cli/metrics-history-writer.js +16 -0
- package/dist/cli/metrics-history-writer.js.map +1 -0
- package/dist/cli/processors/arch-json-provider-types.d.ts +17 -0
- package/dist/cli/processors/arch-json-provider-types.d.ts.map +1 -0
- package/dist/cli/processors/arch-json-provider-types.js +2 -0
- package/dist/cli/processors/arch-json-provider-types.js.map +1 -0
- package/dist/cli/processors/arch-json-provider.d.ts +9 -13
- package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
- package/dist/cli/processors/arch-json-provider.js +144 -117
- package/dist/cli/processors/arch-json-provider.js.map +1 -1
- package/dist/cli/processors/arch-json-utils.d.ts +4 -0
- package/dist/cli/processors/arch-json-utils.d.ts.map +1 -0
- package/dist/cli/processors/arch-json-utils.js +82 -0
- package/dist/cli/processors/arch-json-utils.js.map +1 -0
- package/dist/cli/processors/diagram-output-router.d.ts +3 -1
- package/dist/cli/processors/diagram-output-router.d.ts.map +1 -1
- package/dist/cli/processors/diagram-output-router.js +28 -3
- package/dist/cli/processors/diagram-output-router.js.map +1 -1
- package/dist/cli/processors/diagram-pipeline-runner.d.ts +20 -0
- package/dist/cli/processors/diagram-pipeline-runner.d.ts.map +1 -0
- package/dist/cli/processors/diagram-pipeline-runner.js +171 -0
- package/dist/cli/processors/diagram-pipeline-runner.js.map +1 -0
- package/dist/cli/processors/diagram-processor.d.ts +15 -8
- package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
- package/dist/cli/processors/diagram-processor.js +21 -148
- package/dist/cli/processors/diagram-processor.js.map +1 -1
- package/dist/cli/processors/query-scope-collector.d.ts +11 -0
- package/dist/cli/processors/query-scope-collector.d.ts.map +1 -0
- package/dist/cli/processors/query-scope-collector.js +44 -0
- package/dist/cli/processors/query-scope-collector.js.map +1 -0
- package/dist/cli/processors/test-coverage-writer.d.ts +4 -0
- package/dist/cli/processors/test-coverage-writer.d.ts.map +1 -0
- package/dist/cli/processors/test-coverage-writer.js +22 -0
- package/dist/cli/processors/test-coverage-writer.js.map +1 -0
- package/dist/cli/processors/worker-pool-factory.d.ts +9 -0
- package/dist/cli/processors/worker-pool-factory.d.ts.map +1 -0
- package/dist/cli/processors/worker-pool-factory.js +31 -0
- package/dist/cli/processors/worker-pool-factory.js.map +1 -0
- package/dist/cli/{progress.d.ts → progress/index.d.ts} +1 -1
- package/dist/cli/progress/index.d.ts.map +1 -0
- package/dist/cli/{progress.js → progress/index.js} +1 -1
- package/dist/cli/progress/index.js.map +1 -0
- package/dist/cli/query/arch-index-builder.d.ts +1 -3
- package/dist/cli/query/arch-index-builder.d.ts.map +1 -1
- package/dist/cli/query/arch-index-builder.js +1 -125
- package/dist/cli/query/arch-index-builder.js.map +1 -1
- package/dist/cli/query/arch-index.d.ts +2 -16
- package/dist/cli/query/arch-index.d.ts.map +1 -1
- package/dist/cli/query/arch-index.js +1 -1
- package/dist/cli/query/arch-index.js.map +1 -1
- package/dist/cli/query/engine-loader.d.ts +9 -1
- package/dist/cli/query/engine-loader.d.ts.map +1 -1
- package/dist/cli/query/engine-loader.js +5 -1
- package/dist/cli/query/engine-loader.js.map +1 -1
- package/dist/cli/query/query-artifacts.d.ts.map +1 -1
- package/dist/cli/query/query-artifacts.js +2 -1
- package/dist/cli/query/query-artifacts.js.map +1 -1
- package/dist/cli/query/query-engine.d.ts +3 -105
- package/dist/cli/query/query-engine.d.ts.map +1 -1
- package/dist/cli/query/query-engine.js +1 -417
- package/dist/cli/query/query-engine.js.map +1 -1
- package/dist/cli/utils/java-project-structure-detector.js +1 -1
- package/dist/cli/utils/java-project-structure-detector.js.map +1 -1
- package/dist/cli/utils/kotlin-project-structure-detector.d.ts +7 -0
- package/dist/cli/utils/kotlin-project-structure-detector.d.ts.map +1 -0
- package/dist/cli/utils/kotlin-project-structure-detector.js +101 -0
- package/dist/cli/utils/kotlin-project-structure-detector.js.map +1 -0
- package/dist/cli/utils/output-path-resolver.d.ts.map +1 -1
- package/dist/cli/utils/output-path-resolver.js.map +1 -1
- package/dist/cli/utils/project-language-detector.d.ts +1 -1
- package/dist/cli/utils/project-language-detector.d.ts.map +1 -1
- package/dist/cli/utils/project-language-detector.js +5 -1
- package/dist/cli/utils/project-language-detector.js.map +1 -1
- package/dist/cli/utils/project-structure-detector.js +3 -3
- package/dist/cli/utils/project-structure-detector.js.map +1 -1
- package/dist/cli/utils/test-output-writer.d.ts +1 -1
- package/dist/cli/utils/test-output-writer.d.ts.map +1 -1
- package/dist/cli/utils/test-output-writer.js.map +1 -1
- package/dist/core/entity-type-registry.d.ts +10 -0
- package/dist/core/entity-type-registry.d.ts.map +1 -0
- package/dist/core/entity-type-registry.js +17 -0
- package/dist/core/entity-type-registry.js.map +1 -0
- package/dist/core/interfaces/dependency.d.ts +1 -1
- package/dist/core/interfaces/dependency.d.ts.map +1 -1
- package/dist/core/interfaces/index.d.ts +2 -0
- package/dist/core/interfaces/index.d.ts.map +1 -1
- package/dist/core/interfaces/index.js.map +1 -1
- package/dist/core/interfaces/language-plugin.d.ts +8 -1
- package/dist/core/interfaces/language-plugin.d.ts.map +1 -1
- package/dist/core/interfaces/parser-facade.d.ts +5 -0
- package/dist/core/interfaces/parser-facade.d.ts.map +1 -0
- package/dist/core/interfaces/parser-facade.js +2 -0
- package/dist/core/interfaces/parser-facade.js.map +1 -0
- package/dist/core/interfaces/renderer-facade.d.ts +8 -0
- package/dist/core/interfaces/renderer-facade.d.ts.map +1 -0
- package/dist/core/interfaces/renderer-facade.js +2 -0
- package/dist/core/interfaces/renderer-facade.js.map +1 -0
- package/dist/core/interfaces/validation.d.ts.map +1 -1
- package/dist/core/plugin-registry.d.ts.map +1 -1
- package/dist/core/plugin-registry.js +2 -0
- package/dist/core/plugin-registry.js.map +1 -1
- package/dist/core/query/arch-index-builder.d.ts +4 -0
- package/dist/core/query/arch-index-builder.d.ts.map +1 -0
- package/dist/core/query/arch-index-builder.js +126 -0
- package/dist/core/query/arch-index-builder.js.map +1 -0
- package/dist/core/query/arch-index.d.ts +17 -0
- package/dist/core/query/arch-index.d.ts.map +1 -0
- package/dist/core/query/arch-index.js +2 -0
- package/dist/core/query/arch-index.js.map +1 -0
- package/dist/core/query/arch-metrics-cognitive.d.ts +32 -0
- package/dist/core/query/arch-metrics-cognitive.d.ts.map +1 -0
- package/dist/core/query/arch-metrics-cognitive.js +60 -0
- package/dist/core/query/arch-metrics-cognitive.js.map +1 -0
- package/dist/core/query/arch-metrics-quality.d.ts +24 -0
- package/dist/core/query/arch-metrics-quality.d.ts.map +1 -0
- package/dist/core/query/arch-metrics-quality.js +86 -0
- package/dist/core/query/arch-metrics-quality.js.map +1 -0
- package/dist/core/query/arch-metrics-structure.d.ts +43 -0
- package/dist/core/query/arch-metrics-structure.d.ts.map +1 -0
- package/dist/core/query/arch-metrics-structure.js +291 -0
- package/dist/core/query/arch-metrics-structure.js.map +1 -0
- package/dist/core/query/arch-metrics.d.ts +54 -0
- package/dist/core/query/arch-metrics.d.ts.map +1 -0
- package/dist/core/query/arch-metrics.js +42 -0
- package/dist/core/query/arch-metrics.js.map +1 -0
- package/dist/core/query/edge-list-serializer.d.ts +4 -0
- package/dist/core/query/edge-list-serializer.d.ts.map +1 -0
- package/dist/core/query/edge-list-serializer.js +24 -0
- package/dist/core/query/edge-list-serializer.js.map +1 -0
- package/dist/core/query/entity-query-service.d.ts +15 -0
- package/dist/core/query/entity-query-service.d.ts.map +1 -0
- package/dist/core/query/entity-query-service.js +51 -0
- package/dist/core/query/entity-query-service.js.map +1 -0
- package/dist/core/query/extension-accessor.d.ts +15 -0
- package/dist/core/query/extension-accessor.d.ts.map +1 -0
- package/dist/core/query/extension-accessor.js +28 -0
- package/dist/core/query/extension-accessor.js.map +1 -0
- package/dist/core/query/index.d.ts +8 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/index.js +6 -0
- package/dist/core/query/index.js.map +1 -0
- package/dist/core/query/output-scope-filter.d.ts +6 -0
- package/dist/core/query/output-scope-filter.d.ts.map +1 -0
- package/dist/core/query/output-scope-filter.js +45 -0
- package/dist/core/query/output-scope-filter.js.map +1 -0
- package/dist/core/query/query-engine.d.ts +116 -0
- package/dist/core/query/query-engine.d.ts.map +1 -0
- package/dist/core/query/query-engine.js +105 -0
- package/dist/core/query/query-engine.js.map +1 -0
- package/dist/core/query/relation-query-service.d.ts +21 -0
- package/dist/core/query/relation-query-service.d.ts.map +1 -0
- package/dist/core/query/relation-query-service.js +124 -0
- package/dist/core/query/relation-query-service.js.map +1 -0
- package/dist/mermaid/auto-repair.d.ts +1 -1
- package/dist/mermaid/auto-repair.d.ts.map +1 -1
- package/dist/mermaid/auto-repair.js +6 -6
- package/dist/mermaid/auto-repair.js.map +1 -1
- package/dist/mermaid/cpp-package-flowchart-generator.js +1 -1
- package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -1
- package/dist/mermaid/diagram-generator.d.ts +2 -1
- package/dist/mermaid/diagram-generator.d.ts.map +1 -1
- package/dist/mermaid/diagram-generator.js +17 -16
- package/dist/mermaid/diagram-generator.js.map +1 -1
- package/dist/mermaid/generator-formatting.d.ts +1 -1
- package/dist/mermaid/generator-formatting.d.ts.map +1 -1
- package/dist/mermaid/generator-formatting.js +2 -0
- package/dist/mermaid/generator-formatting.js.map +1 -1
- package/dist/mermaid/generator-validation.d.ts.map +1 -1
- package/dist/mermaid/generator-validation.js.map +1 -1
- package/dist/mermaid/generator.d.ts +5 -10
- package/dist/mermaid/generator.d.ts.map +1 -1
- package/dist/mermaid/generator.js +210 -227
- package/dist/mermaid/generator.js.map +1 -1
- package/dist/mermaid/grouper.d.ts.map +1 -1
- package/dist/mermaid/grouper.js.map +1 -1
- package/dist/mermaid/renderer.d.ts.map +1 -1
- package/dist/mermaid/renderer.js +1 -1
- package/dist/mermaid/renderer.js.map +1 -1
- package/dist/mermaid/test-coverage-renderer.d.ts +1 -1
- package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -1
- package/dist/mermaid/test-coverage-renderer.js +18 -12
- package/dist/mermaid/test-coverage-renderer.js.map +1 -1
- package/dist/mermaid/ts-module-graph-renderer.d.ts +6 -2
- package/dist/mermaid/ts-module-graph-renderer.d.ts.map +1 -1
- package/dist/mermaid/ts-module-graph-renderer.js +49 -2
- package/dist/mermaid/ts-module-graph-renderer.js.map +1 -1
- package/dist/mermaid/validator-quality.js +1 -1
- package/dist/mermaid/validator-quality.js.map +1 -1
- package/dist/mermaid/validator-render.js +1 -1
- package/dist/mermaid/validator-render.js.map +1 -1
- package/dist/parser/archjson-aggregator.d.ts +1 -0
- package/dist/parser/archjson-aggregator.d.ts.map +1 -1
- package/dist/parser/archjson-aggregator.js +38 -8
- package/dist/parser/archjson-aggregator.js.map +1 -1
- package/dist/parser/call-edge-extractor.d.ts +13 -0
- package/dist/parser/call-edge-extractor.d.ts.map +1 -0
- package/dist/parser/call-edge-extractor.js +70 -0
- package/dist/parser/call-edge-extractor.js.map +1 -0
- package/dist/parser/metrics-calculator.d.ts.map +1 -1
- package/dist/parser/metrics-calculator.js +2 -1
- package/dist/parser/metrics-calculator.js.map +1 -1
- package/dist/parser/parallel-parser.d.ts +12 -1
- package/dist/parser/parallel-parser.d.ts.map +1 -1
- package/dist/parser/parallel-parser.js +80 -37
- package/dist/parser/parallel-parser.js.map +1 -1
- package/dist/parser/parse-worker-pool.d.ts +59 -0
- package/dist/parser/parse-worker-pool.d.ts.map +1 -0
- package/dist/parser/parse-worker-pool.js +170 -0
- package/dist/parser/parse-worker-pool.js.map +1 -0
- package/dist/parser/parse-worker.d.ts +2 -0
- package/dist/parser/parse-worker.d.ts.map +1 -0
- package/dist/parser/parse-worker.js +71 -0
- package/dist/parser/parse-worker.js.map +1 -0
- package/dist/parser/process-parse-worker-pools.d.ts +18 -0
- package/dist/parser/process-parse-worker-pools.d.ts.map +1 -0
- package/dist/parser/process-parse-worker-pools.js +31 -0
- package/dist/parser/process-parse-worker-pools.js.map +1 -0
- package/dist/parser/relation-extractor.d.ts +1 -0
- package/dist/parser/relation-extractor.d.ts.map +1 -1
- package/dist/parser/relation-extractor.js +84 -4
- package/dist/parser/relation-extractor.js.map +1 -1
- package/dist/parser/typescript-parser.d.ts +2 -0
- package/dist/parser/typescript-parser.d.ts.map +1 -1
- package/dist/parser/typescript-parser.js +44 -5
- package/dist/parser/typescript-parser.js.map +1 -1
- package/dist/plugins/cpp/archjson-mapper.d.ts.map +1 -1
- package/dist/plugins/cpp/archjson-mapper.js.map +1 -1
- package/dist/plugins/cpp/builders/class-builder.d.ts +2 -2
- package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -1
- package/dist/plugins/cpp/builders/class-builder.js +6 -1
- package/dist/plugins/cpp/builders/class-builder.js.map +1 -1
- package/dist/plugins/cpp/index.d.ts +7 -4
- package/dist/plugins/cpp/index.d.ts.map +1 -1
- package/dist/plugins/cpp/index.js +47 -9
- package/dist/plugins/cpp/index.js.map +1 -1
- package/dist/plugins/cpp/tree-sitter-bridge.d.ts +3 -2
- package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -1
- package/dist/plugins/cpp/tree-sitter-bridge.js +27 -22
- package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -1
- package/dist/plugins/golang/archjson-mapper.d.ts +3 -1
- package/dist/plugins/golang/archjson-mapper.d.ts.map +1 -1
- package/dist/plugins/golang/archjson-mapper.js +56 -1
- package/dist/plugins/golang/archjson-mapper.js.map +1 -1
- package/dist/plugins/golang/atlas/behavior-analyzer.d.ts +2 -1
- package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/behavior-analyzer.js +2 -2
- package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -1
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts +5 -1
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.js +43 -1
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.js.map +1 -1
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts +3 -0
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.js +166 -6
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -1
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js +12 -5
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -1
- package/dist/plugins/golang/atlas/builders/package-graph-builder.js +5 -5
- package/dist/plugins/golang/atlas/builders/package-graph-builder.js.map +1 -1
- package/dist/plugins/golang/atlas/framework-detector.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/framework-detector.js +2 -0
- package/dist/plugins/golang/atlas/framework-detector.js.map +1 -1
- package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/go-mod-resolver.js +3 -3
- package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.js +32 -2
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.js +16 -5
- package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/flow-mermaid-template.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/package-mermaid-template.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/package-mermaid-template.js +5 -5
- package/dist/plugins/golang/atlas/renderers/package-mermaid-template.js.map +1 -1
- package/dist/plugins/golang/atlas/renderers/template-shared.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/renderers/template-shared.js.map +1 -1
- package/dist/plugins/golang/atlas/types.d.ts +9 -3
- package/dist/plugins/golang/atlas/types.d.ts.map +1 -1
- package/dist/plugins/golang/atlas/types.js +1 -1
- package/dist/plugins/golang/atlas/types.js.map +1 -1
- package/dist/plugins/golang/builders/function-builder.d.ts +19 -0
- package/dist/plugins/golang/builders/function-builder.d.ts.map +1 -0
- package/dist/plugins/golang/builders/function-builder.js +206 -0
- package/dist/plugins/golang/builders/function-builder.js.map +1 -0
- package/dist/plugins/golang/builders/goroutine-builder.d.ts +11 -0
- package/dist/plugins/golang/builders/goroutine-builder.d.ts.map +1 -0
- package/dist/plugins/golang/builders/goroutine-builder.js +147 -0
- package/dist/plugins/golang/builders/goroutine-builder.js.map +1 -0
- package/dist/plugins/golang/builders/interface-builder.d.ts +9 -0
- package/dist/plugins/golang/builders/interface-builder.d.ts.map +1 -0
- package/dist/plugins/golang/builders/interface-builder.js +126 -0
- package/dist/plugins/golang/builders/interface-builder.js.map +1 -0
- package/dist/plugins/golang/builders/node-utils.d.ts +8 -0
- package/dist/plugins/golang/builders/node-utils.d.ts.map +1 -0
- package/dist/plugins/golang/builders/node-utils.js +18 -0
- package/dist/plugins/golang/builders/node-utils.js.map +1 -0
- package/dist/plugins/golang/builders/struct-builder.d.ts +12 -0
- package/dist/plugins/golang/builders/struct-builder.d.ts.map +1 -0
- package/dist/plugins/golang/builders/struct-builder.js +81 -0
- package/dist/plugins/golang/builders/struct-builder.js.map +1 -0
- package/dist/plugins/golang/go-atlas-adapter.d.ts +11 -0
- package/dist/plugins/golang/go-atlas-adapter.d.ts.map +1 -0
- package/dist/plugins/golang/go-atlas-adapter.js +47 -0
- package/dist/plugins/golang/go-atlas-adapter.js.map +1 -0
- package/dist/plugins/golang/go-atlas-coordinator.d.ts +12 -0
- package/dist/plugins/golang/go-atlas-coordinator.d.ts.map +1 -0
- package/dist/plugins/golang/go-atlas-coordinator.js +76 -0
- package/dist/plugins/golang/go-atlas-coordinator.js.map +1 -0
- package/dist/plugins/golang/go-mod-reader.d.ts +2 -0
- package/dist/plugins/golang/go-mod-reader.d.ts.map +1 -0
- package/dist/plugins/golang/go-mod-reader.js +12 -0
- package/dist/plugins/golang/go-mod-reader.js.map +1 -0
- package/dist/plugins/golang/go-parse-coordinator.d.ts +31 -0
- package/dist/plugins/golang/go-parse-coordinator.d.ts.map +1 -0
- package/dist/plugins/golang/go-parse-coordinator.js +175 -0
- package/dist/plugins/golang/go-parse-coordinator.js.map +1 -0
- package/dist/plugins/golang/go-test-analyzer.d.ts +10 -0
- package/dist/plugins/golang/go-test-analyzer.d.ts.map +1 -0
- package/dist/plugins/golang/go-test-analyzer.js +90 -0
- package/dist/plugins/golang/go-test-analyzer.js.map +1 -0
- package/dist/plugins/golang/gopls-client.d.ts +31 -2
- package/dist/plugins/golang/gopls-client.d.ts.map +1 -1
- package/dist/plugins/golang/gopls-client.js +234 -36
- package/dist/plugins/golang/gopls-client.js.map +1 -1
- package/dist/plugins/golang/gopls-interface-resolver.d.ts +32 -0
- package/dist/plugins/golang/gopls-interface-resolver.d.ts.map +1 -0
- package/dist/plugins/golang/gopls-interface-resolver.js +80 -0
- package/dist/plugins/golang/gopls-interface-resolver.js.map +1 -0
- package/dist/plugins/golang/index.d.ts +15 -18
- package/dist/plugins/golang/index.d.ts.map +1 -1
- package/dist/plugins/golang/index.js +59 -327
- package/dist/plugins/golang/index.js.map +1 -1
- package/dist/plugins/golang/interface-matcher.d.ts.map +1 -1
- package/dist/plugins/golang/interface-matcher.js +32 -30
- package/dist/plugins/golang/interface-matcher.js.map +1 -1
- package/dist/plugins/golang/tree-sitter-bridge.d.ts +7 -26
- package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -1
- package/dist/plugins/golang/tree-sitter-bridge.js +36 -544
- package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -1
- package/dist/plugins/golang/types.d.ts +5 -0
- package/dist/plugins/golang/types.d.ts.map +1 -1
- package/dist/plugins/java/archjson-mapper.d.ts +3 -1
- package/dist/plugins/java/archjson-mapper.d.ts.map +1 -1
- package/dist/plugins/java/archjson-mapper.js +123 -0
- package/dist/plugins/java/archjson-mapper.js.map +1 -1
- package/dist/plugins/java/dependency-extractor.js +2 -2
- package/dist/plugins/java/dependency-extractor.js.map +1 -1
- package/dist/plugins/java/index.d.ts +6 -2
- package/dist/plugins/java/index.d.ts.map +1 -1
- package/dist/plugins/java/index.js +85 -17
- package/dist/plugins/java/index.js.map +1 -1
- package/dist/plugins/java/maven-crossmodule-parser.d.ts +9 -0
- package/dist/plugins/java/maven-crossmodule-parser.d.ts.map +1 -0
- package/dist/plugins/java/maven-crossmodule-parser.js +54 -0
- package/dist/plugins/java/maven-crossmodule-parser.js.map +1 -0
- package/dist/plugins/java/tree-sitter-bridge.d.ts +5 -2
- package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -1
- package/dist/plugins/java/tree-sitter-bridge.js +103 -38
- package/dist/plugins/java/tree-sitter-bridge.js.map +1 -1
- package/dist/plugins/java/types.d.ts +7 -0
- package/dist/plugins/java/types.d.ts.map +1 -1
- package/dist/plugins/kotlin/archjson-mapper.d.ts +12 -0
- package/dist/plugins/kotlin/archjson-mapper.d.ts.map +1 -0
- package/dist/plugins/kotlin/archjson-mapper.js +157 -0
- package/dist/plugins/kotlin/archjson-mapper.js.map +1 -0
- package/dist/plugins/kotlin/builders/class-builder.d.ts +27 -0
- package/dist/plugins/kotlin/builders/class-builder.d.ts.map +1 -0
- package/dist/plugins/kotlin/builders/class-builder.js +366 -0
- package/dist/plugins/kotlin/builders/class-builder.js.map +1 -0
- package/dist/plugins/kotlin/builders/function-builder.d.ts +16 -0
- package/dist/plugins/kotlin/builders/function-builder.d.ts.map +1 -0
- package/dist/plugins/kotlin/builders/function-builder.js +172 -0
- package/dist/plugins/kotlin/builders/function-builder.js.map +1 -0
- package/dist/plugins/kotlin/builders/import-resolver.d.ts +5 -0
- package/dist/plugins/kotlin/builders/import-resolver.d.ts.map +1 -0
- package/dist/plugins/kotlin/builders/import-resolver.js +10 -0
- package/dist/plugins/kotlin/builders/import-resolver.js.map +1 -0
- package/dist/plugins/kotlin/dependency-extractor.d.ts +13 -0
- package/dist/plugins/kotlin/dependency-extractor.d.ts.map +1 -0
- package/dist/plugins/kotlin/dependency-extractor.js +104 -0
- package/dist/plugins/kotlin/dependency-extractor.js.map +1 -0
- package/dist/plugins/kotlin/index.d.ts +29 -0
- package/dist/plugins/kotlin/index.d.ts.map +1 -0
- package/dist/plugins/kotlin/index.js +246 -0
- package/dist/plugins/kotlin/index.js.map +1 -0
- package/dist/plugins/kotlin/kotlin-type-extractor.d.ts +7 -0
- package/dist/plugins/kotlin/kotlin-type-extractor.d.ts.map +1 -0
- package/dist/plugins/kotlin/kotlin-type-extractor.js +96 -0
- package/dist/plugins/kotlin/kotlin-type-extractor.js.map +1 -0
- package/dist/plugins/kotlin/tree-sitter-bridge.d.ts +15 -0
- package/dist/plugins/kotlin/tree-sitter-bridge.d.ts.map +1 -0
- package/dist/plugins/kotlin/tree-sitter-bridge.js +78 -0
- package/dist/plugins/kotlin/tree-sitter-bridge.js.map +1 -0
- package/dist/plugins/kotlin/types.d.ts +48 -0
- package/dist/plugins/kotlin/types.d.ts.map +1 -0
- package/dist/plugins/kotlin/types.js +2 -0
- package/dist/plugins/kotlin/types.js.map +1 -0
- package/dist/plugins/python/archjson-mapper.d.ts +7 -2
- package/dist/plugins/python/archjson-mapper.d.ts.map +1 -1
- package/dist/plugins/python/archjson-mapper.js +117 -10
- package/dist/plugins/python/archjson-mapper.js.map +1 -1
- package/dist/plugins/python/dependency-extractor.js +1 -1
- package/dist/plugins/python/dependency-extractor.js.map +1 -1
- package/dist/plugins/python/import-extractor.d.ts +11 -0
- package/dist/plugins/python/import-extractor.d.ts.map +1 -0
- package/dist/plugins/python/import-extractor.js +67 -0
- package/dist/plugins/python/import-extractor.js.map +1 -0
- package/dist/plugins/python/index.d.ts +8 -3
- package/dist/plugins/python/index.d.ts.map +1 -1
- package/dist/plugins/python/index.js +98 -12
- package/dist/plugins/python/index.js.map +1 -1
- package/dist/plugins/python/tree-sitter-bridge.d.ts +5 -2
- package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -1
- package/dist/plugins/python/tree-sitter-bridge.js +117 -49
- package/dist/plugins/python/tree-sitter-bridge.js.map +1 -1
- package/dist/plugins/python/types.d.ts +6 -0
- package/dist/plugins/python/types.d.ts.map +1 -1
- package/dist/plugins/shared/mapper-utils.d.ts +1 -1
- package/dist/plugins/shared/mapper-utils.d.ts.map +1 -1
- package/dist/plugins/shared/mapper-utils.js.map +1 -1
- package/dist/plugins/shared/native-parser-backend.d.ts +33 -0
- package/dist/plugins/shared/native-parser-backend.d.ts.map +1 -0
- package/dist/plugins/shared/native-parser-backend.js +84 -0
- package/dist/plugins/shared/native-parser-backend.js.map +1 -0
- package/dist/plugins/shared/parser-backend.d.ts +13 -0
- package/dist/plugins/shared/parser-backend.d.ts.map +1 -0
- package/dist/plugins/shared/parser-backend.js +38 -0
- package/dist/plugins/shared/parser-backend.js.map +1 -0
- package/dist/plugins/shared/parser-runtime.d.ts +32 -0
- package/dist/plugins/shared/parser-runtime.d.ts.map +1 -0
- package/dist/plugins/shared/parser-runtime.js +152 -0
- package/dist/plugins/shared/parser-runtime.js.map +1 -0
- package/dist/plugins/shared/plugin-factory.d.ts +5 -0
- package/dist/plugins/shared/plugin-factory.d.ts.map +1 -0
- package/dist/plugins/shared/plugin-factory.js +27 -0
- package/dist/plugins/shared/plugin-factory.js.map +1 -0
- package/dist/plugins/shared/syntax-tree.d.ts +32 -0
- package/dist/plugins/shared/syntax-tree.d.ts.map +1 -0
- package/dist/plugins/shared/syntax-tree.js +2 -0
- package/dist/plugins/shared/syntax-tree.js.map +1 -0
- package/dist/plugins/shared/wasm-parser-backend.d.ts +18 -0
- package/dist/plugins/shared/wasm-parser-backend.d.ts.map +1 -0
- package/dist/plugins/shared/wasm-parser-backend.js +118 -0
- package/dist/plugins/shared/wasm-parser-backend.js.map +1 -0
- package/dist/plugins/typescript/builders/module-graph-builder.d.ts +2 -2
- package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -1
- package/dist/plugins/typescript/builders/module-graph-builder.js +31 -9
- package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -1
- package/dist/plugins/typescript/index.d.ts +3 -2
- package/dist/plugins/typescript/index.d.ts.map +1 -1
- package/dist/plugins/typescript/index.js +116 -10
- package/dist/plugins/typescript/index.js.map +1 -1
- package/dist/plugins/typescript/typescript-analyzer.d.ts +2 -2
- package/dist/plugins/typescript/typescript-analyzer.d.ts.map +1 -1
- package/dist/plugins/typescript/typescript-analyzer.js +1 -1
- package/dist/plugins/typescript/typescript-analyzer.js.map +1 -1
- package/dist/types/cognitive-summary.d.ts +20 -0
- package/dist/types/cognitive-summary.d.ts.map +1 -0
- package/dist/types/cognitive-summary.js +2 -0
- package/dist/types/cognitive-summary.js.map +1 -0
- package/dist/types/config-cli.d.ts +4 -0
- package/dist/types/config-cli.d.ts.map +1 -1
- package/dist/types/config-global.d.ts +10 -0
- package/dist/types/config-global.d.ts.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/{extensions.d.ts → extensions/go-atlas.d.ts} +5 -106
- package/dist/types/extensions/go-atlas.d.ts.map +1 -0
- package/dist/types/extensions/go-atlas.js +2 -0
- package/dist/types/extensions/go-atlas.js.map +1 -0
- package/dist/types/extensions/index.d.ts +15 -0
- package/dist/types/extensions/index.d.ts.map +1 -0
- package/dist/types/extensions/index.js +5 -0
- package/dist/types/extensions/index.js.map +1 -0
- package/dist/types/extensions/project-semantics.d.ts +55 -0
- package/dist/types/extensions/project-semantics.d.ts.map +1 -0
- package/dist/types/extensions/project-semantics.js +126 -0
- package/dist/types/extensions/project-semantics.js.map +1 -0
- package/dist/types/extensions/test-analysis.d.ts +68 -0
- package/dist/types/extensions/test-analysis.d.ts.map +1 -0
- package/dist/types/extensions/test-analysis.js +2 -0
- package/dist/types/extensions/test-analysis.js.map +1 -0
- package/dist/types/extensions/ts-analysis.d.ts +33 -0
- package/dist/types/extensions/ts-analysis.d.ts.map +1 -0
- package/dist/types/extensions/ts-analysis.js +2 -0
- package/dist/types/extensions/ts-analysis.js.map +1 -0
- package/dist/types/fitness-rules.d.ts +34 -0
- package/dist/types/fitness-rules.d.ts.map +1 -0
- package/dist/types/fitness-rules.js +2 -0
- package/dist/types/fitness-rules.js.map +1 -0
- package/dist/types/git-history.d.ts +68 -0
- package/dist/types/git-history.d.ts.map +1 -0
- package/dist/types/git-history.js +2 -0
- package/dist/types/git-history.js.map +1 -0
- package/dist/types/index.d.ts +38 -29
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/metric-vector.d.ts +17 -0
- package/dist/types/metric-vector.d.ts.map +1 -0
- package/dist/types/metric-vector.js +2 -0
- package/dist/types/metric-vector.js.map +1 -0
- package/dist/types/parser-runtime.d.ts +4 -0
- package/dist/types/parser-runtime.d.ts.map +1 -0
- package/dist/types/parser-runtime.js +5 -0
- package/dist/types/parser-runtime.js.map +1 -0
- package/dist/utils/cli-detector.js +2 -2
- package/dist/utils/cli-detector.js.map +1 -1
- package/dist/utils/tsconfig-finder.d.ts.map +1 -1
- package/dist/utils/tsconfig-finder.js +6 -1
- package/dist/utils/tsconfig-finder.js.map +1 -1
- package/package.json +32 -16
- package/dist/cli/cache-manager.d.ts.map +0 -1
- package/dist/cli/cache-manager.js.map +0 -1
- package/dist/cli/error-handler.d.ts +0 -15
- package/dist/cli/error-handler.d.ts.map +0 -1
- package/dist/cli/error-handler.js.map +0 -1
- package/dist/cli/errors.d.ts.map +0 -1
- package/dist/cli/errors.js +0 -31
- package/dist/cli/errors.js.map +0 -1
- package/dist/cli/progress.d.ts.map +0 -1
- package/dist/cli/progress.js.map +0 -1
- package/dist/types/extensions.d.ts.map +0 -1
- package/dist/types/extensions.js +0 -4
- package/dist/types/extensions.js.map +0 -1
- package/node_modules/node-addon-api/LICENSE.md +0 -9
- package/node_modules/node-addon-api/README.md +0 -95
- package/node_modules/node-addon-api/common.gypi +0 -21
- package/node_modules/node-addon-api/except.gypi +0 -25
- package/node_modules/node-addon-api/index.js +0 -14
- package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
- package/node_modules/node-addon-api/napi-inl.h +0 -7033
- package/node_modules/node-addon-api/napi.h +0 -3309
- package/node_modules/node-addon-api/node_addon_api.gyp +0 -42
- package/node_modules/node-addon-api/node_api.gyp +0 -9
- package/node_modules/node-addon-api/noexcept.gypi +0 -26
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +0 -21
- package/node_modules/node-addon-api/package.json +0 -480
- package/node_modules/node-addon-api/tools/README.md +0 -73
- package/node_modules/node-addon-api/tools/check-napi.js +0 -99
- package/node_modules/node-addon-api/tools/clang-format.js +0 -71
- package/node_modules/node-addon-api/tools/conversion.js +0 -301
- package/node_modules/node-gyp-build/README.md +0 -58
- package/node_modules/node-gyp-build/SECURITY.md +0 -5
- package/node_modules/node-gyp-build/bin.js +0 -84
- package/node_modules/node-gyp-build/build-test.js +0 -19
- package/node_modules/node-gyp-build/index.js +0 -6
- package/node_modules/node-gyp-build/node-gyp-build.js +0 -207
- package/node_modules/node-gyp-build/optional.js +0 -7
- package/node_modules/node-gyp-build/package.json +0 -43
- package/node_modules/tree-sitter/README.md +0 -128
- package/node_modules/tree-sitter/binding.gyp +0 -80
- package/node_modules/tree-sitter/index.js +0 -916
- package/node_modules/tree-sitter/package.json +0 -76
- package/node_modules/tree-sitter/prebuilds/linux-x64/node.napi.glibc.node +0 -0
- package/node_modules/tree-sitter/src/addon_data.h +0 -47
- package/node_modules/tree-sitter/src/binding.cc +0 -35
- package/node_modules/tree-sitter/src/conversions.cc +0 -140
- package/node_modules/tree-sitter/src/conversions.h +0 -22
- package/node_modules/tree-sitter/src/language.cc +0 -106
- package/node_modules/tree-sitter/src/language.h +0 -17
- package/node_modules/tree-sitter/src/logger.cc +0 -70
- package/node_modules/tree-sitter/src/logger.h +0 -19
- package/node_modules/tree-sitter/src/lookaheaditerator.cc +0 -122
- package/node_modules/tree-sitter/src/lookaheaditerator.h +0 -33
- package/node_modules/tree-sitter/src/node.cc +0 -1088
- package/node_modules/tree-sitter/src/node.h +0 -30
- package/node_modules/tree-sitter/src/parser.cc +0 -306
- package/node_modules/tree-sitter/src/parser.h +0 -35
- package/node_modules/tree-sitter/src/query.cc +0 -397
- package/node_modules/tree-sitter/src/query.h +0 -40
- package/node_modules/tree-sitter/src/tree.cc +0 -316
- package/node_modules/tree-sitter/src/tree.h +0 -45
- package/node_modules/tree-sitter/src/tree_cursor.cc +0 -213
- package/node_modules/tree-sitter/src/tree_cursor.h +0 -52
- package/node_modules/tree-sitter/tree-sitter.d.ts +0 -1042
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +0 -1478
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +0 -48
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +0 -41
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +0 -291
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +0 -68
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +0 -146
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +0 -11
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +0 -523
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +0 -36
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +0 -21
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +0 -293
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +0 -293
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +0 -52
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +0 -483
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +0 -54
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +0 -12
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +0 -875
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +0 -2293
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +0 -286
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +0 -48
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +0 -239
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +0 -4350
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +0 -34
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +0 -95
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +0 -911
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +0 -133
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +0 -1034
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +0 -399
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +0 -170
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +0 -31
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +0 -717
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +0 -48
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +0 -11
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +0 -1
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +0 -414
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +0 -29
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +0 -1
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +0 -448
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +0 -1
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +0 -1
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +0 -733
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +0 -881
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +0 -75
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +0 -24
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +0 -113
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -1314
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +0 -1935
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +0 -31
- package/scripts/postinstall-tree-sitter.mjs +0 -28
|
@@ -26,8 +26,7 @@ export class ArchJSONAggregator {
|
|
|
26
26
|
const packages = this.extractPackages(archJSON.entities, workspaceRoot, archJSON.language);
|
|
27
27
|
const packageRelations = this.analyzePackageDependencies(archJSON.entities, archJSON.relations, workspaceRoot, archJSON.language);
|
|
28
28
|
const packageEntities = packages.map((pkg) => {
|
|
29
|
-
const firstEntityInPackage = archJSON.entities.find((e) => this.
|
|
30
|
-
pkg);
|
|
29
|
+
const firstEntityInPackage = archJSON.entities.find((e) => this.extractPackageFromEntity(e, workspaceRoot, archJSON.language) === pkg);
|
|
31
30
|
return {
|
|
32
31
|
id: pkg,
|
|
33
32
|
name: pkg,
|
|
@@ -48,7 +47,7 @@ export class ArchJSONAggregator {
|
|
|
48
47
|
extractPackages(entities, workspaceRoot, language) {
|
|
49
48
|
const packages = new Set();
|
|
50
49
|
for (const entity of entities) {
|
|
51
|
-
const packageName = this.
|
|
50
|
+
const packageName = this.extractPackageFromEntity(entity, workspaceRoot, language);
|
|
52
51
|
packages.add(packageName);
|
|
53
52
|
}
|
|
54
53
|
return Array.from(packages)
|
|
@@ -89,6 +88,13 @@ export class ArchJSONAggregator {
|
|
|
89
88
|
}
|
|
90
89
|
return afterSrc.substring(0, firstSlashIndex);
|
|
91
90
|
}
|
|
91
|
+
extractPackageFromEntity(entity, workspaceRoot, language) {
|
|
92
|
+
if (language === 'kotlin') {
|
|
93
|
+
const lastDot = entity.id.lastIndexOf('.');
|
|
94
|
+
return lastDot > 0 ? entity.id.slice(0, lastDot) : '';
|
|
95
|
+
}
|
|
96
|
+
return this.extractPackageFromFile(entity.sourceLocation.file, workspaceRoot, language);
|
|
97
|
+
}
|
|
92
98
|
extractJavaMavenModule(relativePath, language) {
|
|
93
99
|
if (language !== 'java') {
|
|
94
100
|
return null;
|
|
@@ -96,18 +102,42 @@ export class ArchJSONAggregator {
|
|
|
96
102
|
const normalized = relativePath.replace(/\\/g, '/');
|
|
97
103
|
const match = normalized.match(/^([^/]+)\/src\/(?:main|test)\/java\//) ??
|
|
98
104
|
normalized.match(/\/([^/]+)\/src\/(?:main|test)\/java\//);
|
|
99
|
-
|
|
105
|
+
if (!match)
|
|
106
|
+
return null;
|
|
107
|
+
const moduleName = match[1];
|
|
108
|
+
if (/^java\d+$/.test(moduleName) || moduleName === 'META-INF') {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
return moduleName;
|
|
100
112
|
}
|
|
101
113
|
analyzePackageDependencies(entities, relations, workspaceRoot, language) {
|
|
102
114
|
const entityToPackage = new Map();
|
|
103
115
|
for (const entity of entities) {
|
|
104
|
-
const packageName = this.
|
|
116
|
+
const packageName = this.extractPackageFromEntity(entity, workspaceRoot, language);
|
|
105
117
|
entityToPackage.set(entity.id, packageName);
|
|
106
118
|
}
|
|
119
|
+
const moduleToPackage = new Map();
|
|
120
|
+
for (const [entityId, packageName] of entityToPackage) {
|
|
121
|
+
const lastDot = entityId.lastIndexOf('.');
|
|
122
|
+
if (lastDot > 0) {
|
|
123
|
+
const moduleId = entityId.slice(0, lastDot);
|
|
124
|
+
if (!moduleToPackage.has(moduleId)) {
|
|
125
|
+
moduleToPackage.set(moduleId, packageName);
|
|
126
|
+
}
|
|
127
|
+
let prefix = moduleId;
|
|
128
|
+
let dotIdx;
|
|
129
|
+
while ((dotIdx = prefix.lastIndexOf('.')) > 0) {
|
|
130
|
+
prefix = prefix.slice(0, dotIdx);
|
|
131
|
+
if (!moduleToPackage.has(prefix)) {
|
|
132
|
+
moduleToPackage.set(prefix, packageName);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
107
137
|
const packageRelationsMap = new Map();
|
|
108
138
|
for (const relation of relations) {
|
|
109
|
-
const sourcePackage = entityToPackage.get(relation.source);
|
|
110
|
-
const targetPackage = entityToPackage.get(relation.target);
|
|
139
|
+
const sourcePackage = entityToPackage.get(relation.source) ?? moduleToPackage.get(relation.source);
|
|
140
|
+
const targetPackage = entityToPackage.get(relation.target) ?? moduleToPackage.get(relation.target);
|
|
111
141
|
if (sourcePackage === undefined ||
|
|
112
142
|
targetPackage === undefined ||
|
|
113
143
|
sourcePackage === '' ||
|
|
@@ -118,7 +148,7 @@ export class ArchJSONAggregator {
|
|
|
118
148
|
const key = `${sourcePackage}:${targetPackage}:${relation.type}`;
|
|
119
149
|
if (!packageRelationsMap.has(key)) {
|
|
120
150
|
packageRelationsMap.set(key, {
|
|
121
|
-
id: `pkg-${sourcePackage}-${targetPackage}`,
|
|
151
|
+
id: `pkg-${sourcePackage}-${targetPackage}-${relation.type}`,
|
|
122
152
|
type: relation.type,
|
|
123
153
|
source: sourcePackage,
|
|
124
154
|
target: targetPackage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archjson-aggregator.js","sourceRoot":"","sources":["../../src/parser/archjson-aggregator.ts"],"names":[],"mappings":"AAYA,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,MAAM,OAAO,kBAAkB;IAQ7B,SAAS,CAAC,QAAkB,EAAE,KAAkB;QAC9C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ;gBAEX,OAAO,QAAQ,CAAC;YAElB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE9C,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAEhD;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAQO,qBAAqB,CAAC,QAAkB;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAC9E;aACF,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAQO,uBAAuB,CAAC,QAAkB;QAChD,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CACtD,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,SAAS,EAClB,aAAa,EACb,QAAQ,CAAC,QAAQ,CAClB,CAAC;QAGF,MAAM,eAAe,GAAa,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"archjson-aggregator.js","sourceRoot":"","sources":["../../src/parser/archjson-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Project } from 'ts-morph';
|
|
2
|
+
import type { Relation, Entity } from '../types/index.js';
|
|
3
|
+
export declare class CallEdgeExtractor {
|
|
4
|
+
private readonly project;
|
|
5
|
+
private readonly workspaceRoot;
|
|
6
|
+
private readonly projectEntityNames;
|
|
7
|
+
private readonly nameToEntityId;
|
|
8
|
+
constructor(project: Project, entities: Entity[], workspaceRoot: string);
|
|
9
|
+
extractAll(): Relation[];
|
|
10
|
+
private toRelPath;
|
|
11
|
+
private extractFromFile;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=call-edge-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-edge-extractor.d.ts","sourceRoot":"","sources":["../../src/parser/call-edge-extractor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAqC,MAAM,UAAU,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAPhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAc;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;gBAGlC,OAAO,EAAE,OAAO,EACjC,QAAQ,EAAE,MAAM,EAAE,EACD,aAAa,EAAE,MAAM;IAMxC,UAAU,IAAI,QAAQ,EAAE;IASxB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;CAkDxB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { Node, SyntaxKind } from 'ts-morph';
|
|
3
|
+
export class CallEdgeExtractor {
|
|
4
|
+
project;
|
|
5
|
+
workspaceRoot;
|
|
6
|
+
projectEntityNames;
|
|
7
|
+
nameToEntityId;
|
|
8
|
+
constructor(project, entities, workspaceRoot) {
|
|
9
|
+
this.project = project;
|
|
10
|
+
this.workspaceRoot = workspaceRoot;
|
|
11
|
+
this.projectEntityNames = new Set(entities.map((e) => e.name));
|
|
12
|
+
this.nameToEntityId = new Map(entities.map((e) => [e.name, e.id]));
|
|
13
|
+
}
|
|
14
|
+
extractAll() {
|
|
15
|
+
const relations = [];
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
for (const sourceFile of this.project.getSourceFiles()) {
|
|
18
|
+
this.extractFromFile(sourceFile, seen, relations);
|
|
19
|
+
}
|
|
20
|
+
return relations;
|
|
21
|
+
}
|
|
22
|
+
toRelPath(absPath) {
|
|
23
|
+
return path.relative(this.workspaceRoot, absPath).replace(/\\/g, '/');
|
|
24
|
+
}
|
|
25
|
+
extractFromFile(sourceFile, seen, relations) {
|
|
26
|
+
const checker = this.project.getTypeChecker();
|
|
27
|
+
const relPath = this.toRelPath(sourceFile.getFilePath());
|
|
28
|
+
for (const cls of sourceFile.getClasses()) {
|
|
29
|
+
const className = cls.getName();
|
|
30
|
+
if (!className)
|
|
31
|
+
continue;
|
|
32
|
+
const sourceEntityId = `${relPath}.${className}`;
|
|
33
|
+
for (const method of cls.getMethods()) {
|
|
34
|
+
const methodName = method.getName();
|
|
35
|
+
const body = method.getBody();
|
|
36
|
+
if (!body)
|
|
37
|
+
continue;
|
|
38
|
+
body.getDescendantsOfKind(SyntaxKind.CallExpression).forEach((call) => {
|
|
39
|
+
const access = call.getExpression();
|
|
40
|
+
if (!Node.isPropertyAccessExpression(access))
|
|
41
|
+
return;
|
|
42
|
+
const receiverType = checker.getTypeAtLocation(access.getExpression());
|
|
43
|
+
const targetClass = receiverType.getSymbol()?.getName();
|
|
44
|
+
if (!targetClass || !this.projectEntityNames.has(targetClass))
|
|
45
|
+
return;
|
|
46
|
+
const targetMethod = access.getName();
|
|
47
|
+
const id = `call:${relPath}.${className}.${methodName}:${targetClass}.${targetMethod}`;
|
|
48
|
+
if (seen.has(id))
|
|
49
|
+
return;
|
|
50
|
+
seen.add(id);
|
|
51
|
+
const sym = receiverType.getSymbol();
|
|
52
|
+
const isInterface = sym?.getDeclarations().some((d) => Node.isInterfaceDeclaration(d)) ?? false;
|
|
53
|
+
const targetEntityId = this.nameToEntityId.get(targetClass) ?? targetClass;
|
|
54
|
+
relations.push({
|
|
55
|
+
id,
|
|
56
|
+
type: 'call',
|
|
57
|
+
source: sourceEntityId,
|
|
58
|
+
target: targetEntityId,
|
|
59
|
+
sourceMethod: methodName,
|
|
60
|
+
targetMethod,
|
|
61
|
+
callType: isInterface ? 'interface' : 'direct',
|
|
62
|
+
confidence: isInterface ? 0.6 : 0.85,
|
|
63
|
+
inferenceSource: 'explicit',
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=call-edge-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-edge-extractor.js","sourceRoot":"","sources":["../../src/parser/call-edge-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-calculator.d.ts","sourceRoot":"","sources":["../../src/parser/metrics-calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,
|
|
1
|
+
{"version":3,"file":"metrics-calculator.d.ts","sourceRoot":"","sources":["../../src/parser/metrics-calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAGf,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,eAAe;IA0BlE,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,gBAAgB;IAsFxB,OAAO,CAAC,YAAY;CAyBrB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
+
import { ExtensionAccessor } from '../core/query/extension-accessor.js';
|
|
2
3
|
export class MetricsCalculator {
|
|
3
4
|
calculate(archJSON, level) {
|
|
4
5
|
const { entities, relations } = archJSON;
|
|
5
|
-
const isAtlas =
|
|
6
|
+
const isAtlas = new ExtensionAccessor(archJSON).hasAtlasExtension();
|
|
6
7
|
const { sccCount, nonTrivialSCCs } = this.computeSCCGroups(archJSON);
|
|
7
8
|
const computeDetails = !isAtlas && level !== 'package';
|
|
8
9
|
const cycles = computeDetails ? this.buildCycleInfos(archJSON, nonTrivialSCCs) : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-calculator.js","sourceRoot":"","sources":["../../src/parser/metrics-calculator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,MAAM,OAAO,iBAAiB;IAC5B,SAAS,CAAC,QAAkB,EAAE,KAAkB;QAC9C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACzC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"metrics-calculator.js","sourceRoot":"","sources":["../../src/parser/metrics-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import type { ArchJSON } from '../types';
|
|
3
3
|
import type { ParseCache } from './parse-cache.js';
|
|
4
|
+
import type { IParserFacade } from '../core/interfaces/parser-facade.js';
|
|
5
|
+
import { ParseWorkerPool } from './parse-worker-pool.js';
|
|
6
|
+
import type { ParserRuntimeKind } from '../plugins/shared/syntax-tree.js';
|
|
7
|
+
export declare const PARSE_WORKER_THRESHOLD = 12;
|
|
4
8
|
export interface ParallelParserOptions {
|
|
5
9
|
concurrency?: number;
|
|
6
10
|
continueOnError?: boolean;
|
|
7
11
|
workspaceRoot?: string;
|
|
8
12
|
parseCache?: ParseCache;
|
|
13
|
+
parserRuntime?: ParserRuntimeKind;
|
|
14
|
+
workerThreshold?: number;
|
|
15
|
+
workerPool?: ParseWorkerPool;
|
|
9
16
|
}
|
|
10
17
|
export interface ParsingMetrics {
|
|
11
18
|
result: ArchJSON;
|
|
@@ -19,18 +26,22 @@ export interface ParsingMetrics {
|
|
|
19
26
|
rss: number;
|
|
20
27
|
};
|
|
21
28
|
}
|
|
22
|
-
export declare class ParallelParser extends EventEmitter {
|
|
29
|
+
export declare class ParallelParser extends EventEmitter implements IParserFacade {
|
|
23
30
|
private concurrency;
|
|
24
31
|
private continueOnError;
|
|
25
32
|
private limit;
|
|
26
33
|
private workspaceRoot?;
|
|
27
34
|
private parseCache?;
|
|
35
|
+
private readonly parserRuntime;
|
|
36
|
+
private readonly workerThreshold;
|
|
37
|
+
private readonly externalWorkerPool?;
|
|
28
38
|
constructor(options?: ParallelParserOptions);
|
|
29
39
|
getConcurrency(): number;
|
|
30
40
|
getContinueOnError(): boolean;
|
|
31
41
|
parseFiles(filePaths: string[]): Promise<ArchJSON>;
|
|
32
42
|
parseFilesWithMetrics(filePaths: string[]): Promise<ParsingMetrics>;
|
|
33
43
|
private parseFile;
|
|
44
|
+
private parseFileInWorker;
|
|
34
45
|
private mergeResults;
|
|
35
46
|
private deduplicateRelations;
|
|
36
47
|
private createEmptyArchJSON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-parser.d.ts","sourceRoot":"","sources":["../../src/parser/parallel-parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"parallel-parser.d.ts","sourceRoot":"","sources":["../../src/parser/parallel-parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAC;AAG1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAKzC,MAAM,WAAW,qBAAqB;IAKpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAO1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAMvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAGlC,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAKD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAwCD,qBAAa,cAAe,SAAQ,YAAa,YAAW,aAAa;IACvE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAkB;gBAE1C,OAAO,GAAE,qBAA0B;IAgB/C,cAAc,IAAI,MAAM;IAOxB,kBAAkB,IAAI,OAAO;IAUvB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwGlD,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;YAgC3D,SAAS;YA8BT,iBAAiB;IAoB/B,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;CAU5B"}
|
|
@@ -2,19 +2,28 @@ import { EventEmitter } from 'events';
|
|
|
2
2
|
import os from 'os';
|
|
3
3
|
import pLimit from 'p-limit';
|
|
4
4
|
import { TypeScriptParser } from './typescript-parser.js';
|
|
5
|
+
import { ARCHJSON_SCHEMA_VERSION } from '../types/index.js';
|
|
5
6
|
import fs from 'fs/promises';
|
|
7
|
+
import { ParseWorkerPool } from './parse-worker-pool.js';
|
|
8
|
+
export const PARSE_WORKER_THRESHOLD = 12;
|
|
6
9
|
export class ParallelParser extends EventEmitter {
|
|
7
10
|
concurrency;
|
|
8
11
|
continueOnError;
|
|
9
12
|
limit;
|
|
10
13
|
workspaceRoot;
|
|
11
14
|
parseCache;
|
|
15
|
+
parserRuntime;
|
|
16
|
+
workerThreshold;
|
|
17
|
+
externalWorkerPool;
|
|
12
18
|
constructor(options = {}) {
|
|
13
19
|
super();
|
|
14
20
|
this.concurrency = options.concurrency ?? os.cpus().length;
|
|
15
21
|
this.continueOnError = options.continueOnError ?? true;
|
|
16
22
|
this.workspaceRoot = options.workspaceRoot;
|
|
17
23
|
this.parseCache = options.parseCache;
|
|
24
|
+
this.parserRuntime = options.parserRuntime ?? 'native';
|
|
25
|
+
this.workerThreshold = options.workerThreshold ?? PARSE_WORKER_THRESHOLD;
|
|
26
|
+
this.externalWorkerPool = options.workerPool;
|
|
18
27
|
this.limit = pLimit(this.concurrency);
|
|
19
28
|
}
|
|
20
29
|
getConcurrency() {
|
|
@@ -32,42 +41,61 @@ export class ParallelParser extends EventEmitter {
|
|
|
32
41
|
let successCount = 0;
|
|
33
42
|
let errorCount = 0;
|
|
34
43
|
let completedCount = 0;
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
44
|
+
const useWorkers = filePaths.length >= this.workerThreshold;
|
|
45
|
+
let ownedPool;
|
|
46
|
+
const workerPool = useWorkers
|
|
47
|
+
? (this.externalWorkerPool ??
|
|
48
|
+
(ownedPool = new ParseWorkerPool(Math.min(this.concurrency, filePaths.length), {
|
|
49
|
+
language: 'typescript',
|
|
50
|
+
runtime: this.parserRuntime,
|
|
51
|
+
workspaceRoot: this.workspaceRoot,
|
|
52
|
+
})))
|
|
53
|
+
: undefined;
|
|
54
|
+
workerPool?.start();
|
|
55
|
+
let results;
|
|
56
|
+
try {
|
|
57
|
+
results = await Promise.all(filePaths.map((filePath) => this.limit(async () => {
|
|
58
|
+
try {
|
|
59
|
+
this.emit('file:start', { file: filePath });
|
|
60
|
+
const result = workerPool
|
|
61
|
+
? await this.parseFileInWorker(filePath, workerPool)
|
|
62
|
+
: await this.parseFile(filePath);
|
|
63
|
+
successCount++;
|
|
64
|
+
completedCount++;
|
|
65
|
+
this.emit('file:complete', {
|
|
66
|
+
file: filePath,
|
|
67
|
+
entityCount: result.entities.length,
|
|
68
|
+
relationCount: result.relations.length,
|
|
69
|
+
});
|
|
70
|
+
this.emit('progress', {
|
|
71
|
+
completed: completedCount,
|
|
72
|
+
total: filePaths.length,
|
|
73
|
+
percentage: Math.round((completedCount / filePaths.length) * 100),
|
|
74
|
+
});
|
|
75
|
+
return result;
|
|
67
76
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
catch (error) {
|
|
78
|
+
errorCount++;
|
|
79
|
+
completedCount++;
|
|
80
|
+
this.emit('file:error', {
|
|
81
|
+
file: filePath,
|
|
82
|
+
error: error instanceof Error ? error.message : String(error),
|
|
83
|
+
});
|
|
84
|
+
this.emit('progress', {
|
|
85
|
+
completed: completedCount,
|
|
86
|
+
total: filePaths.length,
|
|
87
|
+
percentage: Math.round((completedCount / filePaths.length) * 100),
|
|
88
|
+
});
|
|
89
|
+
if (!this.continueOnError) {
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
return this.createEmptyArchJSON();
|
|
93
|
+
}
|
|
94
|
+
})));
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
await ownedPool?.terminate();
|
|
98
|
+
}
|
|
71
99
|
const merged = this.mergeResults(results);
|
|
72
100
|
const parseTime = Date.now() - startTime;
|
|
73
101
|
this.emit('complete', {
|
|
@@ -122,6 +150,20 @@ export class ParallelParser extends EventEmitter {
|
|
|
122
150
|
const parser = new TypeScriptParser(this.workspaceRoot);
|
|
123
151
|
return parser.parseCode(content, filePath);
|
|
124
152
|
}
|
|
153
|
+
async parseFileInWorker(filePath, pool) {
|
|
154
|
+
let content;
|
|
155
|
+
try {
|
|
156
|
+
content = await fs.readFile(filePath, 'utf-8');
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return this.createEmptyArchJSON([filePath]);
|
|
160
|
+
}
|
|
161
|
+
const result = await pool.parse({ filePath, code: content });
|
|
162
|
+
if (!result.success || !result.archJson) {
|
|
163
|
+
throw new Error(result.error ?? `Parse worker returned no result for ${filePath}`);
|
|
164
|
+
}
|
|
165
|
+
return result.archJson;
|
|
166
|
+
}
|
|
125
167
|
mergeResults(results) {
|
|
126
168
|
if (results.length === 0) {
|
|
127
169
|
return this.createEmptyArchJSON();
|
|
@@ -136,12 +178,13 @@ export class ParallelParser extends EventEmitter {
|
|
|
136
178
|
}
|
|
137
179
|
const uniqueRelations = this.deduplicateRelations(allRelations);
|
|
138
180
|
return {
|
|
139
|
-
version:
|
|
181
|
+
version: ARCHJSON_SCHEMA_VERSION,
|
|
140
182
|
language: 'typescript',
|
|
141
183
|
timestamp: new Date().toISOString(),
|
|
142
184
|
sourceFiles: allSourceFiles,
|
|
143
185
|
entities: allEntities,
|
|
144
186
|
relations: uniqueRelations,
|
|
187
|
+
workspaceRoot: this.workspaceRoot,
|
|
145
188
|
};
|
|
146
189
|
}
|
|
147
190
|
deduplicateRelations(relations) {
|
|
@@ -158,7 +201,7 @@ export class ParallelParser extends EventEmitter {
|
|
|
158
201
|
}
|
|
159
202
|
createEmptyArchJSON(sourceFiles = []) {
|
|
160
203
|
return {
|
|
161
|
-
version:
|
|
204
|
+
version: ARCHJSON_SCHEMA_VERSION,
|
|
162
205
|
language: 'typescript',
|
|
163
206
|
timestamp: new Date().toISOString(),
|
|
164
207
|
sourceFiles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-parser.js","sourceRoot":"","sources":["../../src/parser/parallel-parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parallel-parser.js","sourceRoot":"","sources":["../../src/parser/parallel-parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,MAAM,aAAa,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AA+FzC,MAAM,OAAO,cAAe,SAAQ,YAAY;IACtC,WAAW,CAAS;IACpB,eAAe,CAAU;IACzB,KAAK,CAA4B;IACjC,aAAa,CAAU;IACvB,UAAU,CAAc;IACf,aAAa,CAAoB;IACjC,eAAe,CAAS;IACxB,kBAAkB,CAAmB;IAEtD,YAAY,UAAiC,EAAE;QAC7C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,sBAAsB,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAKD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAKD,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAQD,KAAK,CAAC,UAAU,CAAC,SAAmB;QAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,cAAc,GAAG,CAAC,CAAC;QAIvB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC;QAC5D,IAAI,SAAsC,CAAC;QAC3C,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB;gBACxB,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE;oBAC7E,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,IAAI,CAAC,aAAa;oBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,SAAS,CAAC;QACd,UAAU,EAAE,KAAK,EAAE,CAAC;QAEpB,IAAI,OAAmB,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CACzB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE5C,MAAM,MAAM,GAAG,UAAU;wBACvB,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;wBACpD,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAEnC,YAAY,EAAE,CAAC;oBACf,cAAc,EAAE,CAAC;oBAEjB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;wBACnC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;qBAClB,CAAC,CAAC;oBAExB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACpB,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,SAAS,CAAC,MAAM;wBACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;qBACjD,CAAC,CAAC;oBAEpB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;oBACb,cAAc,EAAE,CAAC;oBAEjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACtB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACpB,SAAS,EAAE,cAAc;wBACzB,KAAK,EAAE,SAAS,CAAC,MAAM;wBACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;qBACjD,CAAC,CAAC;oBAEpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC1B,MAAM,KAAK,CAAC;oBACd,CAAC;oBAGD,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,UAAU,EAAE,SAAS,CAAC,MAAM;YAC5B,YAAY;YACZ,UAAU;YACV,SAAS;SACS,CAAC,CAAC;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAQD,KAAK,CAAC,qBAAqB,CAAC,SAAmB;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QACtC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAE7D,OAAO;YACL,MAAM;YACN,SAAS;YACT,cAAc;YACd,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,WAAW,EAAE;gBACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ;gBACnD,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB;SACF,CAAC;IACJ,CAAC;IAQO,KAAK,CAAC,SAAS,CAAC,QAAgB;QAEtC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YAGP,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;QAGD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBACxD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,IAAqB;QACrE,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAQO,YAAY,CAAC,OAAmB;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAGD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,eAAe;YAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAQO,oBAAoB,CAAC,SAAqB;QAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAQO,mBAAmB,CAAC,cAAwB,EAAE;QACpD,OAAO;YACL,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW;YACX,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ArchJSON } from '../types/index.js';
|
|
2
|
+
import type { ParserRuntimeKind } from '../plugins/shared/syntax-tree.js';
|
|
3
|
+
import type { ParserLanguage } from '../plugins/shared/parser-backend.js';
|
|
4
|
+
import type { ParseConfig } from '../core/interfaces/parser.js';
|
|
5
|
+
export type ParseWorkerLanguage = 'typescript' | ParserLanguage;
|
|
6
|
+
export interface ParseWorkerInitData {
|
|
7
|
+
language: ParseWorkerLanguage;
|
|
8
|
+
runtime: ParserRuntimeKind;
|
|
9
|
+
workspaceRoot?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ParseJob {
|
|
12
|
+
jobId: string;
|
|
13
|
+
kind: 'file';
|
|
14
|
+
code: string;
|
|
15
|
+
filePath: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ParseProjectJob {
|
|
18
|
+
jobId: string;
|
|
19
|
+
kind: 'project';
|
|
20
|
+
workspaceRoot: string;
|
|
21
|
+
config: ParseConfig;
|
|
22
|
+
}
|
|
23
|
+
export type ParseWorkerJob = ParseJob | ParseProjectJob;
|
|
24
|
+
export interface ParseResult {
|
|
25
|
+
jobId: string;
|
|
26
|
+
success: boolean;
|
|
27
|
+
archJson?: ArchJSON;
|
|
28
|
+
error?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare class ParseWorkerPool {
|
|
31
|
+
private readonly poolSize;
|
|
32
|
+
private readonly initData;
|
|
33
|
+
private readonly workers;
|
|
34
|
+
private readonly idle;
|
|
35
|
+
private readonly queue;
|
|
36
|
+
private readonly pending;
|
|
37
|
+
private readonly inFlight;
|
|
38
|
+
private readonly restartCount;
|
|
39
|
+
private readonly maxRestarts;
|
|
40
|
+
private started;
|
|
41
|
+
private terminating;
|
|
42
|
+
private dispatched;
|
|
43
|
+
constructor(poolSize: number, initData: ParseWorkerInitData);
|
|
44
|
+
get size(): number;
|
|
45
|
+
get dispatchCount(): number;
|
|
46
|
+
get workerIds(): readonly number[];
|
|
47
|
+
start(): void;
|
|
48
|
+
parseProject(job: Omit<ParseProjectJob, 'jobId'>): Promise<ParseResult>;
|
|
49
|
+
parse(job: Omit<ParseJob, 'jobId' | 'kind'>): Promise<ParseResult>;
|
|
50
|
+
private enqueue;
|
|
51
|
+
terminate(): Promise<void>;
|
|
52
|
+
private spawnWorker;
|
|
53
|
+
private dispatch;
|
|
54
|
+
private onResult;
|
|
55
|
+
private dispatchTo;
|
|
56
|
+
private onWorkerFailure;
|
|
57
|
+
private drain;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=parse-worker-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-worker-pool.d.ts","sourceRoot":"","sources":["../../src/parser/parse-worker-pool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,eAAe,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD,qBAAa,eAAe;IAaxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAK;gBAGJ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB;IAOhD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,SAAS,IAAI,SAAS,MAAM,EAAE,CAEjC;IAED,KAAK,IAAI,IAAI;IAMb,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlE,OAAO,CAAC,OAAO;IAYT,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhC,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,KAAK;CAOd"}
|