From c4d325ecd3ea547fd5744340e063398efdb17c9b Mon Sep 17 00:00:00 2001 From: Mondo Diaz Date: Thu, 16 Oct 2025 10:36:09 -0500 Subject: [PATCH] Upgrade to Angular 19.1 with latest packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Upgrade from Angular 17.3 to Angular 19.1 - Switch back to @angular/build with Vite bundler - Update to latest package versions: - @angular/core: 19.1.0 - TypeScript: 5.8.0 - tslib: 2.8.1 - zone.js: 0.15.0 - Restore application builder configuration - Bundle size: 349.98 kB raw / 92.00 kB gzipped Angular 19.1 includes improvements and bug fixes that may resolve package issues in restricted environments. The latest versions should have better compatibility and more robust dependency resolution. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/angular.json | 23 +++++++++-------------- frontend/package.json | 28 +++++++++++++--------------- frontend/tsconfig.json | 12 ++---------- 3 files changed, 24 insertions(+), 39 deletions(-) diff --git a/frontend/angular.json b/frontend/angular.json index 2e7ceb1..0766561 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -11,27 +11,24 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:browser", + "builder": "@angular/build:application", "options": { - "outputPath": "dist/frontend/browser", + "outputPath": "dist/frontend", "index": "src/index.html", - "main": "src/main.ts", + "browser": "src/main.ts", "polyfills": [ "zone.js" ], "tsConfig": "tsconfig.app.json", "assets": [ - "src/favicon.ico", { "glob": "**/*", - "input": "public", - "output": "/" + "input": "public" } ], "styles": [ "src/styles.css" - ], - "scripts": [] + ] }, "configurations": { "production": { @@ -58,7 +55,7 @@ "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", + "builder": "@angular/build:dev-server", "configurations": { "production": { "buildTarget": "frontend:build:production" @@ -70,10 +67,10 @@ "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n" + "builder": "@angular/build:extract-i18n" }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular/build:karma", "options": { "polyfills": [ "zone.js", @@ -81,11 +78,9 @@ ], "tsConfig": "tsconfig.spec.json", "assets": [ - "src/favicon.ico", { "glob": "**/*", - "input": "public", - "output": "/" + "input": "public" } ], "styles": [ diff --git a/frontend/package.json b/frontend/package.json index c7bf1a5..8255ed5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,29 +23,27 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.3.0", - "@angular/common": "^17.3.0", - "@angular/compiler": "^17.3.0", - "@angular/core": "^17.3.0", - "@angular/forms": "^17.3.0", - "@angular/platform-browser": "^17.3.0", - "@angular/platform-browser-dynamic": "^17.3.0", - "@angular/router": "^17.3.0", + "@angular/common": "^19.1.0", + "@angular/compiler": "^19.1.0", + "@angular/core": "^19.1.0", + "@angular/forms": "^19.1.0", + "@angular/platform-browser": "^19.1.0", + "@angular/router": "^19.1.0", "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "tslib": "^2.8.1", + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.3.0", - "@angular/cli": "^17.3.0", - "@angular/compiler-cli": "^17.3.0", + "@angular/build": "^19.1.0", + "@angular/cli": "^19.1.0", + "@angular/compiler-cli": "^19.1.0", "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", + "jasmine-core": "~5.9.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.4.2" + "typescript": "~5.8.0" } } diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 45e5a30..e4955f2 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -9,19 +9,11 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "skipLibCheck": true, - "esModuleInterop": true, + "isolatedModules": true, "experimentalDecorators": true, "importHelpers": true, "target": "ES2022", - "module": "ES2022", - "moduleResolution": "bundler", - "lib": [ - "ES2022", - "dom" - ], - "useDefineForClassFields": false, - "baseUrl": "./", - "paths": {} + "module": "preserve" }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false,