@archlinter/eslint-plugin 0.11.0-canary.2

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 ADDED
@@ -0,0 +1,53 @@
1
+ # @archlinter/eslint-plugin
2
+
3
+ ESLint plugin for architectural smell detection using [archlint](https://github.com/archlinter/archlint).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install --save-dev @archlinter/eslint-plugin eslint
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Flat Config (ESLint 9+)
14
+
15
+ ```javascript
16
+ // eslint.config.js
17
+ import archlint from '@archlinter/eslint-plugin';
18
+
19
+ export default [
20
+ archlint.configs['flat/recommended'],
21
+ {
22
+ rules: {
23
+ '@archlinter/no-cycles': 'error',
24
+ },
25
+ },
26
+ ];
27
+ ```
28
+
29
+ ### Legacy Config (ESLint < 9)
30
+
31
+ ```javascript
32
+ // .eslintrc.js
33
+ module.exports = {
34
+ plugins: ['@archlinter'],
35
+ extends: ['plugin:@archlinter/recommended'],
36
+ };
37
+ ```
38
+
39
+ ## Rules
40
+
41
+ - `@archlinter/no-cycles`: Disallow cyclic dependencies.
42
+ - `@archlinter/no-god-modules`: Disallow overly complex modules.
43
+ - `@archlinter/no-dead-code`: Disallow unused exports.
44
+ - `@archlinter/no-layer-violations`: Enforce architectural layers.
45
+ - ...and more.
46
+
47
+ ## Performance
48
+
49
+ The plugin runs archlint analysis in the background and caches results per project root. On the first run, it may show an informational message while the analysis is in progress.
50
+
51
+ ## License
52
+
53
+ MIT