@futdevpro/dynamo-eslint 1.15.28 → 1.20.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 +13 -16
- package/__documentations/2026-08-22-angular-20-phase2-release.md +79 -0
- package/build/configs/base.d.ts +8 -9
- package/build/configs/base.d.ts.map +1 -1
- package/build/configs/base.js +149 -150
- package/build/configs/base.js.map +1 -1
- package/build/configs/fsm.d.ts +1 -1
- package/build/configs/fsm.js +7 -7
- package/build/configs/ngx-package.d.ts +1 -1
- package/build/configs/ngx-package.js +7 -7
- package/build/configs/ngx.d.ts +2 -4
- package/build/configs/ngx.d.ts.map +1 -1
- package/build/configs/ngx.js +88 -91
- package/build/configs/ngx.js.map +1 -1
- package/build/configs/nts-package.d.ts +1 -1
- package/build/configs/nts-package.js +17 -17
- package/build/configs/nts.d.ts +1 -1
- package/build/configs/nts.js +31 -31
- package/build/index.d.ts +1 -1
- package/build/index.js +2 -2
- package/build/plugin/index.d.ts +52 -52
- package/build/plugin/index.js +80 -80
- package/build/plugin/rules/angular/angular-for-track-logic.d.ts +7 -7
- package/build/plugin/rules/angular/angular-for-track-logic.js +81 -81
- package/build/plugin/rules/angular/effect-signal-loop.d.ts +9 -9
- package/build/plugin/rules/angular/effect-signal-loop.js +112 -112
- package/build/plugin/rules/angular/no-async-ngoninit.d.ts +8 -8
- package/build/plugin/rules/angular/no-async-ngoninit.js +42 -42
- package/build/plugin/rules/angular/no-component-direct-api.d.ts +9 -9
- package/build/plugin/rules/angular/no-component-direct-api.js +75 -75
- package/build/plugin/rules/angular/no-method-call-in-template.d.ts +8 -8
- package/build/plugin/rules/angular/no-method-call-in-template.js +79 -79
- package/build/plugin/rules/angular/no-ngfor-directive.d.ts +7 -7
- package/build/plugin/rules/angular/no-ngfor-directive.js +59 -59
- package/build/plugin/rules/angular/no-ngif-directive.d.ts +7 -7
- package/build/plugin/rules/angular/no-ngif-directive.js +59 -59
- package/build/plugin/rules/explicit-types.d.ts +3 -3
- package/build/plugin/rules/explicit-types.js +178 -178
- package/build/plugin/rules/import/import-order.d.ts +3 -3
- package/build/plugin/rules/import/import-order.js +154 -154
- package/build/plugin/rules/import/no-import-type.d.ts +3 -3
- package/build/plugin/rules/import/no-import-type.js +45 -45
- package/build/plugin/rules/import/no-js-import.d.ts +3 -3
- package/build/plugin/rules/import/no-js-import.js +40 -40
- package/build/plugin/rules/naming-patterns.d.ts +7 -7
- package/build/plugin/rules/naming-patterns.js +366 -366
- package/build/plugin/rules/no-getter-logic.d.ts +3 -3
- package/build/plugin/rules/no-getter-logic.js +194 -194
- package/build/plugin/rules/no-getter-logic.js.map +1 -1
- package/build/plugin/rules/prefer-enum-over-string-union.d.ts +3 -3
- package/build/plugin/rules/prefer-enum-over-string-union.js +289 -289
- package/build/plugin/rules/prefer-enum-over-string-union.js.map +1 -1
- package/build/plugin/rules/prefer-interface-over-duplicate-types.d.ts +3 -3
- package/build/plugin/rules/prefer-interface-over-duplicate-types.js +264 -264
- package/build/plugin/rules/prefer-interface-over-duplicate-types.js.map +1 -1
- package/build/plugin/rules/require-jsdoc-description.d.ts +3 -3
- package/build/plugin/rules/require-jsdoc-description.js +496 -496
- package/build/plugin/rules/require-jsdoc-description.js.map +1 -1
- package/build/plugin/rules/require-test-description-prefix.d.ts +3 -3
- package/build/plugin/rules/require-test-description-prefix.js +135 -135
- package/build/plugin/rules/ts/data-model-extends.d.ts +8 -8
- package/build/plugin/rules/ts/data-model-extends.js +94 -94
- package/build/plugin/rules/ts/no-any-type.d.ts +8 -8
- package/build/plugin/rules/ts/no-any-type.js +36 -36
- package/build/plugin/rules/ts/no-as-cast.d.ts +8 -8
- package/build/plugin/rules/ts/no-as-cast.js +49 -49
- package/build/plugin/rules/ts/no-dynamic-imports.d.ts +8 -8
- package/build/plugin/rules/ts/no-dynamic-imports.js +50 -50
- package/build/plugin/rules/ts/no-native-browser-dialogs.d.ts +8 -8
- package/build/plugin/rules/ts/no-native-browser-dialogs.js +78 -78
- package/build/plugin/rules/ts/no-plain-function-export.d.ts +9 -9
- package/build/plugin/rules/ts/no-plain-function-export.js +69 -69
- package/build/plugin/rules/ts/one-export-per-file.d.ts +8 -8
- package/build/plugin/rules/ts/one-export-per-file.js +73 -73
- package/build/scripts/dynamo-fix.d.ts +26 -26
- package/build/scripts/dynamo-fix.js +146 -146
- package/build/scripts/dynamo-fix.js.map +1 -1
- package/build/scripts/eslintrc-audit.d.ts +26 -26
- package/build/scripts/eslintrc-audit.js +100 -100
- package/build/scripts/fix-return-types.d.ts +74 -74
- package/build/scripts/fix-return-types.d.ts.map +1 -1
- package/build/scripts/fix-return-types.js +226 -226
- package/build/scripts/fix-return-types.js.map +1 -1
- package/build/scripts/validate-imports.d.ts +26 -26
- package/build/scripts/validate-imports.js +170 -157
- package/build/scripts/validate-imports.js.map +1 -1
- package/build/scripts/validate-naming.d.ts +26 -26
- package/build/scripts/validate-naming.js +170 -157
- package/build/scripts/validate-naming.js.map +1 -1
- package/eslint.config.js +1 -1
- package/package.json +104 -105
- package/pnpm-workspace.yaml +2 -0
- package/samples/package.json.example +5 -9
- package/src/configs/angular20-compatibility.spec.ts +62 -0
- package/src/configs/base.ts +3 -4
- package/src/configs/ngx.ts +5 -8
- package/src/plugin/rules/no-getter-logic.ts +1 -1
- package/src/plugin/rules/prefer-enum-over-string-union.spec.ts +9 -9
- package/src/plugin/rules/prefer-enum-over-string-union.ts +7 -8
- package/src/plugin/rules/prefer-interface-over-duplicate-types.spec.ts +22 -22
- package/src/plugin/rules/prefer-interface-over-duplicate-types.ts +2 -2
- package/src/plugin/rules/require-jsdoc-description.spec.ts +2 -2
- package/src/plugin/rules/require-jsdoc-description.ts +7 -7
- package/src/scripts/dynamo-fix.ts +1 -1
- package/src/scripts/fix-return-types.ts +4 -3
- package/src/scripts/validate-imports.ts +29 -15
- package/src/scripts/validate-naming.ts +29 -20
- package/src/scripts/validator-cli.integration.spec.ts +11 -8
package/README.md
CHANGED
|
@@ -13,23 +13,20 @@ npm install --save-dev @futdevpro/dynamo-eslint
|
|
|
13
13
|
### Required Peer Dependencies
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install --save-dev \
|
|
17
|
-
|
|
18
|
-
@
|
|
19
|
-
eslint
|
|
20
|
-
eslint-plugin-import@^2.29.0 \
|
|
21
|
-
eslint-plugin-jsdoc@^48.0.0 \
|
|
22
|
-
eslint-plugin-prettier@^5.1.3 \
|
|
23
|
-
prettier@^3.3.0
|
|
16
|
+
npm install --save-dev \
|
|
17
|
+
eslint@~9.39.5 \
|
|
18
|
+
typescript@5.9.3 \
|
|
19
|
+
typescript-eslint@~8.67.0
|
|
24
20
|
```
|
|
25
21
|
|
|
26
|
-
For Angular projects, also install:
|
|
22
|
+
For Angular projects, also install:
|
|
27
23
|
```bash
|
|
28
|
-
npm install --save-dev \
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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.
|
|
33
30
|
|
|
34
31
|
## 📋 Available Presets
|
|
35
32
|
|
|
@@ -259,7 +256,7 @@ Add to your `package.json`:
|
|
|
259
256
|
Ensure all peer dependencies are installed with compatible versions:
|
|
260
257
|
|
|
261
258
|
```bash
|
|
262
|
-
npm ls
|
|
259
|
+
npm ls typescript-eslint angular-eslint eslint typescript
|
|
263
260
|
```
|
|
264
261
|
|
|
265
262
|
### ESLint v9 Flat Config
|
|
@@ -317,4 +314,4 @@ This package uses its own presets and rules for self-linting. The ESLint v9 flat
|
|
|
317
314
|
|
|
318
315
|
**Maintained by**: Future Development Program Ltd.
|
|
319
316
|
**License**: ISC
|
|
320
|
-
**Version**:
|
|
317
|
+
**Version**: 1.20.2
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Angular 20 fleet upgrade — Phase 2 Dynamo ESLint release
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-08-22
|
|
4
|
+
|
|
5
|
+
**Requirement:** BFR-CTM-006
|
|
6
|
+
|
|
7
|
+
**Release:** `@futdevpro/dynamo-eslint@1.20.2` after the repository release hook
|
|
8
|
+
|
|
9
|
+
**Dependency baseline:** `@futdevpro/fsm-dynamo@1.20.2`
|
|
10
|
+
|
|
11
|
+
## Outcome
|
|
12
|
+
|
|
13
|
+
The shared Dynamo ESLint package now has an Angular 20-compatible, ESLint 9 flat-config contract. The presets use
|
|
14
|
+
the unified `angular-eslint` and `typescript-eslint` public packages instead of requiring their implementation
|
|
15
|
+
subpackages as separate consumer peers. The obsolete Angular rule
|
|
16
|
+
`@angular-eslint/no-host-metadata-property`, which is not exported by Angular ESLint 20, is no longer configured.
|
|
17
|
+
|
|
18
|
+
This is a direct Bedrock correction. Consumers continue to load the existing public preset subpaths
|
|
19
|
+
(`base`, `nts`, `nts-package`, `fsm`, `ngx`, and `ngx-package`); no compatibility wrapper or replacement package
|
|
20
|
+
was introduced.
|
|
21
|
+
|
|
22
|
+
## Published dependency contract
|
|
23
|
+
|
|
24
|
+
- `angular-eslint`: `~20.7.0`
|
|
25
|
+
- `typescript-eslint`: `~8.67.0`
|
|
26
|
+
- `eslint`: `~9.39.5`
|
|
27
|
+
- `typescript`: `>=5.8.2 <6.0.0`
|
|
28
|
+
- runtime Bedrock dependency: exact `@futdevpro/fsm-dynamo@1.20.2`
|
|
29
|
+
|
|
30
|
+
`angular-eslint` is optional at package-install level so Node-only preset consumers do not need the Angular toolchain;
|
|
31
|
+
it remains mandatory whenever an Angular preset is loaded.
|
|
32
|
+
|
|
33
|
+
The previous `eslint-plugin-import`, `eslint-plugin-jsdoc`, `eslint-plugin-prettier`, and `prettier` peers were
|
|
34
|
+
removed because the exported presets do not load or configure them. Keeping unused peers forced unrelated
|
|
35
|
+
consumer installations and created false peer conflicts.
|
|
36
|
+
|
|
37
|
+
## Flat-config and validator corrections
|
|
38
|
+
|
|
39
|
+
- TypeScript parser/plugin resolution now comes from `typescript-eslint`.
|
|
40
|
+
- Angular TypeScript plugin, template plugin, and template parser resolution now comes from `angular-eslint`.
|
|
41
|
+
- An executable compatibility specification verifies that every configured Angular rule exists in the Angular
|
|
42
|
+
20 plugin objects and that the unified parser/plugin instances are the exported preset instances.
|
|
43
|
+
- TypeScript 5.9's current ESLint visitor callback declarations are reflected in the direct unit-test invocations.
|
|
44
|
+
Runtime visitor behavior is unchanged; unused synthetic visitor arguments were removed from implementations.
|
|
45
|
+
- Package-local validator scripts now invoke their built entry points directly. The former scripts attempted to
|
|
46
|
+
execute the package's own bin alias before that alias existed in `node_modules/.bin`.
|
|
47
|
+
- Import and naming validators disable consumer inline config and filter only ESLint's corresponding informational
|
|
48
|
+
`noInlineConfig` diagnostic. Parse/runtime failures still fail hard.
|
|
49
|
+
- Validator discovery excludes `samples/**`, because the repository intentionally contains violating samples.
|
|
50
|
+
- Subprocess integration coverage proves that unknown consumer-only inline directives cannot contaminate either
|
|
51
|
+
isolated validator result.
|
|
52
|
+
|
|
53
|
+
## Verification evidence before commit
|
|
54
|
+
|
|
55
|
+
- TypeScript 5.9.3 compilation: PASS.
|
|
56
|
+
- Jasmine: 205 specifications, 0 failures.
|
|
57
|
+
- Angular 20 preset compatibility: 3 executable specifications, PASS.
|
|
58
|
+
- Import validator: 37 production source files, PASS.
|
|
59
|
+
- Naming validator: 37 production source files, PASS.
|
|
60
|
+
- Production dependency audit: 0 known vulnerabilities.
|
|
61
|
+
- Package dependency tree: all declared direct dependencies resolved.
|
|
62
|
+
- Pre-hook package dry run: `@futdevpro/dynamo-eslint@1.20.1` generated successfully; the release hook then aligned
|
|
63
|
+
the final package version to `1.20.2`.
|
|
64
|
+
- Full repository ESLint: 0 errors and 2,728 legacy warning-level findings; the existing script exits successfully.
|
|
65
|
+
This release adds no warning-level release gate claim for the historical package source. The consumer release
|
|
66
|
+
gate remains zero-warning lint, and the upgraded presets must be proven there before BFR-CTM-006 resolution.
|
|
67
|
+
|
|
68
|
+
## Release and downstream gates
|
|
69
|
+
|
|
70
|
+
1. Complete two consecutive post-fix review passes.
|
|
71
|
+
2. Commit; inspect any version/dependency changes made by the Bedrock release hook.
|
|
72
|
+
3. Reinstall and rerun compilation, all specifications, validators, audit, and package manifest checks against the
|
|
73
|
+
post-hook tree.
|
|
74
|
+
4. Push and publish the exact reviewed commit.
|
|
75
|
+
5. Read back registry version, integrity, shasum, and peer dependencies.
|
|
76
|
+
6. Adopt the exact release in `@futdevpro/ngx-dynamo`, prove its Angular 20 sandbox and package gates, then publish
|
|
77
|
+
that Bedrock layer.
|
|
78
|
+
7. Adopt the exact Angular 20 Bedrock chain in Company Toolmaker and close BFR-CTM-006 only after the full consumer
|
|
79
|
+
security, browser, test, audit, and user-journey gates are green.
|
package/build/configs/base.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base Rulesets For Dynamo Based Systems
|
|
3
|
-
* ESLint v9 Flat Config Format
|
|
4
|
-
*/
|
|
5
|
-
declare const
|
|
6
|
-
declare const
|
|
7
|
-
declare const
|
|
8
|
-
declare const
|
|
9
|
-
declare const dynamoPlugin: any;
|
|
1
|
+
/**
|
|
2
|
+
* Base Rulesets For Dynamo Based Systems
|
|
3
|
+
* ESLint v9 Flat Config Format
|
|
4
|
+
*/
|
|
5
|
+
declare const tsEslint: any;
|
|
6
|
+
declare const unusedImportsPlugin: any;
|
|
7
|
+
declare const maxParamsNoConstructorPlugin: any;
|
|
8
|
+
declare const dynamoPlugin: any;
|
|
10
9
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,QAAA,MAAM,QAAQ,KAA+B,CAAC;AAC9C,QAAA,MAAM,mBAAmB,KAA0C,CAAC;AACpE,QAAA,MAAM,4BAA4B,KAAqD,CAAC;AACxF,QAAA,MAAM,YAAY,KAAuB,CAAC"}
|
package/build/configs/base.js
CHANGED
|
@@ -1,151 +1,150 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base Rulesets For Dynamo Based Systems
|
|
3
|
-
* ESLint v9 Flat Config Format
|
|
4
|
-
*/
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
'max-
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'no-
|
|
59
|
-
'no-
|
|
60
|
-
'
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
],
|
|
71
|
-
'
|
|
72
|
-
'curly': ['warn', '
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
|
|
76
|
-
'
|
|
77
|
-
{ blankLine: 'always', prev:
|
|
78
|
-
{ blankLine: '
|
|
79
|
-
{ blankLine: 'any', prev:
|
|
80
|
-
{ blankLine: 'any', prev: '
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
'
|
|
84
|
-
'no-
|
|
85
|
-
'
|
|
86
|
-
'
|
|
87
|
-
'no-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
'max-params': ['warn',
|
|
91
|
-
'
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
// a
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
'dot-notation':
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
'@typescript-eslint/
|
|
114
|
-
'@typescript-eslint/explicit-
|
|
115
|
-
'@typescript-eslint/
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
'@futdevpro/dynamo/
|
|
131
|
-
'@futdevpro/dynamo/
|
|
132
|
-
'@futdevpro/dynamo/
|
|
133
|
-
'@futdevpro/dynamo/no-import
|
|
134
|
-
'@futdevpro/dynamo/
|
|
135
|
-
'@futdevpro/dynamo/
|
|
136
|
-
'@futdevpro/dynamo/
|
|
137
|
-
'@futdevpro/dynamo/
|
|
138
|
-
'@futdevpro/dynamo/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
'@futdevpro/dynamo/no-
|
|
142
|
-
'@futdevpro/dynamo/no-
|
|
143
|
-
'@futdevpro/dynamo/
|
|
144
|
-
'@futdevpro/dynamo/
|
|
145
|
-
'@futdevpro/dynamo/
|
|
146
|
-
'@futdevpro/dynamo/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
];
|
|
1
|
+
/**
|
|
2
|
+
* Base Rulesets For Dynamo Based Systems
|
|
3
|
+
* ESLint v9 Flat Config Format
|
|
4
|
+
*/
|
|
5
|
+
const tsEslint = require('typescript-eslint');
|
|
6
|
+
const unusedImportsPlugin = require('eslint-plugin-unused-imports');
|
|
7
|
+
const maxParamsNoConstructorPlugin = require('eslint-plugin-max-params-no-constructor');
|
|
8
|
+
const dynamoPlugin = require('../plugin');
|
|
9
|
+
module.exports = [
|
|
10
|
+
{
|
|
11
|
+
ignores: [
|
|
12
|
+
'node_modules/**',
|
|
13
|
+
'dist/**',
|
|
14
|
+
'build/**',
|
|
15
|
+
'*.d.ts',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
files: ['**/*.ts', '**/*.tsx'],
|
|
20
|
+
languageOptions: {
|
|
21
|
+
parser: tsEslint.parser,
|
|
22
|
+
parserOptions: {
|
|
23
|
+
ecmaVersion: 'latest',
|
|
24
|
+
sourceType: 'module',
|
|
25
|
+
projectService: true,
|
|
26
|
+
tsconfigRootDir: process.cwd(),
|
|
27
|
+
},
|
|
28
|
+
globals: {
|
|
29
|
+
// Browser globals
|
|
30
|
+
window: 'readonly',
|
|
31
|
+
document: 'readonly',
|
|
32
|
+
console: 'readonly',
|
|
33
|
+
process: 'readonly',
|
|
34
|
+
Buffer: 'readonly',
|
|
35
|
+
global: 'readonly',
|
|
36
|
+
__dirname: 'readonly',
|
|
37
|
+
__filename: 'readonly',
|
|
38
|
+
module: 'readonly',
|
|
39
|
+
require: 'readonly',
|
|
40
|
+
exports: 'readonly',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
plugins: {
|
|
44
|
+
'@typescript-eslint': tsEslint.plugin,
|
|
45
|
+
'unused-imports': unusedImportsPlugin,
|
|
46
|
+
'max-params-no-constructor': maxParamsNoConstructorPlugin,
|
|
47
|
+
'@futdevpro/dynamo': dynamoPlugin,
|
|
48
|
+
},
|
|
49
|
+
rules: {
|
|
50
|
+
// ESLint recommended rules
|
|
51
|
+
'no-warning-comments': ['warn', { terms: ['todo', 'fixme', 'removable', '??'], location: 'anywhere' }],
|
|
52
|
+
'indent': ['warn', 2, { SwitchCase: 1 }],
|
|
53
|
+
'max-len': ['warn', { code: 120, comments: 120 }],
|
|
54
|
+
'max-lines': ['warn', 1000],
|
|
55
|
+
'linebreak-style': 'off',
|
|
56
|
+
'semi': ['warn', 'always'],
|
|
57
|
+
'no-unused-vars': 'off',
|
|
58
|
+
'no-prototype-builtins': 'off',
|
|
59
|
+
'no-empty': 'warn',
|
|
60
|
+
'comma-dangle': [
|
|
61
|
+
'warn',
|
|
62
|
+
{
|
|
63
|
+
arrays: 'always-multiline',
|
|
64
|
+
objects: 'always-multiline',
|
|
65
|
+
functions: 'only-multiline',
|
|
66
|
+
imports: 'never',
|
|
67
|
+
exports: 'never',
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
'brace-style': ['warn', '1tbs', { allowSingleLine: false }],
|
|
71
|
+
'curly': ['warn', 'all'],
|
|
72
|
+
'object-curly-spacing': ['warn', 'always'],
|
|
73
|
+
'array-bracket-spacing': ['warn', 'always', { objectsInArrays: false, arraysInArrays: false }],
|
|
74
|
+
'padding-line-between-statements': [
|
|
75
|
+
'warn',
|
|
76
|
+
{ blankLine: 'always', prev: '*', next: ['return', 'throw', 'if', 'for', 'while', 'switch', 'default'] },
|
|
77
|
+
{ blankLine: 'always', prev: ['const', 'let', 'var', 'break'], next: '*' },
|
|
78
|
+
{ blankLine: 'any', prev: ['const', 'let', 'var'], next: ['const', 'let', 'var'] },
|
|
79
|
+
{ blankLine: 'any', prev: '*', next: 'import' },
|
|
80
|
+
{ blankLine: 'any', prev: 'import', next: '*' },
|
|
81
|
+
],
|
|
82
|
+
'prefer-const': 'warn',
|
|
83
|
+
'no-case-declarations': 'off',
|
|
84
|
+
'no-fallthrough': 'off',
|
|
85
|
+
'keyword-spacing': 'warn',
|
|
86
|
+
'no-else-return': 'warn',
|
|
87
|
+
'no-duplicate-imports': 'warn',
|
|
88
|
+
// CCAP method-input-count: 3+ paraméter helyett egyetlen object input kötelező
|
|
89
|
+
'max-params': ['warn', 3],
|
|
90
|
+
'max-params-no-constructor/max-params-no-constructor': ['warn', 5],
|
|
91
|
+
'quotes': ['warn', 'single', { allowTemplateLiterals: true }],
|
|
92
|
+
// CCAP no-object-shorthand: tilos a `{ foo }` shorthand, mindig `{ foo: foo }`
|
|
93
|
+
'object-shorthand': ['warn', 'never'],
|
|
94
|
+
// CCAP no-bracket-property-access: dot-notation előnyben (ahol lehetséges).
|
|
95
|
+
// A STOCK `dot-notation`-t KIKAPCSOLJUK és a type-aware
|
|
96
|
+
// `@typescript-eslint/dot-notation`-t hasznaljuk helyette: a stock variant
|
|
97
|
+
// a `service['protectedMember']` bracket-access-t is `service.protectedMember`-re
|
|
98
|
+
// javitana (--fix), ami a class-hierarchian KIVULROL (pl. spec fajlbol) elert
|
|
99
|
+
// protected/private tagnal TS2445 fordito-hibat okoz. A bracket-forma ott a
|
|
100
|
+
// kanonikus TS escape-hatch. A type-aware variant a checker-bol latja a
|
|
101
|
+
// modositokat, ezert NEM nyul a protected/private/index-signature elerese-hez.
|
|
102
|
+
'dot-notation': 'off',
|
|
103
|
+
'@typescript-eslint/dot-notation': [
|
|
104
|
+
'warn',
|
|
105
|
+
{
|
|
106
|
+
allowProtectedClassPropertyAccess: true,
|
|
107
|
+
allowPrivateClassPropertyAccess: true,
|
|
108
|
+
allowIndexSignaturePropertyAccess: true,
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
// TypeScript rules
|
|
112
|
+
'@typescript-eslint/no-unused-vars': 'warn',
|
|
113
|
+
'@typescript-eslint/explicit-function-return-type': ['warn', { allowTypedFunctionExpressions: false }],
|
|
114
|
+
'@typescript-eslint/no-explicit-any': 'warn',
|
|
115
|
+
'@typescript-eslint/typedef': [
|
|
116
|
+
'warn',
|
|
117
|
+
{
|
|
118
|
+
parameter: true, // Enforce parameter type annotations
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
'@typescript-eslint/no-unnecessary-type-assertion': 'warn',
|
|
122
|
+
// CCAP no-array-generic: `Array<T>` helyett `T[]`
|
|
123
|
+
'@typescript-eslint/array-type': ['warn', { default: 'array' }],
|
|
124
|
+
// CCAP prefer-optional-chaining: `a && a.b` helyett `a?.b`
|
|
125
|
+
'@typescript-eslint/prefer-optional-chain': 'warn',
|
|
126
|
+
// CCAP no-dynamic-imports (CommonJS variant): `require()` helyett ES import
|
|
127
|
+
'@typescript-eslint/no-require-imports': 'warn',
|
|
128
|
+
// Dynamo custom rules
|
|
129
|
+
'@futdevpro/dynamo/explicit-types': 'warn',
|
|
130
|
+
'@futdevpro/dynamo/import-order': 'warn',
|
|
131
|
+
'@futdevpro/dynamo/naming-patterns': 'warn',
|
|
132
|
+
'@futdevpro/dynamo/no-import-type': 'warn',
|
|
133
|
+
'@futdevpro/dynamo/no-js-import': 'warn',
|
|
134
|
+
'@futdevpro/dynamo/prefer-interface-over-duplicate-types': ['warn', { threshold: 3 }],
|
|
135
|
+
'@futdevpro/dynamo/require-jsdoc-description': ['warn', { scope: 'public' }],
|
|
136
|
+
'@futdevpro/dynamo/prefer-enum-over-string-union': ['warn', { minValues: 3 }],
|
|
137
|
+
'@futdevpro/dynamo/require-test-description-prefix': ['warn', { prefix: '| ' }],
|
|
138
|
+
'@futdevpro/dynamo/no-getter-logic': 'warn',
|
|
139
|
+
// CCAP-portolt TypeScript review-k (AST-alapú).
|
|
140
|
+
'@futdevpro/dynamo/no-as-cast': 'warn',
|
|
141
|
+
'@futdevpro/dynamo/no-any-type': 'warn',
|
|
142
|
+
'@futdevpro/dynamo/no-dynamic-imports': 'warn',
|
|
143
|
+
'@futdevpro/dynamo/one-export-per-file': 'warn',
|
|
144
|
+
'@futdevpro/dynamo/no-plain-function-export': 'warn',
|
|
145
|
+
'@futdevpro/dynamo/data-model-extends': 'warn',
|
|
146
|
+
'@futdevpro/dynamo/no-native-browser-dialogs': 'warn',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
];
|
|
151
150
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,QAAQ,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"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"}
|
package/build/configs/fsm.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const fsmBaseConfig: any;
|
|
1
|
+
declare const fsmBaseConfig: any;
|
|
2
2
|
//# sourceMappingURL=fsm.d.ts.map
|
package/build/configs/fsm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const fsmBaseConfig = require('./base');
|
|
2
|
-
/**
|
|
3
|
-
* Rulesets For Dynamo Based Systems
|
|
4
|
-
* FSM: Full Stack Module
|
|
5
|
-
* ESLint v9 Flat Config Format
|
|
6
|
-
*/
|
|
7
|
-
module.exports = fsmBaseConfig;
|
|
1
|
+
const fsmBaseConfig = require('./base');
|
|
2
|
+
/**
|
|
3
|
+
* Rulesets For Dynamo Based Systems
|
|
4
|
+
* FSM: Full Stack Module
|
|
5
|
+
* ESLint v9 Flat Config Format
|
|
6
|
+
*/
|
|
7
|
+
module.exports = fsmBaseConfig;
|
|
8
8
|
//# sourceMappingURL=fsm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const ngxConfig: any;
|
|
1
|
+
declare const ngxConfig: any;
|
|
2
2
|
//# sourceMappingURL=ngx-package.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const ngxConfig = require('./ngx');
|
|
2
|
-
/**
|
|
3
|
-
* Rulesets For Dynamo Based Systems
|
|
4
|
-
* NGX-PACKAGE: Angular Package
|
|
5
|
-
* ESLint v9 Flat Config Format
|
|
6
|
-
*/
|
|
7
|
-
module.exports = ngxConfig;
|
|
1
|
+
const ngxConfig = require('./ngx');
|
|
2
|
+
/**
|
|
3
|
+
* Rulesets For Dynamo Based Systems
|
|
4
|
+
* NGX-PACKAGE: Angular Package
|
|
5
|
+
* ESLint v9 Flat Config Format
|
|
6
|
+
*/
|
|
7
|
+
module.exports = ngxConfig;
|
|
8
8
|
//# sourceMappingURL=ngx-package.js.map
|
package/build/configs/ngx.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx.d.ts","sourceRoot":"","sources":["../../src/configs/ngx.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,KAAoB,CAAC;AACxC,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"ngx.d.ts","sourceRoot":"","sources":["../../src/configs/ngx.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,KAAoB,CAAC;AACxC,QAAA,MAAM,aAAa,KAA4B,CAAC"}
|