kirograph 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1171 -0
- package/dist/architecture/index.d.ts +11 -0
- package/dist/architecture/index.d.ts.map +1 -0
- package/dist/architecture/index.js +207 -0
- package/dist/architecture/index.js.map +7 -0
- package/dist/architecture/layers/csharp.d.ts +6 -0
- package/dist/architecture/layers/csharp.d.ts.map +1 -0
- package/dist/architecture/layers/csharp.js +100 -0
- package/dist/architecture/layers/csharp.js.map +7 -0
- package/dist/architecture/layers/elixir.js +116 -0
- package/dist/architecture/layers/elixir.js.map +7 -0
- package/dist/architecture/layers/go.d.ts +7 -0
- package/dist/architecture/layers/go.d.ts.map +1 -0
- package/dist/architecture/layers/go.js +117 -0
- package/dist/architecture/layers/go.js.map +7 -0
- package/dist/architecture/layers/index.d.ts +30 -0
- package/dist/architecture/layers/index.d.ts.map +1 -0
- package/dist/architecture/layers/index.js +100 -0
- package/dist/architecture/layers/index.js.map +7 -0
- package/dist/architecture/layers/java.d.ts +7 -0
- package/dist/architecture/layers/java.d.ts.map +1 -0
- package/dist/architecture/layers/java.js +119 -0
- package/dist/architecture/layers/java.js.map +7 -0
- package/dist/architecture/layers/python.d.ts +7 -0
- package/dist/architecture/layers/python.d.ts.map +1 -0
- package/dist/architecture/layers/python.js +111 -0
- package/dist/architecture/layers/python.js.map +7 -0
- package/dist/architecture/layers/ruby.d.ts +6 -0
- package/dist/architecture/layers/ruby.d.ts.map +1 -0
- package/dist/architecture/layers/ruby.js +95 -0
- package/dist/architecture/layers/ruby.js.map +7 -0
- package/dist/architecture/layers/rust.d.ts +6 -0
- package/dist/architecture/layers/rust.d.ts.map +1 -0
- package/dist/architecture/layers/rust.js +98 -0
- package/dist/architecture/layers/rust.js.map +7 -0
- package/dist/architecture/layers/types.d.ts +2 -0
- package/dist/architecture/layers/types.d.ts.map +1 -0
- package/dist/architecture/layers/types.js +17 -0
- package/dist/architecture/layers/types.js.map +7 -0
- package/dist/architecture/layers/typescript.d.ts +9 -0
- package/dist/architecture/layers/typescript.d.ts.map +1 -0
- package/dist/architecture/layers/typescript.js +143 -0
- package/dist/architecture/layers/typescript.js.map +7 -0
- package/dist/architecture/manifest/cargo.d.ts +3 -0
- package/dist/architecture/manifest/cargo.d.ts.map +1 -0
- package/dist/architecture/manifest/cargo.js +94 -0
- package/dist/architecture/manifest/cargo.js.map +7 -0
- package/dist/architecture/manifest/csproj.d.ts +3 -0
- package/dist/architecture/manifest/csproj.d.ts.map +1 -0
- package/dist/architecture/manifest/csproj.js +75 -0
- package/dist/architecture/manifest/csproj.js.map +7 -0
- package/dist/architecture/manifest/go.d.ts +3 -0
- package/dist/architecture/manifest/go.d.ts.map +1 -0
- package/dist/architecture/manifest/go.js +85 -0
- package/dist/architecture/manifest/go.js.map +7 -0
- package/dist/architecture/manifest/gradle.d.ts +3 -0
- package/dist/architecture/manifest/gradle.d.ts.map +1 -0
- package/dist/architecture/manifest/gradle.js +80 -0
- package/dist/architecture/manifest/gradle.js.map +7 -0
- package/dist/architecture/manifest/index.d.ts +12 -0
- package/dist/architecture/manifest/index.d.ts.map +1 -0
- package/dist/architecture/manifest/index.js +130 -0
- package/dist/architecture/manifest/index.js.map +7 -0
- package/dist/architecture/manifest/maven.d.ts +3 -0
- package/dist/architecture/manifest/maven.d.ts.map +1 -0
- package/dist/architecture/manifest/maven.js +76 -0
- package/dist/architecture/manifest/maven.js.map +7 -0
- package/dist/architecture/manifest/npm.d.ts +3 -0
- package/dist/architecture/manifest/npm.d.ts.map +1 -0
- package/dist/architecture/manifest/npm.js +103 -0
- package/dist/architecture/manifest/npm.js.map +7 -0
- package/dist/architecture/manifest/python.d.ts +3 -0
- package/dist/architecture/manifest/python.d.ts.map +1 -0
- package/dist/architecture/manifest/python.js +105 -0
- package/dist/architecture/manifest/python.js.map +7 -0
- package/dist/architecture/manifest/types.d.ts +2 -0
- package/dist/architecture/manifest/types.d.ts.map +1 -0
- package/dist/architecture/manifest/types.js +17 -0
- package/dist/architecture/manifest/types.js.map +7 -0
- package/dist/architecture/types.d.ts +91 -0
- package/dist/architecture/types.d.ts.map +1 -0
- package/dist/architecture/types.js +17 -0
- package/dist/architecture/types.js.map +7 -0
- package/dist/assets/logo.png +0 -0
- package/dist/banner.d.ts +6 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +67 -0
- package/dist/banner.js.map +1 -0
- package/dist/bin/banner.d.ts +6 -0
- package/dist/bin/banner.d.ts.map +1 -0
- package/dist/bin/banner.js +88 -0
- package/dist/bin/banner.js.map +7 -0
- package/dist/bin/commands/affected.d.ts +3 -0
- package/dist/bin/commands/affected.d.ts.map +1 -0
- package/dist/bin/commands/affected.js +78 -0
- package/dist/bin/commands/affected.js.map +7 -0
- package/dist/bin/commands/architecture.d.ts +3 -0
- package/dist/bin/commands/architecture.d.ts.map +1 -0
- package/dist/bin/commands/architecture.js +125 -0
- package/dist/bin/commands/architecture.js.map +7 -0
- package/dist/bin/commands/caveman.js +136 -0
- package/dist/bin/commands/caveman.js.map +7 -0
- package/dist/bin/commands/context.d.ts +3 -0
- package/dist/bin/commands/context.d.ts.map +1 -0
- package/dist/bin/commands/context.js +81 -0
- package/dist/bin/commands/context.js.map +7 -0
- package/dist/bin/commands/coupling.d.ts +3 -0
- package/dist/bin/commands/coupling.d.ts.map +1 -0
- package/dist/bin/commands/coupling.js +164 -0
- package/dist/bin/commands/coupling.js.map +7 -0
- package/dist/bin/commands/dashboard.d.ts +3 -0
- package/dist/bin/commands/dashboard.d.ts.map +1 -0
- package/dist/bin/commands/dashboard.js +209 -0
- package/dist/bin/commands/dashboard.js.map +7 -0
- package/dist/bin/commands/dead-code.js +77 -0
- package/dist/bin/commands/dead-code.js.map +7 -0
- package/dist/bin/commands/export.js +2620 -0
- package/dist/bin/commands/export.js.map +7 -0
- package/dist/bin/commands/files.d.ts +3 -0
- package/dist/bin/commands/files.d.ts.map +1 -0
- package/dist/bin/commands/files.js +104 -0
- package/dist/bin/commands/files.js.map +7 -0
- package/dist/bin/commands/help.d.ts +4 -0
- package/dist/bin/commands/help.d.ts.map +1 -0
- package/dist/bin/commands/help.js +212 -0
- package/dist/bin/commands/help.js.map +7 -0
- package/dist/bin/commands/hotspots.js +77 -0
- package/dist/bin/commands/hotspots.js.map +7 -0
- package/dist/bin/commands/index.d.ts +3 -0
- package/dist/bin/commands/index.d.ts.map +1 -0
- package/dist/bin/commands/index.js +58 -0
- package/dist/bin/commands/index.js.map +7 -0
- package/dist/bin/commands/init.d.ts +3 -0
- package/dist/bin/commands/init.d.ts.map +1 -0
- package/dist/bin/commands/init.js +68 -0
- package/dist/bin/commands/init.js.map +7 -0
- package/dist/bin/commands/install.d.ts +3 -0
- package/dist/bin/commands/install.d.ts.map +1 -0
- package/dist/bin/commands/install.js +34 -0
- package/dist/bin/commands/install.js.map +7 -0
- package/dist/bin/commands/mark-dirty.d.ts +3 -0
- package/dist/bin/commands/mark-dirty.d.ts.map +1 -0
- package/dist/bin/commands/mark-dirty.js +51 -0
- package/dist/bin/commands/mark-dirty.js.map +7 -0
- package/dist/bin/commands/package.d.ts +3 -0
- package/dist/bin/commands/package.d.ts.map +1 -0
- package/dist/bin/commands/package.js +139 -0
- package/dist/bin/commands/package.js.map +7 -0
- package/dist/bin/commands/path.js +93 -0
- package/dist/bin/commands/path.js.map +7 -0
- package/dist/bin/commands/qdrant.d.ts +3 -0
- package/dist/bin/commands/qdrant.d.ts.map +1 -0
- package/dist/bin/commands/qdrant.js +159 -0
- package/dist/bin/commands/qdrant.js.map +1 -0
- package/dist/bin/commands/query.d.ts +3 -0
- package/dist/bin/commands/query.d.ts.map +1 -0
- package/dist/bin/commands/query.js +47 -0
- package/dist/bin/commands/query.js.map +7 -0
- package/dist/bin/commands/serve.d.ts +3 -0
- package/dist/bin/commands/serve.d.ts.map +1 -0
- package/dist/bin/commands/serve.js +59 -0
- package/dist/bin/commands/serve.js.map +7 -0
- package/dist/bin/commands/snapshot.js +122 -0
- package/dist/bin/commands/snapshot.js.map +7 -0
- package/dist/bin/commands/status.d.ts +3 -0
- package/dist/bin/commands/status.d.ts.map +1 -0
- package/dist/bin/commands/status.js +107 -0
- package/dist/bin/commands/status.js.map +7 -0
- package/dist/bin/commands/stop.d.ts +3 -0
- package/dist/bin/commands/stop.d.ts.map +1 -0
- package/dist/bin/commands/stop.js +81 -0
- package/dist/bin/commands/stop.js.map +1 -0
- package/dist/bin/commands/surprising.js +79 -0
- package/dist/bin/commands/surprising.js.map +7 -0
- package/dist/bin/commands/sync-if-dirty.d.ts +3 -0
- package/dist/bin/commands/sync-if-dirty.d.ts.map +1 -0
- package/dist/bin/commands/sync-if-dirty.js +67 -0
- package/dist/bin/commands/sync-if-dirty.js.map +7 -0
- package/dist/bin/commands/sync.d.ts +3 -0
- package/dist/bin/commands/sync.d.ts.map +1 -0
- package/dist/bin/commands/sync.js +81 -0
- package/dist/bin/commands/sync.js.map +7 -0
- package/dist/bin/commands/typesense.d.ts +3 -0
- package/dist/bin/commands/typesense.d.ts.map +1 -0
- package/dist/bin/commands/typesense.js +126 -0
- package/dist/bin/commands/typesense.js.map +1 -0
- package/dist/bin/commands/uninit.d.ts +4 -0
- package/dist/bin/commands/uninit.d.ts.map +1 -0
- package/dist/bin/commands/uninit.js +123 -0
- package/dist/bin/commands/uninit.js.map +7 -0
- package/dist/bin/commands/unlock.d.ts +3 -0
- package/dist/bin/commands/unlock.d.ts.map +1 -0
- package/dist/bin/commands/unlock.js +53 -0
- package/dist/bin/commands/unlock.js.map +7 -0
- package/dist/bin/commands/utils.d.ts +12 -0
- package/dist/bin/commands/utils.d.ts.map +1 -0
- package/dist/bin/commands/utils.js +56 -0
- package/dist/bin/commands/utils.js.map +7 -0
- package/dist/bin/installer/archive.js +230 -0
- package/dist/bin/installer/archive.js.map +7 -0
- package/dist/bin/installer/caveman.js +57 -0
- package/dist/bin/installer/caveman.js.map +7 -0
- package/dist/bin/installer/cli-agent.d.ts +15 -0
- package/dist/bin/installer/cli-agent.d.ts.map +1 -0
- package/dist/bin/installer/cli-agent.js +89 -0
- package/dist/bin/installer/cli-agent.js.map +7 -0
- package/dist/bin/installer/config-prompt.d.ts +13 -0
- package/dist/bin/installer/config-prompt.d.ts.map +1 -0
- package/dist/bin/installer/config-prompt.js +158 -0
- package/dist/bin/installer/config-prompt.js.map +7 -0
- package/dist/bin/installer/dashboard.d.ts +3 -0
- package/dist/bin/installer/dashboard.d.ts.map +1 -0
- package/dist/bin/installer/dashboard.js +149 -0
- package/dist/bin/installer/dashboard.js.map +7 -0
- package/dist/bin/installer/hooks.d.ts +5 -0
- package/dist/bin/installer/hooks.d.ts.map +1 -0
- package/dist/bin/installer/hooks.js +155 -0
- package/dist/bin/installer/hooks.js.map +7 -0
- package/dist/bin/installer/index.d.ts +11 -0
- package/dist/bin/installer/index.d.ts.map +1 -0
- package/dist/bin/installer/index.js +228 -0
- package/dist/bin/installer/index.js.map +7 -0
- package/dist/bin/installer/mcp.d.ts +5 -0
- package/dist/bin/installer/mcp.d.ts.map +1 -0
- package/dist/bin/installer/mcp.js +80 -0
- package/dist/bin/installer/mcp.js.map +7 -0
- package/dist/bin/installer/prompts.d.ts +28 -0
- package/dist/bin/installer/prompts.d.ts.map +1 -0
- package/dist/bin/installer/prompts.js +134 -0
- package/dist/bin/installer/prompts.js.map +7 -0
- package/dist/bin/installer/qdrant-dashboard.d.ts +4 -0
- package/dist/bin/installer/qdrant-dashboard.d.ts.map +1 -0
- package/dist/bin/installer/qdrant-dashboard.js +115 -0
- package/dist/bin/installer/qdrant-dashboard.js.map +7 -0
- package/dist/bin/installer/steering.d.ts +5 -0
- package/dist/bin/installer/steering.d.ts.map +1 -0
- package/dist/bin/installer/steering.js +283 -0
- package/dist/bin/installer/steering.js.map +7 -0
- package/dist/bin/kirograph.d.ts +6 -0
- package/dist/bin/kirograph.d.ts.map +1 -0
- package/dist/bin/kirograph.js +95 -0
- package/dist/bin/kirograph.js.map +7 -0
- package/dist/bin/progress.d.ts +14 -0
- package/dist/bin/progress.d.ts.map +1 -0
- package/dist/bin/progress.js +201 -0
- package/dist/bin/progress.js.map +7 -0
- package/dist/bin/ui.d.ts +11 -0
- package/dist/bin/ui.d.ts.map +1 -0
- package/dist/bin/ui.js +71 -0
- package/dist/bin/ui.js.map +7 -0
- package/dist/config.d.ts +48 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +273 -0
- package/dist/config.js.map +7 -0
- package/dist/context/index.d.ts +61 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +224 -0
- package/dist/context/index.js.map +7 -0
- package/dist/core/file-tree.d.ts +15 -0
- package/dist/core/file-tree.d.ts.map +1 -0
- package/dist/core/file-tree.js +69 -0
- package/dist/core/file-tree.js.map +7 -0
- package/dist/core/lock-manager.d.ts +20 -0
- package/dist/core/lock-manager.d.ts.map +1 -0
- package/dist/core/lock-manager.js +120 -0
- package/dist/core/lock-manager.js.map +7 -0
- package/dist/core/pipeline.d.ts +37 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +375 -0
- package/dist/core/pipeline.js.map +7 -0
- package/dist/core/snapshot.js +141 -0
- package/dist/core/snapshot.js.map +7 -0
- package/dist/db/database.d.ts +133 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +929 -0
- package/dist/db/database.js.map +7 -0
- package/dist/db/schema.sql +174 -0
- package/dist/errors.d.ts +49 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +160 -0
- package/dist/errors.js.map +7 -0
- package/dist/extraction/extractor.d.ts +29 -0
- package/dist/extraction/extractor.d.ts.map +1 -0
- package/dist/extraction/extractor.js +764 -0
- package/dist/extraction/extractor.js.map +7 -0
- package/dist/extraction/grammars.d.ts +48 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +166 -0
- package/dist/extraction/grammars.js.map +7 -0
- package/dist/extraction/languages.d.ts +9 -0
- package/dist/extraction/languages.d.ts.map +1 -0
- package/dist/extraction/languages.js +103 -0
- package/dist/extraction/languages.js.map +7 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/frameworks/csharp.d.ts +8 -0
- package/dist/frameworks/csharp.d.ts.map +1 -0
- package/dist/frameworks/csharp.js +93 -0
- package/dist/frameworks/csharp.js.map +7 -0
- package/dist/frameworks/elixir.js +142 -0
- package/dist/frameworks/elixir.js.map +7 -0
- package/dist/frameworks/express.d.ts +8 -0
- package/dist/frameworks/express.d.ts.map +1 -0
- package/dist/frameworks/express.js +143 -0
- package/dist/frameworks/express.js.map +7 -0
- package/dist/frameworks/go.d.ts +8 -0
- package/dist/frameworks/go.d.ts.map +1 -0
- package/dist/frameworks/go.js +85 -0
- package/dist/frameworks/go.js.map +7 -0
- package/dist/frameworks/index.d.ts +30 -0
- package/dist/frameworks/index.d.ts.map +1 -0
- package/dist/frameworks/index.js +243 -0
- package/dist/frameworks/index.js.map +7 -0
- package/dist/frameworks/java.d.ts +8 -0
- package/dist/frameworks/java.d.ts.map +1 -0
- package/dist/frameworks/java.js +87 -0
- package/dist/frameworks/java.js.map +7 -0
- package/dist/frameworks/laravel.d.ts +9 -0
- package/dist/frameworks/laravel.d.ts.map +1 -0
- package/dist/frameworks/laravel.js +115 -0
- package/dist/frameworks/laravel.js.map +7 -0
- package/dist/frameworks/python.d.ts +10 -0
- package/dist/frameworks/python.d.ts.map +1 -0
- package/dist/frameworks/python.js +158 -0
- package/dist/frameworks/python.js.map +7 -0
- package/dist/frameworks/react.d.ts +9 -0
- package/dist/frameworks/react.d.ts.map +1 -0
- package/dist/frameworks/react.js +230 -0
- package/dist/frameworks/react.js.map +7 -0
- package/dist/frameworks/ruby.d.ts +8 -0
- package/dist/frameworks/ruby.d.ts.map +1 -0
- package/dist/frameworks/ruby.js +136 -0
- package/dist/frameworks/ruby.js.map +7 -0
- package/dist/frameworks/rust.d.ts +8 -0
- package/dist/frameworks/rust.d.ts.map +1 -0
- package/dist/frameworks/rust.js +82 -0
- package/dist/frameworks/rust.js.map +7 -0
- package/dist/frameworks/svelte.d.ts +8 -0
- package/dist/frameworks/svelte.d.ts.map +1 -0
- package/dist/frameworks/svelte.js +174 -0
- package/dist/frameworks/svelte.js.map +7 -0
- package/dist/frameworks/swift.d.ts +10 -0
- package/dist/frameworks/swift.d.ts.map +1 -0
- package/dist/frameworks/swift.js +151 -0
- package/dist/frameworks/swift.js.map +7 -0
- package/dist/frameworks/types.d.ts +37 -0
- package/dist/frameworks/types.d.ts.map +1 -0
- package/dist/frameworks/types.js +17 -0
- package/dist/frameworks/types.js.map +7 -0
- package/dist/graph/queries.d.ts +53 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +224 -0
- package/dist/graph/queries.js.map +7 -0
- package/dist/graph/traversal.d.ts +35 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +148 -0
- package/dist/graph/traversal.js.map +7 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +303 -0
- package/dist/index.js.map +7 -0
- package/dist/installer/index.d.ts +10 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +526 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/mcp/server.d.ts +16 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +116 -0
- package/dist/mcp/server.js.map +7 -0
- package/dist/mcp/tools.d.ts +37 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +779 -0
- package/dist/mcp/tools.js.map +7 -0
- package/dist/mcp/transport.d.ts +29 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +70 -0
- package/dist/mcp/transport.js.map +7 -0
- package/dist/resolution/index.d.ts +56 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +384 -0
- package/dist/resolution/index.js.map +7 -0
- package/dist/resolution/name-matcher.d.ts +25 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +60 -0
- package/dist/resolution/name-matcher.js.map +7 -0
- package/dist/scripts/postinstall.js +64 -0
- package/dist/search/query-utils.d.ts +21 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +219 -0
- package/dist/search/query-utils.js.map +7 -0
- package/dist/search/searcher.d.ts +15 -0
- package/dist/search/searcher.d.ts.map +1 -0
- package/dist/search/searcher.js +49 -0
- package/dist/search/searcher.js.map +7 -0
- package/dist/sync/index.d.ts +33 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +200 -0
- package/dist/sync/index.js.map +7 -0
- package/dist/types.d.ts +131 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +37 -0
- package/dist/types.js.map +7 -0
- package/dist/utils.d.ts +52 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +254 -0
- package/dist/utils.js.map +7 -0
- package/dist/vectors/index.d.ts +71 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +480 -0
- package/dist/vectors/index.js.map +7 -0
- package/dist/vectors/lancedb-index.d.ts +50 -0
- package/dist/vectors/lancedb-index.d.ts.map +1 -0
- package/dist/vectors/lancedb-index.js +153 -0
- package/dist/vectors/lancedb-index.js.map +7 -0
- package/dist/vectors/orama-index.d.ts +54 -0
- package/dist/vectors/orama-index.d.ts.map +1 -0
- package/dist/vectors/orama-index.js +213 -0
- package/dist/vectors/orama-index.js.map +7 -0
- package/dist/vectors/pglite-index.d.ts +53 -0
- package/dist/vectors/pglite-index.d.ts.map +1 -0
- package/dist/vectors/pglite-index.js +194 -0
- package/dist/vectors/pglite-index.js.map +7 -0
- package/dist/vectors/qdrant-index.d.ts +70 -0
- package/dist/vectors/qdrant-index.d.ts.map +1 -0
- package/dist/vectors/qdrant-index.js +364 -0
- package/dist/vectors/qdrant-index.js.map +7 -0
- package/dist/vectors/typesense-index.d.ts +75 -0
- package/dist/vectors/typesense-index.d.ts.map +1 -0
- package/dist/vectors/typesense-index.js +453 -0
- package/dist/vectors/typesense-index.js.map +7 -0
- package/dist/vectors/vec-index.d.ts +52 -0
- package/dist/vectors/vec-index.d.ts.map +1 -0
- package/dist/vectors/vec-index.js +198 -0
- package/dist/vectors/vec-index.js.map +7 -0
- package/package.json +67 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var ruby_exports = {};
|
|
30
|
+
__export(ruby_exports, {
|
|
31
|
+
rubyLayerDetector: () => rubyLayerDetector
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(ruby_exports);
|
|
34
|
+
var import_picomatch = __toESM(require("picomatch"));
|
|
35
|
+
const LAYER_PATTERNS = [
|
|
36
|
+
["api", "**/app/controllers/**", 0.95],
|
|
37
|
+
["api", "**/controllers/**", 0.9],
|
|
38
|
+
["api", "**/app/channels/**", 0.85],
|
|
39
|
+
["service", "**/app/services/**", 0.95],
|
|
40
|
+
["service", "**/services/**", 0.9],
|
|
41
|
+
["service", "**/app/jobs/**", 0.85],
|
|
42
|
+
["data", "**/app/models/**", 0.95],
|
|
43
|
+
["data", "**/models/**", 0.9],
|
|
44
|
+
["data", "**/db/migrate/**", 0.9],
|
|
45
|
+
["data", "**/db/**", 0.8],
|
|
46
|
+
["ui", "**/app/views/**", 0.95],
|
|
47
|
+
["ui", "**/views/**", 0.9],
|
|
48
|
+
["ui", "**/app/helpers/**", 0.8],
|
|
49
|
+
["shared", "**/app/mailers/**", 0.8],
|
|
50
|
+
["shared", "**/lib/**", 0.8],
|
|
51
|
+
["shared", "**/config/**", 0.75]
|
|
52
|
+
];
|
|
53
|
+
const rubyLayerDetector = {
|
|
54
|
+
language: "ruby",
|
|
55
|
+
async detect(files, _projectRoot, configLayers) {
|
|
56
|
+
const results = [];
|
|
57
|
+
const configMatchers = _buildConfigMatchers(configLayers ?? {});
|
|
58
|
+
for (const file of files) {
|
|
59
|
+
if (!file.endsWith(".rb")) continue;
|
|
60
|
+
const configMatch = _matchConfig(file, configMatchers);
|
|
61
|
+
if (configMatch) {
|
|
62
|
+
results.push({ ...configMatch, filePath: file });
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
let best = null;
|
|
66
|
+
for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
|
|
67
|
+
if ((0, import_picomatch.default)(pattern)(file)) {
|
|
68
|
+
if (!best || confidence > best.confidence) {
|
|
69
|
+
best = { layerName, filePath: file, confidence, matchedPattern: pattern };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (best) results.push(best);
|
|
74
|
+
}
|
|
75
|
+
return results;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
function _buildConfigMatchers(configLayers) {
|
|
79
|
+
return Object.entries(configLayers).flatMap(
|
|
80
|
+
([layerName, patterns]) => patterns.map(
|
|
81
|
+
(pattern) => [layerName, (0, import_picomatch.default)(pattern), pattern]
|
|
82
|
+
)
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
function _matchConfig(file, matchers) {
|
|
86
|
+
for (const [layerName, matcher, pattern] of matchers) {
|
|
87
|
+
if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
92
|
+
0 && (module.exports = {
|
|
93
|
+
rubyLayerDetector
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=ruby.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/architecture/layers/ruby.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Layer detector for Ruby / Rails projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n ['api', '**/app/controllers/**', 0.95],\n ['api', '**/controllers/**', 0.9],\n ['api', '**/app/channels/**', 0.85],\n ['service', '**/app/services/**', 0.95],\n ['service', '**/services/**', 0.9],\n ['service', '**/app/jobs/**', 0.85],\n ['data', '**/app/models/**', 0.95],\n ['data', '**/models/**', 0.9],\n ['data', '**/db/migrate/**', 0.9],\n ['data', '**/db/**', 0.8],\n ['ui', '**/app/views/**', 0.95],\n ['ui', '**/views/**', 0.9],\n ['ui', '**/app/helpers/**', 0.8],\n ['shared', '**/app/mailers/**', 0.8],\n ['shared', '**/lib/**', 0.8],\n ['shared', '**/config/**', 0.75],\n];\n\nexport const rubyLayerDetector: LayerDetector = {\n language: 'ruby',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n if (!file.endsWith('.rb')) continue;\n\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) { results.push({ ...configMatch, filePath: file }); continue; }\n\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n return Object.entries(configLayers).flatMap(([layerName, patterns]) =>\n patterns.map((pattern): [string, ReturnType<typeof picomatch>, string] =>\n [layerName, picomatch(pattern), pattern]\n )\n );\n}\nfunction _matchConfig(file: string, matchers: Array<[string, ReturnType<typeof picomatch>, string]>): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAAsB;AAEtB,MAAM,iBAAkD;AAAA,EACtD,CAAC,OAAO,yBAAyB,IAAI;AAAA,EACrC,CAAC,OAAO,qBAAqB,GAAG;AAAA,EAChC,CAAC,OAAO,sBAAsB,IAAI;AAAA,EAClC,CAAC,WAAW,sBAAsB,IAAI;AAAA,EACtC,CAAC,WAAW,kBAAkB,GAAG;AAAA,EACjC,CAAC,WAAW,kBAAkB,IAAI;AAAA,EAClC,CAAC,QAAQ,oBAAoB,IAAI;AAAA,EACjC,CAAC,QAAQ,gBAAgB,GAAG;AAAA,EAC5B,CAAC,QAAQ,oBAAoB,GAAG;AAAA,EAChC,CAAC,QAAQ,YAAY,GAAG;AAAA,EACxB,CAAC,MAAM,mBAAmB,IAAI;AAAA,EAC9B,CAAC,MAAM,eAAe,GAAG;AAAA,EACzB,CAAC,MAAM,qBAAqB,GAAG;AAAA,EAC/B,CAAC,UAAU,qBAAqB,GAAG;AAAA,EACnC,CAAC,UAAU,aAAa,GAAG;AAAA,EAC3B,CAAC,UAAU,gBAAgB,IAAI;AACjC;AAEO,MAAM,oBAAmC;AAAA,EAC9C,UAAU;AAAA,EAEV,MAAM,OAAO,OAAiB,cAAsB,cAAoE;AACtH,UAAM,UAA4B,CAAC;AACnC,UAAM,iBAAiB,qBAAqB,gBAAgB,CAAC,CAAC;AAE9D,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,SAAS,KAAK,EAAG;AAE3B,YAAM,cAAc,aAAa,MAAM,cAAc;AACrD,UAAI,aAAa;AAAE,gBAAQ,KAAK,EAAE,GAAG,aAAa,UAAU,KAAK,CAAC;AAAG;AAAA,MAAU;AAE/E,UAAI,OAA8B;AAClC,iBAAW,CAAC,WAAW,SAAS,UAAU,KAAK,gBAAgB;AAC7D,gBAAI,iBAAAA,SAAU,OAAO,EAAE,IAAI,GAAG;AAC5B,cAAI,CAAC,QAAQ,aAAa,KAAK,YAAY;AACzC,mBAAO,EAAE,WAAW,UAAU,MAAM,YAAY,gBAAgB,QAAQ;AAAA,UAC1E;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAM,SAAQ,KAAK,IAAI;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,cAA+F;AAC3H,SAAO,OAAO,QAAQ,YAAY,EAAE;AAAA,IAAQ,CAAC,CAAC,WAAW,QAAQ,MAC/D,SAAS;AAAA,MAAI,CAAC,YACZ,CAAC,eAAW,iBAAAA,SAAU,OAAO,GAAG,OAAO;AAAA,IACzC;AAAA,EACF;AACF;AACA,SAAS,aAAa,MAAc,UAA0G;AAC5I,aAAW,CAAC,WAAW,SAAS,OAAO,KAAK,UAAU;AACpD,QAAI,QAAQ,IAAI,EAAG,QAAO,EAAE,WAAW,YAAY,GAAK,gBAAgB,UAAU,OAAO,GAAG;AAAA,EAC9F;AACA,SAAO;AACT;",
|
|
6
|
+
"names": ["picomatch"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/rust.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAyB9D,eAAO,MAAM,iBAAiB,EAAE,aAwB/B,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var rust_exports = {};
|
|
30
|
+
__export(rust_exports, {
|
|
31
|
+
rustLayerDetector: () => rustLayerDetector
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(rust_exports);
|
|
34
|
+
var import_picomatch = __toESM(require("picomatch"));
|
|
35
|
+
const LAYER_PATTERNS = [
|
|
36
|
+
["api", "**/handlers/**", 0.9],
|
|
37
|
+
["api", "**/routes/**", 0.9],
|
|
38
|
+
["api", "**/*_handler.rs", 0.9],
|
|
39
|
+
["api", "**/*_route.rs", 0.85],
|
|
40
|
+
["service", "**/services/**", 0.9],
|
|
41
|
+
["service", "**/service/**", 0.9],
|
|
42
|
+
["service", "**/*_service.rs", 0.9],
|
|
43
|
+
["service", "**/domain/**", 0.8],
|
|
44
|
+
["data", "**/models/**", 0.85],
|
|
45
|
+
["data", "**/repositories/**", 0.9],
|
|
46
|
+
["data", "**/*_repository.rs", 0.9],
|
|
47
|
+
["data", "**/db/**", 0.85],
|
|
48
|
+
["data", "**/schema.rs", 0.85],
|
|
49
|
+
["data", "**/migrations/**", 0.85],
|
|
50
|
+
["shared", "**/utils/**", 0.85],
|
|
51
|
+
["shared", "**/common/**", 0.8],
|
|
52
|
+
["shared", "**/config/**", 0.8],
|
|
53
|
+
["shared", "**/errors.rs", 0.75],
|
|
54
|
+
["shared", "**/error.rs", 0.75]
|
|
55
|
+
];
|
|
56
|
+
const rustLayerDetector = {
|
|
57
|
+
language: "rust",
|
|
58
|
+
async detect(files, _projectRoot, configLayers) {
|
|
59
|
+
const results = [];
|
|
60
|
+
const configMatchers = _buildConfigMatchers(configLayers ?? {});
|
|
61
|
+
for (const file of files) {
|
|
62
|
+
if (!file.endsWith(".rs")) continue;
|
|
63
|
+
const configMatch = _matchConfig(file, configMatchers);
|
|
64
|
+
if (configMatch) {
|
|
65
|
+
results.push({ ...configMatch, filePath: file });
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
let best = null;
|
|
69
|
+
for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
|
|
70
|
+
if ((0, import_picomatch.default)(pattern)(file)) {
|
|
71
|
+
if (!best || confidence > best.confidence) {
|
|
72
|
+
best = { layerName, filePath: file, confidence, matchedPattern: pattern };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (best) results.push(best);
|
|
77
|
+
}
|
|
78
|
+
return results;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
function _buildConfigMatchers(configLayers) {
|
|
82
|
+
return Object.entries(configLayers).flatMap(
|
|
83
|
+
([layerName, patterns]) => patterns.map(
|
|
84
|
+
(pattern) => [layerName, (0, import_picomatch.default)(pattern), pattern]
|
|
85
|
+
)
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
function _matchConfig(file, matchers) {
|
|
89
|
+
for (const [layerName, matcher, pattern] of matchers) {
|
|
90
|
+
if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
rustLayerDetector
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=rust.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/architecture/layers/rust.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Layer detector for Rust projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n ['api', '**/handlers/**', 0.9],\n ['api', '**/routes/**', 0.9],\n ['api', '**/*_handler.rs', 0.9],\n ['api', '**/*_route.rs', 0.85],\n ['service', '**/services/**', 0.9],\n ['service', '**/service/**', 0.9],\n ['service', '**/*_service.rs', 0.9],\n ['service', '**/domain/**', 0.8],\n ['data', '**/models/**', 0.85],\n ['data', '**/repositories/**', 0.9],\n ['data', '**/*_repository.rs', 0.9],\n ['data', '**/db/**', 0.85],\n ['data', '**/schema.rs', 0.85],\n ['data', '**/migrations/**', 0.85],\n ['shared', '**/utils/**', 0.85],\n ['shared', '**/common/**', 0.8],\n ['shared', '**/config/**', 0.8],\n ['shared', '**/errors.rs', 0.75],\n ['shared', '**/error.rs', 0.75],\n];\n\nexport const rustLayerDetector: LayerDetector = {\n language: 'rust',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n if (!file.endsWith('.rs')) continue;\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) { results.push({ ...configMatch, filePath: file }); continue; }\n\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n return Object.entries(configLayers).flatMap(([layerName, patterns]) =>\n patterns.map((pattern): [string, ReturnType<typeof picomatch>, string] =>\n [layerName, picomatch(pattern), pattern]\n )\n );\n}\nfunction _matchConfig(file: string, matchers: Array<[string, ReturnType<typeof picomatch>, string]>): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAAsB;AAEtB,MAAM,iBAAkD;AAAA,EACtD,CAAC,OAAO,kBAAkB,GAAG;AAAA,EAC7B,CAAC,OAAO,gBAAgB,GAAG;AAAA,EAC3B,CAAC,OAAO,mBAAmB,GAAG;AAAA,EAC9B,CAAC,OAAO,iBAAiB,IAAI;AAAA,EAC7B,CAAC,WAAW,kBAAkB,GAAG;AAAA,EACjC,CAAC,WAAW,iBAAiB,GAAG;AAAA,EAChC,CAAC,WAAW,mBAAmB,GAAG;AAAA,EAClC,CAAC,WAAW,gBAAgB,GAAG;AAAA,EAC/B,CAAC,QAAQ,gBAAgB,IAAI;AAAA,EAC7B,CAAC,QAAQ,sBAAsB,GAAG;AAAA,EAClC,CAAC,QAAQ,sBAAsB,GAAG;AAAA,EAClC,CAAC,QAAQ,YAAY,IAAI;AAAA,EACzB,CAAC,QAAQ,gBAAgB,IAAI;AAAA,EAC7B,CAAC,QAAQ,oBAAoB,IAAI;AAAA,EACjC,CAAC,UAAU,eAAe,IAAI;AAAA,EAC9B,CAAC,UAAU,gBAAgB,GAAG;AAAA,EAC9B,CAAC,UAAU,gBAAgB,GAAG;AAAA,EAC9B,CAAC,UAAU,gBAAgB,IAAI;AAAA,EAC/B,CAAC,UAAU,eAAe,IAAI;AAChC;AAEO,MAAM,oBAAmC;AAAA,EAC9C,UAAU;AAAA,EAEV,MAAM,OAAO,OAAiB,cAAsB,cAAoE;AACtH,UAAM,UAA4B,CAAC;AACnC,UAAM,iBAAiB,qBAAqB,gBAAgB,CAAC,CAAC;AAE9D,eAAW,QAAQ,OAAO;AACxB,UAAI,CAAC,KAAK,SAAS,KAAK,EAAG;AAC3B,YAAM,cAAc,aAAa,MAAM,cAAc;AACrD,UAAI,aAAa;AAAE,gBAAQ,KAAK,EAAE,GAAG,aAAa,UAAU,KAAK,CAAC;AAAG;AAAA,MAAU;AAE/E,UAAI,OAA8B;AAClC,iBAAW,CAAC,WAAW,SAAS,UAAU,KAAK,gBAAgB;AAC7D,gBAAI,iBAAAA,SAAU,OAAO,EAAE,IAAI,GAAG;AAC5B,cAAI,CAAC,QAAQ,aAAa,KAAK,YAAY;AACzC,mBAAO,EAAE,WAAW,UAAU,MAAM,YAAY,gBAAgB,QAAQ;AAAA,UAC1E;AAAA,QACF;AAAA,MACF;AACA,UAAI,KAAM,SAAQ,KAAK,IAAI;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,cAA+F;AAC3H,SAAO,OAAO,QAAQ,YAAY,EAAE;AAAA,IAAQ,CAAC,CAAC,WAAW,QAAQ,MAC/D,SAAS;AAAA,MAAI,CAAC,YACZ,CAAC,eAAW,iBAAAA,SAAU,OAAO,GAAG,OAAO;AAAA,IACzC;AAAA,EACF;AACF;AACA,SAAS,aAAa,MAAc,UAA0G;AAC5I,aAAW,CAAC,WAAW,SAAS,OAAO,KAAK,UAAU;AACpD,QAAI,QAAQ,IAAI,EAAG,QAAO,EAAE,WAAW,YAAY,GAAK,gBAAgB,UAAU,OAAO,GAAG;AAAA,EAC9F;AACA,SAAO;AACT;",
|
|
6
|
+
"names": ["picomatch"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer detector for TypeScript / JavaScript / TSX / JSX projects.
|
|
3
|
+
*
|
|
4
|
+
* Detects: api, service, data, ui, shared layers based on
|
|
5
|
+
* directory names and file naming conventions common in TS/JS projects.
|
|
6
|
+
*/
|
|
7
|
+
import type { LayerDetector } from '../types';
|
|
8
|
+
export declare const typescriptLayerDetector: LayerDetector;
|
|
9
|
+
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/architecture/layers/typescript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,UAAU,CAAC;AAyE9D,eAAO,MAAM,uBAAuB,EAAE,aAkCrC,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var typescript_exports = {};
|
|
30
|
+
__export(typescript_exports, {
|
|
31
|
+
typescriptLayerDetector: () => typescriptLayerDetector
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(typescript_exports);
|
|
34
|
+
var import_picomatch = __toESM(require("picomatch"));
|
|
35
|
+
const LAYER_PATTERNS = [
|
|
36
|
+
// API / Controller layer
|
|
37
|
+
["api", "**/routes/**", 0.9],
|
|
38
|
+
["api", "**/controllers/**", 0.9],
|
|
39
|
+
["api", "**/handlers/**", 0.85],
|
|
40
|
+
["api", "**/*.route.ts", 0.9],
|
|
41
|
+
["api", "**/*.route.js", 0.9],
|
|
42
|
+
["api", "**/*.controller.ts", 0.9],
|
|
43
|
+
["api", "**/*.controller.js", 0.9],
|
|
44
|
+
["api", "**/*.handler.ts", 0.85],
|
|
45
|
+
["api", "**/api/**", 0.75],
|
|
46
|
+
["api", "**/endpoints/**", 0.85],
|
|
47
|
+
// Service / Business logic layer
|
|
48
|
+
["service", "**/services/**", 0.9],
|
|
49
|
+
["service", "**/*.service.ts", 0.9],
|
|
50
|
+
["service", "**/*.service.js", 0.9],
|
|
51
|
+
["service", "**/usecases/**", 0.85],
|
|
52
|
+
["service", "**/use-cases/**", 0.85],
|
|
53
|
+
["service", "**/interactors/**", 0.8],
|
|
54
|
+
["service", "**/domain/**", 0.8],
|
|
55
|
+
// Data / Repository layer
|
|
56
|
+
["data", "**/repositories/**", 0.9],
|
|
57
|
+
["data", "**/repository/**", 0.9],
|
|
58
|
+
["data", "**/models/**", 0.85],
|
|
59
|
+
["data", "**/entities/**", 0.85],
|
|
60
|
+
["data", "**/dao/**", 0.9],
|
|
61
|
+
["data", "**/store/**", 0.8],
|
|
62
|
+
["data", "**/*.repository.ts", 0.9],
|
|
63
|
+
["data", "**/*.repository.js", 0.9],
|
|
64
|
+
["data", "**/*.model.ts", 0.85],
|
|
65
|
+
["data", "**/*.model.js", 0.85],
|
|
66
|
+
["data", "**/*.entity.ts", 0.85],
|
|
67
|
+
["data", "**/db/**", 0.8],
|
|
68
|
+
["data", "**/database/**", 0.8],
|
|
69
|
+
["data", "**/migrations/**", 0.85],
|
|
70
|
+
["data", "**/schema/**", 0.8],
|
|
71
|
+
// UI / Frontend layer
|
|
72
|
+
["ui", "**/components/**", 0.9],
|
|
73
|
+
["ui", "**/pages/**", 0.9],
|
|
74
|
+
["ui", "**/views/**", 0.85],
|
|
75
|
+
["ui", "**/screens/**", 0.9],
|
|
76
|
+
["ui", "**/layouts/**", 0.85],
|
|
77
|
+
["ui", "**/*.component.ts", 0.9],
|
|
78
|
+
["ui", "**/*.component.tsx", 0.9],
|
|
79
|
+
["ui", "**/*.page.tsx", 0.9],
|
|
80
|
+
["ui", "**/*.screen.tsx", 0.9],
|
|
81
|
+
["ui", "**/ui/**", 0.8],
|
|
82
|
+
// Shared / Infrastructure layer
|
|
83
|
+
["shared", "**/utils/**", 0.85],
|
|
84
|
+
["shared", "**/helpers/**", 0.85],
|
|
85
|
+
["shared", "**/lib/**", 0.8],
|
|
86
|
+
["shared", "**/common/**", 0.8],
|
|
87
|
+
["shared", "**/shared/**", 0.85],
|
|
88
|
+
["shared", "**/constants/**", 0.8],
|
|
89
|
+
["shared", "**/config/**", 0.8],
|
|
90
|
+
["shared", "**/middleware/**", 0.8],
|
|
91
|
+
["shared", "**/plugins/**", 0.75],
|
|
92
|
+
["shared", "**/hooks/**", 0.8],
|
|
93
|
+
["shared", "**/*.util.ts", 0.85],
|
|
94
|
+
["shared", "**/*.util.js", 0.85],
|
|
95
|
+
["shared", "**/*.helper.ts", 0.85]
|
|
96
|
+
];
|
|
97
|
+
const SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx", ".svelte"]);
|
|
98
|
+
const typescriptLayerDetector = {
|
|
99
|
+
language: "typescript",
|
|
100
|
+
async detect(files, _projectRoot, configLayers) {
|
|
101
|
+
const results = [];
|
|
102
|
+
const configMatchers = _buildConfigMatchers(configLayers ?? {});
|
|
103
|
+
for (const file of files) {
|
|
104
|
+
const ext = file.slice(file.lastIndexOf("."));
|
|
105
|
+
if (!SUPPORTED_EXTENSIONS.has(ext)) continue;
|
|
106
|
+
const configMatch = _matchConfig(file, configMatchers);
|
|
107
|
+
if (configMatch) {
|
|
108
|
+
results.push({ ...configMatch, filePath: file });
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
let best = null;
|
|
112
|
+
for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {
|
|
113
|
+
if ((0, import_picomatch.default)(pattern)(file)) {
|
|
114
|
+
if (!best || confidence > best.confidence) {
|
|
115
|
+
best = { layerName, filePath: file, confidence, matchedPattern: pattern };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (best) results.push(best);
|
|
120
|
+
}
|
|
121
|
+
return results;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
function _buildConfigMatchers(configLayers) {
|
|
125
|
+
const matchers = [];
|
|
126
|
+
for (const [layerName, patterns] of Object.entries(configLayers)) {
|
|
127
|
+
for (const pattern of patterns) {
|
|
128
|
+
matchers.push([layerName, (0, import_picomatch.default)(pattern), pattern]);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return matchers;
|
|
132
|
+
}
|
|
133
|
+
function _matchConfig(file, matchers) {
|
|
134
|
+
for (const [layerName, matcher, pattern] of matchers) {
|
|
135
|
+
if (matcher(file)) return { layerName, confidence: 1, matchedPattern: `config:${pattern}` };
|
|
136
|
+
}
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
140
|
+
0 && (module.exports = {
|
|
141
|
+
typescriptLayerDetector
|
|
142
|
+
});
|
|
143
|
+
//# sourceMappingURL=typescript.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/architecture/layers/typescript.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Layer detector for TypeScript / JavaScript / TSX / JSX projects.\n *\n * Detects: api, service, data, ui, shared layers based on\n * directory names and file naming conventions common in TS/JS projects.\n */\nimport type { LayerDetector, ArchLayerMatch } from '../types';\nimport picomatch from 'picomatch';\n\n// Pattern definitions: each entry is [layerName, glob, confidence]\nconst LAYER_PATTERNS: Array<[string, string, number]> = [\n // API / Controller layer\n ['api', '**/routes/**', 0.9],\n ['api', '**/controllers/**', 0.9],\n ['api', '**/handlers/**', 0.85],\n ['api', '**/*.route.ts', 0.9],\n ['api', '**/*.route.js', 0.9],\n ['api', '**/*.controller.ts', 0.9],\n ['api', '**/*.controller.js', 0.9],\n ['api', '**/*.handler.ts', 0.85],\n ['api', '**/api/**', 0.75],\n ['api', '**/endpoints/**', 0.85],\n\n // Service / Business logic layer\n ['service', '**/services/**', 0.9],\n ['service', '**/*.service.ts', 0.9],\n ['service', '**/*.service.js', 0.9],\n ['service', '**/usecases/**', 0.85],\n ['service', '**/use-cases/**', 0.85],\n ['service', '**/interactors/**', 0.8],\n ['service', '**/domain/**', 0.8],\n\n // Data / Repository layer\n ['data', '**/repositories/**', 0.9],\n ['data', '**/repository/**', 0.9],\n ['data', '**/models/**', 0.85],\n ['data', '**/entities/**', 0.85],\n ['data', '**/dao/**', 0.9],\n ['data', '**/store/**', 0.8],\n ['data', '**/*.repository.ts', 0.9],\n ['data', '**/*.repository.js', 0.9],\n ['data', '**/*.model.ts', 0.85],\n ['data', '**/*.model.js', 0.85],\n ['data', '**/*.entity.ts', 0.85],\n ['data', '**/db/**', 0.8],\n ['data', '**/database/**', 0.8],\n ['data', '**/migrations/**', 0.85],\n ['data', '**/schema/**', 0.8],\n\n // UI / Frontend layer\n ['ui', '**/components/**', 0.9],\n ['ui', '**/pages/**', 0.9],\n ['ui', '**/views/**', 0.85],\n ['ui', '**/screens/**', 0.9],\n ['ui', '**/layouts/**', 0.85],\n ['ui', '**/*.component.ts', 0.9],\n ['ui', '**/*.component.tsx', 0.9],\n ['ui', '**/*.page.tsx', 0.9],\n ['ui', '**/*.screen.tsx', 0.9],\n ['ui', '**/ui/**', 0.8],\n\n // Shared / Infrastructure layer\n ['shared', '**/utils/**', 0.85],\n ['shared', '**/helpers/**', 0.85],\n ['shared', '**/lib/**', 0.8],\n ['shared', '**/common/**', 0.8],\n ['shared', '**/shared/**', 0.85],\n ['shared', '**/constants/**', 0.8],\n ['shared', '**/config/**', 0.8],\n ['shared', '**/middleware/**', 0.8],\n ['shared', '**/plugins/**', 0.75],\n ['shared', '**/hooks/**', 0.8],\n ['shared', '**/*.util.ts', 0.85],\n ['shared', '**/*.util.js', 0.85],\n ['shared', '**/*.helper.ts', 0.85],\n];\n\nconst SUPPORTED_EXTENSIONS = new Set(['.ts', '.tsx', '.js', '.jsx', '.svelte']);\n\nexport const typescriptLayerDetector: LayerDetector = {\n language: 'typescript',\n\n async detect(files: string[], _projectRoot: string, configLayers?: Record<string, string[]>): Promise<ArchLayerMatch[]> {\n const results: ArchLayerMatch[] = [];\n\n // Config-defined layers override auto-detection for matching files\n const configMatchers = _buildConfigMatchers(configLayers ?? {});\n\n for (const file of files) {\n const ext = file.slice(file.lastIndexOf('.'));\n if (!SUPPORTED_EXTENSIONS.has(ext)) continue;\n\n // Check config layers first (they win)\n const configMatch = _matchConfig(file, configMatchers);\n if (configMatch) {\n results.push({ ...configMatch, filePath: file });\n continue;\n }\n\n // Auto-detect\n let best: ArchLayerMatch | null = null;\n for (const [layerName, pattern, confidence] of LAYER_PATTERNS) {\n if (picomatch(pattern)(file)) {\n if (!best || confidence > best.confidence) {\n best = { layerName, filePath: file, confidence, matchedPattern: pattern };\n }\n }\n }\n if (best) results.push(best);\n }\n\n return results;\n },\n};\n\nfunction _buildConfigMatchers(configLayers: Record<string, string[]>): Array<[string, ReturnType<typeof picomatch>, string]> {\n const matchers: Array<[string, ReturnType<typeof picomatch>, string]> = [];\n for (const [layerName, patterns] of Object.entries(configLayers)) {\n for (const pattern of patterns) {\n matchers.push([layerName, picomatch(pattern), pattern]);\n }\n }\n return matchers;\n}\n\nfunction _matchConfig(\n file: string,\n matchers: Array<[string, ReturnType<typeof picomatch>, string]>\n): Omit<ArchLayerMatch, 'filePath'> | null {\n for (const [layerName, matcher, pattern] of matchers) {\n if (matcher(file)) return { layerName, confidence: 1.0, matchedPattern: `config:${pattern}` };\n }\n return null;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["picomatch"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/cargo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,WAAW,EAAE,cA8DzB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var cargo_exports = {};
|
|
30
|
+
__export(cargo_exports, {
|
|
31
|
+
cargoParser: () => cargoParser
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(cargo_exports);
|
|
34
|
+
var fs = __toESM(require("fs"));
|
|
35
|
+
var path = __toESM(require("path"));
|
|
36
|
+
const cargoParser = {
|
|
37
|
+
name: "cargo",
|
|
38
|
+
manifestFiles: ["Cargo.toml"],
|
|
39
|
+
language: "rust",
|
|
40
|
+
canParse(manifestPath) {
|
|
41
|
+
return path.basename(manifestPath) === "Cargo.toml";
|
|
42
|
+
},
|
|
43
|
+
async parse(manifestPath, projectRoot) {
|
|
44
|
+
let content;
|
|
45
|
+
try {
|
|
46
|
+
content = fs.readFileSync(manifestPath, "utf8");
|
|
47
|
+
} catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const nameMatch = content.match(/^\[package\][^[]*name\s*=\s*"([^"]+)"/ms);
|
|
51
|
+
const versionMatch = content.match(/^\[package\][^[]*version\s*=\s*"([^"]+)"/ms);
|
|
52
|
+
const name = nameMatch ? nameMatch[1] : path.basename(path.dirname(manifestPath));
|
|
53
|
+
const version = versionMatch ? versionMatch[1] : void 0;
|
|
54
|
+
const externalDeps = [];
|
|
55
|
+
const depsMatch = content.match(/^\[dependencies\]([\s\S]*?)(?=^\[|\Z)/m);
|
|
56
|
+
if (depsMatch) {
|
|
57
|
+
for (const line of depsMatch[1].split("\n")) {
|
|
58
|
+
const m = line.trim().match(/^([a-zA-Z0-9_-]+)\s*=/);
|
|
59
|
+
if (m) externalDeps.push(m[1]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const relDir = path.relative(projectRoot, path.dirname(manifestPath)).replace(/\\/g, "/") || ".";
|
|
63
|
+
const relManifest = path.relative(projectRoot, manifestPath).replace(/\\/g, "/");
|
|
64
|
+
const packages = [{
|
|
65
|
+
id: `pkg:cargo:${relDir}`,
|
|
66
|
+
name,
|
|
67
|
+
path: relDir,
|
|
68
|
+
source: "manifest",
|
|
69
|
+
language: "rust",
|
|
70
|
+
manifestPath: relManifest,
|
|
71
|
+
version,
|
|
72
|
+
externalDeps,
|
|
73
|
+
updatedAt: Date.now()
|
|
74
|
+
}];
|
|
75
|
+
const workspaceMatch = content.match(/^\[workspace\][^[]*members\s*=\s*\[([^\]]+)\]/ms);
|
|
76
|
+
if (workspaceMatch) {
|
|
77
|
+
const members = workspaceMatch[1].match(/"([^"]+)"/g)?.map((s) => s.replace(/"/g, "")) ?? [];
|
|
78
|
+
for (const member of members) {
|
|
79
|
+
const memberDir = path.join(path.dirname(manifestPath), member);
|
|
80
|
+
const memberCargo = path.join(memberDir, "Cargo.toml");
|
|
81
|
+
if (fs.existsSync(memberCargo)) {
|
|
82
|
+
const sub = await this.parse(memberCargo, projectRoot);
|
|
83
|
+
packages.push(...sub);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return packages;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
91
|
+
0 && (module.exports = {
|
|
92
|
+
cargoParser
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=cargo.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/architecture/manifest/cargo.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Rust Cargo.toml manifest parser.\n */\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport type { ManifestParser, ArchPackage } from '../types';\n\nexport const cargoParser: ManifestParser = {\n name: 'cargo',\n manifestFiles: ['Cargo.toml'],\n language: 'rust',\n\n canParse(manifestPath: string): boolean {\n return path.basename(manifestPath) === 'Cargo.toml';\n },\n\n async parse(manifestPath: string, projectRoot: string): Promise<ArchPackage[]> {\n let content: string;\n try {\n content = fs.readFileSync(manifestPath, 'utf8');\n } catch {\n return [];\n }\n\n const nameMatch = content.match(/^\\[package\\][^[]*name\\s*=\\s*\"([^\"]+)\"/ms);\n const versionMatch = content.match(/^\\[package\\][^[]*version\\s*=\\s*\"([^\"]+)\"/ms);\n const name = nameMatch ? nameMatch[1] : path.basename(path.dirname(manifestPath));\n const version = versionMatch ? versionMatch[1] : undefined;\n\n const externalDeps: string[] = [];\n const depsMatch = content.match(/^\\[dependencies\\]([\\s\\S]*?)(?=^\\[|\\Z)/m);\n if (depsMatch) {\n for (const line of depsMatch[1].split('\\n')) {\n const m = line.trim().match(/^([a-zA-Z0-9_-]+)\\s*=/);\n if (m) externalDeps.push(m[1]);\n }\n }\n\n const relDir = path.relative(projectRoot, path.dirname(manifestPath)).replace(/\\\\/g, '/') || '.';\n const relManifest = path.relative(projectRoot, manifestPath).replace(/\\\\/g, '/');\n\n const packages: ArchPackage[] = [{\n id: `pkg:cargo:${relDir}`,\n name,\n path: relDir,\n source: 'manifest',\n language: 'rust',\n manifestPath: relManifest,\n version,\n externalDeps,\n updatedAt: Date.now(),\n }];\n\n // Handle workspace members\n const workspaceMatch = content.match(/^\\[workspace\\][^[]*members\\s*=\\s*\\[([^\\]]+)\\]/ms);\n if (workspaceMatch) {\n const members = workspaceMatch[1].match(/\"([^\"]+)\"/g)?.map(s => s.replace(/\"/g, '')) ?? [];\n for (const member of members) {\n const memberDir = path.join(path.dirname(manifestPath), member);\n const memberCargo = path.join(memberDir, 'Cargo.toml');\n if (fs.existsSync(memberCargo)) {\n const sub = await this.parse(memberCargo, projectRoot);\n packages.push(...sub);\n }\n }\n }\n\n return packages;\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,SAAoB;AACpB,WAAsB;AAGf,MAAM,cAA8B;AAAA,EACzC,MAAM;AAAA,EACN,eAAe,CAAC,YAAY;AAAA,EAC5B,UAAU;AAAA,EAEV,SAAS,cAA+B;AACtC,WAAO,KAAK,SAAS,YAAY,MAAM;AAAA,EACzC;AAAA,EAEA,MAAM,MAAM,cAAsB,aAA6C;AAC7E,QAAI;AACJ,QAAI;AACF,gBAAU,GAAG,aAAa,cAAc,MAAM;AAAA,IAChD,QAAQ;AACN,aAAO,CAAC;AAAA,IACV;AAEA,UAAM,YAAY,QAAQ,MAAM,yCAAyC;AACzE,UAAM,eAAe,QAAQ,MAAM,4CAA4C;AAC/E,UAAM,OAAO,YAAY,UAAU,CAAC,IAAI,KAAK,SAAS,KAAK,QAAQ,YAAY,CAAC;AAChF,UAAM,UAAU,eAAe,aAAa,CAAC,IAAI;AAEjD,UAAM,eAAyB,CAAC;AAChC,UAAM,YAAY,QAAQ,MAAM,wCAAwC;AACxE,QAAI,WAAW;AACb,iBAAW,QAAQ,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG;AAC3C,cAAM,IAAI,KAAK,KAAK,EAAE,MAAM,uBAAuB;AACnD,YAAI,EAAG,cAAa,KAAK,EAAE,CAAC,CAAC;AAAA,MAC/B;AAAA,IACF;AAEA,UAAM,SAAS,KAAK,SAAS,aAAa,KAAK,QAAQ,YAAY,CAAC,EAAE,QAAQ,OAAO,GAAG,KAAK;AAC7F,UAAM,cAAc,KAAK,SAAS,aAAa,YAAY,EAAE,QAAQ,OAAO,GAAG;AAE/E,UAAM,WAA0B,CAAC;AAAA,MAC/B,IAAI,aAAa,MAAM;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,IACtB,CAAC;AAGD,UAAM,iBAAiB,QAAQ,MAAM,iDAAiD;AACtF,QAAI,gBAAgB;AAClB,YAAM,UAAU,eAAe,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,OAAK,EAAE,QAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;AACzF,iBAAW,UAAU,SAAS;AAC5B,cAAM,YAAY,KAAK,KAAK,KAAK,QAAQ,YAAY,GAAG,MAAM;AAC9D,cAAM,cAAc,KAAK,KAAK,WAAW,YAAY;AACrD,YAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,gBAAM,MAAM,MAAM,KAAK,MAAM,aAAa,WAAW;AACrD,mBAAS,KAAK,GAAG,GAAG;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csproj.d.ts","sourceRoot":"","sources":["../../../src/architecture/manifest/csproj.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,YAAY,EAAE,cAyC1B,CAAC"}
|