124 lines
2.4 KiB
Python
124 lines
2.4 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load("//tools:defaults.bzl", "jasmine_node_test", "ng_module", "ng_rollup_bundle", "ts_library")
|
|
load("//tools/symbol-extractor:index.bzl", "js_expected_symbol_test")
|
|
load("@npm//http-server:index.bzl", "http_server")
|
|
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
|
|
|
|
ng_module(
|
|
name = "todo",
|
|
srcs = ["index.ts"],
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
deps = [
|
|
"//packages/common",
|
|
"//packages/core",
|
|
"//packages/core/test/bundling/util:reflect_metadata",
|
|
],
|
|
)
|
|
|
|
ng_rollup_bundle(
|
|
name = "bundle",
|
|
entry_point = ":index.ts",
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
deps = [
|
|
":todo",
|
|
"//packages/common",
|
|
"//packages/core",
|
|
"//packages/core/test/bundling/util:reflect_metadata",
|
|
"@npm//rxjs",
|
|
],
|
|
)
|
|
|
|
ts_library(
|
|
name = "test_lib",
|
|
testonly = True,
|
|
srcs = glob(["*_spec.ts"]),
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
deps = [
|
|
"//packages:types",
|
|
"//packages/compiler",
|
|
"//packages/core",
|
|
"//packages/core/testing",
|
|
"//packages/private/testing",
|
|
],
|
|
)
|
|
|
|
jasmine_node_test(
|
|
name = "test",
|
|
data = [
|
|
":bundle",
|
|
":bundle.js",
|
|
":bundle.min.js",
|
|
":bundle.min_debug.js",
|
|
],
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
deps = [":test_lib"],
|
|
)
|
|
|
|
js_expected_symbol_test(
|
|
name = "symbol_test",
|
|
src = ":bundle.min_debug.js",
|
|
golden = ":bundle.golden_symbols.json",
|
|
tags = [
|
|
"ivy-aot",
|
|
"ivy-only",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "tslib",
|
|
srcs = [
|
|
"@npm//:node_modules/tslib/tslib.js",
|
|
],
|
|
outs = [
|
|
"tslib.js",
|
|
],
|
|
cmd = "cp $< $@",
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
)
|
|
|
|
ts_devserver(
|
|
name = "devserver",
|
|
entry_module = "@angular/core/test/bundling/todo",
|
|
scripts = [
|
|
"//tools/rxjs:rxjs_umd_modules",
|
|
],
|
|
# Use a serving_path that matches the common static index.html used
|
|
# in both devserver & prodserver
|
|
serving_path = "/bundle.min.js.br",
|
|
static_files = [
|
|
"index.html",
|
|
":tslib",
|
|
"todo.css",
|
|
"base.css",
|
|
],
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
deps = [":todo"],
|
|
)
|
|
|
|
http_server(
|
|
name = "prodserver",
|
|
data = [
|
|
"base.css",
|
|
"index.html",
|
|
"todo.css",
|
|
":bundle.min.js.br",
|
|
":bundle.min_debug.js",
|
|
],
|
|
tags = [
|
|
"ivy-only",
|
|
],
|
|
)
|