From 5afcfc093a270c01dc1310ca91b507692c4da343 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Wed, 22 Jan 2025 15:20:06 +0000 Subject: [PATCH] build: migrate `modules/testing/builders` to `rules_js` runtime Fully migrates `modules/testing/builders` to `rules_js`, so that it can resolve modules at runtime using RJS, or executes tests via RJS. --- .../npm_translate_lock_MzA5NzUwNzMx | 5 +++-- .bazelignore | 2 ++ WORKSPACE | 1 + modules/testing/builder/BUILD.bazel | 19 +++++++++---------- modules/testing/builder/package.json | 6 ++++++ .../angular_devkit/build_angular/BUILD.bazel | 2 +- pnpm-lock.yaml | 9 +++++++++ pnpm-workspace.yaml | 1 + 8 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 modules/testing/builder/package.json diff --git a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx index 0bb1b39d9537..ee115b3d7277 100755 --- a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx +++ b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx @@ -2,6 +2,7 @@ # Input hashes for repository rule npm_translate_lock(name = "npm2", pnpm_lock = "@//:pnpm-lock.yaml"). # This file should be checked into version control along with the pnpm-lock.yaml file. .npmrc=-1406867100 +modules/testing/builder/package.json=-1769051440 package.json=688000741 packages/angular/build/package.json=1789788715 packages/angular/cli/package.json=349838588 @@ -16,6 +17,6 @@ packages/angular_devkit/schematics/package.json=673943597 packages/angular_devkit/schematics_cli/package.json=-356386813 packages/ngtools/webpack/package.json=-942726894 packages/schematics/angular/package.json=251715148 -pnpm-lock.yaml=319177102 -pnpm-workspace.yaml=-1635877240 +pnpm-lock.yaml=-870184322 +pnpm-workspace.yaml=-1173266031 yarn.lock=969972397 diff --git a/.bazelignore b/.bazelignore index ded5d15573b2..6139e21a2dd9 100644 --- a/.bazelignore +++ b/.bazelignore @@ -4,6 +4,7 @@ node_modules packages/angular/cli/node_modules packages/angular/create/node_modules packages/angular/pwa/node_modules +packages/angular/build/node_modules packages/angular/ssr/node_modules packages/angular_devkit/architect/node_modules packages/angular_devkit/architect_cli/node_modules @@ -14,3 +15,4 @@ packages/angular_devkit/schematics/node_modules packages/angular_devkit/schematics_cli/node_modules packages/ngtools/webpack/node_modules packages/schematics/angular/node_modules +modules/testing/builder/node_modules diff --git a/WORKSPACE b/WORKSPACE index 4240cc740f16..32e0091a2b60 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -186,6 +186,7 @@ npm_translate_lock( data = [ "//:package.json", "//:pnpm-workspace.yaml", + "//modules/testing/builder:package.json", "//packages/angular/build:package.json", "//packages/angular/cli:package.json", "//packages/angular/pwa:package.json", diff --git a/modules/testing/builder/BUILD.bazel b/modules/testing/builder/BUILD.bazel index 7cd6a253890f..cd61dbbc3232 100644 --- a/modules/testing/builder/BUILD.bazel +++ b/modules/testing/builder/BUILD.bazel @@ -1,8 +1,10 @@ -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:interop.bzl", "ts_project") +load("@npm2//:defs.bzl", "npm_link_all_packages") +load("//tools:defaults2.bzl", "jasmine_test", "ts_project") package(default_visibility = ["//visibility:public"]) +npm_link_all_packages() + ts_project( name = "builder", testonly = True, @@ -16,12 +18,9 @@ ts_project( ), data = glob(["projects/**/*"]), deps = [ + ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", "//:node_modules/rxjs", - "//packages/angular_devkit/architect:architect_rjs", - "//packages/angular_devkit/architect/node:node_rjs", - "//packages/angular_devkit/architect/testing:testing_rjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", ], ) @@ -35,11 +34,11 @@ ts_project( ), deps = [ ":builder_rjs", - "//packages/angular_devkit/architect/testing:testing_rjs", + ":node_modules/@angular-devkit/architect", ], ) -jasmine_node_test( +jasmine_test( name = "unit_test", - srcs = [":unit_test_lib"], + data = [":unit_test_lib_rjs"], ) diff --git a/modules/testing/builder/package.json b/modules/testing/builder/package.json new file mode 100644 index 000000000000..02d502f9dc8b --- /dev/null +++ b/modules/testing/builder/package.json @@ -0,0 +1,6 @@ +{ + "devDependencies": { + "@angular-devkit/core": "workspace:*", + "@angular-devkit/architect": "workspace:*" + } +} diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 50f6386f0e3f..af2310136d6c 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -196,7 +196,7 @@ ts_project( "//packages/angular/build:build_rjs", "//packages/angular/build/private:private_rjs", "//packages/angular/ssr:ssr_rjs", - "//packages/angular_devkit/architect", + "//packages/angular_devkit/architect:architect_rjs", "//packages/angular_devkit/build_webpack:build_webpack_rjs", "//packages/angular_devkit/core:core_rjs", "//packages/angular_devkit/core/node:node_rjs", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82b9f2fb979d..a101e7ba6b76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -526,6 +526,15 @@ importers: puppeteer: built: true + modules/testing/builder: + devDependencies: + '@angular-devkit/architect': + specifier: workspace:* + version: link:../../../packages/angular_devkit/architect + '@angular-devkit/core': + specifier: workspace:* + version: link:../../../packages/angular_devkit/core + packages/angular/cli: dependencies: '@angular-devkit/architect': diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 50f47e27399f..6534e928230c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -11,3 +11,4 @@ packages: - packages/angular/ssr - packages/schematics/angular - packages/ngtools/webpack + - modules/testing/builder