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.
Files changed (2) hide show
  1. package/README.md +113 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,3 +1,114 @@
1
- # lint-suite
1
+ # Lint Suite
2
2
 
3
- lint-suite is your all-in-one solution for code quality and consistency. It bundles pre-configured tools like ESLint, Stylelint, Prettier, and Commitlint, streamlining setup for JavaScript, TypeScript, and CSS/SCSS projects. Maintain clean, readable code effortlessly with customizable, industry-standard configurations.
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lint-suite",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Reusable ESLint configurations",
5
5
  "repository": {
6
6
  "type": "git",