@futdevpro/dynamo-eslint 1.20.8 → 1.20.12
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 +323 -305
- package/build/plugin/rules/naming-patterns.d.ts.map +1 -1
- package/build/plugin/rules/naming-patterns.js +7 -1
- package/build/plugin/rules/naming-patterns.js.map +1 -1
- package/build/scripts/validate-naming.js +50 -3
- package/build/scripts/validate-naming.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,317 +1,335 @@
|
|
|
1
|
-
# @futdevpro/dynamo-eslint
|
|
2
|
-
|
|
3
|
-
Shared ESLint presets, custom Dynamo rules, and validation tools for FutDevPro TypeScript projects. This package provides standardized linting configurations optimized for **lint-on-save** functionality across different project types.
|
|
4
|
-
|
|
5
|
-
## 🚀 Quick Start
|
|
6
|
-
|
|
7
|
-
### Installation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install --save-dev @futdevpro/dynamo-eslint
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
### Required Peer Dependencies
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm install --save-dev \
|
|
17
|
-
eslint@~9.39.5 \
|
|
18
|
-
typescript@5.9.3 \
|
|
19
|
-
typescript-eslint@~8.67.0
|
|
1
|
+
# @futdevpro/dynamo-eslint
|
|
2
|
+
|
|
3
|
+
Shared ESLint presets, custom Dynamo rules, and validation tools for FutDevPro TypeScript projects. This package provides standardized linting configurations optimized for **lint-on-save** functionality across different project types.
|
|
4
|
+
|
|
5
|
+
## 🚀 Quick Start
|
|
6
|
+
|
|
7
|
+
### Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install --save-dev @futdevpro/dynamo-eslint
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Required Peer Dependencies
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install --save-dev \
|
|
17
|
+
eslint@~9.39.5 \
|
|
18
|
+
typescript@5.9.3 \
|
|
19
|
+
typescript-eslint@~8.67.0
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
For Angular projects, also install:
|
|
23
|
+
```bash
|
|
24
|
+
npm install --save-dev \
|
|
25
|
+
angular-eslint@~20.7.0
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`angular-eslint` is an optional peer for Node-only consumers and is required when loading the `ngx` or
|
|
29
|
+
`ngx-package` preset.
|
|
30
|
+
|
|
31
|
+
## 📋 Available Presets
|
|
32
|
+
|
|
33
|
+
### 1. **base** - Core TypeScript Rules
|
|
34
|
+
Generic TypeScript projects with browser environment.
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
const baseConfig = require('@futdevpro/dynamo-eslint/base');
|
|
38
|
+
|
|
39
|
+
module.exports = baseConfig;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Features:**
|
|
43
|
+
- Browser environment
|
|
44
|
+
- 1000 line limit
|
|
45
|
+
- All Dynamo custom rules enabled
|
|
46
|
+
- Explicit return types required
|
|
47
|
+
|
|
48
|
+
### 2. **nts** - Node TypeScript Projects
|
|
49
|
+
Node.js TypeScript applications and services.
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
const ntsConfig = require('@futdevpro/dynamo-eslint/nts');
|
|
53
|
+
|
|
54
|
+
module.exports = ntsConfig;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Features:**
|
|
58
|
+
- Node environment
|
|
59
|
+
- 1500 line limit (extended for server code)
|
|
60
|
+
- Module source type
|
|
61
|
+
- All base rules + Node-specific optimizations
|
|
62
|
+
|
|
63
|
+
### 3. **ngx** - Angular Projects
|
|
64
|
+
Angular applications with component and template linting.
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
const ngxConfig = require('@futdevpro/dynamo-eslint/ngx');
|
|
68
|
+
|
|
69
|
+
module.exports = ngxConfig;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Features:**
|
|
73
|
+
- Angular ESLint integration
|
|
74
|
+
- Browser environment
|
|
75
|
+
- Component and template linting
|
|
76
|
+
- Angular-specific rules
|
|
77
|
+
|
|
78
|
+
### 4. **fsm** - Full Stack Module
|
|
79
|
+
Full-stack TypeScript modules (same as base).
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
const fsmConfig = require('@futdevpro/dynamo-eslint/fsm');
|
|
83
|
+
|
|
84
|
+
module.exports = fsmConfig;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 5. **nts-package** - Node TypeScript Packages
|
|
88
|
+
NPM packages and libraries built with TypeScript.
|
|
89
|
+
|
|
90
|
+
```javascript
|
|
91
|
+
const ntsPackageConfig = require('@futdevpro/dynamo-eslint/nts-package');
|
|
92
|
+
|
|
93
|
+
module.exports = ntsPackageConfig;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Features:**
|
|
97
|
+
- Relaxed `@typescript-eslint/ban-types` and `no-explicit-any` rules
|
|
98
|
+
- Optimized for package development
|
|
99
|
+
- Extended line limits for library code
|
|
100
|
+
|
|
101
|
+
### 6. **ngx-package** - Angular Packages
|
|
102
|
+
Angular libraries and packages.
|
|
103
|
+
|
|
104
|
+
```javascript
|
|
105
|
+
const ngxPackageConfig = require('@futdevpro/dynamo-eslint/ngx-package');
|
|
106
|
+
|
|
107
|
+
module.exports = ngxPackageConfig;
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## ⚙️ Lint-on-Save Configuration
|
|
111
|
+
|
|
112
|
+
**Critical: Configure ESLint to run ONLY on save, not on type!**
|
|
113
|
+
|
|
114
|
+
### VSCode/Cursor Settings
|
|
115
|
+
|
|
116
|
+
Create `.vscode/settings.json` in your project root:
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"eslint.run": "onSave",
|
|
121
|
+
"eslint.workingDirectories": [{ "mode": "auto" }],
|
|
122
|
+
"editor.codeActionsOnSave": {
|
|
123
|
+
"source.fixAll.eslint": "explicit"
|
|
124
|
+
},
|
|
125
|
+
"eslint.validate": [
|
|
126
|
+
"javascript",
|
|
127
|
+
"typescript"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Workspace vs User Settings
|
|
133
|
+
|
|
134
|
+
- **Workspace settings** (`.vscode/settings.json`): Apply only to current project
|
|
135
|
+
- **User settings**: Apply globally to all projects
|
|
136
|
+
|
|
137
|
+
For team consistency, use workspace settings.
|
|
138
|
+
|
|
139
|
+
### Multi-Root Workspace Configuration
|
|
140
|
+
|
|
141
|
+
For workspaces with multiple projects:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"eslint.run": "onSave",
|
|
146
|
+
"eslint.workingDirectories": [
|
|
147
|
+
{ "mode": "auto" },
|
|
148
|
+
{ "directory": "./packages/package-a" },
|
|
149
|
+
{ "directory": "./packages/package-b" }
|
|
150
|
+
],
|
|
151
|
+
"editor.codeActionsOnSave": {
|
|
152
|
+
"source.fixAll.eslint": "explicit"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## 🔧 Custom Dynamo Rules
|
|
158
|
+
|
|
159
|
+
This package includes custom ESLint rules for Dynamo conventions:
|
|
160
|
+
|
|
161
|
+
### Import Rules
|
|
162
|
+
- **`@futdevpro/dynamo/import-order`**: Enforces consistent import ordering
|
|
163
|
+
- **`@futdevpro/dynamo/no-import-type`**: Forbids TypeScript `import type` syntax
|
|
164
|
+
- **`@futdevpro/dynamo/no-js-import`**: Prevents importing `.js` files in TypeScript
|
|
165
|
+
|
|
166
|
+
### Naming Rules
|
|
167
|
+
- **`@futdevpro/dynamo/naming-patterns`**: Enforces DyFM naming conventions
|
|
168
|
+
|
|
169
|
+
### Type Rules
|
|
170
|
+
- **`@futdevpro/dynamo/explicit-types`**: Enforces explicit type annotations on all TypeScript declarations (functions, variables, parameters, class properties, destructuring)
|
|
171
|
+
|
|
172
|
+
## 🛠️ CLI Validation Tools
|
|
173
|
+
|
|
174
|
+
Use these commands to validate your codebase:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# Validate import ordering across all TypeScript files
|
|
178
|
+
dynamo-validate-imports
|
|
179
|
+
|
|
180
|
+
# Validate naming conventions across all TypeScript files
|
|
181
|
+
dynamo-validate-naming
|
|
182
|
+
|
|
183
|
+
# Audit ESLint configurations for duplicate rules
|
|
184
|
+
dynamo-eslintrc-audit
|
|
185
|
+
|
|
186
|
+
# Run comprehensive fixes
|
|
187
|
+
dynamo-fix
|
|
188
|
+
|
|
189
|
+
# Fix missing type annotations (functions, variables, parameters, class properties)
|
|
190
|
+
dynamo-fix-return-types
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### NPM Scripts Integration
|
|
194
|
+
|
|
195
|
+
Add to your `package.json`:
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"scripts": {
|
|
200
|
+
"lint": "eslint src --ext .ts",
|
|
201
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
202
|
+
"validate:imports": "dynamo-validate-imports",
|
|
203
|
+
"validate:naming": "dynamo-validate-naming",
|
|
204
|
+
"audit:eslintrc": "dynamo-eslintrc-audit",
|
|
205
|
+
"fix": "dynamo-fix",
|
|
206
|
+
"fix:types": "dynamo-fix-return-types"
|
|
207
|
+
}
|
|
208
|
+
}
|
|
20
209
|
```
|
|
21
210
|
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm install --save-dev \
|
|
25
|
-
angular-eslint@~20.7.0
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
`angular-eslint` is an optional peer for Node-only consumers and is required when loading the `ngx` or
|
|
29
|
-
`ngx-package` preset.
|
|
30
|
-
|
|
31
|
-
## 📋 Available Presets
|
|
32
|
-
|
|
33
|
-
### 1. **base** - Core TypeScript Rules
|
|
34
|
-
Generic TypeScript projects with browser environment.
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
const baseConfig = require('@futdevpro/dynamo-eslint/base');
|
|
38
|
-
|
|
39
|
-
module.exports = baseConfig;
|
|
40
|
-
```
|
|
211
|
+
### Explicit legacy boolean-name exceptions
|
|
41
212
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- 1000 line limit
|
|
45
|
-
- All Dynamo custom rules enabled
|
|
46
|
-
- Explicit return types required
|
|
47
|
-
|
|
48
|
-
### 2. **nts** - Node TypeScript Projects
|
|
49
|
-
Node.js TypeScript applications and services.
|
|
50
|
-
|
|
51
|
-
```javascript
|
|
52
|
-
const ntsConfig = require('@futdevpro/dynamo-eslint/nts');
|
|
53
|
-
|
|
54
|
-
module.exports = ntsConfig;
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Features:**
|
|
58
|
-
- Node environment
|
|
59
|
-
- 1500 line limit (extended for server code)
|
|
60
|
-
- Module source type
|
|
61
|
-
- All base rules + Node-specific optimizations
|
|
62
|
-
|
|
63
|
-
### 3. **ngx** - Angular Projects
|
|
64
|
-
Angular applications with component and template linting.
|
|
65
|
-
|
|
66
|
-
```javascript
|
|
67
|
-
const ngxConfig = require('@futdevpro/dynamo-eslint/ngx');
|
|
68
|
-
|
|
69
|
-
module.exports = ngxConfig;
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
**Features:**
|
|
73
|
-
- Angular ESLint integration
|
|
74
|
-
- Browser environment
|
|
75
|
-
- Component and template linting
|
|
76
|
-
- Angular-specific rules
|
|
77
|
-
|
|
78
|
-
### 4. **fsm** - Full Stack Module
|
|
79
|
-
Full-stack TypeScript modules (same as base).
|
|
80
|
-
|
|
81
|
-
```javascript
|
|
82
|
-
const fsmConfig = require('@futdevpro/dynamo-eslint/fsm');
|
|
83
|
-
|
|
84
|
-
module.exports = fsmConfig;
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 5. **nts-package** - Node TypeScript Packages
|
|
88
|
-
NPM packages and libraries built with TypeScript.
|
|
89
|
-
|
|
90
|
-
```javascript
|
|
91
|
-
const ntsPackageConfig = require('@futdevpro/dynamo-eslint/nts-package');
|
|
92
|
-
|
|
93
|
-
module.exports = ntsPackageConfig;
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Features:**
|
|
97
|
-
- Relaxed `@typescript-eslint/ban-types` and `no-explicit-any` rules
|
|
98
|
-
- Optimized for package development
|
|
99
|
-
- Extended line limits for library code
|
|
100
|
-
|
|
101
|
-
### 6. **ngx-package** - Angular Packages
|
|
102
|
-
Angular libraries and packages.
|
|
103
|
-
|
|
104
|
-
```javascript
|
|
105
|
-
const ngxPackageConfig = require('@futdevpro/dynamo-eslint/ngx-package');
|
|
106
|
-
|
|
107
|
-
module.exports = ngxPackageConfig;
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## ⚙️ Lint-on-Save Configuration
|
|
111
|
-
|
|
112
|
-
**Critical: Configure ESLint to run ONLY on save, not on type!**
|
|
113
|
-
|
|
114
|
-
### VSCode/Cursor Settings
|
|
115
|
-
|
|
116
|
-
Create `.vscode/settings.json` in your project root:
|
|
213
|
+
`dynamo-validate-naming` is strict by default. A consumer that must preserve an existing persisted or public
|
|
214
|
+
contract can allow individual boolean property names in its `package.json`:
|
|
117
215
|
|
|
118
216
|
```json
|
|
119
217
|
{
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
},
|
|
125
|
-
"eslint.validate": [
|
|
126
|
-
"javascript",
|
|
127
|
-
"typescript"
|
|
128
|
-
]
|
|
129
|
-
}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Workspace vs User Settings
|
|
133
|
-
|
|
134
|
-
- **Workspace settings** (`.vscode/settings.json`): Apply only to current project
|
|
135
|
-
- **User settings**: Apply globally to all projects
|
|
136
|
-
|
|
137
|
-
For team consistency, use workspace settings.
|
|
138
|
-
|
|
139
|
-
### Multi-Root Workspace Configuration
|
|
140
|
-
|
|
141
|
-
For workspaces with multiple projects:
|
|
142
|
-
|
|
143
|
-
```json
|
|
144
|
-
{
|
|
145
|
-
"eslint.run": "onSave",
|
|
146
|
-
"eslint.workingDirectories": [
|
|
147
|
-
{ "mode": "auto" },
|
|
148
|
-
{ "directory": "./packages/package-a" },
|
|
149
|
-
{ "directory": "./packages/package-b" }
|
|
150
|
-
],
|
|
151
|
-
"editor.codeActionsOnSave": {
|
|
152
|
-
"source.fixAll.eslint": "explicit"
|
|
218
|
+
"dynamoEslint": {
|
|
219
|
+
"naming": {
|
|
220
|
+
"allowedBooleanPropertyNames": ["closed", "revoked"]
|
|
221
|
+
}
|
|
153
222
|
}
|
|
154
223
|
}
|
|
155
224
|
```
|
|
156
225
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
This package includes custom ESLint rules for Dynamo conventions:
|
|
160
|
-
|
|
161
|
-
### Import Rules
|
|
162
|
-
- **`@futdevpro/dynamo/import-order`**: Enforces consistent import ordering
|
|
163
|
-
- **`@futdevpro/dynamo/no-import-type`**: Forbids TypeScript `import type` syntax
|
|
164
|
-
- **`@futdevpro/dynamo/no-js-import`**: Prevents importing `.js` files in TypeScript
|
|
165
|
-
|
|
166
|
-
### Naming Rules
|
|
167
|
-
- **`@futdevpro/dynamo/naming-patterns`**: Enforces DyFM naming conventions
|
|
168
|
-
|
|
169
|
-
### Type Rules
|
|
170
|
-
- **`@futdevpro/dynamo/explicit-types`**: Enforces explicit type annotations on all TypeScript declarations (functions, variables, parameters, class properties, destructuring)
|
|
171
|
-
|
|
172
|
-
## 🛠️ CLI Validation Tools
|
|
173
|
-
|
|
174
|
-
Use these commands to validate your codebase:
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
# Validate import ordering across all TypeScript files
|
|
178
|
-
dynamo-validate-imports
|
|
179
|
-
|
|
180
|
-
# Validate naming conventions across all TypeScript files
|
|
181
|
-
dynamo-validate-naming
|
|
182
|
-
|
|
183
|
-
# Audit ESLint configurations for duplicate rules
|
|
184
|
-
dynamo-eslintrc-audit
|
|
185
|
-
|
|
186
|
-
# Run comprehensive fixes
|
|
187
|
-
dynamo-fix
|
|
188
|
-
|
|
189
|
-
# Fix missing type annotations (functions, variables, parameters, class properties)
|
|
190
|
-
dynamo-fix-return-types
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### NPM Scripts Integration
|
|
194
|
-
|
|
195
|
-
Add to your `package.json`:
|
|
196
|
-
|
|
197
|
-
```json
|
|
198
|
-
{
|
|
199
|
-
"scripts": {
|
|
200
|
-
"lint": "eslint src --ext .ts",
|
|
201
|
-
"lint:fix": "eslint src --ext .ts --fix",
|
|
202
|
-
"validate:imports": "dynamo-validate-imports",
|
|
203
|
-
"validate:naming": "dynamo-validate-naming",
|
|
204
|
-
"audit:eslintrc": "dynamo-eslintrc-audit",
|
|
205
|
-
"fix": "dynamo-fix",
|
|
206
|
-
"fix:types": "dynamo-fix-return-types"
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
```
|
|
226
|
+
Use this only for fields whose rename requires an explicit data/API migration. The validator rejects malformed
|
|
227
|
+
configuration and continues to enforce every unlisted boolean property.
|
|
210
228
|
|
|
211
229
|
## 🔄 Migration from Manual Configs
|
|
212
|
-
|
|
213
|
-
### Quick Migration Checklist
|
|
214
|
-
|
|
215
|
-
1. **Install the package and peer dependencies**
|
|
216
|
-
2. **Replace your `.eslintrc.json`** with the appropriate preset
|
|
217
|
-
3. **Configure lint-on-save** in VSCode/Cursor settings
|
|
218
|
-
4. **Run validation tools** to check for issues
|
|
219
|
-
5. **Update CI/CD** to use the new configuration
|
|
220
|
-
|
|
221
|
-
### Common Migration Issues
|
|
222
|
-
|
|
223
|
-
- **Peer dependency conflicts**: Ensure all peer dependencies are installed
|
|
224
|
-
- **Working directory issues**: Use `"eslint.workingDirectories": [{ "mode": "auto" }]`
|
|
225
|
-
- **Rule conflicts**: The presets handle most conflicts automatically
|
|
226
|
-
|
|
227
|
-
> 📖 **Detailed Migration Guide**: See [Migration Guide](./docs/migration.md) for step-by-step instructions.
|
|
228
|
-
|
|
229
|
-
## 🐛 Troubleshooting
|
|
230
|
-
|
|
231
|
-
### Lint-on-Save Not Working
|
|
232
|
-
|
|
233
|
-
1. **Check ESLint is running on save only:**
|
|
234
|
-
```json
|
|
235
|
-
{
|
|
236
|
-
"eslint.run": "onSave" // NOT "onType"
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
2. **Verify working directories:**
|
|
241
|
-
```json
|
|
242
|
-
{
|
|
243
|
-
"eslint.workingDirectories": [{ "mode": "auto" }]
|
|
244
|
-
}
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
3. **Check file associations:**
|
|
248
|
-
```json
|
|
249
|
-
{
|
|
250
|
-
"eslint.validate": ["javascript", "typescript"]
|
|
251
|
-
}
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
### Peer Dependency Issues
|
|
255
|
-
|
|
256
|
-
Ensure all peer dependencies are installed with compatible versions:
|
|
257
|
-
|
|
258
|
-
```bash
|
|
259
|
-
npm ls typescript-eslint angular-eslint eslint typescript
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### ESLint v9 Flat Config
|
|
263
|
-
|
|
264
|
-
This package now uses ESLint v9 flat config format (`eslint.config.js`) for all exported presets. The package itself also uses flat config for self-linting.
|
|
265
|
-
|
|
266
|
-
## 📁 Examples
|
|
267
|
-
|
|
268
|
-
Reference implementations are available in the `samples/` directory:
|
|
269
|
-
|
|
270
|
-
- `samples/base/eslint.config.js` - Base preset example
|
|
271
|
-
- `samples/nts/eslint.config.js` - Node TypeScript example
|
|
272
|
-
- `samples/ngx/eslint.config.js` - Angular example
|
|
273
|
-
- `samples/fsm/eslint.config.js` - Full Stack Module example
|
|
274
|
-
- `samples/nts-package/eslint.config.js` - Node TypeScript Package example
|
|
275
|
-
- `samples/ngx-package/eslint.config.js` - Angular Package example
|
|
276
|
-
|
|
277
|
-
## 🔧 Recent Fixes
|
|
278
|
-
|
|
279
|
-
### TypeScript AST Transformation Context Fix
|
|
280
|
-
|
|
281
|
-
The `dynamo-fix-return-types` script includes a fix for TypeScript AST transformation context issues. This resolves compilation errors when using `ts.visitEachChild()` by properly providing the `TransformationContext` parameter:
|
|
282
|
-
|
|
283
|
-
```typescript
|
|
284
|
-
// Fixed implementation
|
|
285
|
-
return ts.visitEachChild(node, visit, {} as ts.TransformationContext);
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
This ensures compatibility with TypeScript's AST transformation APIs.
|
|
289
|
-
|
|
290
|
-
### Enhanced Type Annotation Fixing
|
|
291
|
-
|
|
292
|
-
The `dynamo-fix-return-types` script now handles comprehensive type annotation fixing:
|
|
293
|
-
|
|
294
|
-
- **Function declarations**: Adds return type annotations
|
|
295
|
-
- **Arrow functions**: Adds return type annotations
|
|
296
|
-
- **Variable declarations**: Adds type annotations based on initializer types
|
|
297
|
-
- **Function parameters**: Adds parameter type annotations
|
|
298
|
-
- **Class properties**: Adds property type annotations
|
|
299
|
-
|
|
300
|
-
The script uses TypeScript's type checker to infer appropriate types and automatically adds them to your code.
|
|
301
|
-
|
|
302
|
-
## 📚 Self-Linting
|
|
303
|
-
|
|
304
|
-
This package uses its own presets and rules for self-linting. The ESLint v9 flat config is in `eslint.config.js` and demonstrates advanced configuration patterns.
|
|
305
|
-
|
|
306
|
-
## 🏗️ Architecture
|
|
307
|
-
|
|
308
|
-
- **Presets**: Standardized rule configurations for different project types
|
|
309
|
-
- **Custom Rules**: Dynamo-specific linting rules for import order and naming
|
|
310
|
-
- **CLI Tools**: Validation and fixing utilities
|
|
311
|
-
- **TypeScript Integration**: Full TypeScript AST transformation support
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
**Maintained by**: Future Development Program Ltd.
|
|
316
|
-
**License**: ISC
|
|
317
|
-
**Version**: 1.20.3
|
|
230
|
+
|
|
231
|
+
### Quick Migration Checklist
|
|
232
|
+
|
|
233
|
+
1. **Install the package and peer dependencies**
|
|
234
|
+
2. **Replace your `.eslintrc.json`** with the appropriate preset
|
|
235
|
+
3. **Configure lint-on-save** in VSCode/Cursor settings
|
|
236
|
+
4. **Run validation tools** to check for issues
|
|
237
|
+
5. **Update CI/CD** to use the new configuration
|
|
238
|
+
|
|
239
|
+
### Common Migration Issues
|
|
240
|
+
|
|
241
|
+
- **Peer dependency conflicts**: Ensure all peer dependencies are installed
|
|
242
|
+
- **Working directory issues**: Use `"eslint.workingDirectories": [{ "mode": "auto" }]`
|
|
243
|
+
- **Rule conflicts**: The presets handle most conflicts automatically
|
|
244
|
+
|
|
245
|
+
> 📖 **Detailed Migration Guide**: See [Migration Guide](./docs/migration.md) for step-by-step instructions.
|
|
246
|
+
|
|
247
|
+
## 🐛 Troubleshooting
|
|
248
|
+
|
|
249
|
+
### Lint-on-Save Not Working
|
|
250
|
+
|
|
251
|
+
1. **Check ESLint is running on save only:**
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"eslint.run": "onSave" // NOT "onType"
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
2. **Verify working directories:**
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"eslint.workingDirectories": [{ "mode": "auto" }]
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
3. **Check file associations:**
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"eslint.validate": ["javascript", "typescript"]
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Peer Dependency Issues
|
|
273
|
+
|
|
274
|
+
Ensure all peer dependencies are installed with compatible versions:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
npm ls typescript-eslint angular-eslint eslint typescript
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### ESLint v9 Flat Config
|
|
281
|
+
|
|
282
|
+
This package now uses ESLint v9 flat config format (`eslint.config.js`) for all exported presets. The package itself also uses flat config for self-linting.
|
|
283
|
+
|
|
284
|
+
## 📁 Examples
|
|
285
|
+
|
|
286
|
+
Reference implementations are available in the `samples/` directory:
|
|
287
|
+
|
|
288
|
+
- `samples/base/eslint.config.js` - Base preset example
|
|
289
|
+
- `samples/nts/eslint.config.js` - Node TypeScript example
|
|
290
|
+
- `samples/ngx/eslint.config.js` - Angular example
|
|
291
|
+
- `samples/fsm/eslint.config.js` - Full Stack Module example
|
|
292
|
+
- `samples/nts-package/eslint.config.js` - Node TypeScript Package example
|
|
293
|
+
- `samples/ngx-package/eslint.config.js` - Angular Package example
|
|
294
|
+
|
|
295
|
+
## 🔧 Recent Fixes
|
|
296
|
+
|
|
297
|
+
### TypeScript AST Transformation Context Fix
|
|
298
|
+
|
|
299
|
+
The `dynamo-fix-return-types` script includes a fix for TypeScript AST transformation context issues. This resolves compilation errors when using `ts.visitEachChild()` by properly providing the `TransformationContext` parameter:
|
|
300
|
+
|
|
301
|
+
```typescript
|
|
302
|
+
// Fixed implementation
|
|
303
|
+
return ts.visitEachChild(node, visit, {} as ts.TransformationContext);
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
This ensures compatibility with TypeScript's AST transformation APIs.
|
|
307
|
+
|
|
308
|
+
### Enhanced Type Annotation Fixing
|
|
309
|
+
|
|
310
|
+
The `dynamo-fix-return-types` script now handles comprehensive type annotation fixing:
|
|
311
|
+
|
|
312
|
+
- **Function declarations**: Adds return type annotations
|
|
313
|
+
- **Arrow functions**: Adds return type annotations
|
|
314
|
+
- **Variable declarations**: Adds type annotations based on initializer types
|
|
315
|
+
- **Function parameters**: Adds parameter type annotations
|
|
316
|
+
- **Class properties**: Adds property type annotations
|
|
317
|
+
|
|
318
|
+
The script uses TypeScript's type checker to infer appropriate types and automatically adds them to your code.
|
|
319
|
+
|
|
320
|
+
## 📚 Self-Linting
|
|
321
|
+
|
|
322
|
+
This package uses its own presets and rules for self-linting. The ESLint v9 flat config is in `eslint.config.js` and demonstrates advanced configuration patterns.
|
|
323
|
+
|
|
324
|
+
## 🏗️ Architecture
|
|
325
|
+
|
|
326
|
+
- **Presets**: Standardized rule configurations for different project types
|
|
327
|
+
- **Custom Rules**: Dynamo-specific linting rules for import order and naming
|
|
328
|
+
- **CLI Tools**: Validation and fixing utilities
|
|
329
|
+
- **TypeScript Integration**: Full TypeScript AST transformation support
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
**Maintained by**: Future Development Program Ltd.
|
|
334
|
+
**License**: ISC
|
|
335
|
+
**Version**: 1.20.3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming-patterns.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmL9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"naming-patterns.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmL9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UA4PhB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -179,6 +179,10 @@ const rule = {
|
|
|
179
179
|
type: 'array',
|
|
180
180
|
items: { type: 'string' },
|
|
181
181
|
},
|
|
182
|
+
allowedBooleanPropertyNames: {
|
|
183
|
+
type: 'array',
|
|
184
|
+
items: { type: 'string' },
|
|
185
|
+
},
|
|
182
186
|
},
|
|
183
187
|
additionalProperties: false,
|
|
184
188
|
},
|
|
@@ -211,6 +215,7 @@ const rule = {
|
|
|
211
215
|
...DEFAULT_ALLOWED_PROPERTY_NAMES,
|
|
212
216
|
...(userOptions.allowedPropertyNames ?? []),
|
|
213
217
|
];
|
|
218
|
+
const allowedBooleanPropertyNames = userOptions.allowedBooleanPropertyNames ?? [];
|
|
214
219
|
const filePostfixRule = FILE_POSTFIX_MAP.find((r) => r.pattern.test(baseName));
|
|
215
220
|
return {
|
|
216
221
|
PropertyDefinition(node) {
|
|
@@ -222,7 +227,8 @@ const rule = {
|
|
|
222
227
|
if (isOn('booleanIsPrefix')
|
|
223
228
|
&& isBooleanType(node.typeAnnotation)
|
|
224
229
|
&& !propName.startsWith('is')
|
|
225
|
-
&& !propName.endsWith('_$')
|
|
230
|
+
&& !propName.endsWith('_$')
|
|
231
|
+
&& !allowedBooleanPropertyNames.includes(propName)) {
|
|
226
232
|
context.report({
|
|
227
233
|
node: node.key,
|
|
228
234
|
messageId: 'booleanIsPrefix',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming-patterns.js","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"naming-patterns.js","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
*/
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
28
|
const tslib_1 = require("tslib");
|
|
29
|
+
const fs_1 = require("fs");
|
|
30
|
+
const path_1 = require("path");
|
|
29
31
|
const eslint_1 = require("eslint");
|
|
30
32
|
const fast_glob_1 = tslib_1.__importDefault(require("fast-glob"));
|
|
31
33
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
@@ -33,6 +35,48 @@ const naming_patterns_1 = tslib_1.__importDefault(require("../plugin/rules/namin
|
|
|
33
35
|
// The parser is provided by the unified typescript-eslint consumer peer.
|
|
34
36
|
// eslint-disable-next-line @futdevpro/dynamo/no-dynamic-imports, @typescript-eslint/no-require-imports
|
|
35
37
|
const tsParser = require('typescript-eslint').parser;
|
|
38
|
+
/** Returns whether a value is a non-null object with string keys. */
|
|
39
|
+
function isRecord(value) {
|
|
40
|
+
return typeof value === 'object' && value !== null;
|
|
41
|
+
}
|
|
42
|
+
/** Returns whether an unknown error exposes the Node.js error-code contract. */
|
|
43
|
+
function isNodeErrorWithCode(error) {
|
|
44
|
+
return isRecord(error) && typeof error['code'] === 'string';
|
|
45
|
+
}
|
|
46
|
+
/** Validates the exact consumer allowlist value type. */
|
|
47
|
+
function isNonEmptyStringArray(value) {
|
|
48
|
+
return Array.isArray(value)
|
|
49
|
+
&& value.every((name) => typeof name === 'string' && name.trim().length > 0);
|
|
50
|
+
}
|
|
51
|
+
/** Reads and validates explicit naming exceptions from the consumer package.json. */
|
|
52
|
+
function readNamingValidatorConfig() {
|
|
53
|
+
const packageJsonPath = (0, path_1.resolve)(process.cwd(), 'package.json');
|
|
54
|
+
let packageConfig;
|
|
55
|
+
try {
|
|
56
|
+
packageConfig = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8'));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
if (isNodeErrorWithCode(error) && error.code === 'ENOENT') {
|
|
60
|
+
return { allowedBooleanPropertyNames: [] };
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`Unable to read naming validator configuration from ${packageJsonPath}`, { cause: error });
|
|
63
|
+
}
|
|
64
|
+
if (!isRecord(packageConfig)) {
|
|
65
|
+
throw new Error(`Expected ${packageJsonPath} to contain a JSON object.`);
|
|
66
|
+
}
|
|
67
|
+
const dynamoEslintConfig = packageConfig['dynamoEslint'];
|
|
68
|
+
const namingConfig = isRecord(dynamoEslintConfig) ? dynamoEslintConfig['naming'] : undefined;
|
|
69
|
+
const configuredNames = isRecord(namingConfig)
|
|
70
|
+
? namingConfig['allowedBooleanPropertyNames']
|
|
71
|
+
: undefined;
|
|
72
|
+
if (configuredNames === undefined) {
|
|
73
|
+
return { allowedBooleanPropertyNames: [] };
|
|
74
|
+
}
|
|
75
|
+
if (!isNonEmptyStringArray(configuredNames)) {
|
|
76
|
+
throw new Error('package.json dynamoEslint.naming.allowedBooleanPropertyNames must be an array of non-empty strings.');
|
|
77
|
+
}
|
|
78
|
+
return { allowedBooleanPropertyNames: [...new Set(configuredNames)] };
|
|
79
|
+
}
|
|
36
80
|
/** Identifies the informational diagnostic emitted when isolated validators intentionally ignore inline config. */
|
|
37
81
|
function isIgnoredInlineConfigDiagnostic(message) {
|
|
38
82
|
return !message.ruleId && message.message.includes("has no effect because you have 'noInlineConfig'");
|
|
@@ -54,7 +98,7 @@ function isIgnoredInlineConfigDiagnostic(message) {
|
|
|
54
98
|
* }
|
|
55
99
|
* ```
|
|
56
100
|
*/
|
|
57
|
-
async function validateNamingInFile(filePath) {
|
|
101
|
+
async function validateNamingInFile(filePath, config) {
|
|
58
102
|
const eslint = new eslint_1.ESLint({
|
|
59
103
|
overrideConfigFile: true,
|
|
60
104
|
overrideConfig: [{
|
|
@@ -78,7 +122,9 @@ async function validateNamingInFile(filePath) {
|
|
|
78
122
|
},
|
|
79
123
|
},
|
|
80
124
|
rules: {
|
|
81
|
-
'@futdevpro/dynamo/naming-patterns': 'error',
|
|
125
|
+
'@futdevpro/dynamo/naming-patterns': ['error', {
|
|
126
|
+
allowedBooleanPropertyNames: config.allowedBooleanPropertyNames,
|
|
127
|
+
}],
|
|
82
128
|
},
|
|
83
129
|
}],
|
|
84
130
|
});
|
|
@@ -110,6 +156,7 @@ async function validateNamingInFile(filePath) {
|
|
|
110
156
|
* @throws {Error} When validation fails and process exits with code 1
|
|
111
157
|
*/
|
|
112
158
|
async function main() {
|
|
159
|
+
const config = readNamingValidatorConfig();
|
|
113
160
|
// Find all TypeScript files, excluding common directories and test files
|
|
114
161
|
const files = await (0, fast_glob_1.default)(['**/*.{ts,tsx}'], {
|
|
115
162
|
ignore: [
|
|
@@ -129,7 +176,7 @@ async function main() {
|
|
|
129
176
|
for (let i = 0; i < files.length; i++) {
|
|
130
177
|
const filePath = files[i];
|
|
131
178
|
try {
|
|
132
|
-
const result = await validateNamingInFile(filePath);
|
|
179
|
+
const result = await validateNamingInFile(filePath, config);
|
|
133
180
|
results.push(result);
|
|
134
181
|
totalErrors += result.errors.length;
|
|
135
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-naming.js","sourceRoot":"","sources":["../../src/scripts/validate-naming.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,mCAAgC;AAChC,kEAA2B;AAE3B,sDAAiD;AAEjD,8FAAiE;AAEjE,yEAAyE;AACzE,uGAAuG;AACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-naming.js","sourceRoot":"","sources":["../../src/scripts/validate-naming.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/dynamo-eslint",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.12",
|
|
4
4
|
"description": "Shared ESLint configs, Dynamo-powered plugin and validators for FutDevPro stacks",
|
|
5
5
|
"author": "Future Development Program Ltd.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"@futdevpro/fsm-dynamo": "1.20.
|
|
92
|
+
"@futdevpro/fsm-dynamo": "1.20.16",
|
|
93
93
|
"eslint-plugin-max-params-no-constructor": "0.0.4",
|
|
94
94
|
"eslint-plugin-unused-imports": "4.4.1",
|
|
95
95
|
"fast-glob": "3.3.3",
|