This commit adds a mechanism by which the @angular/core annotations for @Component, @Injectable, and @NgModule become decorators which, when executed at runtime, trigger just-in-time compilation of their associated types. The activation of these decorators is configured by the ivy_switch mechanism, ensuring that the Ivy JIT engine does not get included in Angular bundles unless specifically requested. PR Close #23833
42 lines
747 B
Python
42 lines
747 B
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load("//tools:defaults.bzl", "ts_library", "ts_web_test")
|
|
load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test")
|
|
|
|
ts_library(
|
|
name = "ivy_lib",
|
|
testonly = 1,
|
|
srcs = glob(["**/*.ts"]),
|
|
deps = [
|
|
"//packages:types",
|
|
"//packages/core",
|
|
],
|
|
)
|
|
|
|
ts_library(
|
|
name = "ivy_node_lib",
|
|
testonly = 1,
|
|
srcs = [],
|
|
deps = [
|
|
":ivy_lib",
|
|
"//packages/core/test/render3:domino",
|
|
],
|
|
)
|
|
|
|
jasmine_node_test(
|
|
name = "ivy",
|
|
bootstrap = [
|
|
"angular/packages/core/test/render3/load_domino",
|
|
],
|
|
deps = [
|
|
":ivy_node_lib",
|
|
],
|
|
)
|
|
|
|
ts_web_test(
|
|
name = "ivy_web",
|
|
deps = [
|
|
":ivy_lib",
|
|
],
|
|
)
|