aspect-build/rules_js (aspect_rules_js)
### [`v2.1.1`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.1.1)
[Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.1.0...v2.1.1)
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](https://redirect.github.com/aspect-build/rules_js/discussions/1000).
#### Using Bzlmod with Bazel 6:
Add to your `MODULE.bazel` file:
```starlark
bazel_dep(name = "aspect_rules_js", version = "2.1.1")
####### 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:
```starlark
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "3388abe9b9728ef68ea8d8301f932b11b2c9a271d74741ddd5f3b34d1db843ac",
strip_prefix = "rules_js-2.1.1",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.1.1/rules_js-v2.1.1.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
- chore: fix workspace js image tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1970](https://redirect.github.com/aspect-build/rules_js/pull/1970)
- docs: rules_js 2.x migration guide moved to docsite by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1975](https://redirect.github.com/aspect-build/rules_js/pull/1975)
- chore: update refs to bazel-lib which moved to bazel-contrib by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1976](https://redirect.github.com/aspect-build/rules_js/pull/1976)
- fix(npm): support patches, lifecycle hooks for non-directory file: packages by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1980](https://redirect.github.com/aspect-build/rules_js/pull/1980)
- build: disable aspect_bazelrc_presets tests in non-bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1982](https://redirect.github.com/aspect-build/rules_js/pull/1982)
- fix(npm): package file: versions not relative to the workspace root by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1981](https://redirect.github.com/aspect-build/rules_js/pull/1981)
- fix: upgrade bazel-lib to include run_binary param parsing fix by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1987](https://redirect.github.com/aspect-build/rules_js/pull/1987)
- build: do not run e2e/runfiles on non-bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1986](https://redirect.github.com/aspect-build/rules_js/pull/1986)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1990](https://redirect.github.com/aspect-build/rules_js/pull/1990)
- chore: enable bazel6 ci tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1988](https://redirect.github.com/aspect-build/rules_js/pull/1988)
- chore: upgrade bazel to v7.3.2 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1969](https://redirect.github.com/aspect-build/rules_js/pull/1969)
- refactor(npm): replace truthy value in set with True by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1992](https://redirect.github.com/aspect-build/rules_js/pull/1992)
- build: only run bazel 6 unit tests with bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1994](https://redirect.github.com/aspect-build/rules_js/pull/1994)
- docs(js_run_devserver): add note about ibazel issue 100 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2000](https://redirect.github.com/aspect-build/rules_js/pull/2000)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/2003](https://redirect.github.com/aspect-build/rules_js/pull/2003)
- perf(npm): reduce use of .keys() for has-entry check by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2006](https://redirect.github.com/aspect-build/rules_js/pull/2006)
- chore(deps): update dependency bazel to v7.4.0 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1939](https://redirect.github.com/aspect-build/rules_js/pull/1939)
- fix(js_run_devserver): ensure files are synced before waiting for next build event by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1999](https://redirect.github.com/aspect-build/rules_js/pull/1999)
- fix(npm): add missing patch copy action key by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2008](https://redirect.github.com/aspect-build/rules_js/pull/2008)
- refactor(npm): add validation of parsed pnpm-lock data by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1979](https://redirect.github.com/aspect-build/rules_js/pull/1979)
- chore: update ci to bazel 7.4 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2010](https://redirect.github.com/aspect-build/rules_js/pull/2010)
- docs: document exclude_types_from_npm_packages as deprecated by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2014](https://redirect.github.com/aspect-build/rules_js/pull/2014)
- fix: include repo mapping in the sources by [@thesayyn](https://redirect.github.com/thesayyn) in [https://github.com/aspect-build/rules_js/pull/2011](https://redirect.github.com/aspect-build/rules_js/pull/2011)
- perf(js_run_devserver): run fs delete operations in parallel by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2001](https://redirect.github.com/aspect-build/rules_js/pull/2001)
- docs: update troubleshooting reference by [@emmanuel-ferdman](https://redirect.github.com/emmanuel-ferdman) in [https://github.com/aspect-build/rules_js/pull/2016](https://redirect.github.com/aspect-build/rules_js/pull/2016)
- chore: fix broken link by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/2022](https://redirect.github.com/aspect-build/rules_js/pull/2022)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/2018](https://redirect.github.com/aspect-build/rules_js/pull/2018)
#### New Contributors
- [@emmanuel-ferdman](https://redirect.github.com/emmanuel-ferdman) made their first contribution in [https://github.com/aspect-build/rules_js/pull/2016](https://redirect.github.com/aspect-build/rules_js/pull/2016)
**Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.1.0...v2.1.1
### [`v2.1.0`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.1.0)
[Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.2...v2.1.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](https://redirect.github.com/aspect-build/rules_js/discussions/1000).
#### Using Bzlmod with Bazel 6:
Add to your `MODULE.bazel` file:
```starlark
bazel_dep(name = "aspect_rules_js", version = "2.1.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:
```starlark
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "75c25a0f15a9e4592bbda45b57aa089e4bf17f9176fd735351e8c6444df87b52",
strip_prefix = "rules_js-2.1.0",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.1.0/rules_js-v2.1.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
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1922](https://redirect.github.com/aspect-build/rules_js/pull/1922)
- chore(deps): update webfactory/ssh-agent action to v0.9.0 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1634](https://redirect.github.com/aspect-build/rules_js/pull/1634)
- Add support for `+` in canonical repo names by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1927](https://redirect.github.com/aspect-build/rules_js/pull/1927)
- docs: Clarify that $npm_package.publish requires publishable = True by [@fweikert](https://redirect.github.com/fweikert) in [https://github.com/aspect-build/rules_js/pull/1926](https://redirect.github.com/aspect-build/rules_js/pull/1926)
- chore(deps): update aspect by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1923](https://redirect.github.com/aspect-build/rules_js/pull/1923)
- chore: restore windows testing by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1920](https://redirect.github.com/aspect-build/rules_js/pull/1920)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1930](https://redirect.github.com/aspect-build/rules_js/pull/1930)
- chore: fix broken links by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1931](https://redirect.github.com/aspect-build/rules_js/pull/1931)
- chore: adopt conclusion job for stable status check by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1921](https://redirect.github.com/aspect-build/rules_js/pull/1921)
- test: add [@bazel/runfiles](https://redirect.github.com/bazel/runfiles) test by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1895](https://redirect.github.com/aspect-build/rules_js/pull/1895)
- chore(deps): update bazel by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1928](https://redirect.github.com/aspect-build/rules_js/pull/1928)
- chore(deps): update patch updates by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1937](https://redirect.github.com/aspect-build/rules_js/pull/1937)
- chore(deps): update [@types](https://redirect.github.com/types) by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1558](https://redirect.github.com/aspect-build/rules_js/pull/1558)
- chore(deps): update rollup by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1874](https://redirect.github.com/aspect-build/rules_js/pull/1874)
- chore(deps): update dependency bazel_skylib_gazelle_plugin to v1.7.1 - autoclosed by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1943](https://redirect.github.com/aspect-build/rules_js/pull/1943)
- chore(deps): update syncpack digest to [`805e36f`](https://redirect.github.com/aspect-build/rules_js/commit/805e36f) by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1829](https://redirect.github.com/aspect-build/rules_js/pull/1829)
- chore(deps): update dependency rollup to v3.29.5 \[security] by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1940](https://redirect.github.com/aspect-build/rules_js/pull/1940)
- chore(deps): update dependency gazelle to v0.39.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1945](https://redirect.github.com/aspect-build/rules_js/pull/1945)
- chore(deps): update dependency buildifier_prebuilt to v7 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1949](https://redirect.github.com/aspect-build/rules_js/pull/1949)
- chore(deps): update peter-evans/create-pull-request action to v7 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1950](https://redirect.github.com/aspect-build/rules_js/pull/1950)
- chore(deps): update dependency rules_go to v0.50.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1953](https://redirect.github.com/aspect-build/rules_js/pull/1953)
- chore(deps): update dependency stardoc to v0.7.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1954](https://redirect.github.com/aspect-build/rules_js/pull/1954)
- feat(pnpm): allow `latest` as version to get the latest version by [@gzm0](https://redirect.github.com/gzm0) in [https://github.com/aspect-build/rules_js/pull/1933](https://redirect.github.com/aspect-build/rules_js/pull/1933)
- chore: disable renovate for unit test projects by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1960](https://redirect.github.com/aspect-build/rules_js/pull/1960)
- chore(deps): update softprops/action-gh-release action to v2 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1951](https://redirect.github.com/aspect-build/rules_js/pull/1951)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1965](https://redirect.github.com/aspect-build/rules_js/pull/1965)
- ci: fix matrix job on GitHub Actions by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1967](https://redirect.github.com/aspect-build/rules_js/pull/1967)
- docs: merge gather_files_from_js_infos rename PRs in migration docs by [@gzm0](https://redirect.github.com/gzm0) in [https://github.com/aspect-build/rules_js/pull/1891](https://redirect.github.com/aspect-build/rules_js/pull/1891)
- chore: bump to Aspect CLI 2024.41.17 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1968](https://redirect.github.com/aspect-build/rules_js/pull/1968)
#### New Contributors
- [@fweikert](https://redirect.github.com/fweikert) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1926](https://redirect.github.com/aspect-build/rules_js/pull/1926)
**Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.2...v2.1.0
### [`v2.0.2`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.2)
[Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.1...v2.0.2)
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](https://redirect.github.com/aspect-build/rules_js/discussions/1000).
#### Using Bzlmod with Bazel 6:
Add to your `MODULE.bazel` file:
```starlark
bazel_dep(name = "aspect_rules_js", version = "2.0.2")
####### 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.2.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:
```starlark
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "91655ebd3178f979fcacd018f8f42aa9d3bc79c4fbddb7be9521971ec77e6aee",
strip_prefix = "rules_js-2.0.2",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.2/rules_js-v2.0.2.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
- perf(npm): use actions.run instead of actions.run_shell by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1905](https://redirect.github.com/aspect-build/rules_js/pull/1905)
- refactor(npm): improve pnpm.onlyBuiltDependencies error message by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1902](https://redirect.github.com/aspect-build/rules_js/pull/1902)
- chore: use aspect workflows RBE by [@kormide](https://redirect.github.com/kormide) in [https://github.com/aspect-build/rules_js/pull/1908](https://redirect.github.com/aspect-build/rules_js/pull/1908)
- chore: now testing on Aspect Workflows RBE by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1909](https://redirect.github.com/aspect-build/rules_js/pull/1909)
- perf: avoid large array concatenation by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1883](https://redirect.github.com/aspect-build/rules_js/pull/1883)
- doc: add callout for dependency on generate_bzl_library_targets by [@plobsing](https://redirect.github.com/plobsing) in [https://github.com/aspect-build/rules_js/pull/1911](https://redirect.github.com/aspect-build/rules_js/pull/1911)
- fix(npm): respect npm_package include_transitive_sources attribute by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1912](https://redirect.github.com/aspect-build/rules_js/pull/1912)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1906](https://redirect.github.com/aspect-build/rules_js/pull/1906)
- docs(pnpm): add note about pnpm vs bazel patching by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1916](https://redirect.github.com/aspect-build/rules_js/pull/1916)
#### New Contributors
- [@plobsing](https://redirect.github.com/plobsing) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1911](https://redirect.github.com/aspect-build/rules_js/pull/1911)
**Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.1...v2.0.2
### [`v2.0.1`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.1)
[Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.0...v2.0.1)
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](https://redirect.github.com/aspect-build/rules_js/discussions/1000).
#### Using Bzlmod with Bazel 6:
Add to your `MODULE.bazel` file:
```starlark
bazel_dep(name = "aspect_rules_js", version = "2.0.1")
####### 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.2.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:
```starlark
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "4cab6898f0ff8048e32640cce06a47aa4b92b2fb330d055940f95f24c8ebb868",
strip_prefix = "rules_js-2.0.1",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.1/rules_js-v2.0.1.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
- fix(docs): linkify PRs in rules_js2 migration guide by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1890](https://redirect.github.com/aspect-build/rules_js/pull/1890)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1892](https://redirect.github.com/aspect-build/rules_js/pull/1892)
- fix: fix permission denied failure on buildbarn RBE by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1894](https://redirect.github.com/aspect-build/rules_js/pull/1894)
- docs: add note about js_binary shell script by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1897](https://redirect.github.com/aspect-build/rules_js/pull/1897)
- fix: remove problematic chmod extract command in npm_package_store in favor of using a custom postinstall by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1904](https://redirect.github.com/aspect-build/rules_js/pull/1904)
**Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.0...v2.0.1
### [`v2.0.0`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.0)
[Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v1.42.3...v2.0.0)
This is our first semver-major release since 1.0 and has some breaking changes.
These are documented in the [rules_js 2.0 migration guide](https://redirect.github.com/aspect-build/rules_js/blob/main/docs/migrate\_2.md).
Note that you'll need to upgrade other rules that depend on rules_js at the same time.
There is a known issue with usage on Windows: [https://github.com/aspect-build/rules_js/issues/1739](https://redirect.github.com/aspect-build/rules_js/issues/1739)
If you use rules_js on Windows we'd love to know about it. Having active users justifies prioritizing the fix.
#### Using Bzlmod (recommended):
Add to your `MODULE.bazel` file:
```starlark
bazel_dep(name = "aspect_rules_js", version = "2.0.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.2.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:
```starlark
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_js",
sha256 = "6b7e73c35b97615a09281090da3645d9f03b2a09e8caa791377ad9022c88e2e6",
strip_prefix = "rules_js-2.0.0",
url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.0/rules_js-v2.0.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
- chore: update aspect.dev URL references to aspect.build by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1747](https://redirect.github.com/aspect-build/rules_js/pull/1747)
- chore: add pnpm versions 8.15.4 through 9.1.1 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1730](https://redirect.github.com/aspect-build/rules_js/pull/1730)
- test: generate fresh lockfile each time for pnpm lockfile test by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1750](https://redirect.github.com/aspect-build/rules_js/pull/1750)
- refactor: normalize pnpm lockfile data in parser by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1735](https://redirect.github.com/aspect-build/rules_js/pull/1735)
- Fix typo in onlyBuiltDependencies by [@surma](https://redirect.github.com/surma) in [https://github.com/aspect-build/rules_js/pull/1752](https://redirect.github.com/aspect-build/rules_js/pull/1752)
- chore: bump miminum dep to aspect_bazel_lib 2.7.6 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1755](https://redirect.github.com/aspect-build/rules_js/pull/1755)
- refactor: simplify handling of [#423](https://redirect.github.com/aspect-build/rules_js/issues/423), package aliases by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1757](https://redirect.github.com/aspect-build/rules_js/pull/1757)
- refactor: move npm_registry_url to utils by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1758](https://redirect.github.com/aspect-build/rules_js/pull/1758)
- refactor: do not include registry url in package keys by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1759](https://redirect.github.com/aspect-build/rules_js/pull/1759)
- feat: add include_npm_sources to npm_package by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1760](https://redirect.github.com/aspect-build/rules_js/pull/1760)
- docs: update section on "Exec failed due to IOException" by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1761](https://redirect.github.com/aspect-build/rules_js/pull/1761)
- fix: include package store directory in default output of npm_link_package_store by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1762](https://redirect.github.com/aspect-build/rules_js/pull/1762)
- chore: bump minimum aspect_bazel_lib to 2.7.7 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1763](https://redirect.github.com/aspect-build/rules_js/pull/1763)
- test: add lockfile test cases by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1764](https://redirect.github.com/aspect-build/rules_js/pull/1764)
- chore: automate pnpm version mirroring by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1766](https://redirect.github.com/aspect-build/rules_js/pull/1766)
- fix(pnpm): support pnpm9 URL, github version package versions by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1765](https://redirect.github.com/aspect-build/rules_js/pull/1765)
- fix(pnpm): support npm: alias dependencies with pnpm lockfile v5 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1767](https://redirect.github.com/aspect-build/rules_js/pull/1767)
- chore: bump to rules_oci 1.7.6 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1768](https://redirect.github.com/aspect-build/rules_js/pull/1768)
- refactor: sort generated npm_translate_lock store targets by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1769](https://redirect.github.com/aspect-build/rules_js/pull/1769)
- fix(pnpm): support npm: aliases to packages in alternate registries by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1770](https://redirect.github.com/aspect-build/rules_js/pull/1770)
- fix(pnpm): npm aliases to url specifiers by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1772](https://redirect.github.com/aspect-build/rules_js/pull/1772)
- test: add test cases for individual pnpm lockfile issues by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1773](https://redirect.github.com/aspect-build/rules_js/pull/1773)
- refactor(pnpm): remove .parse_pnpm_package_key util by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1774](https://redirect.github.com/aspect-build/rules_js/pull/1774)
- fix(pnpm): pnpm9 transitive npm: dependenies by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1775](https://redirect.github.com/aspect-build/rules_js/pull/1775)
- fix(pnpm): pnpm9 npm: dependencies with peers by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1776](https://redirect.github.com/aspect-build/rules_js/pull/1776)
- refactor: remote non-functional exclude_declarations_from_npm_packages alias by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1778](https://redirect.github.com/aspect-build/rules_js/pull/1778)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1771](https://redirect.github.com/aspect-build/rules_js/pull/1771)
- refactor(pnpm): move pnpm parsing logic to pnpm.bzl by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1777](https://redirect.github.com/aspect-build/rules_js/pull/1777)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1779](https://redirect.github.com/aspect-build/rules_js/pull/1779)
- fix: fix issue with bzlmod toolchain registration by bumping minimum rules_nodejs to 6.1.2 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1780](https://redirect.github.com/aspect-build/rules_js/pull/1780)
- chore: fixup pattern for try-import of user.bazelrc by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1789](https://redirect.github.com/aspect-build/rules_js/pull/1789)
- perf: do not put files_runfiles in files + transitive_files by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1782](https://redirect.github.com/aspect-build/rules_js/pull/1782)
- perf: avoid cloning data_files when not copy_data_files_to_bin by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1783](https://redirect.github.com/aspect-build/rules_js/pull/1783)
- perf: avoid large temp arrays, use single loop by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1784](https://redirect.github.com/aspect-build/rules_js/pull/1784)
- perf: avoid js_info param validation on default values by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1785](https://redirect.github.com/aspect-build/rules_js/pull/1785)
- chore: bump minimum rules_nodejs to 6.2.0 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1792](https://redirect.github.com/aspect-build/rules_js/pull/1792)
- chore: fixup load statement ordering in generated bzl by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1795](https://redirect.github.com/aspect-build/rules_js/pull/1795)
- fix: handle malformed npm packages gracefully in extract action by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1794](https://redirect.github.com/aspect-build/rules_js/pull/1794)
- perf: minimize cost of checking bazel version by [@dzbarsky](https://redirect.github.com/dzbarsky) in [https://github.com/aspect-build/rules_js/pull/1800](https://redirect.github.com/aspect-build/rules_js/pull/1800)
- perf: use string.elems for char iteration by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1802](https://redirect.github.com/aspect-build/rules_js/pull/1802)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1804](https://redirect.github.com/aspect-build/rules_js/pull/1804)
- \[perf] Optimize npm_package_store by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1801](https://redirect.github.com/aspect-build/rules_js/pull/1801)
- Optimize \_is_gnu_tar check by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1807](https://redirect.github.com/aspect-build/rules_js/pull/1807)
- refactor: remove optional empty depset direct by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1790](https://redirect.github.com/aspect-build/rules_js/pull/1790)
- perf: do not check JsInfo hasattr for always-set attributes by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1786](https://redirect.github.com/aspect-build/rules_js/pull/1786)
- perf: only validate deprecated js_info params when extra params specified by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1799](https://redirect.github.com/aspect-build/rules_js/pull/1799)
- refactor: sort lock translation action cache content by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1796](https://redirect.github.com/aspect-build/rules_js/pull/1796)
- perf: do not include sources,types when transitive_sources,type already included by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1803](https://redirect.github.com/aspect-build/rules_js/pull/1803)
- perf: reduce use of bazel_skylib paths.join by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1812](https://redirect.github.com/aspect-build/rules_js/pull/1812)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1809](https://redirect.github.com/aspect-build/rules_js/pull/1809)
- perf: do not double process lifecycle_hooks\* attributes in bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1805](https://redirect.github.com/aspect-build/rules_js/pull/1805)
- perf: change js_helpers gather_\* utils to accept list, not depset by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1787](https://redirect.github.com/aspect-build/rules_js/pull/1787)
- refactor: change npm_import(is_gnu_tar) to system_tar by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1811](https://redirect.github.com/aspect-build/rules_js/pull/1811)
- perf: Allow opting out of arg/env expansion by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1810](https://redirect.github.com/aspect-build/rules_js/pull/1810)
- test: npm: dependencies by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1815](https://redirect.github.com/aspect-build/rules_js/pull/1815)
- perf: remove unused template vars by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1819](https://redirect.github.com/aspect-build/rules_js/pull/1819)
- fix: use .cjs extension for fs patches by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1818](https://redirect.github.com/aspect-build/rules_js/pull/1818)
- fix(pnpm): npm: aliases to packages with peer deps by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1824](https://redirect.github.com/aspect-build/rules_js/pull/1824)
- refactor(pnpm): strip special characters from pkg labels by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1821](https://redirect.github.com/aspect-build/rules_js/pull/1821)
- refactor: remove unused peer_dependencies field by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1826](https://redirect.github.com/aspect-build/rules_js/pull/1826)
- perf: reduce string concatenation in lockfile parsing by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1817](https://redirect.github.com/aspect-build/rules_js/pull/1817)
- chore(deps): update aspect by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1631](https://redirect.github.com/aspect-build/rules_js/pull/1631)
- chore(deps): update bazel rulesets by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1633](https://redirect.github.com/aspect-build/rules_js/pull/1633)
- Revert "chore(deps): update bazel ([#1633](https://redirect.github.com/aspect-build/rules_js/issues/1633))" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1831](https://redirect.github.com/aspect-build/rules_js/pull/1831)
- Revert "chore(deps): update aspect rulesets ([#1631](https://redirect.github.com/aspect-build/rules_js/issues/1631))" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1833](https://redirect.github.com/aspect-build/rules_js/pull/1833)
- test: align pnpm_workspace\[\_rerooted] tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1832](https://redirect.github.com/aspect-build/rules_js/pull/1832)
- refactor: cleanup npm_package_store.bzl by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1834](https://redirect.github.com/aspect-build/rules_js/pull/1834)
- fix: transitive js_library npm package deps by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1836](https://redirect.github.com/aspect-build/rules_js/pull/1836)
- perf: reduce use of starlark .split by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1820](https://redirect.github.com/aspect-build/rules_js/pull/1820)
- chore: remove stray TODO by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1839](https://redirect.github.com/aspect-build/rules_js/pull/1839)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1841](https://redirect.github.com/aspect-build/rules_js/pull/1841)
- test(pnpm): normalize typescript version across lockfile version tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1845](https://redirect.github.com/aspect-build/rules_js/pull/1845)
- fix(pnpm): npm: aliases to self by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1846](https://redirect.github.com/aspect-build/rules_js/pull/1846)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1851](https://redirect.github.com/aspect-build/rules_js/pull/1851)
- test: consuming linked js_library vs npm_package by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1852](https://redirect.github.com/aspect-build/rules_js/pull/1852)
- test: strip system dependent system_tar attribute from repositories.bzl snapshot by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1856](https://redirect.github.com/aspect-build/rules_js/pull/1856)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1861](https://redirect.github.com/aspect-build/rules_js/pull/1861)
- test: add additional npm: dependency lockfile tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1854](https://redirect.github.com/aspect-build/rules_js/pull/1854)
- fix(npm): invalid export of package/resolved.json by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1855](https://redirect.github.com/aspect-build/rules_js/pull/1855)
- test(npm): add tests for odd package names by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1860](https://redirect.github.com/aspect-build/rules_js/pull/1860)
- test: include package.json files in npm_translate_lock(data) by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1853](https://redirect.github.com/aspect-build/rules_js/pull/1853)
- refactor(npm): change string template var from overused "name" to "pkg" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1867](https://redirect.github.com/aspect-build/rules_js/pull/1867)
- test: remove platform specific system_tar from test snapshots by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1866](https://redirect.github.com/aspect-build/rules_js/pull/1866)
- perf(npm): reduce package_name() calls by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1864](https://redirect.github.com/aspect-build/rules_js/pull/1864)
- perf(npm): reduce use of string.split by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1865](https://redirect.github.com/aspect-build/rules_js/pull/1865)
- fix(npm): expost package_json.bzl and resolved.json for each package alias by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1857](https://redirect.github.com/aspect-build/rules_js/pull/1857)
- refactor: remove pkg_glob api by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1862](https://redirect.github.com/aspect-build/rules_js/pull/1862)
- perf(npm): reduce array concatenation by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1859](https://redirect.github.com/aspect-build/rules_js/pull/1859)
- test(npm): add test using git+ssh protocol in version by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1868](https://redirect.github.com/aspect-build/rules_js/pull/1868)
- fix: do not put sources+types into NpmPackageStoreInfo.files by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1850](https://redirect.github.com/aspect-build/rules_js/pull/1850)
- fix(npm): npm_link_package() in subdirectory to js_library() package by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1871](https://redirect.github.com/aspect-build/rules_js/pull/1871)
- fix: handle js_library 1p deps correctly in js_run_devserver by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1872](https://redirect.github.com/aspect-build/rules_js/pull/1872)
- fix: delete old files & folders on each js_run_devserver sync by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1873](https://redirect.github.com/aspect-build/rules_js/pull/1873)
- Use canonical repo name for cross-repo `npm_translate_lock` by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1876](https://redirect.github.com/aspect-build/rules_js/pull/1876)
- perf: do not sanitize npm package labels multiple times by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1822](https://redirect.github.com/aspect-build/rules_js/pull/1822)
- Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1878](https://redirect.github.com/aspect-build/rules_js/pull/1878)
- docs(npm): document support for pnpm9 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1882](https://redirect.github.com/aspect-build/rules_js/pull/1882)
- chore: docs updates for 2.0 by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1887](https://redirect.github.com/aspect-build/rules_js/pull/1887)
- test: add npm_translate_lock_replace_packages by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1888](https://redirect.github.com/aspect-build/rules_js/pull/1888)
#### New Contributors
- [@surma](https://redirect.github.com/surma) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1752](https://redirect.github.com/aspect-build/rules_js/pull/1752)
- [@fmeum](https://redirect.github.com/fmeum) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1761](https://redirect.github.com/aspect-build/rules_js/pull/1761)
- [@github-actions](https://redirect.github.com/github-actions) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1771](https://redirect.github.com/aspect-build/rules_js/pull/1771)
- [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1802](https://redirect.github.com/aspect-build/rules_js/pull/1802)
**Full Changelog**: https://github.com/aspect-build/rules_js/compare/v1.42.3...v2.0.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
v1.42.3
->v2.1.1
Release Notes
aspect-build/rules_js (aspect_rules_js)
### [`v2.1.1`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.1.1) [Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.1.0...v2.1.1) 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](https://redirect.github.com/aspect-build/rules_js/discussions/1000). #### Using Bzlmod with Bazel 6: Add to your `MODULE.bazel` file: ```starlark bazel_dep(name = "aspect_rules_js", version = "2.1.1") ####### 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: ```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "aspect_rules_js", sha256 = "3388abe9b9728ef68ea8d8301f932b11b2c9a271d74741ddd5f3b34d1db843ac", strip_prefix = "rules_js-2.1.1", url = "https://github.com/aspect-build/rules_js/releases/download/v2.1.1/rules_js-v2.1.1.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 - chore: fix workspace js image tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1970](https://redirect.github.com/aspect-build/rules_js/pull/1970) - docs: rules_js 2.x migration guide moved to docsite by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1975](https://redirect.github.com/aspect-build/rules_js/pull/1975) - chore: update refs to bazel-lib which moved to bazel-contrib by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1976](https://redirect.github.com/aspect-build/rules_js/pull/1976) - fix(npm): support patches, lifecycle hooks for non-directory file: packages by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1980](https://redirect.github.com/aspect-build/rules_js/pull/1980) - build: disable aspect_bazelrc_presets tests in non-bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1982](https://redirect.github.com/aspect-build/rules_js/pull/1982) - fix(npm): package file: versions not relative to the workspace root by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1981](https://redirect.github.com/aspect-build/rules_js/pull/1981) - fix: upgrade bazel-lib to include run_binary param parsing fix by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1987](https://redirect.github.com/aspect-build/rules_js/pull/1987) - build: do not run e2e/runfiles on non-bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1986](https://redirect.github.com/aspect-build/rules_js/pull/1986) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1990](https://redirect.github.com/aspect-build/rules_js/pull/1990) - chore: enable bazel6 ci tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1988](https://redirect.github.com/aspect-build/rules_js/pull/1988) - chore: upgrade bazel to v7.3.2 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1969](https://redirect.github.com/aspect-build/rules_js/pull/1969) - refactor(npm): replace truthy value in set with True by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1992](https://redirect.github.com/aspect-build/rules_js/pull/1992) - build: only run bazel 6 unit tests with bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1994](https://redirect.github.com/aspect-build/rules_js/pull/1994) - docs(js_run_devserver): add note about ibazel issue 100 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2000](https://redirect.github.com/aspect-build/rules_js/pull/2000) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/2003](https://redirect.github.com/aspect-build/rules_js/pull/2003) - perf(npm): reduce use of .keys() for has-entry check by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2006](https://redirect.github.com/aspect-build/rules_js/pull/2006) - chore(deps): update dependency bazel to v7.4.0 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1939](https://redirect.github.com/aspect-build/rules_js/pull/1939) - fix(js_run_devserver): ensure files are synced before waiting for next build event by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1999](https://redirect.github.com/aspect-build/rules_js/pull/1999) - fix(npm): add missing patch copy action key by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2008](https://redirect.github.com/aspect-build/rules_js/pull/2008) - refactor(npm): add validation of parsed pnpm-lock data by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1979](https://redirect.github.com/aspect-build/rules_js/pull/1979) - chore: update ci to bazel 7.4 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2010](https://redirect.github.com/aspect-build/rules_js/pull/2010) - docs: document exclude_types_from_npm_packages as deprecated by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2014](https://redirect.github.com/aspect-build/rules_js/pull/2014) - fix: include repo mapping in the sources by [@thesayyn](https://redirect.github.com/thesayyn) in [https://github.com/aspect-build/rules_js/pull/2011](https://redirect.github.com/aspect-build/rules_js/pull/2011) - perf(js_run_devserver): run fs delete operations in parallel by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/2001](https://redirect.github.com/aspect-build/rules_js/pull/2001) - docs: update troubleshooting reference by [@emmanuel-ferdman](https://redirect.github.com/emmanuel-ferdman) in [https://github.com/aspect-build/rules_js/pull/2016](https://redirect.github.com/aspect-build/rules_js/pull/2016) - chore: fix broken link by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/2022](https://redirect.github.com/aspect-build/rules_js/pull/2022) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/2018](https://redirect.github.com/aspect-build/rules_js/pull/2018) #### New Contributors - [@emmanuel-ferdman](https://redirect.github.com/emmanuel-ferdman) made their first contribution in [https://github.com/aspect-build/rules_js/pull/2016](https://redirect.github.com/aspect-build/rules_js/pull/2016) **Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.1.0...v2.1.1 ### [`v2.1.0`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.1.0) [Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.2...v2.1.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](https://redirect.github.com/aspect-build/rules_js/discussions/1000). #### Using Bzlmod with Bazel 6: Add to your `MODULE.bazel` file: ```starlark bazel_dep(name = "aspect_rules_js", version = "2.1.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: ```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "aspect_rules_js", sha256 = "75c25a0f15a9e4592bbda45b57aa089e4bf17f9176fd735351e8c6444df87b52", strip_prefix = "rules_js-2.1.0", url = "https://github.com/aspect-build/rules_js/releases/download/v2.1.0/rules_js-v2.1.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 - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1922](https://redirect.github.com/aspect-build/rules_js/pull/1922) - chore(deps): update webfactory/ssh-agent action to v0.9.0 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1634](https://redirect.github.com/aspect-build/rules_js/pull/1634) - Add support for `+` in canonical repo names by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1927](https://redirect.github.com/aspect-build/rules_js/pull/1927) - docs: Clarify that $npm_package.publish requires publishable = True by [@fweikert](https://redirect.github.com/fweikert) in [https://github.com/aspect-build/rules_js/pull/1926](https://redirect.github.com/aspect-build/rules_js/pull/1926) - chore(deps): update aspect by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1923](https://redirect.github.com/aspect-build/rules_js/pull/1923) - chore: restore windows testing by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1920](https://redirect.github.com/aspect-build/rules_js/pull/1920) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1930](https://redirect.github.com/aspect-build/rules_js/pull/1930) - chore: fix broken links by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1931](https://redirect.github.com/aspect-build/rules_js/pull/1931) - chore: adopt conclusion job for stable status check by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1921](https://redirect.github.com/aspect-build/rules_js/pull/1921) - test: add [@bazel/runfiles](https://redirect.github.com/bazel/runfiles) test by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1895](https://redirect.github.com/aspect-build/rules_js/pull/1895) - chore(deps): update bazel by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1928](https://redirect.github.com/aspect-build/rules_js/pull/1928) - chore(deps): update patch updates by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1937](https://redirect.github.com/aspect-build/rules_js/pull/1937) - chore(deps): update [@types](https://redirect.github.com/types) by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1558](https://redirect.github.com/aspect-build/rules_js/pull/1558) - chore(deps): update rollup by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1874](https://redirect.github.com/aspect-build/rules_js/pull/1874) - chore(deps): update dependency bazel_skylib_gazelle_plugin to v1.7.1 - autoclosed by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1943](https://redirect.github.com/aspect-build/rules_js/pull/1943) - chore(deps): update syncpack digest to [`805e36f`](https://redirect.github.com/aspect-build/rules_js/commit/805e36f) by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1829](https://redirect.github.com/aspect-build/rules_js/pull/1829) - chore(deps): update dependency rollup to v3.29.5 \[security] by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1940](https://redirect.github.com/aspect-build/rules_js/pull/1940) - chore(deps): update dependency gazelle to v0.39.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1945](https://redirect.github.com/aspect-build/rules_js/pull/1945) - chore(deps): update dependency buildifier_prebuilt to v7 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1949](https://redirect.github.com/aspect-build/rules_js/pull/1949) - chore(deps): update peter-evans/create-pull-request action to v7 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1950](https://redirect.github.com/aspect-build/rules_js/pull/1950) - chore(deps): update dependency rules_go to v0.50.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1953](https://redirect.github.com/aspect-build/rules_js/pull/1953) - chore(deps): update dependency stardoc to v0.7.1 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1954](https://redirect.github.com/aspect-build/rules_js/pull/1954) - feat(pnpm): allow `latest` as version to get the latest version by [@gzm0](https://redirect.github.com/gzm0) in [https://github.com/aspect-build/rules_js/pull/1933](https://redirect.github.com/aspect-build/rules_js/pull/1933) - chore: disable renovate for unit test projects by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1960](https://redirect.github.com/aspect-build/rules_js/pull/1960) - chore(deps): update softprops/action-gh-release action to v2 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1951](https://redirect.github.com/aspect-build/rules_js/pull/1951) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1965](https://redirect.github.com/aspect-build/rules_js/pull/1965) - ci: fix matrix job on GitHub Actions by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1967](https://redirect.github.com/aspect-build/rules_js/pull/1967) - docs: merge gather_files_from_js_infos rename PRs in migration docs by [@gzm0](https://redirect.github.com/gzm0) in [https://github.com/aspect-build/rules_js/pull/1891](https://redirect.github.com/aspect-build/rules_js/pull/1891) - chore: bump to Aspect CLI 2024.41.17 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1968](https://redirect.github.com/aspect-build/rules_js/pull/1968) #### New Contributors - [@fweikert](https://redirect.github.com/fweikert) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1926](https://redirect.github.com/aspect-build/rules_js/pull/1926) **Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.2...v2.1.0 ### [`v2.0.2`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.2) [Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.1...v2.0.2) 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](https://redirect.github.com/aspect-build/rules_js/discussions/1000). #### Using Bzlmod with Bazel 6: Add to your `MODULE.bazel` file: ```starlark bazel_dep(name = "aspect_rules_js", version = "2.0.2") ####### 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.2.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: ```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "aspect_rules_js", sha256 = "91655ebd3178f979fcacd018f8f42aa9d3bc79c4fbddb7be9521971ec77e6aee", strip_prefix = "rules_js-2.0.2", url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.2/rules_js-v2.0.2.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 - perf(npm): use actions.run instead of actions.run_shell by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1905](https://redirect.github.com/aspect-build/rules_js/pull/1905) - refactor(npm): improve pnpm.onlyBuiltDependencies error message by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1902](https://redirect.github.com/aspect-build/rules_js/pull/1902) - chore: use aspect workflows RBE by [@kormide](https://redirect.github.com/kormide) in [https://github.com/aspect-build/rules_js/pull/1908](https://redirect.github.com/aspect-build/rules_js/pull/1908) - chore: now testing on Aspect Workflows RBE by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1909](https://redirect.github.com/aspect-build/rules_js/pull/1909) - perf: avoid large array concatenation by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1883](https://redirect.github.com/aspect-build/rules_js/pull/1883) - doc: add callout for dependency on generate_bzl_library_targets by [@plobsing](https://redirect.github.com/plobsing) in [https://github.com/aspect-build/rules_js/pull/1911](https://redirect.github.com/aspect-build/rules_js/pull/1911) - fix(npm): respect npm_package include_transitive_sources attribute by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1912](https://redirect.github.com/aspect-build/rules_js/pull/1912) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1906](https://redirect.github.com/aspect-build/rules_js/pull/1906) - docs(pnpm): add note about pnpm vs bazel patching by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1916](https://redirect.github.com/aspect-build/rules_js/pull/1916) #### New Contributors - [@plobsing](https://redirect.github.com/plobsing) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1911](https://redirect.github.com/aspect-build/rules_js/pull/1911) **Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.1...v2.0.2 ### [`v2.0.1`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.1) [Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v2.0.0...v2.0.1) 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](https://redirect.github.com/aspect-build/rules_js/discussions/1000). #### Using Bzlmod with Bazel 6: Add to your `MODULE.bazel` file: ```starlark bazel_dep(name = "aspect_rules_js", version = "2.0.1") ####### 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.2.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: ```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "aspect_rules_js", sha256 = "4cab6898f0ff8048e32640cce06a47aa4b92b2fb330d055940f95f24c8ebb868", strip_prefix = "rules_js-2.0.1", url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.1/rules_js-v2.0.1.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 - fix(docs): linkify PRs in rules_js2 migration guide by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1890](https://redirect.github.com/aspect-build/rules_js/pull/1890) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1892](https://redirect.github.com/aspect-build/rules_js/pull/1892) - fix: fix permission denied failure on buildbarn RBE by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1894](https://redirect.github.com/aspect-build/rules_js/pull/1894) - docs: add note about js_binary shell script by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1897](https://redirect.github.com/aspect-build/rules_js/pull/1897) - fix: remove problematic chmod extract command in npm_package_store in favor of using a custom postinstall by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1904](https://redirect.github.com/aspect-build/rules_js/pull/1904) **Full Changelog**: https://github.com/aspect-build/rules_js/compare/v2.0.0...v2.0.1 ### [`v2.0.0`](https://redirect.github.com/aspect-build/rules_js/releases/tag/v2.0.0) [Compare Source](https://redirect.github.com/aspect-build/rules_js/compare/v1.42.3...v2.0.0) This is our first semver-major release since 1.0 and has some breaking changes. These are documented in the [rules_js 2.0 migration guide](https://redirect.github.com/aspect-build/rules_js/blob/main/docs/migrate\_2.md). Note that you'll need to upgrade other rules that depend on rules_js at the same time. There is a known issue with usage on Windows: [https://github.com/aspect-build/rules_js/issues/1739](https://redirect.github.com/aspect-build/rules_js/issues/1739) If you use rules_js on Windows we'd love to know about it. Having active users justifies prioritizing the fix. #### Using Bzlmod (recommended): Add to your `MODULE.bazel` file: ```starlark bazel_dep(name = "aspect_rules_js", version = "2.0.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.2.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: ```starlark load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "aspect_rules_js", sha256 = "6b7e73c35b97615a09281090da3645d9f03b2a09e8caa791377ad9022c88e2e6", strip_prefix = "rules_js-2.0.0", url = "https://github.com/aspect-build/rules_js/releases/download/v2.0.0/rules_js-v2.0.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 - chore: update aspect.dev URL references to aspect.build by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1747](https://redirect.github.com/aspect-build/rules_js/pull/1747) - chore: add pnpm versions 8.15.4 through 9.1.1 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1730](https://redirect.github.com/aspect-build/rules_js/pull/1730) - test: generate fresh lockfile each time for pnpm lockfile test by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1750](https://redirect.github.com/aspect-build/rules_js/pull/1750) - refactor: normalize pnpm lockfile data in parser by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1735](https://redirect.github.com/aspect-build/rules_js/pull/1735) - Fix typo in onlyBuiltDependencies by [@surma](https://redirect.github.com/surma) in [https://github.com/aspect-build/rules_js/pull/1752](https://redirect.github.com/aspect-build/rules_js/pull/1752) - chore: bump miminum dep to aspect_bazel_lib 2.7.6 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1755](https://redirect.github.com/aspect-build/rules_js/pull/1755) - refactor: simplify handling of [#423](https://redirect.github.com/aspect-build/rules_js/issues/423), package aliases by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1757](https://redirect.github.com/aspect-build/rules_js/pull/1757) - refactor: move npm_registry_url to utils by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1758](https://redirect.github.com/aspect-build/rules_js/pull/1758) - refactor: do not include registry url in package keys by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1759](https://redirect.github.com/aspect-build/rules_js/pull/1759) - feat: add include_npm_sources to npm_package by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1760](https://redirect.github.com/aspect-build/rules_js/pull/1760) - docs: update section on "Exec failed due to IOException" by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1761](https://redirect.github.com/aspect-build/rules_js/pull/1761) - fix: include package store directory in default output of npm_link_package_store by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1762](https://redirect.github.com/aspect-build/rules_js/pull/1762) - chore: bump minimum aspect_bazel_lib to 2.7.7 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1763](https://redirect.github.com/aspect-build/rules_js/pull/1763) - test: add lockfile test cases by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1764](https://redirect.github.com/aspect-build/rules_js/pull/1764) - chore: automate pnpm version mirroring by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1766](https://redirect.github.com/aspect-build/rules_js/pull/1766) - fix(pnpm): support pnpm9 URL, github version package versions by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1765](https://redirect.github.com/aspect-build/rules_js/pull/1765) - fix(pnpm): support npm: alias dependencies with pnpm lockfile v5 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1767](https://redirect.github.com/aspect-build/rules_js/pull/1767) - chore: bump to rules_oci 1.7.6 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1768](https://redirect.github.com/aspect-build/rules_js/pull/1768) - refactor: sort generated npm_translate_lock store targets by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1769](https://redirect.github.com/aspect-build/rules_js/pull/1769) - fix(pnpm): support npm: aliases to packages in alternate registries by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1770](https://redirect.github.com/aspect-build/rules_js/pull/1770) - fix(pnpm): npm aliases to url specifiers by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1772](https://redirect.github.com/aspect-build/rules_js/pull/1772) - test: add test cases for individual pnpm lockfile issues by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1773](https://redirect.github.com/aspect-build/rules_js/pull/1773) - refactor(pnpm): remove .parse_pnpm_package_key util by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1774](https://redirect.github.com/aspect-build/rules_js/pull/1774) - fix(pnpm): pnpm9 transitive npm: dependenies by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1775](https://redirect.github.com/aspect-build/rules_js/pull/1775) - fix(pnpm): pnpm9 npm: dependencies with peers by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1776](https://redirect.github.com/aspect-build/rules_js/pull/1776) - refactor: remote non-functional exclude_declarations_from_npm_packages alias by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1778](https://redirect.github.com/aspect-build/rules_js/pull/1778) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1771](https://redirect.github.com/aspect-build/rules_js/pull/1771) - refactor(pnpm): move pnpm parsing logic to pnpm.bzl by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1777](https://redirect.github.com/aspect-build/rules_js/pull/1777) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1779](https://redirect.github.com/aspect-build/rules_js/pull/1779) - fix: fix issue with bzlmod toolchain registration by bumping minimum rules_nodejs to 6.1.2 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1780](https://redirect.github.com/aspect-build/rules_js/pull/1780) - chore: fixup pattern for try-import of user.bazelrc by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1789](https://redirect.github.com/aspect-build/rules_js/pull/1789) - perf: do not put files_runfiles in files + transitive_files by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1782](https://redirect.github.com/aspect-build/rules_js/pull/1782) - perf: avoid cloning data_files when not copy_data_files_to_bin by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1783](https://redirect.github.com/aspect-build/rules_js/pull/1783) - perf: avoid large temp arrays, use single loop by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1784](https://redirect.github.com/aspect-build/rules_js/pull/1784) - perf: avoid js_info param validation on default values by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1785](https://redirect.github.com/aspect-build/rules_js/pull/1785) - chore: bump minimum rules_nodejs to 6.2.0 by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1792](https://redirect.github.com/aspect-build/rules_js/pull/1792) - chore: fixup load statement ordering in generated bzl by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1795](https://redirect.github.com/aspect-build/rules_js/pull/1795) - fix: handle malformed npm packages gracefully in extract action by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1794](https://redirect.github.com/aspect-build/rules_js/pull/1794) - perf: minimize cost of checking bazel version by [@dzbarsky](https://redirect.github.com/dzbarsky) in [https://github.com/aspect-build/rules_js/pull/1800](https://redirect.github.com/aspect-build/rules_js/pull/1800) - perf: use string.elems for char iteration by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1802](https://redirect.github.com/aspect-build/rules_js/pull/1802) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1804](https://redirect.github.com/aspect-build/rules_js/pull/1804) - \[perf] Optimize npm_package_store by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1801](https://redirect.github.com/aspect-build/rules_js/pull/1801) - Optimize \_is_gnu_tar check by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1807](https://redirect.github.com/aspect-build/rules_js/pull/1807) - refactor: remove optional empty depset direct by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1790](https://redirect.github.com/aspect-build/rules_js/pull/1790) - perf: do not check JsInfo hasattr for always-set attributes by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1786](https://redirect.github.com/aspect-build/rules_js/pull/1786) - perf: only validate deprecated js_info params when extra params specified by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1799](https://redirect.github.com/aspect-build/rules_js/pull/1799) - refactor: sort lock translation action cache content by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1796](https://redirect.github.com/aspect-build/rules_js/pull/1796) - perf: do not include sources,types when transitive_sources,type already included by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1803](https://redirect.github.com/aspect-build/rules_js/pull/1803) - perf: reduce use of bazel_skylib paths.join by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1812](https://redirect.github.com/aspect-build/rules_js/pull/1812) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1809](https://redirect.github.com/aspect-build/rules_js/pull/1809) - perf: do not double process lifecycle_hooks\* attributes in bzlmod by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1805](https://redirect.github.com/aspect-build/rules_js/pull/1805) - perf: change js_helpers gather_\* utils to accept list, not depset by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1787](https://redirect.github.com/aspect-build/rules_js/pull/1787) - refactor: change npm_import(is_gnu_tar) to system_tar by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1811](https://redirect.github.com/aspect-build/rules_js/pull/1811) - perf: Allow opting out of arg/env expansion by [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) in [https://github.com/aspect-build/rules_js/pull/1810](https://redirect.github.com/aspect-build/rules_js/pull/1810) - test: npm: dependencies by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1815](https://redirect.github.com/aspect-build/rules_js/pull/1815) - perf: remove unused template vars by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1819](https://redirect.github.com/aspect-build/rules_js/pull/1819) - fix: use .cjs extension for fs patches by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1818](https://redirect.github.com/aspect-build/rules_js/pull/1818) - fix(pnpm): npm: aliases to packages with peer deps by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1824](https://redirect.github.com/aspect-build/rules_js/pull/1824) - refactor(pnpm): strip special characters from pkg labels by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1821](https://redirect.github.com/aspect-build/rules_js/pull/1821) - refactor: remove unused peer_dependencies field by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1826](https://redirect.github.com/aspect-build/rules_js/pull/1826) - perf: reduce string concatenation in lockfile parsing by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1817](https://redirect.github.com/aspect-build/rules_js/pull/1817) - chore(deps): update aspect by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1631](https://redirect.github.com/aspect-build/rules_js/pull/1631) - chore(deps): update bazel rulesets by [@renovate](https://redirect.github.com/renovate) in [https://github.com/aspect-build/rules_js/pull/1633](https://redirect.github.com/aspect-build/rules_js/pull/1633) - Revert "chore(deps): update bazel ([#1633](https://redirect.github.com/aspect-build/rules_js/issues/1633))" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1831](https://redirect.github.com/aspect-build/rules_js/pull/1831) - Revert "chore(deps): update aspect rulesets ([#1631](https://redirect.github.com/aspect-build/rules_js/issues/1631))" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1833](https://redirect.github.com/aspect-build/rules_js/pull/1833) - test: align pnpm_workspace\[\_rerooted] tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1832](https://redirect.github.com/aspect-build/rules_js/pull/1832) - refactor: cleanup npm_package_store.bzl by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1834](https://redirect.github.com/aspect-build/rules_js/pull/1834) - fix: transitive js_library npm package deps by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1836](https://redirect.github.com/aspect-build/rules_js/pull/1836) - perf: reduce use of starlark .split by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1820](https://redirect.github.com/aspect-build/rules_js/pull/1820) - chore: remove stray TODO by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1839](https://redirect.github.com/aspect-build/rules_js/pull/1839) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1841](https://redirect.github.com/aspect-build/rules_js/pull/1841) - test(pnpm): normalize typescript version across lockfile version tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1845](https://redirect.github.com/aspect-build/rules_js/pull/1845) - fix(pnpm): npm: aliases to self by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1846](https://redirect.github.com/aspect-build/rules_js/pull/1846) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1851](https://redirect.github.com/aspect-build/rules_js/pull/1851) - test: consuming linked js_library vs npm_package by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1852](https://redirect.github.com/aspect-build/rules_js/pull/1852) - test: strip system dependent system_tar attribute from repositories.bzl snapshot by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1856](https://redirect.github.com/aspect-build/rules_js/pull/1856) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1861](https://redirect.github.com/aspect-build/rules_js/pull/1861) - test: add additional npm: dependency lockfile tests by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1854](https://redirect.github.com/aspect-build/rules_js/pull/1854) - fix(npm): invalid export of package/resolved.json by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1855](https://redirect.github.com/aspect-build/rules_js/pull/1855) - test(npm): add tests for odd package names by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1860](https://redirect.github.com/aspect-build/rules_js/pull/1860) - test: include package.json files in npm_translate_lock(data) by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1853](https://redirect.github.com/aspect-build/rules_js/pull/1853) - refactor(npm): change string template var from overused "name" to "pkg" by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1867](https://redirect.github.com/aspect-build/rules_js/pull/1867) - test: remove platform specific system_tar from test snapshots by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1866](https://redirect.github.com/aspect-build/rules_js/pull/1866) - perf(npm): reduce package_name() calls by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1864](https://redirect.github.com/aspect-build/rules_js/pull/1864) - perf(npm): reduce use of string.split by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1865](https://redirect.github.com/aspect-build/rules_js/pull/1865) - fix(npm): expost package_json.bzl and resolved.json for each package alias by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1857](https://redirect.github.com/aspect-build/rules_js/pull/1857) - refactor: remove pkg_glob api by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1862](https://redirect.github.com/aspect-build/rules_js/pull/1862) - perf(npm): reduce array concatenation by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1859](https://redirect.github.com/aspect-build/rules_js/pull/1859) - test(npm): add test using git+ssh protocol in version by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1868](https://redirect.github.com/aspect-build/rules_js/pull/1868) - fix: do not put sources+types into NpmPackageStoreInfo.files by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1850](https://redirect.github.com/aspect-build/rules_js/pull/1850) - fix(npm): npm_link_package() in subdirectory to js_library() package by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1871](https://redirect.github.com/aspect-build/rules_js/pull/1871) - fix: handle js_library 1p deps correctly in js_run_devserver by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1872](https://redirect.github.com/aspect-build/rules_js/pull/1872) - fix: delete old files & folders on each js_run_devserver sync by [@gregmagolan](https://redirect.github.com/gregmagolan) in [https://github.com/aspect-build/rules_js/pull/1873](https://redirect.github.com/aspect-build/rules_js/pull/1873) - Use canonical repo name for cross-repo `npm_translate_lock` by [@fmeum](https://redirect.github.com/fmeum) in [https://github.com/aspect-build/rules_js/pull/1876](https://redirect.github.com/aspect-build/rules_js/pull/1876) - perf: do not sanitize npm package labels multiple times by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1822](https://redirect.github.com/aspect-build/rules_js/pull/1822) - Changes by create-pull-request action by [@github-actions](https://redirect.github.com/github-actions) in [https://github.com/aspect-build/rules_js/pull/1878](https://redirect.github.com/aspect-build/rules_js/pull/1878) - docs(npm): document support for pnpm9 by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1882](https://redirect.github.com/aspect-build/rules_js/pull/1882) - chore: docs updates for 2.0 by [@alexeagle](https://redirect.github.com/alexeagle) in [https://github.com/aspect-build/rules_js/pull/1887](https://redirect.github.com/aspect-build/rules_js/pull/1887) - test: add npm_translate_lock_replace_packages by [@jbedard](https://redirect.github.com/jbedard) in [https://github.com/aspect-build/rules_js/pull/1888](https://redirect.github.com/aspect-build/rules_js/pull/1888) #### New Contributors - [@surma](https://redirect.github.com/surma) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1752](https://redirect.github.com/aspect-build/rules_js/pull/1752) - [@fmeum](https://redirect.github.com/fmeum) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1761](https://redirect.github.com/aspect-build/rules_js/pull/1761) - [@github-actions](https://redirect.github.com/github-actions) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1771](https://redirect.github.com/aspect-build/rules_js/pull/1771) - [@DavidZbarsky-at](https://redirect.github.com/DavidZbarsky-at) made their first contribution in [https://github.com/aspect-build/rules_js/pull/1802](https://redirect.github.com/aspect-build/rules_js/pull/1802) **Full Changelog**: https://github.com/aspect-build/rules_js/compare/v1.42.3...v2.0.0Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.