25f763cff8
Switches the repository to TypeScript 4.3 and the latest version of tslib. This involves updating the peer dependency ranges on `typescript` for the compiler CLI and for the Bazel package. Tests for new TypeScript features have been added to ensure compatibility with Angular's ngtsc compiler. PR Close #42022 |
||
---|---|---|
.. | ||
google3 | ||
BUILD.bazel | ||
README.md | ||
collector.ts | ||
index.ts | ||
transform.ts | ||
update_recorder.ts | ||
util.ts |
README.md
initialNavigation migration
Automatically migrates the initialNavigation
property of the RouterModule
to the newly
available options: enabledNonBlocking
(default), enabledBlocking
, and disabled
.
Before
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
@NgModule({
imports: [
RouterModule.forRoot(ROUTES, {initialNavigation: 'legacy_disabled'}),
]
})
export class AppModule {
}
After
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
@NgModule({
imports: [
RouterModule.forRoot(ROUTES, {initialNavigation: 'disabled'}),
]
})
export class AppModule {
}
Disclaimer
The migration only covers the most common patterns where developers set the ExtraOptions#InitialNavigation
option to an outdated value. Therefore, if a user declares the option using a number of other methods,
e.g. shorthand notation, variable declaration, or some other crafty method, they will have to migrate
those options by hand. Otherwise, the compiler will error if the types are sufficiently enforced.
The basic migration strategy is as follows:
legacy_disabled
||false
=>disabled
legacy_enabled
||true
=>enabledNonBlocking
(new default)