mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
refactor(router): add ngDevMode guards to InjectionToken names and cleanup imports
Wraps InjectionToken names with `typeof ngDevMode !== 'undefined' && ngDevMode`
checks to enable tree-shaking of descriptive token names in production builds.
This ensures debug-only strings are removed from production bundles, reducing size.
Also removes unused imports found during refactor.
(cherry picked from commit b0b834d7f1)
This commit is contained in:
parent
8ab084754b
commit
e5a19cb736
4 changed files with 13 additions and 6 deletions
|
|
@ -434,7 +434,9 @@ class OutletInjector implements Injector {
|
|||
}
|
||||
}
|
||||
|
||||
export const INPUT_BINDER = new InjectionToken<RoutedComponentInputBinder>('');
|
||||
export const INPUT_BINDER = new InjectionToken<RoutedComponentInputBinder>(
|
||||
typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router Input Binder' : '',
|
||||
);
|
||||
|
||||
/**
|
||||
* Injectable used as a tree-shakable provider for opting in to binding router data to component
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import type {RouterConfigLoader} from '../router_config_loader';
|
|||
import type {UrlSerializer} from '../url_tree';
|
||||
|
||||
const RECOGNIZE_IMPL = new InjectionToken<typeof recognizeFn | typeof recognizeFnRxjs>(
|
||||
'RECOGNIZE_IMPL',
|
||||
typeof ngDevMode !== 'undefined' && ngDevMode ? 'RECOGNIZE_IMPL' : '',
|
||||
{
|
||||
factory: () => {
|
||||
const USE_ASYNC_RECOGNIZE = true;
|
||||
|
|
|
|||
|
|
@ -142,9 +142,12 @@ function routerFeature<FeatureKind extends RouterFeatureKind>(
|
|||
* An Injection token used to indicate whether `provideRouter` or `RouterModule.forRoot` was ever
|
||||
* called.
|
||||
*/
|
||||
export const ROUTER_IS_PROVIDED = new InjectionToken<boolean>('', {
|
||||
factory: () => false,
|
||||
});
|
||||
export const ROUTER_IS_PROVIDED = new InjectionToken<boolean>(
|
||||
typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router is provided' : '',
|
||||
{
|
||||
factory: () => false,
|
||||
},
|
||||
);
|
||||
|
||||
const routerIsProvidedDevModeCheck = {
|
||||
provide: ENVIRONMENT_INITIALIZER,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@ import {
|
|||
import {NavigationTransitions} from './navigation_transition';
|
||||
import {UrlSerializer} from './url_tree';
|
||||
|
||||
export const ROUTER_SCROLLER = new InjectionToken<RouterScroller>('');
|
||||
export const ROUTER_SCROLLER = new InjectionToken<RouterScroller>(
|
||||
typeof ngDevMode !== 'undefined' && ngDevMode ? 'Router Scroller' : '',
|
||||
);
|
||||
|
||||
@Injectable()
|
||||
export class RouterScroller implements OnDestroy {
|
||||
|
|
|
|||
Loading…
Reference in a new issue