Files
Denys VuikaandCursor 711e5b4eac chore: migrate to Angular 20 and Material 20
- Update Angular from 19.2.18 to 20.3.9
- Update Angular Material/CDK from 19.2.19 to 20.2.14
- Update TypeScript from 5.8.3 to 5.9.3
- Update @typescript-eslint from 6.21.0 to 8.18.2
- Update @angular-eslint from 19.8.1 to 20.0.0
- Update ng-packagr from 19.2.2 to 20.3.2
- Update @mat-datetimepicker/core from 15.0.2 to 16.0.1 (Angular 20 compatible)

Angular Migrations Applied:
- Convert templates to new control flow syntax (@if, @for, @switch)
- Migrate DOCUMENT imports from @angular/common to @angular/core
- Update Router.getCurrentNavigation() to currentNavigation signal
- Replace deprecated InjectFlags enum usage
- Replace TestBed.get with TestBed.inject

Breaking Changes Fixed:
- Remove deprecated Directionality.value setter (read-only in Angular 20)
- Update ESLint config: replace @typescript-eslint/no-var-requires with no-require-imports
- Remove @typescript-eslint/brace-style rule (deprecated in v8)

Configuration:
- Add .npmrc with legacy-peer-deps for CI/CD compatibility
- Update ESLint rules for @typescript-eslint v8 compatibility

BREAKING CHANGE: Requires Angular 20+ and @mat-datetimepicker/core@16.0.1

Note: Nx build system currently has plugin worker issues. TypeScript compilation
verified successfully. Full builds and tests pending Nx worker resolution.

See MIGRATION_SUMMARY.md for complete details.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 12:33:27 +00:00
..

@alfresco/adf-core/shell

Namespace: @alfresco/adf-core/shell.

This module provides the main layout for the application, allowing you to define routes and guards for your application shell.

Shell

Passed routes are going to be attached to shell main route.

import { provideShell } from '@alfresco/adf-core/shell';

provideShell(
    {
        routes: [],
        appService: AppService,
        authGuard: AuthGuard,
        navBar: {
            minWidth: 0,
            maxWidth: 100
        }
    }
)

If you would like to provide custom app guard, you can provide your own using SHELL_AUTH_TOKEN.

Shell Service

In order to use shell, you need to provide SHELL_APP_SERVICE which provides necessary options for shell component to work.