@yalehwang/archguard 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +537 -0
- package/dist/cli/cache/arch-json-disk-cache.d.ts +12 -0
- package/dist/cli/cache/arch-json-disk-cache.d.ts.map +1 -0
- package/dist/cli/cache/arch-json-disk-cache.js +51 -0
- package/dist/cli/cache/arch-json-disk-cache.js.map +1 -0
- package/dist/cli/cache-manager.d.ts +28 -0
- package/dist/cli/cache-manager.d.ts.map +1 -0
- package/dist/cli/cache-manager.js +126 -0
- package/dist/cli/cache-manager.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +7 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +212 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/cache.d.ts +3 -0
- package/dist/cli/commands/cache.d.ts.map +1 -0
- package/dist/cli/commands/cache.js +56 -0
- package/dist/cli/commands/cache.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +34 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/config-loader.d.ts +701 -0
- package/dist/cli/config-loader.d.ts.map +1 -0
- package/dist/cli/config-loader.js +259 -0
- package/dist/cli/config-loader.js.map +1 -0
- package/dist/cli/error-handler.d.ts +15 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +127 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/errors.d.ts +15 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +31 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/processors/diagram-processor.d.ts +61 -0
- package/dist/cli/processors/diagram-processor.d.ts.map +1 -0
- package/dist/cli/processors/diagram-processor.js +610 -0
- package/dist/cli/processors/diagram-processor.js.map +1 -0
- package/dist/cli/progress/parallel-progress.d.ts +16 -0
- package/dist/cli/progress/parallel-progress.d.ts.map +1 -0
- package/dist/cli/progress/parallel-progress.js +49 -0
- package/dist/cli/progress/parallel-progress.js.map +1 -0
- package/dist/cli/progress.d.ts +36 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +127 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/types.d.ts +37 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/utils/cpp-project-structure-detector.d.ts +10 -0
- package/dist/cli/utils/cpp-project-structure-detector.d.ts.map +1 -0
- package/dist/cli/utils/cpp-project-structure-detector.js +99 -0
- package/dist/cli/utils/cpp-project-structure-detector.js.map +1 -0
- package/dist/cli/utils/diagram-index-generator.d.ts +12 -0
- package/dist/cli/utils/diagram-index-generator.d.ts.map +1 -0
- package/dist/cli/utils/diagram-index-generator.js +94 -0
- package/dist/cli/utils/diagram-index-generator.js.map +1 -0
- package/dist/cli/utils/file-discovery-service.d.ts +10 -0
- package/dist/cli/utils/file-discovery-service.d.ts.map +1 -0
- package/dist/cli/utils/file-discovery-service.js +56 -0
- package/dist/cli/utils/file-discovery-service.js.map +1 -0
- package/dist/cli/utils/output-path-resolver.d.ts +34 -0
- package/dist/cli/utils/output-path-resolver.d.ts.map +1 -0
- package/dist/cli/utils/output-path-resolver.js +91 -0
- package/dist/cli/utils/output-path-resolver.js.map +1 -0
- package/dist/cli/utils/project-structure-detector.d.ts +6 -0
- package/dist/cli/utils/project-structure-detector.d.ts.map +1 -0
- package/dist/cli/utils/project-structure-detector.js +159 -0
- package/dist/cli/utils/project-structure-detector.js.map +1 -0
- package/dist/core/interfaces/dependency.d.ts +14 -0
- package/dist/core/interfaces/dependency.d.ts.map +1 -0
- package/dist/core/interfaces/dependency.js +2 -0
- package/dist/core/interfaces/dependency.js.map +1 -0
- package/dist/core/interfaces/errors.d.ts +29 -0
- package/dist/core/interfaces/errors.d.ts.map +1 -0
- package/dist/core/interfaces/errors.js +59 -0
- package/dist/core/interfaces/errors.js.map +1 -0
- package/dist/core/interfaces/index.d.ts +6 -0
- package/dist/core/interfaces/index.d.ts.map +1 -0
- package/dist/core/interfaces/index.js +2 -0
- package/dist/core/interfaces/index.js.map +1 -0
- package/dist/core/interfaces/language-plugin.d.ts +34 -0
- package/dist/core/interfaces/language-plugin.d.ts.map +1 -0
- package/dist/core/interfaces/language-plugin.js +2 -0
- package/dist/core/interfaces/language-plugin.js.map +1 -0
- package/dist/core/interfaces/parser.d.ts +15 -0
- package/dist/core/interfaces/parser.d.ts.map +1 -0
- package/dist/core/interfaces/parser.js +2 -0
- package/dist/core/interfaces/parser.js.map +1 -0
- package/dist/core/interfaces/validation.d.ts +24 -0
- package/dist/core/interfaces/validation.d.ts.map +1 -0
- package/dist/core/interfaces/validation.js +2 -0
- package/dist/core/interfaces/validation.js.map +1 -0
- package/dist/core/plugin-registry.d.ts +19 -0
- package/dist/core/plugin-registry.d.ts.map +1 -0
- package/dist/core/plugin-registry.js +137 -0
- package/dist/core/plugin-registry.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/mermaid/auto-repair.d.ts +23 -0
- package/dist/mermaid/auto-repair.d.ts.map +1 -0
- package/dist/mermaid/auto-repair.js +197 -0
- package/dist/mermaid/auto-repair.js.map +1 -0
- package/dist/mermaid/comment-generator.d.ts +10 -0
- package/dist/mermaid/comment-generator.d.ts.map +1 -0
- package/dist/mermaid/comment-generator.js +213 -0
- package/dist/mermaid/comment-generator.js.map +1 -0
- package/dist/mermaid/cpp-package-flowchart-generator.d.ts +5 -0
- package/dist/mermaid/cpp-package-flowchart-generator.d.ts.map +1 -0
- package/dist/mermaid/cpp-package-flowchart-generator.js +33 -0
- package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -0
- package/dist/mermaid/diagram-generator.d.ts +31 -0
- package/dist/mermaid/diagram-generator.d.ts.map +1 -0
- package/dist/mermaid/diagram-generator.js +194 -0
- package/dist/mermaid/diagram-generator.js.map +1 -0
- package/dist/mermaid/external-dependencies.d.ts +3 -0
- package/dist/mermaid/external-dependencies.d.ts.map +1 -0
- package/dist/mermaid/external-dependencies.js +38 -0
- package/dist/mermaid/external-dependencies.js.map +1 -0
- package/dist/mermaid/generator.d.ts +44 -0
- package/dist/mermaid/generator.d.ts.map +1 -0
- package/dist/mermaid/generator.js +511 -0
- package/dist/mermaid/generator.js.map +1 -0
- package/dist/mermaid/grouper.d.ts +15 -0
- package/dist/mermaid/grouper.d.ts.map +1 -0
- package/dist/mermaid/grouper.js +194 -0
- package/dist/mermaid/grouper.js.map +1 -0
- package/dist/mermaid/index.d.ts +14 -0
- package/dist/mermaid/index.d.ts.map +1 -0
- package/dist/mermaid/index.js +13 -0
- package/dist/mermaid/index.js.map +1 -0
- package/dist/mermaid/progress.d.ts +15 -0
- package/dist/mermaid/progress.d.ts.map +1 -0
- package/dist/mermaid/progress.js +8 -0
- package/dist/mermaid/progress.js.map +1 -0
- package/dist/mermaid/render-worker-pool.d.ts +29 -0
- package/dist/mermaid/render-worker-pool.d.ts.map +1 -0
- package/dist/mermaid/render-worker-pool.js +73 -0
- package/dist/mermaid/render-worker-pool.js.map +1 -0
- package/dist/mermaid/render-worker.d.ts +2 -0
- package/dist/mermaid/render-worker.d.ts.map +1 -0
- package/dist/mermaid/render-worker.js +22 -0
- package/dist/mermaid/render-worker.js.map +1 -0
- package/dist/mermaid/renderer.d.ts +17 -0
- package/dist/mermaid/renderer.d.ts.map +1 -0
- package/dist/mermaid/renderer.js +204 -0
- package/dist/mermaid/renderer.js.map +1 -0
- package/dist/mermaid/ts-module-graph-renderer.d.ts +3 -0
- package/dist/mermaid/ts-module-graph-renderer.d.ts.map +1 -0
- package/dist/mermaid/ts-module-graph-renderer.js +180 -0
- package/dist/mermaid/ts-module-graph-renderer.js.map +1 -0
- package/dist/mermaid/types.d.ts +122 -0
- package/dist/mermaid/types.d.ts.map +1 -0
- package/dist/mermaid/types.js +2 -0
- package/dist/mermaid/types.js.map +1 -0
- package/dist/mermaid/validation-pipeline.d.ts +29 -0
- package/dist/mermaid/validation-pipeline.d.ts.map +1 -0
- package/dist/mermaid/validation-pipeline.js +163 -0
- package/dist/mermaid/validation-pipeline.js.map +1 -0
- package/dist/mermaid/validator-parse.d.ts +11 -0
- package/dist/mermaid/validator-parse.d.ts.map +1 -0
- package/dist/mermaid/validator-parse.js +130 -0
- package/dist/mermaid/validator-parse.js.map +1 -0
- package/dist/mermaid/validator-quality.d.ts +17 -0
- package/dist/mermaid/validator-quality.d.ts.map +1 -0
- package/dist/mermaid/validator-quality.js +187 -0
- package/dist/mermaid/validator-quality.js.map +1 -0
- package/dist/mermaid/validator-render.d.ts +12 -0
- package/dist/mermaid/validator-render.d.ts.map +1 -0
- package/dist/mermaid/validator-render.js +98 -0
- package/dist/mermaid/validator-render.js.map +1 -0
- package/dist/mermaid/validator-structural.d.ts +11 -0
- package/dist/mermaid/validator-structural.d.ts.map +1 -0
- package/dist/mermaid/validator-structural.js +116 -0
- package/dist/mermaid/validator-structural.js.map +1 -0
- package/dist/parser/archjson-aggregator.d.ts +11 -0
- package/dist/parser/archjson-aggregator.d.ts.map +1 -0
- package/dist/parser/archjson-aggregator.js +113 -0
- package/dist/parser/archjson-aggregator.js.map +1 -0
- package/dist/parser/base-extractor.d.ts +6 -0
- package/dist/parser/base-extractor.d.ts.map +1 -0
- package/dist/parser/base-extractor.js +13 -0
- package/dist/parser/base-extractor.js.map +1 -0
- package/dist/parser/class-extractor.d.ts +17 -0
- package/dist/parser/class-extractor.d.ts.map +1 -0
- package/dist/parser/class-extractor.js +144 -0
- package/dist/parser/class-extractor.js.map +1 -0
- package/dist/parser/enum-extractor.d.ts +9 -0
- package/dist/parser/enum-extractor.d.ts.map +1 -0
- package/dist/parser/enum-extractor.js +45 -0
- package/dist/parser/enum-extractor.js.map +1 -0
- package/dist/parser/errors.d.ts +7 -0
- package/dist/parser/errors.d.ts.map +1 -0
- package/dist/parser/errors.js +14 -0
- package/dist/parser/errors.js.map +1 -0
- package/dist/parser/function-extractor.d.ts +7 -0
- package/dist/parser/function-extractor.d.ts.map +1 -0
- package/dist/parser/function-extractor.js +59 -0
- package/dist/parser/function-extractor.js.map +1 -0
- package/dist/parser/index.d.ts +10 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +9 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/interface-extractor.d.ts +14 -0
- package/dist/parser/interface-extractor.d.ts.map +1 -0
- package/dist/parser/interface-extractor.js +90 -0
- package/dist/parser/interface-extractor.js.map +1 -0
- package/dist/parser/metrics-calculator.d.ts +9 -0
- package/dist/parser/metrics-calculator.d.ts.map +1 -0
- package/dist/parser/metrics-calculator.js +84 -0
- package/dist/parser/metrics-calculator.js.map +1 -0
- package/dist/parser/parallel-parser.d.ts +38 -0
- package/dist/parser/parallel-parser.d.ts.map +1 -0
- package/dist/parser/parallel-parser.js +170 -0
- package/dist/parser/parallel-parser.js.map +1 -0
- package/dist/parser/parse-cache.d.ts +8 -0
- package/dist/parser/parse-cache.d.ts.map +1 -0
- package/dist/parser/parse-cache.js +25 -0
- package/dist/parser/parse-cache.js.map +1 -0
- package/dist/parser/relation-extractor.d.ts +14 -0
- package/dist/parser/relation-extractor.d.ts.map +1 -0
- package/dist/parser/relation-extractor.js +203 -0
- package/dist/parser/relation-extractor.js.map +1 -0
- package/dist/parser/typescript-parser.d.ts +19 -0
- package/dist/parser/typescript-parser.d.ts.map +1 -0
- package/dist/parser/typescript-parser.js +182 -0
- package/dist/parser/typescript-parser.js.map +1 -0
- package/dist/plugins/cpp/archjson-mapper.d.ts +13 -0
- package/dist/plugins/cpp/archjson-mapper.d.ts.map +1 -0
- package/dist/plugins/cpp/archjson-mapper.js +180 -0
- package/dist/plugins/cpp/archjson-mapper.js.map +1 -0
- package/dist/plugins/cpp/builders/class-builder.d.ts +15 -0
- package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -0
- package/dist/plugins/cpp/builders/class-builder.js +102 -0
- package/dist/plugins/cpp/builders/class-builder.js.map +1 -0
- package/dist/plugins/cpp/builders/header-merger.d.ts +8 -0
- package/dist/plugins/cpp/builders/header-merger.d.ts.map +1 -0
- package/dist/plugins/cpp/builders/header-merger.js +65 -0
- package/dist/plugins/cpp/builders/header-merger.js.map +1 -0
- package/dist/plugins/cpp/cpp-type-extractor.d.ts +13 -0
- package/dist/plugins/cpp/cpp-type-extractor.d.ts.map +1 -0
- package/dist/plugins/cpp/cpp-type-extractor.js +153 -0
- package/dist/plugins/cpp/cpp-type-extractor.js.map +1 -0
- package/dist/plugins/cpp/dependency-extractor.d.ts +5 -0
- package/dist/plugins/cpp/dependency-extractor.d.ts.map +1 -0
- package/dist/plugins/cpp/dependency-extractor.js +28 -0
- package/dist/plugins/cpp/dependency-extractor.js.map +1 -0
- package/dist/plugins/cpp/index.d.ts +21 -0
- package/dist/plugins/cpp/index.d.ts.map +1 -0
- package/dist/plugins/cpp/index.js +113 -0
- package/dist/plugins/cpp/index.js.map +1 -0
- package/dist/plugins/cpp/tree-sitter-bridge.d.ts +20 -0
- package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -0
- package/dist/plugins/cpp/tree-sitter-bridge.js +258 -0
- package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -0
- package/dist/plugins/cpp/types.d.ts +75 -0
- package/dist/plugins/cpp/types.d.ts.map +1 -0
- package/dist/plugins/cpp/types.js +2 -0
- package/dist/plugins/cpp/types.js.map +1 -0
- package/dist/plugins/golang/archjson-mapper.d.ts +10 -0
- package/dist/plugins/golang/archjson-mapper.d.ts.map +1 -0
- package/dist/plugins/golang/archjson-mapper.js +121 -0
- package/dist/plugins/golang/archjson-mapper.js.map +1 -0
- package/dist/plugins/golang/atlas/behavior-analyzer.d.ts +16 -0
- package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/behavior-analyzer.js +32 -0
- package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts +12 -0
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.js +219 -0
- package/dist/plugins/golang/atlas/builders/capability-graph-builder.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts +18 -0
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.js +300 -0
- package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts +15 -0
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js +254 -0
- package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts +5 -0
- package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/i-atlas-builder.js +2 -0
- package/dist/plugins/golang/atlas/builders/i-atlas-builder.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/index.d.ts +6 -0
- package/dist/plugins/golang/atlas/builders/index.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/index.js +5 -0
- package/dist/plugins/golang/atlas/builders/index.js.map +1 -0
- package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts +14 -0
- package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/builders/package-graph-builder.js +115 -0
- package/dist/plugins/golang/atlas/builders/package-graph-builder.js.map +1 -0
- package/dist/plugins/golang/atlas/framework-detector.d.ts +11 -0
- package/dist/plugins/golang/atlas/framework-detector.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/framework-detector.js +82 -0
- package/dist/plugins/golang/atlas/framework-detector.js.map +1 -0
- package/dist/plugins/golang/atlas/go-mod-resolver.d.ts +21 -0
- package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/go-mod-resolver.js +90 -0
- package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -0
- package/dist/plugins/golang/atlas/index.d.ts +28 -0
- package/dist/plugins/golang/atlas/index.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/index.js +166 -0
- package/dist/plugins/golang/atlas/index.js.map +1 -0
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts +7 -0
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.js +62 -0
- package/dist/plugins/golang/atlas/renderers/atlas-renderer.js.map +1 -0
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts +24 -0
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.js +688 -0
- package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -0
- package/dist/plugins/golang/atlas/types.d.ts +63 -0
- package/dist/plugins/golang/atlas/types.d.ts.map +1 -0
- package/dist/plugins/golang/atlas/types.js +2 -0
- package/dist/plugins/golang/atlas/types.js.map +1 -0
- package/dist/plugins/golang/dependency-extractor.d.ts +7 -0
- package/dist/plugins/golang/dependency-extractor.d.ts.map +1 -0
- package/dist/plugins/golang/dependency-extractor.js +100 -0
- package/dist/plugins/golang/dependency-extractor.js.map +1 -0
- package/dist/plugins/golang/gopls-client.d.ts +38 -0
- package/dist/plugins/golang/gopls-client.d.ts.map +1 -0
- package/dist/plugins/golang/gopls-client.js +354 -0
- package/dist/plugins/golang/gopls-client.js.map +1 -0
- package/dist/plugins/golang/index.d.ts +29 -0
- package/dist/plugins/golang/index.d.ts.map +1 -0
- package/dist/plugins/golang/index.js +242 -0
- package/dist/plugins/golang/index.js.map +1 -0
- package/dist/plugins/golang/interface-matcher.d.ts +14 -0
- package/dist/plugins/golang/interface-matcher.d.ts.map +1 -0
- package/dist/plugins/golang/interface-matcher.js +235 -0
- package/dist/plugins/golang/interface-matcher.js.map +1 -0
- package/dist/plugins/golang/tree-sitter-bridge.d.ts +32 -0
- package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -0
- package/dist/plugins/golang/tree-sitter-bridge.js +579 -0
- package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -0
- package/dist/plugins/golang/types.d.ts +119 -0
- package/dist/plugins/golang/types.d.ts.map +1 -0
- package/dist/plugins/golang/types.js +2 -0
- package/dist/plugins/golang/types.js.map +1 -0
- package/dist/plugins/java/archjson-mapper.d.ts +15 -0
- package/dist/plugins/java/archjson-mapper.d.ts.map +1 -0
- package/dist/plugins/java/archjson-mapper.js +273 -0
- package/dist/plugins/java/archjson-mapper.js.map +1 -0
- package/dist/plugins/java/dependency-extractor.d.ts +9 -0
- package/dist/plugins/java/dependency-extractor.d.ts.map +1 -0
- package/dist/plugins/java/dependency-extractor.js +99 -0
- package/dist/plugins/java/dependency-extractor.js.map +1 -0
- package/dist/plugins/java/index.d.ts +21 -0
- package/dist/plugins/java/index.d.ts.map +1 -0
- package/dist/plugins/java/index.js +167 -0
- package/dist/plugins/java/index.js.map +1 -0
- package/dist/plugins/java/tree-sitter-bridge.d.ts +19 -0
- package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -0
- package/dist/plugins/java/tree-sitter-bridge.js +334 -0
- package/dist/plugins/java/tree-sitter-bridge.js.map +1 -0
- package/dist/plugins/java/types.d.ts +81 -0
- package/dist/plugins/java/types.d.ts.map +1 -0
- package/dist/plugins/java/types.js +2 -0
- package/dist/plugins/java/types.js.map +1 -0
- package/dist/plugins/python/archjson-mapper.d.ts +19 -0
- package/dist/plugins/python/archjson-mapper.d.ts.map +1 -0
- package/dist/plugins/python/archjson-mapper.js +170 -0
- package/dist/plugins/python/archjson-mapper.js.map +1 -0
- package/dist/plugins/python/dependency-extractor.d.ts +11 -0
- package/dist/plugins/python/dependency-extractor.d.ts.map +1 -0
- package/dist/plugins/python/dependency-extractor.js +186 -0
- package/dist/plugins/python/dependency-extractor.js.map +1 -0
- package/dist/plugins/python/index.d.ts +21 -0
- package/dist/plugins/python/index.d.ts.map +1 -0
- package/dist/plugins/python/index.js +142 -0
- package/dist/plugins/python/index.js.map +1 -0
- package/dist/plugins/python/tree-sitter-bridge.d.ts +16 -0
- package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -0
- package/dist/plugins/python/tree-sitter-bridge.js +352 -0
- package/dist/plugins/python/tree-sitter-bridge.js.map +1 -0
- package/dist/plugins/python/types.d.ts +86 -0
- package/dist/plugins/python/types.d.ts.map +1 -0
- package/dist/plugins/python/types.js +2 -0
- package/dist/plugins/python/types.js.map +1 -0
- package/dist/plugins/shared/mapper-utils.d.ts +4 -0
- package/dist/plugins/shared/mapper-utils.d.ts.map +1 -0
- package/dist/plugins/shared/mapper-utils.js +12 -0
- package/dist/plugins/shared/mapper-utils.js.map +1 -0
- package/dist/plugins/typescript/builders/module-graph-builder.d.ts +8 -0
- package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -0
- package/dist/plugins/typescript/builders/module-graph-builder.js +175 -0
- package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -0
- package/dist/plugins/typescript/index.d.ts +26 -0
- package/dist/plugins/typescript/index.d.ts.map +1 -0
- package/dist/plugins/typescript/index.js +232 -0
- package/dist/plugins/typescript/index.js.map +1 -0
- package/dist/plugins/typescript/typescript-analyzer.d.ts +8 -0
- package/dist/plugins/typescript/typescript-analyzer.d.ts.map +1 -0
- package/dist/plugins/typescript/typescript-analyzer.js +13 -0
- package/dist/plugins/typescript/typescript-analyzer.js.map +1 -0
- package/dist/scripts/migrate-to-mermaid.js +214 -0
- package/dist/types/config.d.ts +140 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/extensions.d.ts +224 -0
- package/dist/types/extensions.d.ts.map +1 -0
- package/dist/types/extensions.js +3 -0
- package/dist/types/extensions.js.map +1 -0
- package/dist/types/index.d.ts +89 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cli-detector.d.ts +8 -0
- package/dist/utils/cli-detector.d.ts.map +1 -0
- package/dist/utils/cli-detector.js +38 -0
- package/dist/utils/cli-detector.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/tsconfig-finder.d.ts +7 -0
- package/dist/utils/tsconfig-finder.d.ts.map +1 -0
- package/dist/utils/tsconfig-finder.js +31 -0
- package/dist/utils/tsconfig-finder.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gopls-client.js","sourceRoot":"","sources":["../../../src/plugins/golang/gopls-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ILanguagePlugin, PluginMetadata, PluginInitConfig } from '../../core/interfaces/language-plugin.js';
|
|
2
|
+
import type { ParseConfig } from '../../core/interfaces/parser.js';
|
|
3
|
+
import type { ArchJSON } from '../../types/index.js';
|
|
4
|
+
import type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
|
|
5
|
+
import type { TreeSitterParseOptions } from './tree-sitter-bridge.js';
|
|
6
|
+
import type { GoRawData } from './types.js';
|
|
7
|
+
export type { IDependencyExtractor } from '../../core/interfaces/dependency.js';
|
|
8
|
+
export declare class GoPlugin implements ILanguagePlugin {
|
|
9
|
+
readonly metadata: PluginMetadata;
|
|
10
|
+
readonly supportedLevels: readonly ["package", "class", "method"];
|
|
11
|
+
readonly dependencyExtractor: IDependencyExtractor;
|
|
12
|
+
private treeSitter;
|
|
13
|
+
private matcher;
|
|
14
|
+
private mapper;
|
|
15
|
+
private goplsClient;
|
|
16
|
+
private initialized;
|
|
17
|
+
private workspaceRoot;
|
|
18
|
+
constructor();
|
|
19
|
+
initialize(config: PluginInitConfig): Promise<void>;
|
|
20
|
+
canHandle(targetPath: string): boolean;
|
|
21
|
+
parseToRawData(workspaceRoot: string, config: ParseConfig & TreeSitterParseOptions): Promise<GoRawData>;
|
|
22
|
+
parseProject(workspaceRoot: string, config: ParseConfig): Promise<ArchJSON>;
|
|
23
|
+
private readModuleName;
|
|
24
|
+
parseCode(code: string, filePath?: string): ArchJSON;
|
|
25
|
+
parseFiles(filePaths: string[]): Promise<ArchJSON>;
|
|
26
|
+
dispose(): Promise<void>;
|
|
27
|
+
private ensureInitialized;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAG1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAS5E,qBAAa,QAAS,YAAW,eAAe;IAC9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAc/B;IAEF,QAAQ,CAAC,eAAe,0CAA2C;IAEnE,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEnD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAM;;IASrB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBzD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IA4BhC,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAAG,sBAAsB,GAC3C,OAAO,CAAC,SAAS,CAAC;IAmFf,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;YAoCnE,cAAc;IAc5B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAoB,GAAG,QAAQ;IAyB3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2ElD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import { glob } from 'glob';
|
|
4
|
+
import { TreeSitterBridge } from './tree-sitter-bridge.js';
|
|
5
|
+
import { InterfaceMatcher } from './interface-matcher.js';
|
|
6
|
+
import { ArchJsonMapper } from './archjson-mapper.js';
|
|
7
|
+
import { GoplsClient } from './gopls-client.js';
|
|
8
|
+
import { DependencyExtractor } from './dependency-extractor.js';
|
|
9
|
+
export class GoPlugin {
|
|
10
|
+
metadata = {
|
|
11
|
+
name: 'golang',
|
|
12
|
+
version: '1.0.0',
|
|
13
|
+
displayName: 'Go (Golang)',
|
|
14
|
+
fileExtensions: ['.go'],
|
|
15
|
+
author: 'ArchGuard Team',
|
|
16
|
+
repository: 'https://github.com/archguard/archguard',
|
|
17
|
+
minCoreVersion: '2.0.0',
|
|
18
|
+
capabilities: {
|
|
19
|
+
singleFileParsing: true,
|
|
20
|
+
incrementalParsing: false,
|
|
21
|
+
dependencyExtraction: true,
|
|
22
|
+
typeInference: true,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
supportedLevels = ['package', 'class', 'method'];
|
|
26
|
+
dependencyExtractor;
|
|
27
|
+
treeSitter;
|
|
28
|
+
matcher;
|
|
29
|
+
mapper;
|
|
30
|
+
goplsClient = null;
|
|
31
|
+
initialized = false;
|
|
32
|
+
workspaceRoot = '';
|
|
33
|
+
constructor() {
|
|
34
|
+
this.dependencyExtractor = new DependencyExtractor();
|
|
35
|
+
}
|
|
36
|
+
async initialize(config) {
|
|
37
|
+
if (this.initialized) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.treeSitter = new TreeSitterBridge();
|
|
41
|
+
this.matcher = new InterfaceMatcher();
|
|
42
|
+
this.mapper = new ArchJsonMapper();
|
|
43
|
+
try {
|
|
44
|
+
this.goplsClient = new GoplsClient();
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.warn('gopls not available, using fallback interface matcher');
|
|
48
|
+
this.goplsClient = null;
|
|
49
|
+
}
|
|
50
|
+
this.initialized = true;
|
|
51
|
+
}
|
|
52
|
+
canHandle(targetPath) {
|
|
53
|
+
const ext = path.extname(targetPath).toLowerCase();
|
|
54
|
+
if (ext === '.go') {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
if (fs.existsSync(targetPath) && fs.statSync(targetPath).isDirectory()) {
|
|
59
|
+
if (fs.existsSync(path.join(targetPath, 'go.mod'))) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
async parseToRawData(workspaceRoot, config) {
|
|
70
|
+
this.ensureInitialized();
|
|
71
|
+
this.workspaceRoot = workspaceRoot;
|
|
72
|
+
if (this.goplsClient && !this.goplsClient.isInitialized()) {
|
|
73
|
+
try {
|
|
74
|
+
await this.goplsClient.initialize(workspaceRoot);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.warn('Failed to initialize gopls, using fallback:', error);
|
|
78
|
+
this.goplsClient = null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const pattern = config.filePattern ?? '**/*.go';
|
|
82
|
+
const files = await glob(pattern, {
|
|
83
|
+
cwd: workspaceRoot,
|
|
84
|
+
absolute: true,
|
|
85
|
+
ignore: ['**/vendor/**', '**/node_modules/**', ...(config.excludePatterns ?? [])],
|
|
86
|
+
});
|
|
87
|
+
const moduleName = await this.readModuleName(workspaceRoot);
|
|
88
|
+
const packages = new Map();
|
|
89
|
+
for (const file of files) {
|
|
90
|
+
const code = await fs.readFile(file, 'utf-8');
|
|
91
|
+
const pkg = this.treeSitter.parseCode(code, file, {
|
|
92
|
+
extractBodies: config.extractBodies,
|
|
93
|
+
selectiveExtraction: config.selectiveExtraction,
|
|
94
|
+
});
|
|
95
|
+
const relDir = path.relative(workspaceRoot, path.dirname(file));
|
|
96
|
+
pkg.fullName = relDir || pkg.name;
|
|
97
|
+
pkg.dirPath = path.dirname(file);
|
|
98
|
+
pkg.id = pkg.fullName;
|
|
99
|
+
const key = pkg.fullName;
|
|
100
|
+
if (packages.has(key)) {
|
|
101
|
+
const existing = packages.get(key);
|
|
102
|
+
existing.structs.push(...pkg.structs);
|
|
103
|
+
existing.interfaces.push(...pkg.interfaces);
|
|
104
|
+
existing.functions.push(...pkg.functions);
|
|
105
|
+
existing.imports.push(...pkg.imports);
|
|
106
|
+
existing.sourceFiles.push(...pkg.sourceFiles);
|
|
107
|
+
if (pkg.orphanedMethods?.length) {
|
|
108
|
+
if (!existing.orphanedMethods)
|
|
109
|
+
existing.orphanedMethods = [];
|
|
110
|
+
existing.orphanedMethods.push(...pkg.orphanedMethods);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
packages.set(key, pkg);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
for (const pkg of packages.values()) {
|
|
118
|
+
if (!pkg.orphanedMethods?.length)
|
|
119
|
+
continue;
|
|
120
|
+
for (const method of pkg.orphanedMethods) {
|
|
121
|
+
const struct = pkg.structs.find((s) => s.name === method.receiverType);
|
|
122
|
+
if (struct) {
|
|
123
|
+
struct.methods.push(method);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
pkg.orphanedMethods = [];
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
packages: Array.from(packages.values()),
|
|
130
|
+
moduleRoot: workspaceRoot,
|
|
131
|
+
moduleName,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
async parseProject(workspaceRoot, config) {
|
|
135
|
+
const rawData = await this.parseToRawData(workspaceRoot, config);
|
|
136
|
+
const allStructs = rawData.packages.flatMap((p) => p.structs.map((s) => ({ ...s, packageName: p.fullName || p.name })));
|
|
137
|
+
const allInterfaces = rawData.packages.flatMap((p) => p.interfaces.map((i) => ({ ...i, packageName: p.fullName || p.name })));
|
|
138
|
+
const implementations = await this.matcher.matchWithGopls(allStructs, allInterfaces, this.goplsClient);
|
|
139
|
+
const entities = this.mapper.mapEntities(rawData.packages);
|
|
140
|
+
const relations = this.mapper.mapRelations(rawData.packages, implementations);
|
|
141
|
+
const missingInterfaces = this.mapper.mapMissingInterfaceEntities(entities, relations, rawData.packages);
|
|
142
|
+
entities.push(...missingInterfaces);
|
|
143
|
+
return {
|
|
144
|
+
version: '1.0',
|
|
145
|
+
language: 'go',
|
|
146
|
+
timestamp: new Date().toISOString(),
|
|
147
|
+
sourceFiles: rawData.packages.flatMap((p) => p.sourceFiles),
|
|
148
|
+
entities,
|
|
149
|
+
relations,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
async readModuleName(workspaceRoot) {
|
|
153
|
+
try {
|
|
154
|
+
const goModContent = await fs.readFile(`${workspaceRoot}/go.mod`, 'utf-8');
|
|
155
|
+
const match = goModContent.match(/^module\s+(.+)$/m);
|
|
156
|
+
return match ? match[1].trim() : 'unknown';
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return 'unknown';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
parseCode(code, filePath = 'source.go') {
|
|
163
|
+
this.ensureInitialized();
|
|
164
|
+
const pkg = this.treeSitter.parseCode(code, filePath);
|
|
165
|
+
const implementations = this.matcher.matchImplicitImplementations(pkg.structs, pkg.interfaces);
|
|
166
|
+
const entities = this.mapper.mapEntities([pkg]);
|
|
167
|
+
const relations = this.mapper.mapRelations([pkg], implementations);
|
|
168
|
+
return {
|
|
169
|
+
version: '1.0',
|
|
170
|
+
language: 'go',
|
|
171
|
+
timestamp: new Date().toISOString(),
|
|
172
|
+
sourceFiles: [filePath],
|
|
173
|
+
entities,
|
|
174
|
+
relations,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
async parseFiles(filePaths) {
|
|
178
|
+
this.ensureInitialized();
|
|
179
|
+
if (this.goplsClient && !this.goplsClient.isInitialized() && this.workspaceRoot) {
|
|
180
|
+
try {
|
|
181
|
+
await this.goplsClient.initialize(this.workspaceRoot);
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.warn('Failed to initialize gopls:', error);
|
|
185
|
+
this.goplsClient = null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const packages = new Map();
|
|
189
|
+
for (const file of filePaths) {
|
|
190
|
+
const code = await fs.readFile(file, 'utf-8');
|
|
191
|
+
const pkg = this.treeSitter.parseCode(code, file);
|
|
192
|
+
const key = path.dirname(file);
|
|
193
|
+
pkg.fullName = pkg.fullName || key;
|
|
194
|
+
pkg.dirPath = pkg.dirPath || key;
|
|
195
|
+
if (packages.has(key)) {
|
|
196
|
+
const existing = packages.get(key);
|
|
197
|
+
existing.structs.push(...pkg.structs);
|
|
198
|
+
existing.interfaces.push(...pkg.interfaces);
|
|
199
|
+
existing.functions.push(...pkg.functions);
|
|
200
|
+
existing.imports.push(...pkg.imports);
|
|
201
|
+
existing.sourceFiles.push(...pkg.sourceFiles);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
packages.set(key, pkg);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
const packageList = Array.from(packages.values());
|
|
208
|
+
const allStructs = packageList.flatMap((p) => p.structs.map((s) => ({ ...s, packageName: p.fullName || p.name })));
|
|
209
|
+
const allInterfaces = packageList.flatMap((p) => p.interfaces.map((i) => ({ ...i, packageName: p.fullName || p.name })));
|
|
210
|
+
const implementations = await this.matcher.matchWithGopls(allStructs, allInterfaces, this.goplsClient);
|
|
211
|
+
const entities = this.mapper.mapEntities(packageList);
|
|
212
|
+
const relations = this.mapper.mapRelations(packageList, implementations);
|
|
213
|
+
const missingInterfaces = this.mapper.mapMissingInterfaceEntities(entities, relations, packageList);
|
|
214
|
+
entities.push(...missingInterfaces);
|
|
215
|
+
return {
|
|
216
|
+
version: '1.0',
|
|
217
|
+
language: 'go',
|
|
218
|
+
timestamp: new Date().toISOString(),
|
|
219
|
+
sourceFiles: filePaths,
|
|
220
|
+
entities,
|
|
221
|
+
relations,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
async dispose() {
|
|
225
|
+
if (this.goplsClient) {
|
|
226
|
+
try {
|
|
227
|
+
await this.goplsClient.dispose();
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
console.warn('Error disposing gopls client:', error);
|
|
231
|
+
}
|
|
232
|
+
this.goplsClient = null;
|
|
233
|
+
}
|
|
234
|
+
this.initialized = false;
|
|
235
|
+
}
|
|
236
|
+
ensureInitialized() {
|
|
237
|
+
if (!this.initialized) {
|
|
238
|
+
throw new Error('GoPlugin not initialized. Call initialize() first.');
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/golang/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GoRawStruct, GoRawInterface, InferredImplementation, MethodSet } from './types.js';
|
|
2
|
+
import type { GoplsClient } from './gopls-client.js';
|
|
3
|
+
export declare class InterfaceMatcher {
|
|
4
|
+
matchWithGopls(structs: GoRawStruct[], interfaces: GoRawInterface[], goplsClient: GoplsClient | null): Promise<InferredImplementation[]>;
|
|
5
|
+
matchImplicitImplementations(structs: GoRawStruct[], interfaces: GoRawInterface[]): InferredImplementation[];
|
|
6
|
+
matchImplicitImplementationsWithEmbedding(structs: GoRawStruct[], interfaces: GoRawInterface[], structMap: Map<string, GoRawStruct>): InferredImplementation[];
|
|
7
|
+
buildMethodSet(struct: GoRawStruct, structMap: Map<string, GoRawStruct>, visited?: Set<string>, isRoot?: boolean): MethodSet;
|
|
8
|
+
private hasEmbeddingCycle;
|
|
9
|
+
private resolveEmbeddedMethods;
|
|
10
|
+
private checkMethodSetImplementsInterface;
|
|
11
|
+
private normalizeMethodSignature;
|
|
12
|
+
private checkStructImplementsInterface;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=interface-matcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface-matcher.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/interface-matcher.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,SAAS,EAEV,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBAAa,gBAAgB;IAOrB,cAAc,CAClB,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,cAAc,EAAE,EAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiEpC,4BAA4B,CAC1B,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,cAAc,EAAE,GAC3B,sBAAsB,EAAE;IAqB3B,yCAAyC,CACvC,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,cAAc,EAAE,EAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,sBAAsB,EAAE;IAsC3B,cAAc,CACZ,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,MAAM,GAAE,OAAc,GACrB,SAAS;IAwCZ,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,sBAAsB;IAgI9B,OAAO,CAAC,iCAAiC;IAoCzC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,8BAA8B;CAiCvC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
export class InterfaceMatcher {
|
|
2
|
+
async matchWithGopls(structs, interfaces, goplsClient) {
|
|
3
|
+
if (!goplsClient || !goplsClient.isInitialized()) {
|
|
4
|
+
return this.matchImplicitImplementations(structs, interfaces);
|
|
5
|
+
}
|
|
6
|
+
const results = [];
|
|
7
|
+
try {
|
|
8
|
+
for (const iface of interfaces) {
|
|
9
|
+
const implementations = await goplsClient.getImplementations(iface.name, iface.location.file, iface.location.startLine);
|
|
10
|
+
for (const impl of implementations) {
|
|
11
|
+
const matchedStruct = structs.find((s) => s.name === impl.structName);
|
|
12
|
+
if (matchedStruct) {
|
|
13
|
+
const ifaceMethodNames = iface.methods.map((m) => m.name);
|
|
14
|
+
const structMethodNames = matchedStruct.methods.map((m) => m.name);
|
|
15
|
+
const matchedMethods = ifaceMethodNames.filter((name) => structMethodNames.includes(name));
|
|
16
|
+
results.push({
|
|
17
|
+
structName: matchedStruct.name,
|
|
18
|
+
structPackageId: matchedStruct.packageName,
|
|
19
|
+
interfaceName: iface.name,
|
|
20
|
+
interfacePackageId: iface.packageName,
|
|
21
|
+
confidence: 0.99,
|
|
22
|
+
matchedMethods,
|
|
23
|
+
source: 'gopls',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const goplsMatchedStructs = new Set(results.map((r) => r.structName));
|
|
29
|
+
const unmatchedStructs = structs.filter((s) => !goplsMatchedStructs.has(s.name));
|
|
30
|
+
if (unmatchedStructs.length > 0) {
|
|
31
|
+
const fallbackResults = this.matchImplicitImplementations(unmatchedStructs, interfaces);
|
|
32
|
+
results.push(...fallbackResults);
|
|
33
|
+
}
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.warn('gopls matching failed, using fallback:', error);
|
|
38
|
+
return this.matchImplicitImplementations(structs, interfaces);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
matchImplicitImplementations(structs, interfaces) {
|
|
42
|
+
const results = [];
|
|
43
|
+
for (const struct of structs) {
|
|
44
|
+
for (const iface of interfaces) {
|
|
45
|
+
const match = this.checkStructImplementsInterface(struct, iface);
|
|
46
|
+
if (match) {
|
|
47
|
+
results.push(match);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return results;
|
|
52
|
+
}
|
|
53
|
+
matchImplicitImplementationsWithEmbedding(structs, interfaces, structMap) {
|
|
54
|
+
const results = [];
|
|
55
|
+
const methodSets = new Map();
|
|
56
|
+
for (const struct of structs) {
|
|
57
|
+
methodSets.set(struct.name, this.buildMethodSet(struct, structMap));
|
|
58
|
+
}
|
|
59
|
+
for (const struct of structs) {
|
|
60
|
+
const methodSet = methodSets.get(struct.name);
|
|
61
|
+
for (const iface of interfaces) {
|
|
62
|
+
const match = this.checkMethodSetImplementsInterface(struct, methodSet, iface);
|
|
63
|
+
if (match) {
|
|
64
|
+
results.push(match);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return results;
|
|
69
|
+
}
|
|
70
|
+
buildMethodSet(struct, structMap, visited = new Set(), isRoot = true) {
|
|
71
|
+
const valueMethodSet = new Map();
|
|
72
|
+
const pointerMethodSet = new Map();
|
|
73
|
+
for (const method of struct.methods) {
|
|
74
|
+
const signature = {
|
|
75
|
+
name: method.name,
|
|
76
|
+
normalizedSignature: this.normalizeMethodSignature(method),
|
|
77
|
+
};
|
|
78
|
+
const isPointerReceiver = method.receiverType?.startsWith('*') ?? false;
|
|
79
|
+
if (isPointerReceiver) {
|
|
80
|
+
pointerMethodSet.set(method.name, signature);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
valueMethodSet.set(method.name, signature);
|
|
84
|
+
pointerMethodSet.set(method.name, signature);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (isRoot && this.hasEmbeddingCycle(struct, structMap, new Set())) {
|
|
88
|
+
return { valueMethodSet, pointerMethodSet };
|
|
89
|
+
}
|
|
90
|
+
this.resolveEmbeddedMethods(struct, valueMethodSet, pointerMethodSet, structMap, visited);
|
|
91
|
+
return { valueMethodSet, pointerMethodSet };
|
|
92
|
+
}
|
|
93
|
+
hasEmbeddingCycle(struct, structMap, visited) {
|
|
94
|
+
if (visited.has(struct.name)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
visited.add(struct.name);
|
|
98
|
+
const embeddedTypes = struct.embeddedTypeRefs?.map((r) => r.name) ??
|
|
99
|
+
struct.embeddedTypes.map((t) => (t.startsWith('*') ? t.slice(1) : t));
|
|
100
|
+
for (const typeName of embeddedTypes) {
|
|
101
|
+
const embeddedStruct = structMap.get(typeName);
|
|
102
|
+
if (embeddedStruct) {
|
|
103
|
+
if (this.hasEmbeddingCycle(embeddedStruct, structMap, new Set(visited))) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
resolveEmbeddedMethods(struct, valueMethodSet, pointerMethodSet, structMap, visited) {
|
|
111
|
+
visited.add(struct.name);
|
|
112
|
+
const embeddedRefs = struct.embeddedTypeRefs ?? [];
|
|
113
|
+
const embeddedTypesToProcess = [];
|
|
114
|
+
if (embeddedRefs.length === 0) {
|
|
115
|
+
for (const embeddedType of struct.embeddedTypes) {
|
|
116
|
+
const isPointer = embeddedType.startsWith('*');
|
|
117
|
+
const typeName = isPointer ? embeddedType.slice(1) : embeddedType;
|
|
118
|
+
embeddedTypesToProcess.push({ typeName, isPointer });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
for (const embeddedRef of embeddedRefs) {
|
|
123
|
+
embeddedTypesToProcess.push({
|
|
124
|
+
typeName: embeddedRef.name,
|
|
125
|
+
isPointer: embeddedRef.isPointer,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const methodsFromEmbeddings = new Map();
|
|
130
|
+
for (const { typeName, isPointer } of embeddedTypesToProcess) {
|
|
131
|
+
if (visited.has(typeName)) {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
const embeddedStruct = structMap.get(typeName);
|
|
135
|
+
if (!embeddedStruct) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const embeddedMethodSet = this.buildMethodSet(embeddedStruct, structMap, new Set(visited), false);
|
|
139
|
+
for (const [name, sig] of embeddedMethodSet.valueMethodSet) {
|
|
140
|
+
if (!methodsFromEmbeddings.has(name)) {
|
|
141
|
+
methodsFromEmbeddings.set(name, []);
|
|
142
|
+
}
|
|
143
|
+
methodsFromEmbeddings.get(name).push({
|
|
144
|
+
sig,
|
|
145
|
+
isValueMethod: true,
|
|
146
|
+
isPointerEmbedding: isPointer,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
for (const [name, sig] of embeddedMethodSet.pointerMethodSet) {
|
|
150
|
+
if (!embeddedMethodSet.valueMethodSet.has(name)) {
|
|
151
|
+
if (!methodsFromEmbeddings.has(name)) {
|
|
152
|
+
methodsFromEmbeddings.set(name, []);
|
|
153
|
+
}
|
|
154
|
+
methodsFromEmbeddings.get(name).push({
|
|
155
|
+
sig,
|
|
156
|
+
isValueMethod: false,
|
|
157
|
+
isPointerEmbedding: isPointer,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
for (const [name, entries] of methodsFromEmbeddings) {
|
|
163
|
+
if (valueMethodSet.has(name) || pointerMethodSet.has(name)) {
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const sources = new Set(entries.map((e) => e.isPointerEmbedding));
|
|
167
|
+
if (sources.size > 1 || entries.length > 1) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
const entry = entries[0];
|
|
171
|
+
const { sig, isValueMethod, isPointerEmbedding } = entry;
|
|
172
|
+
if (isPointerEmbedding) {
|
|
173
|
+
pointerMethodSet.set(name, sig);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
if (isValueMethod) {
|
|
177
|
+
valueMethodSet.set(name, sig);
|
|
178
|
+
pointerMethodSet.set(name, sig);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
pointerMethodSet.set(name, sig);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
checkMethodSetImplementsInterface(struct, methodSet, iface) {
|
|
187
|
+
const ifaceMethodNames = iface.methods.map((m) => m.name);
|
|
188
|
+
const matchedMethods = [];
|
|
189
|
+
for (const methodName of ifaceMethodNames) {
|
|
190
|
+
if (methodSet.pointerMethodSet.has(methodName)) {
|
|
191
|
+
matchedMethods.push(methodName);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (matchedMethods.length === ifaceMethodNames.length && ifaceMethodNames.length > 0) {
|
|
195
|
+
return {
|
|
196
|
+
structName: struct.name,
|
|
197
|
+
structPackageId: struct.packageName,
|
|
198
|
+
interfaceName: iface.name,
|
|
199
|
+
interfacePackageId: iface.packageName,
|
|
200
|
+
confidence: 1.0,
|
|
201
|
+
matchedMethods,
|
|
202
|
+
source: 'inferred',
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
normalizeMethodSignature(method) {
|
|
208
|
+
const paramTypes = method.parameters.map((p) => p.type).join(',');
|
|
209
|
+
const returnTypes = method.returnTypes.join(',');
|
|
210
|
+
return `(${paramTypes})(${returnTypes})`;
|
|
211
|
+
}
|
|
212
|
+
checkStructImplementsInterface(struct, iface) {
|
|
213
|
+
const structMethodNames = new Set(struct.methods.map((m) => m.name));
|
|
214
|
+
const ifaceMethodNames = iface.methods.map((m) => m.name);
|
|
215
|
+
const matchedMethods = [];
|
|
216
|
+
for (const methodName of ifaceMethodNames) {
|
|
217
|
+
if (structMethodNames.has(methodName)) {
|
|
218
|
+
matchedMethods.push(methodName);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (matchedMethods.length === ifaceMethodNames.length && ifaceMethodNames.length > 0) {
|
|
222
|
+
return {
|
|
223
|
+
structName: struct.name,
|
|
224
|
+
structPackageId: struct.packageName,
|
|
225
|
+
interfaceName: iface.name,
|
|
226
|
+
interfacePackageId: iface.packageName,
|
|
227
|
+
confidence: 1.0,
|
|
228
|
+
matchedMethods,
|
|
229
|
+
source: 'inferred',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=interface-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface-matcher.js","sourceRoot":"","sources":["../../../src/plugins/golang/interface-matcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { GoRawPackage } from './types.js';
|
|
2
|
+
export interface TreeSitterParseOptions {
|
|
3
|
+
extractBodies?: boolean;
|
|
4
|
+
selectiveExtraction?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class TreeSitterBridge {
|
|
7
|
+
private parser;
|
|
8
|
+
constructor();
|
|
9
|
+
parseCode(code: string, filePath: string, options?: TreeSitterParseOptions): GoRawPackage;
|
|
10
|
+
private extractFunctions;
|
|
11
|
+
private extractFunctionsWithBodies;
|
|
12
|
+
private extractFunctionSignature;
|
|
13
|
+
private shouldExtractBody;
|
|
14
|
+
private extractFunctionBody;
|
|
15
|
+
private extractGoSpawns;
|
|
16
|
+
private extractCallExprs;
|
|
17
|
+
private extractCallExpr;
|
|
18
|
+
private extractChannelOps;
|
|
19
|
+
private extractMakeChanVarName;
|
|
20
|
+
private extractPackageName;
|
|
21
|
+
private extractImports;
|
|
22
|
+
private extractStruct;
|
|
23
|
+
private extractInterface;
|
|
24
|
+
private extractParametersFromElem;
|
|
25
|
+
private extractReturnTypesFromElem;
|
|
26
|
+
private extractMethod;
|
|
27
|
+
private extractParameters;
|
|
28
|
+
private extractReturnTypes;
|
|
29
|
+
private isExported;
|
|
30
|
+
private nodeToLocation;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tree-sitter-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-sitter-bridge.d.ts","sourceRoot":"","sources":["../../../src/plugins/golang/tree-sitter-bridge.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EAYb,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,sBAAsB;IAErC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;;IAcvB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,YAAY;IAwEzF,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,iBAAiB;IAuDzB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,iBAAiB;IA2DzB,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,aAAa;IAmFrB,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,yBAAyB;IAmDjC,OAAO,CAAC,0BAA0B;IAqClC,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;CASvB"}
|