From f9247e4b2e5d1932858f403ef87a3f9cb032ee73 Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 15 Mar 2018 18:33:52 -0700 Subject: [PATCH] build: enable importHelpers in tsconfig (#22812) This is the primary tsconfig file used for Bazel builds. Previously, we enabled this option only for releases. PR Close #22812 --- .../bazel/test/ng_package/core_package.spec.ts | 3 +++ packages/common/test/BUILD.bazel | 8 +------- packages/compiler/test/BUILD.bazel | 10 ++-------- packages/core/test/BUILD.bazel | 8 +------- packages/core/test/render3/BUILD.bazel | 8 +------- packages/examples/build.sh | 2 +- packages/forms/test/BUILD.bazel | 8 +------- packages/http/test/BUILD.bazel | 8 +------- packages/language-service/test/BUILD.bazel | 6 ++---- .../platform-browser-dynamic/test/BUILD.bazel | 10 ++-------- packages/platform-browser/test/BUILD.bazel | 10 ++-------- packages/platform-server/test/BUILD.bazel | 1 - packages/platform-webworker/test/BUILD.bazel | 8 +------- packages/router/test/BUILD.bazel | 8 +------- packages/service-worker/test/BUILD.bazel | 8 +------- packages/tsconfig-build.json | 3 ++- packages/upgrade/test/BUILD.bazel | 6 +----- tools/defaults.bzl | 15 ++++++++++++++- 18 files changed, 37 insertions(+), 93 deletions(-) diff --git a/packages/bazel/test/ng_package/core_package.spec.ts b/packages/bazel/test/ng_package/core_package.spec.ts index f327511097..6442b2d038 100644 --- a/packages/bazel/test/ng_package/core_package.spec.ts +++ b/packages/bazel/test/ng_package/core_package.spec.ts @@ -143,6 +143,9 @@ describe('@angular/core ng_package', () => { expect(shx.cat('bundles/core.umd.js')) .toMatch(/@license Angular v\d+\.\d+\.\d+(?!-PLACEHOLDER)/); }); + + it('should have tslib helpers', + () => { expect(shx.cat('bundles/core.umd.js')).not.toContain('undefined.__extends'); }); }); }); diff --git a/packages/common/test/BUILD.bazel b/packages/common/test/BUILD.bazel index 1b02d02123..2d6f2e59e1 100644 --- a/packages/common/test/BUILD.bazel +++ b/packages/common/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -32,12 +31,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/compiler/test/BUILD.bazel b/packages/compiler/test/BUILD.bazel index d89ade47a4..e836738546 100644 --- a/packages/compiler/test/BUILD.bazel +++ b/packages/compiler/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -49,14 +48,9 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # dissable since tests are running but not yet passing + # disable since tests are running but not yet passing tags = ["manual"], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/core/test/BUILD.bazel b/packages/core/test/BUILD.bazel index 18cb4501c5..b44025c60e 100644 --- a/packages/core/test/BUILD.bazel +++ b/packages/core/test/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility = ["//visibility:public"]) -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -62,12 +61,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/core/test/render3/BUILD.bazel b/packages/core/test/render3/BUILD.bazel index 222540d20f..fda552e24f 100644 --- a/packages/core/test/render3/BUILD.bazel +++ b/packages/core/test/render3/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility = ["//visibility:public"]) -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -57,12 +56,7 @@ jasmine_node_test( ts_web_test( name = "render3_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":render3_lib", ], ) diff --git a/packages/examples/build.sh b/packages/examples/build.sh index c9df72ea1a..3747ad560d 100755 --- a/packages/examples/build.sh +++ b/packages/examples/build.sh @@ -13,7 +13,7 @@ cd `dirname $0` DIST="../../dist/examples"; rm -rf -- $DIST -$(npm bin)/tsc -p ./tsconfig-build.json +$(npm bin)/tsc -p ./tsconfig-build.json --importHelpers false mkdir $DIST/vendor/ diff --git a/packages/forms/test/BUILD.bazel b/packages/forms/test/BUILD.bazel index 9d0598a498..06d54b60ce 100644 --- a/packages/forms/test/BUILD.bazel +++ b/packages/forms/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -27,12 +26,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/http/test/BUILD.bazel b/packages/http/test/BUILD.bazel index 48b01584b8..5359429195 100644 --- a/packages/http/test/BUILD.bazel +++ b/packages/http/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -28,12 +27,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/language-service/test/BUILD.bazel b/packages/language-service/test/BUILD.bazel index 3a8ea6e7ed..994fe38b82 100644 --- a/packages/language-service/test/BUILD.bazel +++ b/packages/language-service/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -16,10 +15,9 @@ ts_library( jasmine_node_test( name = "test", bootstrap = ["angular/tools/testing/init_node_spec.js"], - # dissable since tests are running but not yet passing + # disable since tests are running but not yet passing tags = ["manual"], deps = [ - ":test_lib", "//tools/testing:node", ], ) diff --git a/packages/platform-browser-dynamic/test/BUILD.bazel b/packages/platform-browser-dynamic/test/BUILD.bazel index 110ac64637..234a193ac3 100644 --- a/packages/platform-browser-dynamic/test/BUILD.bazel +++ b/packages/platform-browser-dynamic/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -30,14 +29,9 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # dissable since tests are running but not yet passing + # disable since tests are running but not yet passing tags = ["manual"], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/platform-browser/test/BUILD.bazel b/packages/platform-browser/test/BUILD.bazel index 2f8cb4427b..4858aa258e 100644 --- a/packages/platform-browser/test/BUILD.bazel +++ b/packages/platform-browser/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -36,14 +35,9 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # dissable since tests are running but not yet passing + # disable since tests are running but not yet passing tags = ["manual"], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/platform-server/test/BUILD.bazel b/packages/platform-server/test/BUILD.bazel index eff4d9b01f..470f0ad851 100644 --- a/packages/platform-server/test/BUILD.bazel +++ b/packages/platform-server/test/BUILD.bazel @@ -1,5 +1,4 @@ load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( diff --git a/packages/platform-webworker/test/BUILD.bazel b/packages/platform-webworker/test/BUILD.bazel index fc51dc54e9..89b2f0de0a 100644 --- a/packages/platform-webworker/test/BUILD.bazel +++ b/packages/platform-webworker/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -30,12 +29,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/router/test/BUILD.bazel b/packages/router/test/BUILD.bazel index a75b15d5b2..afccaa809a 100644 --- a/packages/router/test/BUILD.bazel +++ b/packages/router/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -31,12 +30,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/service-worker/test/BUILD.bazel b/packages/service-worker/test/BUILD.bazel index 296d7d6792..21ba980f07 100644 --- a/packages/service-worker/test/BUILD.bazel +++ b/packages/service-worker/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -29,12 +28,7 @@ jasmine_node_test( ts_web_test( name = "test_web", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/packages/tsconfig-build.json b/packages/tsconfig-build.json index a7d464ca6d..d3334472cc 100644 --- a/packages/tsconfig-build.json +++ b/packages/tsconfig-build.json @@ -22,7 +22,8 @@ // As tsickle will lower decorators before TS, this is not a problem for our build. "emitDecoratorMetadata": true, "sourceMap": true, - "inlineSources": true + "inlineSources": true, + "importHelpers": true }, "bazelOptions": { "suppressTsconfigOverrideWarnings": true diff --git a/packages/upgrade/test/BUILD.bazel b/packages/upgrade/test/BUILD.bazel index a286c118be..9e40647ba0 100644 --- a/packages/upgrade/test/BUILD.bazel +++ b/packages/upgrade/test/BUILD.bazel @@ -1,5 +1,4 @@ -load("//tools:defaults.bzl", "ts_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "ts_web_test") load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test") ts_library( @@ -22,16 +21,13 @@ ts_library( ts_web_test( name = "test_web", bootstrap = [ - "//:web_test_bootstrap_scripts", # "//:angularjs", ], # Disable since tests need to request different AngularJS versions at # runtime, which is not yet supported. # (Related issue: https://github.com/bazelbuild/rules_typescript/issues/131) tags = ["manual"], - # do not sort deps = [ - "//tools/testing:browser", ":test_lib", ], ) diff --git a/tools/defaults.bzl b/tools/defaults.bzl index d1bafb9adf..c4041ddaa0 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,6 +1,6 @@ """Re-export of some bazel rules with repository-wide defaults.""" load("@build_bazel_rules_nodejs//:defs.bzl", _npm_package = "npm_package") -load("@build_bazel_rules_typescript//:defs.bzl", _ts_library = "ts_library") +load("@build_bazel_rules_typescript//:defs.bzl", _ts_library = "ts_library", _ts_web_test = "ts_web_test") load("//packages/bazel:index.bzl", _ng_module = "ng_module", _ng_package = "ng_package") DEFAULT_TSCONFIG = "//packages:tsconfig-build.json" @@ -66,3 +66,16 @@ def npm_package(name, replacements = {}, **kwargs): stamp_data = "//tools:stamp_data", replacements = dict(replacements, **PKG_GROUP_REPLACEMENTS), **kwargs) + +def ts_web_test(bootstrap = [], deps = [], **kwargs): + if not bootstrap: + bootstrap = ["//:web_test_bootstrap_scripts"] + local_deps = [ + "//:node_modules/tslib/tslib.js", + "//tools/testing:browser", + ] + deps + + _ts_web_test( + bootstrap = bootstrap, + deps = local_deps, + **kwargs) \ No newline at end of file