diff --git a/BUILD.bazel b/BUILD.bazel index e428d013ef93..33ef92b85fd3 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,7 +1,7 @@ load("@aspect_rules_ts//ts:defs.bzl", rules_js_tsconfig = "ts_config") load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "copy_to_bin") +load("//tools:defaults.bzl", "copy_to_bin") package(default_visibility = ["//visibility:public"]) diff --git a/WORKSPACE b/WORKSPACE index 4aab385c07ce..a334a3ba38da 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -207,10 +207,9 @@ http_archive( load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies") rules_ts_dependencies( - # ts_version_from = "//:package.json", + ts_version_from = "//:package.json", # Obtained by: curl --silent https://registry.npmjs.org/typescript/5.7.2 | jq -r '.dist.integrity' ts_integrity = "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - ts_version = "5.7.2", ) http_file( diff --git a/modules/testing/builder/BUILD.bazel b/modules/testing/builder/BUILD.bazel index 6983baca7fda..3243a9214ca5 100644 --- a/modules/testing/builder/BUILD.bazel +++ b/modules/testing/builder/BUILD.bazel @@ -1,5 +1,5 @@ load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular/build/BUILD.bazel b/packages/angular/build/BUILD.bazel index 98a15eec1458..6e6a2035eab8 100644 --- a/packages/angular/build/BUILD.bazel +++ b/packages/angular/build/BUILD.bazel @@ -1,6 +1,6 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -72,7 +72,6 @@ ts_project( "//packages/angular/build:src/builders/ng-packagr/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular/build", deps = [ ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", @@ -158,12 +157,8 @@ ts_project( srcs = glob(include = ["src/builders/application/tests/**/*.ts"]), deps = [ ":build", - "//packages/angular/build/private", - "//modules/testing/builder", ":node_modules/@angular-devkit/architect", - ":node_modules/@angular-devkit/core", - - # Base dependencies for the application in hello-world-app. + ":node_modules/@angular-devkit/core", # Base dependencies for the application in hello-world-app. "//:node_modules/@angular/common", "//:node_modules/@angular/compiler", "//:node_modules/@angular/compiler-cli", @@ -171,11 +166,13 @@ ts_project( "//:node_modules/@angular/platform-browser", "//:node_modules/@angular/platform-browser-dynamic", "//:node_modules/@angular/router", + "//:node_modules/buffer", "//:node_modules/rxjs", "//:node_modules/tslib", "//:node_modules/typescript", "//:node_modules/zone.js", - "//:node_modules/buffer", + "//modules/testing/builder", + "//packages/angular/build/private", ], ) @@ -185,18 +182,8 @@ ts_project( srcs = glob(include = ["src/builders/dev-server/tests/**/*.ts"]), deps = [ ":build", - "//packages/angular/build/private", - "//modules/testing/builder", ":node_modules/@angular-devkit/architect", - ":node_modules/@angular-devkit/core", - - # dev server only test deps - "//:node_modules/@types/http-proxy", - "//:node_modules/@types/node", - "//:node_modules/http-proxy", - "//:node_modules/puppeteer", - - # Base dependencies for the application in hello-world-app. + ":node_modules/@angular-devkit/core", # dev server only test deps "//:node_modules/@angular/common", "//:node_modules/@angular/compiler", "//:node_modules/@angular/compiler-cli", @@ -204,12 +191,18 @@ ts_project( "//:node_modules/@angular/platform-browser", "//:node_modules/@angular/platform-browser-dynamic", "//:node_modules/@angular/router", + "//:node_modules/@types/http-proxy", + "//:node_modules/@types/node", + "//:node_modules/buffer", + "//:node_modules/http-proxy", "//:node_modules/ng-packagr", + "//:node_modules/puppeteer", # Base dependencies for the application in hello-world-app. "//:node_modules/rxjs", "//:node_modules/tslib", "//:node_modules/typescript", "//:node_modules/zone.js", - "//:node_modules/buffer", + "//modules/testing/builder", + "//packages/angular/build/private", ], ) @@ -219,20 +212,8 @@ ts_project( srcs = glob(include = ["src/builders/karma/tests/**/*.ts"]), deps = [ ":build", - "//packages/angular/build/private", - "//modules/testing/builder", ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", - "//:node_modules/@types/node", - - # karma specific test deps - "//:node_modules/karma-chrome-launcher", - "//:node_modules/karma-coverage", - "//:node_modules/karma-jasmine", - "//:node_modules/karma-jasmine-html-reporter", - "//:node_modules/puppeteer", - - # Base dependencies for the karma in hello-world-app. "//:node_modules/@angular/common", "//:node_modules/@angular/compiler", "//:node_modules/@angular/compiler-cli", @@ -240,11 +221,19 @@ ts_project( "//:node_modules/@angular/platform-browser", "//:node_modules/@angular/platform-browser-dynamic", "//:node_modules/@angular/router", + "//:node_modules/@types/node", # karma specific test deps + "//:node_modules/buffer", + "//:node_modules/karma-chrome-launcher", + "//:node_modules/karma-coverage", + "//:node_modules/karma-jasmine", + "//:node_modules/karma-jasmine-html-reporter", + "//:node_modules/puppeteer", # Base dependencies for the karma in hello-world-app. "//:node_modules/rxjs", "//:node_modules/tslib", "//:node_modules/typescript", "//:node_modules/zone.js", - "//:node_modules/buffer", + "//modules/testing/builder", + "//packages/angular/build/private", ], ) diff --git a/packages/angular/build/private/BUILD.bazel b/packages/angular/build/private/BUILD.bazel index 8cca388d6640..c3a100de897f 100644 --- a/packages/angular/build/private/BUILD.bazel +++ b/packages/angular/build/private/BUILD.bazel @@ -1,11 +1,10 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) ts_project( name = "private", srcs = ["index.ts"], - module_name = "@angular/build/private", deps = [ "//packages/angular/build", ], diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 5fce2f4bab5c..dbfc181e9efd 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -4,7 +4,7 @@ # found in the LICENSE file at https://angular.dev/license load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:ts_json_schema.bzl", "ts_json_schema") @@ -43,7 +43,6 @@ ts_project( "//packages/angular/cli:src/commands/update/schematic/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular/cli", deps = [ ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", diff --git a/packages/angular/create/BUILD.bazel b/packages/angular/create/BUILD.bazel index fe815b0b75dc..37d46ad44ced 100644 --- a/packages/angular/create/BUILD.bazel +++ b/packages/angular/create/BUILD.bazel @@ -3,7 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.dev/license -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("//tools:defaults.bzl", "npm_package", "ts_project") licenses(["notice"]) @@ -22,7 +22,6 @@ ts_project( "src/*.ts", ]), data = RUNTIME_ASSETS, - module_name = "@angular/create", deps = [ "//:node_modules/@types/node", "//packages/angular/cli:angular-cli", diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 1e0355fe015c..ebf52daba59b 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -4,7 +4,7 @@ # found in the LICENSE file at https://angular.dev/license load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -32,7 +32,6 @@ ts_project( "//packages/angular/pwa:pwa/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular/pwa", deps = [ ":node_modules/@angular-devkit/schematics", ":node_modules/@schematics/angular", diff --git a/packages/angular/ssr/BUILD.bazel b/packages/angular/ssr/BUILD.bazel index fbe46237d063..e730cacb70bf 100644 --- a/packages/angular/ssr/BUILD.bazel +++ b/packages/angular/ssr/BUILD.bazel @@ -2,7 +2,7 @@ load("@aspect_rules_js//npm:defs.bzl", "npm_package") load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") load("@rules_pkg//:pkg.bzl", "pkg_tar") -load("//tools:defaults2.bzl", "ng_package", "ts_project") +load("//tools:defaults.bzl", "ng_package", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -26,7 +26,6 @@ ts_project( data = [ "//packages/angular/ssr/third_party/beasties:beasties_bundled", ], - module_name = "@angular/ssr", source_map = True, tsconfig = "//:build-tsconfig-esm", deps = [ diff --git a/packages/angular/ssr/node/BUILD.bazel b/packages/angular/ssr/node/BUILD.bazel index 92220e7a00c3..cde993d9c26a 100644 --- a/packages/angular/ssr/node/BUILD.bazel +++ b/packages/angular/ssr/node/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) @@ -16,7 +16,6 @@ ts_project( ], # TODO: Fix strict_deps failure ignore_strict_deps = True, - module_name = "@angular/ssr/node", source_map = True, tsconfig = "//:build-tsconfig-esm", deps = [ diff --git a/packages/angular/ssr/node/test/BUILD.bazel b/packages/angular/ssr/node/test/BUILD.bazel index 9e5448549fe9..e816a3e022ae 100644 --- a/packages/angular/ssr/node/test/BUILD.bazel +++ b/packages/angular/ssr/node/test/BUILD.bazel @@ -1,5 +1,5 @@ load("@devinfra//bazel/spec-bundling:index_rjs.bzl", "spec_bundle") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") ts_project( name = "unit_test_lib", diff --git a/packages/angular/ssr/schematics/BUILD.bazel b/packages/angular/ssr/schematics/BUILD.bazel index 67164e942e43..c4bdf77a2507 100644 --- a/packages/angular/ssr/schematics/BUILD.bazel +++ b/packages/angular/ssr/schematics/BUILD.bazel @@ -4,7 +4,7 @@ # found in the LICENSE file at https://angular.dev/license load("@aspect_rules_js//npm:defs.bzl", "npm_package") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -57,7 +57,6 @@ ts_project( "//packages/angular/ssr/schematics:" + src.replace(".json", ".ts") for (src, _) in ALL_SCHEMA_TARGETS ], - module_name = "@angular/ssr/schematics", deps = [ "//packages/angular/ssr:node_modules/@angular-devkit/schematics", "//packages/angular/ssr:node_modules/@schematics/angular", diff --git a/packages/angular/ssr/test/BUILD.bazel b/packages/angular/ssr/test/BUILD.bazel index 8fad8bd45ca9..73f3bd739016 100644 --- a/packages/angular/ssr/test/BUILD.bazel +++ b/packages/angular/ssr/test/BUILD.bazel @@ -1,5 +1,5 @@ load("@devinfra//bazel/spec-bundling:index_rjs.bzl", "spec_bundle") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") ts_project( name = "unit_test_lib", diff --git a/packages/angular/ssr/test/npm_package/BUILD.bazel b/packages/angular/ssr/test/npm_package/BUILD.bazel index 9111a91325c0..97331cf8a9e0 100644 --- a/packages/angular/ssr/test/npm_package/BUILD.bazel +++ b/packages/angular/ssr/test/npm_package/BUILD.bazel @@ -1,6 +1,6 @@ load("@bazel_skylib//rules:diff_test.bzl", "diff_test") load("@bazel_skylib//rules:write_file.bzl", "write_file") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") ts_project( name = "unit_test_lib", diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index 5edb897086a8..95e2a066ee06 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -5,7 +5,7 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") package(default_visibility = ["//visibility:public"]) @@ -66,7 +66,6 @@ ts_project( ], # Ensure tests can execute the output JS, relying on schemas/JSON files. data = JSON_FILES, - module_name = "@angular-devkit/architect", deps = [ ":node_modules/@angular-devkit/core", "//:node_modules/@types/node", diff --git a/packages/angular_devkit/architect/node/BUILD.bazel b/packages/angular_devkit/architect/node/BUILD.bazel index 2dbbc9a7c3b4..86f463f97151 100644 --- a/packages/angular_devkit/architect/node/BUILD.bazel +++ b/packages/angular_devkit/architect/node/BUILD.bazel @@ -3,7 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.dev/license -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") licenses(["notice"]) @@ -15,7 +15,6 @@ ts_project( include = ["**/*.ts"], exclude = ["**/*_spec.ts"], ), - module_name = "@angular-devkit/architect/node", deps = [ "//:node_modules/@types/node", "//:node_modules/rxjs", diff --git a/packages/angular_devkit/architect/node/test/BUILD.bazel b/packages/angular_devkit/architect/node/test/BUILD.bazel index be851fe1832a..291b17d52e7c 100644 --- a/packages/angular_devkit/architect/node/test/BUILD.bazel +++ b/packages/angular_devkit/architect/node/test/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") ts_project( name = "test_lib", diff --git a/packages/angular_devkit/architect/testing/BUILD.bazel b/packages/angular_devkit/architect/testing/BUILD.bazel index 589ed96abb5d..62fea311d170 100644 --- a/packages/angular_devkit/architect/testing/BUILD.bazel +++ b/packages/angular_devkit/architect/testing/BUILD.bazel @@ -3,7 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.dev/license -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") licenses(["notice"]) @@ -15,7 +15,6 @@ ts_project( include = ["**/*.ts"], exclude = ["**/*_spec.ts"], ), - module_name = "@angular-devkit/architect/testing", deps = [ "//:node_modules/@types/node", "//:node_modules/rxjs", diff --git a/packages/angular_devkit/architect_cli/BUILD.bazel b/packages/angular_devkit/architect_cli/BUILD.bazel index 4a8283ec9a26..0f9cd4b80174 100644 --- a/packages/angular_devkit/architect_cli/BUILD.bazel +++ b/packages/angular_devkit/architect_cli/BUILD.bazel @@ -1,5 +1,5 @@ load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("//tools:defaults.bzl", "npm_package", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -16,7 +16,6 @@ ts_project( srcs = [ "bin/architect.ts", ] + glob(["src/**/*.ts"]), - module_name = "@angular-devkit/architect-cli", deps = [ ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 5c792deac174..21ebd9d6ac85 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -5,7 +5,7 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -127,7 +127,6 @@ ts_project( "//packages/angular_devkit/build_angular:src/builders/web-test-runner/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular-devkit/build-angular", deps = [ ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/build-webpack", @@ -394,9 +393,7 @@ LARGE_SPECS = { ":node_modules/@angular-devkit/architect", ":node_modules/@angular-devkit/core", ":node_modules/@angular-devkit/build-webpack", - "//modules/testing/builder", - - # Base dependencies for the application in hello-world-app. + "//modules/testing/builder", # Base dependencies for the application in hello-world-app. # Some tests also require extra dependencies. "//:node_modules/@angular/common", "//:node_modules/@angular/compiler", diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index 85e41f44660c..9edaa88ab519 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -5,7 +5,7 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -45,7 +45,6 @@ ts_project( "//packages/angular_devkit/build_webpack:src/builders/webpack/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular-devkit/build-webpack", deps = [ ":node_modules/@angular-devkit/architect", "//:node_modules/@types/node", diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index e3f918a57e8c..280a44612a57 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -1,5 +1,5 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -27,7 +27,6 @@ ts_project( ], ) + ["index.ts"], data = RUNTIME_ASSETS, - module_name = "@angular-devkit/core", deps = [ "//:node_modules/@types/node", "//:node_modules/@types/picomatch", diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index 9a6bc4df3ad5..b63f75d71ae5 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -3,7 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.dev/license -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") licenses(["notice"]) @@ -18,7 +18,6 @@ ts_project( "**/*_spec.ts", ], ), - module_name = "@angular-devkit/core/node", deps = [ "//:node_modules/@types/node", "//:node_modules/chokidar", diff --git a/packages/angular_devkit/core/node/testing/BUILD.bazel b/packages/angular_devkit/core/node/testing/BUILD.bazel index 473b47e5ade7..c75767dba722 100644 --- a/packages/angular_devkit/core/node/testing/BUILD.bazel +++ b/packages/angular_devkit/core/node/testing/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -16,7 +16,6 @@ ts_project( "**/*_spec.ts", ], ), - module_name = "@angular-devkit/core/node/testing", deps = [ "//:node_modules/@types/jasmine", "//:node_modules/@types/node", diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 5ba66ae757a1..65b56b98cf98 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -1,6 +1,6 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -25,7 +25,6 @@ ts_project( data = [ "package.json", ], - module_name = "@angular-devkit/schematics", deps = [ ":node_modules/@angular-devkit/core", "//:node_modules/@types/node", diff --git a/packages/angular_devkit/schematics/tasks/BUILD.bazel b/packages/angular_devkit/schematics/tasks/BUILD.bazel index 5ce031b6f0b0..bbdcb7cb27c6 100644 --- a/packages/angular_devkit/schematics/tasks/BUILD.bazel +++ b/packages/angular_devkit/schematics/tasks/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -18,7 +18,6 @@ ts_project( ], ), data = ["package.json"], - module_name = "@angular-devkit/schematics/tasks", deps = [ "//:node_modules/@types/node", "//:node_modules/ora", diff --git a/packages/angular_devkit/schematics/tasks/node/BUILD.bazel b/packages/angular_devkit/schematics/tasks/node/BUILD.bazel index c6d26d420436..def7c1a52af9 100644 --- a/packages/angular_devkit/schematics/tasks/node/BUILD.bazel +++ b/packages/angular_devkit/schematics/tasks/node/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -16,7 +16,6 @@ ts_project( "**/*_spec.ts", ], ), - module_name = "@angular-devkit/schematics/tasks/node", deps = [ "//:node_modules/@types/node", "//:node_modules/rxjs", diff --git a/packages/angular_devkit/schematics/testing/BUILD.bazel b/packages/angular_devkit/schematics/testing/BUILD.bazel index 3a6e5f898598..daa94fa1fd89 100644 --- a/packages/angular_devkit/schematics/testing/BUILD.bazel +++ b/packages/angular_devkit/schematics/testing/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -14,7 +14,6 @@ ts_project( include = ["**/*.ts"], ), data = ["package.json"], - module_name = "@angular-devkit/schematics/testing", deps = [ "//:node_modules/rxjs", "//packages/angular_devkit/schematics", diff --git a/packages/angular_devkit/schematics/tools/BUILD.bazel b/packages/angular_devkit/schematics/tools/BUILD.bazel index 9ade88d4cbeb..f021b2047726 100644 --- a/packages/angular_devkit/schematics/tools/BUILD.bazel +++ b/packages/angular_devkit/schematics/tools/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") # Copyright Google Inc. All Rights Reserved. # @@ -18,7 +18,6 @@ ts_project( ], ), data = ["package.json"], - module_name = "@angular-devkit/schematics/tools", deps = [ "//:node_modules/@types/node", "//:node_modules/jsonc-parser", diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index 59d464306f19..40f798141a7e 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -1,5 +1,5 @@ load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "npm_package", "ts_project") +load("//tools:defaults.bzl", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") # Copyright Google Inc. All Rights Reserved. @@ -44,7 +44,6 @@ ts_project( "//packages/angular_devkit/schematics_cli:schematic/schema.ts", ], data = RUNTIME_ASSETS, - module_name = "@angular-devkit/schematics-cli", deps = [ ":node_modules/@angular-devkit/core", ":node_modules/@angular-devkit/schematics", diff --git a/packages/angular_devkit/schematics_cli/test/BUILD.bazel b/packages/angular_devkit/schematics_cli/test/BUILD.bazel index da03ab72ff54..d75151c168ac 100644 --- a/packages/angular_devkit/schematics_cli/test/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/test/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_js//npm:defs.bzl", "npm_link_package") -load("//tools:defaults2.bzl", "jasmine_test", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "ts_project") ts_project( name = "schematics_cli_test_lib", diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index 68006eee2f03..e05a8c3e5262 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -5,7 +5,7 @@ load("@devinfra//bazel/api-golden:index_rjs.bzl", "api_golden_test_npm_package") load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "jasmine_test", "npm_package", "ts_project") licenses(["notice"]) @@ -29,7 +29,6 @@ ts_project( data = [ "package.json", ], - module_name = "@ngtools/webpack", deps = [ "//:node_modules/@angular/compiler-cli", "//:node_modules/@types/node", diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 9f44e479010b..f2d21a5bc4f8 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -4,7 +4,7 @@ # found in the LICENSE file at https://angular.dev/license load("@npm2//:defs.bzl", "npm_link_all_packages") -load("//tools:defaults2.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") +load("//tools:defaults.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project") load("//tools:ts_json_schema.bzl", "ts_json_schema") licenses(["notice"]) @@ -86,7 +86,6 @@ ts_project( for (src, _) in ALL_SCHEMA_TARGETS ], data = RUNTIME_ASSETS, - module_name = "@schematics/angular", deps = [ ":node_modules/@angular-devkit/core", ":node_modules/@angular-devkit/schematics", diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index 77eada9df34f..5e4b524bb1cc 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # files fetched on 2025-03-03 from # https://github.com/microsoft/TypeScript/releases/tag/v5.8.2 diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel index 7c58fcc758b7..3b3c89c7ac3f 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") # Copyright Google Inc. All Rights Reserved. # diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index d732d49f26b0..cd097276f01f 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -1,6 +1,6 @@ load("@aspect_bazel_lib//lib:directory_path.bzl", "directory_path") load("@npm2//:rollup/package_json.bzl", rollup = "bin") -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") load(":e2e.bzl", "e2e_suites") package(default_visibility = ["//visibility:public"]) diff --git a/tests/legacy-cli/e2e/assets/BUILD.bazel b/tests/legacy-cli/e2e/assets/BUILD.bazel index a3e838b59a7b..946db62d0d5a 100644 --- a/tests/legacy-cli/e2e/assets/BUILD.bazel +++ b/tests/legacy-cli/e2e/assets/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:defaults2.bzl", "copy_to_bin") +load("//tools:defaults.bzl", "copy_to_bin") copy_to_bin( name = "assets", diff --git a/tests/legacy-cli/e2e/initialize/BUILD.bazel b/tests/legacy-cli/e2e/initialize/BUILD.bazel index 87a882c3462e..da2466d90621 100644 --- a/tests/legacy-cli/e2e/initialize/BUILD.bazel +++ b/tests/legacy-cli/e2e/initialize/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel index a6196b576d38..63d76e1a07da 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel +++ b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:defaults2.bzl", "copy_to_bin") +load("//tools:defaults.bzl", "copy_to_bin") copy_to_bin( name = "ng-snapshot", diff --git a/tests/legacy-cli/e2e/setup/BUILD.bazel b/tests/legacy-cli/e2e/setup/BUILD.bazel index a41d626ee921..0b83d8f92d7f 100644 --- a/tests/legacy-cli/e2e/setup/BUILD.bazel +++ b/tests/legacy-cli/e2e/setup/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/tests/legacy-cli/e2e/tests/BUILD.bazel b/tests/legacy-cli/e2e/tests/BUILD.bazel index 9dc7c5f96575..55f5019b568f 100644 --- a/tests/legacy-cli/e2e/tests/BUILD.bazel +++ b/tests/legacy-cli/e2e/tests/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index 4d690d4bace2..ecac523d5d90 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -1,4 +1,4 @@ -load("//tools:interop.bzl", "ts_project") +load("//tools:defaults.bzl", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index ab42b524c5d5..3cb815f2db9c 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -1,5 +1,5 @@ load("@bazel_skylib//rules:copy_file.bzl", "copy_file") -load("//tools:defaults2.bzl", "js_binary") +load("//tools:defaults.bzl", "js_binary") package(default_visibility = ["//visibility:public"]) diff --git a/tools/defaults2.bzl b/tools/defaults.bzl similarity index 61% rename from tools/defaults2.bzl rename to tools/defaults.bzl index 31af54a7644a..a66ee547d9f5 100644 --- a/tools/defaults2.bzl +++ b/tools/defaults.bzl @@ -1,14 +1,12 @@ load("@aspect_bazel_lib//lib:copy_to_bin.bzl", _copy_to_bin = "copy_to_bin") load("@aspect_rules_jasmine//jasmine:defs.bzl", _jasmine_test = "jasmine_test") load("@aspect_rules_js//js:defs.bzl", _js_binary = "js_binary") +load("@aspect_rules_ts//ts:defs.bzl", _ts_project = "ts_project") +load("@devinfra//bazel/ts_project:index.bzl", "strict_deps_test") load("@npm//@angular/bazel:index.bzl", _ng_package = "ng_package") -load("//tools:interop.bzl", _ts_project = "ts_project") load("//tools:substitutions.bzl", "substitutions") load("//tools/bazel:npm_package.bzl", _npm_package = "npm_package") -def ts_project(**kwargs): - _ts_project(**kwargs) - def npm_package(**kwargs): _npm_package(**kwargs) @@ -18,6 +16,35 @@ def copy_to_bin(**kwargs): def js_binary(**kwargs): _js_binary(**kwargs) +def ts_project( + name, + testonly = False, + tsconfig = None, + deps = [], + ignore_strict_deps = False, + **kwargs): + if tsconfig == None: + tsconfig = "//:test-tsconfig" if testonly else "//:build-tsconfig" + + _ts_project( + name = name, + declaration = True, + tsconfig = tsconfig, + # Use the worker from our own Angular rules, as the default worker + # from `rules_ts` is incompatible with TS5+ and abandoned. We need + # worker for efficient and fast DX. + supports_workers = 1, + tsc_worker = "//tools:vanilla_ts_worker", + **kwargs + ) + + if not ignore_strict_deps: + strict_deps_test( + name = "%s_strict_deps_test" % name, + srcs = kwargs.get("srcs", []), + deps = deps, + ) + def ng_package(deps = [], **kwargs): _ng_package( deps = deps, diff --git a/tools/interop.bzl b/tools/interop.bzl deleted file mode 100644 index 332b53e5f653..000000000000 --- a/tools/interop.bzl +++ /dev/null @@ -1,157 +0,0 @@ -load("@aspect_rules_js//js:providers.bzl", "JsInfo", "js_info") -load("@aspect_rules_ts//ts:defs.bzl", _ts_project = "ts_project") -load("@build_bazel_rules_nodejs//:providers.bzl", "DeclarationInfo", "JSEcmaScriptModuleInfo", "JSModuleInfo", "LinkablePackageInfo") -load("@devinfra//bazel/ts_project:index.bzl", "strict_deps_test") - -def _ts_deps_interop_impl(ctx): - types = [] - sources = [] - runfiles = ctx.runfiles(files = []) - for dep in ctx.attr.deps: - if not DeclarationInfo in dep: - fail("Expected target with DeclarationInfo: %s", dep) - types.append(dep[DeclarationInfo].transitive_declarations) - if not JSModuleInfo in dep: - fail("Expected target with JSModuleInfo: %s", dep) - sources.append(dep[JSModuleInfo].sources) - if not DefaultInfo in dep: - fail("Expected target with DefaultInfo: %s", dep) - runfiles = runfiles.merge(dep[DefaultInfo].default_runfiles) - - return [ - DefaultInfo(runfiles = runfiles), - ## NOTE: We don't need to propagate module mappings FORTUNATELY! - # because rules_nodejs supports tsconfig path mapping, given that - # everything is nicely compiled from `bazel-bin/`! - js_info( - target = ctx.label, - transitive_types = depset(transitive = types), - transitive_sources = depset(transitive = sources), - ), - ] - -ts_deps_interop = rule( - implementation = _ts_deps_interop_impl, - attrs = { - "deps": attr.label_list(providers = [DeclarationInfo], mandatory = True), - }, - toolchains = ["@devinfra//bazel/git-toolchain:toolchain_type"], -) - -def _ts_project_module_impl(ctx): - # Forward runfiles. e.g. JSON files on `ts_project#data`. The jasmine - # consuming rules may rely on this, or the linker due to its symlinks then. - runfiles = ctx.attr.dep[DefaultInfo].default_runfiles - info = ctx.attr.dep[JsInfo] - - # Filter runfiles to not include `node_modules` from Aspect as this interop - # target is supposed to be used downstream by `rules_nodejs` consumers, - # and mixing pnpm-style node modules with linker node modules is incompatible. - filtered_runfiles = [] - for f in runfiles.files.to_list(): - if f.short_path.startswith("node_modules/"): - continue - filtered_runfiles.append(f) - runfiles = ctx.runfiles(files = filtered_runfiles) - - providers = [ - DefaultInfo( - runfiles = runfiles, - ), - JSModuleInfo( - direct_sources = info.sources, - sources = depset(transitive = [info.transitive_sources]), - ), - JSEcmaScriptModuleInfo( - direct_sources = info.sources, - sources = depset(transitive = [info.transitive_sources]), - ), - DeclarationInfo( - declarations = _filter_types_depset(info.types), - transitive_declarations = _filter_types_depset(info.transitive_types), - type_blocklisted_declarations = depset(), - ), - ] - - if ctx.attr.module_name: - providers.append( - LinkablePackageInfo( - package_name = ctx.attr.module_name, - package_path = "", - path = "%s/%s/%s" % (ctx.bin_dir.path, ctx.label.workspace_root, ctx.label.package), - files = info.sources, - ), - ) - - return providers - -ts_project_module = rule( - implementation = _ts_project_module_impl, - attrs = { - "dep": attr.label(providers = [JsInfo], mandatory = True), - # Noop attribute for aspect propagation of the linker interop deps; so - # that transitive linker dependencies are discovered. - "deps": attr.label_list(), - # Note: The module aspect from consuming `ts_library` targets will - # consume the module mappings automatically. - "module_name": attr.string(), - "module_root": attr.string(), - }, -) - -def ts_project( - name, - module_name = None, - deps = [], - tsconfig = None, - testonly = False, - visibility = None, - ignore_strict_deps = False, - **kwargs): - if tsconfig == None: - tsconfig = "//:test-tsconfig" if testonly else "//:build-tsconfig" - - _ts_project( - name = name, - testonly = testonly, - declaration = True, - tsconfig = tsconfig, - visibility = visibility, - # Use the worker from our own Angular rules, as the default worker - # from `rules_ts` is incompatible with TS5+ and abandoned. We need - # worker for efficient, fast DX and avoiding Windows no-sandbox issues. - supports_workers = 1, - tsc_worker = "//tools:vanilla_ts_worker", - deps = deps, - **kwargs - ) - - if not ignore_strict_deps: - strict_deps_test( - name = "%s_strict_deps_test" % name, - srcs = kwargs.get("srcs", []), - deps = deps, - ) - - ts_project_module( - name = "%s_legacy" % name, - testonly = testonly, - visibility = visibility, - dep = name, - deps = deps, - module_name = module_name, - ) - -# Filter type provider to not include `.json` files. `ts_config` -# targets are included in `ts_project` and their tsconfig json file -# is included as type. See: -# https://github.com/aspect-build/rules_ts/blob/main/ts/private/ts_config.bzl#L55C63-L55C68. -def _filter_types_depset(types_depset): - types = [] - - for t in types_depset.to_list(): - if t.short_path.endswith(".json"): - continue - types.append(t) - - return depset(types)