Skip to content

Commit 2a1728d

Browse files
authored
Merge pull request #9 from dimeloper/feature/update-to-angular-v19-and-utilise-features
Update to angular v19 and utilise latest features
2 parents 1e705c0 + 5599b2d commit 2a1728d

35 files changed

Lines changed: 2516 additions & 3380 deletions

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@
33
# Angular Optimization with Pokemon
44

55
This is a basic Angular app, featuring a pokedex to showcase some performance optimisation techniques within Angular SPAs.
6-
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.0.
6+
This project was generated with the [Angular CLI](https://github.com/angular/angular-cli).
77

88
If you want to find out more about the optimization techniques we followed, please make sure to check out the related article:
99
[Supercharging Angular apps for better performance](https://medium.com/zeal-tech-blog/supercharging-angular-apps-for-better-performance-6814e46bb3c0)
1010

11+
## Update to version 19
12+
13+
The project utilises Angular version 19 and most of its latest features. If you want to review the changes so as to utilise the latest features in your project too, here is the related PR: [Update project to Angular v19](https://github.com/dimeloper/angular-optimization/pull/9).
14+
1115
## Performance measurements
1216

1317
The idea is the following, we start with a couple of pages that are far from optimized, and we take some initial measurements using [unlighthouse](https://unlighthouse.dev/)* for faster feedback loops.

angular.json

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"prefix": "app",
2020
"architect": {
2121
"build": {
22-
"builder": "@angular-devkit/build-angular:application",
22+
"builder": "@angular/build:application",
2323
"options": {
2424
"outputPath": "dist/angular-optimization-examples",
2525
"index": "src/index.html",
@@ -42,23 +42,23 @@
4242
],
4343
"scripts": [],
4444
"server": "src/main.server.ts",
45-
"prerender": true,
45+
"outputMode": "server",
4646
"ssr": {
47-
"entry": "server.ts"
47+
"entry": "src/server.ts"
4848
}
4949
},
5050
"configurations": {
5151
"production": {
5252
"budgets": [
5353
{
5454
"type": "initial",
55-
"maximumWarning": "500kb",
56-
"maximumError": "1mb"
55+
"maximumWarning": "620kB",
56+
"maximumError": "1MB"
5757
},
5858
{
5959
"type": "anyComponentStyle",
60-
"maximumWarning": "2kb",
61-
"maximumError": "4kb"
60+
"maximumWarning": "4kB",
61+
"maximumError": "8kB"
6262
}
6363
],
6464
"outputHashing": "all"
@@ -84,7 +84,7 @@
8484
"defaultConfiguration": "development"
8585
},
8686
"extract-i18n": {
87-
"builder": "@angular-devkit/build-angular:extract-i18n",
87+
"builder": "@angular/build:extract-i18n",
8888
"options": {
8989
"buildTarget": "angular-optimization-examples:build"
9090
}
@@ -97,10 +97,11 @@
9797
"zone.js/testing"
9898
],
9999
"tsConfig": "tsconfig.spec.json",
100-
"inlineStyleLanguage": "scss",
101100
"assets": [
102-
"src/favicon.ico",
103-
"src/assets"
101+
{
102+
"glob": "**/*",
103+
"input": "public"
104+
}
104105
],
105106
"styles": [
106107
"@angular/material/prebuilt-themes/pink-bluegrey.css",

package.json

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,32 @@
1414
},
1515
"private": true,
1616
"dependencies": {
17-
"@angular/animations": "^18.2.10",
18-
"@angular/cdk": "18.0.3",
19-
"@angular/common": "^18.2.10",
20-
"@angular/compiler": "^18.2.10",
21-
"@angular/core": "^18.2.10",
22-
"@angular/forms": "^18.2.10",
23-
"@angular/material": "18.0.3",
24-
"@angular/platform-browser": "^18.2.10",
25-
"@angular/platform-browser-dynamic": "^18.2.10",
26-
"@angular/platform-server": "^18.2.10",
27-
"@angular/router": "^18.2.10",
28-
"@angular/ssr": "^18.2.11",
17+
"@angular/animations": "^19.0.4",
18+
"@angular/cdk": "19.0.3",
19+
"@angular/common": "^19.0.4",
20+
"@angular/compiler": "^19.0.4",
21+
"@angular/core": "^19.0.4",
22+
"@angular/forms": "^19.0.4",
23+
"@angular/material": "19.0.3",
24+
"@angular/platform-browser": "^19.0.4",
25+
"@angular/platform-browser-dynamic": "^19.0.4",
26+
"@angular/platform-server": "^19.0.4",
27+
"@angular/router": "^19.0.4",
28+
"@angular/ssr": "^19.0.5",
29+
"@netlify/angular-runtime": "^2.1.0",
2930
"express": "^4.18.2",
30-
"ngx-device-detector": "^8.0.0",
31+
"ngx-device-detector": "^9.0.0",
3132
"rxjs": "~7.8.0",
3233
"tslib": "^2.3.0",
33-
"zone.js": "~0.14.10"
34+
"zone.js": "~0.15.0"
3435
},
3536
"devDependencies": {
36-
"@angular-devkit/build-angular": "^18.2.11",
37-
"@angular/cli": "^18.2.11",
38-
"@angular/compiler-cli": "^18.2.10",
37+
"@angular-devkit/build-angular": "^19.0.5",
38+
"@angular/cli": "^19.0.5",
39+
"@angular/compiler-cli": "^19.0.4",
3940
"@types/express": "^4.17.17",
4041
"@types/jasmine": "~5.1.0",
41-
"@types/node": "^18.18.0",
42+
"@types/node": "^20.17.10",
4243
"jasmine-core": "~5.1.0",
4344
"karma": "~6.4.0",
4445
"karma-chrome-launcher": "~3.2.0",
@@ -47,7 +48,7 @@
4748
"karma-jasmine-html-reporter": "~2.1.0",
4849
"prettier": "^3.2.5",
4950
"source-map-explorer": "^2.5.3",
50-
"typescript": "~5.4.5"
51+
"typescript": "~5.6.3"
5152
},
5253
"volta": {
5354
"node": "20.18.0"

0 commit comments

Comments
 (0)