eslint-config-angular-strict 2.3.40 → 2.3.42

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.
Binary file
package/index.js CHANGED
@@ -32,41 +32,25 @@ export default [
32
32
  languageOptions: { parser: tsEslintParser },
33
33
  plugins: { '@angular-eslint': angularEslintPlugin },
34
34
  rules: {
35
- // Angular ESLint rules
35
+ // Angular ESLint rules (all preset + overrides)
36
+ ...angularEslintPlugin.configs.all.rules,
36
37
  '@angular-eslint/component-class-suffix': ['error', { suffixes: ['Component', 'Drawer', 'Modal', 'Page'] }],
37
- '@angular-eslint/component-max-inline-declarations': 'error',
38
- '@angular-eslint/computed-must-return': 'error',
39
- '@angular-eslint/consistent-component-styles': 'error',
40
- '@angular-eslint/contextual-decorator': 'error',
41
- '@angular-eslint/contextual-lifecycle': 'error',
42
- '@angular-eslint/directive-class-suffix': 'error',
43
- '@angular-eslint/no-async-lifecycle-method': 'error',
44
- '@angular-eslint/no-attribute-decorator': 'error',
45
- '@angular-eslint/no-duplicates-in-metadata-arrays': 'error',
46
- '@angular-eslint/no-empty-lifecycle-method': 'error',
47
- '@angular-eslint/no-forward-ref': 'error',
48
- '@angular-eslint/no-implicit-take-until-destroyed': 'error',
38
+ '@angular-eslint/component-selector': 'off',
39
+ '@angular-eslint/directive-selector': 'off',
40
+ '@angular-eslint/no-conflicting-lifecycle': 'off',
41
+ '@angular-eslint/no-developer-preview': 'off',
42
+ '@angular-eslint/no-experimental': 'off',
49
43
  '@angular-eslint/no-input-prefix': ['error', { prefixes: ['on'] }],
50
- '@angular-eslint/no-input-rename': 'error',
51
- '@angular-eslint/no-inputs-metadata-property': 'error',
52
- '@angular-eslint/no-lifecycle-call': 'error',
53
- '@angular-eslint/no-output-native': 'error',
54
- '@angular-eslint/no-output-on-prefix': 'error',
55
- '@angular-eslint/no-output-rename': 'error',
56
- '@angular-eslint/no-outputs-metadata-property': 'error',
57
- '@angular-eslint/no-pipe-impure': 'error',
58
- '@angular-eslint/no-queries-metadata-property': 'error',
59
- '@angular-eslint/no-uncalled-signals': 'error',
60
- '@angular-eslint/prefer-host-metadata-property': 'error',
61
- '@angular-eslint/prefer-output-readonly': 'error',
62
- '@angular-eslint/prefer-signal-model': 'error',
63
- '@angular-eslint/prefer-standalone': 'error',
64
- '@angular-eslint/relative-url-prefix': 'error',
65
- '@angular-eslint/require-lifecycle-on-prototype': 'error',
66
- '@angular-eslint/use-component-view-encapsulation': 'error',
67
- '@angular-eslint/use-injectable-provided-in': 'error',
68
- '@angular-eslint/use-lifecycle-interface': 'error',
69
- '@angular-eslint/use-pipe-transform-interface': 'error',
44
+ '@angular-eslint/pipe-prefix': 'off',
45
+ '@angular-eslint/prefer-inject': 'off',
46
+ '@angular-eslint/prefer-on-push-component-change-detection': 'off',
47
+ '@angular-eslint/prefer-output-emitter-ref': 'off',
48
+ '@angular-eslint/prefer-signals': 'off',
49
+ '@angular-eslint/require-localize-metadata': 'off',
50
+ '@angular-eslint/runtime-localize': 'off',
51
+ '@angular-eslint/sort-keys-in-type-decorator': 'off',
52
+ '@angular-eslint/sort-lifecycle-methods': 'off',
53
+ '@angular-eslint/use-component-selector': 'off',
70
54
 
71
55
  // ESLint rules
72
56
  'class-methods-use-this': 'off',
@@ -183,38 +167,19 @@ export default [
183
167
  files: ['**/*.html'],
184
168
  languageOptions: { parser: angularTemplateParser },
185
169
  rules: {
186
- // Angular ESLint rules
170
+ // Angular ESLint template rules (all preset + overrides)
171
+ ...angularTemplatePlugin.configs.all.rules,
172
+ '@angular-eslint/template/alt-text': 'off',
187
173
  '@angular-eslint/template/attributes-order': ['error', { alphabetical: true }],
188
- '@angular-eslint/template/banana-in-box': 'error',
189
- '@angular-eslint/template/conditional-complexity': 'error',
174
+ '@angular-eslint/template/button-has-type': 'off',
175
+ '@angular-eslint/template/click-events-have-key-events': 'off',
190
176
  '@angular-eslint/template/cyclomatic-complexity': ['error', { maxComplexity: 10 }],
191
- '@angular-eslint/template/elements-content': 'error',
192
- '@angular-eslint/template/eqeqeq': 'error',
193
- '@angular-eslint/template/mouse-events-have-key-events': 'error',
194
- '@angular-eslint/template/no-any': 'error',
195
- '@angular-eslint/template/no-autofocus': 'error',
196
- '@angular-eslint/template/no-call-expression': 'error',
197
- '@angular-eslint/template/no-distracting-elements': 'error',
198
- '@angular-eslint/template/no-duplicate-attributes': 'error',
199
- '@angular-eslint/template/no-empty-control-flow': 'error',
200
- '@angular-eslint/template/no-interpolation-in-attributes': 'error',
201
- '@angular-eslint/template/no-negated-async': 'error',
202
- '@angular-eslint/template/no-nested-tags': 'error',
203
- '@angular-eslint/template/no-non-null-assertion': 'error',
204
- '@angular-eslint/template/no-positive-tabindex': 'error',
205
- '@angular-eslint/template/prefer-at-else': 'error',
206
- '@angular-eslint/template/prefer-at-empty': 'error',
207
- '@angular-eslint/template/prefer-built-in-pipes': 'error',
208
- '@angular-eslint/template/prefer-contextual-for-variables': 'error',
209
- '@angular-eslint/template/prefer-control-flow': 'error',
210
- '@angular-eslint/template/prefer-self-closing-tags': 'error',
211
- '@angular-eslint/template/prefer-static-string-properties': 'error',
212
- '@angular-eslint/template/prefer-template-literal': 'error',
213
- '@angular-eslint/template/role-has-required-aria': 'error',
214
- '@angular-eslint/template/table-scope': 'error',
177
+ '@angular-eslint/template/i18n': 'off',
178
+ '@angular-eslint/template/interactive-supports-focus': 'off',
179
+ '@angular-eslint/template/label-has-associated-control': 'off',
180
+ '@angular-eslint/template/no-inline-styles': 'off',
181
+ '@angular-eslint/template/prefer-ngsrc': 'off',
215
182
  '@angular-eslint/template/use-track-by-function': ['error', { alias: ['ngForTrackByIndex', 'ngForTrackByProperty'] }],
216
- '@angular-eslint/template/valid-aria': 'error',
217
- '@angular-eslint/template/prefer-class-binding': 'error',
218
183
 
219
184
  // Unicorn rules
220
185
  'unicorn/prefer-string-raw': 'off',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-angular-strict",
3
- "version": "2.3.40",
3
+ "version": "2.3.42",
4
4
  "description": "Modern ESLint configuration with strict rules for Angular development.",
5
5
  "keywords": [
6
6
  "angular",
@@ -48,7 +48,7 @@
48
48
  "eslint-config-airbnb-extended": "3.0.1",
49
49
  "eslint-plugin-import-x": "4.16.2",
50
50
  "eslint-plugin-ng-module-sort": "1.4.0",
51
- "eslint-plugin-unicorn": "63.0.0"
51
+ "eslint-plugin-unicorn": "64.0.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "typescript": "5.9.3"