feat!: update to Angular 22 + TS 6, drop node 20 · angular-eslint/angular-eslint@9659226 · GitHub
Skip to content

Commit 9659226

Browse files
committed
feat!: update to Angular 22 + TS 6, drop node 20
1 parent 6b2628a commit 9659226

7 files changed

Lines changed: 814 additions & 1054 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion

nx.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,6 @@
207207
"env": "CI"
208208
}
209209
]
210-
}
210+
},
211+
"analytics": true
211212
}

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
"private": true,
44
"description": "The tooling which enables ESLint to work with Angular projects",
55
"volta": {
6-
"node": "22.22.2"
6+
"node": "26.3.0"
77
},
8-
"packageManager": "pnpm@11.1.1",
8+
"packageManager": "pnpm@11.5.2",
99
"contributors": [
1010
"James Henry <angular-eslint@jameshenry.email>"
1111
],

pnpm-lock.yaml

Lines changed: 779 additions & 1027 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
packages:
22
- 'packages/*'
33
catalog:
4-
'@angular/cli': '21.2.10'
5-
'@angular/compiler': '21.2.12'
4+
'@angular/cli': '22.0.0'
5+
'@angular/compiler': '22.0.0'
66
'@commitlint/cli': '21.0.0'
77
'@commitlint/config-conventional': '21.0.0'
88
'@eslint/core': '1.2.1'
99
'@eslint/js': '10.0.1'
1010
'@mdn/browser-compat-data': '7.3.15'
11-
'@nx/devkit': '22.7.1'
12-
'@nx/esbuild': '22.7.1'
13-
'@nx/eslint': '22.7.1'
14-
'@nx/eslint-plugin': '22.7.1'
15-
'@nx/js': '22.7.1'
16-
'@nx/plugin': '22.7.1'
17-
'@nx/vite': '22.7.1'
18-
'@nx/workspace': '22.7.1'
19-
'@schematics/angular': '21.2.10'
11+
'@nx/devkit': '22.7.5'
12+
'@nx/esbuild': '22.7.5'
13+
'@nx/eslint': '22.7.5'
14+
'@nx/eslint-plugin': '22.7.5'
15+
'@nx/js': '22.7.5'
16+
'@nx/plugin': '22.7.5'
17+
'@nx/vite': '22.7.5'
18+
'@nx/workspace': '22.7.5'
19+
'@schematics/angular': '22.0.0'
2020
'@swc-node/register': '1.11.1'
2121
'@swc/cli': '0.8.1'
2222
'@swc/core': '1.15.33'
2323
'@swc/helpers': '0.5.21'
2424
'@types/aria-query': '5.0.4'
25-
'@types/node': '22.19.18'
25+
'@types/node': '25.9.2'
2626
'@types/semver': '^7.5.8'
2727
'@types/yargs': '^17.0.33'
2828
'@vitest/coverage-v8': '4.1.5'
@@ -37,26 +37,26 @@ catalog:
3737
jsonc-eslint-parser: '2.4.2'
3838
lint-staged: '17.0.3'
3939
ncp: '2.0.0'
40-
nx: '22.7.1'
40+
nx: '22.7.5'
4141
picocolors: '1.1.1'
4242
pkg-pr-new: '0.0.71'
4343
prettier: '3.8.3'
4444
tree-kill: '1.2.2'
4545
ts-node: '10.9.2'
4646
tslib: '^2.4.1'
47-
tsx: '4.21.0'
48-
typescript: '5.9.3'
47+
tsx: '4.22.4'
48+
typescript: '6.0.3'
4949
verdaccio: '6.5.2'
5050
vite: '^8.0.0'
5151
vitest: '4.1.5'
5252
yargs: '18.0.0'
5353
catalogMode: 'prefer'
5454
catalogs:
5555
other-runtime-dependencies:
56-
'@angular/cli': '>= 21.0.0 < 22.0.0'
57-
'@angular-devkit/architect': '>= 0.2100.0 < 0.2200.0'
58-
'@angular-devkit/core': '>= 21.0.0 < 22.0.0'
59-
'@angular-devkit/schematics': '>= 21.0.0 < 22.0.0'
56+
'@angular/cli': '>= 22.0.0 < 23.0.0'
57+
'@angular-devkit/architect': '>= 0.2200.0 < 0.2300.0'
58+
'@angular-devkit/core': '>= 22.0.0 < 23.0.0'
59+
'@angular-devkit/schematics': '>= 22.0.0 < 23.0.0'
6060
aria-query: '5.3.2'
6161
axobject-query: '4.1.0'
6262
eslint-scope: '9.1.2'

tools/scripts/generate-configs.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,16 @@ function reducer(
5656
config: LinterConfigRules,
5757
entry: [
5858
string,
59-
TSESLint.RuleModule<
60-
string,
61-
unknown[],
62-
{ recommended?: string; requiresTypeChecking?: boolean }
59+
// `reducer` only reads `meta`; narrowing to it avoids the contravariant
60+
// `create(context)` variance clash that TS 6 reports when assigning the
61+
// plugins' specific `RuleModule<MessageIds, Options>` types to a wide one.
62+
Pick<
63+
TSESLint.RuleModule<
64+
string,
65+
readonly unknown[],
66+
{ recommended?: string; requiresTypeChecking?: boolean }
67+
>,
68+
'meta'
6369
>,
6470
],
6571
settings: {

tsconfig.base.json

Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)