chore(deps): update Angular core/cli/animations/common/compiler/forms/platform-browser/router/service-worker 21.1.5 -> 22.0.8

Ran via ng update @angular/core@22 @angular/cli@22 (schematics applied
automatically). TypeScript bumped 5.9.3 -> 6.0.3 as a required peer.

Migrations applied:
- provideHttpClient() calls gained withXhr() where HttpXhrBackend is used
  (app.config.ts)
- optional-chaining expressions wrapped in $safeNavigationMigration()
  (language-selector.component.html)
- nullishCoalescingNotNullable/optionalChainNotNullable extended
  diagnostics disabled in tsconfig.app.json/tsconfig.spec.json (matches
  the new stricter default the migration works around)

Next: ng update @angular/cdk@22, then verify tsc/build/tests.
This commit is contained in:
sdarbinyan
2026-07-26 19:05:58 +04:00
parent eba9b7f4f0
commit 3300494309
6 changed files with 1498 additions and 1858 deletions

3301
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -21,31 +21,32 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "21.1.5", "@angular/animations": "22.0.8",
"@angular/cdk": "21.1.5", "@angular/cdk": "21.1.5",
"@angular/common": "21.1.5", "@angular/common": "22.0.8",
"@angular/compiler": "21.1.5", "@angular/compiler": "22.0.8",
"@angular/core": "21.1.5", "@angular/core": "22.0.8",
"@angular/forms": "21.1.5", "@angular/forms": "22.0.8",
"@angular/platform-browser": "21.1.5", "@angular/platform-browser": "22.0.8",
"@angular/router": "21.1.5", "@angular/router": "22.0.8",
"@angular/service-worker": "21.1.5", "@angular/service-worker": "22.0.8",
"@lucide/angular": "^1.25.0", "@lucide/angular": "^1.25.0",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.8.0", "tslib": "^2.8.0",
"zone.js": "~0.16.0" "zone.js": "~0.16.0"
}, },
"devDependencies": { "devDependencies": {
"@angular/build": "21.1.5", "@angular/build": "22.0.8",
"@angular/cli": "21.1.5", "@angular/cli": "22.0.8",
"@angular/compiler-cli": "21.1.5", "@angular/compiler-cli": "22.0.8",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"barry-cache": "^0.9.3", "barry-cache": "^0.9.3",
"istanbul-lib-instrument": "^6.0.3",
"jasmine-core": "~5.5.0", "jasmine-core": "~5.5.0",
"karma": "~6.4.0", "karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0", "karma-chrome-launcher": "~3.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.9.3" "typescript": "~6.0.3"
} }
} }

View File

@@ -1,6 +1,6 @@
import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection, isDevMode } from '@angular/core'; import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection, isDevMode } from '@angular/core';
import { provideRouter, withInMemoryScrolling } from '@angular/router'; import { provideRouter, withInMemoryScrolling } from '@angular/router';
import { provideHttpClient, withInterceptors } from '@angular/common/http'; import { provideHttpClient, withInterceptors, withXhr } from '@angular/common/http';
import { routes } from './app.routes'; import { routes } from './app.routes';
import { cacheInterceptor } from './interceptors/cache.interceptor'; import { cacheInterceptor } from './interceptors/cache.interceptor';
@@ -22,7 +22,7 @@ export const appConfig: ApplicationConfig = {
routes, routes,
withInMemoryScrolling({ scrollPositionRestoration: 'top' }) withInMemoryScrolling({ scrollPositionRestoration: 'top' })
), ),
provideHttpClient( provideHttpClient(withXhr(),
withInterceptors([mockDataInterceptor, apiBaseUrlInterceptor, apiHeadersInterceptor, adminAuthHeadersInterceptor, cacheInterceptor]) withInterceptors([mockDataInterceptor, apiBaseUrlInterceptor, apiHeadersInterceptor, adminAuthHeadersInterceptor, cacheInterceptor])
), ),
{ provide: Ed25519VerificationService, useClass: NoopEd25519VerificationService }, { provide: Ed25519VerificationService, useClass: NoopEd25519VerificationService },

View File

@@ -1,7 +1,7 @@
<div class="language-selector" role="listbox"> <div class="language-selector" role="listbox">
<button class="language-button" (click)="toggleDropdown()" (keydown)="onKeyDown($event)" aria-haspopup="listbox" [attr.aria-expanded]="dropdownOpen"> <button class="language-button" (click)="toggleDropdown()" (keydown)="onKeyDown($event)" aria-haspopup="listbox" [attr.aria-expanded]="dropdownOpen">
<img [src]="languageService.getCurrentLanguage()?.flagSvg" <img [src]="$safeNavigationMigration(languageService.getCurrentLanguage()?.flagSvg)"
[alt]="languageService.getCurrentLanguage()?.name" [alt]="$safeNavigationMigration(languageService.getCurrentLanguage()?.name)"
class="language-flag"> class="language-flag">
<span class="language-code">{{ languageService.getCurrentLanguage()?.code?.toUpperCase() }}</span> <span class="language-code">{{ languageService.getCurrentLanguage()?.code?.toUpperCase() }}</span>
<app-icon name="chevronDown" [size]="14" [class.rotated]="dropdownOpen" class="dropdown-arrow" /> <app-icon name="chevronDown" [size]="14" [class.rotated]="dropdownOpen" class="dropdown-arrow" />

View File

@@ -12,5 +12,13 @@
], ],
"exclude": [ "exclude": [
"src/**/*.spec.ts" "src/**/*.spec.ts"
] ],
"angularCompilerOptions": {
"extendedDiagnostics": {
"checks": {
"nullishCoalescingNotNullable": "suppress",
"optionalChainNotNullable": "suppress"
}
}
}
} }

View File

@@ -11,5 +11,13 @@
"include": [ "include": [
"src/**/*.spec.ts", "src/**/*.spec.ts",
"src/**/*.d.ts" "src/**/*.d.ts"
] ],
"angularCompilerOptions": {
"extendedDiagnostics": {
"checks": {
"nullishCoalescingNotNullable": "suppress",
"optionalChainNotNullable": "suppress"
}
}
}
} }