mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
build: add jasmine_test macro for replacing jasmine_node_test legacy rule (#61902)
This commit introduces the new `jasmine_test` macro that can be an "almost" drop-in replacement for `jasmine_test`. PR Close #61902
This commit is contained in:
parent
df0b8d45da
commit
08b543e2f6
2 changed files with 36 additions and 22 deletions
34
tools/bazel/jasmine_test.bzl
Normal file
34
tools/bazel/jasmine_test.bzl
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
load("@aspect_rules_jasmine//jasmine:defs.bzl", _jasmine_test = "jasmine_test")
|
||||
|
||||
def jasmine_test(name, data = [], setup_node_bootstrap = False, **kwargs):
|
||||
# Create relative path to root, from current package dir. Necessary as
|
||||
# we change the `chdir` below to the package directory.
|
||||
relative_to_root = "/".join([".."] * len(native.package_name().split("/")))
|
||||
|
||||
extra_data = []
|
||||
fixed_args = []
|
||||
|
||||
if setup_node_bootstrap:
|
||||
extra_data.append("//tools/testing:node_rjs")
|
||||
fixed_args.append("--require=%s/tools/testing/node_tests.init.mjs" % relative_to_root)
|
||||
|
||||
_jasmine_test(
|
||||
name = name,
|
||||
node_modules = "//:node_modules",
|
||||
chdir = native.package_name(),
|
||||
fixed_args = [
|
||||
"--require=%s/node_modules/source-map-support/register.js" % relative_to_root,
|
||||
# Escape so that the `js_binary` launcher triggers Bash expansion.
|
||||
"'**/*+(.|_)spec.js'",
|
||||
"'**/*+(.|_)spec.mjs'",
|
||||
"'**/*+(.|_)spec.cjs'",
|
||||
] + fixed_args,
|
||||
data = extra_data + data + [
|
||||
"//packages:package_json",
|
||||
"//packages:tsconfig_build",
|
||||
"//tools/bazel/node_loader",
|
||||
"//:node_modules/source-map-support",
|
||||
],
|
||||
node_options = ["--import", "%s/tools/bazel/node_loader/index.mjs" % relative_to_root],
|
||||
**kwargs
|
||||
)
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
load("@aspect_rules_jasmine//jasmine:defs.bzl", _jasmine_test = "jasmine_test")
|
||||
load("@aspect_rules_js//npm:defs.bzl", _npm_package = "npm_package")
|
||||
load("@aspect_rules_ts//ts:defs.bzl", _ts_config = "ts_config")
|
||||
load("@rules_angular//src/ng_project:index.bzl", _ng_project = "ng_project")
|
||||
load("//tools/bazel:jasmine_test.bzl", _jasmine_test = "jasmine_test")
|
||||
load("//tools/bazel:module_name.bzl", "compute_module_name")
|
||||
load("//tools/bazel:ng_package.bzl", _ng_package = "ng_package")
|
||||
load("//tools/bazel:ts_project_interop.bzl", _ts_project = "ts_project")
|
||||
|
|
@ -9,6 +9,7 @@ load("//tools/bazel:ts_project_interop.bzl", _ts_project = "ts_project")
|
|||
npm_package = _npm_package
|
||||
ts_config = _ts_config
|
||||
ng_package = _ng_package
|
||||
jasmine_test = _jasmine_test
|
||||
|
||||
def _determine_tsconfig(testonly):
|
||||
if native.package_name().startswith("packages/compiler-cli"):
|
||||
|
|
@ -86,24 +87,3 @@ def ng_project(
|
|||
tsconfig = tsconfig,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
def jasmine_test(name, data = [], args = [], **kwargs):
|
||||
# Create relative path to root, from current package dir. Necessary as
|
||||
# we change the `chdir` below to the package directory.
|
||||
relative_to_root = "/".join([".."] * len(native.package_name().split("/")))
|
||||
|
||||
_jasmine_test(
|
||||
name = name,
|
||||
node_modules = "//:node_modules",
|
||||
chdir = native.package_name(),
|
||||
fixed_args = [
|
||||
"--require=%s/node_modules/source-map-support/register.js" % relative_to_root,
|
||||
"**/*spec.js",
|
||||
"**/*spec.mjs",
|
||||
"**/*spec.cjs",
|
||||
] + args,
|
||||
data = data + [
|
||||
"//:node_modules/source-map-support",
|
||||
],
|
||||
**kwargs
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue