diff --git a/packages/angular/build/BUILD.bazel b/packages/angular/build/BUILD.bazel index e7be210f97e3..9f2e2452543f 100644 --- a/packages/angular/build/BUILD.bazel +++ b/packages/angular/build/BUILD.bazel @@ -1,7 +1,6 @@ load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults.bzl", "pkg_npm") -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults2.bzl", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -28,6 +27,18 @@ ts_json_schema( src = "src/builders/ng-packagr/schema.json", ) +RUNTIME_ASSETS = glob( + include = [ + "src/**/schema.json", + "src/**/*.js", + "src/**/*.mjs", + "src/**/*.html", + ], +) + [ + "builders.json", + "package.json", +] + ts_project( name = "build", srcs = glob( @@ -47,17 +58,7 @@ ts_project( "//packages/angular/build:src/builders/extract-i18n/schema.ts", "//packages/angular/build:src/builders/ng-packagr/schema.ts", ], - data = glob( - include = [ - "src/**/schema.json", - "src/**/*.js", - "src/**/*.mjs", - "src/**/*.html", - ], - ) + [ - "builders.json", - "package.json", - ], + data = RUNTIME_ASSETS, module_name = "@angular/build", deps = [ "//:root_modules/@ampproject/remapping", @@ -223,17 +224,21 @@ genrule( cmd = "cp $(execpath //:LICENSE) $@", ) -pkg_npm( - name = "npm_package", +npm_package( + name = "pkg", pkg_deps = [ "//packages/angular_devkit/architect:package.json", ], + stamp_files = [ + "src/tools/esbuild/utils.js", + "src/utils/normalize-cache.js", + ], tags = ["release-package"], - deps = [ + deps = RUNTIME_ASSETS + [ ":README.md", - ":build", + ":build_rjs", ":license", - "//packages/angular/build/private", + "//packages/angular/build/private:private_rjs", ], ) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 259b82cbeba8..dc960bb8276b 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -4,8 +4,7 @@ # found in the LICENSE file at https://angular.dev/license load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults.bzl", "pkg_npm") -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults2.bzl", "npm_package", "ts_project") load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:ts_json_schema.bzl", "ts_json_schema") @@ -13,6 +12,19 @@ licenses(["notice"]) package(default_visibility = ["//visibility:public"]) +RUNTIME_ASSETS = glob( + include = [ + "bin/**/*", + "src/**/*.md", + "src/**/*.json", + ], + exclude = [ + "lib/config/workspace-schema.json", + ], +) + [ + "//packages/angular/cli:lib/config/schema.json", +] + ts_project( name = "angular-cli", srcs = glob( @@ -28,18 +40,7 @@ ts_project( "//packages/angular/cli:lib/config/workspace-schema.ts", "//packages/angular/cli:src/commands/update/schematic/schema.ts", ], - data = glob( - include = [ - "bin/**/*", - "src/**/*.md", - "src/**/*.json", - ], - exclude = [ - "lib/config/workspace-schema.json", - ], - ) + [ - "//packages/angular/cli:lib/config/schema.json", - ], + data = RUNTIME_ASSETS, module_name = "@angular/cli", deps = [ "//:root_modules/@angular/core", @@ -159,8 +160,8 @@ genrule( cmd = "cp $(execpath //:LICENSE) $@", ) -pkg_npm( - name = "npm_package", +npm_package( + name = "pkg", pkg_deps = [ "//packages/angular_devkit/architect:package.json", "//packages/angular_devkit/build_angular:package.json", @@ -169,12 +170,13 @@ pkg_npm( "//packages/angular_devkit/schematics:package.json", "//packages/schematics/angular:package.json", ], + stamp_files = [ + "src/utilities/version.js", + ], tags = ["release-package"], - deps = [ + deps = RUNTIME_ASSETS + [ ":README.md", - ":angular-cli", + ":angular-cli_rjs", ":license", - ":src/commands/update/schematic/collection.json", - ":src/commands/update/schematic/schema.json", ], ) diff --git a/tools/bazel/npm_package.bzl b/tools/bazel/npm_package.bzl index 0d830c5f96b3..137f629e5981 100644 --- a/tools/bazel/npm_package.bzl +++ b/tools/bazel/npm_package.bzl @@ -13,6 +13,7 @@ def npm_package( deps = [], visibility = None, pkg_deps = [], + stamp_files = [], pkg_json = "package.json", **kwargs): if name != "pkg": @@ -74,11 +75,23 @@ def npm_package( stamp_substitutions = get_npm_package_substitutions_for_rjs(), ) + stamp_targets = [] + for f in stamp_files: + expand_template( + name = "stamp_file_%s" % f, + template = f, + out = "substituted/%s" % f, + substitutions = NO_STAMP_PACKAGE_SUBSTITUTIONS, + stamp_substitutions = get_npm_package_substitutions_for_rjs(), + ) + + stamp_targets.append("stamp_file_%s" % f) + _npm_package( name = "npm_package", visibility = visibility, # Note: Order matters here! Last file takes precedence after replaced prefixes. - srcs = deps + [":final_package_json"], + srcs = deps + stamp_targets + [":final_package_json"], replace_prefixes = { "substituted_final/": "", "substituted_with_tars/": "",