From 539336e01a8bbf54b0e44bdc589ac5b6f4324e71 Mon Sep 17 00:00:00 2001
From: Paul Gschwendtner <paulgschwendtner@gmail.com>
Date: Tue, 28 Jan 2025 15:15:59 +0000
Subject: [PATCH] build: migrate remaining `@angular/ssr` tests to `rules_js`

Migrates the remaining `@angular/ssr` tests to `rules_js`.
---
 .../npm_translate_lock_MzA5NzUwNzMx            |  4 ++--
 packages/angular/ssr/BUILD.bazel               |  3 +++
 packages/angular/ssr/node/test/BUILD.bazel     |  7 +++----
 packages/angular/ssr/package.json              |  4 +++-
 packages/angular/ssr/schematics/BUILD.bazel    | 18 +++++++-----------
 .../angular/ssr/test/npm_package/BUILD.bazel   |  7 +++----
 pnpm-lock.yaml                                 |  6 ++++++
 7 files changed, 27 insertions(+), 22 deletions(-)

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 510c9ddf6194..b6badf6a9f08 100755
--- a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx
+++ b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx
@@ -7,7 +7,7 @@ package.json=-744581142
 packages/angular/build/package.json=1783072863
 packages/angular/cli/package.json=1301682969
 packages/angular/pwa/package.json=1108903917
-packages/angular/ssr/package.json=1104313629
+packages/angular/ssr/package.json=362039201
 packages/angular_devkit/architect/package.json=-1496633956
 packages/angular_devkit/architect_cli/package.json=1551210941
 packages/angular_devkit/build_angular/package.json=-1206066740
@@ -17,6 +17,6 @@ packages/angular_devkit/schematics/package.json=673943597
 packages/angular_devkit/schematics_cli/package.json=-169616762
 packages/ngtools/webpack/package.json=1463215526
 packages/schematics/angular/package.json=251715148
-pnpm-lock.yaml=1844603164
+pnpm-lock.yaml=-1995042738
 pnpm-workspace.yaml=-1056556036
 yarn.lock=346921654
diff --git a/packages/angular/ssr/BUILD.bazel b/packages/angular/ssr/BUILD.bazel
index cfdc8de4961f..8da17a526f08 100644
--- a/packages/angular/ssr/BUILD.bazel
+++ b/packages/angular/ssr/BUILD.bazel
@@ -1,11 +1,14 @@
 load("@aspect_rules_js//npm:defs.bzl", "npm_package")
 load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package")
+load("@npm2//:defs.bzl", "npm_link_all_packages")
 load("@rules_pkg//:pkg.bzl", "pkg_tar")
 load("//tools:defaults.bzl", "ng_package")
 load("//tools:defaults2.bzl", "ts_project")
 
 package(default_visibility = ["//visibility:public"])
 
+npm_link_all_packages()
+
 ts_project(
     name = "ssr",
     srcs = glob(
diff --git a/packages/angular/ssr/node/test/BUILD.bazel b/packages/angular/ssr/node/test/BUILD.bazel
index 2154a5f22127..f9773680c3e4 100644
--- a/packages/angular/ssr/node/test/BUILD.bazel
+++ b/packages/angular/ssr/node/test/BUILD.bazel
@@ -1,6 +1,5 @@
 load("@npm//@angular/build-tooling/bazel/spec-bundling:index.bzl", "spec_bundle")
-load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
-load("//tools:interop.bzl", "ts_project")
+load("//tools:defaults2.bzl", "jasmine_test", "ts_project")
 
 ts_project(
     name = "unit_test_lib",
@@ -22,9 +21,9 @@ spec_bundle(
     ],
 )
 
-jasmine_node_test(
+jasmine_test(
     name = "test",
-    deps = [
+    data = [
         ":esm_tests_bundled",
     ],
 )
diff --git a/packages/angular/ssr/package.json b/packages/angular/ssr/package.json
index 68071e9de1be..a07c351b3bc8 100644
--- a/packages/angular/ssr/package.json
+++ b/packages/angular/ssr/package.json
@@ -28,13 +28,15 @@
     }
   },
   "devDependencies": {
+    "@angular-devkit/schematics": "workspace:*",
     "@angular/common": "19.2.0-next.0",
     "@angular/compiler": "19.2.0-next.0",
     "@angular/core": "19.2.0-next.0",
     "@angular/platform-browser": "19.2.0-next.0",
     "@angular/platform-server": "19.2.0-next.0",
     "@angular/router": "19.2.0-next.0",
-    "@bazel/runfiles": "^6.0.0"
+    "@bazel/runfiles": "^6.0.0",
+    "@schematics/angular": "workspace:*"
   },
   "sideEffects": false,
   "schematics": "./schematics/collection.json",
diff --git a/packages/angular/ssr/schematics/BUILD.bazel b/packages/angular/ssr/schematics/BUILD.bazel
index 4d65b563351f..6f16fa4f933b 100644
--- a/packages/angular/ssr/schematics/BUILD.bazel
+++ b/packages/angular/ssr/schematics/BUILD.bazel
@@ -3,9 +3,8 @@
 # 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("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
 load("//tools:defaults.bzl", "pkg_npm")
-load("//tools:interop.bzl", "ts_project")
+load("//tools:defaults2.bzl", "jasmine_test", "ts_project")
 load("//tools:ts_json_schema.bzl", "ts_json_schema")
 
 licenses(["notice"])
@@ -61,8 +60,8 @@ ts_project(
     data = [":schematics_assets"],
     module_name = "@angular/ssr/schematics",
     deps = [
-        "//packages/angular_devkit/schematics:schematics_rjs",
-        "//packages/schematics/angular:angular_rjs",
+        "//packages/angular/ssr:node_modules/@angular-devkit/schematics",
+        "//packages/angular/ssr:node_modules/@schematics/angular",
     ],
 )
 
@@ -80,17 +79,14 @@ ts_project(
     ),
     deps = [
         ":schematics_rjs",
-        "//packages/angular_devkit/schematics/testing:testing_rjs",
+        "//packages/angular/ssr:node_modules/@angular-devkit/schematics",
     ],
 )
 
-jasmine_node_test(
+jasmine_test(
     name = "ssr_schematics_test",
-    srcs = [":ssr_schematics_test_lib"],
-    deps = [
-        "@npm//jasmine",
-        "@npm//source-map",
-        "@npm//typescript",
+    data = [
+        ":ssr_schematics_test_lib_rjs",
     ],
 )
 
diff --git a/packages/angular/ssr/test/npm_package/BUILD.bazel b/packages/angular/ssr/test/npm_package/BUILD.bazel
index 1d70ce85370e..70a8ad676b2a 100644
--- a/packages/angular/ssr/test/npm_package/BUILD.bazel
+++ b/packages/angular/ssr/test/npm_package/BUILD.bazel
@@ -1,7 +1,6 @@
 load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
 load("@bazel_skylib//rules:write_file.bzl", "write_file")
-load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
-load("//tools:interop.bzl", "ts_project")
+load("//tools:defaults2.bzl", "jasmine_test", "ts_project")
 
 ts_project(
     name = "unit_test_lib",
@@ -12,10 +11,10 @@ ts_project(
     ],
 )
 
-jasmine_node_test(
+jasmine_test(
     name = "test",
-    srcs = [":unit_test_lib"],
     data = [
+        "unit_test_lib_rjs",
         "//packages/angular/ssr:npm_package",
     ],
 )
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d9d9e603926f..6f322cb1d690 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -705,6 +705,9 @@ importers:
         specifier: ^2.3.0
         version: 2.8.1
     devDependencies:
+      '@angular-devkit/schematics':
+        specifier: workspace:*
+        version: link:../../angular_devkit/schematics
       '@angular/common':
         specifier: 19.2.0-next.0
         version: 19.2.0-next.0(@angular/core@19.2.0-next.0)(rxjs@7.8.1)
@@ -726,6 +729,9 @@ importers:
       '@bazel/runfiles':
         specifier: ^6.0.0
         version: 6.3.1
+      '@schematics/angular':
+        specifier: workspace:*
+        version: link:../../schematics/angular
 
   packages/angular_devkit/architect:
     dependencies: