10da6a45c6
ngtsc needs to reflect over code to property compile it. It performs operations such as enumerating decorators on a type, reading metadata from constructor parameters, etc. Depending on the format (ES5, ES6, etc) of the underlying code, the AST structures over which this reflection takes place can be very different. For example, in TS/ES6 code `class` declarations are `ts.ClassDeclaration` nodes, but in ES5 code they've been downleveled to `ts.VariableDeclaration` nodes that are initialized to IIFEs that build up the classes being defined. The ReflectionHost abstraction allows ngtsc to perform these operations without directly querying the AST. Different implementations of ReflectionHost allow support for different code formats. PR Close #24541
45 lines
1016 B
Python
45 lines
1016 B
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load("//tools:defaults.bzl", "npm_package")
|
|
load("@build_bazel_rules_typescript//:defs.bzl", "ts_config", "ts_library")
|
|
|
|
ts_config(
|
|
name = "tsconfig",
|
|
src = "tsconfig-build.json",
|
|
deps = ["//packages:tsconfig-build.json"],
|
|
)
|
|
|
|
ts_library(
|
|
name = "compiler-cli",
|
|
srcs = glob(
|
|
[
|
|
"*.ts",
|
|
"src/**/*.ts",
|
|
],
|
|
exclude = [
|
|
"src/integrationtest/**/*.ts",
|
|
],
|
|
),
|
|
module_name = "@angular/compiler-cli",
|
|
node_modules = "@//:node_modules",
|
|
tsconfig = ":tsconfig",
|
|
deps = [
|
|
"//packages/compiler",
|
|
"//packages/compiler-cli/src/ngtsc/annotations",
|
|
"//packages/compiler-cli/src/ngtsc/metadata",
|
|
"//packages/compiler-cli/src/ngtsc/transform",
|
|
],
|
|
)
|
|
|
|
npm_package(
|
|
name = "npm_package",
|
|
srcs = [
|
|
"package.json",
|
|
],
|
|
tags = [
|
|
"ivy-jit",
|
|
"release-with-framework",
|
|
],
|
|
deps = [":compiler-cli"],
|
|
)
|