Skip to content

Commit 85e8ff2

Browse files
committed
chore(eslint): update eslint to v9, angular-eslint, typescript-eslint
1 parent 9ecc651 commit 85e8ff2

File tree

10 files changed

+120
-198
lines changed

10 files changed

+120
-198
lines changed

.eslintrc.json

-55
This file was deleted.

angular.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
"lintFilePatterns": [
5454
"projects/coreui-angular/**/*.ts",
5555
"projects/coreui-angular/**/*.html"
56-
]
56+
],
57+
"eslintConfig": "projects/coreui-angular/eslint.config.js"
5758
}
5859
}
5960
}
@@ -102,7 +103,8 @@
102103
"lintFilePatterns": [
103104
"projects/coreui-angular-chartjs/**/*.ts",
104105
"projects/coreui-angular-chartjs/**/*.html"
105-
]
106+
],
107+
"eslintConfig": "projects/coreui-angular-chartjs/eslint.config.js"
106108
}
107109
}
108110
}
@@ -151,7 +153,8 @@
151153
"lintFilePatterns": [
152154
"projects/coreui-icons-angular/**/*.ts",
153155
"projects/coreui-icons-angular/**/*.html"
154-
]
156+
],
157+
"eslintConfig": "projects/coreui-icons-angular/eslint.config.js"
155158
}
156159
}
157160
}

eslint.config.js

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// @ts-check
2+
const eslint = require('@eslint/js');
3+
const tseslint = require('typescript-eslint');
4+
const angular = require('angular-eslint');
5+
6+
module.exports = tseslint.config(
7+
{
8+
files: ['**/*.ts'],
9+
extends: [
10+
eslint.configs.recommended,
11+
...tseslint.configs.recommended,
12+
...tseslint.configs.stylistic,
13+
...angular.configs.tsRecommended
14+
],
15+
processor: angular.processInlineTemplates,
16+
rules: {
17+
'@angular-eslint/directive-selector': [
18+
'error',
19+
{
20+
type: 'attribute',
21+
prefix: 'c',
22+
style: 'camelCase'
23+
}
24+
],
25+
'@angular-eslint/component-selector': [
26+
'error',
27+
{
28+
type: 'element',
29+
prefix: 'c',
30+
style: 'kebab-case'
31+
}
32+
],
33+
'@angular-eslint/no-input-rename': 'warn',
34+
'@angular-eslint/no-output-rename': 'warn',
35+
'@typescript-eslint/consistent-indexed-object-style': 'off',
36+
'@typescript-eslint/no-empty-function': 'off',
37+
'@typescript-eslint/no-explicit-any': 'off',
38+
'@typescript-eslint/no-inferrable-types': 'off',
39+
'@typescript-eslint/no-unused-expressions': 'off'
40+
}
41+
},
42+
{
43+
files: ['**/*.html'],
44+
extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
45+
rules: {
46+
'@angular-eslint/template/elements-content': 'off',
47+
'@angular-eslint/template/alt-text': 'off',
48+
'@angular-eslint/template/interactive-supports-focus': 'warn',
49+
'@angular-eslint/template/click-events-have-key-events': 'warn',
50+
'@angular-eslint/template/label-has-associated-control': 'warn'
51+
}
52+
}
53+
);

package.json

+6-11
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,20 @@
5656
"lodash-es": "^4.17.21",
5757
"rxjs": "~7.8.1",
5858
"tslib": "^2.6.3",
59-
"zone.js": "~0.14.8"
59+
"zone.js": "~0.14.10"
6060
},
6161
"devDependencies": {
6262
"@angular-devkit/build-angular": "^18.1.3",
6363
"@angular-devkit/schematics": "^18.1.3",
64-
"@angular-eslint/builder": "18.1.0",
65-
"@angular-eslint/eslint-plugin": "18.1.0",
66-
"@angular-eslint/eslint-plugin-template": "18.1.0",
67-
"@angular-eslint/schematics": "18.1.0",
68-
"@angular-eslint/template-parser": "18.1.0",
6964
"@angular/cli": "^18.1.3",
7065
"@angular/compiler-cli": "^18.1.3",
7166
"@angular/language-service": "^18.1.3",
7267
"@types/jasmine": "^5.1.4",
7368
"@types/lodash-es": "^4.17.12",
7469
"@types/node": "^20.14.14",
75-
"@typescript-eslint/eslint-plugin": "^7.17.0",
76-
"@typescript-eslint/parser": "^7.17.0",
70+
"angular-eslint": "~18.2.0",
7771
"copyfiles": "^2.4.1",
78-
"eslint": "^8.57.0",
72+
"eslint": "^9.8.0",
7973
"jasmine-core": "^5.2.0",
8074
"karma": "^6.4.4",
8175
"karma-chrome-launcher": "^3.2.0",
@@ -84,7 +78,8 @@
8478
"karma-jasmine-html-reporter": "^2.1.0",
8579
"ng-packagr": "^18.1.0",
8680
"prettier": "^3.3.3",
87-
"typescript": "~5.4.5"
81+
"typescript": "~5.4.5",
82+
"typescript-eslint": "~8.0.1"
8883
},
8984
"keywords": [
9085
"angular",
@@ -110,7 +105,7 @@
110105
"version_short": "5.2"
111106
},
112107
"engines": {
113-
"node": "^18.19.1 || ^20.11.1 || >=22.0.0",
108+
"node": "^20.11.1 || >=22.0.0",
114109
"npm": ">=9"
115110
}
116111
}

projects/coreui-angular-chartjs/.eslintrc.json

-40
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// @ts-check
2+
const tseslint = require('typescript-eslint');
3+
const rootConfig = require('../../eslint.config.js');
4+
5+
module.exports = tseslint.config(
6+
...rootConfig,
7+
{
8+
files: ['**/*.ts'],
9+
rules: {}
10+
},
11+
{
12+
files: ['**/*.html'],
13+
rules: {}
14+
}
15+
);

projects/coreui-angular/.eslintrc.json

-46
This file was deleted.
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// @ts-check
2+
const tseslint = require('typescript-eslint');
3+
const rootConfig = require('../../eslint.config.js');
4+
5+
module.exports = tseslint.config(
6+
...rootConfig,
7+
{
8+
files: ['**/*.ts'],
9+
rules: {
10+
'@typescript-eslint/ban-ts-comment': 'off',
11+
'@typescript-eslint/ban-tslint-comment': 'off',
12+
'@typescript-eslint/class-literal-property-style': 'off',
13+
'@typescript-eslint/consistent-generic-constructors': 'off',
14+
'@typescript-eslint/consistent-type-assertions': 'off',
15+
'@typescript-eslint/consistent-type-definitions': 'off',
16+
'@typescript-eslint/no-unused-vars': 'off',
17+
'no-extra-boolean-cast': 'off',
18+
'no-unused-private-class-members': 'off'
19+
}
20+
},
21+
{
22+
files: ['**/*.html'],
23+
rules: {}
24+
}
25+
);

projects/coreui-icons-angular/.eslintrc.json

-43
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// @ts-check
2+
const tseslint = require('typescript-eslint');
3+
const rootConfig = require('../../eslint.config.js');
4+
5+
module.exports = tseslint.config(
6+
...rootConfig,
7+
{
8+
files: ['**/*.ts'],
9+
rules: {}
10+
},
11+
{
12+
files: ['**/*.html'],
13+
rules: {}
14+
}
15+
);

0 commit comments

Comments
 (0)