build: remove html_insert_assets complication from integration/bazel (#34112)

For the purposes of the integration test the zone.js script & bundle script tags could just go into the source index.html itself. The purpose of the integration test is is to test @angular/bazel & ng_module & ng_package so there is no need to exercise html_insert_assets.

PR Close #34112
This commit is contained in:
Greg Magolan
2019-11-29 09:50:30 -08:00
committed by Kara Erickson
parent 7df2b4aeff
commit b0534177e0
4 changed files with 6 additions and 47 deletions

View File

@ -1,7 +1,6 @@
package(default_visibility = ["//visibility:public"])
load("@build_bazel_rules_nodejs//:index.bzl", "pkg_web")
load("@npm//html-insert-assets:index.bzl", "html_insert_assets")
load("@npm//http-server:index.bzl", "http_server")
load("@npm_angular_bazel//:index.bzl", "ng_module")
load("@npm_bazel_rollup//:index.bzl", "rollup_bundle")
@ -35,37 +34,9 @@ filegroup(
],
)
html_insert_assets(
name = "inject_scripts",
# We can't output "index.html" since that collides with the input file.
# We output "_/index.html" instead and remap in ts_devserver & pkg_web
# using additional_root_paths.
outs = ["_/index.html"],
args = [
"--html",
"$(location :index.html)",
"--out",
"$@",
"--assets",
# We load zone.js outside the bundle. That's because it's a "polyfill"
# which speculates that such features might be available in a browser.
# Also it's tricky to configure dead code elimination to understand that
# zone.js is used, given that we don't have any import statement that
# imports from it.
"$(location @npm//:node_modules/zone.js/dist/zone.min.js)",
# Bundle path for both prodapp & devserver
"bundle.min.js",
],
data = [
":index.html",
"@npm//:node_modules/zone.js/dist/zone.min.js",
],
)
ts_devserver(
name = "devserver",
# Remap "_/index.html" => "index.html"
additional_root_paths = ["src/_"],
additional_root_paths = ["npm/node_modules/zone.js/dist"],
entry_module = "bazel_integration_test/src/main",
scripts = [
":rxjs_umd_modules",
@ -74,7 +45,7 @@ ts_devserver(
# an index.html file.
serving_path = "/bundle.min.js",
static_files = [
":inject_scripts",
"index.html",
"@npm//:node_modules/zone.js/dist/zone.min.js",
],
deps = ["//src"],
@ -99,12 +70,11 @@ terser_minified(
pkg_web(
name = "prodapp",
srcs = [
"index.html",
":bundle.min",
":inject_scripts",
"@npm//:node_modules/zone.js/dist/zone.min.js",
],
# Remap "_/index.html" => "index.html"
additional_root_paths = ["src/_"],
additional_root_paths = ["npm/node_modules/zone.js/dist"],
)
http_server(

View File

@ -9,5 +9,7 @@
<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>