build(bazel): fine-grained npm deps and idiomatic install of @angular/bazel (#26607)
PR Close #26607
This commit is contained in:

committed by
Alex Rickabaugh

parent
81e571b908
commit
c251a5a4d1
@ -10,7 +10,10 @@ ts_library(
|
||||
name = "core_spec_lib",
|
||||
testonly = True,
|
||||
srcs = ["core_package.spec.ts"],
|
||||
deps = ["//packages:types"],
|
||||
deps = [
|
||||
"//packages:types",
|
||||
"@ngdeps//@types/shelljs",
|
||||
],
|
||||
)
|
||||
|
||||
jasmine_node_test(
|
||||
@ -18,6 +21,8 @@ jasmine_node_test(
|
||||
srcs = [":core_spec_lib"],
|
||||
data = [
|
||||
"//packages/core:npm_package",
|
||||
"@ngdeps//@types/shelljs",
|
||||
"@ngdeps//shelljs",
|
||||
],
|
||||
)
|
||||
|
||||
@ -25,20 +30,29 @@ ts_library(
|
||||
name = "common_spec_lib",
|
||||
testonly = True,
|
||||
srcs = ["common_package.spec.ts"],
|
||||
deps = ["//packages:types"],
|
||||
deps = [
|
||||
"//packages:types",
|
||||
"@ngdeps//@types/shelljs",
|
||||
],
|
||||
)
|
||||
|
||||
jasmine_node_test(
|
||||
name = "common_package",
|
||||
srcs = [":common_spec_lib"],
|
||||
data = ["//packages/common:npm_package"],
|
||||
data = [
|
||||
"//packages/common:npm_package",
|
||||
"@ngdeps//shelljs",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "example_spec_lib",
|
||||
testonly = True,
|
||||
srcs = ["example_package.spec.ts"],
|
||||
deps = ["//packages:types"],
|
||||
deps = [
|
||||
"//packages:types",
|
||||
"@ngdeps//@types/diff",
|
||||
],
|
||||
)
|
||||
|
||||
jasmine_node_test(
|
||||
|
@ -1,13 +1,15 @@
|
||||
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
|
||||
|
||||
load("//packages/bazel:index.bzl", "ng_module", "ng_package")
|
||||
load("//tools:defaults.bzl", "npm_package")
|
||||
load("//tools:defaults.bzl", "ng_module", "ng_package", "npm_package")
|
||||
|
||||
ng_module(
|
||||
name = "example",
|
||||
srcs = glob(["*.ts"]),
|
||||
module_name = "example",
|
||||
deps = ["//packages/bazel/test/ng_package/example/secondary"],
|
||||
deps = [
|
||||
"//packages/bazel/test/ng_package/example/secondary",
|
||||
"@ngdeps//@types",
|
||||
],
|
||||
)
|
||||
|
||||
ng_package(
|
||||
|
@ -1,10 +1,13 @@
|
||||
package(default_visibility = ["//packages/bazel/test:__subpackages__"])
|
||||
|
||||
load("//packages/bazel:index.bzl", "ng_module")
|
||||
load("//tools:defaults.bzl", "ng_module")
|
||||
|
||||
ng_module(
|
||||
name = "secondary",
|
||||
srcs = glob(["*.ts"]),
|
||||
module_name = "example/secondary",
|
||||
deps = ["//packages/core"],
|
||||
deps = [
|
||||
"//packages/core",
|
||||
"@ngdeps//@types",
|
||||
],
|
||||
)
|
||||
|
@ -2,6 +2,7 @@ load("//tools:defaults.bzl", "jasmine_node_test", "ts_library")
|
||||
|
||||
ts_library(
|
||||
name = "ngc_test_lib",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"index_test.ts",
|
||||
"test_support.ts",
|
||||
@ -11,6 +12,7 @@ ts_library(
|
||||
deps = [
|
||||
"//packages/bazel/src/ngc-wrapped:ngc_lib",
|
||||
"//packages/compiler-cli",
|
||||
"@ngdeps//typescript",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -6,5 +6,8 @@ ng_module(
|
||||
name = "empty",
|
||||
srcs = ["empty.ts"],
|
||||
tsconfig = ":tsconfig.json",
|
||||
deps = ["//packages/core"],
|
||||
deps = [
|
||||
"//packages/core",
|
||||
"@ngdeps//@types",
|
||||
],
|
||||
)
|
||||
|
@ -70,7 +70,7 @@ export function createTsConfig(options: TsConfigOptions) {
|
||||
'tsickleExternsPath': '',
|
||||
// we don't copy the node_modules into our tmp dir, so we should look in
|
||||
// the original workspace directory for it
|
||||
'nodeModulesPrefix': '../angular/external/angular_deps/node_modules',
|
||||
'nodeModulesPrefix': '../angular/external/ngdeps/node_modules',
|
||||
},
|
||||
'files': options.files,
|
||||
'angularCompilerOptions': {
|
||||
|
@ -1,12 +1,15 @@
|
||||
load("//packages/bazel:index.bzl", "protractor_web_test_suite")
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_devserver", "ts_library")
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary", "rollup_bundle")
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_devserver")
|
||||
load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle")
|
||||
load("//tools:defaults.bzl", "ts_library")
|
||||
load("//tools/http-server:http_server.bzl", "http_server")
|
||||
|
||||
ts_library(
|
||||
name = "app",
|
||||
srcs = ["app.ts"],
|
||||
tsconfig = ":tsconfig.json",
|
||||
# FIXME: should not be needed here!
|
||||
deps = ["@ngdeps//@types/jasmine"],
|
||||
)
|
||||
|
||||
ts_devserver(
|
||||
@ -19,7 +22,6 @@ ts_devserver(
|
||||
rollup_bundle(
|
||||
name = "bundle",
|
||||
entry_point = "packages/bazel/test/protractor-2/app",
|
||||
node_modules = "//:node_modules",
|
||||
deps = [":app"],
|
||||
)
|
||||
|
||||
@ -36,6 +38,10 @@ ts_library(
|
||||
testonly = True,
|
||||
srcs = ["test.spec.ts"],
|
||||
tsconfig = ":tsconfig.json",
|
||||
deps = [
|
||||
"@ngdeps//@types/selenium-webdriver",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
||||
protractor_web_test_suite(
|
||||
@ -44,7 +50,10 @@ protractor_web_test_suite(
|
||||
data = ["//packages/bazel/src/protractor/utils"],
|
||||
on_prepare = ":on-prepare.js",
|
||||
server = ":prodserver",
|
||||
deps = [":ts_spec"],
|
||||
deps = [
|
||||
":ts_spec",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
||||
protractor_web_test_suite(
|
||||
@ -53,5 +62,8 @@ protractor_web_test_suite(
|
||||
data = ["//packages/bazel/src/protractor/utils"],
|
||||
on_prepare = ":on-prepare.js",
|
||||
server = ":devserver",
|
||||
deps = [":ts_spec"],
|
||||
deps = [
|
||||
":ts_spec",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": ["dom", "es2015"]
|
||||
"lib": ["dom", "es2015"],
|
||||
"types": ["jasmine"]
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,15 @@
|
||||
load("//packages/bazel:index.bzl", "protractor_web_test_suite")
|
||||
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
|
||||
load("//tools:defaults.bzl", "ts_library")
|
||||
|
||||
ts_library(
|
||||
name = "ts_spec",
|
||||
testonly = True,
|
||||
srcs = ["test.spec.ts"],
|
||||
tsconfig = ":tsconfig.json",
|
||||
deps = [
|
||||
"@ngdeps//@types/selenium-webdriver",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
@ -13,12 +17,18 @@ ts_library(
|
||||
testonly = True,
|
||||
srcs = ["conf.ts"],
|
||||
tsconfig = ":tsconfig.json",
|
||||
deps = ["//packages/bazel/src/protractor/utils"],
|
||||
deps = [
|
||||
"//packages/bazel/src/protractor/utils",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
||||
protractor_web_test_suite(
|
||||
name = "test",
|
||||
configuration = ":ts_conf",
|
||||
data = ["//packages/bazel/src/protractor/utils"],
|
||||
deps = [":ts_spec"],
|
||||
deps = [
|
||||
":ts_spec",
|
||||
"@ngdeps//protractor",
|
||||
],
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": ["es2015"]
|
||||
"lib": ["es2015"],
|
||||
"types": ["jasmine"]
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user