Update to angular 20

This commit is contained in:
2026-08-05 08:20:06 +02:00
parent 5e44c88cd3
commit 2dbeffc262
4 changed files with 1909 additions and 3883 deletions
+1863 -3859
View File
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -44,22 +44,22 @@
"update-fontawesome": "npm update @fortawesome/fontawesome-svg-core @fortawesome/free-brands-svg-icons @fortawesome/free-solid-svg-icons @fortawesome/angular-fontawesome --save"
},
"devDependencies": {
"@angular-devkit/build-angular": "19.2.27",
"@angular/animations": "19.2.25",
"@angular/common": "19.2.25",
"@angular/compiler": "19.2.25",
"@angular/compiler-cli": "19.2.25",
"@angular/core": "19.2.25",
"@angular/forms": "19.2.25",
"@angular/platform-browser": "19.2.25",
"@angular/platform-browser-dynamic": "19.2.25",
"@angular/platform-server": "19.2.25",
"@angular/router": "19.2.25",
"@fortawesome/angular-fontawesome": "1.0.0",
"@angular-devkit/build-angular": "20.3.32",
"@angular/animations": "20.3.27",
"@angular/common": "20.3.27",
"@angular/compiler": "20.3.27",
"@angular/compiler-cli": "20.3.27",
"@angular/core": "20.3.27",
"@angular/forms": "20.3.27",
"@angular/platform-browser": "20.3.27",
"@angular/platform-browser-dynamic": "20.3.27",
"@angular/platform-server": "20.3.27",
"@angular/router": "20.3.27",
"@fortawesome/angular-fontawesome": "3.0.0",
"@fortawesome/fontawesome-svg-core": "6.7.2",
"@fortawesome/free-brands-svg-icons": "6.7.2",
"@fortawesome/free-solid-svg-icons": "6.7.2",
"@ngtools/webpack": "19.2.27",
"@ngtools/webpack": "20.3.32",
"@types/bluebird": "3.5.42",
"@types/body-parser": "1.19.6",
"@types/chai": "5.2.3",
@@ -132,7 +132,7 @@
"ts-node": "10.9.2",
"tslib": "2.8.1",
"tsutils": "3.17.1",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.105.4",
"webpack-bundle-analyzer": "5.2.0",
"webpack-cli": "7.0.2",
@@ -143,7 +143,7 @@
"zone.js": "0.15.1"
},
"dependencies": {
"@angular/cdk": "19.2.19",
"@angular/cdk": "20.2.14",
"@encharm/cws": "4.5.3",
"@passport-next/passport-facebook": "^3.1.3",
"@passport-next/passport-google-oauth2": "^1.0.0",
@@ -176,7 +176,7 @@
"markdown-tree": "0.0.0",
"mongoose": "9.3.2",
"morgan": "1.9.1",
"ngx-bootstrap": "19.0.2",
"ngx-bootstrap": "20.0.2",
"passport": "0.7.0",
"passport-deviantart": "0.0.5",
"passport-discord": "0.1.3",
+28
View File
@@ -0,0 +1,28 @@
import { transformAsync } from '@babel/core';
import linkerPlugin from '@angular/compiler-cli/linker/babel';
import { needsLinking } from '@angular/compiler-cli/linker';
export default function angularLinkerLoader(content, map) {
const callback = this.async();
(async () => {
try {
const filename = this.resourcePath;
if (!needsLinking(filename, content)) {
callback(null, content, map);
return;
}
// Create a fresh plugin instance per file. The linker plugin is stateful
// and cannot be shared across concurrent transforms.
const { code, map: resultMap } = await transformAsync(content, {
filename,
sourceFileName: filename,
sourceMaps: !!this.sourceMap,
compact: false,
plugins: [api => linkerPlugin(api, { sourceMapping: false })],
});
callback(null, code, resultMap || undefined);
} catch (err) {
callback(err);
}
})();
}
+2 -8
View File
@@ -5,7 +5,6 @@ import TerserPlugin from 'terser-webpack-plugin';
import WrapperPlugin from 'wrapper-webpack-plugin';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { AngularWebpackPlugin } from '@ngtools/webpack';
import linkerPlugin from '@angular/compiler-cli/linker/babel';
import common from './webpack.common.mjs';
import fs from 'fs';
import { fileURLToPath } from 'url';
@@ -71,13 +70,8 @@ export default (args = {}) =>
{
test: /\.m?js$/,
use: {
loader: 'babel-loader',
options: {
plugins: [linkerPlugin],
compact: false,
cacheDirectory: true,
}
}
loader: path.resolve(__dirname, 'tools/angular-linker-loader.mjs'),
},
},
{
test: /\.[jt]sx?$/,