@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 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
- 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
- ```
211
+ ### Explicit legacy boolean-name exceptions
41
212
 
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:
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
- "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"
218
+ "dynamoEslint": {
219
+ "naming": {
220
+ "allowedBooleanPropertyNames": ["closed", "revoked"]
221
+ }
153
222
  }
154
223
  }
155
224
  ```
156
225
 
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
- }
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,UA+OhB,CAAC;AAEF,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":"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"}
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.8",
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.12",
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",