build(bazel): do not build rxjs from source under Bazel (#28869)

PR Close #28869
This commit is contained in:
Greg Magolan 2019-02-13 16:31:29 -08:00 committed by Igor Minar
parent be6af26dc1
commit 3eb327b67b
99 changed files with 359 additions and 148 deletions

View File

@ -19,15 +19,6 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.6/rules_nodejs-0.18.6.tar.gz"],
)
# Fetch the rxjs repository since we build rxjs from source
# TODO(gregmagolan): use rxjs bundles in the bazel build
http_archive(
name = "rxjs",
sha256 = "72b0b4e517f43358f554c125e40e39f67688cd2738a8998b4a266981ed32f403",
strip_prefix = "package/src",
url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz",
)
# Use a mock @npm repository while we are building angular from source
# downstream. Angular will get its npm dependencies with in @ngdeps which
# is setup in ng_setup_workspace().

View File

@ -20,7 +20,7 @@
"@angular/platform-browser-dynamic": "file:../angular/dist/packages-dist/platform-browser-dynamic",
"@angular/router": "file:../angular/dist/packages-dist/router",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},

View File

@ -24,15 +24,6 @@ local_repository(
path = "../..",
)
# Fetch the rxjs repository since we build rxjs from source
# TODO(gregmagolan): use rxjs bundles in the Bazel build
http_archive(
name = "rxjs",
sha256 = "72b0b4e517f43358f554c125e40e39f67688cd2738a8998b4a266981ed32f403",
strip_prefix = "package/src",
url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz",
)
# Check the bazel version and download npm dependencies
load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_repositories", "yarn_install")

View File

@ -1,6 +1,9 @@
package(default_visibility = ["//visibility:public"])
load("@angular//:index.bzl", "ng_module")
load("@build_bazel_rules_nodejs//:defs.bzl", "http_server", "nodejs_binary", "rollup_bundle")
load("@build_bazel_rules_nodejs//internal/web_package:web_package.bzl", "web_package")
load("@build_bazel_rules_typescript//:defs.bzl", "ts_devserver")
# Allow targets under sub-packages to reference the tsconfig.json file
exports_files(["tsconfig.json"])
@ -14,40 +17,38 @@ ng_module(
"@npm//@angular/core",
"@npm//@angular/platform-browser",
"@npm//@types",
"@npm//rxjs",
],
)
load("@build_bazel_rules_typescript//:defs.bzl", "ts_devserver")
filegroup(
name = "rxjs_umd_modules",
srcs = [
# do not sort
"@npm//node_modules/rxjs:bundles/rxjs.umd.js",
":rxjs_shims.js",
],
)
ts_devserver(
name = "devserver",
additional_root_paths = [
"npm/node_modules/tslib",
"npm/node_modules/zone.js/dist",
],
entry_module = "bazel_integration_test/src/main",
index_html = "index.html",
scripts = [
"@npm//node_modules/@angular/common:bundles/common.umd.js",
"@npm//node_modules/@angular/common:bundles/common-http.umd.js",
"@npm//node_modules/@angular/core:bundles/core.umd.js",
"@npm//node_modules/@angular/platform-browser:bundles/platform-browser.umd.js",
"@npm//node_modules/tslib:tslib.js",
":rxjs_umd_modules",
],
serving_path = "/bundle.min.js",
static_files = [
"@npm//node_modules/tslib:tslib.js",
"@npm//node_modules/zone.js:dist/zone.min.js",
"index.html",
],
deps = [
"//src",
# This will be removed with https://github.com/angular/angular/pull/28720. This is the
# only remaining dependency that we still build from source here.
"@rxjs",
],
deps = ["//src"],
)
load("@build_bazel_rules_nodejs//:defs.bzl", "nodejs_binary", "rollup_bundle")
rollup_bundle(
name = "bundle",
entry_point = "src/main",
@ -56,25 +57,25 @@ rollup_bundle(
"@npm//@angular/common",
"@npm//@angular/core",
"@npm//@angular/platform-browser",
"@npm//rxjs",
],
)
# Needed because the prodserver only loads static files that appear under this
# package.
genrule(
name = "zone.js",
srcs = ["@npm//node_modules/zone.js:dist/zone.min.js"],
outs = ["zone.min.js"],
cmd = "cp $< $@",
web_package(
name = "prodapp",
assets = [
# do not sort
"@npm//node_modules/zone.js:dist/zone.min.js",
":bundle.min.js",
],
data = [
":bundle",
],
index_html = "index.html",
)
load("@build_bazel_rules_nodejs//:defs.bzl", "http_server")
http_server(
name = "prodserver",
data = [
"index.html",
":bundle",
":zone.js",
],
data = [":prodapp"],
templated_args = ["src/prodapp"],
)

View File

@ -69,8 +69,6 @@ ts_web_test_suite(
],
deps = [
":test_lib",
# This will be removed with https://github.com/angular/angular/pull/28720. This is the
# only remaining dependency that we still build from source here.
"@rxjs",
"//src:rxjs_umd_modules",
],
)

View File

@ -3,10 +3,11 @@
<html>
<head>
<title>Bazel Integration Test</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<!-- The Angular application will be bootstrapped into this element. -->
<app-component></app-component>
<script src="/zone.min.js"></script>
<script src="/bundle.min.js"></script>
</body>
</html>

View File

@ -10,7 +10,7 @@
"@angular/platform-browser": "file:../angular/dist/packages-dist/platform-browser",
"@angular/platform-browser-dynamic": "file:../angular/dist/packages-dist/platform-browser-dynamic",
"reflect-metadata": "0.1.12",
"rxjs": "6.3.3",
"rxjs": "6.4.0",
"tslib": "1.9.3",
"zone.js": "0.8.26"
},

View File

@ -0,0 +1,35 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
// rxjs/operators
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/operators', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.operators).forEach(function(key) { exports[key] = rxjs.operators[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});
// rxjs/testing
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/testing', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.testing).forEach(function(key) { exports[key] = rxjs.testing[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});

View File

@ -28,7 +28,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/largeform/ng2/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -27,7 +27,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/largetable/ng2/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -24,7 +24,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/largetable/ng2_switch/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -24,6 +24,7 @@ ng_rollup_bundle(
tags = ["ivy-only"],
deps = [
":largetable_lib",
"@ngdeps//rxjs",
],
)

View File

@ -27,7 +27,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/tree/ng2/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/tree/ng2_next/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
deps = [":ng2_next"],
)

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/tree/ng2_static/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -24,7 +24,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/tree/ng2_switch/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -23,6 +23,7 @@ ng_rollup_bundle(
tags = ["ivy-only"],
deps = [
":tree_lib",
"@ngdeps//rxjs",
],
)

View File

@ -20,7 +20,10 @@ ts_devserver(
entry_module = "angular/modules/benchmarks/src/tree/render3_function/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
deps = [":render3_function_lib"],
)

View File

@ -21,7 +21,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/async/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -21,7 +21,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/hello_world/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -14,6 +14,7 @@ ng_module(
"//packages/http",
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"@ngdeps//rxjs",
],
)
@ -23,7 +24,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/http/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -23,7 +23,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/jsonp/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -21,7 +21,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/key_events/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/model_driven_forms/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/order_management/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/person_management/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -30,7 +30,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/relative_assets/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -15,6 +15,7 @@ ng_module(
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"//packages/router",
"@ngdeps//rxjs",
],
)

View File

@ -25,7 +25,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/sourcemap/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -21,7 +21,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/svg/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/template_driven_forms/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -21,7 +21,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/upgrade/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -27,7 +27,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/web_workers/input/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = ["@ngdeps//node_modules/zone.js:dist/zone.js"],
deps = [":input"],
)

View File

@ -27,7 +27,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/web_workers/kitchen_sink/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = ["@ngdeps//node_modules/zone.js:dist/zone.js"],
deps = [":kitchen_sink"],
)

View File

@ -27,7 +27,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/web_workers/message_broker/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = ["@ngdeps//node_modules/zone.js:dist/zone.js"],
deps = [":message_broker"],
)

View File

@ -15,6 +15,7 @@ ng_module(
"//packages/platform-webworker",
"//packages/platform-webworker-dynamic",
"//packages/router",
"@ngdeps//rxjs",
],
)
@ -29,7 +30,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/web_workers/router/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = ["@ngdeps//node_modules/zone.js:dist/zone.js"],
deps = [":router"],
)

View File

@ -30,7 +30,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/web_workers/todo/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = ["@ngdeps//node_modules/zone.js:dist/zone.js"],
deps = [":todo"],
)

View File

@ -22,7 +22,10 @@ ts_devserver(
entry_module = "angular/modules/playground/src/zippy_component/index",
index_html = "index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/reflect-metadata:Reflect.js",

View File

@ -84,6 +84,7 @@
"rollup": "^1.1.0",
"rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-sourcemaps": "^0.4.2",
"rxjs": "^6.4.0",
"selenium-webdriver": "3.5.0",
"shelljs": "^0.8.1",
"source-map": "^0.6.1",
@ -138,7 +139,6 @@
"mutation-observer": "^1.0.3",
"rewire": "2.5.2",
"rollup-plugin-commonjs": "8.1.0",
"rxjs": "^6.3.0",
"sauce-connect": "https://saucelabs.com/downloads/sc-4.5.1-linux.tar.gz",
"semver": "5.4.1",
"tslint": "5.7.0",

View File

@ -25,7 +25,6 @@ ts_library(
"@ngdeps//@angular-devkit/architect",
"@ngdeps//@angular-devkit/core",
"@ngdeps//@types/node",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -28,13 +28,6 @@ http_archive(
strip_prefix = "angular-%s" % ANGULAR_VERSION,
)
# RxJS
RXJS_VERSION = "<%= RXJS_VERSION %>"
http_archive(
name = "rxjs",
url = "https://registry.yarnpkg.com/rxjs/-/rxjs-%s.tgz" % RXJS_VERSION,
strip_prefix = "package/src",
)
<% if (sass) { %>
# Rules for compiling sass
RULES_SASS_VERSION = "<%= RULES_SASS_VERSION %>"

View File

@ -16,6 +16,16 @@ sass_binary(
for x in glob(["**/*.scss"])
]
<% } %>
filegroup(
name = "rxjs_umd_modules",
srcs = [
# do not sort
"@npm//node_modules/rxjs:bundles/rxjs.umd.js",
":rxjs_shims.js",
],
)
ng_module(
name = "src",
srcs = glob(
@ -36,13 +46,17 @@ ng_module(
"@angular//packages/platform-browser",<% if (routing) { %>
"@angular//packages/router",<% } %>
"@npm//@types",
"@npm//rxjs",
],
)
rollup_bundle(
name = "bundle",
entry_point = "src/main.prod",
deps = ["//src"],
deps = [
"//src",
"@npm//rxjs",
],
)
web_package(
@ -67,15 +81,14 @@ history_server(
ts_devserver(
name = "devserver",
port = 4200,
additional_root_paths = [
"npm/node_modules/zone.js/dist",
"npm/node_modules/tslib",
],
entry_module = "<%= utils.underscore(name) %>/src/main.dev",
serving_path = "/bundle.min.js",
scripts = [
"@npm//node_modules/tslib:tslib.js",
":rxjs_umd_modules",
],
static_files = [
"@npm//node_modules/zone.js:dist/zone.min.js",
"@npm//node_modules/tslib:tslib.js",
],
index_html = "index.html",
deps = [":src"],
@ -120,6 +133,7 @@ ts_web_test_suite(
"@io_bazel_rules_webtesting//browsers:chromium-local",
],
deps = [
":rxjs_umd_modules",
":test_lib",
"@npm//karma-jasmine",
],

View File

@ -0,0 +1,32 @@
/**
* @fileoverview Provides named UMD shims for `rxjs/operators` and `rxjs/testing`.
* This file should be included in the "scripts" of a "ts_devserver"
* rule and the "deps" of a "ts_web_test_suite" rule.
*/
// rxjs/operators
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/operators', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.operators).forEach(function(key) { exports[key] = rxjs.operators[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});
// rxjs/testing
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/testing', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.testing).forEach(function(key) { exports[key] = rxjs.testing[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});

View File

@ -90,7 +90,6 @@ export default function(options: BazelWorkspaceOptions): Rule {
'RULES_NODEJS_VERSION': '0.18.6',
'RULES_NODEJS_SHA256': '1416d03823fed624b49a0abbd9979f7c63bbedfd37890ddecedd2fe25cccebc6',
'ANGULAR_VERSION': existingVersions.Angular || clean(latestVersions.Angular),
'RXJS_VERSION': existingVersions.RxJs || clean(latestVersions.RxJs),
// TODO(kyliau): Consider moving this to latest-versions.ts
'RULES_SASS_VERSION': '1.15.1',
};

View File

@ -12,7 +12,7 @@ ng_module(
),
deps = [
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -15,6 +15,6 @@ ng_module(
deps = [
"//packages/common",
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -11,8 +11,7 @@ ts_library(
"//packages/common/http/testing",
"//packages/core",
"//packages/core/testing",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -15,6 +15,6 @@ ng_module(
deps = [
"//packages/common/http",
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -9,6 +9,7 @@ ts_library(
deps = [
"//packages/common/http",
"//packages/common/http/testing",
"@ngdeps//rxjs",
],
)

View File

@ -10,6 +10,6 @@ ng_module(
deps = [
"//packages/common",
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -18,6 +18,6 @@ ng_module(
"//packages/platform-server",
"//packages/router",
"@ngdeps//reflect-metadata",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -12,6 +12,6 @@ ng_module(
module_name = "lib1_built",
deps = [
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -13,6 +13,6 @@ ng_module(
deps = [
"//packages/compiler-cli/integrationtest/bazel/injectable_def/lib1",
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -14,6 +14,6 @@ ng_module(
tags = ["ivy-only"],
deps = [
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -92,6 +92,7 @@ jasmine_node_test(
"//packages/core",
"//tools/testing:node",
"@ngdeps//minimist",
"@ngdeps//rxjs",
"@ngdeps//tsickle",
],
)

View File

@ -12,9 +12,8 @@ ng_module(
),
deps = [
"//packages:types",
"@ngdeps//rxjs",
"@ngdeps//zone.js",
"@rxjs",
"@rxjs//operators",
],
)

View File

@ -6,6 +6,8 @@
* found in the LICENSE file at https://angular.io/license
*/
/// <reference types="rxjs" />
import {Subject, Subscription} from 'rxjs';
/**

View File

@ -27,9 +27,8 @@ ts_library(
"//packages/private/testing",
"//packages/router",
"//packages/router/testing",
"@ngdeps//rxjs",
"@ngdeps//zone.js",
"@rxjs",
"@rxjs//operators",
],
)

View File

@ -32,6 +32,7 @@ ng_rollup_bundle(
deps = [
":animation_world",
"//packages/core",
"@ngdeps//rxjs",
],
)

View File

@ -30,6 +30,7 @@ ng_rollup_bundle(
deps = [
":hello_world",
"//packages/core",
"@ngdeps//rxjs",
],
)

View File

@ -24,6 +24,7 @@ ng_rollup_bundle(
deps = [
":hello_world_i18n",
"//packages/core",
"@ngdeps//rxjs",
],
)

View File

@ -31,6 +31,7 @@ ng_rollup_bundle(
":hello_world",
"//packages/core",
"//packages/platform-browser",
"@ngdeps//rxjs",
],
)

View File

@ -32,6 +32,7 @@ ng_rollup_bundle(
deps = [
":injection",
"//packages/core",
"@ngdeps//rxjs",
],
)

View File

@ -35,6 +35,7 @@ ng_rollup_bundle(
"//packages/common",
"//packages/core",
"//packages/core/test/bundling/util:reflect_metadata",
"@ngdeps//rxjs",
],
)

View File

@ -37,6 +37,7 @@ ng_rollup_bundle(
"//packages/common",
"//packages/core",
"//packages/core/test/bundling/util:reflect_metadata",
"@ngdeps//rxjs",
],
)

View File

@ -38,6 +38,7 @@ ng_rollup_bundle(
"//packages/core/test/bundling/util:reflect_metadata",
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"@ngdeps//rxjs",
],
)

View File

@ -27,6 +27,7 @@ ts_library(
"//packages/platform-browser/animations",
"//packages/platform-browser/testing",
"//packages/private/testing",
"@ngdeps//rxjs",
],
)

View File

@ -13,7 +13,7 @@ ng_module(
deps = [
"//packages/core",
"//packages/platform-browser",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -14,7 +14,7 @@ ts_library(
"//packages/common",
"//packages/core",
"@ngdeps//@angular-devkit/schematics",
"@rxjs",
"@ngdeps//rxjs",
],
)
@ -31,8 +31,7 @@ ts_library(
"//packages/common",
"//packages/core",
"@ngdeps//@angular-devkit/schematics",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -14,7 +14,7 @@ ts_library(
"//packages/platform-browser-dynamic",
"//packages/platform-browser-dynamic/testing",
"//packages/platform-browser/testing",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -21,7 +21,7 @@ ng_module(
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"//packages/router",
"@rxjs",
"@ngdeps//rxjs",
],
)
@ -43,7 +43,10 @@ ts_devserver(
entry_module = "@angular/examples/common/main",
index_html = "//packages/examples:index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
# This is needed because the "ngComponentOutlet" test uses the JIT compiler

View File

@ -25,6 +25,7 @@ ng_module(
"//packages/platform-browser-dynamic",
"//packages/platform-browser/animations",
"//packages/router",
"@ngdeps//rxjs",
],
)
@ -58,7 +59,10 @@ ts_devserver(
entry_module = "@angular/examples/core/main",
index_html = "//packages/examples:index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
"@ngdeps//node_modules/zone.js:dist/task-tracking.js",

View File

@ -21,6 +21,7 @@ ng_module(
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"//packages/router",
"@ngdeps//rxjs",
],
)
@ -42,7 +43,10 @@ ts_devserver(
entry_module = "@angular/examples/forms/main",
index_html = "//packages/examples:index.html",
port = 4200,
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@ngdeps//node_modules/zone.js:dist/zone.js",
],

View File

@ -48,7 +48,10 @@ def create_upgrade_example_targets(name, srcs, e2e_srcs, entry_module, assets =
"@ngdeps//node_modules/reflect-metadata:Reflect.js",
],
index_html = "//packages/examples:index.html",
scripts = ["@ngdeps//node_modules/tslib:tslib.js"],
scripts = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
],
deps = [":%s_sources" % name],
data = assets,
)

View File

@ -13,7 +13,7 @@ ng_module(
deps = [
"//packages/core",
"//packages/platform-browser",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -11,8 +11,7 @@ ts_library(
"//packages/platform-browser",
"//packages/platform-browser/testing",
"//packages/private/testing",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -13,7 +13,7 @@ ng_module(
deps = [
"//packages/core",
"//packages/platform-browser",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -11,7 +11,7 @@ ts_library(
"//packages/http/testing",
"//packages/platform-browser",
"//packages/platform-browser/testing",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -10,6 +10,6 @@ ng_module(
deps = [
"//packages/core",
"//packages/http",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -12,6 +12,7 @@ ls_rollup_bundle(
visibility = ["//packages/language-service:__pkg__"],
deps = [
"//packages/language-service",
"@ngdeps//rxjs",
"@ngdeps//tslib",
],
)

View File

@ -18,7 +18,7 @@ ts_library(
"//packages/platform-browser/animations",
"//packages/platform-browser/testing",
"//packages/private/testing",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -23,7 +23,7 @@ ts_library(
"//packages/platform-browser/animations",
"//packages/platform-browser/testing",
"//packages/private/testing",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -12,6 +12,6 @@ ng_module(
"//packages/core/testing",
"//packages/platform-browser",
"@ngdeps//@types/jasmine",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -21,8 +21,8 @@ ng_module(
"//packages/platform-browser-dynamic",
"//packages/platform-browser/animations",
"@ngdeps//@types/node",
"@ngdeps//rxjs",
"@ngdeps//zone.js",
"@rxjs",
],
)

View File

@ -18,8 +18,7 @@ ts_library(
"//packages/platform-browser",
"//packages/platform-server",
"//packages/private/testing",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -16,6 +16,7 @@ ng_module(
"//packages/compiler",
"//packages/core",
"//packages/platform-browser",
"@ngdeps//rxjs",
],
)

View File

@ -14,8 +14,7 @@ ng_module(
"//packages/common",
"//packages/core",
"//packages/platform-browser",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -15,9 +15,7 @@ ts_library(
"//packages/private/testing",
"//packages/router",
"//packages/router/testing",
"@rxjs",
"@rxjs//operators",
"@rxjs//testing",
"@ngdeps//rxjs",
],
)

View File

@ -7,7 +7,7 @@ ng_module(
deps = [
"//packages/core",
"//packages/router",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -12,5 +12,6 @@ ng_module(
"//packages/common/testing",
"//packages/core",
"//packages/router",
"@ngdeps//rxjs",
],
)

View File

@ -13,8 +13,7 @@ ng_module(
deps = [
"//packages/common",
"//packages/core",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -12,8 +12,7 @@ ts_library(
"//packages/service-worker/testing",
"//packages/service-worker/worker",
"//packages/service-worker/worker/testing",
"@rxjs",
"@rxjs//operators",
"@ngdeps//rxjs",
],
)

View File

@ -8,6 +8,6 @@ ng_module(
srcs = glob(["**/*.ts"]),
deps = [
"//packages/core",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -10,6 +10,6 @@ ts_library(
"//packages:types",
"//packages/core",
"//packages/service-worker/worker",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -14,7 +14,7 @@ ts_library(
"//packages/private/testing",
"//packages/upgrade",
"//packages/upgrade/static",
"@rxjs",
"@ngdeps//rxjs",
],
)

View File

@ -165,6 +165,7 @@ def ts_web_test_suite(bootstrap = [], deps = [], **kwargs):
bootstrap = ["//:web_test_bootstrap_scripts"]
local_deps = [
"@ngdeps//node_modules/tslib:tslib.js",
"//tools/rxjs:rxjs_umd_modules",
"//tools/testing:browser",
] + deps

9
tools/rxjs/BUILD.bazel Normal file
View File

@ -0,0 +1,9 @@
package(default_visibility = ["//visibility:public"])
filegroup(
name = "rxjs_umd_modules",
srcs = [
":rxjs_shims.js",
"@ngdeps//node_modules/rxjs:bundles/rxjs.umd.js",
],
)

35
tools/rxjs/rxjs_shims.js Normal file
View File

@ -0,0 +1,35 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
// rxjs/operators
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/operators', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.operators).forEach(function(key) { exports[key] = rxjs.operators[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});
// rxjs/testing
(function(factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
} else if (typeof define === 'function' && define.amd) {
define('rxjs/testing', ['exports', 'rxjs'], factory);
}
})(function(exports, rxjs) {
'use strict';
Object.keys(rxjs.testing).forEach(function(key) { exports[key] = rxjs.testing[key]; });
Object.defineProperty(exports, '__esModule', {value: true});
});

View File

@ -8901,13 +8901,20 @@ rx-lite@^3.1.2:
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=
rxjs@6.3.3, rxjs@^6.1.0, rxjs@^6.3.0:
rxjs@6.3.3, rxjs@^6.1.0:
version "6.3.3"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55"
integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==
dependencies:
tslib "^1.9.0"
rxjs@^6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504"
integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==
dependencies:
tslib "^1.9.0"
safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"