Skip to content

Commit

Permalink
Upgrade to rules_js 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
hjellek committed May 15, 2024
1 parent 96a7f54 commit b282cd9
Show file tree
Hide file tree
Showing 16 changed files with 110 additions and 77 deletions.
9 changes: 4 additions & 5 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ module(
compatibility_level = 1,
)

bazel_dep(name = "aspect_bazel_lib", version = "1.32.1")
bazel_dep(name = "aspect_rules_js", version = "1.29.2")
bazel_dep(name = "bazel_skylib", version = "1.4.1")
bazel_dep(name = "rules_nodejs", version = "5.8.2")
bazel_dep(name = "bazel_features", version = "1.9.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.7.3")
bazel_dep(name = "aspect_rules_js", version = "2.0.0-alpha.6")
bazel_dep(name = "bazel_skylib", version = "1.5.0")
bazel_dep(name = "rules_nodejs", version = "6.1.0")

bazel_dep(name = "gazelle", version = "0.29.0", dev_dependency = True, repo_name = "bazel_gazelle")
bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.4.1", dev_dependency = True)
Expand Down
13 changes: 3 additions & 10 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,9 @@ load("//vitest:dependencies.bzl", "rules_vitest_dependencies")
# Fetch dependencies which users need as well
rules_vitest_dependencies()

load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")

aspect_bazel_lib_dependencies(override_local_config_platform = True)

load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")

nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)

# For running our own unit tests
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
Expand Down Expand Up @@ -48,7 +41,7 @@ local_repository(
############################################
# Example npm dependencies

load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")

npm_translate_lock(
name = "npm",
Expand Down
9 changes: 3 additions & 6 deletions e2e/case4/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@ load("@fremtind_rules_vitest//vitest:dependencies.bzl", "rules_vitest_dependenci

rules_vitest_dependencies()

load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")

nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)

load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")

npm_translate_lock(
name = "npm",
Expand Down
6 changes: 3 additions & 3 deletions e2e/npm_packages/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"Bazel dependencies"

bazel_dep(name = "aspect_bazel_lib", version = "1.32.1", dev_dependency = True)
bazel_dep(name = "fremtind_rules_vitest", version = "0.0.0", dev_dependency = True)
bazel_dep(name = "aspect_rules_js", version = "1.29.2", dev_dependency = True)

local_path_override(
module_name = "fremtind_rules_vitest",
path = "../..",
)

bazel_dep(name = "aspect_bazel_lib", version = "2.7.3", dev_dependency = True)
bazel_dep(name = "aspect_rules_js", version = "2.0.0-alpha.6", dev_dependency = True)

npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
Expand Down
14 changes: 3 additions & 11 deletions e2e/npm_packages/WORKSPACE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,11 @@ load("@fremtind_rules_vitest//vitest:dependencies.bzl", "rules_vitest_dependenci

rules_vitest_dependencies()

# Register a nodejs toolchain, if you haven't already done so.
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")

nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)

load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")

rules_js_dependencies()
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)

load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")

npm_translate_lock(
name = "npm",
Expand Down
14 changes: 7 additions & 7 deletions e2e/npm_packages/packages/lib/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ npm_link_all_packages(name = "node_modules")

# Basic js with 1 npm dep
js_library(
name = "lib_jslib",
name = "lib",
srcs = ["index.js"],
deps = [
":node_modules/@aspect-test/a",
Expand All @@ -16,20 +16,20 @@ js_library(

# Basic npm package wrapping the js
npm_package(
name = "lib",
name = "pkg",
srcs = [
"package.json",
":lib_jslib",
":lib",
],
visibility = ["//visibility:public"],
)

# Library of tests
js_library(
name = "lib_tests",
name = "test_lib",
srcs = glob(["*.spec.js"]),
deps = [
":lib_jslib",
":lib",
":node_modules/uvu",
],
)
Expand All @@ -39,7 +39,7 @@ vitest_test(
name = "test_cjs",
config = "//:vitest_config",
data = [
":lib_tests",
":test_lib",
],
node_modules = "//:node_modules",
)
Expand All @@ -49,7 +49,7 @@ vitest_test(
config = "//:vitest_config",
data = [
"package.json", # required for vitest to determine this package .js is esm
":lib_tests",
":test_lib",
],
node_modules = "//:node_modules",
node_options = [
Expand Down
8 changes: 4 additions & 4 deletions e2e/smoke/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"Bazel dependencies"

bazel_dep(name = "fremtind_rules_vitest", version = "0.0.0", dev_dependency = True)
bazel_dep(name = "aspect_rules_js", version = "1.29.2", dev_dependency = True)

bazel_dep(name = "platforms", version = "0.0.4")

local_path_override(
module_name = "fremtind_rules_vitest",
path = "../..",
)

bazel_dep(name = "aspect_bazel_lib", version = "2.7.3", dev_dependency = True)
bazel_dep(name = "aspect_rules_js", version = "2.0.0-alpha.6", dev_dependency = True)
bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True)

npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
Expand Down
9 changes: 3 additions & 6 deletions e2e/smoke/WORKSPACE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,11 @@ load("@fremtind_rules_vitest//vitest:dependencies.bzl", "rules_vitest_dependenci

rules_vitest_dependencies()

load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")

nodejs_register_toolchains(
name = "nodejs",
node_version = DEFAULT_NODE_VERSION,
)
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)

load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")

npm_translate_lock(
name = "npm",
Expand Down
19 changes: 13 additions & 6 deletions e2e/swc/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
"Bazel dependencies"

bazel_dep(name = "fremtind_rules_vitest", version = "0.0.0", dev_dependency = True)

bazel_dep(name = "aspect_bazel_lib", version = "1.32.1")
bazel_dep(name = "aspect_rules_js", version = "1.29.2")
bazel_dep(name = "aspect_rules_swc", version = "1.2.2")
bazel_dep(name = "platforms", version = "0.0.4")

local_path_override(
module_name = "fremtind_rules_vitest",
path = "../..",
)

bazel_dep(name = "aspect_bazel_lib", version = "2.7.3", dev_dependency = True)
bazel_dep(name = "aspect_rules_js", version = "2.0.0-alpha.6", dev_dependency = True)
bazel_dep(name = "aspect_rules_swc", version = "1.2.2", dev_dependency = True)
bazel_dep(name = "platforms", version = "0.0.9", dev_dependency = True)

# TODO: FIX
archive_override(
module_name = "aspect_rules_swc",
integrity = "sha256-+BUkMlB7mYzuSBEuVWLM08zlh8BXnwsKSlgkBqFjF7Q=",
strip_prefix = "rules_swc-3843ada2222c537e3c1982dec16b8d3d62a9da49",
urls = ["https://github.com/aspect-build/rules_swc/archive/3843ada2222c537e3c1982dec16b8d3d62a9da49/3843ada2222c537e3c1982dec16b8d3d62a9da49.tar.gz"],
)

npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
Expand Down
46 changes: 46 additions & 0 deletions e2e/swc/WORKSPACE
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
local_repository(
name = "fremtind_rules_vitest",
path = "../..",
)

load("@fremtind_rules_vitest//vitest:dependencies.bzl", "rules_vitest_dependencies")

rules_vitest_dependencies()

load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")

rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)

load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")

npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)

load("@npm//:repositories.bzl", "npm_repositories")

npm_repositories()

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# TODO: FIX
http_archive(
name = "aspect_rules_swc",
integrity = "sha256-+BUkMlB7mYzuSBEuVWLM08zlh8BXnwsKSlgkBqFjF7Q=",
strip_prefix = "rules_swc-3843ada2222c537e3c1982dec16b8d3d62a9da49",
url = "https://github.com/aspect-build/rules_swc/archive/3843ada2222c537e3c1982dec16b8d3d62a9da49/3843ada2222c537e3c1982dec16b8d3d62a9da49.tar.gz",
)

load("@aspect_rules_swc//swc:dependencies.bzl", "rules_swc_dependencies")

rules_swc_dependencies()

load("@aspect_rules_swc//swc:repositories.bzl", "LATEST_SWC_VERSION", "swc_register_toolchains")

swc_register_toolchains(
name = "swc",
swc_version = LATEST_SWC_VERSION,
)
1 change: 1 addition & 0 deletions example/custom_snapshot_resolver/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ vitest_test(
"link.test.jsx",
"snapshot_resolver.mjs",
"//:node_modules/react",
"//example:node_modules/@vitejs/plugin-react",
"//example:node_modules/react-test-renderer",
],
node_modules = "//:node_modules",
Expand Down
1 change: 1 addition & 0 deletions example/custom_snapshot_resolver_files/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ vitest_test(
"link.test.jsx",
"snapshot_resolver.mjs",
"//:node_modules/react",
"//example:node_modules/@vitejs/plugin-react",
"//example:node_modules/react-test-renderer",
],
node_modules = "//:node_modules",
Expand Down
1 change: 1 addition & 0 deletions example/multiple_snapshots/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ vitest_test(
":lib",
":tests",
"//:node_modules/react",
"//example:node_modules/@vitejs/plugin-react",
],
node_modules = "//:node_modules",
# To update snapshots run,
Expand Down
6 changes: 1 addition & 5 deletions vitest/defs.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,7 @@ def _vitest_from_node_modules(vitest_rule, name, node_modules, auto_configure_re
auto_configure_reporters = auto_configure_reporters,
name = name,
enable_runfiles = select({
"@aspect_rules_js//js/private:enable_runfiles": True,
"//conditions:default": False,
}),
unresolved_symlinks_enabled = select({
"@aspect_rules_js//js/private:experimental_allow_unresolved_symlinks": True,
"@aspect_bazel_lib//lib:enable_runfiles": True,
"//conditions:default": False,
}),
data = data,
Expand Down
21 changes: 11 additions & 10 deletions vitest/dependencies.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,27 @@ load("//vitest/private:maybe.bzl", http_archive = "maybe_http_archive")
def rules_vitest_dependencies():
http_archive(
name = "bazel_skylib",
sha256 = "b8a1527901774180afc798aeb28c4634bdccf19c4d98e7bdd1ce79d1fe9aaad7",
urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz"],
sha256 = "cd55a062e763b9349921f0f5db8c3933288dc8ba4f76dd9416aac68acee3cb94",
urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz"],
)

http_archive(
name = "aspect_bazel_lib",
sha256 = "e3151d87910f69cf1fc88755392d7c878034a69d6499b287bcfc00b1cf9bb415",
strip_prefix = "bazel-lib-1.32.1",
url = "https://github.com/aspect-build/bazel-lib/releases/download/v1.32.1/bazel-lib-v1.32.1.tar.gz",
sha256 = "87ab4ec479ebeb00d286266aca2068caeef1bb0b1765e8f71c7b6cfee6af4226",
strip_prefix = "bazel-lib-2.7.3",
url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.7.3/bazel-lib-v2.7.3.tar.gz",
)

http_archive(
name = "aspect_rules_js",
sha256 = "7cb2d84b7d5220194627c9a0267ae599e357350e75ea4f28f337a25ca6219b83",
strip_prefix = "rules_js-1.29.2",
url = "https://github.com/aspect-build/rules_js/releases/download/v1.29.2/rules_js-v1.29.2.tar.gz",
sha256 = "03d9e0c1da0ee9dd8ff52ba0f6ee5d173848c00ef4c85ec558aad0a9cf56ac46",
strip_prefix = "rules_js-2.0.0-alpha.6",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.0-alpha.6/rules_js-v2.0.0-alpha.6.tar.gz",
)

http_archive(
name = "rules_nodejs",
sha256 = "764a3b3757bb8c3c6a02ba3344731a3d71e558220adcb0cf7e43c9bba2c37ba8",
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.2/rules_nodejs-core-5.8.2.tar.gz"],
sha256 = "dddd60acc3f2f30359bef502c9d788f67e33814b0ddd99aa27c5a15eb7a41b8c",
strip_prefix = "rules_nodejs-6.1.0",
url = "https://github.com/bazelbuild/rules_nodejs/releases/download/v6.1.0/rules_nodejs-v6.1.0.tar.gz",
)
10 changes: 6 additions & 4 deletions vitest/private/vitest_test.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,13 @@ def _impl(ctx):

runfiles = ctx.runfiles(
files = files,
transitive_files = js_lib_helpers.gather_files_from_js_providers(
targets = ctx.attr.data + [ctx.attr.config] if ctx.attr.config else [],
transitive_files = js_lib_helpers.gather_files_from_js_infos(
targets = ctx.attr.data + [ctx.attr.config] if ctx.attr.config else ctx.attr.data,
include_sources = ctx.attr.include_sources,
include_types = ctx.attr.include_types,
include_transitive_sources = ctx.attr.include_transitive_sources,
include_declarations = ctx.attr.include_declarations,
include_npm_linked_packages = ctx.attr.include_npm_linked_packages,
include_transitive_types = ctx.attr.include_transitive_types,
include_npm_sources = ctx.attr.include_npm_sources,
),
).merge(launcher.runfiles).merge_all([
target[DefaultInfo].default_runfiles
Expand Down

0 comments on commit b282cd9

Please sign in to comment.