driftdetect-core 0.4.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/boundaries/boundary-scanner.d.ts.map +1 -1
- package/dist/boundaries/boundary-scanner.js +184 -18
- package/dist/boundaries/boundary-scanner.js.map +1 -1
- package/dist/boundaries/types.d.ts +34 -2
- package/dist/boundaries/types.d.ts.map +1 -1
- package/dist/call-graph/analysis/graph-builder.d.ts +3 -0
- package/dist/call-graph/analysis/graph-builder.d.ts.map +1 -1
- package/dist/call-graph/analysis/graph-builder.js +81 -18
- package/dist/call-graph/analysis/graph-builder.js.map +1 -1
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/csharp-data-access-extractor.js +18 -5
- package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/csharp-extractor.d.ts +35 -0
- package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/csharp-extractor.js +362 -4
- package/dist/call-graph/extractors/csharp-extractor.js.map +1 -1
- package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts +37 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.js +408 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/data-access-extractor.d.ts +16 -2
- package/dist/call-graph/extractors/data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/data-access-extractor.js +114 -5
- package/dist/call-graph/extractors/data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/hybrid-extractor-base.d.ts +102 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.d.ts.map +1 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.js +289 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.js.map +1 -0
- package/dist/call-graph/extractors/index.d.ts +17 -13
- package/dist/call-graph/extractors/index.d.ts.map +1 -1
- package/dist/call-graph/extractors/index.js +24 -23
- package/dist/call-graph/extractors/index.js.map +1 -1
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/java-data-access-extractor.js +20 -6
- package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/java-extractor.d.ts +15 -0
- package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/java-extractor.js +120 -4
- package/dist/call-graph/extractors/java-extractor.js.map +1 -1
- package/dist/call-graph/extractors/java-hybrid-extractor.d.ts +36 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.js +426 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/php-data-access-extractor.js +20 -6
- package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/php-extractor.d.ts +48 -1
- package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/php-extractor.js +460 -6
- package/dist/call-graph/extractors/php-extractor.js.map +1 -1
- package/dist/call-graph/extractors/php-hybrid-extractor.d.ts +35 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.js +393 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/python-data-access-extractor.js +20 -6
- package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/python-hybrid-extractor.d.ts +85 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.js +462 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts +154 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.js +346 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.js.map +1 -0
- package/dist/call-graph/extractors/regex/csharp-regex.d.ts +34 -0
- package/dist/call-graph/extractors/regex/csharp-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/csharp-regex.js +393 -0
- package/dist/call-graph/extractors/regex/csharp-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/index.d.ts +25 -0
- package/dist/call-graph/extractors/regex/index.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/index.js +66 -0
- package/dist/call-graph/extractors/regex/index.js.map +1 -0
- package/dist/call-graph/extractors/regex/java-regex.d.ts +34 -0
- package/dist/call-graph/extractors/regex/java-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/java-regex.js +327 -0
- package/dist/call-graph/extractors/regex/java-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/php-regex.d.ts +30 -0
- package/dist/call-graph/extractors/regex/php-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/php-regex.js +333 -0
- package/dist/call-graph/extractors/regex/php-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/python-regex.d.ts +46 -0
- package/dist/call-graph/extractors/regex/python-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/python-regex.js +380 -0
- package/dist/call-graph/extractors/regex/python-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/typescript-regex.d.ts +27 -0
- package/dist/call-graph/extractors/regex/typescript-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/typescript-regex.js +349 -0
- package/dist/call-graph/extractors/regex/typescript-regex.js.map +1 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +11 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
- package/dist/call-graph/extractors/semantic-data-access-scanner.js +53 -2
- package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
- package/dist/call-graph/extractors/types.d.ts +111 -0
- package/dist/call-graph/extractors/types.d.ts.map +1 -0
- package/dist/call-graph/extractors/types.js +68 -0
- package/dist/call-graph/extractors/types.js.map +1 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/typescript-data-access-extractor.js +31 -10
- package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts +116 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.js +635 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/index.d.ts +2 -4
- package/dist/call-graph/index.d.ts.map +1 -1
- package/dist/call-graph/index.js +5 -6
- package/dist/call-graph/index.js.map +1 -1
- package/dist/error-handling/error-handling-analyzer.d.ts +73 -0
- package/dist/error-handling/error-handling-analyzer.d.ts.map +1 -0
- package/dist/error-handling/error-handling-analyzer.js +706 -0
- package/dist/error-handling/error-handling-analyzer.js.map +1 -0
- package/dist/error-handling/index.d.ts +8 -0
- package/dist/error-handling/index.d.ts.map +1 -0
- package/dist/error-handling/index.js +8 -0
- package/dist/error-handling/index.js.map +1 -0
- package/dist/error-handling/types.d.ts +307 -0
- package/dist/error-handling/types.d.ts.map +1 -0
- package/dist/error-handling/types.js +7 -0
- package/dist/error-handling/types.js.map +1 -0
- package/dist/index.d.ts +18 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -5
- package/dist/index.js.map +1 -1
- package/dist/lake/pattern-shard-store.d.ts +6 -0
- package/dist/lake/pattern-shard-store.d.ts.map +1 -1
- package/dist/lake/pattern-shard-store.js +6 -0
- package/dist/lake/pattern-shard-store.js.map +1 -1
- package/dist/language-intelligence/base-normalizer.d.ts +68 -0
- package/dist/language-intelligence/base-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/base-normalizer.js +210 -0
- package/dist/language-intelligence/base-normalizer.js.map +1 -0
- package/dist/language-intelligence/framework-registry.d.ts +89 -0
- package/dist/language-intelligence/framework-registry.d.ts.map +1 -0
- package/dist/language-intelligence/framework-registry.js +165 -0
- package/dist/language-intelligence/framework-registry.js.map +1 -0
- package/dist/language-intelligence/frameworks/aspnet.d.ts +11 -0
- package/dist/language-intelligence/frameworks/aspnet.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/aspnet.js +325 -0
- package/dist/language-intelligence/frameworks/aspnet.js.map +1 -0
- package/dist/language-intelligence/frameworks/fastapi.d.ts +11 -0
- package/dist/language-intelligence/frameworks/fastapi.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/fastapi.js +188 -0
- package/dist/language-intelligence/frameworks/fastapi.js.map +1 -0
- package/dist/language-intelligence/frameworks/index.d.ts +32 -0
- package/dist/language-intelligence/frameworks/index.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/index.js +51 -0
- package/dist/language-intelligence/frameworks/index.js.map +1 -0
- package/dist/language-intelligence/frameworks/laravel.d.ts +12 -0
- package/dist/language-intelligence/frameworks/laravel.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/laravel.js +194 -0
- package/dist/language-intelligence/frameworks/laravel.js.map +1 -0
- package/dist/language-intelligence/frameworks/nestjs.d.ts +11 -0
- package/dist/language-intelligence/frameworks/nestjs.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/nestjs.js +307 -0
- package/dist/language-intelligence/frameworks/nestjs.js.map +1 -0
- package/dist/language-intelligence/frameworks/spring.d.ts +11 -0
- package/dist/language-intelligence/frameworks/spring.d.ts.map +1 -0
- package/dist/language-intelligence/frameworks/spring.js +369 -0
- package/dist/language-intelligence/frameworks/spring.js.map +1 -0
- package/dist/language-intelligence/index.d.ts +33 -0
- package/dist/language-intelligence/index.d.ts.map +1 -0
- package/dist/language-intelligence/index.js +37 -0
- package/dist/language-intelligence/index.js.map +1 -0
- package/dist/language-intelligence/language-intelligence.d.ts +99 -0
- package/dist/language-intelligence/language-intelligence.d.ts.map +1 -0
- package/dist/language-intelligence/language-intelligence.js +239 -0
- package/dist/language-intelligence/language-intelligence.js.map +1 -0
- package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts +39 -0
- package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/csharp-normalizer.js +86 -0
- package/dist/language-intelligence/normalizers/csharp-normalizer.js.map +1 -0
- package/dist/language-intelligence/normalizers/index.d.ts +25 -0
- package/dist/language-intelligence/normalizers/index.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/index.js +60 -0
- package/dist/language-intelligence/normalizers/index.js.map +1 -0
- package/dist/language-intelligence/normalizers/java-normalizer.d.ts +39 -0
- package/dist/language-intelligence/normalizers/java-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/java-normalizer.js +96 -0
- package/dist/language-intelligence/normalizers/java-normalizer.js.map +1 -0
- package/dist/language-intelligence/normalizers/php-normalizer.d.ts +39 -0
- package/dist/language-intelligence/normalizers/php-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/php-normalizer.js +86 -0
- package/dist/language-intelligence/normalizers/php-normalizer.js.map +1 -0
- package/dist/language-intelligence/normalizers/python-normalizer.d.ts +39 -0
- package/dist/language-intelligence/normalizers/python-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/python-normalizer.js +95 -0
- package/dist/language-intelligence/normalizers/python-normalizer.js.map +1 -0
- package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts +39 -0
- package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts.map +1 -0
- package/dist/language-intelligence/normalizers/typescript-normalizer.js +84 -0
- package/dist/language-intelligence/normalizers/typescript-normalizer.js.map +1 -0
- package/dist/language-intelligence/types.d.ts +270 -0
- package/dist/language-intelligence/types.d.ts.map +1 -0
- package/dist/language-intelligence/types.js +9 -0
- package/dist/language-intelligence/types.js.map +1 -0
- package/dist/module-coupling/coupling-analyzer.d.ts +73 -0
- package/dist/module-coupling/coupling-analyzer.d.ts.map +1 -0
- package/dist/module-coupling/coupling-analyzer.js +668 -0
- package/dist/module-coupling/coupling-analyzer.js.map +1 -0
- package/dist/module-coupling/index.d.ts +9 -0
- package/dist/module-coupling/index.d.ts.map +1 -0
- package/dist/module-coupling/index.js +9 -0
- package/dist/module-coupling/index.js.map +1 -0
- package/dist/module-coupling/types.d.ts +273 -0
- package/dist/module-coupling/types.d.ts.map +1 -0
- package/dist/module-coupling/types.js +8 -0
- package/dist/module-coupling/types.js.map +1 -0
- package/dist/patterns/adapters/index.d.ts +11 -0
- package/dist/patterns/adapters/index.d.ts.map +1 -0
- package/dist/patterns/adapters/index.js +11 -0
- package/dist/patterns/adapters/index.js.map +1 -0
- package/dist/patterns/adapters/pattern-store-adapter.d.ts +59 -0
- package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -0
- package/dist/patterns/adapters/pattern-store-adapter.js +468 -0
- package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -0
- package/dist/patterns/adapters/service-factory.d.ts +40 -0
- package/dist/patterns/adapters/service-factory.d.ts.map +1 -0
- package/dist/patterns/adapters/service-factory.js +144 -0
- package/dist/patterns/adapters/service-factory.js.map +1 -0
- package/dist/patterns/errors.d.ts +32 -0
- package/dist/patterns/errors.d.ts.map +1 -0
- package/dist/patterns/errors.js +45 -0
- package/dist/patterns/errors.js.map +1 -0
- package/dist/patterns/impl/cached-repository.d.ts +79 -0
- package/dist/patterns/impl/cached-repository.d.ts.map +1 -0
- package/dist/patterns/impl/cached-repository.js +296 -0
- package/dist/patterns/impl/cached-repository.js.map +1 -0
- package/dist/patterns/impl/file-repository.d.ts +75 -0
- package/dist/patterns/impl/file-repository.d.ts.map +1 -0
- package/dist/patterns/impl/file-repository.js +507 -0
- package/dist/patterns/impl/file-repository.js.map +1 -0
- package/dist/patterns/impl/index.d.ts +16 -0
- package/dist/patterns/impl/index.d.ts.map +1 -0
- package/dist/patterns/impl/index.js +21 -0
- package/dist/patterns/impl/index.js.map +1 -0
- package/dist/patterns/impl/memory-repository.d.ts +56 -0
- package/dist/patterns/impl/memory-repository.d.ts.map +1 -0
- package/dist/patterns/impl/memory-repository.js +323 -0
- package/dist/patterns/impl/memory-repository.js.map +1 -0
- package/dist/patterns/impl/pattern-service.d.ts +52 -0
- package/dist/patterns/impl/pattern-service.d.ts.map +1 -0
- package/dist/patterns/impl/pattern-service.js +382 -0
- package/dist/patterns/impl/pattern-service.js.map +1 -0
- package/dist/patterns/impl/repository-factory.d.ts +44 -0
- package/dist/patterns/impl/repository-factory.d.ts.map +1 -0
- package/dist/patterns/impl/repository-factory.js +140 -0
- package/dist/patterns/impl/repository-factory.js.map +1 -0
- package/dist/patterns/impl/unified-file-repository.d.ts +111 -0
- package/dist/patterns/impl/unified-file-repository.d.ts.map +1 -0
- package/dist/patterns/impl/unified-file-repository.js +677 -0
- package/dist/patterns/impl/unified-file-repository.js.map +1 -0
- package/dist/patterns/index.d.ts +23 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +41 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/repository.d.ts +241 -0
- package/dist/patterns/repository.d.ts.map +1 -0
- package/dist/patterns/repository.js +23 -0
- package/dist/patterns/repository.js.map +1 -0
- package/dist/patterns/service.d.ts +245 -0
- package/dist/patterns/service.d.ts.map +1 -0
- package/dist/patterns/service.js +25 -0
- package/dist/patterns/service.js.map +1 -0
- package/dist/patterns/types.d.ts +227 -0
- package/dist/patterns/types.d.ts.map +1 -0
- package/dist/patterns/types.js +117 -0
- package/dist/patterns/types.js.map +1 -0
- package/dist/scanner/file-processor-worker.d.ts +66 -0
- package/dist/scanner/file-processor-worker.d.ts.map +1 -0
- package/dist/scanner/file-processor-worker.js +189 -0
- package/dist/scanner/file-processor-worker.js.map +1 -0
- package/dist/scanner/index.d.ts +2 -0
- package/dist/scanner/index.d.ts.map +1 -1
- package/dist/scanner/index.js +2 -0
- package/dist/scanner/index.js.map +1 -1
- package/dist/scanner/threaded-worker-pool.d.ts +182 -0
- package/dist/scanner/threaded-worker-pool.d.ts.map +1 -0
- package/dist/scanner/threaded-worker-pool.js +243 -0
- package/dist/scanner/threaded-worker-pool.js.map +1 -0
- package/dist/store/pattern-store.d.ts +6 -0
- package/dist/store/pattern-store.d.ts.map +1 -1
- package/dist/store/pattern-store.js +6 -0
- package/dist/store/pattern-store.js.map +1 -1
- package/dist/store/types.d.ts +6 -3
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/types.js.map +1 -1
- package/dist/test-topology/extractors/base-test-extractor.d.ts +89 -0
- package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/base-test-extractor.js +187 -0
- package/dist/test-topology/extractors/base-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/csharp-test-extractor.d.ts +23 -0
- package/dist/test-topology/extractors/csharp-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/csharp-test-extractor.js +367 -0
- package/dist/test-topology/extractors/csharp-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/index.d.ts +12 -0
- package/dist/test-topology/extractors/index.d.ts.map +1 -0
- package/dist/test-topology/extractors/index.js +12 -0
- package/dist/test-topology/extractors/index.js.map +1 -0
- package/dist/test-topology/extractors/java-test-extractor.d.ts +20 -0
- package/dist/test-topology/extractors/java-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/java-test-extractor.js +275 -0
- package/dist/test-topology/extractors/java-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/php-test-extractor.d.ts +24 -0
- package/dist/test-topology/extractors/php-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/php-test-extractor.js +409 -0
- package/dist/test-topology/extractors/php-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/python-test-extractor.d.ts +23 -0
- package/dist/test-topology/extractors/python-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/python-test-extractor.js +342 -0
- package/dist/test-topology/extractors/python-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts +51 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.js +383 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/index.d.ts +18 -0
- package/dist/test-topology/extractors/regex/index.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/index.js +43 -0
- package/dist/test-topology/extractors/regex/index.js.map +1 -0
- package/dist/test-topology/extractors/regex/java-test-regex.d.ts +50 -0
- package/dist/test-topology/extractors/regex/java-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/java-test-regex.js +370 -0
- package/dist/test-topology/extractors/regex/java-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/php-test-regex.d.ts +56 -0
- package/dist/test-topology/extractors/regex/php-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/php-test-regex.js +503 -0
- package/dist/test-topology/extractors/regex/php-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/python-test-regex.d.ts +57 -0
- package/dist/test-topology/extractors/regex/python-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/python-test-regex.js +381 -0
- package/dist/test-topology/extractors/regex/python-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts +60 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.js +368 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/typescript-test-extractor.d.ts +24 -0
- package/dist/test-topology/extractors/typescript-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/typescript-test-extractor.js +266 -0
- package/dist/test-topology/extractors/typescript-test-extractor.js.map +1 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.d.ts +98 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.js +555 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -0
- package/dist/test-topology/index.d.ts +16 -0
- package/dist/test-topology/index.d.ts.map +1 -0
- package/dist/test-topology/index.js +19 -0
- package/dist/test-topology/index.js.map +1 -0
- package/dist/test-topology/test-topology-analyzer.d.ts +85 -0
- package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -0
- package/dist/test-topology/test-topology-analyzer.js +538 -0
- package/dist/test-topology/test-topology-analyzer.js.map +1 -0
- package/dist/test-topology/types.d.ts +300 -0
- package/dist/test-topology/types.d.ts.map +1 -0
- package/dist/test-topology/types.js +7 -0
- package/dist/test-topology/types.js.map +1 -0
- package/dist/unified-provider/compat/index.d.ts +11 -0
- package/dist/unified-provider/compat/index.d.ts.map +1 -0
- package/dist/unified-provider/compat/index.js +13 -0
- package/dist/unified-provider/compat/index.js.map +1 -0
- package/dist/unified-provider/compat/legacy-extractors.d.ts +63 -0
- package/dist/unified-provider/compat/legacy-extractors.d.ts.map +1 -0
- package/dist/unified-provider/compat/legacy-extractors.js +80 -0
- package/dist/unified-provider/compat/legacy-extractors.js.map +1 -0
- package/dist/unified-provider/compat/legacy-scanner.d.ts +28 -0
- package/dist/unified-provider/compat/legacy-scanner.d.ts.map +1 -0
- package/dist/unified-provider/compat/legacy-scanner.js +31 -0
- package/dist/unified-provider/compat/legacy-scanner.js.map +1 -0
- package/dist/unified-provider/index.d.ts +28 -0
- package/dist/unified-provider/index.d.ts.map +1 -0
- package/dist/unified-provider/index.js +47 -0
- package/dist/unified-provider/index.js.map +1 -0
- package/dist/unified-provider/integration/index.d.ts +9 -0
- package/dist/unified-provider/integration/index.d.ts.map +1 -0
- package/dist/unified-provider/integration/index.js +11 -0
- package/dist/unified-provider/integration/index.js.map +1 -0
- package/dist/unified-provider/integration/unified-data-access-adapter.d.ts +75 -0
- package/dist/unified-provider/integration/unified-data-access-adapter.d.ts.map +1 -0
- package/dist/unified-provider/integration/unified-data-access-adapter.js +210 -0
- package/dist/unified-provider/integration/unified-data-access-adapter.js.map +1 -0
- package/dist/unified-provider/integration/unified-scanner.d.ts +90 -0
- package/dist/unified-provider/integration/unified-scanner.d.ts.map +1 -0
- package/dist/unified-provider/integration/unified-scanner.js +369 -0
- package/dist/unified-provider/integration/unified-scanner.js.map +1 -0
- package/dist/unified-provider/matching/base-matcher.d.ts +80 -0
- package/dist/unified-provider/matching/base-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/base-matcher.js +196 -0
- package/dist/unified-provider/matching/base-matcher.js.map +1 -0
- package/dist/unified-provider/matching/django-matcher.d.ts +32 -0
- package/dist/unified-provider/matching/django-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/django-matcher.js +107 -0
- package/dist/unified-provider/matching/django-matcher.js.map +1 -0
- package/dist/unified-provider/matching/drizzle-matcher.d.ts +25 -0
- package/dist/unified-provider/matching/drizzle-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/drizzle-matcher.js +123 -0
- package/dist/unified-provider/matching/drizzle-matcher.js.map +1 -0
- package/dist/unified-provider/matching/efcore-matcher.d.ts +27 -0
- package/dist/unified-provider/matching/efcore-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/efcore-matcher.js +88 -0
- package/dist/unified-provider/matching/efcore-matcher.js.map +1 -0
- package/dist/unified-provider/matching/eloquent-matcher.d.ts +32 -0
- package/dist/unified-provider/matching/eloquent-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/eloquent-matcher.js +162 -0
- package/dist/unified-provider/matching/eloquent-matcher.js.map +1 -0
- package/dist/unified-provider/matching/index.d.ts +19 -0
- package/dist/unified-provider/matching/index.d.ts.map +1 -0
- package/dist/unified-provider/matching/index.js +24 -0
- package/dist/unified-provider/matching/index.js.map +1 -0
- package/dist/unified-provider/matching/knex-matcher.d.ts +26 -0
- package/dist/unified-provider/matching/knex-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/knex-matcher.js +109 -0
- package/dist/unified-provider/matching/knex-matcher.js.map +1 -0
- package/dist/unified-provider/matching/matcher-registry.d.ts +55 -0
- package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -0
- package/dist/unified-provider/matching/matcher-registry.js +130 -0
- package/dist/unified-provider/matching/matcher-registry.js.map +1 -0
- package/dist/unified-provider/matching/mongoose-matcher.d.ts +30 -0
- package/dist/unified-provider/matching/mongoose-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/mongoose-matcher.js +132 -0
- package/dist/unified-provider/matching/mongoose-matcher.js.map +1 -0
- package/dist/unified-provider/matching/prisma-matcher.d.ts +31 -0
- package/dist/unified-provider/matching/prisma-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/prisma-matcher.js +123 -0
- package/dist/unified-provider/matching/prisma-matcher.js.map +1 -0
- package/dist/unified-provider/matching/raw-sql-matcher.d.ts +31 -0
- package/dist/unified-provider/matching/raw-sql-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/raw-sql-matcher.js +173 -0
- package/dist/unified-provider/matching/raw-sql-matcher.js.map +1 -0
- package/dist/unified-provider/matching/sequelize-matcher.d.ts +28 -0
- package/dist/unified-provider/matching/sequelize-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/sequelize-matcher.js +132 -0
- package/dist/unified-provider/matching/sequelize-matcher.js.map +1 -0
- package/dist/unified-provider/matching/spring-data-matcher.d.ts +32 -0
- package/dist/unified-provider/matching/spring-data-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/spring-data-matcher.js +112 -0
- package/dist/unified-provider/matching/spring-data-matcher.js.map +1 -0
- package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts +32 -0
- package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/sqlalchemy-matcher.js +201 -0
- package/dist/unified-provider/matching/sqlalchemy-matcher.js.map +1 -0
- package/dist/unified-provider/matching/supabase-matcher.d.ts +27 -0
- package/dist/unified-provider/matching/supabase-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/supabase-matcher.js +122 -0
- package/dist/unified-provider/matching/supabase-matcher.js.map +1 -0
- package/dist/unified-provider/matching/typeorm-matcher.d.ts +32 -0
- package/dist/unified-provider/matching/typeorm-matcher.d.ts.map +1 -0
- package/dist/unified-provider/matching/typeorm-matcher.js +169 -0
- package/dist/unified-provider/matching/typeorm-matcher.js.map +1 -0
- package/dist/unified-provider/migration/deprecated-extractors.d.ts +104 -0
- package/dist/unified-provider/migration/deprecated-extractors.d.ts.map +1 -0
- package/dist/unified-provider/migration/deprecated-extractors.js +129 -0
- package/dist/unified-provider/migration/deprecated-extractors.js.map +1 -0
- package/dist/unified-provider/migration/deprecated-scanner.d.ts +40 -0
- package/dist/unified-provider/migration/deprecated-scanner.d.ts.map +1 -0
- package/dist/unified-provider/migration/deprecated-scanner.js +49 -0
- package/dist/unified-provider/migration/deprecated-scanner.js.map +1 -0
- package/dist/unified-provider/migration/index.d.ts +41 -0
- package/dist/unified-provider/migration/index.d.ts.map +1 -0
- package/dist/unified-provider/migration/index.js +43 -0
- package/dist/unified-provider/migration/index.js.map +1 -0
- package/dist/unified-provider/normalization/base-normalizer.d.ts +188 -0
- package/dist/unified-provider/normalization/base-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/base-normalizer.js +339 -0
- package/dist/unified-provider/normalization/base-normalizer.js.map +1 -0
- package/dist/unified-provider/normalization/csharp-normalizer.d.ts +58 -0
- package/dist/unified-provider/normalization/csharp-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/csharp-normalizer.js +467 -0
- package/dist/unified-provider/normalization/csharp-normalizer.js.map +1 -0
- package/dist/unified-provider/normalization/index.d.ts +23 -0
- package/dist/unified-provider/normalization/index.d.ts.map +1 -0
- package/dist/unified-provider/normalization/index.js +62 -0
- package/dist/unified-provider/normalization/index.js.map +1 -0
- package/dist/unified-provider/normalization/java-normalizer.d.ts +54 -0
- package/dist/unified-provider/normalization/java-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/java-normalizer.js +453 -0
- package/dist/unified-provider/normalization/java-normalizer.js.map +1 -0
- package/dist/unified-provider/normalization/php-normalizer.d.ts +54 -0
- package/dist/unified-provider/normalization/php-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/php-normalizer.js +489 -0
- package/dist/unified-provider/normalization/php-normalizer.js.map +1 -0
- package/dist/unified-provider/normalization/python-normalizer.d.ts +61 -0
- package/dist/unified-provider/normalization/python-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/python-normalizer.js +548 -0
- package/dist/unified-provider/normalization/python-normalizer.js.map +1 -0
- package/dist/unified-provider/normalization/typescript-normalizer.d.ts +60 -0
- package/dist/unified-provider/normalization/typescript-normalizer.d.ts.map +1 -0
- package/dist/unified-provider/normalization/typescript-normalizer.js +608 -0
- package/dist/unified-provider/normalization/typescript-normalizer.js.map +1 -0
- package/dist/unified-provider/parsing/index.d.ts +5 -0
- package/dist/unified-provider/parsing/index.d.ts.map +1 -0
- package/dist/unified-provider/parsing/index.js +5 -0
- package/dist/unified-provider/parsing/index.js.map +1 -0
- package/dist/unified-provider/parsing/parser-registry.d.ts +70 -0
- package/dist/unified-provider/parsing/parser-registry.d.ts.map +1 -0
- package/dist/unified-provider/parsing/parser-registry.js +260 -0
- package/dist/unified-provider/parsing/parser-registry.js.map +1 -0
- package/dist/unified-provider/provider/index.d.ts +5 -0
- package/dist/unified-provider/provider/index.d.ts.map +1 -0
- package/dist/unified-provider/provider/index.js +5 -0
- package/dist/unified-provider/provider/index.js.map +1 -0
- package/dist/unified-provider/provider/unified-language-provider.d.ts +56 -0
- package/dist/unified-provider/provider/unified-language-provider.d.ts.map +1 -0
- package/dist/unified-provider/provider/unified-language-provider.js +212 -0
- package/dist/unified-provider/provider/unified-language-provider.js.map +1 -0
- package/dist/unified-provider/types.d.ts +389 -0
- package/dist/unified-provider/types.d.ts.map +1 -0
- package/dist/unified-provider/types.js +9 -0
- package/dist/unified-provider/types.js.map +1 -0
- package/dist/wrappers/clustering/clusterer.d.ts +43 -0
- package/dist/wrappers/clustering/clusterer.d.ts.map +1 -0
- package/dist/wrappers/clustering/clusterer.js +374 -0
- package/dist/wrappers/clustering/clusterer.js.map +1 -0
- package/dist/wrappers/clustering/exclusions.d.ts +47 -0
- package/dist/wrappers/clustering/exclusions.d.ts.map +1 -0
- package/dist/wrappers/clustering/exclusions.js +318 -0
- package/dist/wrappers/clustering/exclusions.js.map +1 -0
- package/dist/wrappers/clustering/index.d.ts +6 -0
- package/dist/wrappers/clustering/index.d.ts.map +1 -0
- package/dist/wrappers/clustering/index.js +6 -0
- package/dist/wrappers/clustering/index.js.map +1 -0
- package/dist/wrappers/detection/detector.d.ts +69 -0
- package/dist/wrappers/detection/detector.d.ts.map +1 -0
- package/dist/wrappers/detection/detector.js +279 -0
- package/dist/wrappers/detection/detector.js.map +1 -0
- package/dist/wrappers/detection/index.d.ts +5 -0
- package/dist/wrappers/detection/index.d.ts.map +1 -0
- package/dist/wrappers/detection/index.js +5 -0
- package/dist/wrappers/detection/index.js.map +1 -0
- package/dist/wrappers/export/index.d.ts +5 -0
- package/dist/wrappers/export/index.d.ts.map +1 -0
- package/dist/wrappers/export/index.js +5 -0
- package/dist/wrappers/export/index.js.map +1 -0
- package/dist/wrappers/export/json.d.ts +127 -0
- package/dist/wrappers/export/json.d.ts.map +1 -0
- package/dist/wrappers/export/json.js +160 -0
- package/dist/wrappers/export/json.js.map +1 -0
- package/dist/wrappers/index.d.ts +56 -0
- package/dist/wrappers/index.d.ts.map +1 -0
- package/dist/wrappers/index.js +159 -0
- package/dist/wrappers/index.js.map +1 -0
- package/dist/wrappers/integration/adapter.d.ts +52 -0
- package/dist/wrappers/integration/adapter.d.ts.map +1 -0
- package/dist/wrappers/integration/adapter.js +209 -0
- package/dist/wrappers/integration/adapter.js.map +1 -0
- package/dist/wrappers/integration/index.d.ts +9 -0
- package/dist/wrappers/integration/index.d.ts.map +1 -0
- package/dist/wrappers/integration/index.js +12 -0
- package/dist/wrappers/integration/index.js.map +1 -0
- package/dist/wrappers/integration/pattern-adapter.d.ts +52 -0
- package/dist/wrappers/integration/pattern-adapter.d.ts.map +1 -0
- package/dist/wrappers/integration/pattern-adapter.js +192 -0
- package/dist/wrappers/integration/pattern-adapter.js.map +1 -0
- package/dist/wrappers/integration/scanner.d.ts +85 -0
- package/dist/wrappers/integration/scanner.d.ts.map +1 -0
- package/dist/wrappers/integration/scanner.js +367 -0
- package/dist/wrappers/integration/scanner.js.map +1 -0
- package/dist/wrappers/primitives/discovery.d.ts +57 -0
- package/dist/wrappers/primitives/discovery.d.ts.map +1 -0
- package/dist/wrappers/primitives/discovery.js +389 -0
- package/dist/wrappers/primitives/discovery.js.map +1 -0
- package/dist/wrappers/primitives/index.d.ts +6 -0
- package/dist/wrappers/primitives/index.d.ts.map +1 -0
- package/dist/wrappers/primitives/index.js +6 -0
- package/dist/wrappers/primitives/index.js.map +1 -0
- package/dist/wrappers/primitives/registry.d.ts +63 -0
- package/dist/wrappers/primitives/registry.d.ts.map +1 -0
- package/dist/wrappers/primitives/registry.js +447 -0
- package/dist/wrappers/primitives/registry.js.map +1 -0
- package/dist/wrappers/types.d.ts +137 -0
- package/dist/wrappers/types.d.ts.map +1 -0
- package/dist/wrappers/types.js +7 -0
- package/dist/wrappers/types.js.map +1 -0
- package/package.json +23 -18
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Service Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the consumer-facing API for pattern operations. This is the
|
|
5
|
+
* recommended interface for all consumers (MCP tools, CLI, Dashboard).
|
|
6
|
+
*
|
|
7
|
+
* The service layer provides:
|
|
8
|
+
* - Higher-level operations than the repository
|
|
9
|
+
* - Business logic (validation, enrichment)
|
|
10
|
+
* - Caching integration
|
|
11
|
+
* - Metrics collection
|
|
12
|
+
*
|
|
13
|
+
* @module patterns/service
|
|
14
|
+
* @see PATTERN-SYSTEM-CONSOLIDATION.md
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Default service configuration
|
|
18
|
+
*/
|
|
19
|
+
export const DEFAULT_SERVICE_CONFIG = {
|
|
20
|
+
enableCache: true,
|
|
21
|
+
cacheTtlMs: 60000, // 1 minute
|
|
22
|
+
enableMetrics: true,
|
|
23
|
+
codeExampleContextLines: 5,
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/patterns/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyUH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK,EAAE,WAAW;IAC9B,aAAa,EAAE,IAAI;IACnB,uBAAuB,EAAE,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Pattern Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the unified data model for patterns across the entire
|
|
5
|
+
* Drift system. It consolidates the previously separate Pattern (from PatternStore)
|
|
6
|
+
* and PatternShardEntry (from PatternShardStore) types into a single source of truth.
|
|
7
|
+
*
|
|
8
|
+
* @module patterns/types
|
|
9
|
+
* @see PATTERN-SYSTEM-CONSOLIDATION.md
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Categories of patterns that can be detected.
|
|
13
|
+
* Each category corresponds to a detector category.
|
|
14
|
+
*/
|
|
15
|
+
export type PatternCategory = 'api' | 'auth' | 'security' | 'errors' | 'logging' | 'data-access' | 'config' | 'testing' | 'performance' | 'components' | 'styling' | 'structural' | 'types' | 'accessibility' | 'documentation';
|
|
16
|
+
/**
|
|
17
|
+
* Array of all valid pattern categories
|
|
18
|
+
*/
|
|
19
|
+
export declare const PATTERN_CATEGORIES: PatternCategory[];
|
|
20
|
+
/**
|
|
21
|
+
* Status of a pattern in the system.
|
|
22
|
+
*
|
|
23
|
+
* - discovered: Pattern found but not yet reviewed
|
|
24
|
+
* - approved: Pattern approved for enforcement
|
|
25
|
+
* - ignored: Pattern explicitly ignored by user
|
|
26
|
+
*/
|
|
27
|
+
export type PatternStatus = 'discovered' | 'approved' | 'ignored';
|
|
28
|
+
/**
|
|
29
|
+
* Valid state transitions for patterns
|
|
30
|
+
*/
|
|
31
|
+
export declare const VALID_STATUS_TRANSITIONS: Record<PatternStatus, PatternStatus[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Confidence level classification based on score thresholds.
|
|
34
|
+
*
|
|
35
|
+
* - high: score >= 0.85
|
|
36
|
+
* - medium: score >= 0.70 and < 0.85
|
|
37
|
+
* - low: score >= 0.50 and < 0.70
|
|
38
|
+
* - uncertain: score < 0.50
|
|
39
|
+
*/
|
|
40
|
+
export type ConfidenceLevel = 'high' | 'medium' | 'low' | 'uncertain';
|
|
41
|
+
/**
|
|
42
|
+
* Confidence score thresholds
|
|
43
|
+
*/
|
|
44
|
+
export declare const CONFIDENCE_THRESHOLDS: {
|
|
45
|
+
readonly high: 0.85;
|
|
46
|
+
readonly medium: 0.7;
|
|
47
|
+
readonly low: 0.5;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Compute confidence level from score
|
|
51
|
+
*/
|
|
52
|
+
export declare function computeConfidenceLevel(score: number): ConfidenceLevel;
|
|
53
|
+
/**
|
|
54
|
+
* Severity levels for pattern violations.
|
|
55
|
+
*
|
|
56
|
+
* - error: Blocks commits and merges
|
|
57
|
+
* - warning: Displayed but doesn't block
|
|
58
|
+
* - info: Informational only
|
|
59
|
+
* - hint: Subtle suggestion
|
|
60
|
+
*/
|
|
61
|
+
export type Severity = 'error' | 'warning' | 'info' | 'hint';
|
|
62
|
+
/**
|
|
63
|
+
* Severity level ordering (higher = more severe)
|
|
64
|
+
*/
|
|
65
|
+
export declare const SEVERITY_ORDER: Record<Severity, number>;
|
|
66
|
+
/**
|
|
67
|
+
* Type of detection method used by a detector
|
|
68
|
+
*/
|
|
69
|
+
export type DetectionMethod = 'ast' | 'regex' | 'semantic' | 'learning' | 'structural';
|
|
70
|
+
/**
|
|
71
|
+
* Location of a pattern occurrence in source code
|
|
72
|
+
*/
|
|
73
|
+
export interface PatternLocation {
|
|
74
|
+
/** File path (relative to project root) */
|
|
75
|
+
file: string;
|
|
76
|
+
/** Line number (1-indexed) */
|
|
77
|
+
line: number;
|
|
78
|
+
/** Column number (1-indexed) */
|
|
79
|
+
column: number;
|
|
80
|
+
/** End line number (optional, 1-indexed) */
|
|
81
|
+
endLine?: number | undefined;
|
|
82
|
+
/** End column number (optional, 1-indexed) */
|
|
83
|
+
endColumn?: number | undefined;
|
|
84
|
+
/** Code snippet for context */
|
|
85
|
+
snippet?: string | undefined;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Location of an outlier with reason for deviation
|
|
89
|
+
*/
|
|
90
|
+
export interface OutlierLocation extends PatternLocation {
|
|
91
|
+
/** Reason why this location is an outlier */
|
|
92
|
+
reason: string;
|
|
93
|
+
/** Deviation score (0.0 to 1.0, higher = more deviation) */
|
|
94
|
+
deviationScore?: number | undefined;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Metadata for a pattern
|
|
98
|
+
*/
|
|
99
|
+
export interface PatternMetadata {
|
|
100
|
+
/** ISO timestamp when pattern was first detected */
|
|
101
|
+
firstSeen: string;
|
|
102
|
+
/** ISO timestamp when pattern was last seen */
|
|
103
|
+
lastSeen: string;
|
|
104
|
+
/** ISO timestamp when pattern was approved (if approved) */
|
|
105
|
+
approvedAt?: string | undefined;
|
|
106
|
+
/** User who approved the pattern (if approved) */
|
|
107
|
+
approvedBy?: string | undefined;
|
|
108
|
+
/** Version of the pattern definition */
|
|
109
|
+
version?: string | undefined;
|
|
110
|
+
/** Tags for additional categorization */
|
|
111
|
+
tags?: string[] | undefined;
|
|
112
|
+
/** Related pattern IDs */
|
|
113
|
+
relatedPatterns?: string[] | undefined;
|
|
114
|
+
/** Source of the pattern (e.g., 'auto-detected', 'imported') */
|
|
115
|
+
source?: string | undefined;
|
|
116
|
+
/** Custom metadata fields */
|
|
117
|
+
custom?: Record<string, unknown> | undefined;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Configuration for a pattern detector
|
|
121
|
+
*/
|
|
122
|
+
export interface DetectorConfig {
|
|
123
|
+
/** Type of detection method */
|
|
124
|
+
type: DetectionMethod;
|
|
125
|
+
/** Detector-specific configuration */
|
|
126
|
+
config: Record<string, unknown>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Unified Pattern type - the single source of truth for pattern data.
|
|
130
|
+
*
|
|
131
|
+
* This type consolidates:
|
|
132
|
+
* - Pattern from PatternStore (full metadata, status tracking)
|
|
133
|
+
* - PatternShardEntry from PatternShardStore (optimized for queries)
|
|
134
|
+
*
|
|
135
|
+
* All consumers should use this type for pattern data.
|
|
136
|
+
*/
|
|
137
|
+
export interface Pattern {
|
|
138
|
+
/** Unique pattern identifier */
|
|
139
|
+
id: string;
|
|
140
|
+
/** Pattern category */
|
|
141
|
+
category: PatternCategory;
|
|
142
|
+
/** Pattern subcategory for more specific classification */
|
|
143
|
+
subcategory: string;
|
|
144
|
+
/** Human-readable pattern name */
|
|
145
|
+
name: string;
|
|
146
|
+
/** Detailed pattern description */
|
|
147
|
+
description: string;
|
|
148
|
+
/** Detector ID that found this pattern */
|
|
149
|
+
detectorId: string;
|
|
150
|
+
/** Detector name */
|
|
151
|
+
detectorName: string;
|
|
152
|
+
/** Detection method used */
|
|
153
|
+
detectionMethod: DetectionMethod;
|
|
154
|
+
/** Detector configuration */
|
|
155
|
+
detector: DetectorConfig;
|
|
156
|
+
/** Confidence score (0.0 to 1.0) */
|
|
157
|
+
confidence: number;
|
|
158
|
+
/** Confidence level (computed from score) */
|
|
159
|
+
confidenceLevel: ConfidenceLevel;
|
|
160
|
+
/** Locations where pattern is found */
|
|
161
|
+
locations: PatternLocation[];
|
|
162
|
+
/** Outlier locations that deviate from the pattern */
|
|
163
|
+
outliers: OutlierLocation[];
|
|
164
|
+
/** Current status of the pattern */
|
|
165
|
+
status: PatternStatus;
|
|
166
|
+
/** Severity level for violations */
|
|
167
|
+
severity: Severity;
|
|
168
|
+
/** ISO timestamp when pattern was first detected */
|
|
169
|
+
firstSeen: string;
|
|
170
|
+
/** ISO timestamp when pattern was last seen */
|
|
171
|
+
lastSeen: string;
|
|
172
|
+
/** ISO timestamp when pattern was approved (if approved) */
|
|
173
|
+
approvedAt?: string | undefined;
|
|
174
|
+
/** User who approved the pattern (if approved) */
|
|
175
|
+
approvedBy?: string | undefined;
|
|
176
|
+
/** Tags for additional categorization */
|
|
177
|
+
tags: string[];
|
|
178
|
+
/** Whether the pattern can be auto-fixed */
|
|
179
|
+
autoFixable: boolean;
|
|
180
|
+
/** Full metadata object */
|
|
181
|
+
metadata: PatternMetadata;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Lightweight pattern summary for listings and indexes.
|
|
185
|
+
* Contains only the essential fields needed for display.
|
|
186
|
+
*/
|
|
187
|
+
export interface PatternSummary {
|
|
188
|
+
id: string;
|
|
189
|
+
name: string;
|
|
190
|
+
category: PatternCategory;
|
|
191
|
+
subcategory: string;
|
|
192
|
+
status: PatternStatus;
|
|
193
|
+
confidence: number;
|
|
194
|
+
confidenceLevel: ConfidenceLevel;
|
|
195
|
+
severity: Severity;
|
|
196
|
+
locationCount: number;
|
|
197
|
+
outlierCount: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Convert a Pattern to PatternSummary
|
|
201
|
+
*/
|
|
202
|
+
export declare function toPatternSummary(pattern: Pattern): PatternSummary;
|
|
203
|
+
/**
|
|
204
|
+
* Input for creating a new pattern (minimal required fields)
|
|
205
|
+
*/
|
|
206
|
+
export interface CreatePatternInput {
|
|
207
|
+
id: string;
|
|
208
|
+
category: PatternCategory;
|
|
209
|
+
subcategory: string;
|
|
210
|
+
name: string;
|
|
211
|
+
description: string;
|
|
212
|
+
detectorId: string;
|
|
213
|
+
detectorName: string;
|
|
214
|
+
detectionMethod: DetectionMethod;
|
|
215
|
+
confidence: number;
|
|
216
|
+
locations: PatternLocation[];
|
|
217
|
+
severity?: Severity;
|
|
218
|
+
outliers?: OutlierLocation[];
|
|
219
|
+
tags?: string[];
|
|
220
|
+
autoFixable?: boolean;
|
|
221
|
+
detector?: DetectorConfig;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create a new Pattern with defaults
|
|
225
|
+
*/
|
|
226
|
+
export declare function createPattern(input: CreatePatternInput): Pattern;
|
|
227
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/patterns/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Pattern Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the unified data model for patterns across the entire
|
|
5
|
+
* Drift system. It consolidates the previously separate Pattern (from PatternStore)
|
|
6
|
+
* and PatternShardEntry (from PatternShardStore) types into a single source of truth.
|
|
7
|
+
*
|
|
8
|
+
* @module patterns/types
|
|
9
|
+
* @see PATTERN-SYSTEM-CONSOLIDATION.md
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Array of all valid pattern categories
|
|
13
|
+
*/
|
|
14
|
+
export const PATTERN_CATEGORIES = [
|
|
15
|
+
'api',
|
|
16
|
+
'auth',
|
|
17
|
+
'security',
|
|
18
|
+
'errors',
|
|
19
|
+
'logging',
|
|
20
|
+
'data-access',
|
|
21
|
+
'config',
|
|
22
|
+
'testing',
|
|
23
|
+
'performance',
|
|
24
|
+
'components',
|
|
25
|
+
'styling',
|
|
26
|
+
'structural',
|
|
27
|
+
'types',
|
|
28
|
+
'accessibility',
|
|
29
|
+
'documentation',
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* Valid state transitions for patterns
|
|
33
|
+
*/
|
|
34
|
+
export const VALID_STATUS_TRANSITIONS = {
|
|
35
|
+
discovered: ['approved', 'ignored'],
|
|
36
|
+
approved: ['ignored'],
|
|
37
|
+
ignored: ['approved'],
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Confidence score thresholds
|
|
41
|
+
*/
|
|
42
|
+
export const CONFIDENCE_THRESHOLDS = {
|
|
43
|
+
high: 0.85,
|
|
44
|
+
medium: 0.70,
|
|
45
|
+
low: 0.50,
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Compute confidence level from score
|
|
49
|
+
*/
|
|
50
|
+
export function computeConfidenceLevel(score) {
|
|
51
|
+
if (score >= CONFIDENCE_THRESHOLDS.high)
|
|
52
|
+
return 'high';
|
|
53
|
+
if (score >= CONFIDENCE_THRESHOLDS.medium)
|
|
54
|
+
return 'medium';
|
|
55
|
+
if (score >= CONFIDENCE_THRESHOLDS.low)
|
|
56
|
+
return 'low';
|
|
57
|
+
return 'uncertain';
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Severity level ordering (higher = more severe)
|
|
61
|
+
*/
|
|
62
|
+
export const SEVERITY_ORDER = {
|
|
63
|
+
error: 4,
|
|
64
|
+
warning: 3,
|
|
65
|
+
info: 2,
|
|
66
|
+
hint: 1,
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Convert a Pattern to PatternSummary
|
|
70
|
+
*/
|
|
71
|
+
export function toPatternSummary(pattern) {
|
|
72
|
+
return {
|
|
73
|
+
id: pattern.id,
|
|
74
|
+
name: pattern.name,
|
|
75
|
+
category: pattern.category,
|
|
76
|
+
subcategory: pattern.subcategory,
|
|
77
|
+
status: pattern.status,
|
|
78
|
+
confidence: pattern.confidence,
|
|
79
|
+
confidenceLevel: pattern.confidenceLevel,
|
|
80
|
+
severity: pattern.severity,
|
|
81
|
+
locationCount: pattern.locations.length,
|
|
82
|
+
outlierCount: pattern.outliers.length,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a new Pattern with defaults
|
|
87
|
+
*/
|
|
88
|
+
export function createPattern(input) {
|
|
89
|
+
const now = new Date().toISOString();
|
|
90
|
+
return {
|
|
91
|
+
id: input.id,
|
|
92
|
+
category: input.category,
|
|
93
|
+
subcategory: input.subcategory,
|
|
94
|
+
name: input.name,
|
|
95
|
+
description: input.description,
|
|
96
|
+
detectorId: input.detectorId,
|
|
97
|
+
detectorName: input.detectorName,
|
|
98
|
+
detectionMethod: input.detectionMethod,
|
|
99
|
+
detector: input.detector ?? { type: input.detectionMethod, config: {} },
|
|
100
|
+
confidence: input.confidence,
|
|
101
|
+
confidenceLevel: computeConfidenceLevel(input.confidence),
|
|
102
|
+
locations: input.locations,
|
|
103
|
+
outliers: input.outliers ?? [],
|
|
104
|
+
status: 'discovered',
|
|
105
|
+
severity: input.severity ?? 'info',
|
|
106
|
+
firstSeen: now,
|
|
107
|
+
lastSeen: now,
|
|
108
|
+
tags: input.tags ?? [],
|
|
109
|
+
autoFixable: input.autoFixable ?? false,
|
|
110
|
+
metadata: {
|
|
111
|
+
firstSeen: now,
|
|
112
|
+
lastSeen: now,
|
|
113
|
+
tags: input.tags ?? [],
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/patterns/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Processor Worker - Worker thread for CPU-bound file processing
|
|
3
|
+
*
|
|
4
|
+
* This worker runs in a separate thread and handles:
|
|
5
|
+
* - Tree-sitter AST parsing
|
|
6
|
+
* - Regex pattern matching
|
|
7
|
+
* - File content analysis
|
|
8
|
+
*
|
|
9
|
+
* @requirements 2.6 - Parallel file processing with worker threads
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Task input for file processing
|
|
13
|
+
*/
|
|
14
|
+
export interface FileProcessorTask {
|
|
15
|
+
/** Absolute path to the file */
|
|
16
|
+
filePath: string;
|
|
17
|
+
/** File content (optional - will be read if not provided) */
|
|
18
|
+
content?: string;
|
|
19
|
+
/** Root directory for relative path calculation */
|
|
20
|
+
rootDir: string;
|
|
21
|
+
/** Patterns to match (regex strings) */
|
|
22
|
+
patterns?: Array<{
|
|
23
|
+
id: string;
|
|
24
|
+
regex: string;
|
|
25
|
+
flags?: string;
|
|
26
|
+
}>;
|
|
27
|
+
/** Whether to parse AST */
|
|
28
|
+
parseAst?: boolean;
|
|
29
|
+
/** Language hint (optional - will be detected from extension) */
|
|
30
|
+
language?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Result of file processing
|
|
34
|
+
*/
|
|
35
|
+
export interface FileProcessorResult {
|
|
36
|
+
/** Relative path to the file */
|
|
37
|
+
relativePath: string;
|
|
38
|
+
/** Absolute path to the file */
|
|
39
|
+
absolutePath: string;
|
|
40
|
+
/** Detected language */
|
|
41
|
+
language: string | null;
|
|
42
|
+
/** Pattern matches found */
|
|
43
|
+
matches: Array<{
|
|
44
|
+
patternId: string;
|
|
45
|
+
line: number;
|
|
46
|
+
column: number;
|
|
47
|
+
match: string;
|
|
48
|
+
}>;
|
|
49
|
+
/** AST info (if parsed) */
|
|
50
|
+
ast?: {
|
|
51
|
+
nodeCount: number;
|
|
52
|
+
rootType: string;
|
|
53
|
+
hasErrors: boolean;
|
|
54
|
+
} | undefined;
|
|
55
|
+
/** Processing duration in milliseconds */
|
|
56
|
+
duration: number;
|
|
57
|
+
/** Error message if processing failed */
|
|
58
|
+
error?: string | undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Process a single file
|
|
62
|
+
*
|
|
63
|
+
* This is the main export that Piscina will call for each task.
|
|
64
|
+
*/
|
|
65
|
+
export default function processFile(task: FileProcessorTask): Promise<FileProcessorResult>;
|
|
66
|
+
//# sourceMappingURL=file-processor-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-processor-worker.d.ts","sourceRoot":"","sources":["../../src/scanner/file-processor-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IAEjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,4BAA4B;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IAEH,2BAA2B;IAC3B,GAAG,CAAC,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,GAAG,SAAS,CAAC;IAEd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AA2CD;;;;GAIG;AACH,wBAA8B,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuF/F"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Processor Worker - Worker thread for CPU-bound file processing
|
|
3
|
+
*
|
|
4
|
+
* This worker runs in a separate thread and handles:
|
|
5
|
+
* - Tree-sitter AST parsing
|
|
6
|
+
* - Regex pattern matching
|
|
7
|
+
* - File content analysis
|
|
8
|
+
*
|
|
9
|
+
* @requirements 2.6 - Parallel file processing with worker threads
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from 'node:fs/promises';
|
|
12
|
+
import * as path from 'node:path';
|
|
13
|
+
/**
|
|
14
|
+
* Extension to language mapping
|
|
15
|
+
*/
|
|
16
|
+
const EXTENSION_LANGUAGE_MAP = {
|
|
17
|
+
'.ts': 'typescript',
|
|
18
|
+
'.tsx': 'typescript',
|
|
19
|
+
'.mts': 'typescript',
|
|
20
|
+
'.cts': 'typescript',
|
|
21
|
+
'.js': 'javascript',
|
|
22
|
+
'.jsx': 'javascript',
|
|
23
|
+
'.mjs': 'javascript',
|
|
24
|
+
'.cjs': 'javascript',
|
|
25
|
+
'.py': 'python',
|
|
26
|
+
'.pyw': 'python',
|
|
27
|
+
'.cs': 'csharp',
|
|
28
|
+
'.java': 'java',
|
|
29
|
+
'.php': 'php',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Detect language from file extension
|
|
33
|
+
*/
|
|
34
|
+
function detectLanguage(filePath) {
|
|
35
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
36
|
+
return EXTENSION_LANGUAGE_MAP[ext] || null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Count nodes in a tree-sitter tree
|
|
40
|
+
*/
|
|
41
|
+
function countNodes(node) {
|
|
42
|
+
let count = 1;
|
|
43
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
44
|
+
const child = node.children[i];
|
|
45
|
+
if (child) {
|
|
46
|
+
count += countNodes(child);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return count;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Process a single file
|
|
53
|
+
*
|
|
54
|
+
* This is the main export that Piscina will call for each task.
|
|
55
|
+
*/
|
|
56
|
+
export default async function processFile(task) {
|
|
57
|
+
const startTime = Date.now();
|
|
58
|
+
const relativePath = path.relative(task.rootDir, task.filePath);
|
|
59
|
+
const language = task.language || detectLanguage(task.filePath);
|
|
60
|
+
try {
|
|
61
|
+
// Read content if not provided
|
|
62
|
+
const content = task.content ?? await fs.readFile(task.filePath, 'utf-8');
|
|
63
|
+
const matches = [];
|
|
64
|
+
// Run regex pattern matching
|
|
65
|
+
if (task.patterns && task.patterns.length > 0) {
|
|
66
|
+
for (const pattern of task.patterns) {
|
|
67
|
+
try {
|
|
68
|
+
const regex = new RegExp(pattern.regex, pattern.flags || 'gm');
|
|
69
|
+
let match;
|
|
70
|
+
// Reset regex state
|
|
71
|
+
regex.lastIndex = 0;
|
|
72
|
+
while ((match = regex.exec(content)) !== null) {
|
|
73
|
+
// Calculate line and column from match index
|
|
74
|
+
let line = 1;
|
|
75
|
+
let lastNewline = 0;
|
|
76
|
+
for (let i = 0; i < match.index; i++) {
|
|
77
|
+
if (content[i] === '\n') {
|
|
78
|
+
line++;
|
|
79
|
+
lastNewline = i + 1;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const column = match.index - lastNewline + 1;
|
|
83
|
+
matches.push({
|
|
84
|
+
patternId: pattern.id,
|
|
85
|
+
line,
|
|
86
|
+
column,
|
|
87
|
+
match: match[0].substring(0, 100), // Limit match length
|
|
88
|
+
});
|
|
89
|
+
// Prevent infinite loops on zero-length matches
|
|
90
|
+
if (match[0].length === 0) {
|
|
91
|
+
regex.lastIndex++;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (regexError) {
|
|
96
|
+
// Invalid regex - skip this pattern
|
|
97
|
+
console.error(`Invalid regex pattern ${pattern.id}: ${regexError}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Parse AST if requested
|
|
102
|
+
let ast;
|
|
103
|
+
if (task.parseAst && language) {
|
|
104
|
+
try {
|
|
105
|
+
ast = await parseAst(content, language);
|
|
106
|
+
}
|
|
107
|
+
catch (astError) {
|
|
108
|
+
// AST parsing failed - continue without it
|
|
109
|
+
ast = {
|
|
110
|
+
nodeCount: 0,
|
|
111
|
+
rootType: 'error',
|
|
112
|
+
hasErrors: true,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
relativePath,
|
|
118
|
+
absolutePath: task.filePath,
|
|
119
|
+
language,
|
|
120
|
+
matches,
|
|
121
|
+
ast,
|
|
122
|
+
duration: Date.now() - startTime,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
return {
|
|
127
|
+
relativePath,
|
|
128
|
+
absolutePath: task.filePath,
|
|
129
|
+
language,
|
|
130
|
+
matches: [],
|
|
131
|
+
duration: Date.now() - startTime,
|
|
132
|
+
error: error instanceof Error ? error.message : String(error),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Parse AST using tree-sitter
|
|
138
|
+
*/
|
|
139
|
+
async function parseAst(content, language) {
|
|
140
|
+
// Dynamic import tree-sitter based on language
|
|
141
|
+
// Each worker thread loads its own instance of tree-sitter
|
|
142
|
+
let Parser;
|
|
143
|
+
let languageModule;
|
|
144
|
+
try {
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
146
|
+
Parser = require('tree-sitter');
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
throw new Error('tree-sitter not available');
|
|
150
|
+
}
|
|
151
|
+
// Load language-specific grammar
|
|
152
|
+
switch (language) {
|
|
153
|
+
case 'python':
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
155
|
+
languageModule = require('tree-sitter-python');
|
|
156
|
+
break;
|
|
157
|
+
case 'typescript':
|
|
158
|
+
case 'javascript':
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
160
|
+
const tsModule = require('tree-sitter-typescript');
|
|
161
|
+
languageModule = language === 'typescript' ? tsModule.typescript : tsModule.tsx;
|
|
162
|
+
break;
|
|
163
|
+
case 'csharp':
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
165
|
+
languageModule = require('tree-sitter-c-sharp');
|
|
166
|
+
break;
|
|
167
|
+
case 'java':
|
|
168
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
169
|
+
languageModule = require('tree-sitter-java');
|
|
170
|
+
break;
|
|
171
|
+
case 'php':
|
|
172
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
173
|
+
const phpModule = require('tree-sitter-php');
|
|
174
|
+
languageModule = phpModule.php;
|
|
175
|
+
break;
|
|
176
|
+
default:
|
|
177
|
+
throw new Error(`Unsupported language: ${language}`);
|
|
178
|
+
}
|
|
179
|
+
const parser = new Parser();
|
|
180
|
+
parser.setLanguage(languageModule);
|
|
181
|
+
const tree = parser.parse(content);
|
|
182
|
+
const rootNode = tree.rootNode;
|
|
183
|
+
return {
|
|
184
|
+
nodeCount: countNodes(rootNode),
|
|
185
|
+
rootType: rootNode.type,
|
|
186
|
+
hasErrors: rootNode.hasError,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=file-processor-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-processor-worker.js","sourceRoot":"","sources":["../../src/scanner/file-processor-worker.ts"],"names":[],"mappings":"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"}
|
package/dist/scanner/index.d.ts
CHANGED
|
@@ -9,4 +9,6 @@ export { FileWalker } from './file-walker.js';
|
|
|
9
9
|
export { ChangeDetector, type ChangeType, type FileSnapshot, type ChangeSet, type FileChange, type ChangeDetectionOptions, type SnapshotFile, } from './change-detector.js';
|
|
10
10
|
export { DependencyGraph, type ImportType, type ExportType, type ImportInfo, type ImportSpecifier, type ExportInfo, type ModuleNode, type DependencyEdge, type CircularDependencyResult, type DependencyGraphOptions, } from './dependency-graph.js';
|
|
11
11
|
export { WorkerPool, createFileProcessorPool, type WorkerPoolOptions, type TaskStatus, type Task, type TaskResult, type WorkerPoolStats, type WorkerPoolEvents, type TaskProcessor, } from './worker-pool.js';
|
|
12
|
+
export { ThreadedWorkerPool, createThreadedPool, getModuleDir, type ThreadedWorkerPoolOptions, type ThreadedWorkerPoolStats, type BatchResult, type ThreadedWorkerPoolEvents, } from './threaded-worker-pool.js';
|
|
13
|
+
export type { FileProcessorTask, FileProcessorResult, } from './file-processor-worker.js';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC"}
|