Skip to content

Commit f49a002

Browse files
committed
chore(app): upgrade to angular 21 and update dependencies
- Enable `esModuleInterop` in TypeScript configuration. - Remove unused translation entries. - Update package and peer dependencies to align with Angular 21. - Adjust project guidelines to reference Angular 21.
1 parent f3caf2c commit f49a002

8 files changed

Lines changed: 2822 additions & 2069 deletions

File tree

.junie/guidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### Angular Example App — Project Guidelines (Angular 20)
1+
### Angular Example App — Project Guidelines (Angular 21)
22

33
These notes capture project-specific conventions and commands so advanced contributors can be productive quickly. This app uses Angular v20 with standalone components, signals-first patterns, Vitest for unit tests (via the experimental Angular unit-test builder), and Playwright for E2E.
44

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
<a name="21.0.0"></a>
2+
3+
# 21.0.0 (2025-11-22)
4+
5+
### Angular 21
6+
7+
| Type | Description |
8+
| ----- | ---------------------------- |
9+
| chore | update angular version to 21 |
10+
11+
---
12+
113
<a name="20.0.0"></a>
214

315
# 20.0.0 (2025-10-30)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ This app connects to a real backend powered by NestJS, PostgreSQL, and Prisma, d
5050

5151
| | |
5252
| ----------------------- | --------------------------------------------------- |
53-
| ✅ Angular 20 | Using the latest version |
53+
| ✅ Angular 21 | Using the latest version |
5454
| ✅ Internationalization | i18n with English and Spanish |
5555
| ✅ Authentication | JWT-based, real login flow |
5656
| ✅ Routing & Guards | Functional guards with lazy-loaded routes |

package-lock.json

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

package.json

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angularexampleapp",
3-
"version": "20.0.0",
3+
"version": "21.0.0",
44
"type": "module",
55
"scripts": {
66
"prepare": "husky",
@@ -10,9 +10,9 @@
1010
"format:check": "prettier --check \"**/*.{ts,js,json,html,css,scss,md,mdx}\"",
1111
"format:fix": "prettier --write \"**/*.{ts,js,json,html,css,scss,md,mdx}\"",
1212
"lint": "ng lint && stylelint \"**/*.{css,scss}\"",
13-
"test": "ng test --no-code-coverage --no-watch",
14-
"test:coverage": "ng test --code-coverage --no-watch",
15-
"test:watch": "ng test --no-code-coverage",
13+
"test": "ng test --no-watch",
14+
"test:watch": "ng test",
15+
"test:coverage": "ng test --coverage --no-watch",
1616
"e2e:local": "BASE_URL=http://localhost:4200 playwright test --project=chromium",
1717
"e2e:pro": "playwright test --project=chromium",
1818
"playwright:install": "playwright install && playwright install-deps",
@@ -24,17 +24,17 @@
2424
"verify": "npm run format:check && npm run test && npm run script:e2e:local && npm run build && npm run script:lighthouse"
2525
},
2626
"dependencies": {
27-
"@angular/animations": "20.3.7",
28-
"@angular/common": "20.3.7",
29-
"@angular/compiler": "20.3.7",
30-
"@angular/core": "20.3.7",
31-
"@angular/forms": "20.3.7",
32-
"@angular/localize": "20.3.7",
33-
"@angular/platform-browser": "20.3.7",
34-
"@angular/platform-browser-dynamic": "20.3.7",
35-
"@angular/platform-server": "20.3.7",
36-
"@angular/router": "20.3.7",
37-
"@angular/ssr": "20.3.7",
27+
"@angular/animations": "21.0.0",
28+
"@angular/common": "21.0.0",
29+
"@angular/compiler": "21.0.0",
30+
"@angular/core": "21.0.0",
31+
"@angular/forms": "21.0.0",
32+
"@angular/localize": "21.0.0",
33+
"@angular/platform-browser": "21.0.0",
34+
"@angular/platform-browser-dynamic": "21.0.0",
35+
"@angular/platform-server": "21.0.0",
36+
"@angular/router": "21.0.0",
37+
"@angular/ssr": "21.0.0",
3838
"@shoelace-style/shoelace": "2.20.1",
3939
"rxjs": "7.8.2",
4040
"tslib": "2.8.1"
@@ -45,9 +45,9 @@
4545
"@angular-eslint/eslint-plugin-template": "20.5.0",
4646
"@angular-eslint/schematics": "20.5.0",
4747
"@angular-eslint/template-parser": "20.5.0",
48-
"@angular/build": "20.3.7",
49-
"@angular/cli": "20.3.7",
50-
"@angular/compiler-cli": "20.3.7",
48+
"@angular/build": "21.0.0",
49+
"@angular/cli": "21.0.0",
50+
"@angular/compiler-cli": "21.0.0",
5151
"@commitlint/cli": "20.1.0",
5252
"@commitlint/config-conventional": "20.0.0",
5353
"@eslint/js": "9.38.0",
@@ -57,7 +57,7 @@
5757
"@typescript-eslint/parser": "8.46.2",
5858
"@typescript-eslint/types": "8.46.2",
5959
"@typescript-eslint/utils": "8.46.2",
60-
"@vitest/coverage-v8": "4.0.4",
60+
"@vitest/coverage-v8": "4.0.13",
6161
"angular-eslint": "20.5.0",
6262
"axe-core": "4.11.0",
6363
"chrome-launcher": "1.2.1",
@@ -67,7 +67,7 @@
6767
"eslint-plugin-prettier": "5.5.4",
6868
"eslint-plugin-promise": "7.2.1",
6969
"eslint-plugin-unicorn": "62.0.0",
70-
"http-serve": "^1.0.1",
70+
"http-serve": "1.0.1",
7171
"husky": "9.1.7",
7272
"jsdom": "27.0.1",
7373
"lighthouse": "12.8.2",
@@ -83,7 +83,7 @@
8383
"ts-loader": "9.5.4",
8484
"typescript": "5.9.3",
8585
"typescript-eslint": "8.46.2",
86-
"vitest": "4.0.4",
86+
"vitest": "4.0.13",
8787
"wait-on": "9.0.1"
8888
},
8989
"engines": {

src/locale/messages.es.xlf

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,6 @@
173173
<source>EN-US</source>
174174
<target state="new">EN-US</target>
175175
</trans-unit>
176-
<trans-unit id="3959583247915483678" datatype="html">
177-
<source>Page load progress</source>
178-
<target state="new">Progreso de carga de la página</target>
179-
</trans-unit>
180176
<trans-unit id="203827529942340818" datatype="html">
181177
<source>Enter your email</source>
182178
<target state="new">Introduce tu correo electrónico</target>

src/locale/messages.xlf

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,6 @@
122122
<trans-unit id="3792117578788899429" datatype="html">
123123
<source>Invalid credentials. Not very effective, try again!</source>
124124
</trans-unit>
125-
<trans-unit id="3959583247915483678" datatype="html">
126-
<source>Page load progress</source>
127-
</trans-unit>
128125
<trans-unit id="4022823352084662376" datatype="html">
129126
<source>Register failed. This attempt wasn’t very effective, try again!</source>
130127
</trans-unit>

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"forceConsistentCasingInFileNames": true,
1414
"skipLibCheck": true,
1515
"isolatedModules": true,
16-
"esModuleInterop": false,
16+
"esModuleInterop": true,
1717
"sourceMap": true,
1818
"declaration": false,
1919
"noUnusedLocals": true,

0 commit comments

Comments
 (0)