Upgrading to Angular 20:

Replaced checked in package-lock.json by regenerated one.
Ran ng update @angular/core@20 @angular/cli@20
Ran npm install @angular-builders/jest@^20.0.0 @fortawesome/angular-fontawesome@^3.0.0 @swimlane/ngx-graph@^11
Ran npm install ngx-mat-select-search@^8.0.2.
Ran ng update @angular/material@20.
Updated all eslint and typescript to the latest versions.
Removed @angular-devkit/schematics.
Updated fontawesome.
Updated rxjs and tslib.
Moved required node version from 16 to 20.
Updated jest-preset-angular.
Set preserveWhitespaces to false.
Corrected two type declarations in two typescript files to make ng serve run without errors.
Removed unused angular-devkit/schematics from view-user.component.ts .
Updated list of supported browsers.
Upgraded prettier.
Ran prettier . --write the first time.
Ran prettier . --write the second time.
Ran ng generate @angular/core:inject with defaults, excepted a handful of files.
Fixed remaining eslint problems.
Added dist directory to ignores in eslint.config.js.
Let prettier fix formatting, almost everything is just line breaks.
Made htmlhint ignore @if and @for Angular constructs.
Updated node version in Github workflow to 22.12.0 (build.yml).
Updated .env.ts.
Updated Angular datetime format strings from YYYY-MM-DD to yyyy-MM-dd.
Merged changes from dev into angular20 branch.
This commit is contained in:
Felix van Hove
2025-12-08 11:01:01 +01:00
parent f1b4ec2cf2
commit 7fd1486c08
1516 changed files with 39367 additions and 36037 deletions
@@ -22,10 +22,12 @@
<div class="value">{{ accountingRule.officeName }}</div>
</div>
<div class="content-row" *ngIf="accountingRule.description">
<div class="label">{{ 'labels.inputs.Description' | translate }}</div>
<div class="value">{{ accountingRule.description }}</div>
</div>
@if (accountingRule.description) {
<div class="content-row">
<div class="label">{{ 'labels.inputs.Description' | translate }}</div>
<div class="value">{{ accountingRule.description }}</div>
</div>
}
<div class="content-row">
<div class="label">{{ 'labels.inputs.Multiple Debit Entries Allowed' | translate }}</div>
@@ -41,37 +43,49 @@
<mat-card>
<mat-card-content class="content-rows">
<div class="content-row" *ngIf="accountingRule.debitTags?.length">
<div class="label">{{ 'labels.inputs.Debit Tags' | translate }}</div>
<div class="value">
<span *ngFor="let debitTag of accountingRule.debitTags">{{ debitTag.tag.name }}</span>
@if (accountingRule.debitTags?.length) {
<div class="content-row">
<div class="label">{{ 'labels.inputs.Debit Tags' | translate }}</div>
<div class="value">
@for (debitTag of accountingRule.debitTags; track debitTag) {
<span>{{ debitTag.tag.name }}</span>
}
</div>
</div>
</div>
}
<div class="content-row" *ngIf="accountingRule.debitAccounts?.length">
<div class="label">{{ 'labels.inputs.Debit Account Name' | translate }}</div>
<div class="value">
<span *ngFor="let debitAccount of accountingRule.debitAccounts">{{
debitAccount.name + ' (' + debitAccount.glCode + ')'
}}</span>
@if (accountingRule.debitAccounts?.length) {
<div class="content-row">
<div class="label">{{ 'labels.inputs.Debit Account Name' | translate }}</div>
<div class="value">
@for (debitAccount of accountingRule.debitAccounts; track debitAccount) {
<span>{{ debitAccount.name + ' (' + debitAccount.glCode + ')' }}</span>
}
</div>
</div>
</div>
}
<div class="content-row" *ngIf="accountingRule.creditTags?.length">
<div class="label">{{ 'labels.inputs.Credit Tags' | translate }}</div>
<div class="value">
<span *ngFor="let creditTag of accountingRule.creditTags">{{ creditTag.tag.name }}</span>
@if (accountingRule.creditTags?.length) {
<div class="content-row">
<div class="label">{{ 'labels.inputs.Credit Tags' | translate }}</div>
<div class="value">
@for (creditTag of accountingRule.creditTags; track creditTag) {
<span>{{ creditTag.tag.name }}</span>
}
</div>
</div>
</div>
}
<div class="content-row" *ngIf="accountingRule.creditAccounts?.length">
<div class="label">{{ 'labels.inputs.Credit Account Name' | translate }}</div>
<div class="value">
<span *ngFor="let creditAccount of accountingRule.creditAccounts">{{
creditAccount.name + ' (' + creditAccount.glCode + ')'
}}</span>
@if (accountingRule.creditAccounts?.length) {
<div class="content-row">
<div class="label">{{ 'labels.inputs.Credit Account Name' | translate }}</div>
<div class="value">
@for (creditAccount of accountingRule.creditAccounts; track creditAccount) {
<span>{{ creditAccount.name + ' (' + creditAccount.glCode + ')' }}</span>
}
</div>
</div>
</div>
}
</mat-card-content>
</mat-card>
</div>