Upgrade angular from 19 to 20.

This commit is contained in:
Florian THIERRY
2025-12-30 17:21:18 +01:00
parent acc3729793
commit d5af25b798
8 changed files with 2022 additions and 6518 deletions

View File

@@ -24,7 +24,7 @@
}, },
"architect": { "architect": {
"build": { "build": {
"builder": "@angular-devkit/build-angular:application", "builder": "@angular/build:application",
"options": { "options": {
"outputPath": "dist/codiki", "outputPath": "dist/codiki",
"index": "src/index.html", "index": "src/index.html",
@@ -103,7 +103,7 @@
"defaultConfiguration": "" "defaultConfiguration": ""
}, },
"serve": { "serve": {
"builder": "@angular-devkit/build-angular:dev-server", "builder": "@angular/build:dev-server",
"configurations": { "configurations": {
"production-en": { "production-en": {
"buildTarget": "codiki:build:production-en" "buildTarget": "codiki:build:production-en"
@@ -124,13 +124,13 @@
"defaultConfiguration": "development" "defaultConfiguration": "development"
}, },
"extract-i18n": { "extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n", "builder": "@angular/build:extract-i18n",
"options": { "options": {
"buildTarget": "codiki:build" "buildTarget": "codiki:build"
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular/build:karma",
"options": { "options": {
"polyfills": [ "polyfills": [
"zone.js", "zone.js",
@@ -154,5 +154,31 @@
}, },
"cli": { "cli": {
"analytics": false "analytics": false
},
"schematics": {
"@schematics/angular:component": {
"type": "component"
},
"@schematics/angular:directive": {
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -17,25 +17,25 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^19.2.17", "@angular/animations": "^20.3.15",
"@angular/cdk": "^19.2.19", "@angular/cdk": "^19.2.19",
"@angular/common": "^19.2.17", "@angular/common": "^20.3.15",
"@angular/compiler": "^19.2.17", "@angular/compiler": "^20.3.15",
"@angular/core": "^19.2.17", "@angular/core": "^20.3.15",
"@angular/forms": "^19.2.17", "@angular/forms": "^20.3.15",
"@angular/material": "^19.2.19", "@angular/material": "^19.2.19",
"@angular/platform-browser": "^19.2.17", "@angular/platform-browser": "^20.3.15",
"@angular/platform-browser-dynamic": "^19.2.17", "@angular/platform-browser-dynamic": "^20.3.15",
"@angular/router": "^19.2.17", "@angular/router": "^20.3.15",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.15.1" "zone.js": "~0.15.1"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^19.2.19", "@angular/build": "^20.3.13",
"@angular/cli": "^19.2.19", "@angular/cli": "^20.3.13",
"@angular/compiler-cli": "^19.2.17", "@angular/compiler-cli": "^20.3.15",
"@angular/localize": "^19.2.17", "@angular/localize": "^20.3.15",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"jasmine-core": "~5.1.0", "jasmine-core": "~5.1.0",
"karma": "~6.4.0", "karma": "~6.4.0",
@@ -43,6 +43,6 @@
"karma-coverage": "~2.2.0", "karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0", "karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0", "karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.5.4" "typescript": "~5.9.3"
} }
} }

View File

@@ -1,4 +1,4 @@
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router'; import { RouterOutlet } from '@angular/router';
import { HeaderComponent } from './components/header/header.component'; import { HeaderComponent } from './components/header/header.component';
@@ -7,11 +7,10 @@ import { FooterComponent } from './components/footer/footer.component';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
imports: [ imports: [
CommonModule, RouterOutlet,
RouterOutlet, HeaderComponent,
HeaderComponent, FooterComponent
FooterComponent ],
],
templateUrl: './app.component.html', templateUrl: './app.component.html',
styleUrl: './app.component.scss' styleUrl: './app.component.scss'
}) })

View File

@@ -1,4 +1,4 @@
import { CommonModule } from '@angular/common';
import { Component, inject } from '@angular/core'; import { Component, inject } from '@angular/core';
import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { FormControl, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button'; import { MatButtonModule } from '@angular/material/button';
@@ -14,17 +14,16 @@ import { SideMenuComponent } from '../side-menu/side-menu.component';
@Component({ @Component({
selector: 'app-header', selector: 'app-header',
imports: [ imports: [
CommonModule, MatButtonModule,
MatButtonModule, MatIconModule,
MatIconModule, MatMenuModule,
MatMenuModule, MatRippleModule,
MatRippleModule, MatTooltipModule,
MatTooltipModule, PublicationsSearchBarComponent,
PublicationsSearchBarComponent, ReactiveFormsModule,
ReactiveFormsModule, RouterModule,
RouterModule, SideMenuComponent
SideMenuComponent, ],
],
templateUrl: './header.component.html', templateUrl: './header.component.html',
styleUrl: './header.component.scss' styleUrl: './header.component.scss'
}) })

View File

@@ -1,4 +1,4 @@
import { CommonModule } from "@angular/common";
import { Component, EventEmitter, Input, Output } from "@angular/core"; import { Component, EventEmitter, Input, Output } from "@angular/core";
import { MatRippleModule } from "@angular/material/core"; import { MatRippleModule } from "@angular/material/core";
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner"; import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
@@ -8,10 +8,9 @@ import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
templateUrl: 'submit-button.component.html', templateUrl: 'submit-button.component.html',
styleUrl: 'submit-button.component.scss', styleUrl: 'submit-button.component.scss',
imports: [ imports: [
CommonModule, MatRippleModule,
MatRippleModule, MatProgressSpinnerModule
MatProgressSpinnerModule ]
]
}) })
export class SubmitButtonComponent { export class SubmitButtonComponent {
@Input() requestPending: boolean = false; @Input() requestPending: boolean = false;

View File

@@ -7,16 +7,15 @@ import { BehaviorSubject, Observable, Subscription } from "rxjs";
import { Publication } from "../../core/rest-services/publications/model/publication"; import { Publication } from "../../core/rest-services/publications/model/publication";
import { AuthenticationService } from "../../core/service/authentication.service"; import { AuthenticationService } from "../../core/service/authentication.service";
import { Author } from "../../core/rest-services/publications/model/author"; import { Author } from "../../core/rest-services/publications/model/author";
import { CommonModule } from "@angular/common";
@Component({ @Component({
selector: 'app-publication-creation', selector: 'app-publication-creation',
templateUrl: './publication-creation.component.html', templateUrl: './publication-creation.component.html',
styleUrl: './publication-creation.component.scss', styleUrl: './publication-creation.component.scss',
imports: [ imports: [
CommonModule, PublicationEditionComponent
PublicationEditionComponent ]
]
}) })
export class PublicationCreationComponent implements OnInit { export class PublicationCreationComponent implements OnInit {
private readonly authenticationService = inject(AuthenticationService); private readonly authenticationService = inject(AuthenticationService);

View File

@@ -13,7 +13,7 @@
"sourceMap": true, "sourceMap": true,
"declaration": false, "declaration": false,
"experimentalDecorators": true, "experimentalDecorators": true,
"moduleResolution": "node", "moduleResolution": "bundler",
"importHelpers": true, "importHelpers": true,
"target": "ES2022", "target": "ES2022",
"module": "ES2022", "module": "ES2022",