diff --git a/QuickApp.Core/QuickApp.Core.csproj b/QuickApp.Core/QuickApp.Core.csproj
index e13418d8..1b48f7c2 100644
--- a/QuickApp.Core/QuickApp.Core.csproj
+++ b/QuickApp.Core/QuickApp.Core.csproj
@@ -4,7 +4,7 @@
net9.0
enable
enable
- 9.18.0
+ 9.19.0
www.ebenmonney.com
$(Company)
Data Access Layer for the Quick Application template
diff --git a/QuickApp.Server/QuickApp.Server.csproj b/QuickApp.Server/QuickApp.Server.csproj
index a572d99e..3dd94a5c 100644
--- a/QuickApp.Server/QuickApp.Server.csproj
+++ b/QuickApp.Server/QuickApp.Server.csproj
@@ -7,10 +7,10 @@
..\quickapp.client
npm start
https://localhost:4200
- 9.18.0
+ 9.19.0
www.ebenmonney.com
$(Company)
- ASPNET Core 9.0 - Angular 18 startup template for Quick Application Development
+ ASPNET Core 9.0 - Angular 19 startup template for Quick Application Development
Copyright © 2024 www.ebenmonney.com
https://www.ebenmonney.com/quickapp
diff --git a/README.md b/README.md
index f05142da..4ff4f6cf 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
-# **QuickApp** - ASPNET Core 9 / Angular 18 project template
+# **QuickApp** - ASPNET Core 9 / Angular 19 project template
[![MIT license](https://cdn.rawgit.com/emonney/tempa/7e9d69ad/MITLicense.png)](https://github.com/emonney/QuickApp/blob/master/LICENSE)
[![VSIX Downloads](https://img.shields.io/visual-studio-marketplace/d/adentum.QuickApp-ASPNETCoreAngularXProjectTemplate)](https://marketplace.visualstudio.com/items?itemName=adentum.QuickApp-ASPNETCoreAngularXProjectTemplate)
[![Twitter Follow](https://img.shields.io/twitter/follow/kommand?style=social)](https://twitter.com/kommand)
-A startup **Angular 18 / ASP.NET Core 9** (cross-platform ) **project template** with an end-to-end login, user and role management implementation.
+A startup **Angular 19 / ASP.NET Core 9** (cross-platform ) **project template** with an end-to-end login, user and role management implementation.
As well as other common functionalities for **Quick Application Development**.
🚀The mission with QuickApp is to simplify the software development process using ASP.Net Core and Angular, empowering engineers to efficiently build amazing software.
@@ -39,7 +39,7 @@ ___
## This application consists of:
-* Template pages with Angular 18 and TypeScript
+* Template pages with Angular 19 and TypeScript
* RESTful API Backend using ASP.NET Core 9 Web API
* Database using Entity Framework Core
* Authentication/Authorization based on OIDC/OAuth2 and ASP.NET Core Identity
@@ -109,7 +109,7 @@ LOGIN WITH USERNAME OR EMAIL ADDRESS
* [Overview of QuickApp](https://www.ebenmonney.com/quickapp)
* [Conceptual overview of what is ASP.NET Core](https://go.microsoft.com/fwlink/?LinkId=518008)
* [Working with Data](https://docs.microsoft.com/en-us/ef/#pivot=efcore)
-* [Angular 18 documentation overview](https://angular.dev/overview)
+* [Angular 19 documentation overview](https://angular.dev/overview)
* [Getting started with Angular CLI](https://angular.dev/cli)
* [Introduction to Bootstrap 5](https://getbootstrap.com/docs/5.2/getting-started/introduction)
diff --git a/quickapp.client/package-lock.json b/quickapp.client/package-lock.json
index 11363acc..a8683f79 100644
--- a/quickapp.client/package-lock.json
+++ b/quickapp.client/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "quickapp.client",
- "version": "9.18.0",
+ "version": "9.19.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "quickapp.client",
- "version": "9.18.0",
+ "version": "9.19.0",
"license": "MIT",
"dependencies": {
"@angular/animations": "^19.0.1",
@@ -42,7 +42,7 @@
"@angular/localize": "^19.0.1",
"@types/jasmine": "~5.1.0",
"@types/node": "^22.10.1",
- "angular-eslint": "19.0.0-alpha.4",
+ "angular-eslint": "19.0.0",
"eslint": "^9.15.0",
"jasmine-core": "~5.4.0",
"karma": "~6.4.0",
@@ -51,7 +51,7 @@
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.6.2",
- "typescript-eslint": "8.15.0"
+ "typescript-eslint": "8.16.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -271,29 +271,33 @@
}
},
"node_modules/@angular-eslint/builder": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-19.0.0-alpha.4.tgz",
- "integrity": "sha512-iSDl0Hs2fkJJH0aR/RQ80nmickY7o1xv+mucSw/Gy4YwFDJFU0FiV++1OxhjturuEXt3k+TJ115xe4DJa86BMw==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-19.0.0.tgz",
+ "integrity": "sha512-vi68ADoEKrg2SB87jwUCaVhOhWPpXyG6X8QJzg8AiYDCQY721x1l6Pdz6WZOPruWALyoIyFGFXqtuysDGqIBhw==",
"dev": true,
+ "dependencies": {
+ "@angular-devkit/architect": ">= 0.1900.0 < 0.2000.0",
+ "@angular-devkit/core": ">= 19.0.0 < 20.0.0"
+ },
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
"typescript": "*"
}
},
"node_modules/@angular-eslint/bundled-angular-compiler": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-19.0.0-alpha.4.tgz",
- "integrity": "sha512-SS2FHqRaGslJzI+cTBNDC7xg/Zx5c0iIXZnpwGa8VjJ/8L82+PlRS+d9CTBhb8tMsR06ifUTK9ym2JQ3VmE2Cg==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-19.0.0.tgz",
+ "integrity": "sha512-q6IaiqKYcmBW/gw55tytDucguo5E48szVCLNLHUFdN98YDDsP+KM3MPWYPyZcXpusmFfIjLdr8d41PlKmyMUpg==",
"dev": true
},
"node_modules/@angular-eslint/eslint-plugin": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-19.0.0-alpha.4.tgz",
- "integrity": "sha512-IhBeiUohYLsnUrSJ92riSrhfIkGefuXIrGTgBnagn887WFR45/Go5dIIivVfMGdvTg849dtLpBDXZrycHY3QFA==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-19.0.0.tgz",
+ "integrity": "sha512-WkUnH5zmvC/cH6f8BGiRK+KebrKdGbQmhtu3IHLEyzG9U4mBiIV8XkSzhdkY3RCN8bKqhmE5C3oNBLNCtvg4QQ==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "19.0.0-alpha.4",
- "@angular-eslint/utils": "19.0.0-alpha.4"
+ "@angular-eslint/bundled-angular-compiler": "19.0.0",
+ "@angular-eslint/utils": "19.0.0"
},
"peerDependencies": {
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
@@ -302,13 +306,13 @@
}
},
"node_modules/@angular-eslint/eslint-plugin-template": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-19.0.0-alpha.4.tgz",
- "integrity": "sha512-YiFB+tyTZ/mj/w/5DLJHl9J1ABGaHNhGdXJzagI0ufqyrePR0wTYMIyJpIGWOMHr9E5nYPsVuHn+d08dG1R0aQ==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-19.0.0.tgz",
+ "integrity": "sha512-d2NzuAyvFo00QGBv6BLno0KZ3Ptd+UNVHpI9vwU0giaZcjVsdKbcMvMfynkvHAAwVIVw5aSLwabIjnm0rc3x3A==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "19.0.0-alpha.4",
- "@angular-eslint/utils": "19.0.0-alpha.4",
+ "@angular-eslint/bundled-angular-compiler": "19.0.0",
+ "@angular-eslint/utils": "19.0.0",
"aria-query": "5.3.2",
"axobject-query": "4.1.0"
},
@@ -320,29 +324,27 @@
}
},
"node_modules/@angular-eslint/schematics": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-19.0.0-alpha.4.tgz",
- "integrity": "sha512-Xv8g2PbNqhm7igTnY3uuY511Fr+FVRBHG+ZHbcUPZT7YDBaFZRJezAzbbPLZ6GdqqhoQJPHdGuEvo22yKhKXag==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-19.0.0.tgz",
+ "integrity": "sha512-fle4SMxjI+91y5eR6hVG7yhzJHAw87LudHw918hGUVn2INIAW1TTuuQNoah8kNg9I6ICIDat26IenD4nOau6Gg==",
"dev": true,
"dependencies": {
- "@angular-eslint/eslint-plugin": "19.0.0-alpha.4",
- "@angular-eslint/eslint-plugin-template": "19.0.0-alpha.4",
+ "@angular-devkit/core": ">= 19.0.0 < 20.0.0",
+ "@angular-devkit/schematics": ">= 19.0.0 < 20.0.0",
+ "@angular-eslint/eslint-plugin": "19.0.0",
+ "@angular-eslint/eslint-plugin-template": "19.0.0",
"ignore": "6.0.2",
"semver": "7.6.3",
"strip-json-comments": "3.1.1"
- },
- "peerDependencies": {
- "@angular-devkit/core": ">= 19.0.0 < 20.0.0",
- "@angular-devkit/schematics": ">= 19.0.0 < 20.0.0"
}
},
"node_modules/@angular-eslint/template-parser": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-19.0.0-alpha.4.tgz",
- "integrity": "sha512-Mvy1kbnqoYBQFFpQtmBB/TkhmmoN97ruSv9xa3mpKzv8JlDdVCkIn7IdqLtzcLwGr+MGcPC7GFPl8o7q12N3BQ==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-19.0.0.tgz",
+ "integrity": "sha512-bOLMNBQbrLMujGWSda0SF8ka7snQ9Uzxie1dr5LquI104p2J4Wt90DOoaWzhNaBBwedt3WXmhSHmvvR9720kHA==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "19.0.0-alpha.4",
+ "@angular-eslint/bundled-angular-compiler": "19.0.0",
"eslint-scope": "^8.0.2"
},
"peerDependencies": {
@@ -351,12 +353,12 @@
}
},
"node_modules/@angular-eslint/utils": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-19.0.0-alpha.4.tgz",
- "integrity": "sha512-6Pxqs3QqSPBcAkP8I/GYijoPoAmqOYqyQvJGvBWd1oKlA3EqmXSi7uaSUa6nUI6BiA8JEJZTBaSOP6O2oyK25Q==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-19.0.0.tgz",
+ "integrity": "sha512-PH40BmIcIr5ldr08XYnqJ8cTzJfScJjBym4SECsilBnz5fhCdTD7UEQiW4d0P78Ie8H5PxvOJx9ZE+L4WBNrTA==",
"dev": true,
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "19.0.0-alpha.4"
+ "@angular-eslint/bundled-angular-compiler": "19.0.0"
},
"peerDependencies": {
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
@@ -2970,9 +2972,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.15.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz",
- "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==",
+ "version": "9.16.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz",
+ "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5824,16 +5826,16 @@
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.15.0.tgz",
- "integrity": "sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz",
+ "integrity": "sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.15.0",
- "@typescript-eslint/type-utils": "8.15.0",
- "@typescript-eslint/utils": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
+ "@typescript-eslint/scope-manager": "8.16.0",
+ "@typescript-eslint/type-utils": "8.16.0",
+ "@typescript-eslint/utils": "8.16.0",
+ "@typescript-eslint/visitor-keys": "8.16.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -5856,120 +5858,6 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz",
- "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz",
- "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz",
- "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz",
- "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.15.0",
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/typescript-estree": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz",
- "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "eslint-visitor-keys": "^4.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -5980,15 +5868,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.15.0.tgz",
- "integrity": "sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.16.0.tgz",
+ "integrity": "sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.15.0",
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/typescript-estree": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
+ "@typescript-eslint/scope-manager": "8.16.0",
+ "@typescript-eslint/types": "8.16.0",
+ "@typescript-eslint/typescript-estree": "8.16.0",
+ "@typescript-eslint/visitor-keys": "8.16.0",
"debug": "^4.3.4"
},
"engines": {
@@ -6007,99 +5895,11 @@
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz",
- "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz",
- "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz",
- "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz",
- "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "eslint-visitor-keys": "^4.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/@typescript-eslint/scope-manager": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz",
"integrity": "sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==",
"dev": true,
- "peer": true,
"dependencies": {
"@typescript-eslint/types": "8.16.0",
"@typescript-eslint/visitor-keys": "8.16.0"
@@ -6113,75 +5913,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.15.0.tgz",
- "integrity": "sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "8.15.0",
- "@typescript-eslint/utils": "8.15.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz",
- "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz",
- "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz",
- "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz",
+ "integrity": "sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
+ "@typescript-eslint/typescript-estree": "8.16.0",
+ "@typescript-eslint/utils": "8.16.0",
"debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
@@ -6191,30 +5930,6 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz",
- "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.15.0",
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/typescript-estree": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0"
},
@@ -6224,41 +5939,11 @@
}
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz",
- "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "eslint-visitor-keys": "^4.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/@typescript-eslint/types": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.16.0.tgz",
"integrity": "sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==",
"dev": true,
- "peer": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -6272,7 +5957,6 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz",
"integrity": "sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==",
"dev": true,
- "peer": true,
"dependencies": {
"@typescript-eslint/types": "8.16.0",
"@typescript-eslint/visitor-keys": "8.16.0",
@@ -6301,7 +5985,6 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.16.0.tgz",
"integrity": "sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==",
"dev": true,
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.16.0",
@@ -6329,7 +6012,6 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz",
"integrity": "sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==",
"dev": true,
- "peer": true,
"dependencies": {
"@typescript-eslint/types": "8.16.0",
"eslint-visitor-keys": "^4.2.0"
@@ -6347,7 +6029,6 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
- "peer": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -6686,16 +6367,20 @@
}
},
"node_modules/angular-eslint": {
- "version": "19.0.0-alpha.4",
- "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-19.0.0-alpha.4.tgz",
- "integrity": "sha512-/7Jl/rCoflc5wkjkVCBIs1DDwr/vVJ8Rp4LgCofoIPSbAlrZ8SkS8oLoLTIbvhrM6kO9Gq5LnzL13Y//hNndsw==",
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-19.0.0.tgz",
+ "integrity": "sha512-8qYxqVMoRVKlpDKuGiNMG9ZPk7ke7ZOo3IxefFsB7Fpom8iRjOnH9tD9gLeYCHZWY1qYignLdeRqYmF/rRxF1A==",
"dev": true,
"dependencies": {
- "@angular-eslint/builder": "19.0.0-alpha.4",
- "@angular-eslint/eslint-plugin": "19.0.0-alpha.4",
- "@angular-eslint/eslint-plugin-template": "19.0.0-alpha.4",
- "@angular-eslint/schematics": "19.0.0-alpha.4",
- "@angular-eslint/template-parser": "19.0.0-alpha.4"
+ "@angular-devkit/core": ">= 19.0.0 < 20.0.0",
+ "@angular-devkit/schematics": ">= 19.0.0 < 20.0.0",
+ "@angular-eslint/builder": "19.0.0",
+ "@angular-eslint/eslint-plugin": "19.0.0",
+ "@angular-eslint/eslint-plugin-template": "19.0.0",
+ "@angular-eslint/schematics": "19.0.0",
+ "@angular-eslint/template-parser": "19.0.0",
+ "@typescript-eslint/types": "^8.0.0",
+ "@typescript-eslint/utils": "^8.0.0"
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
@@ -8517,9 +8202,9 @@
}
},
"node_modules/eslint": {
- "version": "9.15.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz",
- "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==",
+ "version": "9.16.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz",
+ "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
@@ -8527,7 +8212,7 @@
"@eslint/config-array": "^0.19.0",
"@eslint/core": "^0.9.0",
"@eslint/eslintrc": "^3.2.0",
- "@eslint/js": "9.15.0",
+ "@eslint/js": "9.16.0",
"@eslint/plugin-kit": "^0.2.3",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
@@ -9517,12 +9202,15 @@
}
},
"node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz",
+ "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.1.3"
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -15436,9 +15124,9 @@
}
},
"node_modules/ts-api-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.2.tgz",
- "integrity": "sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+ "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
"dev": true,
"engines": {
"node": ">=16"
@@ -15640,99 +15328,14 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.15.0.tgz",
- "integrity": "sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.15.0",
- "@typescript-eslint/parser": "8.15.0",
- "@typescript-eslint/utils": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.15.0.tgz",
- "integrity": "sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.15.0.tgz",
- "integrity": "sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.15.0.tgz",
- "integrity": "sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/visitor-keys": "8.15.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.15.0.tgz",
- "integrity": "sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.16.0.tgz",
+ "integrity": "sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==",
"dev": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.15.0",
- "@typescript-eslint/types": "8.15.0",
- "@typescript-eslint/typescript-estree": "8.15.0"
+ "@typescript-eslint/eslint-plugin": "8.16.0",
+ "@typescript-eslint/parser": "8.16.0",
+ "@typescript-eslint/utils": "8.16.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -15750,35 +15353,6 @@
}
}
},
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.15.0.tgz",
- "integrity": "sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "8.15.0",
- "eslint-visitor-keys": "^4.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/typescript-eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/ua-parser-js": {
"version": "0.7.39",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.39.tgz",
diff --git a/quickapp.client/package.json b/quickapp.client/package.json
index 3a62eac2..9827ce77 100644
--- a/quickapp.client/package.json
+++ b/quickapp.client/package.json
@@ -1,7 +1,7 @@
{
"name": "quickapp.client",
- "version": "9.18.0",
- "description": "ASP.NET Core 9.0/Angular 18 startup project template with complete login, user and role management. Plus other useful services for Quick Application Development",
+ "version": "9.19.0",
+ "description": "ASP.NET Core 9.0/Angular 19 startup project template with complete login, user and role management. Plus other useful services for Quick Application Development",
"author": {
"name": "Ebenezer Monney",
"email": "info@ebenmonney.com",
diff --git a/quickapp.client/src/app/components/about/about.component.html b/quickapp.client/src/app/components/about/about.component.html
index 2c7a3975..5601cd79 100644
--- a/quickapp.client/src/app/components/about/about.component.html
+++ b/quickapp.client/src/app/components/about/about.component.html
@@ -7,7 +7,7 @@
{{'p
Welcome to QuickApp
A startup project template for Quick Application Development.
- This application template provides a quick and convenient way to create ASP.NET Core 9.0 / Angular 18 applications.
+ This application template provides a quick and convenient way to create ASP.NET Core 9.0 / Angular 19 applications.
LIVE DEMO 1 - Pro
@@ -21,7 +21,7 @@
Welcome to QuickApp
Technologies
- - Template pages with Angular 18 and TypeScript
+ - Template pages with Angular 19 and TypeScript
- RESTful API Backend using ASP.NET Core 9.0 Web API
- Database using Entity Framework Core
- Authentication/Authorization based on OIDC/OAuth2 and ASP.NET Core Identity
diff --git a/quickapp.client/src/app/components/controls/banner-demo.component.html b/quickapp.client/src/app/components/controls/banner-demo.component.html
index 3a2b3ae2..68632f6c 100644
--- a/quickapp.client/src/app/components/controls/banner-demo.component.html
+++ b/quickapp.client/src/app/components/controls/banner-demo.component.html
@@ -19,7 +19,7 @@
Application uses
- Restful API backend using the cross platform ASP.NET Core 9 Web API
- - Client framework with Angular 18 and typescript
+ - Client framework with Angular 19 and typescript
- npm for managing client-side libraries
- Theming using Bootstrap 5
- Module bundling with Angular CLI
diff --git a/quickapp.client/src/app/services/account-endpoint.service.ts b/quickapp.client/src/app/services/account-endpoint.service.ts
index d31bdc95..9178117c 100644
--- a/quickapp.client/src/app/services/account-endpoint.service.ts
+++ b/quickapp.client/src/app/services/account-endpoint.service.ts
@@ -28,7 +28,6 @@ export class AccountEndpoint extends EndpointBase {
get roleByRoleNameUrl() { return this.configurations.baseUrl + '/api/account/roles/name'; }
get permissionsUrl() { return this.configurations.baseUrl + '/api/account/permissions'; }
-
getUserEndpoint(userId?: string): Observable {
const endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;
diff --git a/quickapp.client/src/app/services/configuration.service.ts b/quickapp.client/src/app/services/configuration.service.ts
index 90153e7a..78d32a5c 100644
--- a/quickapp.client/src/app/services/configuration.service.ts
+++ b/quickapp.client/src/app/services/configuration.service.ts
@@ -95,7 +95,7 @@ export class ConfigurationService {
return this._showDashboardBanner != null ? this._showDashboardBanner : ConfigurationService.defaultShowDashboardBanner;
}
- public static readonly appVersion = '9.18.0';
+ public static readonly appVersion = '9.19.0';
// ***Specify default configurations here***
public static readonly defaultLanguage = 'en';