driftdetect-detectors 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accessibility/alt-text.d.ts +63 -0
- package/dist/accessibility/alt-text.d.ts.map +1 -0
- package/dist/accessibility/alt-text.js +100 -0
- package/dist/accessibility/alt-text.js.map +1 -0
- package/dist/accessibility/aria-roles.d.ts +65 -0
- package/dist/accessibility/aria-roles.d.ts.map +1 -0
- package/dist/accessibility/aria-roles.js +87 -0
- package/dist/accessibility/aria-roles.js.map +1 -0
- package/dist/accessibility/focus-management.d.ts +62 -0
- package/dist/accessibility/focus-management.d.ts.map +1 -0
- package/dist/accessibility/focus-management.js +88 -0
- package/dist/accessibility/focus-management.js.map +1 -0
- package/dist/accessibility/heading-hierarchy.d.ts +66 -0
- package/dist/accessibility/heading-hierarchy.d.ts.map +1 -0
- package/dist/accessibility/heading-hierarchy.js +94 -0
- package/dist/accessibility/heading-hierarchy.js.map +1 -0
- package/dist/accessibility/index.d.ts +25 -0
- package/dist/accessibility/index.d.ts.map +1 -0
- package/dist/accessibility/index.js +21 -0
- package/dist/accessibility/index.js.map +1 -0
- package/dist/accessibility/keyboard-nav.d.ts +63 -0
- package/dist/accessibility/keyboard-nav.d.ts.map +1 -0
- package/dist/accessibility/keyboard-nav.js +86 -0
- package/dist/accessibility/keyboard-nav.js.map +1 -0
- package/dist/accessibility/semantic-html.d.ts +76 -0
- package/dist/accessibility/semantic-html.d.ts.map +1 -0
- package/dist/accessibility/semantic-html.js +204 -0
- package/dist/accessibility/semantic-html.js.map +1 -0
- package/dist/api/client-patterns.d.ts +121 -0
- package/dist/api/client-patterns.d.ts.map +1 -0
- package/dist/api/client-patterns.js +478 -0
- package/dist/api/client-patterns.js.map +1 -0
- package/dist/api/error-format.d.ts +140 -0
- package/dist/api/error-format.d.ts.map +1 -0
- package/dist/api/error-format.js +614 -0
- package/dist/api/error-format.js.map +1 -0
- package/dist/api/http-methods.d.ts +255 -0
- package/dist/api/http-methods.d.ts.map +1 -0
- package/dist/api/http-methods.js +890 -0
- package/dist/api/http-methods.js.map +1 -0
- package/dist/api/index.d.ts +16 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +37 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/pagination.d.ts +133 -0
- package/dist/api/pagination.d.ts.map +1 -0
- package/dist/api/pagination.js +521 -0
- package/dist/api/pagination.js.map +1 -0
- package/dist/api/response-envelope.d.ts +261 -0
- package/dist/api/response-envelope.d.ts.map +1 -0
- package/dist/api/response-envelope.js +1050 -0
- package/dist/api/response-envelope.js.map +1 -0
- package/dist/api/retry-patterns.d.ts +117 -0
- package/dist/api/retry-patterns.d.ts.map +1 -0
- package/dist/api/retry-patterns.js +480 -0
- package/dist/api/retry-patterns.js.map +1 -0
- package/dist/api/route-structure.d.ts +128 -0
- package/dist/api/route-structure.d.ts.map +1 -0
- package/dist/api/route-structure.js +738 -0
- package/dist/api/route-structure.js.map +1 -0
- package/dist/auth/audit-logging.d.ts +80 -0
- package/dist/auth/audit-logging.d.ts.map +1 -0
- package/dist/auth/audit-logging.js +370 -0
- package/dist/auth/audit-logging.js.map +1 -0
- package/dist/auth/index.d.ts +33 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +49 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware-usage.d.ts +65 -0
- package/dist/auth/middleware-usage.d.ts.map +1 -0
- package/dist/auth/middleware-usage.js +192 -0
- package/dist/auth/middleware-usage.js.map +1 -0
- package/dist/auth/permission-checks.d.ts +60 -0
- package/dist/auth/permission-checks.d.ts.map +1 -0
- package/dist/auth/permission-checks.js +159 -0
- package/dist/auth/permission-checks.js.map +1 -0
- package/dist/auth/rbac-patterns.d.ts +68 -0
- package/dist/auth/rbac-patterns.d.ts.map +1 -0
- package/dist/auth/rbac-patterns.js +143 -0
- package/dist/auth/rbac-patterns.js.map +1 -0
- package/dist/auth/resource-ownership.d.ts +77 -0
- package/dist/auth/resource-ownership.d.ts.map +1 -0
- package/dist/auth/resource-ownership.js +324 -0
- package/dist/auth/resource-ownership.js.map +1 -0
- package/dist/auth/token-handling.d.ts +64 -0
- package/dist/auth/token-handling.d.ts.map +1 -0
- package/dist/auth/token-handling.js +151 -0
- package/dist/auth/token-handling.js.map +1 -0
- package/dist/base/ast-detector.d.ts +421 -0
- package/dist/base/ast-detector.d.ts.map +1 -0
- package/dist/base/ast-detector.js +699 -0
- package/dist/base/ast-detector.js.map +1 -0
- package/dist/base/base-detector.d.ts +366 -0
- package/dist/base/base-detector.d.ts.map +1 -0
- package/dist/base/base-detector.js +170 -0
- package/dist/base/base-detector.js.map +1 -0
- package/dist/base/index.d.ts +12 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.js +17 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/regex-detector.d.ts +421 -0
- package/dist/base/regex-detector.d.ts.map +1 -0
- package/dist/base/regex-detector.js +537 -0
- package/dist/base/regex-detector.js.map +1 -0
- package/dist/base/structural-detector.d.ts +424 -0
- package/dist/base/structural-detector.d.ts.map +1 -0
- package/dist/base/structural-detector.js +731 -0
- package/dist/base/structural-detector.js.map +1 -0
- package/dist/base/types.d.ts +53 -0
- package/dist/base/types.d.ts.map +1 -0
- package/dist/base/types.js +5 -0
- package/dist/base/types.js.map +1 -0
- package/dist/components/component-structure.d.ts +163 -0
- package/dist/components/component-structure.d.ts.map +1 -0
- package/dist/components/component-structure.js +500 -0
- package/dist/components/component-structure.js.map +1 -0
- package/dist/components/composition.d.ts +287 -0
- package/dist/components/composition.d.ts.map +1 -0
- package/dist/components/composition.js +1123 -0
- package/dist/components/composition.js.map +1 -0
- package/dist/components/duplicate-detection.d.ts +251 -0
- package/dist/components/duplicate-detection.d.ts.map +1 -0
- package/dist/components/duplicate-detection.js +804 -0
- package/dist/components/duplicate-detection.js.map +1 -0
- package/dist/components/index.d.ts +16 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +51 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/near-duplicate.d.ts +402 -0
- package/dist/components/near-duplicate.d.ts.map +1 -0
- package/dist/components/near-duplicate.js +1090 -0
- package/dist/components/near-duplicate.js.map +1 -0
- package/dist/components/props-patterns.d.ts +194 -0
- package/dist/components/props-patterns.d.ts.map +1 -0
- package/dist/components/props-patterns.js +795 -0
- package/dist/components/props-patterns.js.map +1 -0
- package/dist/components/ref-forwarding.d.ts +250 -0
- package/dist/components/ref-forwarding.d.ts.map +1 -0
- package/dist/components/ref-forwarding.js +832 -0
- package/dist/components/ref-forwarding.js.map +1 -0
- package/dist/components/state-patterns.d.ts +291 -0
- package/dist/components/state-patterns.d.ts.map +1 -0
- package/dist/components/state-patterns.js +970 -0
- package/dist/components/state-patterns.js.map +1 -0
- package/dist/config/config-validation.d.ts +74 -0
- package/dist/config/config-validation.d.ts.map +1 -0
- package/dist/config/config-validation.js +446 -0
- package/dist/config/config-validation.js.map +1 -0
- package/dist/config/default-values.d.ts +72 -0
- package/dist/config/default-values.d.ts.map +1 -0
- package/dist/config/default-values.js +386 -0
- package/dist/config/default-values.js.map +1 -0
- package/dist/config/env-naming.d.ts +73 -0
- package/dist/config/env-naming.d.ts.map +1 -0
- package/dist/config/env-naming.js +429 -0
- package/dist/config/env-naming.js.map +1 -0
- package/dist/config/environment-detection.d.ts +72 -0
- package/dist/config/environment-detection.d.ts.map +1 -0
- package/dist/config/environment-detection.js +400 -0
- package/dist/config/environment-detection.js.map +1 -0
- package/dist/config/feature-flags.d.ts +72 -0
- package/dist/config/feature-flags.d.ts.map +1 -0
- package/dist/config/feature-flags.js +384 -0
- package/dist/config/feature-flags.js.map +1 -0
- package/dist/config/index.d.ts +27 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +43 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/required-optional.d.ts +71 -0
- package/dist/config/required-optional.d.ts.map +1 -0
- package/dist/config/required-optional.js +344 -0
- package/dist/config/required-optional.js.map +1 -0
- package/dist/data-access/connection-pooling.d.ts +63 -0
- package/dist/data-access/connection-pooling.d.ts.map +1 -0
- package/dist/data-access/connection-pooling.js +297 -0
- package/dist/data-access/connection-pooling.js.map +1 -0
- package/dist/data-access/dto-patterns.d.ts +64 -0
- package/dist/data-access/dto-patterns.d.ts.map +1 -0
- package/dist/data-access/dto-patterns.js +291 -0
- package/dist/data-access/dto-patterns.js.map +1 -0
- package/dist/data-access/index.d.ts +31 -0
- package/dist/data-access/index.d.ts.map +1 -0
- package/dist/data-access/index.js +49 -0
- package/dist/data-access/index.js.map +1 -0
- package/dist/data-access/n-plus-one.d.ts +60 -0
- package/dist/data-access/n-plus-one.d.ts.map +1 -0
- package/dist/data-access/n-plus-one.js +264 -0
- package/dist/data-access/n-plus-one.js.map +1 -0
- package/dist/data-access/query-patterns.d.ts +64 -0
- package/dist/data-access/query-patterns.d.ts.map +1 -0
- package/dist/data-access/query-patterns.js +314 -0
- package/dist/data-access/query-patterns.js.map +1 -0
- package/dist/data-access/repository-pattern.d.ts +62 -0
- package/dist/data-access/repository-pattern.d.ts.map +1 -0
- package/dist/data-access/repository-pattern.js +257 -0
- package/dist/data-access/repository-pattern.js.map +1 -0
- package/dist/data-access/transaction-patterns.d.ts +61 -0
- package/dist/data-access/transaction-patterns.d.ts.map +1 -0
- package/dist/data-access/transaction-patterns.js +277 -0
- package/dist/data-access/transaction-patterns.js.map +1 -0
- package/dist/data-access/validation-patterns.d.ts +62 -0
- package/dist/data-access/validation-patterns.d.ts.map +1 -0
- package/dist/data-access/validation-patterns.js +301 -0
- package/dist/data-access/validation-patterns.js.map +1 -0
- package/dist/documentation/deprecation.d.ts +62 -0
- package/dist/documentation/deprecation.d.ts.map +1 -0
- package/dist/documentation/deprecation.js +83 -0
- package/dist/documentation/deprecation.js.map +1 -0
- package/dist/documentation/example-code.d.ts +64 -0
- package/dist/documentation/example-code.d.ts.map +1 -0
- package/dist/documentation/example-code.js +79 -0
- package/dist/documentation/example-code.js.map +1 -0
- package/dist/documentation/index.d.ts +22 -0
- package/dist/documentation/index.d.ts.map +1 -0
- package/dist/documentation/index.js +19 -0
- package/dist/documentation/index.js.map +1 -0
- package/dist/documentation/jsdoc-patterns.d.ts +72 -0
- package/dist/documentation/jsdoc-patterns.d.ts.map +1 -0
- package/dist/documentation/jsdoc-patterns.js +92 -0
- package/dist/documentation/jsdoc-patterns.js.map +1 -0
- package/dist/documentation/readme-structure.d.ts +67 -0
- package/dist/documentation/readme-structure.d.ts.map +1 -0
- package/dist/documentation/readme-structure.js +76 -0
- package/dist/documentation/readme-structure.js.map +1 -0
- package/dist/documentation/todo-patterns.d.ts +67 -0
- package/dist/documentation/todo-patterns.d.ts.map +1 -0
- package/dist/documentation/todo-patterns.js +73 -0
- package/dist/documentation/todo-patterns.js.map +1 -0
- package/dist/errors/async-errors.d.ts +72 -0
- package/dist/errors/async-errors.d.ts.map +1 -0
- package/dist/errors/async-errors.js +214 -0
- package/dist/errors/async-errors.js.map +1 -0
- package/dist/errors/circuit-breaker.d.ts +53 -0
- package/dist/errors/circuit-breaker.d.ts.map +1 -0
- package/dist/errors/circuit-breaker.js +241 -0
- package/dist/errors/circuit-breaker.js.map +1 -0
- package/dist/errors/error-codes.d.ts +73 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +211 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/error-logging.d.ts +73 -0
- package/dist/errors/error-logging.d.ts.map +1 -0
- package/dist/errors/error-logging.js +256 -0
- package/dist/errors/error-logging.js.map +1 -0
- package/dist/errors/error-propagation.d.ts +73 -0
- package/dist/errors/error-propagation.d.ts.map +1 -0
- package/dist/errors/error-propagation.js +244 -0
- package/dist/errors/error-propagation.js.map +1 -0
- package/dist/errors/exception-hierarchy.d.ts +75 -0
- package/dist/errors/exception-hierarchy.d.ts.map +1 -0
- package/dist/errors/exception-hierarchy.js +259 -0
- package/dist/errors/exception-hierarchy.js.map +1 -0
- package/dist/errors/index.d.ts +31 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +49 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/try-catch-placement.d.ts +73 -0
- package/dist/errors/try-catch-placement.d.ts.map +1 -0
- package/dist/errors/try-catch-placement.js +214 -0
- package/dist/errors/try-catch-placement.js.map +1 -0
- package/dist/index.d.ts +221 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +245 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/context-fields.d.ts +48 -0
- package/dist/logging/context-fields.d.ts.map +1 -0
- package/dist/logging/context-fields.js +160 -0
- package/dist/logging/context-fields.js.map +1 -0
- package/dist/logging/correlation-ids.d.ts +44 -0
- package/dist/logging/correlation-ids.d.ts.map +1 -0
- package/dist/logging/correlation-ids.js +144 -0
- package/dist/logging/correlation-ids.js.map +1 -0
- package/dist/logging/health-checks.d.ts +45 -0
- package/dist/logging/health-checks.d.ts.map +1 -0
- package/dist/logging/health-checks.js +165 -0
- package/dist/logging/health-checks.js.map +1 -0
- package/dist/logging/index.d.ts +31 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +49 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/log-levels.d.ts +46 -0
- package/dist/logging/log-levels.d.ts.map +1 -0
- package/dist/logging/log-levels.js +178 -0
- package/dist/logging/log-levels.js.map +1 -0
- package/dist/logging/metric-naming.d.ts +46 -0
- package/dist/logging/metric-naming.d.ts.map +1 -0
- package/dist/logging/metric-naming.js +157 -0
- package/dist/logging/metric-naming.js.map +1 -0
- package/dist/logging/pii-redaction.d.ts +44 -0
- package/dist/logging/pii-redaction.d.ts.map +1 -0
- package/dist/logging/pii-redaction.js +166 -0
- package/dist/logging/pii-redaction.js.map +1 -0
- package/dist/logging/structured-format.d.ts +53 -0
- package/dist/logging/structured-format.d.ts.map +1 -0
- package/dist/logging/structured-format.js +235 -0
- package/dist/logging/structured-format.js.map +1 -0
- package/dist/performance/bundle-size.d.ts +79 -0
- package/dist/performance/bundle-size.d.ts.map +1 -0
- package/dist/performance/bundle-size.js +276 -0
- package/dist/performance/bundle-size.js.map +1 -0
- package/dist/performance/caching-patterns.d.ts +78 -0
- package/dist/performance/caching-patterns.d.ts.map +1 -0
- package/dist/performance/caching-patterns.js +257 -0
- package/dist/performance/caching-patterns.js.map +1 -0
- package/dist/performance/code-splitting.d.ts +86 -0
- package/dist/performance/code-splitting.d.ts.map +1 -0
- package/dist/performance/code-splitting.js +447 -0
- package/dist/performance/code-splitting.js.map +1 -0
- package/dist/performance/debounce-throttle.d.ts +75 -0
- package/dist/performance/debounce-throttle.d.ts.map +1 -0
- package/dist/performance/debounce-throttle.js +232 -0
- package/dist/performance/debounce-throttle.js.map +1 -0
- package/dist/performance/index.d.ts +28 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +39 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/performance/lazy-loading.d.ts +75 -0
- package/dist/performance/lazy-loading.d.ts.map +1 -0
- package/dist/performance/lazy-loading.js +233 -0
- package/dist/performance/lazy-loading.js.map +1 -0
- package/dist/performance/memoization.d.ts +75 -0
- package/dist/performance/memoization.d.ts.map +1 -0
- package/dist/performance/memoization.js +251 -0
- package/dist/performance/memoization.js.map +1 -0
- package/dist/registry/detector-registry.d.ts +266 -0
- package/dist/registry/detector-registry.d.ts.map +1 -0
- package/dist/registry/detector-registry.js +526 -0
- package/dist/registry/detector-registry.js.map +1 -0
- package/dist/registry/index.d.ts +10 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +10 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/loader.d.ts +232 -0
- package/dist/registry/loader.d.ts.map +1 -0
- package/dist/registry/loader.js +419 -0
- package/dist/registry/loader.js.map +1 -0
- package/dist/registry/types.d.ts +111 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +19 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/security/csp-headers.d.ts +78 -0
- package/dist/security/csp-headers.d.ts.map +1 -0
- package/dist/security/csp-headers.js +401 -0
- package/dist/security/csp-headers.js.map +1 -0
- package/dist/security/csrf-protection.d.ts +72 -0
- package/dist/security/csrf-protection.d.ts.map +1 -0
- package/dist/security/csrf-protection.js +344 -0
- package/dist/security/csrf-protection.js.map +1 -0
- package/dist/security/index.d.ts +30 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +48 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-sanitization.d.ts +74 -0
- package/dist/security/input-sanitization.d.ts.map +1 -0
- package/dist/security/input-sanitization.js +373 -0
- package/dist/security/input-sanitization.js.map +1 -0
- package/dist/security/rate-limiting.d.ts +81 -0
- package/dist/security/rate-limiting.d.ts.map +1 -0
- package/dist/security/rate-limiting.js +535 -0
- package/dist/security/rate-limiting.js.map +1 -0
- package/dist/security/secret-management.d.ts +83 -0
- package/dist/security/secret-management.d.ts.map +1 -0
- package/dist/security/secret-management.js +547 -0
- package/dist/security/secret-management.js.map +1 -0
- package/dist/security/sql-injection.d.ts +76 -0
- package/dist/security/sql-injection.d.ts.map +1 -0
- package/dist/security/sql-injection.js +383 -0
- package/dist/security/sql-injection.js.map +1 -0
- package/dist/security/xss-prevention.d.ts +80 -0
- package/dist/security/xss-prevention.d.ts.map +1 -0
- package/dist/security/xss-prevention.js +416 -0
- package/dist/security/xss-prevention.js.map +1 -0
- package/dist/structural/barrel-exports.d.ts +178 -0
- package/dist/structural/barrel-exports.d.ts.map +1 -0
- package/dist/structural/barrel-exports.js +553 -0
- package/dist/structural/barrel-exports.js.map +1 -0
- package/dist/structural/circular-deps.d.ts +140 -0
- package/dist/structural/circular-deps.d.ts.map +1 -0
- package/dist/structural/circular-deps.js +422 -0
- package/dist/structural/circular-deps.js.map +1 -0
- package/dist/structural/co-location.d.ts +202 -0
- package/dist/structural/co-location.d.ts.map +1 -0
- package/dist/structural/co-location.js +640 -0
- package/dist/structural/co-location.js.map +1 -0
- package/dist/structural/directory-structure.d.ts +151 -0
- package/dist/structural/directory-structure.d.ts.map +1 -0
- package/dist/structural/directory-structure.js +457 -0
- package/dist/structural/directory-structure.js.map +1 -0
- package/dist/structural/file-naming.d.ts +61 -0
- package/dist/structural/file-naming.d.ts.map +1 -0
- package/dist/structural/file-naming.js +231 -0
- package/dist/structural/file-naming.js.map +1 -0
- package/dist/structural/import-ordering.d.ts +212 -0
- package/dist/structural/import-ordering.d.ts.map +1 -0
- package/dist/structural/import-ordering.js +821 -0
- package/dist/structural/import-ordering.js.map +1 -0
- package/dist/structural/index.d.ts +23 -0
- package/dist/structural/index.d.ts.map +1 -0
- package/dist/structural/index.js +26 -0
- package/dist/structural/index.js.map +1 -0
- package/dist/structural/module-boundaries.d.ts +164 -0
- package/dist/structural/module-boundaries.d.ts.map +1 -0
- package/dist/structural/module-boundaries.js +616 -0
- package/dist/structural/module-boundaries.js.map +1 -0
- package/dist/structural/package-boundaries.d.ts +182 -0
- package/dist/structural/package-boundaries.d.ts.map +1 -0
- package/dist/structural/package-boundaries.js +602 -0
- package/dist/structural/package-boundaries.js.map +1 -0
- package/dist/styling/class-naming.d.ts +263 -0
- package/dist/styling/class-naming.d.ts.map +1 -0
- package/dist/styling/class-naming.js +892 -0
- package/dist/styling/class-naming.js.map +1 -0
- package/dist/styling/color-usage.d.ts +213 -0
- package/dist/styling/color-usage.d.ts.map +1 -0
- package/dist/styling/color-usage.js +732 -0
- package/dist/styling/color-usage.js.map +1 -0
- package/dist/styling/design-tokens.d.ts +212 -0
- package/dist/styling/design-tokens.d.ts.map +1 -0
- package/dist/styling/design-tokens.js +748 -0
- package/dist/styling/design-tokens.js.map +1 -0
- package/dist/styling/index.d.ts +16 -0
- package/dist/styling/index.d.ts.map +1 -0
- package/dist/styling/index.js +56 -0
- package/dist/styling/index.js.map +1 -0
- package/dist/styling/responsive.d.ts +304 -0
- package/dist/styling/responsive.d.ts.map +1 -0
- package/dist/styling/responsive.js +888 -0
- package/dist/styling/responsive.js.map +1 -0
- package/dist/styling/spacing-scale.d.ts +248 -0
- package/dist/styling/spacing-scale.d.ts.map +1 -0
- package/dist/styling/spacing-scale.js +865 -0
- package/dist/styling/spacing-scale.js.map +1 -0
- package/dist/styling/tailwind-patterns.d.ts +305 -0
- package/dist/styling/tailwind-patterns.d.ts.map +1 -0
- package/dist/styling/tailwind-patterns.js +1181 -0
- package/dist/styling/tailwind-patterns.js.map +1 -0
- package/dist/styling/typography.d.ts +281 -0
- package/dist/styling/typography.d.ts.map +1 -0
- package/dist/styling/typography.js +1004 -0
- package/dist/styling/typography.js.map +1 -0
- package/dist/styling/z-index-scale.d.ts +270 -0
- package/dist/styling/z-index-scale.d.ts.map +1 -0
- package/dist/styling/z-index-scale.js +714 -0
- package/dist/styling/z-index-scale.js.map +1 -0
- package/dist/testing/co-location.d.ts +42 -0
- package/dist/testing/co-location.d.ts.map +1 -0
- package/dist/testing/co-location.js +134 -0
- package/dist/testing/co-location.js.map +1 -0
- package/dist/testing/describe-naming.d.ts +47 -0
- package/dist/testing/describe-naming.d.ts.map +1 -0
- package/dist/testing/describe-naming.js +150 -0
- package/dist/testing/describe-naming.js.map +1 -0
- package/dist/testing/file-naming.d.ts +44 -0
- package/dist/testing/file-naming.d.ts.map +1 -0
- package/dist/testing/file-naming.js +131 -0
- package/dist/testing/file-naming.js.map +1 -0
- package/dist/testing/fixture-patterns.d.ts +52 -0
- package/dist/testing/fixture-patterns.d.ts.map +1 -0
- package/dist/testing/fixture-patterns.js +228 -0
- package/dist/testing/fixture-patterns.js.map +1 -0
- package/dist/testing/index.d.ts +31 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +49 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-patterns.d.ts +53 -0
- package/dist/testing/mock-patterns.d.ts.map +1 -0
- package/dist/testing/mock-patterns.js +264 -0
- package/dist/testing/mock-patterns.js.map +1 -0
- package/dist/testing/setup-teardown.d.ts +55 -0
- package/dist/testing/setup-teardown.d.ts.map +1 -0
- package/dist/testing/setup-teardown.js +262 -0
- package/dist/testing/setup-teardown.js.map +1 -0
- package/dist/testing/test-structure.d.ts +51 -0
- package/dist/testing/test-structure.d.ts.map +1 -0
- package/dist/testing/test-structure.js +225 -0
- package/dist/testing/test-structure.js.map +1 -0
- package/dist/types/any-usage.d.ts +99 -0
- package/dist/types/any-usage.d.ts.map +1 -0
- package/dist/types/any-usage.js +641 -0
- package/dist/types/any-usage.js.map +1 -0
- package/dist/types/file-location.d.ts +76 -0
- package/dist/types/file-location.d.ts.map +1 -0
- package/dist/types/file-location.js +395 -0
- package/dist/types/file-location.js.map +1 -0
- package/dist/types/generic-patterns.d.ts +97 -0
- package/dist/types/generic-patterns.d.ts.map +1 -0
- package/dist/types/generic-patterns.js +615 -0
- package/dist/types/generic-patterns.js.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +43 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/interface-vs-type.d.ts +81 -0
- package/dist/types/interface-vs-type.d.ts.map +1 -0
- package/dist/types/interface-vs-type.js +440 -0
- package/dist/types/interface-vs-type.js.map +1 -0
- package/dist/types/naming-conventions.d.ts +84 -0
- package/dist/types/naming-conventions.d.ts.map +1 -0
- package/dist/types/naming-conventions.js +455 -0
- package/dist/types/naming-conventions.js.map +1 -0
- package/dist/types/type-assertions.d.ts +98 -0
- package/dist/types/type-assertions.d.ts.map +1 -0
- package/dist/types/type-assertions.js +639 -0
- package/dist/types/type-assertions.js.map +1 -0
- package/dist/types/utility-types.d.ts +110 -0
- package/dist/types/utility-types.d.ts.map +1 -0
- package/dist/types/utility-types.js +547 -0
- package/dist/types/utility-types.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-detector.js","sourceRoot":"","sources":["../../src/base/ast-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAwFlD,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAgB,WAAY,SAAQ,YAAY;IACpD;;;;OAIG;IACM,eAAe,GAAG,KAAc,CAAC;IAE1C,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E;;;;;;;;;;;;;;OAcG;IACO,SAAS,CAAC,GAAQ,EAAE,QAAgB;QAC5C,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;OAWG;IACO,gBAAgB,CAAC,GAAQ,EAAE,SAAmB;QACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CAAC,GAAQ,EAAE,QAAgB;QAChD,IAAI,MAAM,GAAmB,IAAI,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,IAAI,CAAC;gBACd,OAAO,KAAK,CAAC,CAAC,iBAAiB;YACjC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,cAAc,CACtB,GAAQ,EACR,SAAqC;QAErC,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+EAA+E;IAC/E,8BAA8B;IAC9B,+EAA+E;IAE/E;;;;;;;;;;;;;;;OAeG;IACO,YAAY,CACpB,IAAa,EACb,QAAgB,EAChB,GAAQ;QAER,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnD,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACO,gBAAgB,CAAC,IAAa,EAAE,GAAQ;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACO,eAAe,CAAC,IAAa;QACrC,MAAM,WAAW,GAAc,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAQ,EAAE;YACnC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACO,qBAAqB,CAAC,IAAa,EAAE,QAAgB;QAC7D,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,CAAC,CAAU,EAAQ,EAAE;YAClC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;;;;;;;;;;OAcG;IACO,WAAW,CAAC,IAAa,EAAE,OAAgB;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAEvC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,cAAc;gBACd,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,aAAa;gBACb,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,IAAI;wBAAE,SAAS;oBAEpB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACpC,CAAC;yBAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACO,kBAAkB,CAAC,IAAa,EAAE,OAAgB;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAE/E;;;;;;;;;;;;;;;;;OAiBG;IACO,YAAY,CAAC,GAAQ,EAAE,OAAmB;QAClD,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE3D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,UAAU;oBACV,QAAQ;oBACR,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACK,SAAS,CACf,IAAa,EACb,OAAmB,EACnB,QAA8B;QAE9B,IAAI,KAAK,GAAG,GAAG,CAAC;QAEhB,aAAa;QACb,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,aAAa;QACb,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CACxC,IAAI,EACJ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,gBAAgB,EACxB,QAAQ,CACT,CAAC;YACF,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,IAAI,UAAU,CAAC;QACtB,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAY,EAAE,OAAwB,EAAE,KAAe;QACvE,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,KAAK,OAAO,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,IAAa,EACb,aAA2B,EAC3B,gBAA0B,EAC1B,QAA+B;QAE/B,MAAM,aAAa,GAAG,gBAAgB;YACpC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAElB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,KAAK,GAAG,KAAK,CAAC;YAElB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,QAAQ,IAAI,IAAI,GAAG,EAAmB,CAAC;gBAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAEtE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,KAAK,GAAG,IAAI,CAAC;oBACb,YAAY,EAAE,CAAC;oBAEf,iBAAiB;oBACjB,IAAI,QAAQ,EAAE,CAAC;wBACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;4BACzC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,CAAC,CAAC,mCAAmC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;;;;;;;;;;;;;OAiBG;IACO,QAAQ,CAChB,GAAQ,EACR,OAAmB,EACnB,UAA4B,EAAE;QAE9B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,MAAsB,EAAE,KAAa,EAAW,EAAE;YAC9E,kBAAkB;YAClB,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,kCAAkC;YAClC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAE5C,2DAA2D;YAC3D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oBAAoB;YACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC1C,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CACpB,IAAa,EACb,OAAmB,EACnB,UAA4B,EAAE;QAE9B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,MAAsB,EAAE,KAAa,EAAW,EAAE;YAC3E,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;;;;OAMG;IACO,cAAc,CAAC,GAAQ,EAAE,UAAmB;QACpD,MAAM,OAAO,GAAc,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,KAAgB,EAAW,EAAE;YAC/D,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACO,SAAS,CAAC,GAAQ,EAAE,IAAa;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CAAC,GAAQ,EAAE,UAAmB;QAClD,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,UAAU,GAAG,KAAK,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,IAAa;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACO,iBAAiB,CAAC,IAAa,EAAE,QAAgB;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACO,mBAAmB,CAAC,IAAa,EAAE,QAAgB;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACO,cAAc,CAAC,IAAa,EAAE,QAAgB;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACO,mBAAmB,CAAC,IAAa,EAAE,QAAgB;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACO,WAAW,CAAC,GAAQ,EAAE,IAAa;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACO,cAAc,CAAC,GAAQ,EAAE,IAAa;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,kBAAkB,CAAC,GAAQ,EAAE,IAAa;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,UAAU,CAAC,GAAQ,EAAE,QAAgB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CAAC,GAAQ,EAAE,QAAgB;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACO,aAAa,CAAC,IAAa;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACO,eAAe,CAAC,IAAa;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;CACF;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAsB;IAClD,OAAO,QAAQ,CAAC,eAAe,KAAK,KAAK,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Detector - Abstract detector class
|
|
3
|
+
*
|
|
4
|
+
* Defines the common interface for all detectors. All concrete detectors
|
|
5
|
+
* must extend this class and implement the required abstract methods.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
8
|
+
* @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
|
|
9
|
+
* @requirements 6.6 - THE Detector SHALL be independently testable with mock AST inputs
|
|
10
|
+
*/
|
|
11
|
+
import type { PatternCategory, Language, PatternMatch, Violation, QuickFix, AST } from 'driftdetect-core';
|
|
12
|
+
import type { DetectionMethod, DetectorInfo } from '../registry/types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Import information extracted from a file
|
|
15
|
+
*
|
|
16
|
+
* Provides details about import statements for pattern detection.
|
|
17
|
+
*/
|
|
18
|
+
export interface ImportInfo {
|
|
19
|
+
/** The source module path (as written in the import statement) */
|
|
20
|
+
source: string;
|
|
21
|
+
/** Resolved absolute path to the imported module (if resolvable) */
|
|
22
|
+
resolvedPath?: string;
|
|
23
|
+
/** Named imports (e.g., ['foo', 'bar'] for import { foo, bar }) */
|
|
24
|
+
namedImports: string[];
|
|
25
|
+
/** Default import name (if present) */
|
|
26
|
+
defaultImport?: string;
|
|
27
|
+
/** Namespace import name (if present, e.g., import * as ns) */
|
|
28
|
+
namespaceImport?: string;
|
|
29
|
+
/** Whether this is a type-only import */
|
|
30
|
+
isTypeOnly: boolean;
|
|
31
|
+
/** Whether this is a side-effect only import (import './styles.css') */
|
|
32
|
+
sideEffectOnly: boolean;
|
|
33
|
+
/** Line number where the import appears (1-indexed) */
|
|
34
|
+
line: number;
|
|
35
|
+
/** Column number where the import appears (1-indexed) */
|
|
36
|
+
column: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Export information extracted from a file
|
|
40
|
+
*
|
|
41
|
+
* Provides details about export statements for pattern detection.
|
|
42
|
+
*/
|
|
43
|
+
export interface ExportInfo {
|
|
44
|
+
/** Name of the exported symbol */
|
|
45
|
+
name: string;
|
|
46
|
+
/** Whether this is a default export */
|
|
47
|
+
isDefault: boolean;
|
|
48
|
+
/** Whether this is a type-only export */
|
|
49
|
+
isTypeOnly: boolean;
|
|
50
|
+
/** Whether this is a re-export from another module */
|
|
51
|
+
isReExport: boolean;
|
|
52
|
+
/** Source module for re-exports */
|
|
53
|
+
source?: string;
|
|
54
|
+
/** Original name if exported with alias */
|
|
55
|
+
originalName?: string;
|
|
56
|
+
/** Line number where the export appears (1-indexed) */
|
|
57
|
+
line: number;
|
|
58
|
+
/** Column number where the export appears (1-indexed) */
|
|
59
|
+
column: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Project-wide context for detection
|
|
63
|
+
*
|
|
64
|
+
* Provides information about the overall project structure
|
|
65
|
+
* that may be needed for pattern detection.
|
|
66
|
+
*/
|
|
67
|
+
export interface ProjectContext {
|
|
68
|
+
/** Root directory of the project */
|
|
69
|
+
rootDir: string;
|
|
70
|
+
/** All project files (relative paths) */
|
|
71
|
+
files: string[];
|
|
72
|
+
/** Project configuration (from drift config) */
|
|
73
|
+
config: Record<string, unknown>;
|
|
74
|
+
/** Dependency graph information (if available) */
|
|
75
|
+
dependencyGraph?: {
|
|
76
|
+
/** Get dependencies of a file */
|
|
77
|
+
getDependencies: (file: string) => string[];
|
|
78
|
+
/** Get dependents of a file */
|
|
79
|
+
getDependents: (file: string) => string[];
|
|
80
|
+
/** Check for circular dependencies */
|
|
81
|
+
hasCircularDependency: () => boolean;
|
|
82
|
+
};
|
|
83
|
+
/** Package.json contents (if available) */
|
|
84
|
+
packageJson?: Record<string, unknown>;
|
|
85
|
+
/** TypeScript config (if available) */
|
|
86
|
+
tsConfig?: Record<string, unknown>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Context provided to detectors for pattern detection
|
|
90
|
+
*
|
|
91
|
+
* Contains all information needed to analyze a file for patterns.
|
|
92
|
+
*
|
|
93
|
+
* @requirements 6.6 - Detectors are independently testable with mock AST inputs
|
|
94
|
+
*/
|
|
95
|
+
export interface DetectionContext {
|
|
96
|
+
/** File path being analyzed (relative to project root) */
|
|
97
|
+
file: string;
|
|
98
|
+
/** Full file content as a string */
|
|
99
|
+
content: string;
|
|
100
|
+
/** Parsed AST (null if parsing failed or not applicable) */
|
|
101
|
+
ast: AST | null;
|
|
102
|
+
/** Import statements extracted from the file */
|
|
103
|
+
imports: ImportInfo[];
|
|
104
|
+
/** Export statements extracted from the file */
|
|
105
|
+
exports: ExportInfo[];
|
|
106
|
+
/** Project-wide context */
|
|
107
|
+
projectContext: ProjectContext;
|
|
108
|
+
/** Language of the file */
|
|
109
|
+
language: Language;
|
|
110
|
+
/** File extension (e.g., '.ts', '.tsx') */
|
|
111
|
+
extension: string;
|
|
112
|
+
/** Whether the file is a test file */
|
|
113
|
+
isTestFile: boolean;
|
|
114
|
+
/** Whether the file is a type definition file */
|
|
115
|
+
isTypeDefinition: boolean;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Result of running detection on a file
|
|
119
|
+
*
|
|
120
|
+
* Contains all patterns found and any violations detected.
|
|
121
|
+
*/
|
|
122
|
+
export interface DetectionResult {
|
|
123
|
+
/** Patterns found in the file */
|
|
124
|
+
patterns: PatternMatch[];
|
|
125
|
+
/** Violations detected in the file */
|
|
126
|
+
violations: Violation[];
|
|
127
|
+
/** Overall confidence score for the detection (0.0 to 1.0) */
|
|
128
|
+
confidence: number;
|
|
129
|
+
/** Detection metadata */
|
|
130
|
+
metadata?: DetectionMetadata;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Metadata about the detection process
|
|
134
|
+
*/
|
|
135
|
+
export interface DetectionMetadata {
|
|
136
|
+
/** Time taken for detection in milliseconds */
|
|
137
|
+
duration?: number;
|
|
138
|
+
/** Number of AST nodes analyzed */
|
|
139
|
+
nodesAnalyzed?: number;
|
|
140
|
+
/** Any warnings generated during detection */
|
|
141
|
+
warnings?: string[];
|
|
142
|
+
/** Additional detector-specific metadata */
|
|
143
|
+
custom?: Record<string, unknown>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Abstract base class for all detectors
|
|
147
|
+
*
|
|
148
|
+
* All concrete detectors must extend this class and implement
|
|
149
|
+
* the required abstract methods and properties.
|
|
150
|
+
*
|
|
151
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
152
|
+
* @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* class FileNamingDetector extends BaseDetector {
|
|
157
|
+
* readonly id = 'structural/file-naming';
|
|
158
|
+
* readonly category = 'structural';
|
|
159
|
+
* readonly subcategory = 'naming-conventions';
|
|
160
|
+
* readonly name = 'File Naming Convention Detector';
|
|
161
|
+
* readonly description = 'Detects file naming patterns';
|
|
162
|
+
* readonly supportedLanguages = ['typescript', 'javascript'];
|
|
163
|
+
* readonly detectionMethod = 'structural';
|
|
164
|
+
*
|
|
165
|
+
* async detect(context: DetectionContext): Promise<DetectionResult> {
|
|
166
|
+
* // Implementation
|
|
167
|
+
* }
|
|
168
|
+
*
|
|
169
|
+
* generateQuickFix(violation: Violation): QuickFix | null {
|
|
170
|
+
* // Implementation
|
|
171
|
+
* }
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare abstract class BaseDetector {
|
|
176
|
+
/**
|
|
177
|
+
* Unique identifier for this detector
|
|
178
|
+
*
|
|
179
|
+
* Should follow the format: category/detector-name
|
|
180
|
+
* Example: 'structural/file-naming', 'components/props-patterns'
|
|
181
|
+
*
|
|
182
|
+
* @requirements 6.1 - Detector identification
|
|
183
|
+
*/
|
|
184
|
+
abstract readonly id: string;
|
|
185
|
+
/**
|
|
186
|
+
* Category of patterns this detector identifies
|
|
187
|
+
*
|
|
188
|
+
* Must be one of the valid PatternCategory values.
|
|
189
|
+
*
|
|
190
|
+
* @requirements 6.3 - Detector declares its category
|
|
191
|
+
*/
|
|
192
|
+
abstract readonly category: PatternCategory;
|
|
193
|
+
/**
|
|
194
|
+
* Subcategory for more specific classification
|
|
195
|
+
*
|
|
196
|
+
* Example: 'naming-conventions', 'import-ordering'
|
|
197
|
+
*
|
|
198
|
+
* @requirements 6.3 - Detector declares its subcategory
|
|
199
|
+
*/
|
|
200
|
+
abstract readonly subcategory: string;
|
|
201
|
+
/**
|
|
202
|
+
* Human-readable name for display
|
|
203
|
+
*
|
|
204
|
+
* Example: 'File Naming Convention Detector'
|
|
205
|
+
*
|
|
206
|
+
* @requirements 6.1 - Detector metadata
|
|
207
|
+
*/
|
|
208
|
+
abstract readonly name: string;
|
|
209
|
+
/**
|
|
210
|
+
* Detailed description of what this detector does
|
|
211
|
+
*
|
|
212
|
+
* Should explain what patterns are detected and why they matter.
|
|
213
|
+
*
|
|
214
|
+
* @requirements 6.1 - Detector metadata
|
|
215
|
+
*/
|
|
216
|
+
abstract readonly description: string;
|
|
217
|
+
/**
|
|
218
|
+
* Languages this detector supports
|
|
219
|
+
*
|
|
220
|
+
* The detector will only be invoked for files of these languages.
|
|
221
|
+
*
|
|
222
|
+
* @requirements 6.3 - Detector declares supported languages
|
|
223
|
+
*/
|
|
224
|
+
abstract readonly supportedLanguages: Language[];
|
|
225
|
+
/**
|
|
226
|
+
* Detection method used by this detector
|
|
227
|
+
*
|
|
228
|
+
* - ast: Uses AST analysis
|
|
229
|
+
* - regex: Uses regular expression matching
|
|
230
|
+
* - semantic: Uses semantic analysis (type information)
|
|
231
|
+
* - structural: Uses file/directory structure analysis
|
|
232
|
+
* - custom: Uses custom detection logic
|
|
233
|
+
*
|
|
234
|
+
* @requirements 6.3 - Detector declares detection method
|
|
235
|
+
*/
|
|
236
|
+
abstract readonly detectionMethod: DetectionMethod;
|
|
237
|
+
/**
|
|
238
|
+
* Detect patterns and violations in the given context
|
|
239
|
+
*
|
|
240
|
+
* This is the main detection method that analyzes a file and returns
|
|
241
|
+
* any patterns found and violations detected.
|
|
242
|
+
*
|
|
243
|
+
* @param context - Detection context containing file info, AST, imports, etc.
|
|
244
|
+
* @returns Promise resolving to detection results
|
|
245
|
+
*
|
|
246
|
+
* @requirements 6.1 - Detector implements detect method
|
|
247
|
+
* @requirements 6.6 - Detector is independently testable with mock AST inputs
|
|
248
|
+
*/
|
|
249
|
+
abstract detect(context: DetectionContext): Promise<DetectionResult>;
|
|
250
|
+
/**
|
|
251
|
+
* Generate a quick fix for a violation
|
|
252
|
+
*
|
|
253
|
+
* Returns a QuickFix that can be applied to resolve the violation,
|
|
254
|
+
* or null if no automatic fix is available.
|
|
255
|
+
*
|
|
256
|
+
* @param violation - The violation to generate a fix for
|
|
257
|
+
* @returns QuickFix or null if no fix is available
|
|
258
|
+
*
|
|
259
|
+
* @requirements 6.1 - Detector implements generateQuickFix method
|
|
260
|
+
*/
|
|
261
|
+
abstract generateQuickFix(violation: Violation): QuickFix | null;
|
|
262
|
+
/**
|
|
263
|
+
* Called when the detector is registered with the registry
|
|
264
|
+
*
|
|
265
|
+
* Override this method to perform initialization tasks when
|
|
266
|
+
* the detector is first registered.
|
|
267
|
+
*/
|
|
268
|
+
onRegister?(): void;
|
|
269
|
+
/**
|
|
270
|
+
* Called when a file changes in the workspace
|
|
271
|
+
*
|
|
272
|
+
* Override this method to handle file change events,
|
|
273
|
+
* such as invalidating cached analysis results.
|
|
274
|
+
*
|
|
275
|
+
* @param file - Path to the changed file
|
|
276
|
+
*/
|
|
277
|
+
onFileChange?(file: string): void;
|
|
278
|
+
/**
|
|
279
|
+
* Called when the detector is being unloaded
|
|
280
|
+
*
|
|
281
|
+
* Override this method to perform cleanup tasks.
|
|
282
|
+
*/
|
|
283
|
+
onUnload?(): void;
|
|
284
|
+
/**
|
|
285
|
+
* Check if this detector supports a given language
|
|
286
|
+
*
|
|
287
|
+
* @param language - Language to check
|
|
288
|
+
* @returns true if the language is supported
|
|
289
|
+
*/
|
|
290
|
+
supportsLanguage(language: Language): boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Get detector info for registry
|
|
293
|
+
*
|
|
294
|
+
* Returns a DetectorInfo object containing all metadata
|
|
295
|
+
* about this detector.
|
|
296
|
+
*
|
|
297
|
+
* @returns DetectorInfo object
|
|
298
|
+
*/
|
|
299
|
+
getInfo(): DetectorInfo;
|
|
300
|
+
/**
|
|
301
|
+
* Create an empty detection result
|
|
302
|
+
*
|
|
303
|
+
* Utility method for creating a result with no patterns or violations.
|
|
304
|
+
*
|
|
305
|
+
* @param confidence - Optional confidence score (defaults to 1.0)
|
|
306
|
+
* @returns Empty DetectionResult
|
|
307
|
+
*/
|
|
308
|
+
protected createEmptyResult(confidence?: number): DetectionResult;
|
|
309
|
+
/**
|
|
310
|
+
* Create a detection result with patterns
|
|
311
|
+
*
|
|
312
|
+
* Utility method for creating a result with patterns.
|
|
313
|
+
*
|
|
314
|
+
* @param patterns - Patterns found
|
|
315
|
+
* @param confidence - Confidence score
|
|
316
|
+
* @returns DetectionResult with patterns
|
|
317
|
+
*/
|
|
318
|
+
protected createPatternResult(patterns: PatternMatch[], confidence?: number): DetectionResult;
|
|
319
|
+
/**
|
|
320
|
+
* Create a detection result with violations
|
|
321
|
+
*
|
|
322
|
+
* Utility method for creating a result with violations.
|
|
323
|
+
*
|
|
324
|
+
* @param violations - Violations found
|
|
325
|
+
* @param confidence - Confidence score
|
|
326
|
+
* @returns DetectionResult with violations
|
|
327
|
+
*/
|
|
328
|
+
protected createViolationResult(violations: Violation[], confidence?: number): DetectionResult;
|
|
329
|
+
/**
|
|
330
|
+
* Create a full detection result
|
|
331
|
+
*
|
|
332
|
+
* Utility method for creating a result with both patterns and violations.
|
|
333
|
+
*
|
|
334
|
+
* @param patterns - Patterns found
|
|
335
|
+
* @param violations - Violations found
|
|
336
|
+
* @param confidence - Confidence score
|
|
337
|
+
* @param metadata - Optional metadata
|
|
338
|
+
* @returns Complete DetectionResult
|
|
339
|
+
*/
|
|
340
|
+
protected createResult(patterns: PatternMatch[], violations: Violation[], confidence?: number, metadata?: DetectionMetadata): DetectionResult;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Type guard to check if an object is a valid BaseDetector
|
|
344
|
+
*
|
|
345
|
+
* @param obj - Object to check
|
|
346
|
+
* @returns true if the object is a BaseDetector
|
|
347
|
+
*/
|
|
348
|
+
export declare function isBaseDetector(obj: unknown): obj is BaseDetector;
|
|
349
|
+
/**
|
|
350
|
+
* Factory function type for creating detectors
|
|
351
|
+
*
|
|
352
|
+
* Used for lazy loading detectors.
|
|
353
|
+
*/
|
|
354
|
+
export type DetectorFactory = () => BaseDetector | Promise<BaseDetector>;
|
|
355
|
+
/**
|
|
356
|
+
* Configuration options for detector instantiation
|
|
357
|
+
*/
|
|
358
|
+
export interface DetectorOptions {
|
|
359
|
+
/** Whether to enable verbose logging */
|
|
360
|
+
verbose?: boolean;
|
|
361
|
+
/** Custom configuration for the detector */
|
|
362
|
+
config?: Record<string, unknown>;
|
|
363
|
+
/** Timeout for detection operations in milliseconds */
|
|
364
|
+
timeout?: number;
|
|
365
|
+
}
|
|
366
|
+
//# sourceMappingURL=base-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-detector.d.ts","sourceRoot":"","sources":["../../src/base/base-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Detector - Abstract detector class
|
|
3
|
+
*
|
|
4
|
+
* Defines the common interface for all detectors. All concrete detectors
|
|
5
|
+
* must extend this class and implement the required abstract methods.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
8
|
+
* @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
|
|
9
|
+
* @requirements 6.6 - THE Detector SHALL be independently testable with mock AST inputs
|
|
10
|
+
*/
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Base Detector Abstract Class
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Abstract base class for all detectors
|
|
16
|
+
*
|
|
17
|
+
* All concrete detectors must extend this class and implement
|
|
18
|
+
* the required abstract methods and properties.
|
|
19
|
+
*
|
|
20
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
21
|
+
* @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* class FileNamingDetector extends BaseDetector {
|
|
26
|
+
* readonly id = 'structural/file-naming';
|
|
27
|
+
* readonly category = 'structural';
|
|
28
|
+
* readonly subcategory = 'naming-conventions';
|
|
29
|
+
* readonly name = 'File Naming Convention Detector';
|
|
30
|
+
* readonly description = 'Detects file naming patterns';
|
|
31
|
+
* readonly supportedLanguages = ['typescript', 'javascript'];
|
|
32
|
+
* readonly detectionMethod = 'structural';
|
|
33
|
+
*
|
|
34
|
+
* async detect(context: DetectionContext): Promise<DetectionResult> {
|
|
35
|
+
* // Implementation
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* generateQuickFix(violation: Violation): QuickFix | null {
|
|
39
|
+
* // Implementation
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export class BaseDetector {
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// Utility Methods
|
|
47
|
+
// ============================================================================
|
|
48
|
+
/**
|
|
49
|
+
* Check if this detector supports a given language
|
|
50
|
+
*
|
|
51
|
+
* @param language - Language to check
|
|
52
|
+
* @returns true if the language is supported
|
|
53
|
+
*/
|
|
54
|
+
supportsLanguage(language) {
|
|
55
|
+
return this.supportedLanguages.includes(language);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get detector info for registry
|
|
59
|
+
*
|
|
60
|
+
* Returns a DetectorInfo object containing all metadata
|
|
61
|
+
* about this detector.
|
|
62
|
+
*
|
|
63
|
+
* @returns DetectorInfo object
|
|
64
|
+
*/
|
|
65
|
+
getInfo() {
|
|
66
|
+
return {
|
|
67
|
+
id: this.id,
|
|
68
|
+
category: this.category,
|
|
69
|
+
subcategory: this.subcategory,
|
|
70
|
+
name: this.name,
|
|
71
|
+
description: this.description,
|
|
72
|
+
supportedLanguages: this.supportedLanguages,
|
|
73
|
+
detectionMethod: this.detectionMethod,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create an empty detection result
|
|
78
|
+
*
|
|
79
|
+
* Utility method for creating a result with no patterns or violations.
|
|
80
|
+
*
|
|
81
|
+
* @param confidence - Optional confidence score (defaults to 1.0)
|
|
82
|
+
* @returns Empty DetectionResult
|
|
83
|
+
*/
|
|
84
|
+
createEmptyResult(confidence = 1.0) {
|
|
85
|
+
return {
|
|
86
|
+
patterns: [],
|
|
87
|
+
violations: [],
|
|
88
|
+
confidence,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Create a detection result with patterns
|
|
93
|
+
*
|
|
94
|
+
* Utility method for creating a result with patterns.
|
|
95
|
+
*
|
|
96
|
+
* @param patterns - Patterns found
|
|
97
|
+
* @param confidence - Confidence score
|
|
98
|
+
* @returns DetectionResult with patterns
|
|
99
|
+
*/
|
|
100
|
+
createPatternResult(patterns, confidence = 1.0) {
|
|
101
|
+
return {
|
|
102
|
+
patterns,
|
|
103
|
+
violations: [],
|
|
104
|
+
confidence,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a detection result with violations
|
|
109
|
+
*
|
|
110
|
+
* Utility method for creating a result with violations.
|
|
111
|
+
*
|
|
112
|
+
* @param violations - Violations found
|
|
113
|
+
* @param confidence - Confidence score
|
|
114
|
+
* @returns DetectionResult with violations
|
|
115
|
+
*/
|
|
116
|
+
createViolationResult(violations, confidence = 1.0) {
|
|
117
|
+
return {
|
|
118
|
+
patterns: [],
|
|
119
|
+
violations,
|
|
120
|
+
confidence,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create a full detection result
|
|
125
|
+
*
|
|
126
|
+
* Utility method for creating a result with both patterns and violations.
|
|
127
|
+
*
|
|
128
|
+
* @param patterns - Patterns found
|
|
129
|
+
* @param violations - Violations found
|
|
130
|
+
* @param confidence - Confidence score
|
|
131
|
+
* @param metadata - Optional metadata
|
|
132
|
+
* @returns Complete DetectionResult
|
|
133
|
+
*/
|
|
134
|
+
createResult(patterns, violations, confidence = 1.0, metadata) {
|
|
135
|
+
const result = {
|
|
136
|
+
patterns,
|
|
137
|
+
violations,
|
|
138
|
+
confidence,
|
|
139
|
+
};
|
|
140
|
+
if (metadata !== undefined) {
|
|
141
|
+
result.metadata = metadata;
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// ============================================================================
|
|
147
|
+
// Type Guards
|
|
148
|
+
// ============================================================================
|
|
149
|
+
/**
|
|
150
|
+
* Type guard to check if an object is a valid BaseDetector
|
|
151
|
+
*
|
|
152
|
+
* @param obj - Object to check
|
|
153
|
+
* @returns true if the object is a BaseDetector
|
|
154
|
+
*/
|
|
155
|
+
export function isBaseDetector(obj) {
|
|
156
|
+
if (typeof obj !== 'object' || obj === null) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
const detector = obj;
|
|
160
|
+
return (typeof detector.id === 'string' &&
|
|
161
|
+
typeof detector.category === 'string' &&
|
|
162
|
+
typeof detector.subcategory === 'string' &&
|
|
163
|
+
typeof detector.name === 'string' &&
|
|
164
|
+
typeof detector.description === 'string' &&
|
|
165
|
+
Array.isArray(detector.supportedLanguages) &&
|
|
166
|
+
typeof detector.detectionMethod === 'string' &&
|
|
167
|
+
typeof detector.detect === 'function' &&
|
|
168
|
+
typeof detector.generateQuickFix === 'function');
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=base-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-detector.js","sourceRoot":"","sources":["../../src/base/base-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkMH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAgB,YAAY;IAqIhC,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;;;OAKG;IACH,gBAAgB,CAAC,QAAkB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACO,iBAAiB,CAAC,aAAqB,GAAG;QAClD,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACO,mBAAmB,CAC3B,QAAwB,EACxB,aAAqB,GAAG;QAExB,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE;YACd,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACO,qBAAqB,CAC7B,UAAuB,EACvB,aAAqB,GAAG;QAExB,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACO,YAAY,CACpB,QAAwB,EACxB,UAAuB,EACvB,aAAqB,GAAG,EACxB,QAA4B;QAE5B,MAAM,MAAM,GAAoB;YAC9B,QAAQ;YACR,UAAU;YACV,UAAU;SACX,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAAmB,CAAC;IAErC,OAAO,CACL,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;QAC/B,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;QACrC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC1C,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ;QAC5C,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;QACrC,OAAO,QAAQ,CAAC,gBAAgB,KAAK,UAAU,CAChD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base detector module exports
|
|
3
|
+
*
|
|
4
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
5
|
+
* @requirements 6.4 - THE Detector_System SHALL support detection methods: ast, regex, semantic, structural, and custom
|
|
6
|
+
*/
|
|
7
|
+
export { BaseDetector, isBaseDetector, type DetectionContext, type DetectionResult, type DetectionMetadata, type ImportInfo, type ExportInfo, type ProjectContext, type DetectorFactory, type DetectorOptions, } from './base-detector.js';
|
|
8
|
+
export { ASTDetector, isASTDetector, type ASTPattern, type ASTMatchResult, type TraversalOptions, type ASTVisitor, } from './ast-detector.js';
|
|
9
|
+
export { RegexDetector, isRegexDetector, type RegexMatch, type LineMatch, type CaptureResult, type PatternLocation, type RegexMatchOptions, } from './regex-detector.js';
|
|
10
|
+
export { StructuralDetector, isStructuralDetector, type NamingConvention, type NamingConventionResult, type PathMatchResult, type PathInfo, type PathMatchOptions, } from './structural-detector.js';
|
|
11
|
+
export * from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base detector module exports
|
|
3
|
+
*
|
|
4
|
+
* @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
|
|
5
|
+
* @requirements 6.4 - THE Detector_System SHALL support detection methods: ast, regex, semantic, structural, and custom
|
|
6
|
+
*/
|
|
7
|
+
// Export base detector class and related types
|
|
8
|
+
export { BaseDetector, isBaseDetector, } from './base-detector.js';
|
|
9
|
+
// Export AST detector class and related types
|
|
10
|
+
export { ASTDetector, isASTDetector, } from './ast-detector.js';
|
|
11
|
+
// Export Regex detector class and related types
|
|
12
|
+
export { RegexDetector, isRegexDetector, } from './regex-detector.js';
|
|
13
|
+
// Export Structural detector class and related types
|
|
14
|
+
export { StructuralDetector, isStructuralDetector, } from './structural-detector.js';
|
|
15
|
+
// Export types from types.ts (for backward compatibility)
|
|
16
|
+
export * from './types.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+CAA+C;AAC/C,OAAO,EACL,YAAY,EACZ,cAAc,GASf,MAAM,oBAAoB,CAAC;AAE5B,8CAA8C;AAC9C,OAAO,EACL,WAAW,EACX,aAAa,GAKd,MAAM,mBAAmB,CAAC;AAE3B,gDAAgD;AAChD,OAAO,EACL,aAAa,EACb,eAAe,GAMhB,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAMrB,MAAM,0BAA0B,CAAC;AAElC,0DAA0D;AAC1D,cAAc,YAAY,CAAC"}
|