Skip to content

Commit ea09430

Browse files
gregmagolanAndrewKushnir
authored andcommitted
build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (angular#28871)
PR Close angular#28871
1 parent cd83a43 commit ea09430

File tree

220 files changed

+660
-781
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+660
-781
lines changed

BUILD.bazel

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ filegroup(
1616
name = "web_test_bootstrap_scripts",
1717
# do not sort
1818
srcs = [
19-
"@ngdeps//node_modules/core-js:client/core.js",
20-
"@ngdeps//node_modules/zone.js:dist/zone.js",
21-
"@ngdeps//node_modules/zone.js:dist/zone-testing.js",
22-
"@ngdeps//node_modules/zone.js:dist/task-tracking.js",
19+
"@npm//node_modules/core-js:client/core.js",
20+
"@npm//node_modules/zone.js:dist/zone.js",
21+
"@npm//node_modules/zone.js:dist/zone-testing.js",
22+
"@npm//node_modules/zone.js:dist/task-tracking.js",
2323
"//:test-events.js",
2424
"//:shims_for_IE.js",
2525
# Including systemjs because it defines `__eval`, which produces correct stack traces.
26-
"@ngdeps//node_modules/systemjs:dist/system.src.js",
27-
"@ngdeps//node_modules/reflect-metadata:Reflect.js",
26+
"@npm//node_modules/systemjs:dist/system.src.js",
27+
"@npm//node_modules/reflect-metadata:Reflect.js",
2828
],
2929
)
3030

@@ -33,34 +33,18 @@ filegroup(
3333
srcs = [
3434
# We also declare the unminfied AngularJS files since these can be used for
3535
# local debugging (e.g. see: packages/upgrade/test/common/test_helpers.ts)
36-
"@ngdeps//node_modules/angular:angular.js",
37-
"@ngdeps//node_modules/angular:angular.min.js",
38-
"@ngdeps//node_modules/angular-1.5:angular.js",
39-
"@ngdeps//node_modules/angular-1.5:angular.min.js",
40-
"@ngdeps//node_modules/angular-1.6:angular.js",
41-
"@ngdeps//node_modules/angular-1.6:angular.min.js",
42-
"@ngdeps//node_modules/angular-mocks:angular-mocks.js",
43-
"@ngdeps//node_modules/angular-mocks-1.5:angular-mocks.js",
44-
"@ngdeps//node_modules/angular-mocks-1.6:angular-mocks.js",
36+
"@npm//node_modules/angular:angular.js",
37+
"@npm//node_modules/angular:angular.min.js",
38+
"@npm//node_modules/angular-1.5:angular.js",
39+
"@npm//node_modules/angular-1.5:angular.min.js",
40+
"@npm//node_modules/angular-1.6:angular.js",
41+
"@npm//node_modules/angular-1.6:angular.min.js",
42+
"@npm//node_modules/angular-mocks:angular-mocks.js",
43+
"@npm//node_modules/angular-mocks-1.5:angular-mocks.js",
44+
"@npm//node_modules/angular-mocks-1.6:angular-mocks.js",
4545
],
4646
)
4747

48-
# A nodejs_binary for @angular/bazel/ngc-wrapped to use by default in
49-
# ng_module that depends on @npm//@angular/bazel instead of the
50-
# output of the //packages/bazel/src/ngc-wrapped ts_library rule. This
51-
# default is for downstream users that depend on the @angular/bazel npm
52-
# package. The generated @npm//@angular/bazel/ngc-wrapped target
53-
# does not work because it does not have the node `--expose-gc` flag
54-
# set which is required to support the call to `global.gc()`.
55-
nodejs_binary(
56-
name = "@angular/bazel/ngc-wrapped",
57-
configuration_env_vars = ["compile"],
58-
data = ["@npm//@angular/bazel"],
59-
entry_point = "@angular/bazel/src/ngc-wrapped/index.js",
60-
install_source_map_support = False,
61-
templated_args = ["--node_options=--expose-gc"],
62-
)
63-
6448
# To run a karma_web_test target locally on SauceLabs:
6549
# 1) have SAUCE_USERNAME, SAUCE_ACCESS_KEY (and optionally a SAUCE_TUNNEL_IDENTIFIER) set in your environment
6650
# 2) open a sauce connection with `./scripts/saucelabs/start-tunnel.sh`

WORKSPACE

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,13 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
1515
# Fetch rules_nodejs so we can install our npm dependencies
1616
http_archive(
1717
name = "build_bazel_rules_nodejs",
18-
sha256 = "86ea92217dfd4a84e1e335cc07dfd942b12899796b080492546b947f12c5ab77",
19-
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.26.0-beta.0/rules_nodejs-0.26.0-beta.0.tar.gz"],
20-
)
21-
22-
# Use a mock @npm repository while we are building angular from source
23-
# downstream. Angular will get its npm dependencies with in @ngdeps which
24-
# is setup in ng_setup_workspace().
25-
# TODO(gregmagolan): remove @ngdeps once angular is no longer build from source
26-
# downstream and have build use @npm for npm dependencies
27-
local_repository(
28-
name = "npm",
29-
path = "tools/npm_workspace",
18+
sha256 = "5c86b055c57e15bf32d9009a15bcd6d8e190c41b1ff2fb18037b75e0012e4e7c",
19+
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.26.0/rules_nodejs-0.26.0.tar.gz"],
3020
)
3121

3222
# Check the bazel version and download npm dependencies
33-
load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_repositories")
23+
load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_repositories", "yarn_install")
24+
load("@build_bazel_rules_nodejs//:package.bzl", "check_rules_nodejs_version")
3425

3526
# Bazel version must be at least v0.21.0 because:
3627
# - 0.21.0 Using --incompatible_strict_action_env flag fixes cache when running `yarn bazel`
@@ -46,6 +37,12 @@ Try running `yarn bazel` instead.
4637
minimum_bazel_version = "0.21.0",
4738
)
4839

40+
# The NodeJS rules version must be at least v0.15.3 because:
41+
# - 0.15.2 Re-introduced the prod_only attribute on yarn_install
42+
# - 0.15.3 Includes a fix for the `jasmine_node_test` rule ignoring target tags
43+
# - 0.16.8 Supports npm installed bazel workspaces
44+
check_rules_nodejs_version("0.16.8")
45+
4946
# Setup the Node.js toolchain
5047
node_repositories(
5148
node_version = "10.9.0",
@@ -54,13 +51,28 @@ node_repositories(
5451
yarn_version = "1.12.1",
5552
)
5653

57-
# Setup the angular toolchain which installs npm dependencies into @ngdeps
58-
load("//tools:ng_setup_workspace.bzl", "ng_setup_workspace")
54+
yarn_install(
55+
name = "npm",
56+
data = [
57+
"//:tools/npm/@angular_bazel/index.js",
58+
"//:tools/npm/@angular_bazel/package.json",
59+
"//:tools/postinstall-patches.js",
60+
"//:tools/yarn/check-yarn.js",
61+
],
62+
package_json = "//:package.json",
63+
# Don't install devDependencies, they are large and not used under Bazel
64+
prod_only = True,
65+
yarn_lock = "//:yarn.lock",
66+
)
5967

60-
ng_setup_workspace()
68+
yarn_install(
69+
name = "ts-api-guardian_deps",
70+
package_json = "@angular//tools/ts-api-guardian:package.json",
71+
yarn_lock = "@angular//tools/ts-api-guardian:yarn.lock",
72+
)
6173

62-
# Install all bazel dependencies of the @ngdeps npm packages
63-
load("@ngdeps//:install_bazel_dependencies.bzl", "install_bazel_dependencies")
74+
# Install all bazel dependencies of the @npm npm packages
75+
load("@npm//:install_bazel_dependencies.bzl", "install_bazel_dependencies")
6476

6577
install_bazel_dependencies()
6678

@@ -86,7 +98,7 @@ load("@npm_bazel_karma//:browser_repositories.bzl", "browser_repositories")
8698
browser_repositories()
8799

88100
# Setup the rules_typescript tooolchain
89-
load("@npm_bazel_typescript//:defs.bzl", "ts_setup_workspace")
101+
load("@npm_bazel_typescript//:index.bzl", "ts_setup_workspace")
90102

91103
ts_setup_workspace()
92104

index.bzl

Lines changed: 0 additions & 28 deletions
This file was deleted.

integration/bazel/WORKSPACE

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
55
# Fetch rules_nodejs so we can install our npm dependencies
66
http_archive(
77
name = "build_bazel_rules_nodejs",
8-
sha256 = "86ea92217dfd4a84e1e335cc07dfd942b12899796b080492546b947f12c5ab77",
9-
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.26.0-beta.0/rules_nodejs-0.26.0-beta.0.tar.gz"],
8+
sha256 = "5c86b055c57e15bf32d9009a15bcd6d8e190c41b1ff2fb18037b75e0012e4e7c",
9+
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.26.0/rules_nodejs-0.26.0.tar.gz"],
1010
)
1111

1212
# Fetch sass rules for compiling sass files
@@ -73,19 +73,11 @@ load("@npm_bazel_karma//:browser_repositories.bzl", "browser_repositories")
7373
browser_repositories()
7474

7575
# Setup the rules_typescript tooolchain
76-
load("@npm_bazel_typescript//:defs.bzl", "ts_setup_workspace")
76+
load("@npm_bazel_typescript//:index.bzl", "ts_setup_workspace")
7777

7878
ts_setup_workspace()
7979

8080
# Setup the rules_sass toolchain
8181
load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories")
8282

8383
sass_repositories()
84-
85-
# Setup the angular toolchain. This integration test no longer builds Angular from source,
86-
# but we still need to set up the "angular" workspace since some Bazel rules depend on
87-
# the "ngdeps" repository. This can be fixed if we switched the Angular repository to the
88-
# "npm" repository for the bazel managed dependencies.
89-
load("@npm_angular_bazel//:index.bzl", "ng_setup_workspace")
90-
91-
ng_setup_workspace()

integration/bazel/src/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package(default_visibility = ["//visibility:public"])
33
load("@npm_angular_bazel//:index.bzl", "ng_module")
44
load("@build_bazel_rules_nodejs//:defs.bzl", "http_server", "rollup_bundle")
55
load("@build_bazel_rules_nodejs//internal/web_package:web_package.bzl", "web_package")
6-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
6+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
77

88
# Allow targets under sub-packages to reference the tsconfig.json file
99
exports_files(["tsconfig.json"])

integration/bazel/src/hello-world/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package(default_visibility = ["//visibility:public"])
22

3-
load("@npm_bazel_karma//:defs.bzl", "ts_web_test_suite")
4-
load("@npm_bazel_typescript//:defs.bzl", "ts_library")
3+
load("@npm_bazel_karma//:index.bzl", "ts_web_test_suite")
4+
load("@npm_bazel_typescript//:index.bzl", "ts_library")
55
load("@io_bazel_rules_sass//sass:sass.bzl", "sass_binary")
66
load("@npm_angular_bazel//:index.bzl", "ng_module", "ng_package")
77

integration/bazel/src/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"@angular/bazel": "packages-dist:bazel",
1919
"@angular/compiler": "packages-dist:compiler",
2020
"@angular/compiler-cli": "packages-dist:compiler-cli",
21-
"@bazel/karma": "0.26.0-beta.0",
21+
"@bazel/karma": "0.26.0",
2222
"@types/jasmine": "2.8.8",
2323
"@types/source-map": "0.5.1",
2424
"protractor": "5.1.2",

integration/bazel/test/e2e/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
load("@npm_bazel_typescript//:defs.bzl", "ts_library")
1+
load("@npm_bazel_typescript//:index.bzl", "ts_library")
22
load("@npm_angular_bazel//:index.bzl", "protractor_web_test_suite")
33

44
ts_library(

karma-js.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ module.exports = function(config) {
111111
// don't need this entire config file.
112112
proxies: {
113113
'/base/angular/': '/base/',
114-
'/base/ngdeps/': '/base/',
114+
'/base/npm/': '/base/',
115115
},
116116

117117
reporters: ['dots'],

modules/benchmarks/benchmark_test.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def benchmark_test(name, server, deps, tags = []):
1818
server = server,
1919
tags = tags,
2020
deps = [
21-
"@ngdeps//protractor",
22-
"@ngdeps//yargs",
21+
"@npm//protractor",
22+
"@npm//yargs",
2323
] + deps,
2424
)

modules/benchmarks/src/largeform/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ts_library(
99
tsconfig = "//modules/benchmarks:tsconfig-e2e.json",
1010
deps = [
1111
"//modules/e2e_util",
12-
"@ngdeps//@types/jasminewd2",
13-
"@ngdeps//protractor",
12+
"@npm//@types/jasminewd2",
13+
"@npm//protractor",
1414
],
1515
)

modules/benchmarks/src/largeform/ng2/BUILD.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("//tools:defaults.bzl", "ng_module")
2-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
2+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
33
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
44

55
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
@@ -29,12 +29,12 @@ ts_devserver(
2929
index_html = "index.html",
3030
port = 4200,
3131
scripts = [
32-
"@ngdeps//node_modules/tslib:tslib.js",
32+
"@npm//node_modules/tslib:tslib.js",
3333
"//tools/rxjs:rxjs_umd_modules",
3434
],
3535
static_files = [
36-
"@ngdeps//node_modules/zone.js:dist/zone.js",
37-
"@ngdeps//node_modules/reflect-metadata:Reflect.js",
36+
"@npm//node_modules/zone.js:dist/zone.js",
37+
"@npm//node_modules/reflect-metadata:Reflect.js",
3838
],
3939
tags = ["fixme-ivy-aot"],
4040
deps = [":ng2"],

modules/benchmarks/src/largetable/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ ts_library(
1414
srcs = ["largetable_perf.spec.ts"],
1515
deps = [
1616
"//modules/e2e_util",
17-
"@ngdeps//protractor",
17+
"@npm//protractor",
1818
],
1919
)

modules/benchmarks/src/largetable/baseline/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("//tools:defaults.bzl", "ts_library")
2-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
2+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
33
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
44

55
package(default_visibility = ["//modules/benchmarks:__subpackages__"])

modules/benchmarks/src/largetable/incremental_dom/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("//tools:defaults.bzl", "ts_library")
2-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
2+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
33
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
44

55
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
@@ -20,7 +20,7 @@ ts_devserver(
2020
index_html = "index.html",
2121
port = 4200,
2222
static_files = [
23-
"@ngdeps//node_modules/incremental-dom:dist/incremental-dom.js",
23+
"@npm//node_modules/incremental-dom:dist/incremental-dom.js",
2424
],
2525
deps = [":incremental_dom"],
2626
)

modules/benchmarks/src/largetable/ng2/BUILD.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("//tools:defaults.bzl", "ng_module")
2-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
2+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
33
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
44

55
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
@@ -28,12 +28,12 @@ ts_devserver(
2828
index_html = "index.html",
2929
port = 4200,
3030
scripts = [
31-
"@ngdeps//node_modules/tslib:tslib.js",
31+
"@npm//node_modules/tslib:tslib.js",
3232
"//tools/rxjs:rxjs_umd_modules",
3333
],
3434
static_files = [
35-
"@ngdeps//node_modules/zone.js:dist/zone.js",
36-
"@ngdeps//node_modules/reflect-metadata:Reflect.js",
35+
"@npm//node_modules/zone.js:dist/zone.js",
36+
"@npm//node_modules/reflect-metadata:Reflect.js",
3737
],
3838
deps = [":ng2"],
3939
)

modules/benchmarks/src/largetable/ng2_switch/BUILD.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load("//tools:defaults.bzl", "ng_module")
2-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
2+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
33
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
44

55
package(default_visibility = ["//modules/benchmarks:__subpackages__"])
@@ -25,12 +25,12 @@ ts_devserver(
2525
index_html = "index.html",
2626
port = 4200,
2727
scripts = [
28-
"@ngdeps//node_modules/tslib:tslib.js",
28+
"@npm//node_modules/tslib:tslib.js",
2929
"//tools/rxjs:rxjs_umd_modules",
3030
],
3131
static_files = [
32-
"@ngdeps//node_modules/zone.js:dist/zone.js",
33-
"@ngdeps//node_modules/reflect-metadata:Reflect.js",
32+
"@npm//node_modules/zone.js:dist/zone.js",
33+
"@npm//node_modules/reflect-metadata:Reflect.js",
3434
],
3535
deps = [":ng2_switch"],
3636
)

modules/benchmarks/src/largetable/render3/BUILD.bazel

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package(default_visibility = ["//visibility:public"])
22

33
load("//tools:defaults.bzl", "ng_module", "ng_rollup_bundle")
4-
load("@npm_bazel_typescript//:defs.bzl", "ts_devserver")
4+
load("@npm_bazel_typescript//:index.bzl", "ts_devserver")
55
load("//modules/benchmarks:benchmark_test.bzl", "benchmark_test")
66

77
ng_module(
@@ -14,7 +14,7 @@ ng_module(
1414
"//packages:types",
1515
"//packages/common",
1616
"//packages/core",
17-
"@ngdeps//reflect-metadata",
17+
"@npm//reflect-metadata",
1818
],
1919
)
2020

@@ -24,7 +24,7 @@ ng_rollup_bundle(
2424
tags = ["ivy-only"],
2525
deps = [
2626
":largetable_lib",
27-
"@ngdeps//rxjs",
27+
"@npm//rxjs",
2828
],
2929
)
3030

0 commit comments

Comments
 (0)