ts-api-guardian uses `require.resolve` to resolve the actual and golden files under bazel. In Windows for these files to be resolved correct the full path including the workspace name as per the MANIFEST entries is required. This used to be the case until the recent changes done to use npm_integration tests83c74ceacf/tools/public_api_guard/public_api_guard.bzl (L19)
83c74ceacf/tools/public_api_guard/public_api_guard.bzl (L28)
``` bazel test //packages/... --test_tag_filters=api_guard //packages/animations:animations_api (cached) PASSED in 18.4s //packages/common:common_api (cached) PASSED in 25.5s //packages/compiler-cli:compiler_options_api (cached) PASSED in 12.4s //packages/compiler-cli:error_code_api (cached) PASSED in 11.6s //packages/core:core_api (cached) PASSED in 20.6s //packages/core:ng_global_utils_api (cached) PASSED in 13.5s //packages/elements:elements_api (cached) PASSED in 11.9s //packages/forms:forms_api (cached) PASSED in 13.9s //packages/http:http_api (cached) PASSED in 14.8s //packages/localize:localize_api (cached) PASSED in 6.3s //packages/platform-browser:platform-browser_api (cached) PASSED in 18.1s //packages/platform-browser-dynamic:platform-browser-dynamic_api (cached) PASSED in 14.0s //packages/platform-server:platform-server_api (cached) PASSED in 13.9s //packages/platform-webworker:platform-webworker_api (cached) PASSED in 13.7s //packages/platform-webworker-dynamic:platform-webworker-dynamic_api (cached) PASSED in 11.7s //packages/router:router_api (cached) PASSED in 19.9s //packages/service-worker:service-worker_api (cached) PASSED in 18.1s //packages/upgrade:upgrade_api (cached) PASSED in 13.5s ``` Reference: DEV-71 PR Close #36034
71 lines
1.8 KiB
Python
71 lines
1.8 KiB
Python
load("//tools:defaults.bzl", "ng_module", "ng_package", "ts_api_guardian_test_npm_package")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
ng_module(
|
|
name = "service-worker",
|
|
srcs = glob(
|
|
[
|
|
"*.ts",
|
|
"src/**/*.ts",
|
|
],
|
|
),
|
|
deps = [
|
|
"//packages/common",
|
|
"//packages/core",
|
|
"@npm//rxjs",
|
|
],
|
|
)
|
|
|
|
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.es2015.js"],
|
|
outs = ["ngsw-worker.js"],
|
|
# Remove sourcemap since this file will be served in production site
|
|
# See https://github.com/angular/angular/issues/23596
|
|
cmd = "grep -v '//# sourceMappingURL' < $< > $@",
|
|
)
|
|
|
|
ng_package(
|
|
name = "npm_package",
|
|
srcs = [
|
|
"package.json",
|
|
"//packages/service-worker/config:package.json",
|
|
],
|
|
data = [
|
|
"safety-worker.js",
|
|
":ngsw_config_binary",
|
|
":ngsw_worker_renamed",
|
|
"//packages/service-worker/config",
|
|
"//packages/service-worker/config:schema.json",
|
|
],
|
|
entry_point = ":index.ts",
|
|
tags = [
|
|
"release-with-framework",
|
|
],
|
|
# Do not add more to this list.
|
|
# Dependencies on the full npm_package cause long re-builds.
|
|
visibility = ["//integration:__pkg__"],
|
|
deps = [
|
|
":service-worker",
|
|
"//packages/service-worker/config",
|
|
],
|
|
)
|
|
|
|
ts_api_guardian_test_npm_package(
|
|
name = "service-worker_api",
|
|
actualDir = "angular/packages/service-worker/npm_package",
|
|
data = [
|
|
":npm_package",
|
|
"//goldens:public-api",
|
|
],
|
|
goldenDir = "angular/goldens/public-api/service-worker",
|
|
)
|