diff --git a/packages/core/test/bundling/core_all/BUILD.bazel b/packages/core/test/bundling/core_all/BUILD.bazel index 9ffc1eec7a..8a05dcf2b1 100644 --- a/packages/core/test/bundling/core_all/BUILD.bazel +++ b/packages/core/test/bundling/core_all/BUILD.bazel @@ -29,10 +29,10 @@ js_size_tracking_test( name = "size_test", src = "angular/packages/core/test/bundling/core_all/bundle.min.js", data = [ + "bundle.golden_size_map_ivy.json", ":bundle", - ":bundle.golden_size_map.json", ], - golden_file = "angular/packages/core/test/bundling/core_all/bundle.golden_size_map.json", + golden_file = "angular/packages/core/test/bundling/core_all/bundle.golden_size_map_ivy.json", max_byte_diff = 250, max_percentage_diff = 15, # Ensures that this target runs with "--define=compile=aot" (aka Ivy). This is necessary @@ -45,3 +45,24 @@ js_size_tracking_test( "manual", ], ) + +js_size_tracking_test( + name = "size_test_view_engine", + src = "angular/packages/core/test/bundling/core_all/bundle.min.js", + data = [ + "bundle.golden_size_map_view_engine.json", + ":bundle", + ], + golden_file = "angular/packages/core/test/bundling/core_all/bundle.golden_size_map_view_engine.json", + max_byte_diff = 250, + max_percentage_diff = 15, + # Ensures that this target runs with "--define=compile=legacy" (View Engine). This is + # necessary because we don't run this test on CI currently, but if we run it manually, + # we need to ensure that it runs with View Engine for proper size comparisons. + required_compile_mode = "legacy", + source_map = "angular/packages/core/test/bundling/core_all/bundle.min.js.map", + tags = [ + "manual", + "no-ivy-aot", + ], +) diff --git a/packages/core/test/bundling/core_all/bundle.golden_size_map.json b/packages/core/test/bundling/core_all/bundle.golden_size_map_ivy.json similarity index 100% rename from packages/core/test/bundling/core_all/bundle.golden_size_map.json rename to packages/core/test/bundling/core_all/bundle.golden_size_map_ivy.json diff --git a/packages/core/test/bundling/core_all/bundle.golden_size_map_view_engine.json b/packages/core/test/bundling/core_all/bundle.golden_size_map_view_engine.json new file mode 100644 index 0000000000..c05c1f577e --- /dev/null +++ b/packages/core/test/bundling/core_all/bundle.golden_size_map_view_engine.json @@ -0,0 +1,365 @@ +{ + "unmapped": 21315, + "files": { + "size": 271480, + "@angular/": { + "size": 238485, + "core/": { + "size": 238485, + "src/": { + "size": 238471, + "application_init.ts": 539, + "application_module.ts": 531, + "application_ref.ts": 6867, + "application_tokens.ts": 302, + "change_detection/": { + "size": 13979, + "change_detection.ts": 46, + "change_detection_util.ts": 813, + "change_detector_ref.ts": 163, + "constants.ts": 311, + "differs/": { + "size": 12646, + "default_iterable_differ.ts": 7551, + "default_keyvalue_differ.ts": 3846, + "iterable_differs.ts": 654, + "keyvalue_differs.ts": 595 + } + }, + "compiler/": { + "size": 442, + "compiler_facade.ts": 442 + }, + "console.ts": 140, + "debug/": { + "size": 6955, + "debug_node.ts": 6955 + }, + "di/": { + "size": 21250, + "forward_ref.ts": 229, + "injectable.ts": 207, + "injection_token.ts": 336, + "injector.ts": 3375, + "injector_compatibility.ts": 1879, + "interface/": { + "size": 761, + "defs.ts": 623, + "injector.ts": 138 + }, + "jit/": { + "size": 2127, + "environment.ts": 227, + "injectable.ts": 801, + "util.ts": 1099 + }, + "metadata.ts": 163, + "r3_injector.ts": 4593, + "reflective_errors.ts": 1376, + "reflective_injector.ts": 2940, + "reflective_key.ts": 589, + "reflective_provider.ts": 2001, + "scope.ts": 32, + "util.ts": 642 + }, + "error_handler.ts": 444, + "errors.ts": 171, + "event_emitter.ts": 943, + "i18n/": { + "size": 2266, + "locale_data.ts": 740, + "locale_data_api.ts": 247, + "locale_en.ts": 929, + "localization.ts": 182, + "tokens.ts": 168 + }, + "interface/": { + "size": 224, + "simple_change.ts": 170, + "type.ts": 54 + }, + "ivy_switch.ts": 4, + "linker/": { + "size": 4981, + "compiler.ts": 809, + "component_factory.ts": 82, + "component_factory_resolver.ts": 994, + "element_ref.ts": 116, + "ng_module_factory.ts": 78, + "ng_module_factory_loader.ts": 218, + "ng_module_factory_registration.ts": 436, + "query_list.ts": 1040, + "system_js_ng_module_factory_loader.ts": 918, + "template_ref.ts": 94, + "view_container_ref.ts": 94, + "view_ref.ts": 102 + }, + "metadata/": { + "size": 2425, + "di.ts": 546, + "directives.ts": 600, + "ng_module.ts": 251, + "resource_loading.ts": 857, + "schema.ts": 51, + "view.ts": 120 + }, + "platform_core_providers.ts": 118, + "profile/": { + "size": 442, + "profile.ts": 170, + "wtf_impl.ts": 272 + }, + "reflection/": { + "size": 4878, + "reflection.ts": 16, + "reflection_capabilities.ts": 3677, + "reflector.ts": 1185 + }, + "render/": { + "size": 472, + "api.ts": 472 + }, + "render3/": { + "size": 95489, + "bindings.ts": 308, + "component.ts": 1249, + "component_ref.ts": 2311, + "context_discovery.ts": 2098, + "definition.ts": 2565, + "di.ts": 3517, + "di_setup.ts": 1576, + "empty.ts": 16, + "errors.ts": 472, + "features/": { + "size": 2590, + "inherit_definition_feature.ts": 1906, + "ng_onchanges_feature.ts": 571, + "providers_feature.ts": 113 + }, + "fields.ts": 187, + "hooks.ts": 1748, + "i18n.ts": 8977, + "instructions/": { + "size": 22007, + "advance.ts": 219, + "alloc_host_vars.ts": 290, + "attribute.ts": 78, + "attribute_interpolation.ts": 1003, + "change_detection.ts": 62, + "class_map_interpolation.ts": 675, + "container.ts": 945, + "di.ts": 130, + "element.ts": 895, + "element_container.ts": 451, + "embedded_view.ts": 655, + "get_current_view.ts": 26, + "host_property.ts": 161, + "interpolation.ts": 1194, + "listener.ts": 1431, + "next_context.ts": 44, + "projection.ts": 517, + "property.ts": 76, + "property_interpolation.ts": 954, + "shared.ts": 10184, + "storage.ts": 136, + "style_prop_interpolation.ts": 837, + "text.ts": 116, + "text_interpolation.ts": 928 + }, + "interfaces/": { + "size": 909, + "container.ts": 34, + "context.ts": 23, + "i18n.ts": 48, + "injector.ts": 227, + "renderer.ts": 165, + "type_checks.ts": 302, + "view.ts": 110 + }, + "jit/": { + "size": 10630, + "directive.ts": 3998, + "environment.ts": 3399, + "module.ts": 2764, + "pipe.ts": 469 + }, + "metadata.ts": 392, + "ng_module_ref.ts": 966, + "node_manipulation.ts": 4148, + "node_selector_matcher.ts": 1650, + "node_util.ts": 222, + "pipe.ts": 1034, + "pure_function.ts": 1274, + "query.ts": 5226, + "state.ts": 1312, + "styling_next/": { + "size": 8202, + "bindings.ts": 2430, + "instructions.ts": 1821, + "map_based_bindings.ts": 1505, + "state.ts": 296, + "styling_debug.ts": 630, + "util.ts": 1520 + }, + "tokens.ts": 10, + "util/": { + "size": 3937, + "attrs_utils.ts": 374, + "discovery_utils.ts": 1763, + "global_utils.ts": 308, + "injector_utils.ts": 150, + "misc_utils.ts": 575, + "view_traversal_utils.ts": 228, + "view_utils.ts": 539 + }, + "view_engine_compatibility.ts": 3713, + "view_engine_compatibility_prebound.ts": 180, + "view_ref.ts": 2063 + }, + "sanitization/": { + "size": 10194, + "bypass.ts": 1242, + "html_sanitizer.ts": 4491, + "inert_body.ts": 2066, + "sanitization.ts": 1065, + "sanitizer.ts": 121, + "security.ts": 160, + "style_sanitizer.ts": 576, + "url_sanitizer.ts": 473 + }, + "testability/": { + "size": 3154, + "testability.ts": 3154 + }, + "util/": { + "size": 4294, + "array_utils.ts": 467, + "assert.ts": 116, + "closure.ts": 37, + "comparison.ts": 90, + "decorators.ts": 1606, + "errors.ts": 164, + "global.ts": 243, + "is_dev_mode.ts": 138, + "lang.ts": 109, + "microtask.ts": 180, + "ng_reflect.ts": 330, + "noop.ts": 68, + "property.ts": 201, + "stringify.ts": 290, + "symbol.ts": 255 + }, + "version.ts": 179, + "view/": { + "size": 54087, + "element.ts": 3697, + "entrypoint.ts": 698, + "errors.ts": 642, + "ng_content.ts": 440, + "ng_module.ts": 2384, + "provider.ts": 5331, + "pure_expression.ts": 2195, + "query.ts": 2378, + "refs.ts": 8739, + "services.ts": 11374, + "text.ts": 1525, + "types.ts": 768, + "util.ts": 4652, + "view.ts": 8133, + "view_attach.ts": 1131 + }, + "zone/": { + "size": 2701, + "ng_zone.ts": 2701 + } + }, + "test/": { + "size": 14, + "bundling/": { + "size": 14, + "core_all/": { + "size": 14, + "index.ts": 14 + } + } + } + } + }, + "external/": { + "size": 11680, + "npm/": { + "size": 11680, + "node_modules/": { + "size": 11680, + "rxjs/": { + "size": 10200, + "src/": { + "size": 10200, + "internal/": { + "size": 10200, + "InnerSubscriber.ts": 247, + "Notification.ts": 15, + "Observable.ts": 622, + "Observer.ts": 78, + "OuterSubscriber.ts": 80, + "Subject.ts": 1102, + "SubjectSubscription.ts": 268, + "Subscriber.ts": 2066, + "Subscription.ts": 783, + "config.ts": 32, + "observable/": { + "size": 2105, + "ConnectableObservable.ts": 978, + "from.ts": 67, + "fromArray.ts": 132, + "fromIterable.ts": 224, + "fromObservable.ts": 315, + "fromPromise.ts": 217, + "merge.ts": 172 + }, + "operators/": { + "size": 1651, + "map.ts": 235, + "mergeAll.ts": 22, + "mergeMap.ts": 712, + "multicast.ts": 264, + "refCount.ts": 400, + "share.ts": 14, + "windowToggle.ts": 4 + }, + "symbol/": { + "size": 103, + "iterator.ts": 55, + "rxSubscriber.ts": 48 + }, + "util/": { + "size": 1048, + "EmptyError.ts": 6, + "ObjectUnsubscribedError.ts": 137, + "UnsubscriptionError.ts": 243, + "canReportError.ts": 56, + "isInteropObservable.ts": 14, + "isIterable.ts": 14, + "isObject.ts": 3, + "isScheduler.ts": 5, + "pipe.ts": 32, + "subscribeTo.ts": 181, + "subscribeToArray.ts": 9, + "subscribeToIterable.ts": 126, + "subscribeToObservable.ts": 48, + "subscribeToPromise.ts": 58, + "subscribeToResult.ts": 65, + "toSubscriber.ts": 51 + } + } + } + }, + "tslib/": { + "size": 1480, + "tslib.es6.js": 1480 + } + } + } + } + } +} \ No newline at end of file