@nielspeter/eess-ts 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/LICENSE +21 -0
- package/README.md +364 -0
- package/dist/builders/call-rule-builder.d.ts +199 -0
- package/dist/builders/call-rule-builder.d.ts.map +1 -0
- package/dist/builders/call-rule-builder.js +254 -0
- package/dist/builders/call-rule-builder.js.map +1 -0
- package/dist/builders/class-rule-builder.d.ts +136 -0
- package/dist/builders/class-rule-builder.d.ts.map +1 -0
- package/dist/builders/class-rule-builder.js +253 -0
- package/dist/builders/class-rule-builder.js.map +1 -0
- package/dist/builders/cross-layer-builder.d.ts +96 -0
- package/dist/builders/cross-layer-builder.d.ts.map +1 -0
- package/dist/builders/cross-layer-builder.js +172 -0
- package/dist/builders/cross-layer-builder.js.map +1 -0
- package/dist/builders/function-rule-builder.d.ts +198 -0
- package/dist/builders/function-rule-builder.d.ts.map +1 -0
- package/dist/builders/function-rule-builder.js +287 -0
- package/dist/builders/function-rule-builder.js.map +1 -0
- package/dist/builders/jsx-rule-builder.d.ts +113 -0
- package/dist/builders/jsx-rule-builder.d.ts.map +1 -0
- package/dist/builders/jsx-rule-builder.js +150 -0
- package/dist/builders/jsx-rule-builder.js.map +1 -0
- package/dist/builders/module-rule-builder.d.ts +159 -0
- package/dist/builders/module-rule-builder.d.ts.map +1 -0
- package/dist/builders/module-rule-builder.js +237 -0
- package/dist/builders/module-rule-builder.js.map +1 -0
- package/dist/builders/scoped-function-rule-builder.d.ts +21 -0
- package/dist/builders/scoped-function-rule-builder.d.ts.map +1 -0
- package/dist/builders/scoped-function-rule-builder.js +26 -0
- package/dist/builders/scoped-function-rule-builder.js.map +1 -0
- package/dist/builders/slice-rule-builder.d.ts +85 -0
- package/dist/builders/slice-rule-builder.d.ts.map +1 -0
- package/dist/builders/slice-rule-builder.js +134 -0
- package/dist/builders/slice-rule-builder.js.map +1 -0
- package/dist/builders/type-rule-builder.d.ts +103 -0
- package/dist/builders/type-rule-builder.d.ts.map +1 -0
- package/dist/builders/type-rule-builder.js +170 -0
- package/dist/builders/type-rule-builder.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +4 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/baseline.d.ts +11 -0
- package/dist/cli/commands/baseline.d.ts.map +1 -0
- package/dist/cli/commands/baseline.js +16 -0
- package/dist/cli/commands/baseline.js.map +1 -0
- package/dist/cli/commands/check.d.ts +21 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +94 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/explain.d.ts +9 -0
- package/dist/cli/commands/explain.d.ts.map +1 -0
- package/dist/cli/commands/explain.js +49 -0
- package/dist/cli/commands/explain.js.map +1 -0
- package/dist/cli/config.d.ts +31 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +20 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +21 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +168 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/load-rules.d.ts +20 -0
- package/dist/cli/load-rules.d.ts.map +1 -0
- package/dist/cli/load-rules.js +97 -0
- package/dist/cli/load-rules.js.map +1 -0
- package/dist/cli/resolve-config.d.ts +11 -0
- package/dist/cli/resolve-config.d.ts.map +1 -0
- package/dist/cli/resolve-config.js +61 -0
- package/dist/cli/resolve-config.js.map +1 -0
- package/dist/cli/watch.d.ts +49 -0
- package/dist/cli/watch.d.ts.map +1 -0
- package/dist/cli/watch.js +138 -0
- package/dist/cli/watch.js.map +1 -0
- package/dist/conditions/body-analysis-function.d.ts +23 -0
- package/dist/conditions/body-analysis-function.d.ts.map +1 -0
- package/dist/conditions/body-analysis-function.js +103 -0
- package/dist/conditions/body-analysis-function.js.map +1 -0
- package/dist/conditions/body-analysis-module.d.ts +27 -0
- package/dist/conditions/body-analysis-module.d.ts.map +1 -0
- package/dist/conditions/body-analysis-module.js +99 -0
- package/dist/conditions/body-analysis-module.js.map +1 -0
- package/dist/conditions/body-analysis.d.ts +34 -0
- package/dist/conditions/body-analysis.d.ts.map +1 -0
- package/dist/conditions/body-analysis.js +95 -0
- package/dist/conditions/body-analysis.js.map +1 -0
- package/dist/conditions/call.d.ts +62 -0
- package/dist/conditions/call.d.ts.map +1 -0
- package/dist/conditions/call.js +267 -0
- package/dist/conditions/call.js.map +1 -0
- package/dist/conditions/catch-analysis.d.ts +31 -0
- package/dist/conditions/catch-analysis.d.ts.map +1 -0
- package/dist/conditions/catch-analysis.js +78 -0
- package/dist/conditions/catch-analysis.js.map +1 -0
- package/dist/conditions/class.d.ts +33 -0
- package/dist/conditions/class.d.ts.map +1 -0
- package/dist/conditions/class.js +110 -0
- package/dist/conditions/class.js.map +1 -0
- package/dist/conditions/cross-layer.d.ts +28 -0
- package/dist/conditions/cross-layer.d.ts.map +1 -0
- package/dist/conditions/cross-layer.js +105 -0
- package/dist/conditions/cross-layer.js.map +1 -0
- package/dist/conditions/dependency.d.ts +73 -0
- package/dist/conditions/dependency.d.ts.map +1 -0
- package/dist/conditions/dependency.js +177 -0
- package/dist/conditions/dependency.js.map +1 -0
- package/dist/conditions/exports.d.ts +33 -0
- package/dist/conditions/exports.d.ts.map +1 -0
- package/dist/conditions/exports.js +101 -0
- package/dist/conditions/exports.js.map +1 -0
- package/dist/conditions/function.d.ts +79 -0
- package/dist/conditions/function.d.ts.map +1 -0
- package/dist/conditions/function.js +167 -0
- package/dist/conditions/function.js.map +1 -0
- package/dist/conditions/helpers.d.ts +14 -0
- package/dist/conditions/helpers.d.ts.map +1 -0
- package/dist/conditions/helpers.js +26 -0
- package/dist/conditions/helpers.js.map +1 -0
- package/dist/conditions/jsx.d.ts +40 -0
- package/dist/conditions/jsx.d.ts.map +1 -0
- package/dist/conditions/jsx.js +133 -0
- package/dist/conditions/jsx.js.map +1 -0
- package/dist/conditions/members.d.ts +74 -0
- package/dist/conditions/members.d.ts.map +1 -0
- package/dist/conditions/members.js +224 -0
- package/dist/conditions/members.js.map +1 -0
- package/dist/conditions/pattern.d.ts +20 -0
- package/dist/conditions/pattern.d.ts.map +1 -0
- package/dist/conditions/pattern.js +108 -0
- package/dist/conditions/pattern.js.map +1 -0
- package/dist/conditions/reverse-dependency.d.ts +28 -0
- package/dist/conditions/reverse-dependency.d.ts.map +1 -0
- package/dist/conditions/reverse-dependency.js +275 -0
- package/dist/conditions/reverse-dependency.js.map +1 -0
- package/dist/conditions/slice.d.ts +49 -0
- package/dist/conditions/slice.d.ts.map +1 -0
- package/dist/conditions/slice.js +153 -0
- package/dist/conditions/slice.js.map +1 -0
- package/dist/conditions/structural.d.ts +58 -0
- package/dist/conditions/structural.d.ts.map +1 -0
- package/dist/conditions/structural.js +102 -0
- package/dist/conditions/structural.js.map +1 -0
- package/dist/conditions/type-level.d.ts +29 -0
- package/dist/conditions/type-level.d.ts.map +1 -0
- package/dist/conditions/type-level.js +48 -0
- package/dist/conditions/type-level.js.map +1 -0
- package/dist/core/import-options.d.ts +32 -0
- package/dist/core/import-options.d.ts.map +1 -0
- package/dist/core/import-options.js +29 -0
- package/dist/core/import-options.js.map +1 -0
- package/dist/core/module-dependencies.d.ts +28 -0
- package/dist/core/module-dependencies.d.ts.map +1 -0
- package/dist/core/module-dependencies.js +35 -0
- package/dist/core/module-dependencies.js.map +1 -0
- package/dist/core/pair-condition.d.ts +10 -0
- package/dist/core/pair-condition.d.ts.map +1 -0
- package/dist/core/pair-condition.js +2 -0
- package/dist/core/pair-condition.js.map +1 -0
- package/dist/core/project.d.ts +68 -0
- package/dist/core/project.d.ts.map +1 -0
- package/dist/core/project.js +127 -0
- package/dist/core/project.js.map +1 -0
- package/dist/core/type-matcher.d.ts +10 -0
- package/dist/core/type-matcher.d.ts.map +1 -0
- package/dist/core/type-matcher.js +2 -0
- package/dist/core/type-matcher.js.map +1 -0
- package/dist/core/violation.d.ts +38 -0
- package/dist/core/violation.d.ts.map +1 -0
- package/dist/core/violation.js +130 -0
- package/dist/core/violation.js.map +1 -0
- package/dist/graphql/index.d.ts +76 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +108 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/resolver-rule-builder.d.ts +75 -0
- package/dist/graphql/resolver-rule-builder.d.ts.map +1 -0
- package/dist/graphql/resolver-rule-builder.js +146 -0
- package/dist/graphql/resolver-rule-builder.js.map +1 -0
- package/dist/graphql/schema-conditions.d.ts +31 -0
- package/dist/graphql/schema-conditions.d.ts.map +1 -0
- package/dist/graphql/schema-conditions.js +119 -0
- package/dist/graphql/schema-conditions.js.map +1 -0
- package/dist/graphql/schema-loader.d.ts +75 -0
- package/dist/graphql/schema-loader.d.ts.map +1 -0
- package/dist/graphql/schema-loader.js +113 -0
- package/dist/graphql/schema-loader.js.map +1 -0
- package/dist/graphql/schema-predicates.d.ts +42 -0
- package/dist/graphql/schema-predicates.d.ts.map +1 -0
- package/dist/graphql/schema-predicates.js +74 -0
- package/dist/graphql/schema-predicates.js.map +1 -0
- package/dist/graphql/schema-rule-builder.d.ts +74 -0
- package/dist/graphql/schema-rule-builder.d.ts.map +1 -0
- package/dist/graphql/schema-rule-builder.js +188 -0
- package/dist/graphql/schema-rule-builder.js.map +1 -0
- package/dist/helpers/body-traversal.d.ts +58 -0
- package/dist/helpers/body-traversal.d.ts.map +1 -0
- package/dist/helpers/body-traversal.js +180 -0
- package/dist/helpers/body-traversal.js.map +1 -0
- package/dist/helpers/callback-extractor.d.ts +28 -0
- package/dist/helpers/callback-extractor.d.ts.map +1 -0
- package/dist/helpers/callback-extractor.js +159 -0
- package/dist/helpers/callback-extractor.js.map +1 -0
- package/dist/helpers/complexity.d.ts +26 -0
- package/dist/helpers/complexity.d.ts.map +1 -0
- package/dist/helpers/complexity.js +64 -0
- package/dist/helpers/complexity.js.map +1 -0
- package/dist/helpers/matchers.d.ts +206 -0
- package/dist/helpers/matchers.d.ts.map +1 -0
- package/dist/helpers/matchers.js +470 -0
- package/dist/helpers/matchers.js.map +1 -0
- package/dist/helpers/pattern.d.ts +37 -0
- package/dist/helpers/pattern.d.ts.map +1 -0
- package/dist/helpers/pattern.js +22 -0
- package/dist/helpers/pattern.js.map +1 -0
- package/dist/helpers/slice-graph.d.ts +32 -0
- package/dist/helpers/slice-graph.d.ts.map +1 -0
- package/dist/helpers/slice-graph.js +89 -0
- package/dist/helpers/slice-graph.js.map +1 -0
- package/dist/helpers/tarjan.d.ts +21 -0
- package/dist/helpers/tarjan.d.ts.map +1 -0
- package/dist/helpers/tarjan.js +71 -0
- package/dist/helpers/tarjan.js.map +1 -0
- package/dist/helpers/type-matchers.d.ts +67 -0
- package/dist/helpers/type-matchers.d.ts.map +1 -0
- package/dist/helpers/type-matchers.js +108 -0
- package/dist/helpers/type-matchers.js.map +1 -0
- package/dist/helpers/within.d.ts +41 -0
- package/dist/helpers/within.d.ts.map +1 -0
- package/dist/helpers/within.js +32 -0
- package/dist/helpers/within.js.map +1 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +116 -0
- package/dist/index.js.map +1 -0
- package/dist/models/arch-call.d.ts +83 -0
- package/dist/models/arch-call.d.ts.map +1 -0
- package/dist/models/arch-call.js +90 -0
- package/dist/models/arch-call.js.map +1 -0
- package/dist/models/arch-function.d.ts +76 -0
- package/dist/models/arch-function.d.ts.map +1 -0
- package/dist/models/arch-function.js +122 -0
- package/dist/models/arch-function.js.map +1 -0
- package/dist/models/arch-jsx-element.d.ts +75 -0
- package/dist/models/arch-jsx-element.d.ts.map +1 -0
- package/dist/models/arch-jsx-element.js +231 -0
- package/dist/models/arch-jsx-element.js.map +1 -0
- package/dist/models/cross-layer.d.ts +15 -0
- package/dist/models/cross-layer.d.ts.map +1 -0
- package/dist/models/cross-layer.js +2 -0
- package/dist/models/cross-layer.js.map +1 -0
- package/dist/models/slice.d.ts +60 -0
- package/dist/models/slice.d.ts.map +1 -0
- package/dist/models/slice.js +89 -0
- package/dist/models/slice.js.map +1 -0
- package/dist/predicates/call.d.ts +49 -0
- package/dist/predicates/call.d.ts.map +1 -0
- package/dist/predicates/call.js +115 -0
- package/dist/predicates/call.js.map +1 -0
- package/dist/predicates/class.d.ts +42 -0
- package/dist/predicates/class.d.ts.map +1 -0
- package/dist/predicates/class.js +83 -0
- package/dist/predicates/class.js.map +1 -0
- package/dist/predicates/function.d.ts +81 -0
- package/dist/predicates/function.d.ts.map +1 -0
- package/dist/predicates/function.js +157 -0
- package/dist/predicates/function.js.map +1 -0
- package/dist/predicates/identity.d.ts +55 -0
- package/dist/predicates/identity.d.ts.map +1 -0
- package/dist/predicates/identity.js +96 -0
- package/dist/predicates/identity.js.map +1 -0
- package/dist/predicates/index.d.ts +4 -0
- package/dist/predicates/index.d.ts.map +1 -0
- package/dist/predicates/index.js +3 -0
- package/dist/predicates/index.js.map +1 -0
- package/dist/predicates/jsx.d.ts +41 -0
- package/dist/predicates/jsx.d.ts.map +1 -0
- package/dist/predicates/jsx.js +84 -0
- package/dist/predicates/jsx.js.map +1 -0
- package/dist/predicates/metrics.d.ts +30 -0
- package/dist/predicates/metrics.d.ts.map +1 -0
- package/dist/predicates/metrics.js +65 -0
- package/dist/predicates/metrics.js.map +1 -0
- package/dist/predicates/module.d.ts +44 -0
- package/dist/predicates/module.d.ts.map +1 -0
- package/dist/predicates/module.js +70 -0
- package/dist/predicates/module.js.map +1 -0
- package/dist/predicates/type.d.ts +48 -0
- package/dist/predicates/type.d.ts.map +1 -0
- package/dist/predicates/type.js +107 -0
- package/dist/predicates/type.js.map +1 -0
- package/dist/presets/boundaries.d.ts +19 -0
- package/dist/presets/boundaries.d.ts.map +1 -0
- package/dist/presets/boundaries.js +93 -0
- package/dist/presets/boundaries.js.map +1 -0
- package/dist/presets/data-layer.d.ts +20 -0
- package/dist/presets/data-layer.d.ts.map +1 -0
- package/dist/presets/data-layer.js +30 -0
- package/dist/presets/data-layer.js.map +1 -0
- package/dist/presets/index.d.ts +9 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/layered.d.ts +21 -0
- package/dist/presets/layered.d.ts.map +1 -0
- package/dist/presets/layered.js +103 -0
- package/dist/presets/layered.js.map +1 -0
- package/dist/presets/shared.d.ts +3 -0
- package/dist/presets/shared.d.ts.map +1 -0
- package/dist/presets/shared.js +5 -0
- package/dist/presets/shared.js.map +1 -0
- package/dist/rules/architecture.d.ts +10 -0
- package/dist/rules/architecture.d.ts.map +1 -0
- package/dist/rules/architecture.js +14 -0
- package/dist/rules/architecture.js.map +1 -0
- package/dist/rules/code-quality.d.ts +55 -0
- package/dist/rules/code-quality.d.ts.map +1 -0
- package/dist/rules/code-quality.js +116 -0
- package/dist/rules/code-quality.js.map +1 -0
- package/dist/rules/dependencies.d.ts +32 -0
- package/dist/rules/dependencies.d.ts.map +1 -0
- package/dist/rules/dependencies.js +37 -0
- package/dist/rules/dependencies.js.map +1 -0
- package/dist/rules/errors.d.ts +31 -0
- package/dist/rules/errors.d.ts.map +1 -0
- package/dist/rules/errors.js +97 -0
- package/dist/rules/errors.js.map +1 -0
- package/dist/rules/hygiene.d.ts +54 -0
- package/dist/rules/hygiene.d.ts.map +1 -0
- package/dist/rules/hygiene.js +62 -0
- package/dist/rules/hygiene.js.map +1 -0
- package/dist/rules/metrics-function.d.ts +45 -0
- package/dist/rules/metrics-function.d.ts.map +1 -0
- package/dist/rules/metrics-function.js +87 -0
- package/dist/rules/metrics-function.js.map +1 -0
- package/dist/rules/metrics.d.ts +64 -0
- package/dist/rules/metrics.d.ts.map +1 -0
- package/dist/rules/metrics.js +157 -0
- package/dist/rules/metrics.js.map +1 -0
- package/dist/rules/naming.d.ts +24 -0
- package/dist/rules/naming.d.ts.map +1 -0
- package/dist/rules/naming.js +51 -0
- package/dist/rules/naming.js.map +1 -0
- package/dist/rules/security.d.ts +59 -0
- package/dist/rules/security.d.ts.map +1 -0
- package/dist/rules/security.js +92 -0
- package/dist/rules/security.js.map +1 -0
- package/dist/rules/typescript.d.ts +73 -0
- package/dist/rules/typescript.d.ts.map +1 -0
- package/dist/rules/typescript.js +105 -0
- package/dist/rules/typescript.js.map +1 -0
- package/dist/smells/duplicate-bodies.d.ts +24 -0
- package/dist/smells/duplicate-bodies.d.ts.map +1 -0
- package/dist/smells/duplicate-bodies.js +131 -0
- package/dist/smells/duplicate-bodies.js.map +1 -0
- package/dist/smells/fingerprint.d.ts +27 -0
- package/dist/smells/fingerprint.d.ts.map +1 -0
- package/dist/smells/fingerprint.js +50 -0
- package/dist/smells/fingerprint.js.map +1 -0
- package/dist/smells/inconsistent-siblings.d.ts +21 -0
- package/dist/smells/inconsistent-siblings.d.ts.map +1 -0
- package/dist/smells/inconsistent-siblings.js +135 -0
- package/dist/smells/inconsistent-siblings.js.map +1 -0
- package/dist/smells/index.d.ts +12 -0
- package/dist/smells/index.d.ts.map +1 -0
- package/dist/smells/index.js +15 -0
- package/dist/smells/index.js.map +1 -0
- package/dist/smells/smell-builder.d.ts +37 -0
- package/dist/smells/smell-builder.d.ts.map +1 -0
- package/dist/smells/smell-builder.js +51 -0
- package/dist/smells/smell-builder.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-graph.js","sourceRoot":"","sources":["../../src/helpers/slice-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An adjacency list representation of a directed graph.
|
|
3
|
+
* Keys are node indices, values are arrays of neighbor indices.
|
|
4
|
+
*/
|
|
5
|
+
export type AdjacencyList = Map<number, number[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Find all strongly connected components in a directed graph
|
|
8
|
+
* using Tarjan's algorithm.
|
|
9
|
+
*
|
|
10
|
+
* Returns only components with size > 1 (i.e., actual cycles).
|
|
11
|
+
* Each component is an array of node indices forming a cycle.
|
|
12
|
+
*
|
|
13
|
+
* Time complexity: O(V + E)
|
|
14
|
+
* Space complexity: O(V)
|
|
15
|
+
*
|
|
16
|
+
* @param nodeCount - Total number of nodes (0-indexed)
|
|
17
|
+
* @param edges - Adjacency list: node index -> list of neighbor indices
|
|
18
|
+
* @returns Array of strongly connected components (size > 1)
|
|
19
|
+
*/
|
|
20
|
+
export declare function tarjanSCC(nodeCount: number, edges: AdjacencyList): number[][];
|
|
21
|
+
//# sourceMappingURL=tarjan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarjan.d.ts","sourceRoot":"","sources":["../../src/helpers/tarjan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,EAAE,CAyD7E"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find all strongly connected components in a directed graph
|
|
3
|
+
* using Tarjan's algorithm.
|
|
4
|
+
*
|
|
5
|
+
* Returns only components with size > 1 (i.e., actual cycles).
|
|
6
|
+
* Each component is an array of node indices forming a cycle.
|
|
7
|
+
*
|
|
8
|
+
* Time complexity: O(V + E)
|
|
9
|
+
* Space complexity: O(V)
|
|
10
|
+
*
|
|
11
|
+
* @param nodeCount - Total number of nodes (0-indexed)
|
|
12
|
+
* @param edges - Adjacency list: node index -> list of neighbor indices
|
|
13
|
+
* @returns Array of strongly connected components (size > 1)
|
|
14
|
+
*/
|
|
15
|
+
export function tarjanSCC(nodeCount, edges) {
|
|
16
|
+
const index = new Array(nodeCount).fill(-1);
|
|
17
|
+
const lowlink = new Array(nodeCount).fill(-1);
|
|
18
|
+
const onStack = new Array(nodeCount).fill(false);
|
|
19
|
+
const stack = [];
|
|
20
|
+
let currentIndex = 0;
|
|
21
|
+
const sccs = [];
|
|
22
|
+
function strongConnect(v) {
|
|
23
|
+
index[v] = currentIndex;
|
|
24
|
+
lowlink[v] = currentIndex;
|
|
25
|
+
currentIndex++;
|
|
26
|
+
stack.push(v);
|
|
27
|
+
onStack[v] = true;
|
|
28
|
+
const neighbors = edges.get(v) ?? [];
|
|
29
|
+
for (const w of neighbors) {
|
|
30
|
+
// lv/lw/iw are always defined here (v and w are bounded indices into
|
|
31
|
+
// pre-filled arrays); the guards satisfy noUncheckedIndexedAccess.
|
|
32
|
+
const lv = lowlink[v];
|
|
33
|
+
if (index[w] === -1) {
|
|
34
|
+
// w has not been visited
|
|
35
|
+
strongConnect(w);
|
|
36
|
+
const lw = lowlink[w];
|
|
37
|
+
if (lv !== undefined && lw !== undefined)
|
|
38
|
+
lowlink[v] = Math.min(lv, lw);
|
|
39
|
+
}
|
|
40
|
+
else if (onStack[w]) {
|
|
41
|
+
// w is on the stack, so it's in the current SCC
|
|
42
|
+
const iw = index[w];
|
|
43
|
+
if (lv !== undefined && iw !== undefined)
|
|
44
|
+
lowlink[v] = Math.min(lv, iw);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// If v is a root node, pop the SCC
|
|
48
|
+
if (lowlink[v] === index[v]) {
|
|
49
|
+
const scc = [];
|
|
50
|
+
let popped = stack.pop();
|
|
51
|
+
while (popped !== undefined) {
|
|
52
|
+
onStack[popped] = false;
|
|
53
|
+
scc.push(popped);
|
|
54
|
+
if (popped === v)
|
|
55
|
+
break;
|
|
56
|
+
popped = stack.pop();
|
|
57
|
+
}
|
|
58
|
+
// Only report cycles (size > 1)
|
|
59
|
+
if (scc.length > 1) {
|
|
60
|
+
sccs.push(scc);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
for (let v = 0; v < nodeCount; v++) {
|
|
65
|
+
if (index[v] === -1) {
|
|
66
|
+
strongConnect(v);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return sccs;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=tarjan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarjan.js","sourceRoot":"","sources":["../../src/helpers/tarjan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { TypeMatcher } from '../core/type-matcher.js';
|
|
2
|
+
export type { TypeMatcher };
|
|
3
|
+
/**
|
|
4
|
+
* Matches bare `string` type.
|
|
5
|
+
* Does NOT match string literal types like `'foo'` or unions of string literals.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* isString() // matches `string`, not `'a' | 'b'`
|
|
9
|
+
*/
|
|
10
|
+
export declare function isString(): TypeMatcher;
|
|
11
|
+
/**
|
|
12
|
+
* Matches bare `number` type.
|
|
13
|
+
* Does NOT match number literal types like `42` or unions of number literals.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isNumber(): TypeMatcher;
|
|
16
|
+
/**
|
|
17
|
+
* Matches bare `boolean` type.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isBoolean(): TypeMatcher;
|
|
20
|
+
/**
|
|
21
|
+
* Matches a union of string literals OR number literals.
|
|
22
|
+
* Requires at least 2 union members (a single literal is not a "union of literals").
|
|
23
|
+
*
|
|
24
|
+
* Handles: `'a' | 'b'`, `1 | 2 | 3`, NOT `string`, NOT `'a' | string`.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* isUnionOfLiterals() // matches `'asc' | 'desc'`, not `string`
|
|
28
|
+
*/
|
|
29
|
+
export declare function isUnionOfLiterals(): TypeMatcher;
|
|
30
|
+
/**
|
|
31
|
+
* Matches a specific string literal type (e.g., `'created_at'`).
|
|
32
|
+
* If no value is provided, matches ANY string literal type.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* isStringLiteral() // matches any string literal
|
|
36
|
+
* isStringLiteral('created_at') // matches only 'created_at'
|
|
37
|
+
*/
|
|
38
|
+
export declare function isStringLiteral(value?: string): TypeMatcher;
|
|
39
|
+
/**
|
|
40
|
+
* Matches an array type where the element type satisfies the inner matcher.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* arrayOf(isString()) // matches `string[]`
|
|
44
|
+
* arrayOf(isUnionOfLiterals()) // matches `('a' | 'b')[]`
|
|
45
|
+
*/
|
|
46
|
+
export declare function arrayOf(elementMatcher: TypeMatcher): TypeMatcher;
|
|
47
|
+
/**
|
|
48
|
+
* Matches when the type's text representation matches the given regex.
|
|
49
|
+
* Escape hatch for types not covered by semantic matchers.
|
|
50
|
+
*
|
|
51
|
+
* Operates on the result of `type.getText()` which returns the type
|
|
52
|
+
* as TypeScript would display it.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* matching(/^Record</) // matches Record<string, unknown>, etc.
|
|
56
|
+
* matching(/Promise/) // matches Promise<T> types
|
|
57
|
+
*/
|
|
58
|
+
export declare function matching(regex: RegExp): TypeMatcher;
|
|
59
|
+
/**
|
|
60
|
+
* Matches when the type text is exactly the given string.
|
|
61
|
+
* Useful for matching specific type references.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* exactly('SortColumn') // matches the SortColumn type alias
|
|
65
|
+
*/
|
|
66
|
+
export declare function exactly(typeText: string): TypeMatcher;
|
|
67
|
+
//# sourceMappingURL=type-matchers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-matchers.d.ts","sourceRoot":"","sources":["../../src/helpers/type-matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,WAAW,CAEtC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,WAAW,CAEtC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAQ/C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,CAOhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAKnD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAKrD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matches bare `string` type.
|
|
3
|
+
* Does NOT match string literal types like `'foo'` or unions of string literals.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* isString() // matches `string`, not `'a' | 'b'`
|
|
7
|
+
*/
|
|
8
|
+
export function isString() {
|
|
9
|
+
return (type) => type.getNonNullableType().isString();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Matches bare `number` type.
|
|
13
|
+
* Does NOT match number literal types like `42` or unions of number literals.
|
|
14
|
+
*/
|
|
15
|
+
export function isNumber() {
|
|
16
|
+
return (type) => type.getNonNullableType().isNumber();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Matches bare `boolean` type.
|
|
20
|
+
*/
|
|
21
|
+
export function isBoolean() {
|
|
22
|
+
return (type) => type.getNonNullableType().isBoolean();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Matches a union of string literals OR number literals.
|
|
26
|
+
* Requires at least 2 union members (a single literal is not a "union of literals").
|
|
27
|
+
*
|
|
28
|
+
* Handles: `'a' | 'b'`, `1 | 2 | 3`, NOT `string`, NOT `'a' | string`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* isUnionOfLiterals() // matches `'asc' | 'desc'`, not `string`
|
|
32
|
+
*/
|
|
33
|
+
export function isUnionOfLiterals() {
|
|
34
|
+
return (type) => {
|
|
35
|
+
const t = type.getNonNullableType();
|
|
36
|
+
if (!t.isUnion())
|
|
37
|
+
return false;
|
|
38
|
+
const members = t.getUnionTypes();
|
|
39
|
+
if (members.length < 2)
|
|
40
|
+
return false;
|
|
41
|
+
return members.every((m) => m.isStringLiteral() || m.isNumberLiteral());
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Matches a specific string literal type (e.g., `'created_at'`).
|
|
46
|
+
* If no value is provided, matches ANY string literal type.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* isStringLiteral() // matches any string literal
|
|
50
|
+
* isStringLiteral('created_at') // matches only 'created_at'
|
|
51
|
+
*/
|
|
52
|
+
export function isStringLiteral(value) {
|
|
53
|
+
return (type) => {
|
|
54
|
+
const t = type.getNonNullableType();
|
|
55
|
+
if (!t.isStringLiteral())
|
|
56
|
+
return false;
|
|
57
|
+
if (value === undefined)
|
|
58
|
+
return true;
|
|
59
|
+
return t.getLiteralValue() === value;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Matches an array type where the element type satisfies the inner matcher.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* arrayOf(isString()) // matches `string[]`
|
|
67
|
+
* arrayOf(isUnionOfLiterals()) // matches `('a' | 'b')[]`
|
|
68
|
+
*/
|
|
69
|
+
export function arrayOf(elementMatcher) {
|
|
70
|
+
return (type) => {
|
|
71
|
+
const t = type.getNonNullableType();
|
|
72
|
+
if (!t.isArray())
|
|
73
|
+
return false;
|
|
74
|
+
const elementType = t.getArrayElementTypeOrThrow();
|
|
75
|
+
return elementMatcher(elementType);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Matches when the type's text representation matches the given regex.
|
|
80
|
+
* Escape hatch for types not covered by semantic matchers.
|
|
81
|
+
*
|
|
82
|
+
* Operates on the result of `type.getText()` which returns the type
|
|
83
|
+
* as TypeScript would display it.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* matching(/^Record</) // matches Record<string, unknown>, etc.
|
|
87
|
+
* matching(/Promise/) // matches Promise<T> types
|
|
88
|
+
*/
|
|
89
|
+
export function matching(regex) {
|
|
90
|
+
return (type) => {
|
|
91
|
+
const t = type.getNonNullableType();
|
|
92
|
+
return regex.test(t.getText());
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Matches when the type text is exactly the given string.
|
|
97
|
+
* Useful for matching specific type references.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* exactly('SortColumn') // matches the SortColumn type alias
|
|
101
|
+
*/
|
|
102
|
+
export function exactly(typeText) {
|
|
103
|
+
return (type) => {
|
|
104
|
+
const t = type.getNonNullableType();
|
|
105
|
+
return t.getText() === typeText;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=type-matchers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-matchers.js","sourceRoot":"","sources":["../../src/helpers/type-matchers.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAA;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,CAAA;AACxD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,KAAK,CAAA;QAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAA;IACzE,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE;YAAE,OAAO,KAAK,CAAA;QACtC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACpC,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK,CAAA;IACtC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,cAA2B;IACjD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;YAAE,OAAO,KAAK,CAAA;QAC9B,MAAM,WAAW,GAAG,CAAC,CAAC,0BAA0B,EAAE,CAAA;QAClD,OAAO,cAAc,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACnC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAA;IACjC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CallRuleBuilder } from '../builders/call-rule-builder.js';
|
|
2
|
+
import { ScopedFunctionRuleBuilder } from '../builders/scoped-function-rule-builder.js';
|
|
3
|
+
/**
|
|
4
|
+
* A scoped context that restricts entry points to elements found
|
|
5
|
+
* inside the callback arguments of matched call expressions.
|
|
6
|
+
*
|
|
7
|
+
* Created by `within()`. Provides the same entry point functions
|
|
8
|
+
* as the top-level API, but scoped to the matched callbacks.
|
|
9
|
+
*/
|
|
10
|
+
export interface ScopedContext {
|
|
11
|
+
/**
|
|
12
|
+
* Function-level rules scoped to callbacks of the matched calls.
|
|
13
|
+
* Only examines functions that appear as inline arguments.
|
|
14
|
+
*/
|
|
15
|
+
functions(): ScopedFunctionRuleBuilder;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Scope rules to a call selection context.
|
|
19
|
+
*
|
|
20
|
+
* `within(selection)` restricts the search space to callback arguments
|
|
21
|
+
* of the matched call expressions. Instead of scanning all source files,
|
|
22
|
+
* scoped entry points only examine functions that are inline arguments
|
|
23
|
+
* to the matched calls.
|
|
24
|
+
*
|
|
25
|
+
* @param selection - A CallRuleBuilder with predicates already applied.
|
|
26
|
+
* The predicates are evaluated lazily when a terminal method is called.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const routes = calls(p)
|
|
31
|
+
* .that()
|
|
32
|
+
* .onObject('app')
|
|
33
|
+
* .and()
|
|
34
|
+
* .withMethod(/^(get|post|put|delete|patch)$/)
|
|
35
|
+
*
|
|
36
|
+
* // Only check functions inside route handler callbacks
|
|
37
|
+
* within(routes).functions().should().contain(call('normalizePagination')).check()
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function within(selection: CallRuleBuilder): ScopedContext;
|
|
41
|
+
//# sourceMappingURL=within.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"within.d.ts","sourceRoot":"","sources":["../../src/helpers/within.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAEvF;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,IAAI,yBAAyB,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,eAAe,GAAG,aAAa,CAMhE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ScopedFunctionRuleBuilder } from '../builders/scoped-function-rule-builder.js';
|
|
2
|
+
/**
|
|
3
|
+
* Scope rules to a call selection context.
|
|
4
|
+
*
|
|
5
|
+
* `within(selection)` restricts the search space to callback arguments
|
|
6
|
+
* of the matched call expressions. Instead of scanning all source files,
|
|
7
|
+
* scoped entry points only examine functions that are inline arguments
|
|
8
|
+
* to the matched calls.
|
|
9
|
+
*
|
|
10
|
+
* @param selection - A CallRuleBuilder with predicates already applied.
|
|
11
|
+
* The predicates are evaluated lazily when a terminal method is called.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const routes = calls(p)
|
|
16
|
+
* .that()
|
|
17
|
+
* .onObject('app')
|
|
18
|
+
* .and()
|
|
19
|
+
* .withMethod(/^(get|post|put|delete|patch)$/)
|
|
20
|
+
*
|
|
21
|
+
* // Only check functions inside route handler callbacks
|
|
22
|
+
* within(routes).functions().should().contain(call('normalizePagination')).check()
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function within(selection) {
|
|
26
|
+
return {
|
|
27
|
+
functions() {
|
|
28
|
+
return new ScopedFunctionRuleBuilder(selection);
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=within.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"within.js","sourceRoot":"","sources":["../../src/helpers/within.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAiBvF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,MAAM,CAAC,SAA0B;IAC/C,OAAO;QACL,SAAS;YACP,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export { project, workspace, resetProjectCache } from './core/project.js';
|
|
2
|
+
export type { ArchProject } from './core/project.js';
|
|
3
|
+
export type { Predicate } from '@nielspeter/eess';
|
|
4
|
+
export { not, and, or } from '@nielspeter/eess';
|
|
5
|
+
export type { Condition, ConditionContext } from '@nielspeter/eess';
|
|
6
|
+
export type { ArchViolation } from './core/violation.js';
|
|
7
|
+
export { createViolation, getElementName, getElementFile, getElementLine, } from './core/violation.js';
|
|
8
|
+
export { RuleBuilder } from '@nielspeter/eess';
|
|
9
|
+
export { TerminalBuilder } from '@nielspeter/eess';
|
|
10
|
+
export { ArchRuleError } from '@nielspeter/eess';
|
|
11
|
+
export type { RuleMetadata } from '@nielspeter/eess';
|
|
12
|
+
export type { RuleDescription } from '@nielspeter/eess';
|
|
13
|
+
export { generateCodeFrame } from '@nielspeter/eess';
|
|
14
|
+
export type { CodeFrameOptions } from '@nielspeter/eess';
|
|
15
|
+
export { formatViolations, formatViolationsPlain } from '@nielspeter/eess';
|
|
16
|
+
export type { FormatOptions } from '@nielspeter/eess';
|
|
17
|
+
export { definePredicate, defineCondition } from '@nielspeter/eess';
|
|
18
|
+
export type { Named, Located, Exportable } from './predicates/index.js';
|
|
19
|
+
export { haveNameMatching, haveNameStartingWith, haveNameEndingWith, resideInFile, resideInFolder, areExported, areNotExported, } from './predicates/index.js';
|
|
20
|
+
export { resideInFile as conditionResideInFile, resideInFolder as conditionResideInFolder, haveNameMatching as conditionHaveNameMatching, beExported, notExist, } from './conditions/structural.js';
|
|
21
|
+
export { importFrom, notImportFrom as predicateNotImportFrom, exportSymbolNamed, havePathMatching, } from './predicates/module.js';
|
|
22
|
+
export type { ImportOptions } from './core/import-options.js';
|
|
23
|
+
export { isTypeOnlyImport } from './core/import-options.js';
|
|
24
|
+
export { onlyImportFrom, notImportFrom as conditionNotImportFrom, onlyHaveTypeImportsFrom, notHaveAliasedImports, dependOn, } from './conditions/dependency.js';
|
|
25
|
+
export { modules, ModuleRuleBuilder } from './builders/module-rule-builder.js';
|
|
26
|
+
export { classes, ClassRuleBuilder } from './builders/class-rule-builder.js';
|
|
27
|
+
export { extend, implement, haveDecorator, haveDecoratorMatching, areAbstract, haveMethodNamed as classHaveMethodNamed, haveMethodMatching, havePropertyNamed, } from './predicates/class.js';
|
|
28
|
+
export { shouldExtend, shouldImplement, shouldHaveMethodNamed, shouldNotHaveMethodMatching, acceptParameterOfType as classAcceptParameterOfType, notAcceptParameterOfType as classNotAcceptParameterOfType, } from './conditions/class.js';
|
|
29
|
+
export { functions, FunctionRuleBuilder } from './builders/function-rule-builder.js';
|
|
30
|
+
export type { ArchFunction } from './models/arch-function.js';
|
|
31
|
+
export { collectFunctions, fromFunctionDeclaration, fromArrowVariableDeclaration, fromMethodDeclaration, } from './models/arch-function.js';
|
|
32
|
+
export { arePublic, areProtected, arePrivate, areAsync, areNotAsync, haveParameterCount, haveParameterCountGreaterThan, haveParameterCountLessThan, haveParameterNamed, haveReturnType, haveRestParameter, haveOptionalParameter, haveParameterOfType, haveParameterNameMatching, } from './predicates/function.js';
|
|
33
|
+
export { notExist as functionNotExist, beExported as functionBeExported, beAsync as functionBeAsync, haveNameMatching as functionHaveNameMatching, acceptParameterOfType as functionAcceptParameterOfType, notAcceptParameterOfType as functionNotAcceptParameterOfType, haveReturnTypeMatching as functionHaveReturnTypeMatching, } from './conditions/function.js';
|
|
34
|
+
export { types, TypeRuleBuilder } from './builders/type-rule-builder.js';
|
|
35
|
+
export type { TypeDeclaration } from './predicates/type.js';
|
|
36
|
+
export { areInterfaces, areTypeAliases, haveProperty, havePropertyOfType, extendType, } from './predicates/type.js';
|
|
37
|
+
export { havePropertyType } from './conditions/type-level.js';
|
|
38
|
+
export { havePropertyNamed as conditionHavePropertyNamed, notHavePropertyNamed as conditionNotHavePropertyNamed, havePropertyMatching as conditionHavePropertyMatching, notHavePropertyMatching as conditionNotHavePropertyMatching, haveOnlyReadonlyProperties, maxProperties, } from './conditions/members.js';
|
|
39
|
+
export type { PropertyBearingNode } from './conditions/members.js';
|
|
40
|
+
export type { TypeMatcher } from './helpers/type-matchers.js';
|
|
41
|
+
export { isString, isNumber, isBoolean, isUnionOfLiterals, isStringLiteral, arrayOf, matching, exactly, } from './helpers/type-matchers.js';
|
|
42
|
+
export { call, access, newExpr, expression, property, comment, jsxElement, jsxText, typeAssertion, nonNullAssertion, STUB_PATTERNS, } from './helpers/matchers.js';
|
|
43
|
+
export type { ExpressionMatcher, TypeAssertionOptions } from './helpers/matchers.js';
|
|
44
|
+
export { classContain, classNotContain, classUseInsteadOf, classNotHaveEmptyBody, } from './conditions/body-analysis.js';
|
|
45
|
+
export { functionContain, functionNotContain, functionUseInsteadOf, functionNotHaveEmptyBody, } from './conditions/body-analysis-function.js';
|
|
46
|
+
export { moduleContain, moduleNotContain, moduleUseInsteadOf, } from './conditions/body-analysis-module.js';
|
|
47
|
+
export type { ModuleBodyOptions } from './helpers/body-traversal.js';
|
|
48
|
+
export { notHaveDefaultExport, haveDefaultExport, haveMaxExports } from './conditions/exports.js';
|
|
49
|
+
export { onlyBeImportedVia, beImported, haveNoUnusedExports, } from './conditions/reverse-dependency.js';
|
|
50
|
+
export type { Slice, SliceDefinition } from './models/slice.js';
|
|
51
|
+
export { beFreeOfCycles, respectLayerOrder, notDependOn } from './conditions/slice.js';
|
|
52
|
+
export { slices, SliceRuleBuilder } from './builders/slice-rule-builder.js';
|
|
53
|
+
export type { CheckOptions, OutputFormat } from '@nielspeter/eess';
|
|
54
|
+
export { formatViolationsJson } from '@nielspeter/eess';
|
|
55
|
+
export { formatViolationsGitHub } from '@nielspeter/eess';
|
|
56
|
+
export { detectFormat, isCI } from '@nielspeter/eess';
|
|
57
|
+
export { withBaseline, generateBaseline, Baseline } from '@nielspeter/eess';
|
|
58
|
+
export type { BaselineEntry, BaselineFile } from '@nielspeter/eess';
|
|
59
|
+
export { diffAware, DiffFilter } from '@nielspeter/eess';
|
|
60
|
+
export { parseExclusionComments, isExcludedByComment } from '@nielspeter/eess';
|
|
61
|
+
export type { ExclusionComment, ExclusionWarning, ParseResult } from '@nielspeter/eess';
|
|
62
|
+
export { silent } from '@nielspeter/eess';
|
|
63
|
+
export type { SilentExclusion } from '@nielspeter/eess';
|
|
64
|
+
export { collectViolations } from '@nielspeter/eess';
|
|
65
|
+
export { calls, CallRuleBuilder } from './builders/call-rule-builder.js';
|
|
66
|
+
export type { ArchCall } from './models/arch-call.js';
|
|
67
|
+
export { collectCalls, fromCallExpression } from './models/arch-call.js';
|
|
68
|
+
export { onObject, withMethod, withArgMatching, withStringArg } from './predicates/call.js';
|
|
69
|
+
export { haveCallbackContaining as callHaveCallbackContaining, notHaveCallbackContaining as callNotHaveCallbackContaining, notExist as callNotExist, haveArgumentWithProperty, notHaveArgumentWithProperty, haveArgumentContaining as callHaveArgumentContaining, notHaveArgumentContaining as callNotHaveArgumentContaining, } from './conditions/call.js';
|
|
70
|
+
export { within } from './helpers/within.js';
|
|
71
|
+
export type { ScopedContext } from './helpers/within.js';
|
|
72
|
+
export { ScopedFunctionRuleBuilder } from './builders/scoped-function-rule-builder.js';
|
|
73
|
+
export { extractCallbacks } from './helpers/callback-extractor.js';
|
|
74
|
+
export type { ExtractedCallback } from './helpers/callback-extractor.js';
|
|
75
|
+
export { definePattern } from './helpers/pattern.js';
|
|
76
|
+
export type { ArchPattern, PropertyConstraint } from './helpers/pattern.js';
|
|
77
|
+
export { followPattern } from './conditions/pattern.js';
|
|
78
|
+
export { smells } from './smells/index.js';
|
|
79
|
+
export { SmellBuilder } from './smells/smell-builder.js';
|
|
80
|
+
export { DuplicateBodiesBuilder } from './smells/duplicate-bodies.js';
|
|
81
|
+
export { InconsistentSiblingsBuilder } from './smells/inconsistent-siblings.js';
|
|
82
|
+
export type { Fingerprint } from './smells/fingerprint.js';
|
|
83
|
+
export { buildFingerprint, computeSimilarity } from './smells/fingerprint.js';
|
|
84
|
+
export type { Layer, LayerPair } from './models/cross-layer.js';
|
|
85
|
+
export type { PairCondition } from './core/pair-condition.js';
|
|
86
|
+
export { crossLayer, CrossLayerBuilder } from './builders/cross-layer-builder.js';
|
|
87
|
+
export { haveMatchingCounterpart, haveConsistentExports, satisfyPairCondition, } from './conditions/cross-layer.js';
|
|
88
|
+
export { haveCyclomaticComplexity, haveMoreLinesThan, haveMoreMethodsThan, haveComplexity, haveMoreFunctionLinesThan, } from './predicates/metrics.js';
|
|
89
|
+
export { cyclomaticComplexity, linesOfCode } from './helpers/complexity.js';
|
|
90
|
+
export { noEval, noFunctionConstructor, noProcessEnv, noConsoleLog, noConsole, noJsonParse, functionNoEval, functionNoFunctionConstructor, functionNoProcessEnv, functionNoConsoleLog, functionNoConsole, functionNoJsonParse, moduleNoEval, moduleNoProcessEnv, moduleNoConsoleLog, } from './rules/security.js';
|
|
91
|
+
export { noGenericErrors, noTypeErrors, functionNoGenericErrors, functionNoTypeErrors, noSilentCatch, functionNoSilentCatch, moduleNoSilentCatch, } from './rules/errors.js';
|
|
92
|
+
export { mustCall, classMustCall } from './rules/architecture.js';
|
|
93
|
+
export { noDeadModules, noUnusedExports, noStubComments, noEmptyBodies } from './rules/hygiene.js';
|
|
94
|
+
export { jsxElements, JsxRuleBuilder } from './builders/jsx-rule-builder.js';
|
|
95
|
+
export type { ArchJsxElement } from './models/arch-jsx-element.js';
|
|
96
|
+
export { collectJsxElements, STANDARD_HTML_TAGS } from './models/arch-jsx-element.js';
|
|
97
|
+
export { areHtmlElements, areComponents, withAttribute as jsxWithAttribute, withAttributeMatching as jsxWithAttributeMatching, } from './predicates/jsx.js';
|
|
98
|
+
export { notExist as jsxNotExist, haveAttribute as jsxHaveAttribute, notHaveAttribute as jsxNotHaveAttribute, haveAttributeMatching as jsxHaveAttributeMatching, notHaveAttributeMatching as jsxNotHaveAttributeMatching, } from './conditions/jsx.js';
|
|
99
|
+
export { defineConfig } from './cli/config.js';
|
|
100
|
+
export type { CliConfig } from './cli/config.js';
|
|
101
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// Core — project loader
|
|
2
|
+
export { project, workspace, resetProjectCache } from './core/project.js';
|
|
3
|
+
export { not, and, or } from '@nielspeter/eess';
|
|
4
|
+
export { createViolation, getElementName, getElementFile, getElementLine, } from './core/violation.js';
|
|
5
|
+
// Core — rule builder, error & metadata
|
|
6
|
+
export { RuleBuilder } from '@nielspeter/eess';
|
|
7
|
+
export { TerminalBuilder } from '@nielspeter/eess';
|
|
8
|
+
export { ArchRuleError } from '@nielspeter/eess';
|
|
9
|
+
// Core — code frame & formatting
|
|
10
|
+
export { generateCodeFrame } from '@nielspeter/eess';
|
|
11
|
+
export { formatViolations, formatViolationsPlain } from '@nielspeter/eess';
|
|
12
|
+
// Core — custom predicate/condition factories
|
|
13
|
+
export { definePredicate, defineCondition } from '@nielspeter/eess';
|
|
14
|
+
export { haveNameMatching, haveNameStartingWith, haveNameEndingWith, resideInFile, resideInFolder, areExported, areNotExported, } from './predicates/index.js';
|
|
15
|
+
// Structural conditions
|
|
16
|
+
export { resideInFile as conditionResideInFile, resideInFolder as conditionResideInFolder, haveNameMatching as conditionHaveNameMatching, beExported, notExist, } from './conditions/structural.js';
|
|
17
|
+
// Module predicates
|
|
18
|
+
export { importFrom, notImportFrom as predicateNotImportFrom, exportSymbolNamed, havePathMatching, } from './predicates/module.js';
|
|
19
|
+
export { isTypeOnlyImport } from './core/import-options.js';
|
|
20
|
+
export { onlyImportFrom, notImportFrom as conditionNotImportFrom, onlyHaveTypeImportsFrom, notHaveAliasedImports, dependOn, } from './conditions/dependency.js';
|
|
21
|
+
// Module entry point
|
|
22
|
+
export { modules, ModuleRuleBuilder } from './builders/module-rule-builder.js';
|
|
23
|
+
// Class entry point
|
|
24
|
+
export { classes, ClassRuleBuilder } from './builders/class-rule-builder.js';
|
|
25
|
+
// Class predicates (standalone)
|
|
26
|
+
export { extend, implement, haveDecorator, haveDecoratorMatching, areAbstract, haveMethodNamed as classHaveMethodNamed, haveMethodMatching, havePropertyNamed, } from './predicates/class.js';
|
|
27
|
+
// Class conditions (standalone)
|
|
28
|
+
export { shouldExtend, shouldImplement, shouldHaveMethodNamed, shouldNotHaveMethodMatching, acceptParameterOfType as classAcceptParameterOfType, notAcceptParameterOfType as classNotAcceptParameterOfType, } from './conditions/class.js';
|
|
29
|
+
// Function entry point
|
|
30
|
+
export { functions, FunctionRuleBuilder } from './builders/function-rule-builder.js';
|
|
31
|
+
export { collectFunctions, fromFunctionDeclaration, fromArrowVariableDeclaration, fromMethodDeclaration, } from './models/arch-function.js';
|
|
32
|
+
// Function predicates
|
|
33
|
+
export { arePublic, areProtected, arePrivate, areAsync, areNotAsync, haveParameterCount, haveParameterCountGreaterThan, haveParameterCountLessThan, haveParameterNamed, haveReturnType, haveRestParameter, haveOptionalParameter, haveParameterOfType, haveParameterNameMatching, } from './predicates/function.js';
|
|
34
|
+
// Function conditions
|
|
35
|
+
export { notExist as functionNotExist, beExported as functionBeExported, beAsync as functionBeAsync, haveNameMatching as functionHaveNameMatching, acceptParameterOfType as functionAcceptParameterOfType, notAcceptParameterOfType as functionNotAcceptParameterOfType, haveReturnTypeMatching as functionHaveReturnTypeMatching, } from './conditions/function.js';
|
|
36
|
+
// Type entry point
|
|
37
|
+
export { types, TypeRuleBuilder } from './builders/type-rule-builder.js';
|
|
38
|
+
export { areInterfaces, areTypeAliases, haveProperty, havePropertyOfType, extendType, } from './predicates/type.js';
|
|
39
|
+
// Type-level conditions
|
|
40
|
+
export { havePropertyType } from './conditions/type-level.js';
|
|
41
|
+
// Member property conditions (plan 0030)
|
|
42
|
+
export { havePropertyNamed as conditionHavePropertyNamed, notHavePropertyNamed as conditionNotHavePropertyNamed, havePropertyMatching as conditionHavePropertyMatching, notHavePropertyMatching as conditionNotHavePropertyMatching, haveOnlyReadonlyProperties, maxProperties, } from './conditions/members.js';
|
|
43
|
+
export { isString, isNumber, isBoolean, isUnionOfLiterals, isStringLiteral, arrayOf, matching, exactly, } from './helpers/type-matchers.js';
|
|
44
|
+
// Body analysis helpers (plan 0011 + 0046)
|
|
45
|
+
export { call, access, newExpr, expression, property, comment, jsxElement, jsxText, typeAssertion, nonNullAssertion, STUB_PATTERNS, } from './helpers/matchers.js';
|
|
46
|
+
// Body analysis conditions (for advanced composition)
|
|
47
|
+
export { classContain, classNotContain, classUseInsteadOf, classNotHaveEmptyBody, } from './conditions/body-analysis.js';
|
|
48
|
+
export { functionContain, functionNotContain, functionUseInsteadOf, functionNotHaveEmptyBody, } from './conditions/body-analysis-function.js';
|
|
49
|
+
export { moduleContain, moduleNotContain, moduleUseInsteadOf, } from './conditions/body-analysis-module.js';
|
|
50
|
+
// Export conditions (plan 0041 phase 3)
|
|
51
|
+
export { notHaveDefaultExport, haveDefaultExport, haveMaxExports } from './conditions/exports.js';
|
|
52
|
+
// Reverse dependency conditions (plan 0041 phase 4)
|
|
53
|
+
export { onlyBeImportedVia, beImported, haveNoUnusedExports, } from './conditions/reverse-dependency.js';
|
|
54
|
+
// Slice conditions
|
|
55
|
+
export { beFreeOfCycles, respectLayerOrder, notDependOn } from './conditions/slice.js';
|
|
56
|
+
// Slice entry point
|
|
57
|
+
export { slices, SliceRuleBuilder } from './builders/slice-rule-builder.js';
|
|
58
|
+
// Output formats
|
|
59
|
+
export { formatViolationsJson } from '@nielspeter/eess';
|
|
60
|
+
export { formatViolationsGitHub } from '@nielspeter/eess';
|
|
61
|
+
export { detectFormat, isCI } from '@nielspeter/eess';
|
|
62
|
+
// Baseline mode
|
|
63
|
+
export { withBaseline, generateBaseline, Baseline } from '@nielspeter/eess';
|
|
64
|
+
// Diff-aware mode
|
|
65
|
+
export { diffAware, DiffFilter } from '@nielspeter/eess';
|
|
66
|
+
// Exclusion comments
|
|
67
|
+
export { parseExclusionComments, isExcludedByComment } from '@nielspeter/eess';
|
|
68
|
+
// Silent exclusion wrapper
|
|
69
|
+
export { silent } from '@nielspeter/eess';
|
|
70
|
+
// Baseline generation helper
|
|
71
|
+
export { collectViolations } from '@nielspeter/eess';
|
|
72
|
+
// Call entry point (plan 0014)
|
|
73
|
+
export { calls, CallRuleBuilder } from './builders/call-rule-builder.js';
|
|
74
|
+
export { collectCalls, fromCallExpression } from './models/arch-call.js';
|
|
75
|
+
// Call predicates (standalone)
|
|
76
|
+
export { onObject, withMethod, withArgMatching, withStringArg } from './predicates/call.js';
|
|
77
|
+
// Call conditions (standalone)
|
|
78
|
+
export { haveCallbackContaining as callHaveCallbackContaining, notHaveCallbackContaining as callNotHaveCallbackContaining, notExist as callNotExist, haveArgumentWithProperty, notHaveArgumentWithProperty, haveArgumentContaining as callHaveArgumentContaining, notHaveArgumentContaining as callNotHaveArgumentContaining, } from './conditions/call.js';
|
|
79
|
+
// Scoped rules --- within() (plan 0015)
|
|
80
|
+
export { within } from './helpers/within.js';
|
|
81
|
+
export { ScopedFunctionRuleBuilder } from './builders/scoped-function-rule-builder.js';
|
|
82
|
+
// Callback extraction (plan 0015)
|
|
83
|
+
export { extractCallbacks } from './helpers/callback-extractor.js';
|
|
84
|
+
// Pattern templates (plan 0017)
|
|
85
|
+
export { definePattern } from './helpers/pattern.js';
|
|
86
|
+
export { followPattern } from './conditions/pattern.js';
|
|
87
|
+
// Smell detectors (plan 0018)
|
|
88
|
+
export { smells } from './smells/index.js';
|
|
89
|
+
export { SmellBuilder } from './smells/smell-builder.js';
|
|
90
|
+
export { DuplicateBodiesBuilder } from './smells/duplicate-bodies.js';
|
|
91
|
+
export { InconsistentSiblingsBuilder } from './smells/inconsistent-siblings.js';
|
|
92
|
+
export { buildFingerprint, computeSimilarity } from './smells/fingerprint.js';
|
|
93
|
+
export { crossLayer, CrossLayerBuilder } from './builders/cross-layer-builder.js';
|
|
94
|
+
export { haveMatchingCounterpart, haveConsistentExports, satisfyPairCondition, } from './conditions/cross-layer.js';
|
|
95
|
+
// Metric predicates (plan 0028)
|
|
96
|
+
export { haveCyclomaticComplexity, haveMoreLinesThan, haveMoreMethodsThan, haveComplexity, haveMoreFunctionLinesThan, } from './predicates/metrics.js';
|
|
97
|
+
// Complexity calculator (for custom rules)
|
|
98
|
+
export { cyclomaticComplexity, linesOfCode } from './helpers/complexity.js';
|
|
99
|
+
// Standard rules — security function/module variants (plan 0042)
|
|
100
|
+
export { noEval, noFunctionConstructor, noProcessEnv, noConsoleLog, noConsole, noJsonParse, functionNoEval, functionNoFunctionConstructor, functionNoProcessEnv, functionNoConsoleLog, functionNoConsole, functionNoJsonParse, moduleNoEval, moduleNoProcessEnv, moduleNoConsoleLog, } from './rules/security.js';
|
|
101
|
+
// Standard rules — error function variants (plan 0042)
|
|
102
|
+
export { noGenericErrors, noTypeErrors, functionNoGenericErrors, functionNoTypeErrors, noSilentCatch, functionNoSilentCatch, moduleNoSilentCatch, } from './rules/errors.js';
|
|
103
|
+
// Standard rules — architecture (plan 0042)
|
|
104
|
+
export { mustCall, classMustCall } from './rules/architecture.js';
|
|
105
|
+
// Standard rules — hygiene (plan 0042)
|
|
106
|
+
export { noDeadModules, noUnusedExports, noStubComments, noEmptyBodies } from './rules/hygiene.js';
|
|
107
|
+
// JSX entry point (proposal 010)
|
|
108
|
+
export { jsxElements, JsxRuleBuilder } from './builders/jsx-rule-builder.js';
|
|
109
|
+
export { collectJsxElements, STANDARD_HTML_TAGS } from './models/arch-jsx-element.js';
|
|
110
|
+
// JSX predicates (standalone)
|
|
111
|
+
export { areHtmlElements, areComponents, withAttribute as jsxWithAttribute, withAttributeMatching as jsxWithAttributeMatching, } from './predicates/jsx.js';
|
|
112
|
+
// JSX conditions (standalone)
|
|
113
|
+
export { notExist as jsxNotExist, haveAttribute as jsxHaveAttribute, notHaveAttribute as jsxNotHaveAttribute, haveAttributeMatching as jsxHaveAttributeMatching, notHaveAttributeMatching as jsxNotHaveAttributeMatching, } from './conditions/jsx.js';
|
|
114
|
+
// CLI config (plan 0020)
|
|
115
|
+
export { defineConfig } from './cli/config.js';
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|