v2.4.0
Many companies are successfully building with rules_js.
If you're getting value from the project, please let us know!
Just comment on our Adoption Discussion.
Using Bzlmod with Bazel 6:
Add to your MODULE.bazel
file:
bazel_dep(name = "aspect_rules_js", version = "2.4.0")
####### Node.js version #########
# By default you get the node version from DEFAULT_NODE_VERSION in @rules_nodejs//nodejs:repositories.bzl
# Optionally you can pin a different node version:
bazel_dep(name = "rules_nodejs", version = "6.3.0")
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node", dev_dependency = True)
node.toolchain(node_version = "16.14.2")
#################################
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm", dev_dependency = True)
npm.npm_translate_lock(
name = "npm",
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "npm")
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
# Allows developers to use the matching pnpm version, for example:
# bazel run -- @pnpm --dir /home/runner/work/rules_js/rules_js install
use_repo(pnpm, "pnpm")
Using WORKSPACE
Paste this snippet into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "961393890a58de989ad7aa36ce147fc9b15a77c8144454889bf068bdd12c5165",
strip_prefix = "rules_js-2.4.0",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.4.0/rules_js-v2.4.0.tar.gz",
)
load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")
rules_js_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()
What's Changed
- add data runfiles to js_run_devserver sandbox by @janantharaj in #2241
- fix(deps): update dependency @pnpm/logger to v5.2.0 by @renovate[bot] in #1955
- docs: remove reference to WORKSPACE in README instructions by @jbedard in #2247
- ci: remove x86_64_linux_remote platform config by @jbedard in #2248
- Changes by create-pull-request action by @github-actions[bot] in #2249
- fix(js_run_devserver): delete full sandbox directory on exit by @jbedard in #2250
- feat: support pnpm v10 by @jbedard in #2101
- perf: avoid extra js_run_devserver regex mem allocation by @jbedard in #2254
- feat: add experimental incremental watch protocol support by @jbedard in #2230
- perf: avoid use of .to_list() in js_run_devserver data files list by @jbedard in #2255
- Changes by create-pull-request action by @github-actions[bot] in #2251
- perf: determine js_run_devserver file vs directory in rule by @jbedard in #2256
- perf: reduce memory allocation in fs patches by @jbedard in #2252
- refactor: add bazel_ibp_support tag to js_run_devserver by @jbedard in #2259
- perf: js_run_devserver by @jbedard in #2257
- perf: use native mkdirSync recursive:true in js_run_devserver by @jbedard in #2264
- Changes by create-pull-request action by @github-actions[bot] in #2268
- fix: add console log when removing js_run_devserver sandbox by @jbedard in #2269
- Update helper message when ASPECT_RULES_JS_FROZEN_PNPM_LOCK=true by @Wito-1 in #2266
- fix: correct early exit from _parse_lockfile by @lukaszwawrzyk in #2270
- fix: do not require
_lcov_merger
under coverage by @gzm0 in #2273 - perf: reduce js_run_devserver cycle event parsing memory usage by @jbedard in #2274
- refactor: js_run_devserver file deletions based on watch protocol by @jbedard in #2271
New Contributors
- @janantharaj made their first contribution in #2241
- @Wito-1 made their first contribution in #2266
- @lukaszwawrzyk made their first contribution in #2270
Full Changelog: v2.3.8...v2.4.0