build: reference zone.js from source directly instead of npm. (#33046)

Close #32482

PR Close #33046
This commit is contained in:
JiaLiPassion
2019-10-06 12:06:53 +09:00
committed by atscott
parent 3de72e4124
commit 8c6fb17d29
100 changed files with 181 additions and 159 deletions

View File

@ -12,8 +12,8 @@ ts_library(
name = "types",
srcs = glob(["*.ts"]),
deps = [
"//packages/zone.js/lib:zone_d_ts",
"@npm//@types/hammerjs",
"@npm//zone.js",
],
)

View File

@ -38,10 +38,17 @@ nodejs_test(
"@npm//rxjs",
"@npm//tslib",
"@npm//jasmine/bin:jasmine",
"@npm//zone.js",
"@npm//xhr2",
"@npm//@types/node",
"@npm//@types/jasmine",
# we need to reference zone.d.ts typing file from zone.js build target
# instead of npm because angular repo will not depends on npm zone.js
# any longer.
"//packages/zone.js/lib:zone_d_ts",
# we need to reference zone.js npm_package build target
# instead of npm because angular repo will not depends on npm zone.js
# any longer, so we need to build a zone.js npm release first.
"//packages/zone.js:npm_package",
"//packages/animations:npm_package",
"//packages/common:npm_package",
"//packages/compiler:npm_package",

View File

@ -6,12 +6,10 @@
* found in the LICENSE file at https://angular.io/license
*/
// import zone.js from npm here because integration test will load zone.js
// from built npm_package instead of source
import 'zone.js/dist/zone-node';
import 'zone.js/dist/zone-testing';
// Only needed to satisfy the check in core/src/util/decorators.ts
// TODO(alexeagle): maybe remove that check?
require('reflect-metadata');
require('zone.js/dist/zone-node.js');
require('zone.js/dist/long-stack-trace-zone.js');
require('zone.js/dist/sync-test.js');
require('zone.js/dist/proxy.js');
require('zone.js/dist/jasmine-patch.js');

View File

@ -56,7 +56,7 @@ const requiredNodeModules = {
'source-map': resolveNpmTreeArtifact('npm/node_modules/source-map'),
'source-map-support': resolveNpmTreeArtifact('npm/node_modules/source-map-support'),
'typescript': resolveNpmTreeArtifact('npm/node_modules/typescript'),
'zone.js': resolveNpmTreeArtifact('npm/node_modules/zone.js'),
'zone.js': resolveNpmTreeArtifact('angular/packages/zone.js/npm_package'),
};
/** Sets up the temporary test directory and returns the path to the directory. */

View File

@ -34,7 +34,6 @@
"src/extract_i18n.ts",
"src/language_services.ts",
"../../node_modules/@types/node/index.d.ts",
"../../node_modules/@types/jasmine/index.d.ts",
"../../node_modules/zone.js/dist/zone.js.d.ts"
"../../node_modules/@types/jasmine/index.d.ts"
]
}

View File

@ -18,8 +18,8 @@ ng_module(
"//packages/core/src/reflection",
"//packages/core/src/util",
"//packages/localize",
"//packages/zone.js/lib:zone_d_ts",
"@npm//rxjs",
"@npm//zone.js",
],
)

View File

@ -35,8 +35,8 @@ ts_library(
"//packages/private/testing",
"//packages/router",
"//packages/router/testing",
"//packages/zone.js/lib:zone_d_ts",
"@npm//rxjs",
"@npm//zone.js",
],
)
@ -66,10 +66,10 @@ jasmine_node_test(
":test_node_only_lib",
"//packages/platform-server",
"//packages/platform-server/testing",
"//packages/zone.js/lib:zone_d_ts",
"//tools/testing:node",
"@npm//base64-js",
"@npm//source-map",
"@npm//zone.js",
],
)

View File

@ -28,8 +28,8 @@ ts_library(
"//packages/platform-server",
"//packages/private/testing",
"//packages/router",
"//packages/zone.js/lib:zone_d_ts",
"@npm//rxjs",
"@npm//zone.js",
],
)
@ -38,10 +38,10 @@ jasmine_node_test(
bootstrap = ["angular/tools/testing/init_node_spec.js"],
deps = [
":acceptance_lib",
"//packages/zone.js/lib:zone_d_ts",
"//tools/testing:node",
"@npm//base64-js",
"@npm//source-map",
"@npm//zone.js",
],
)

View File

@ -45,7 +45,7 @@ ts_library(
"//packages/common",
"//packages/compiler",
"//packages/platform-server",
"@npm//zone.js",
"//packages/zone.js/lib:zone_d_ts",
],
)
@ -66,7 +66,7 @@ jasmine_node_test(
],
deps = [
":render3_node_lib",
"@npm//zone.js",
"//packages/zone.js/lib",
],
)

View File

@ -25,5 +25,6 @@ jasmine_node_test(
deps = [
":ivy_lib",
"//packages/core/test/render3:domino",
"//packages/zone.js/lib",
],
)

View File

@ -7,11 +7,10 @@
*/
// Needed to run animation tests
require('zone.js/dist/zone-node.js');
import 'zone.js/lib/node/rollup-main';
import '@angular/compiler'; // For JIT mode. Must be in front of any other @angular/* imports.
import {DominoAdapter} from '@angular/platform-server/src/domino_adapter';
import {ɵgetDOM as getDOM} from '@angular/common';
import {DominoAdapter} from '@angular/platform-server/src/domino_adapter';
if (typeof window == 'undefined') {
const domino = require('domino');

View File

@ -14,7 +14,7 @@ ng_module(
"//packages/compiler",
"//packages/core",
"//packages/localize",
"//packages/zone.js/lib:zone_d_ts",
"@npm//@types/jasmine",
"@npm//zone.js",
],
)

View File

@ -25,8 +25,8 @@ filegroup(
srcs = [
"@npm//:node_modules/@webcomponents/custom-elements/src/native-shim.js",
"@npm//:node_modules/reflect-metadata/Reflect.js",
"@npm//:node_modules/zone.js/dist/zone.js",
"@npm//:node_modules/zone.js/dist/zone-testing.js",
"//packages/zone.js/dist:zone.js",
"//packages/zone.js/dist:zone-testing.js",
],
)

View File

@ -45,7 +45,7 @@ ts_devserver(
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
],
deps = [":common_examples"],
)

View File

@ -61,8 +61,8 @@ ts_devserver(
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@npm//:node_modules/zone.js/dist/zone.js",
"@npm//:node_modules/zone.js/dist/task-tracking.js",
"//packages/zone.js/dist:zone.js",
"//packages/zone.js/dist:task-tracking.js",
],
deps = [":core_examples"],
)

View File

@ -45,7 +45,7 @@ ts_devserver(
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
],
deps = [":forms_examples"],
)

View File

@ -29,7 +29,7 @@ ts_devserver(
"//tools/rxjs:rxjs_umd_modules",
],
static_files = [
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
],
deps = [":router_activated_route_examples"],
)

View File

@ -44,7 +44,7 @@ ts_devserver(
],
static_files = [
"ngsw-worker.js",
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
],
deps = [":sw_push_examples"],
)

View File

@ -44,7 +44,7 @@ ts_devserver(
],
static_files = [
"ngsw-worker.js",
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
],
deps = [":sw_registration_options_examples"],
)

View File

@ -46,7 +46,7 @@ def create_upgrade_example_targets(name, srcs, e2e_srcs, entry_module, assets =
port = 4200,
entry_module = entry_module,
static_files = [
"@npm//:node_modules/zone.js/dist/zone.js",
"//packages/zone.js/dist:zone.js",
"@npm//:node_modules/angular/angular.js",
"@npm//:node_modules/reflect-metadata/Reflect.js",
],

View File

@ -14,8 +14,8 @@ ng_module(
"//packages:types",
"//packages/common",
"//packages/core",
"//packages/zone.js/lib:zone_d_ts",
"@npm//@types/hammerjs",
"@npm//zone.js",
],
)

View File

@ -19,9 +19,9 @@ ng_module(
"//packages/platform-browser",
"//packages/platform-browser-dynamic",
"//packages/platform-browser/animations",
"//packages/zone.js/lib:zone_d_ts",
"@npm//@types/node",
"@npm//rxjs",
"@npm//zone.js",
],
)

View File

@ -35,8 +35,8 @@ module.exports = function(config) {
'node_modules/systemjs/dist/system.src.js',
// Zone.js dependencies
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/zone-testing.js',
'dist/bin/packages/zone.js/npm_package/dist/zone.js',
'dist/bin/packages/zone.js/npm_package/dist/zone-testing.js',
{pattern: 'node_modules/rxjs/**/*', included: false, watched: false},

View File

@ -19,6 +19,7 @@
"selenium-webdriver": ["./node_modules/@types/selenium-webdriver/index.d.ts"],
"rxjs/*": ["./node_modules/rxjs/*"],
"@angular/*": ["./packages/*"],
"zone.js/*": ["./packages/zone.js/*"],
"e2e_util/*": ["./modules/e2e_util/*"]
},
"rootDir": ".",
@ -50,7 +51,6 @@
// strict flag. Until these packages are removed, we exclude them here.
"platform-webworker/**",
"platform-webworker-dynamic/**",
"router/test/aot_ngsummary_test",
"zone.js"
"router/test/aot_ngsummary_test"
]
}

1
packages/types.d.ts vendored
View File

@ -9,7 +9,6 @@
// This file contains all ambient imports needed to compile the packages/ source code
/// <reference types="hammerjs" />
/// <reference types="zone.js" />
/// <reference lib="es2015" />
/// <reference path="./goog.d.ts" />
/// <reference path="./system.d.ts" />

View File

@ -14,7 +14,7 @@ ng_module(
"//packages/core",
"//packages/platform-browser-dynamic",
"//packages/upgrade/src/common",
"@npm//zone.js",
"//packages/zone.js/lib:zone_d_ts",
],
)

View File

@ -26,7 +26,7 @@ npm_package(
"README.md",
"package.json",
],
visibility = ["//packages/zone.js/test:__pkg__"],
visibility = ["//visibility:public"],
deps = [
":LICENSE.wrapped",
":LICENSE_copy",

View File

@ -1,7 +1,7 @@
load("//tools:defaults.bzl", "rollup_bundle")
load("//packages/zone.js:bundles.bzl", "ES2015_BUNDLES", "ES5_BUNDLES", "ES5_GLOBAL_BUNDLES")
package(default_visibility = ["//packages/zone.js:__subpackages__"])
package(default_visibility = ["//visibility:public"])
# copy this file from //lib to //dist
genrule(
@ -13,9 +13,9 @@ genrule(
genrule(
name = "zone_d_ts",
srcs = ["//packages/zone.js/lib"],
srcs = ["//packages/zone.js/lib:zone_d_ts"],
outs = ["zone.js.d.ts"],
cmd = "find $(SRCS) -name \"zone.d.ts\" -exec cp {} $(@D)/zone.js.d.ts \;",
cmd = "cp $< $@",
)
[

View File

@ -1,16 +1,28 @@
load("@npm_bazel_typescript//:index.bzl", "ts_library")
package(default_visibility = ["//packages/zone.js:__pkg__"])
package(default_visibility = ["//visibility:public"])
exports_files(glob([
"**/*",
]))
ts_library(
name = "lib",
srcs = glob(["**/*.ts"]),
visibility = ["//packages/zone.js:__subpackages__"],
name = "zone_d_ts",
srcs = [":zone.ts"],
deps = [
"@npm//@types/node",
],
)
ts_library(
name = "lib",
srcs = glob(
["**/*.ts"],
exclude = ["zone.ts"],
),
module_name = "zone.js/lib",
deps = [
":zone_d_ts",
"@npm//@types/jasmine",
"@npm//@types/node",
"@npm//rxjs",

View File

@ -222,7 +222,7 @@ Zone.__load_patch('ZoneAwarePromise', (global: any, Zone: ZoneType, api: _ZonePr
}
function scheduleResolveOrReject<R, U1, U2>(
promise: ZoneAwarePromise<any>, zone: AmbientZone, chainPromise: ZoneAwarePromise<any>,
promise: ZoneAwarePromise<any>, zone: Zone, chainPromise: ZoneAwarePromise<any>,
onFulfilled?: ((value: R) => U1) | null | undefined,
onRejected?: ((error: any) => U2) | null | undefined): void {
clearRejectedNoCatch(promise);