@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 +53 -0
- package/dist/index.cjs +971 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +927 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
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
|