perf(core): make IterableDiffers and KeyValueDiffers tree-shakable (#45094)

This commit removed references to the `IterableDiffers` and `KeyValueDiffers` classes from the `ApplicationModule`, which effectively make them tree-shakable. Both classes have `prov` static field with the right setup, so they'll be properly initialized when referenced.

PR Close #45094
This commit is contained in:
Andrew Kushnir
2022-02-15 11:47:09 -08:00
committed by Alex Rickabaugh
parent f1d10baf08
commit 45d98e7ca5
6 changed files with 5 additions and 184 deletions
@@ -3,7 +3,7 @@
"master": {
"uncompressed": {
"runtime": 1083,
"main": 139416,
"main": 127944,
"polyfills": 37226
}
}
@@ -24,7 +24,7 @@
"master": {
"uncompressed": {
"runtime": 1105,
"main": 145132,
"main": 133608,
"polyfills": 37248
}
}
@@ -33,7 +33,7 @@
"master": {
"uncompressed": {
"runtime": 929,
"main": 137712,
"main": 126275,
"polyfills": 37933
}
}
@@ -52,7 +52,7 @@
"master": {
"uncompressed": {
"runtime": 1063,
"main": 163160,
"main": 159637,
"polyfills": 36975
}
}
@@ -61,7 +61,7 @@
"master": {
"uncompressed": {
"runtime": 1070,
"main": 171374,
"main": 159755,
"polyfills": 37242
}
}
-11
View File
@@ -9,7 +9,6 @@
import {APP_INITIALIZER, ApplicationInitStatus} from './application_init';
import {ApplicationRef} from './application_ref';
import {APP_ID_RANDOM_PROVIDER} from './application_tokens';
import {defaultIterableDiffers, defaultKeyValueDiffers, IterableDiffers, KeyValueDiffers} from './change_detection/change_detection';
import {Injector, StaticProvider} from './di';
import {Inject, Optional, SkipSelf} from './di/metadata';
import {ErrorHandler} from './error_handler';
@@ -23,14 +22,6 @@ import {NgZone} from './zone';
declare const $localize: {locale?: string};
export function _iterableDiffersFactory() {
return defaultIterableDiffers;
}
export function _keyValueDiffersFactory() {
return defaultKeyValueDiffers;
}
export function _localeFactory(locale?: string): string {
return locale || getGlobalLocale();
}
@@ -79,8 +70,6 @@ export const APPLICATION_MODULE_PROVIDERS: StaticProvider[] = [
},
{provide: Compiler, useClass: Compiler, deps: []},
APP_ID_RANDOM_PROVIDER,
{provide: IterableDiffers, useFactory: _iterableDiffersFactory, deps: []},
{provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory, deps: []},
{
provide: LOCALE_ID,
useFactory: _localeFactory,
@@ -173,18 +173,6 @@
{
"name": "DefaultDomRenderer2"
},
{
"name": "DefaultIterableDiffer"
},
{
"name": "DefaultIterableDifferFactory"
},
{
"name": "DefaultKeyValueDiffer"
},
{
"name": "DefaultKeyValueDifferFactory"
},
{
"name": "DomEventsPlugin"
},
@@ -260,21 +248,9 @@
{
"name": "Injector"
},
{
"name": "IterableChangeRecord_"
},
{
"name": "IterableDiffers"
},
{
"name": "KeyEventsPlugin"
},
{
"name": "KeyValueChangeRecord_"
},
{
"name": "KeyValueDiffers"
},
{
"name": "LEAVE_TOKEN_REGEX"
},
@@ -545,9 +521,6 @@
{
"name": "_DOM"
},
{
"name": "_DuplicateMap"
},
{
"name": "_IS_WEBKIT"
},
@@ -608,9 +581,6 @@
{
"name": "_renderCompCount"
},
{
"name": "_symbolIterator"
},
{
"name": "_testabilityGetter"
},
@@ -779,18 +749,6 @@
{
"name": "defaultErrorLogger"
},
{
"name": "defaultIterableDiffers"
},
{
"name": "defaultIterableDiffersFactory"
},
{
"name": "defaultKeyValueDiffers"
},
{
"name": "defaultKeyValueDiffersFactory"
},
{
"name": "defaultScheduler"
},
@@ -965,9 +923,6 @@
{
"name": "getPlatform"
},
{
"name": "getPreviousIndex"
},
{
"name": "getProjectionNodes"
},
@@ -980,9 +935,6 @@
{
"name": "getStyleAttributeString"
},
{
"name": "getSymbolIterator"
},
{
"name": "getSymbolIterator2"
},
@@ -1088,18 +1040,12 @@
{
"name": "isInlineTemplate"
},
{
"name": "isJsObject"
},
{
"name": "isLContainer"
},
{
"name": "isLView"
},
{
"name": "isListLikeIterable"
},
{
"name": "isNode"
},
@@ -1139,9 +1085,6 @@
{
"name": "iteratorToArray"
},
{
"name": "keyValDiff"
},
{
"name": "leaveDI"
},
@@ -1421,9 +1364,6 @@
{
"name": "toRefArray"
},
{
"name": "trackByIdentity"
},
{
"name": "transition"
},
@@ -137,12 +137,6 @@
{
"name": "DefaultIterableDifferFactory"
},
{
"name": "DefaultKeyValueDiffer"
},
{
"name": "DefaultKeyValueDifferFactory"
},
{
"name": "DefaultValueAccessor"
},
@@ -242,12 +236,6 @@
{
"name": "KeyEventsPlugin"
},
{
"name": "KeyValueChangeRecord_"
},
{
"name": "KeyValueDiffers"
},
{
"name": "LOCALE_DATA"
},
@@ -767,18 +755,9 @@
{
"name": "defaultErrorLogger"
},
{
"name": "defaultIterableDiffers"
},
{
"name": "defaultIterableDiffersFactory"
},
{
"name": "defaultKeyValueDiffers"
},
{
"name": "defaultKeyValueDiffersFactory"
},
{
"name": "defaultScheduler"
},
@@ -1169,9 +1148,6 @@
{
"name": "isInlineTemplate"
},
{
"name": "isJsObject"
},
{
"name": "isLContainer"
},
@@ -1226,9 +1202,6 @@
{
"name": "iterator"
},
{
"name": "keyValDiff"
},
{
"name": "keyValueArrayGet"
},
@@ -143,12 +143,6 @@
{
"name": "DefaultIterableDifferFactory"
},
{
"name": "DefaultKeyValueDiffer"
},
{
"name": "DefaultKeyValueDifferFactory"
},
{
"name": "DefaultValueAccessor"
},
@@ -233,12 +227,6 @@
{
"name": "KeyEventsPlugin"
},
{
"name": "KeyValueChangeRecord_"
},
{
"name": "KeyValueDiffers"
},
{
"name": "LOCALE_DATA"
},
@@ -749,18 +737,9 @@
{
"name": "defaultErrorLogger"
},
{
"name": "defaultIterableDiffers"
},
{
"name": "defaultIterableDiffersFactory"
},
{
"name": "defaultKeyValueDiffers"
},
{
"name": "defaultKeyValueDiffersFactory"
},
{
"name": "defaultScheduler"
},
@@ -1136,9 +1115,6 @@
{
"name": "isInlineTemplate"
},
{
"name": "isJsObject"
},
{
"name": "isLContainer"
},
@@ -1193,9 +1169,6 @@
{
"name": "iterator"
},
{
"name": "keyValDiff"
},
{
"name": "keyValueArrayGet"
},
@@ -158,18 +158,6 @@
{
"name": "DefaultIfEmptySubscriber"
},
{
"name": "DefaultIterableDiffer"
},
{
"name": "DefaultIterableDifferFactory"
},
{
"name": "DefaultKeyValueDiffer"
},
{
"name": "DefaultKeyValueDifferFactory"
},
{
"name": "DefaultTitleStrategy"
},
@@ -269,21 +257,9 @@
{
"name": "ItemComponent"
},
{
"name": "IterableChangeRecord_"
},
{
"name": "IterableDiffers"
},
{
"name": "KeyEventsPlugin"
},
{
"name": "KeyValueChangeRecord_"
},
{
"name": "KeyValueDiffers"
},
{
"name": "LOCALE_DATA"
},
@@ -773,9 +749,6 @@
{
"name": "_DOM"
},
{
"name": "_DuplicateMap"
},
{
"name": "_NullComponentFactoryResolver"
},
@@ -1031,18 +1004,6 @@
{
"name": "defaultIfEmpty"
},
{
"name": "defaultIterableDiffers"
},
{
"name": "defaultIterableDiffersFactory"
},
{
"name": "defaultKeyValueDiffers"
},
{
"name": "defaultKeyValueDiffersFactory"
},
{
"name": "defaultMalformedUriErrorHandler"
},
@@ -1331,9 +1292,6 @@
{
"name": "getPlatform"
},
{
"name": "getPreviousIndex"
},
{
"name": "getProjectionNodes"
},
@@ -1496,18 +1454,12 @@
{
"name": "isInlineTemplate"
},
{
"name": "isJsObject"
},
{
"name": "isLContainer"
},
{
"name": "isLView"
},
{
"name": "isListLikeIterable"
},
{
"name": "isMatrixParams"
},
@@ -1556,9 +1508,6 @@
{
"name": "joinWithSlash"
},
{
"name": "keyValDiff"
},
{
"name": "last2"
},
@@ -1943,9 +1892,6 @@
{
"name": "toRefArray"
},
{
"name": "trackByIdentity"
},
{
"name": "tree"
},