Alex Rickabaugh 01e7ff682c test(ivy): todo app only includes reflect-metadata in JIT mode (#24677)
Previously the todo app imported reflect-metadata, since it is a dependency
of JIT and the todo app tests run in both JIT and AOT modes. However, the
code doesn't get tree-shaken away in AOT mode.

This change adds a target //packages/core/test/bundling/util:reflect_metadata
which, depending on whether the compile flag is in JIT or AOT mode, either
includes reflect-metadata or is a no-op.

Not including reflect-metadata gets the compressed todo bundle down to 12.5 kB.

PR Close #24677
2018-06-28 17:51:42 -04:00

23 lines
667 B
Python

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)';\" > $@",
)