Skip to content

Commit f8e3378

Browse files
CopilotdamyanpetevChronosSF
authored
chore: update Angular to 22.0.0-rc.0 (#17276)
* chore(*): start Angular 22.0.0-rc.0 update Agent-Logs-Url: https://github.com/IgniteUI/igniteui-angular/sessions/ec60d272-107c-4ff5-9dee-6a7b1dd46390 Co-authored-by: damyanpetev <3198469+damyanpetev@users.noreply.github.com> * chore(*): update Angular to 22.0.0-rc.0 via ng update Agent-Logs-Url: https://github.com/IgniteUI/igniteui-angular/sessions/ec60d272-107c-4ff5-9dee-6a7b1dd46390 Co-authored-by: damyanpetev <3198469+damyanpetev@users.noreply.github.com> * chore(*): add npm overrides for angular-eslint peer deps on angular/cli 22 Agent-Logs-Url: https://github.com/IgniteUI/igniteui-angular/sessions/d1d834ec-b074-483e-b539-f7494c127837 Co-authored-by: damyanpetev <3198469+damyanpetev@users.noreply.github.com> * chore(*): remove deprecated baseUrl from tsconfig files for TypeScript 6.0 Agent-Logs-Url: https://github.com/IgniteUI/igniteui-angular/sessions/5300624e-d2f9-44ce-a301-133f222bd058 Co-authored-by: damyanpetev <3198469+damyanpetev@users.noreply.github.com> * fix(*): resolving the remaining ng22 issues * fix(*): fixing list sample for hammer * fix(extras): fixing issues with build * fix(schematics): type errors and typescript config * fix(schematics): removing strict type check * fix(migrations): fixing migrations build * fix(tests): resolving tests build issues * feat(*): upgrading to rc.1 * feat(ci): updating built to use node 24 * feat(*): updating cli to rc.1 * test(*): adding trims for non-aggressive template asserts * test(*): changing element selectors to match new text trailing/leading spaces * test(select): changing test setup to better use headless chrome space * test(carousel): changing tests to not use angular's hammer module * chore(*): updating puppeteer because of reasons * chore(*): fixing karma config and typedoc tsconfig * test(schematics): moving away from non-compat ts-node * feat(*): updating to cli rc.3 * feat(*): updating to ng 22.rc3 * feat(*): updating to angular 22 * feat(*): updating angular-eslint to 22 * fix(*): fixing eslint config for 22 * feat(*): updating xplat dep to 22 alpha * chore(*): re-adding package after wrong removal * fix(drop-down): changing the focusedItem type to match new fix in combo * fix(*): removing componentfactory from elements build * chore(*): making elements work with new ng underlying code * chore(*): fixing an issue with peer deps * chore(*): fixing package lock for node 24 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: damyanpetev <3198469+damyanpetev@users.noreply.github.com> Co-authored-by: Stamen Stoychev <SStoychev@infragistics.com>
1 parent 89c8cb5 commit f8e3378

502 files changed

Lines changed: 14626 additions & 10575 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/nodejs.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,13 @@ jobs:
1616

1717
runs-on: ubuntu-latest
1818

19-
strategy:
20-
matrix:
21-
node-version: [22.x]
22-
2319
steps:
2420
- name: Checkout
25-
uses: actions/checkout@v4
26-
- name: Use Node.js ${{ matrix.node-version }}
27-
uses: actions/setup-node@v4
21+
uses: actions/checkout@v6
22+
- name: Use Node.js 24
23+
uses: actions/setup-node@v6
2824
with:
29-
node-version: ${{ matrix.node-version }}
25+
node-version: 24.x
3026
cache: 'npm'
3127
- name: Install packages
3228
run: npm ci

.github/workflows/npm-publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ jobs:
1111
build:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v4
15-
- uses: actions/setup-node@v4
14+
- uses: actions/checkout@v6
15+
- uses: actions/setup-node@v6
1616
with:
17-
node-version: '22.22.1' # Specifically avoid 22.22.2 due to a regression with npm latest
17+
node-version: 24.x
1818
cache: 'npm'
1919
registry-url: 'https://registry.npmjs.org'
2020

eslint.config.mjs

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1+
import angularPlugin from "@angular-eslint/eslint-plugin";
2+
import angularTemplatePlugin from "@angular-eslint/eslint-plugin-template";
3+
import angularTemplateParser from "@angular-eslint/template-parser";
14
import typescriptEslint from "@typescript-eslint/eslint-plugin";
2-
import path from "node:path";
3-
import { fileURLToPath } from "node:url";
4-
import js from "@eslint/js";
5-
import { FlatCompat } from "@eslint/eslintrc";
6-
7-
const __filename = fileURLToPath(import.meta.url);
8-
const __dirname = path.dirname(__filename);
9-
const compat = new FlatCompat({
10-
baseDirectory: __dirname,
11-
recommendedConfig: js.configs.recommended,
12-
allConfig: js.configs.all
13-
});
5+
import tsParser from "@typescript-eslint/parser";
146

157
export default [{
168
ignores: [
@@ -21,19 +13,33 @@ export default [{
2113
"**/cypress/",
2214
"**/cypress.config.ts",
2315
],
24-
}, ...compat.extends(
25-
"plugin:@angular-eslint/recommended",
26-
).map(config => ({
27-
...config,
28-
files: ["**/*.ts"],
29-
})), {
16+
}, {
3017
files: ["**/*.ts"],
3118

19+
languageOptions: {
20+
parser: tsParser,
21+
},
22+
3223
plugins: {
24+
"@angular-eslint": angularPlugin,
3325
"@typescript-eslint": typescriptEslint,
3426
},
3527

3628
rules: {
29+
// @angular-eslint recommended
30+
"@angular-eslint/contextual-lifecycle": "error",
31+
"@angular-eslint/no-empty-lifecycle-method": "error",
32+
"@angular-eslint/no-inputs-metadata-property": "error",
33+
"@angular-eslint/no-output-native": "error",
34+
"@angular-eslint/no-output-on-prefix": "error",
35+
"@angular-eslint/no-output-rename": "error",
36+
"@angular-eslint/no-outputs-metadata-property": "error",
37+
"@angular-eslint/prefer-on-push-component-change-detection": "warn",
38+
"@angular-eslint/prefer-standalone": "warn",
39+
"@angular-eslint/use-pipe-transform-interface": "error",
40+
"@angular-eslint/no-input-rename": "off",
41+
"@angular-eslint/prefer-inject": "warn",
42+
3743
"no-shadow": "off",
3844
"no-prototype-builtins": "off",
3945
"no-case-declarations": "warn",
@@ -71,9 +77,6 @@ export default [{
7177
format: ["PascalCase"],
7278
}],
7379

74-
"@angular-eslint/no-input-rename": "off",
75-
"@angular-eslint/prefer-inject": "warn",
76-
7780
"brace-style": ["error", "1tbs"],
7881
"id-blacklist": "off",
7982
"id-match": "off",
@@ -82,10 +85,21 @@ export default [{
8285
"@typescript-eslint/no-empty-function": "off",
8386
"@typescript-eslint/no-restricted-types": "warn",
8487
},
85-
}, ...compat.extends("plugin:@angular-eslint/template/recommended").map(config => ({
86-
...config,
88+
}, {
8789
files: ["**/*.html"],
88-
})), {
89-
files: ["**/*.html"],
90-
rules: {},
90+
91+
languageOptions: {
92+
parser: angularTemplateParser,
93+
},
94+
95+
plugins: {
96+
"@angular-eslint/template": angularTemplatePlugin,
97+
},
98+
99+
rules: {
100+
"@angular-eslint/template/banana-in-box": "error",
101+
"@angular-eslint/template/eqeqeq": "error",
102+
"@angular-eslint/template/no-negated-async": "error",
103+
"@angular-eslint/template/prefer-control-flow": "error",
104+
},
91105
}];

0 commit comments

Comments
 (0)