Skip to content

Commit cbd23ee

Browse files
AndrewKushniralxhub
authored andcommitted
perf(core): make IterableDiffers and KeyValueDiffers tree-shakable (#45094) (#45115)
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 PR Close #45115
1 parent 5d08390 commit cbd23ee

6 files changed

Lines changed: 5 additions & 184 deletions

File tree

goldens/size-tracking/integration-payloads.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"master": {
44
"uncompressed": {
55
"runtime": 1083,
6-
"main": 139416,
6+
"main": 127944,
77
"polyfills": 37226
88
}
99
}
@@ -24,7 +24,7 @@
2424
"master": {
2525
"uncompressed": {
2626
"runtime": 1105,
27-
"main": 145132,
27+
"main": 133608,
2828
"polyfills": 37248
2929
}
3030
}
@@ -33,7 +33,7 @@
3333
"master": {
3434
"uncompressed": {
3535
"runtime": 929,
36-
"main": 137712,
36+
"main": 126275,
3737
"polyfills": 37933
3838
}
3939
}
@@ -52,7 +52,7 @@
5252
"master": {
5353
"uncompressed": {
5454
"runtime": 1063,
55-
"main": 163160,
55+
"main": 159637,
5656
"polyfills": 36975
5757
}
5858
}
@@ -61,7 +61,7 @@
6161
"master": {
6262
"uncompressed": {
6363
"runtime": 1070,
64-
"main": 171374,
64+
"main": 159755,
6565
"polyfills": 37242
6666
}
6767
}

packages/core/src/application_module.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import {APP_INITIALIZER, ApplicationInitStatus} from './application_init';
1010
import {ApplicationRef} from './application_ref';
1111
import {APP_ID_RANDOM_PROVIDER} from './application_tokens';
12-
import {defaultIterableDiffers, defaultKeyValueDiffers, IterableDiffers, KeyValueDiffers} from './change_detection/change_detection';
1312
import {Injector, StaticProvider} from './di';
1413
import {Inject, Optional, SkipSelf} from './di/metadata';
1514
import {ErrorHandler} from './error_handler';
@@ -23,14 +22,6 @@ import {NgZone} from './zone';
2322

2423
declare const $localize: {locale?: string};
2524

26-
export function _iterableDiffersFactory() {
27-
return defaultIterableDiffers;
28-
}
29-
30-
export function _keyValueDiffersFactory() {
31-
return defaultKeyValueDiffers;
32-
}
33-
3425
export function _localeFactory(locale?: string): string {
3526
return locale || getGlobalLocale();
3627
}
@@ -79,8 +70,6 @@ export const APPLICATION_MODULE_PROVIDERS: StaticProvider[] = [
7970
},
8071
{provide: Compiler, useClass: Compiler, deps: []},
8172
APP_ID_RANDOM_PROVIDER,
82-
{provide: IterableDiffers, useFactory: _iterableDiffersFactory, deps: []},
83-
{provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory, deps: []},
8473
{
8574
provide: LOCALE_ID,
8675
useFactory: _localeFactory,

packages/core/test/bundling/animations/bundle.golden_symbols.json

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -173,18 +173,6 @@
173173
{
174174
"name": "DefaultDomRenderer2"
175175
},
176-
{
177-
"name": "DefaultIterableDiffer"
178-
},
179-
{
180-
"name": "DefaultIterableDifferFactory"
181-
},
182-
{
183-
"name": "DefaultKeyValueDiffer"
184-
},
185-
{
186-
"name": "DefaultKeyValueDifferFactory"
187-
},
188176
{
189177
"name": "DomEventsPlugin"
190178
},
@@ -263,21 +251,9 @@
263251
{
264252
"name": "Injector"
265253
},
266-
{
267-
"name": "IterableChangeRecord_"
268-
},
269-
{
270-
"name": "IterableDiffers"
271-
},
272254
{
273255
"name": "KeyEventsPlugin"
274256
},
275-
{
276-
"name": "KeyValueChangeRecord_"
277-
},
278-
{
279-
"name": "KeyValueDiffers"
280-
},
281257
{
282258
"name": "LEAVE_TOKEN_REGEX"
283259
},
@@ -548,9 +524,6 @@
548524
{
549525
"name": "_DOM"
550526
},
551-
{
552-
"name": "_DuplicateMap"
553-
},
554527
{
555528
"name": "_IS_WEBKIT"
556529
},
@@ -611,9 +584,6 @@
611584
{
612585
"name": "_renderCompCount"
613586
},
614-
{
615-
"name": "_symbolIterator"
616-
},
617587
{
618588
"name": "_testabilityGetter"
619589
},
@@ -779,18 +749,6 @@
779749
{
780750
"name": "defaultErrorLogger"
781751
},
782-
{
783-
"name": "defaultIterableDiffers"
784-
},
785-
{
786-
"name": "defaultIterableDiffersFactory"
787-
},
788-
{
789-
"name": "defaultKeyValueDiffers"
790-
},
791-
{
792-
"name": "defaultKeyValueDiffersFactory"
793-
},
794752
{
795753
"name": "defaultScheduler"
796754
},
@@ -965,9 +923,6 @@
965923
{
966924
"name": "getPlatform"
967925
},
968-
{
969-
"name": "getPreviousIndex"
970-
},
971926
{
972927
"name": "getProjectionNodes"
973928
},
@@ -980,9 +935,6 @@
980935
{
981936
"name": "getStyleAttributeString"
982937
},
983-
{
984-
"name": "getSymbolIterator"
985-
},
986938
{
987939
"name": "getSymbolIterator2"
988940
},
@@ -1088,18 +1040,12 @@
10881040
{
10891041
"name": "isInlineTemplate"
10901042
},
1091-
{
1092-
"name": "isJsObject"
1093-
},
10941043
{
10951044
"name": "isLContainer"
10961045
},
10971046
{
10981047
"name": "isLView"
10991048
},
1100-
{
1101-
"name": "isListLikeIterable"
1102-
},
11031049
{
11041050
"name": "isNode"
11051051
},
@@ -1145,9 +1091,6 @@
11451091
{
11461092
"name": "iteratorToArray"
11471093
},
1148-
{
1149-
"name": "keyValDiff"
1150-
},
11511094
{
11521095
"name": "leaveDI"
11531096
},
@@ -1427,9 +1370,6 @@
14271370
{
14281371
"name": "toRefArray"
14291372
},
1430-
{
1431-
"name": "trackByIdentity"
1432-
},
14331373
{
14341374
"name": "transition"
14351375
},

packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,6 @@
137137
{
138138
"name": "DefaultIterableDifferFactory"
139139
},
140-
{
141-
"name": "DefaultKeyValueDiffer"
142-
},
143-
{
144-
"name": "DefaultKeyValueDifferFactory"
145-
},
146140
{
147141
"name": "DefaultValueAccessor"
148142
},
@@ -242,12 +236,6 @@
242236
{
243237
"name": "KeyEventsPlugin"
244238
},
245-
{
246-
"name": "KeyValueChangeRecord_"
247-
},
248-
{
249-
"name": "KeyValueDiffers"
250-
},
251239
{
252240
"name": "LOCALE_DATA"
253241
},
@@ -767,18 +755,9 @@
767755
{
768756
"name": "defaultErrorLogger"
769757
},
770-
{
771-
"name": "defaultIterableDiffers"
772-
},
773758
{
774759
"name": "defaultIterableDiffersFactory"
775760
},
776-
{
777-
"name": "defaultKeyValueDiffers"
778-
},
779-
{
780-
"name": "defaultKeyValueDiffersFactory"
781-
},
782761
{
783762
"name": "defaultScheduler"
784763
},
@@ -1169,9 +1148,6 @@
11691148
{
11701149
"name": "isInlineTemplate"
11711150
},
1172-
{
1173-
"name": "isJsObject"
1174-
},
11751151
{
11761152
"name": "isLContainer"
11771153
},
@@ -1226,9 +1202,6 @@
12261202
{
12271203
"name": "iterator"
12281204
},
1229-
{
1230-
"name": "keyValDiff"
1231-
},
12321205
{
12331206
"name": "keyValueArrayGet"
12341207
},

packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,6 @@
143143
{
144144
"name": "DefaultIterableDifferFactory"
145145
},
146-
{
147-
"name": "DefaultKeyValueDiffer"
148-
},
149-
{
150-
"name": "DefaultKeyValueDifferFactory"
151-
},
152146
{
153147
"name": "DefaultValueAccessor"
154148
},
@@ -233,12 +227,6 @@
233227
{
234228
"name": "KeyEventsPlugin"
235229
},
236-
{
237-
"name": "KeyValueChangeRecord_"
238-
},
239-
{
240-
"name": "KeyValueDiffers"
241-
},
242230
{
243231
"name": "LOCALE_DATA"
244232
},
@@ -746,18 +734,9 @@
746734
{
747735
"name": "defaultErrorLogger"
748736
},
749-
{
750-
"name": "defaultIterableDiffers"
751-
},
752737
{
753738
"name": "defaultIterableDiffersFactory"
754739
},
755-
{
756-
"name": "defaultKeyValueDiffers"
757-
},
758-
{
759-
"name": "defaultKeyValueDiffersFactory"
760-
},
761740
{
762741
"name": "defaultScheduler"
763742
},
@@ -1133,9 +1112,6 @@
11331112
{
11341113
"name": "isInlineTemplate"
11351114
},
1136-
{
1137-
"name": "isJsObject"
1138-
},
11391115
{
11401116
"name": "isLContainer"
11411117
},
@@ -1190,9 +1166,6 @@
11901166
{
11911167
"name": "iterator"
11921168
},
1193-
{
1194-
"name": "keyValDiff"
1195-
},
11961169
{
11971170
"name": "keyValueArrayGet"
11981171
},

0 commit comments

Comments
 (0)