@nielspeter/eess-ts 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -34
- package/dist/builders/call-rule-builder.d.ts +66 -26
- package/dist/builders/call-rule-builder.d.ts.map +1 -1
- package/dist/builders/call-rule-builder.js +73 -31
- package/dist/builders/call-rule-builder.js.map +1 -1
- package/dist/builders/class-rule-builder.d.ts +125 -26
- package/dist/builders/class-rule-builder.d.ts.map +1 -1
- package/dist/builders/class-rule-builder.js +134 -30
- package/dist/builders/class-rule-builder.js.map +1 -1
- package/dist/builders/correspondence-builder.d.ts +287 -0
- package/dist/builders/correspondence-builder.d.ts.map +1 -0
- package/dist/builders/correspondence-builder.js +393 -0
- package/dist/builders/correspondence-builder.js.map +1 -0
- package/dist/builders/correspondence-findings.d.ts +104 -0
- package/dist/builders/correspondence-findings.d.ts.map +1 -0
- package/dist/builders/correspondence-findings.js +301 -0
- package/dist/builders/correspondence-findings.js.map +1 -0
- package/dist/builders/cross-layer-builder.d.ts +99 -16
- package/dist/builders/cross-layer-builder.d.ts.map +1 -1
- package/dist/builders/cross-layer-builder.js +181 -35
- package/dist/builders/cross-layer-builder.js.map +1 -1
- package/dist/builders/function-rule-builder.d.ts +144 -25
- package/dist/builders/function-rule-builder.d.ts.map +1 -1
- package/dist/builders/function-rule-builder.js +173 -26
- package/dist/builders/function-rule-builder.js.map +1 -1
- package/dist/builders/jsx-rule-builder.d.ts +70 -14
- package/dist/builders/jsx-rule-builder.d.ts.map +1 -1
- package/dist/builders/jsx-rule-builder.js +73 -14
- package/dist/builders/jsx-rule-builder.js.map +1 -1
- package/dist/builders/module-rule-builder.d.ts +2 -2
- package/dist/builders/module-rule-builder.d.ts.map +1 -1
- package/dist/builders/module-rule-builder.js +12 -3
- package/dist/builders/module-rule-builder.js.map +1 -1
- package/dist/builders/scoped-function-rule-builder.d.ts +11 -0
- package/dist/builders/scoped-function-rule-builder.d.ts.map +1 -1
- package/dist/builders/scoped-function-rule-builder.js +12 -0
- package/dist/builders/scoped-function-rule-builder.js.map +1 -1
- package/dist/builders/slice-discovery-message.d.ts +36 -0
- package/dist/builders/slice-discovery-message.d.ts.map +1 -0
- package/dist/builders/slice-discovery-message.js +181 -0
- package/dist/builders/slice-discovery-message.js.map +1 -0
- package/dist/builders/slice-rule-builder.d.ts +151 -12
- package/dist/builders/slice-rule-builder.d.ts.map +1 -1
- package/dist/builders/slice-rule-builder.js +242 -35
- package/dist/builders/slice-rule-builder.js.map +1 -1
- package/dist/builders/type-rule-builder.d.ts +95 -24
- package/dist/builders/type-rule-builder.d.ts.map +1 -1
- package/dist/builders/type-rule-builder.js +105 -29
- package/dist/builders/type-rule-builder.js.map +1 -1
- package/dist/{helpers → builders}/within.d.ts +2 -2
- package/dist/builders/within.d.ts.map +1 -0
- package/dist/{helpers → builders}/within.js +1 -1
- package/dist/builders/within.js.map +1 -0
- package/dist/cli/commands/baseline.d.ts +3 -2
- package/dist/cli/commands/baseline.d.ts.map +1 -1
- package/dist/cli/commands/baseline.js +68 -6
- package/dist/cli/commands/baseline.js.map +1 -1
- package/dist/cli/commands/check.d.ts +7 -2
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +241 -45
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +29 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +224 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/explain.d.ts +2 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +19 -10
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/init.d.ts +9 -3
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +162 -137
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/import-rule-module.d.ts +29 -0
- package/dist/cli/import-rule-module.d.ts.map +1 -0
- package/dist/cli/import-rule-module.js +60 -0
- package/dist/cli/import-rule-module.js.map +1 -0
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +98 -33
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/load-rules.d.ts +6 -11
- package/dist/cli/load-rules.d.ts.map +1 -1
- package/dist/cli/load-rules.js +21 -29
- package/dist/cli/load-rules.js.map +1 -1
- package/dist/cli/resolve-config.d.ts.map +1 -1
- package/dist/cli/resolve-config.js +24 -14
- package/dist/cli/resolve-config.js.map +1 -1
- package/dist/cli/rule-file-findings.d.ts +178 -0
- package/dist/cli/rule-file-findings.d.ts.map +1 -0
- package/dist/cli/rule-file-findings.js +293 -0
- package/dist/cli/rule-file-findings.js.map +1 -0
- package/dist/cli/watch.d.ts +20 -7
- package/dist/cli/watch.d.ts.map +1 -1
- package/dist/cli/watch.js +39 -14
- package/dist/cli/watch.js.map +1 -1
- package/dist/conditions/body-analysis-function.d.ts.map +1 -1
- package/dist/conditions/body-analysis-function.js +16 -7
- package/dist/conditions/body-analysis-function.js.map +1 -1
- package/dist/conditions/body-analysis-module.d.ts.map +1 -1
- package/dist/conditions/body-analysis-module.js +14 -9
- package/dist/conditions/body-analysis-module.js.map +1 -1
- package/dist/conditions/body-analysis.d.ts.map +1 -1
- package/dist/conditions/body-analysis.js +16 -7
- package/dist/conditions/body-analysis.js.map +1 -1
- package/dist/conditions/call.d.ts.map +1 -1
- package/dist/conditions/call.js +38 -17
- package/dist/conditions/call.js.map +1 -1
- package/dist/conditions/catch-analysis.d.ts +2 -1
- package/dist/conditions/catch-analysis.d.ts.map +1 -1
- package/dist/conditions/catch-analysis.js.map +1 -1
- package/dist/conditions/cross-layer.d.ts +2 -10
- package/dist/conditions/cross-layer.d.ts.map +1 -1
- package/dist/conditions/cross-layer.js +227 -23
- package/dist/conditions/cross-layer.js.map +1 -1
- package/dist/conditions/dependency.d.ts +35 -6
- package/dist/conditions/dependency.d.ts.map +1 -1
- package/dist/conditions/dependency.js +299 -45
- package/dist/conditions/dependency.js.map +1 -1
- package/dist/conditions/exports.d.ts.map +1 -1
- package/dist/conditions/exports.js +10 -0
- package/dist/conditions/exports.js.map +1 -1
- package/dist/conditions/function.d.ts.map +1 -1
- package/dist/conditions/function.js +19 -5
- package/dist/conditions/function.js.map +1 -1
- package/dist/conditions/helpers.d.ts +2 -1
- package/dist/conditions/helpers.d.ts.map +1 -1
- package/dist/conditions/helpers.js +4 -1
- package/dist/conditions/helpers.js.map +1 -1
- package/dist/conditions/jsx.d.ts.map +1 -1
- package/dist/conditions/jsx.js +7 -2
- package/dist/conditions/jsx.js.map +1 -1
- package/dist/conditions/match-identity.d.ts +43 -0
- package/dist/conditions/match-identity.d.ts.map +1 -0
- package/dist/conditions/match-identity.js +43 -0
- package/dist/conditions/match-identity.js.map +1 -0
- package/dist/conditions/members.d.ts.map +1 -1
- package/dist/conditions/members.js +17 -4
- package/dist/conditions/members.js.map +1 -1
- package/dist/conditions/reverse-dependency.d.ts +18 -5
- package/dist/conditions/reverse-dependency.d.ts.map +1 -1
- package/dist/conditions/reverse-dependency.js +109 -92
- package/dist/conditions/reverse-dependency.js.map +1 -1
- package/dist/conditions/slice.d.ts +86 -2
- package/dist/conditions/slice.d.ts.map +1 -1
- package/dist/conditions/slice.js +234 -53
- package/dist/conditions/slice.js.map +1 -1
- package/dist/conditions/structural.d.ts.map +1 -1
- package/dist/conditions/structural.js +16 -4
- package/dist/conditions/structural.js.map +1 -1
- package/dist/core/check-all.d.ts +19 -0
- package/dist/core/check-all.d.ts.map +1 -0
- package/dist/core/check-all.js +96 -0
- package/dist/core/check-all.js.map +1 -0
- package/dist/core/combinators.d.ts +48 -0
- package/dist/core/combinators.d.ts.map +1 -0
- package/dist/core/combinators.js +56 -0
- package/dist/core/combinators.js.map +1 -0
- package/dist/core/descendant-cache.d.ts +36 -0
- package/dist/core/descendant-cache.d.ts.map +1 -0
- package/dist/core/descendant-cache.js +119 -0
- package/dist/core/descendant-cache.js.map +1 -0
- package/dist/core/diagnose.d.ts +234 -0
- package/dist/core/diagnose.d.ts.map +1 -0
- package/dist/core/diagnose.js +382 -0
- package/dist/core/diagnose.js.map +1 -0
- package/dist/core/disk-set.d.ts +48 -0
- package/dist/core/disk-set.d.ts.map +1 -0
- package/dist/core/disk-set.js +218 -0
- package/dist/core/disk-set.js.map +1 -0
- package/dist/core/element-cache.d.ts +75 -0
- package/dist/core/element-cache.d.ts.map +1 -0
- package/dist/core/element-cache.js +32 -0
- package/dist/core/element-cache.js.map +1 -0
- package/dist/core/empty-project-advice.d.ts +75 -0
- package/dist/core/empty-project-advice.d.ts.map +1 -0
- package/dist/core/empty-project-advice.js +61 -0
- package/dist/core/empty-project-advice.js.map +1 -0
- package/dist/core/exclusion-comments.d.ts +54 -0
- package/dist/core/exclusion-comments.d.ts.map +1 -0
- package/dist/core/exclusion-comments.js +310 -0
- package/dist/core/exclusion-comments.js.map +1 -0
- package/dist/core/execute-rule.d.ts +150 -0
- package/dist/core/execute-rule.d.ts.map +1 -0
- package/dist/core/execute-rule.js +580 -0
- package/dist/core/execute-rule.js.map +1 -0
- package/dist/core/glob-diagnosis.d.ts +78 -0
- package/dist/core/glob-diagnosis.d.ts.map +1 -0
- package/dist/core/glob-diagnosis.js +134 -0
- package/dist/core/glob-diagnosis.js.map +1 -0
- package/dist/core/glob-evaluator.d.ts +48 -0
- package/dist/core/glob-evaluator.d.ts.map +1 -0
- package/dist/core/glob-evaluator.js +89 -0
- package/dist/core/glob-evaluator.js.map +1 -0
- package/dist/core/import-candidates.d.ts +60 -0
- package/dist/core/import-candidates.d.ts.map +1 -0
- package/dist/core/import-candidates.js +93 -0
- package/dist/core/import-candidates.js.map +1 -0
- package/dist/core/import-options.d.ts +55 -2
- package/dist/core/import-options.d.ts.map +1 -1
- package/dist/core/import-options.js +64 -0
- package/dist/core/import-options.js.map +1 -1
- package/dist/core/line-index.d.ts +3 -0
- package/dist/core/line-index.d.ts.map +1 -0
- package/dist/core/line-index.js +229 -0
- package/dist/core/line-index.js.map +1 -0
- package/dist/core/metric-violation.d.ts +86 -0
- package/dist/core/metric-violation.d.ts.map +1 -0
- package/dist/core/metric-violation.js +132 -0
- package/dist/core/metric-violation.js.map +1 -0
- package/dist/core/module-edges.d.ts +361 -0
- package/dist/core/module-edges.d.ts.map +1 -0
- package/dist/core/module-edges.js +592 -0
- package/dist/core/module-edges.js.map +1 -0
- package/dist/core/object-literal-functions.d.ts +42 -0
- package/dist/core/object-literal-functions.d.ts.map +1 -0
- package/dist/core/object-literal-functions.js +75 -0
- package/dist/core/object-literal-functions.js.map +1 -0
- package/dist/core/orphan-exclusions.d.ts +44 -0
- package/dist/core/orphan-exclusions.d.ts.map +1 -0
- package/dist/core/orphan-exclusions.js +214 -0
- package/dist/core/orphan-exclusions.js.map +1 -0
- package/dist/core/pair-condition.d.ts +32 -3
- package/dist/core/pair-condition.d.ts.map +1 -1
- package/dist/core/path-universe.d.ts +54 -0
- package/dist/core/path-universe.d.ts.map +1 -0
- package/dist/core/path-universe.js +65 -0
- package/dist/core/path-universe.js.map +1 -0
- package/dist/core/per-root-compiler-options.d.ts +20 -0
- package/dist/core/per-root-compiler-options.d.ts.map +1 -0
- package/dist/core/per-root-compiler-options.js +57 -0
- package/dist/core/per-root-compiler-options.js.map +1 -0
- package/dist/core/project-relative.d.ts +98 -0
- package/dist/core/project-relative.d.ts.map +1 -0
- package/dist/core/project-relative.js +185 -0
- package/dist/core/project-relative.js.map +1 -0
- package/dist/core/project.d.ts +7 -1
- package/dist/core/project.d.ts.map +1 -1
- package/dist/core/project.js +24 -0
- package/dist/core/project.js.map +1 -1
- package/dist/core/rule-builder.d.ts +282 -0
- package/dist/core/rule-builder.d.ts.map +1 -0
- package/dist/core/rule-builder.js +445 -0
- package/dist/core/rule-builder.js.map +1 -0
- package/dist/core/rule-declaration.d.ts +32 -0
- package/dist/core/rule-declaration.d.ts.map +1 -0
- package/dist/core/rule-declaration.js +126 -0
- package/dist/core/rule-declaration.js.map +1 -0
- package/dist/core/terminal-builder.d.ts +625 -0
- package/dist/core/terminal-builder.d.ts.map +1 -0
- package/dist/core/terminal-builder.js +787 -0
- package/dist/core/terminal-builder.js.map +1 -0
- package/dist/core/terminal-execution.d.ts +23 -0
- package/dist/core/terminal-execution.d.ts.map +1 -0
- package/dist/core/terminal-execution.js +71 -0
- package/dist/core/terminal-execution.js.map +1 -0
- package/dist/core/vacuity-diagnosis.d.ts +103 -0
- package/dist/core/vacuity-diagnosis.d.ts.map +1 -0
- package/dist/core/vacuity-diagnosis.js +415 -0
- package/dist/core/vacuity-diagnosis.js.map +1 -0
- package/dist/core/violation.d.ts +16 -11
- package/dist/core/violation.d.ts.map +1 -1
- package/dist/core/violation.js +33 -13
- package/dist/core/violation.js.map +1 -1
- package/dist/graphql/index.js +1 -1
- package/dist/graphql/index.js.map +1 -1
- package/dist/graphql/resolver-rule-builder.d.ts +98 -23
- package/dist/graphql/resolver-rule-builder.d.ts.map +1 -1
- package/dist/graphql/resolver-rule-builder.js +151 -21
- package/dist/graphql/resolver-rule-builder.js.map +1 -1
- package/dist/graphql/schema-loader.d.ts +21 -0
- package/dist/graphql/schema-loader.d.ts.map +1 -1
- package/dist/graphql/schema-loader.js +81 -12
- package/dist/graphql/schema-loader.js.map +1 -1
- package/dist/graphql/schema-rule-builder.d.ts +57 -20
- package/dist/graphql/schema-rule-builder.d.ts.map +1 -1
- package/dist/graphql/schema-rule-builder.js +101 -25
- package/dist/graphql/schema-rule-builder.js.map +1 -1
- package/dist/helpers/baseline-diagnostics.d.ts +45 -0
- package/dist/helpers/baseline-diagnostics.d.ts.map +1 -0
- package/dist/helpers/baseline-diagnostics.js +168 -0
- package/dist/helpers/baseline-diagnostics.js.map +1 -0
- package/dist/helpers/baseline-generator.d.ts +19 -0
- package/dist/helpers/baseline-generator.d.ts.map +1 -0
- package/dist/helpers/baseline-generator.js +18 -0
- package/dist/helpers/baseline-generator.js.map +1 -0
- package/dist/helpers/baseline.d.ts +336 -0
- package/dist/helpers/baseline.d.ts.map +1 -0
- package/dist/helpers/baseline.js +664 -0
- package/dist/helpers/baseline.js.map +1 -0
- package/dist/helpers/body-traversal.d.ts +27 -2
- package/dist/helpers/body-traversal.d.ts.map +1 -1
- package/dist/helpers/body-traversal.js +122 -16
- package/dist/helpers/body-traversal.js.map +1 -1
- package/dist/helpers/callback-extractor.d.ts.map +1 -1
- package/dist/helpers/callback-extractor.js +48 -47
- package/dist/helpers/callback-extractor.js.map +1 -1
- package/dist/helpers/complexity.d.ts +13 -5
- package/dist/helpers/complexity.d.ts.map +1 -1
- package/dist/helpers/complexity.js +15 -6
- package/dist/helpers/complexity.js.map +1 -1
- package/dist/helpers/diff-aware.d.ts +44 -0
- package/dist/helpers/diff-aware.d.ts.map +1 -0
- package/dist/helpers/diff-aware.js +84 -0
- package/dist/helpers/diff-aware.js.map +1 -0
- package/dist/helpers/matchers.d.ts +68 -7
- package/dist/helpers/matchers.d.ts.map +1 -1
- package/dist/helpers/matchers.js +114 -20
- package/dist/helpers/matchers.js.map +1 -1
- package/dist/helpers/slice-graph.d.ts +100 -8
- package/dist/helpers/slice-graph.d.ts.map +1 -1
- package/dist/helpers/slice-graph.js +126 -34
- package/dist/helpers/slice-graph.js.map +1 -1
- package/dist/helpers/tarjan.d.ts +0 -14
- package/dist/helpers/tarjan.d.ts.map +1 -1
- package/dist/helpers/tarjan.js +29 -16
- package/dist/helpers/tarjan.js.map +1 -1
- package/dist/index.d.ts +56 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -13
- package/dist/index.js.map +1 -1
- package/dist/models/arch-call.d.ts +3 -2
- package/dist/models/arch-call.d.ts.map +1 -1
- package/dist/models/arch-call.js.map +1 -1
- package/dist/models/arch-function.d.ts +28 -6
- package/dist/models/arch-function.d.ts.map +1 -1
- package/dist/models/arch-function.js +106 -3
- package/dist/models/arch-function.js.map +1 -1
- package/dist/models/arch-jsx-element.js +2 -2
- package/dist/models/arch-jsx-element.js.map +1 -1
- package/dist/models/slice.d.ts +33 -9
- package/dist/models/slice.d.ts.map +1 -1
- package/dist/models/slice.js +129 -19
- package/dist/models/slice.js.map +1 -1
- package/dist/predicates/call.d.ts.map +1 -1
- package/dist/predicates/call.js +5 -0
- package/dist/predicates/call.js.map +1 -1
- package/dist/predicates/identity.d.ts +21 -0
- package/dist/predicates/identity.d.ts.map +1 -1
- package/dist/predicates/identity.js +75 -3
- package/dist/predicates/identity.js.map +1 -1
- package/dist/predicates/index.d.ts +1 -1
- package/dist/predicates/index.d.ts.map +1 -1
- package/dist/predicates/index.js +1 -1
- package/dist/predicates/index.js.map +1 -1
- package/dist/predicates/metrics.d.ts +4 -2
- package/dist/predicates/metrics.d.ts.map +1 -1
- package/dist/predicates/metrics.js +4 -2
- package/dist/predicates/metrics.js.map +1 -1
- package/dist/predicates/module.d.ts +4 -12
- package/dist/predicates/module.d.ts.map +1 -1
- package/dist/predicates/module.js +57 -37
- package/dist/predicates/module.js.map +1 -1
- package/dist/presets/agent-guardrails.d.ts +22 -15
- package/dist/presets/agent-guardrails.d.ts.map +1 -1
- package/dist/presets/agent-guardrails.js +124 -19
- package/dist/presets/agent-guardrails.js.map +1 -1
- package/dist/presets/boundaries.d.ts +45 -2
- package/dist/presets/boundaries.d.ts.map +1 -1
- package/dist/presets/boundaries.js +132 -23
- package/dist/presets/boundaries.js.map +1 -1
- package/dist/presets/data-layer.d.ts +22 -2
- package/dist/presets/data-layer.d.ts.map +1 -1
- package/dist/presets/data-layer.js +58 -16
- package/dist/presets/data-layer.js.map +1 -1
- package/dist/presets/index.d.ts +7 -5
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +9 -3
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/layered.d.ts +46 -2
- package/dist/presets/layered.d.ts.map +1 -1
- package/dist/presets/layered.js +66 -29
- package/dist/presets/layered.js.map +1 -1
- package/dist/presets/recommended.d.ts +80 -9
- package/dist/presets/recommended.d.ts.map +1 -1
- package/dist/presets/recommended.js +25 -23
- package/dist/presets/recommended.js.map +1 -1
- package/dist/presets/shared.d.ts +270 -2
- package/dist/presets/shared.d.ts.map +1 -1
- package/dist/presets/shared.js +338 -4
- package/dist/presets/shared.js.map +1 -1
- package/dist/rules/code-quality.d.ts.map +1 -1
- package/dist/rules/code-quality.js +15 -6
- package/dist/rules/code-quality.js.map +1 -1
- package/dist/rules/hygiene.d.ts +1 -1
- package/dist/rules/hygiene.js +1 -1
- package/dist/rules/metrics-function.d.ts +2 -1
- package/dist/rules/metrics-function.d.ts.map +1 -1
- package/dist/rules/metrics-function.js +33 -6
- package/dist/rules/metrics-function.js.map +1 -1
- package/dist/rules/metrics.d.ts +2 -1
- package/dist/rules/metrics.d.ts.map +1 -1
- package/dist/rules/metrics.js +39 -9
- package/dist/rules/metrics.js.map +1 -1
- package/dist/smells/duplicate-bodies.d.ts +58 -5
- package/dist/smells/duplicate-bodies.d.ts.map +1 -1
- package/dist/smells/duplicate-bodies.js +137 -56
- package/dist/smells/duplicate-bodies.js.map +1 -1
- package/dist/smells/fingerprint.d.ts +8 -1
- package/dist/smells/fingerprint.d.ts.map +1 -1
- package/dist/smells/fingerprint.js +21 -3
- package/dist/smells/fingerprint.js.map +1 -1
- package/dist/smells/inconsistent-siblings.d.ts +128 -7
- package/dist/smells/inconsistent-siblings.d.ts.map +1 -1
- package/dist/smells/inconsistent-siblings.js +288 -86
- package/dist/smells/inconsistent-siblings.js.map +1 -1
- package/dist/smells/sibling-files.d.ts +47 -0
- package/dist/smells/sibling-files.d.ts.map +1 -0
- package/dist/smells/sibling-files.js +104 -0
- package/dist/smells/sibling-files.js.map +1 -0
- package/dist/smells/similar-pairs.d.ts +27 -0
- package/dist/smells/similar-pairs.d.ts.map +1 -0
- package/dist/smells/similar-pairs.js +52 -0
- package/dist/smells/similar-pairs.js.map +1 -0
- package/dist/smells/smell-builder.d.ts +57 -12
- package/dist/smells/smell-builder.d.ts.map +1 -1
- package/dist/smells/smell-builder.js +111 -14
- package/dist/smells/smell-builder.js.map +1 -1
- package/dist/tsconfig/index.d.ts +19 -0
- package/dist/tsconfig/index.d.ts.map +1 -0
- package/dist/tsconfig/index.js +20 -0
- package/dist/tsconfig/index.js.map +1 -0
- package/dist/tsconfig/tsconfig-builder.d.ts +42 -9
- package/dist/tsconfig/tsconfig-builder.d.ts.map +1 -1
- package/dist/tsconfig/tsconfig-builder.js +64 -16
- package/dist/tsconfig/tsconfig-builder.js.map +1 -1
- package/package.json +3 -2
- package/dist/core/module-dependencies.d.ts +0 -28
- package/dist/core/module-dependencies.d.ts.map +0 -1
- package/dist/core/module-dependencies.js +0 -35
- package/dist/core/module-dependencies.js.map +0 -1
- package/dist/helpers/within.d.ts.map +0 -1
- package/dist/helpers/within.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClassDeclaration } from 'ts-morph';
|
|
2
|
-
import { RuleBuilder } from '
|
|
2
|
+
import { RuleBuilder } from '../core/rule-builder.js';
|
|
3
3
|
import type { ArchProject } from '../core/project.js';
|
|
4
4
|
import type { ExpressionMatcher } from '../helpers/matchers.js';
|
|
5
5
|
import type { TypeMatcher } from '../helpers/type-matchers.js';
|
|
@@ -10,7 +10,7 @@ import type { TypeMatcher } from '../helpers/type-matchers.js';
|
|
|
10
10
|
* predicates and conditions alongside the identity predicates and
|
|
11
11
|
* structural conditions from the foundation plans.
|
|
12
12
|
*/
|
|
13
|
-
export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration
|
|
13
|
+
export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration> {
|
|
14
14
|
constructor(project: ArchProject);
|
|
15
15
|
protected getElements(): ClassDeclaration[];
|
|
16
16
|
/**
|
|
@@ -18,9 +18,23 @@ export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration, Arch
|
|
|
18
18
|
* After `.should()`: assert matched classes have names matching the pattern.
|
|
19
19
|
*/
|
|
20
20
|
haveNameMatching(pattern: RegExp | string): this;
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Narrows the selection to classes that have a name starting with `prefix`.
|
|
23
|
+
*
|
|
24
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
25
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
26
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
27
|
+
* rule pass having asserted nothing.
|
|
28
|
+
*/
|
|
22
29
|
haveNameStartingWith(prefix: string): this;
|
|
23
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Narrows the selection to classes that have a name ending with `suffix`.
|
|
32
|
+
*
|
|
33
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
34
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
35
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
36
|
+
* rule pass having asserted nothing.
|
|
37
|
+
*/
|
|
24
38
|
haveNameEndingWith(suffix: string): this;
|
|
25
39
|
/**
|
|
26
40
|
* After `.that()`: filter classes that reside in a file matching the glob.
|
|
@@ -32,9 +46,23 @@ export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration, Arch
|
|
|
32
46
|
* After `.should()`: assert matched classes reside in a folder matching the glob.
|
|
33
47
|
*/
|
|
34
48
|
resideInFolder(glob: string): this;
|
|
35
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Narrows the selection to classes that are exported.
|
|
51
|
+
*
|
|
52
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
53
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
54
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
55
|
+
* rule pass having asserted nothing.
|
|
56
|
+
*/
|
|
36
57
|
areExported(): this;
|
|
37
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Narrows the selection to classes that are not exported.
|
|
60
|
+
*
|
|
61
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
62
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
63
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
64
|
+
* rule pass having asserted nothing.
|
|
65
|
+
*/
|
|
38
66
|
areNotExported(): this;
|
|
39
67
|
/**
|
|
40
68
|
* After `.that()`: filter classes that extend the given class.
|
|
@@ -46,28 +74,71 @@ export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration, Arch
|
|
|
46
74
|
* After `.should()`: assert matched classes implement the given interface.
|
|
47
75
|
*/
|
|
48
76
|
implement(interfaceName: string): this;
|
|
49
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Narrows the selection to classes that have a decorator `name`.
|
|
79
|
+
*
|
|
80
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
81
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
82
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
83
|
+
* rule pass having asserted nothing.
|
|
84
|
+
*/
|
|
50
85
|
haveDecorator(name: string): this;
|
|
51
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Narrows the selection to classes that have a decorator matching `regex`.
|
|
88
|
+
*
|
|
89
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
90
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
91
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
92
|
+
* rule pass having asserted nothing.
|
|
93
|
+
*/
|
|
52
94
|
haveDecoratorMatching(regex: RegExp): this;
|
|
53
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Narrows the selection to classes that are abstract.
|
|
97
|
+
*
|
|
98
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
99
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
100
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
101
|
+
* rule pass having asserted nothing.
|
|
102
|
+
*/
|
|
54
103
|
areAbstract(): this;
|
|
55
104
|
/**
|
|
56
105
|
* After `.that()`: filter classes that have a method with the given name.
|
|
57
106
|
* After `.should()`: assert matched classes have a method with the given name.
|
|
58
107
|
*/
|
|
59
108
|
haveMethodNamed(name: string): this;
|
|
60
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Narrows the selection to classes that have a method matching `regex`.
|
|
111
|
+
*
|
|
112
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
113
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
114
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
115
|
+
* rule pass having asserted nothing.
|
|
116
|
+
*/
|
|
61
117
|
haveMethodMatching(regex: RegExp): this;
|
|
62
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* Narrows the selection to classes that have a property named `name`.
|
|
120
|
+
*
|
|
121
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
122
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
123
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
124
|
+
* rule pass having asserted nothing.
|
|
125
|
+
*/
|
|
63
126
|
havePropertyNamed(name: string): this;
|
|
64
127
|
/** @deprecated Use `resideInFile()` after `.should()` instead. */
|
|
65
128
|
shouldResideInFile(glob: string): this;
|
|
66
129
|
/** @deprecated Use `resideInFolder()` after `.should()` instead. */
|
|
67
130
|
shouldResideInFolder(glob: string): this;
|
|
68
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Asserts that the selected classes are exported.
|
|
133
|
+
*
|
|
134
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
135
|
+
*/
|
|
69
136
|
beExported(): this;
|
|
70
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* Asserts that the selected classes do not exist.
|
|
139
|
+
*
|
|
140
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
141
|
+
*/
|
|
71
142
|
notExist(): this;
|
|
72
143
|
/** @deprecated Use `haveNameMatching()` after `.should()` instead. */
|
|
73
144
|
conditionHaveNameMatching(pattern: RegExp): this;
|
|
@@ -77,30 +148,58 @@ export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration, Arch
|
|
|
77
148
|
shouldImplement(interfaceName: string): this;
|
|
78
149
|
/** @deprecated Use `haveMethodNamed()` after `.should()` instead. */
|
|
79
150
|
shouldHaveMethodNamed(name: string): this;
|
|
80
|
-
/**
|
|
151
|
+
/**
|
|
152
|
+
* Asserts that the selected classes do not have a method matching `regex`.
|
|
153
|
+
*
|
|
154
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
155
|
+
*/
|
|
81
156
|
shouldNotHaveMethodMatching(regex: RegExp): this;
|
|
82
|
-
/**
|
|
157
|
+
/**
|
|
158
|
+
* Asserts that the selected classes have a property named by each of `names`.
|
|
159
|
+
*
|
|
160
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
161
|
+
*/
|
|
83
162
|
shouldHavePropertyNamed(...names: string[]): this;
|
|
84
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Asserts that the selected classes do not have a property named by any of `names`.
|
|
165
|
+
*
|
|
166
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
167
|
+
*/
|
|
85
168
|
shouldNotHavePropertyNamed(...names: string[]): this;
|
|
86
|
-
/**
|
|
169
|
+
/**
|
|
170
|
+
* Asserts that the selected classes have a property matching `pattern`.
|
|
171
|
+
*
|
|
172
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
173
|
+
*/
|
|
87
174
|
havePropertyMatching(pattern: RegExp): this;
|
|
88
|
-
/**
|
|
175
|
+
/**
|
|
176
|
+
* Asserts that the selected classes do not have a property matching `pattern`.
|
|
177
|
+
*
|
|
178
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
179
|
+
*/
|
|
89
180
|
notHavePropertyMatching(pattern: RegExp): this;
|
|
90
|
-
/**
|
|
181
|
+
/**
|
|
182
|
+
* Asserts that the selected classes have only readonly properties.
|
|
183
|
+
*
|
|
184
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
185
|
+
*/
|
|
91
186
|
haveOnlyReadonlyProperties(): this;
|
|
92
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* Asserts that the selected classes have at most `max` properties.
|
|
189
|
+
*
|
|
190
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
191
|
+
*/
|
|
93
192
|
maxProperties(max: number): this;
|
|
94
193
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
194
|
+
* Asserts that the selected classes accept a parameter of a type matching `matcher`.
|
|
195
|
+
*
|
|
196
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
98
197
|
*/
|
|
99
198
|
acceptParameterOfType(matcher: TypeMatcher): this;
|
|
100
199
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
200
|
+
* Asserts that the selected classes do not accept a parameter of a type matching `matcher`.
|
|
201
|
+
*
|
|
202
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
104
203
|
*/
|
|
105
204
|
notAcceptParameterOfType(matcher: TypeMatcher): this;
|
|
106
205
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"class-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuleBuilder } from '
|
|
1
|
+
import { RuleBuilder } from '../core/rule-builder.js';
|
|
2
2
|
import { classContain, classNotContain, classUseInsteadOf, classNotHaveEmptyBody, } from '../conditions/body-analysis.js';
|
|
3
3
|
// Identity predicates (plan 0003)
|
|
4
4
|
import { haveNameMatching as identityHaveNameMatching, haveNameStartingWith as identityHaveNameStartingWith, haveNameEndingWith as identityHaveNameEndingWith, resideInFile as predicateResideInFile, resideInFolder as predicateResideInFolder, areExported as identityAreExported, areNotExported as identityAreNotExported, } from '../predicates/identity.js';
|
|
@@ -6,10 +6,13 @@ import { haveNameMatching as identityHaveNameMatching, haveNameStartingWith as i
|
|
|
6
6
|
import { extend as predicateExtend, implement as predicateImplement, haveDecorator as predicateHaveDecorator, haveDecoratorMatching as predicateHaveDecoratorMatching, areAbstract as predicateAreAbstract, haveMethodNamed as predicateHaveMethodNamed, haveMethodMatching as predicateHaveMethodMatching, havePropertyNamed as predicateHavePropertyNamed, } from '../predicates/class.js';
|
|
7
7
|
// Structural conditions (plan 0004)
|
|
8
8
|
import { resideInFile as conditionResideInFile, resideInFolder as conditionResideInFolder, haveNameMatching as conditionHaveNameMatching, beExported as conditionBeExported, notExist as conditionNotExist, } from '../conditions/structural.js';
|
|
9
|
+
import { createElementCache, SOLE_POPULATION } from '../core/element-cache.js';
|
|
9
10
|
// Class-specific conditions (this plan)
|
|
10
11
|
import { shouldExtend as conditionExtend, shouldImplement as conditionImplement, shouldHaveMethodNamed as conditionHaveMethodNamed, shouldNotHaveMethodMatching as conditionNotHaveMethodMatching, acceptParameterOfType as conditionAcceptParameterOfType, notAcceptParameterOfType as conditionNotAcceptParameterOfType, } from '../conditions/class.js';
|
|
11
12
|
// Member property conditions (plan 0030)
|
|
12
13
|
import { havePropertyNamed as memberHavePropertyNamed, notHavePropertyNamed as memberNotHavePropertyNamed, havePropertyMatching as memberHavePropertyMatching, notHavePropertyMatching as memberNotHavePropertyMatching, haveOnlyReadonlyProperties as memberHaveOnlyReadonlyProperties, maxProperties as memberMaxProperties, } from '../conditions/members.js';
|
|
14
|
+
/** One collection per project, shared by every rule built from it (plan 0075). */
|
|
15
|
+
const cache = createElementCache();
|
|
13
16
|
/**
|
|
14
17
|
* Rule builder for ClassDeclaration elements.
|
|
15
18
|
*
|
|
@@ -22,11 +25,13 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
22
25
|
super(project);
|
|
23
26
|
}
|
|
24
27
|
getElements() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
return cache.get(this.project, SOLE_POPULATION, () => {
|
|
29
|
+
const classes = [];
|
|
30
|
+
for (const sourceFile of this.project.getSourceFiles()) {
|
|
31
|
+
classes.push(...sourceFile.getClasses());
|
|
32
|
+
}
|
|
33
|
+
return classes;
|
|
34
|
+
});
|
|
30
35
|
}
|
|
31
36
|
// --- Identity predicate methods (plan 0003) ---
|
|
32
37
|
/**
|
|
@@ -40,11 +45,25 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
40
45
|
}
|
|
41
46
|
return this.addPredicate(identityHaveNameMatching(pattern));
|
|
42
47
|
}
|
|
43
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Narrows the selection to classes that have a name starting with `prefix`.
|
|
50
|
+
*
|
|
51
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
52
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
53
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
54
|
+
* rule pass having asserted nothing.
|
|
55
|
+
*/
|
|
44
56
|
haveNameStartingWith(prefix) {
|
|
45
57
|
return this.addPredicate(identityHaveNameStartingWith(prefix));
|
|
46
58
|
}
|
|
47
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Narrows the selection to classes that have a name ending with `suffix`.
|
|
61
|
+
*
|
|
62
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
63
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
64
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
65
|
+
* rule pass having asserted nothing.
|
|
66
|
+
*/
|
|
48
67
|
haveNameEndingWith(suffix) {
|
|
49
68
|
return this.addPredicate(identityHaveNameEndingWith(suffix));
|
|
50
69
|
}
|
|
@@ -68,11 +87,25 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
68
87
|
}
|
|
69
88
|
return this.addPredicate(predicateResideInFolder(glob));
|
|
70
89
|
}
|
|
71
|
-
/**
|
|
90
|
+
/**
|
|
91
|
+
* Narrows the selection to classes that are exported.
|
|
92
|
+
*
|
|
93
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
94
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
95
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
96
|
+
* rule pass having asserted nothing.
|
|
97
|
+
*/
|
|
72
98
|
areExported() {
|
|
73
99
|
return this.addPredicate(identityAreExported());
|
|
74
100
|
}
|
|
75
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Narrows the selection to classes that are not exported.
|
|
103
|
+
*
|
|
104
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
105
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
106
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
107
|
+
* rule pass having asserted nothing.
|
|
108
|
+
*/
|
|
76
109
|
areNotExported() {
|
|
77
110
|
return this.addPredicate(identityAreNotExported());
|
|
78
111
|
}
|
|
@@ -97,15 +130,36 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
97
130
|
}
|
|
98
131
|
return this.addPredicate(predicateImplement(interfaceName));
|
|
99
132
|
}
|
|
100
|
-
/**
|
|
133
|
+
/**
|
|
134
|
+
* Narrows the selection to classes that have a decorator `name`.
|
|
135
|
+
*
|
|
136
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
137
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
138
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
139
|
+
* rule pass having asserted nothing.
|
|
140
|
+
*/
|
|
101
141
|
haveDecorator(name) {
|
|
102
142
|
return this.addPredicate(predicateHaveDecorator(name));
|
|
103
143
|
}
|
|
104
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* Narrows the selection to classes that have a decorator matching `regex`.
|
|
146
|
+
*
|
|
147
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
148
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
149
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
150
|
+
* rule pass having asserted nothing.
|
|
151
|
+
*/
|
|
105
152
|
haveDecoratorMatching(regex) {
|
|
106
153
|
return this.addPredicate(predicateHaveDecoratorMatching(regex));
|
|
107
154
|
}
|
|
108
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Narrows the selection to classes that are abstract.
|
|
157
|
+
*
|
|
158
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
159
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
160
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
161
|
+
* rule pass having asserted nothing.
|
|
162
|
+
*/
|
|
109
163
|
areAbstract() {
|
|
110
164
|
return this.addPredicate(predicateAreAbstract());
|
|
111
165
|
}
|
|
@@ -119,11 +173,25 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
119
173
|
}
|
|
120
174
|
return this.addPredicate(predicateHaveMethodNamed(name));
|
|
121
175
|
}
|
|
122
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* Narrows the selection to classes that have a method matching `regex`.
|
|
178
|
+
*
|
|
179
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
180
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
181
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
182
|
+
* rule pass having asserted nothing.
|
|
183
|
+
*/
|
|
123
184
|
haveMethodMatching(regex) {
|
|
124
185
|
return this.addPredicate(predicateHaveMethodMatching(regex));
|
|
125
186
|
}
|
|
126
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* Narrows the selection to classes that have a property named `name`.
|
|
189
|
+
*
|
|
190
|
+
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
191
|
+
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
192
|
+
* assertion gate reports it as a misplaced predicate rather than letting the
|
|
193
|
+
* rule pass having asserted nothing.
|
|
194
|
+
*/
|
|
127
195
|
havePropertyNamed(name) {
|
|
128
196
|
return this.addPredicate(predicateHavePropertyNamed(name));
|
|
129
197
|
}
|
|
@@ -136,11 +204,19 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
136
204
|
shouldResideInFolder(glob) {
|
|
137
205
|
return this.addCondition(conditionResideInFolder(glob));
|
|
138
206
|
}
|
|
139
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* Asserts that the selected classes are exported.
|
|
209
|
+
*
|
|
210
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
211
|
+
*/
|
|
140
212
|
beExported() {
|
|
141
213
|
return this.addCondition(conditionBeExported());
|
|
142
214
|
}
|
|
143
|
-
/**
|
|
215
|
+
/**
|
|
216
|
+
* Asserts that the selected classes do not exist.
|
|
217
|
+
*
|
|
218
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
219
|
+
*/
|
|
144
220
|
notExist() {
|
|
145
221
|
return this.addCondition(conditionNotExist());
|
|
146
222
|
}
|
|
@@ -161,50 +237,78 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
161
237
|
shouldHaveMethodNamed(name) {
|
|
162
238
|
return this.addCondition(conditionHaveMethodNamed(name));
|
|
163
239
|
}
|
|
164
|
-
/**
|
|
240
|
+
/**
|
|
241
|
+
* Asserts that the selected classes do not have a method matching `regex`.
|
|
242
|
+
*
|
|
243
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
244
|
+
*/
|
|
165
245
|
shouldNotHaveMethodMatching(regex) {
|
|
166
246
|
return this.addCondition(conditionNotHaveMethodMatching(regex));
|
|
167
247
|
}
|
|
168
248
|
// --- Member property condition methods (plan 0030) ---
|
|
169
249
|
// "should" prefix: predicate havePropertyNamed(name) exists on this builder
|
|
170
|
-
/**
|
|
250
|
+
/**
|
|
251
|
+
* Asserts that the selected classes have a property named by each of `names`.
|
|
252
|
+
*
|
|
253
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
254
|
+
*/
|
|
171
255
|
shouldHavePropertyNamed(...names) {
|
|
172
256
|
return this.addCondition(memberHavePropertyNamed(...names));
|
|
173
257
|
}
|
|
174
|
-
/**
|
|
258
|
+
/**
|
|
259
|
+
* Asserts that the selected classes do not have a property named by any of `names`.
|
|
260
|
+
*
|
|
261
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
262
|
+
*/
|
|
175
263
|
shouldNotHavePropertyNamed(...names) {
|
|
176
264
|
return this.addCondition(memberNotHavePropertyNamed(...names));
|
|
177
265
|
}
|
|
178
266
|
// No "should" prefix: no predicate collision (matches beExported, notExist, contain pattern)
|
|
179
|
-
/**
|
|
267
|
+
/**
|
|
268
|
+
* Asserts that the selected classes have a property matching `pattern`.
|
|
269
|
+
*
|
|
270
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
271
|
+
*/
|
|
180
272
|
havePropertyMatching(pattern) {
|
|
181
273
|
return this.addCondition(memberHavePropertyMatching(pattern));
|
|
182
274
|
}
|
|
183
|
-
/**
|
|
275
|
+
/**
|
|
276
|
+
* Asserts that the selected classes do not have a property matching `pattern`.
|
|
277
|
+
*
|
|
278
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
279
|
+
*/
|
|
184
280
|
notHavePropertyMatching(pattern) {
|
|
185
281
|
return this.addCondition(memberNotHavePropertyMatching(pattern));
|
|
186
282
|
}
|
|
187
|
-
/**
|
|
283
|
+
/**
|
|
284
|
+
* Asserts that the selected classes have only readonly properties.
|
|
285
|
+
*
|
|
286
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
287
|
+
*/
|
|
188
288
|
haveOnlyReadonlyProperties() {
|
|
189
289
|
return this.addCondition(memberHaveOnlyReadonlyProperties());
|
|
190
290
|
}
|
|
191
|
-
/**
|
|
291
|
+
/**
|
|
292
|
+
* Asserts that the selected classes have at most `max` properties.
|
|
293
|
+
*
|
|
294
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
295
|
+
*/
|
|
192
296
|
maxProperties(max) {
|
|
193
297
|
return this.addCondition(memberMaxProperties(max));
|
|
194
298
|
}
|
|
195
299
|
// --- Parameter type condition methods (plan 0031) ---
|
|
196
300
|
/**
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
301
|
+
* Asserts that the selected classes accept a parameter of a type matching `matcher`.
|
|
302
|
+
*
|
|
303
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
200
304
|
*/
|
|
201
305
|
acceptParameterOfType(matcher) {
|
|
202
306
|
return this.addCondition(conditionAcceptParameterOfType(matcher));
|
|
203
307
|
}
|
|
204
308
|
/**
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
309
|
+
* Asserts that the selected classes do not accept a parameter of a type matching `matcher`.
|
|
310
|
+
*
|
|
311
|
+
* **Condition only** — this is the assertion, so it belongs after `.should()`.
|
|
208
312
|
*/
|
|
209
313
|
notAcceptParameterOfType(matcher) {
|
|
210
314
|
return this.addCondition(conditionNotAcceptParameterOfType(matcher));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-rule-builder.js","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"class-rule-builder.js","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"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"}
|