lint-suite 1.0.0 → 1.0.1
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 +113 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,114 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Lint Suite
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A comprehensive collection of ESLint Flat configurations for modern web applications.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **TypeScript Linting**: Strict typing rules, consistent imports, and code organization
|
|
8
|
+
- **Angular Support**: Component best practices and template accessibility rules
|
|
9
|
+
- **RxJS Guidelines**: Observable patterns, Finnish notation, and operator safety
|
|
10
|
+
- **Code Style**: Formatting rules, line limits, and structural consistency
|
|
11
|
+
- **Accessibility**: ARIA validation, keyboard events, and semantic HTML
|
|
12
|
+
- **Testing**: Jest configurations with appropriate relaxations for test files
|
|
13
|
+
- **Additional Support**: JSON, Storybook, and more
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --save-dev lint-suite
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
Create a `.eslintrc.config.mjs` file in your project root:
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
import { base, javascript, typescript } from 'lint-suite';
|
|
27
|
+
|
|
28
|
+
export default [
|
|
29
|
+
...base,
|
|
30
|
+
...javascript,
|
|
31
|
+
...typescript,
|
|
32
|
+
// Rest of the required configurations
|
|
33
|
+
];
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
You can selectively include configurations you need.
|
|
37
|
+
|
|
38
|
+
## Available Configurations
|
|
39
|
+
|
|
40
|
+
- `base`: Core JavaScript rules and formatting
|
|
41
|
+
- `typescript`: TypeScript-specific rules
|
|
42
|
+
- `angular`: Angular component best practices
|
|
43
|
+
- `angular-template`: HTML template rules with accessibility focus
|
|
44
|
+
- `rxjs`: Observable patterns and operator safety
|
|
45
|
+
- `jest`: Testing configurations
|
|
46
|
+
- `json`: JSON file linting
|
|
47
|
+
- `storybook`: Storybook support
|
|
48
|
+
|
|
49
|
+
## Customization
|
|
50
|
+
|
|
51
|
+
You can override any rules by adding a `rules` section to your ESLint config:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
import { typescript } from 'lint-suite';
|
|
55
|
+
|
|
56
|
+
export default [
|
|
57
|
+
...typescript,
|
|
58
|
+
{
|
|
59
|
+
rules: {
|
|
60
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Available Rules
|
|
67
|
+
|
|
68
|
+
### nx/eslint-plugin
|
|
69
|
+
|
|
70
|
+
- `@nx/enforce-module-boundaries`: Enforces module boundary restrictions
|
|
71
|
+
- `@nx/dependency-checks`: Validates dependencies in workspace projects
|
|
72
|
+
|
|
73
|
+
### eslint-plugin-jest
|
|
74
|
+
|
|
75
|
+
- `jest/no-disabled-tests`: Disallows disabled tests
|
|
76
|
+
- `jest/expect-expect`: Ensures test cases contain at least one expect statement
|
|
77
|
+
- `jest/valid-expect`: Validates expect() usage
|
|
78
|
+
|
|
79
|
+
### eslint-plugin-json
|
|
80
|
+
|
|
81
|
+
- `json/json`: Validates JSON syntax
|
|
82
|
+
- `json/sort-package-json`: Enforces consistent ordering in package.json
|
|
83
|
+
|
|
84
|
+
### @smarttools/eslint-plugin-rxjs
|
|
85
|
+
|
|
86
|
+
- `@rxjs/finnish`: Enforces Finnish notation for observables
|
|
87
|
+
- `@rxjs/no-ignored-subscription`: Prevents ignoring returned subscriptions
|
|
88
|
+
- `@rxjs/no-unsafe-takeuntil`: Ensures proper usage of takeUntil operator
|
|
89
|
+
|
|
90
|
+
### eslint-plugin-storybook
|
|
91
|
+
|
|
92
|
+
- `storybook/no-redundant-story-name`: Prevents redundant story names
|
|
93
|
+
- `storybook/csf-component`: Enforces Component Story Format standards
|
|
94
|
+
- `storybook/hierarchy-separator`: Enforces story hierarchy separators
|
|
95
|
+
|
|
96
|
+
### eslint-plugin-import
|
|
97
|
+
|
|
98
|
+
- `import/no-unresolved`: Ensures imports point to valid modules
|
|
99
|
+
- `import/order`: Enforces a consistent order of import statements
|
|
100
|
+
- `import/no-duplicates`: Prevents duplicate imports
|
|
101
|
+
|
|
102
|
+
### @stylistic/eslint-plugin
|
|
103
|
+
|
|
104
|
+
- `@stylistic/max-len`: Enforces maximum line length
|
|
105
|
+
- `@stylistic/indent`: Enforces consistent indentation
|
|
106
|
+
- `@stylistic/quotes`: Enforces consistent quote style
|
|
107
|
+
|
|
108
|
+
## Contributing
|
|
109
|
+
|
|
110
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for contribution guidelines.
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
MIT
|