Skip to content

Commit

Permalink
build(service-worker): properly build npm_package with Bazel (#23090)
Browse files Browse the repository at this point in the history
PR Close #23090
  • Loading branch information
alxhub committed Apr 4, 2018
1 parent 32a41bc commit f48e215
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 5 deletions.
23 changes: 21 additions & 2 deletions packages/service-worker/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,35 @@ ng_module(
],
)

genrule(
name = "ngsw_config_binary",
srcs = ["//packages/service-worker/cli:ngsw_config.js"],
outs = ["ngsw-config.js"],
cmd = "echo '#!/usr/bin/env node' > $@ && cat $< >> $@",
)

genrule(
name = "ngsw_worker_renamed",
srcs = ["//packages/service-worker/worker:ngsw_worker.es6.js"],
outs = ["ngsw-worker.js"],
cmd = "cp $< $@",
)

ng_package(
name = "npm_package",
srcs = [
"package.json",
"safety-worker.js",
"//packages/service-worker/config:package.json",
],
data = [
":ngsw_config_binary",
":ngsw_worker_renamed",
"//packages/service-worker/config",
],
entry_point = "packages/service-worker/index.js",
tags = [
# TODO(alxhub): enable release after landing #23090
# "release-with-framework",
"release-with-framework",
],
deps = [
":service-worker",
Expand Down
25 changes: 25 additions & 0 deletions packages/service-worker/cli/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package(default_visibility = ["//visibility:public"])

load("//tools:defaults.bzl", "ts_library", "npm_package")
load("//packages/bazel/src:ng_rollup_bundle.bzl", "ng_rollup_bundle")

ts_library(
name = "cli",
srcs = glob(
[
"*.ts",
],
),
tsconfig = ":tsconfig.json",
deps = [
"//packages/service-worker/config",
],
)

ng_rollup_bundle(
name = "ngsw_config",
entry_point = "packages/service-worker/cli/main.js",
deps = [
":cli",
],
)
10 changes: 10 additions & 0 deletions packages/service-worker/worker/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package(default_visibility = ["//visibility:public"])

load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("//packages/bazel/src:ng_rollup_bundle.bzl", "ng_rollup_bundle")

ts_library(
name = "worker",
Expand All @@ -17,5 +18,14 @@ ts_library(
ts_library(
name = "main",
srcs = ["main.ts"],
tsconfig = ":tsconfig.json",
deps = [":worker"],
)

ng_rollup_bundle(
name = "ngsw_worker",
entry_point = "packages/service-worker/worker/main.js",
deps = [
":main",
],
)
6 changes: 3 additions & 3 deletions scripts/release/publish-next
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
set -u -e -o pipefail

# Use for BETA and RC releases
# Publish all packages in `dist/packages-dist` to npm (as next)

# Query Bazel for npm_package and ng_package rules with tags=["release-with-framework"]
# Publish them to npm (tagged next)
for p in $(bazel query --output=label 'attr("tags", "\[.*release-with-framework.*\]", //...) intersect kind(".*_package", //...) except //dist/...'); do
bazel run -- $p.publish --access public --tag next
done

(cd dist/packages-dist; for p in language-service service-worker; do npm publish --access public --tag next $p; done)
# TODO(alexeagle): publish everything from bazel and remove this
(cd dist/packages-dist; for p in language-service; do npm publish --access public --tag next $p; done)

0 comments on commit f48e215

Please sign in to comment.