diff --git a/packages/compiler-cli/BUILD.bazel b/packages/compiler-cli/BUILD.bazel index 5c8e06ae2584..0bd6e5db86de 100644 --- a/packages/compiler-cli/BUILD.bazel +++ b/packages/compiler-cli/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm//@bazel/esbuild:index.bzl", "esbuild", "esbuild_config") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") load("@npm2//:defs.bzl", "npm_link_all_packages") load("//tools:defaults.bzl", "api_golden_test", "extract_types", "pkg_npm") load("//tools:defaults2.bzl", "npm_package", "ts_config", "ts_project") @@ -12,6 +12,13 @@ PUBLIC_TARGETS = [ "//packages/compiler-cli/linker/babel", ] +PUBLIC_TARGETS_RJS = [ + ":compiler-cli_rjs", + "//packages/compiler-cli/private:private_rjs", + "//packages/compiler-cli/linker:linker_rjs", + "//packages/compiler-cli/linker/babel:babel_rjs", +] + npm_link_all_packages() ts_config( @@ -33,23 +40,16 @@ ts_config( ], ) -esbuild_config( - name = "esbuild_config", - config_file = "esbuild.config.js", -) - esbuild( name = "bundles", - config = ":esbuild_config", + config = "esbuild.config.js", entry_points = [ ":index.ts", "//packages/compiler-cli:src/bin/ngc.ts", "//packages/compiler-cli:src/bin/ng_xi18n.ts", - "//packages/compiler-cli/linker:index.ts", - "//packages/compiler-cli/linker/babel:index.ts", - "//packages/compiler-cli/private:localize.ts", - "//packages/compiler-cli/private:migrations.ts", - "//packages/compiler-cli/private:tooling.ts", + "//packages/compiler-cli/linker:files", + "//packages/compiler-cli/linker/babel:files", + "//packages/compiler-cli/private:files", ], external = [ "@angular/compiler", @@ -68,7 +68,7 @@ esbuild( platform = "node", splitting = True, target = "node20", - deps = PUBLIC_TARGETS, + deps = PUBLIC_TARGETS_RJS, ) ts_project( diff --git a/packages/compiler-cli/linker/BUILD.bazel b/packages/compiler-cli/linker/BUILD.bazel index 6d77a1f835ea..27bc0240bc01 100644 --- a/packages/compiler-cli/linker/BUILD.bazel +++ b/packages/compiler-cli/linker/BUILD.bazel @@ -1,7 +1,15 @@ +load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") load("//tools:defaults2.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) +copy_to_bin( + name = "files", + srcs = [ + "index.ts", + ], +) + ts_project( name = "linker", srcs = ["index.ts"] + glob([ diff --git a/packages/compiler-cli/linker/babel/BUILD.bazel b/packages/compiler-cli/linker/babel/BUILD.bazel index 9b16c48daa10..ae12d1c00da3 100644 --- a/packages/compiler-cli/linker/babel/BUILD.bazel +++ b/packages/compiler-cli/linker/babel/BUILD.bazel @@ -1,7 +1,15 @@ +load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") load("//tools:defaults2.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) +copy_to_bin( + name = "files", + srcs = [ + "index.ts", + ], +) + ts_project( name = "babel", srcs = ["index.ts"] + glob([ diff --git a/packages/compiler-cli/private/BUILD.bazel b/packages/compiler-cli/private/BUILD.bazel index 363899887fa4..ccc0abd127b4 100644 --- a/packages/compiler-cli/private/BUILD.bazel +++ b/packages/compiler-cli/private/BUILD.bazel @@ -1,7 +1,17 @@ +load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") load("//tools:defaults2.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) +copy_to_bin( + name = "files", + srcs = [ + "localize.ts", + "migrations.ts", + "tooling.ts", + ], +) + ts_project( name = "private", srcs = glob(["*.ts"]), diff --git a/packages/core/BUILD.bazel b/packages/core/BUILD.bazel index 79fa37ed6e84..cf6cabee6756 100644 --- a/packages/core/BUILD.bazel +++ b/packages/core/BUILD.bazel @@ -179,7 +179,7 @@ generate_api_docs( genrule( name = "event_dispatch_contract_binary", - srcs = ["//packages/core/primitives/event-dispatch:contract_bundle_min"], + srcs = ["//packages/core/primitives/event-dispatch:contract_bundle_min.js"], outs = ["event-dispatch-contract.min.js"], cmd = "cp $< $@", ) diff --git a/packages/core/primitives/event-dispatch/BUILD.bazel b/packages/core/primitives/event-dispatch/BUILD.bazel index f8901c0b33b2..f5095e66807b 100644 --- a/packages/core/primitives/event-dispatch/BUILD.bazel +++ b/packages/core/primitives/event-dispatch/BUILD.bazel @@ -1,4 +1,5 @@ -load("//tools:defaults.bzl", "esbuild", "tsec_test") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") +load("//tools:defaults.bzl", "tsec_test") load("//tools:defaults2.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -33,8 +34,7 @@ filegroup( esbuild( name = "contract_bundle_min", - args = { - "sourcemap": False, + config = { "resolveExtensions": [ ".mjs", ".js", @@ -44,6 +44,6 @@ esbuild( entry_point = ":contract_binary.js", format = "iife", minify = True, - sourcemap = "inline", - deps = [":event-dispatch"], + sourcemap = "external", + deps = [":event-dispatch_rjs"], ) diff --git a/packages/examples/router/activated-route/BUILD.bazel b/packages/examples/router/activated-route/BUILD.bazel index fdce3ca87d1c..148da047be89 100644 --- a/packages/examples/router/activated-route/BUILD.bazel +++ b/packages/examples/router/activated-route/BUILD.bazel @@ -1,4 +1,5 @@ -load("//tools:defaults.bzl", "esbuild", "http_server") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") +load("//tools:defaults.bzl", "http_server") load("//tools:defaults2.bzl", "ng_project") package(default_visibility = ["//visibility:public"]) @@ -8,21 +9,26 @@ ng_project( srcs = glob( ["**/*.ts"], ), - interop_deps = [ - "//packages/platform-browser", - ], deps = [ "//:node_modules/rxjs", "//:node_modules/zone.js", "//packages/core:core_rjs", + "//packages/platform-browser:platform-browser_rjs", "//packages/router:router_rjs", ], ) esbuild( name = "app_bundle", + config = { + "resolveExtensions": [".js"], + }, entry_point = ":main.ts", - deps = [":router_activated_route_examples"], + tsconfig = "//packages/examples:tsconfig_build", + deps = [ + ":router_activated_route_examples_rjs", + "//packages/examples:tsconfig_build", + ], ) http_server( diff --git a/packages/language-service/BUILD.bazel b/packages/language-service/BUILD.bazel index e365c6a124ce..899999ad1ff7 100644 --- a/packages/language-service/BUILD.bazel +++ b/packages/language-service/BUILD.bazel @@ -1,4 +1,5 @@ -load("//tools:defaults.bzl", "esbuild", "extract_types", "pkg_npm") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") +load("//tools:defaults.bzl", "extract_types", "pkg_npm") load("//tools:defaults2.bzl", "ts_config", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -34,16 +35,16 @@ ts_project( esbuild( name = "factory_bundle", entry_point = ":plugin-factory.ts", - external = ["./bundles/language-service.js"], + external = ["@angular/language-service/bundles/language-service.js"], format = "cjs", - deps = [":factory_lib"], + deps = [":factory_lib_rjs"], ) esbuild( name = "api_bundle", entry_point = ":api.ts", format = "cjs", - deps = [":api"], + deps = [":api_rjs"], ) extract_types( diff --git a/packages/language-service/plugin-factory.ts b/packages/language-service/plugin-factory.ts index 174079890921..116059511d25 100644 --- a/packages/language-service/plugin-factory.ts +++ b/packages/language-service/plugin-factory.ts @@ -21,7 +21,8 @@ export const factory: ts.server.PluginModuleFactory = (tsModule): PluginModule = return { create(info: ts.server.PluginCreateInfo): NgLanguageService { - plugin = require(`./bundles/language-service.js`)(tsModule); + // Use a module name based import path to allow it to be marked external. + plugin = require(`@angular/language-service/bundles/language-service.js`)(tsModule); return plugin.create(info); }, getExternalFiles(project: ts.server.Project): string[] { diff --git a/packages/localize/schematics/ng-add/BUILD.bazel b/packages/localize/schematics/ng-add/BUILD.bazel index 042599c21b35..033e9f094301 100644 --- a/packages/localize/schematics/ng-add/BUILD.bazel +++ b/packages/localize/schematics/ng-add/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:defaults.bzl", "esbuild") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") load("//tools:defaults2.bzl", "jasmine_test", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -27,7 +27,11 @@ esbuild( output = "ng_add_bundle.cjs", platform = "node", target = "node20", - deps = [":ng-add"], + tsconfig = "//packages:tsconfig_build", + deps = [ + ":ng-add_rjs", + "//packages:tsconfig_build", + ], ) filegroup( diff --git a/tools/saucelabs-daemon/launcher/BUILD.bazel b/tools/saucelabs-daemon/launcher/BUILD.bazel index c7abfc45c973..b81a55a88b7c 100644 --- a/tools/saucelabs-daemon/launcher/BUILD.bazel +++ b/tools/saucelabs-daemon/launcher/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:defaults.bzl", "esbuild") +load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") load("//tools:defaults2.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -24,5 +24,5 @@ esbuild( metafile = False, output = "index.cjs", platform = "node", - deps = [":launcher"], + deps = [":launcher_rjs"], )