diff --git a/packages/core/test/bundling/todo/BUILD.bazel b/packages/core/test/bundling/todo/BUILD.bazel index e4381ca297..1535f80fb8 100644 --- a/packages/core/test/bundling/todo/BUILD.bazel +++ b/packages/core/test/bundling/todo/BUILD.bazel @@ -14,6 +14,7 @@ ng_module( deps = [ "//packages/common", "//packages/core", + "//packages/core/test/bundling/util:reflect_metadata", ], ) @@ -31,6 +32,7 @@ ng_rollup_bundle( ":todo", "//packages/common", "//packages/core", + "//packages/core/test/bundling/util:reflect_metadata", ], ) diff --git a/packages/core/test/bundling/todo/index.ts b/packages/core/test/bundling/todo/index.ts index 8db4e40e6a..60d65f0242 100644 --- a/packages/core/test/bundling/todo/index.ts +++ b/packages/core/test/bundling/todo/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import 'reflect-metadata'; +import '@angular/core/test/bundling/util/src/reflect_metadata'; import {CommonModule, NgForOf, NgIf} from '@angular/common'; import {Component, Injectable, IterableDiffers, NgModule, defineInjector, ɵNgOnChangesFeature as NgOnChangesFeature, ɵdefineDirective as defineDirective, ɵdirectiveInject as directiveInject, ɵinjectTemplateRef as injectTemplateRef, ɵinjectViewContainerRef as injectViewContainerRef, ɵrenderComponent as renderComponent} from '@angular/core'; diff --git a/packages/core/test/bundling/util/BUILD.bazel b/packages/core/test/bundling/util/BUILD.bazel new file mode 100644 index 0000000000..dd5ec1b044 --- /dev/null +++ b/packages/core/test/bundling/util/BUILD.bazel @@ -0,0 +1,22 @@ +package(default_visibility = ["//visibility:public"]) + +load("//tools:defaults.bzl", "ts_library") + +# Either loads reflect-metadata or is a no-op, depending on whether compilation is in JIT mode. +ts_library( + name = "reflect_metadata", + srcs = [ + "src/reflect_metadata_jit.ts", + "src/reflect_metadata_legacy.ts", + "src/reflect_metadata_local.ts", + ":metadata_switch", + ], + module_name = "@angular/core/test/bundling/util/src/reflect_metadata", +) + +# See packages/core/BUILD.bazel. +genrule( + name = "metadata_switch", + outs = ["src/reflect_metadata.ts"], + cmd = "echo import \"'./reflect_metadata_$(compile)';\" > $@", +) diff --git a/packages/core/test/bundling/util/src/reflect_metadata.ts b/packages/core/test/bundling/util/src/reflect_metadata.ts new file mode 100644 index 0000000000..88c74cc7c2 --- /dev/null +++ b/packages/core/test/bundling/util/src/reflect_metadata.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import './reflect_metadata_legacy'; diff --git a/packages/core/test/bundling/util/src/reflect_metadata_jit.ts b/packages/core/test/bundling/util/src/reflect_metadata_jit.ts new file mode 100644 index 0000000000..4c37fe91ba --- /dev/null +++ b/packages/core/test/bundling/util/src/reflect_metadata_jit.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import 'reflect-metadata'; diff --git a/packages/core/test/bundling/util/src/reflect_metadata_legacy.ts b/packages/core/test/bundling/util/src/reflect_metadata_legacy.ts new file mode 100644 index 0000000000..d83b208107 --- /dev/null +++ b/packages/core/test/bundling/util/src/reflect_metadata_legacy.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export const UNUSED = true; diff --git a/packages/core/test/bundling/util/src/reflect_metadata_local.ts b/packages/core/test/bundling/util/src/reflect_metadata_local.ts new file mode 100644 index 0000000000..d83b208107 --- /dev/null +++ b/packages/core/test/bundling/util/src/reflect_metadata_local.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export const UNUSED = true;