rules_js
rules_js copied to clipboard
rules_js v3 BREAKING CHANGES
BREAKING CHANGES for next major release of rules_js:
- [x] remove pnpm < v9 (https://github.com/aspect-build/rules_js/pull/2456)
- [x] remove bazel v6 support (https://github.com/aspect-build/rules_js/pull/2458)
- [x] remove WORKSPACE support (https://github.com/aspect-build/rules_js/pull/2455)
- [x] remove
npm_import/npm_package_store(dev)(https://github.com/aspect-build/rules_js/issues/2013, https://github.com/aspect-build/rules_js/pull/2456) - [x] remove
npm_translate_lock(root_package)(https://github.com/aspect-build/rules_js/pull/2552) - [x] remove
npm_translate_lock(link_workspace)(https://github.com/aspect-build/rules_js/pull/2551) - [x] remove
npm_translate_lock(addition_build_content)(https://github.com/aspect-build/rules_js/pull/2555) - [x] remove or simplify
npm_link_package(root_package, link)(https://github.com/aspect-build/rules_js/pull/2553) - [x] replace aspect_bazel_lib v2 with bazel-lib v3 (https://github.com/aspect-build/rules_js/pull/2460, https://github.com/aspect-build/rules_js/pull/2457, https://github.com/aspect-build/rules_js/pull/2505, https://github.com/aspect-build/rules_js/pull/2501)
- [x] remove unsupported pnpm versions from
npm/private/versions.bzl(https://github.com/aspect-build/rules_js/pull/2456) - [x] remove use of pnpm lockfile
requiresBuild(https://github.com/aspect-build/rules_js/pull/2456) - [x] switch default pnpm to v10 (https://github.com/aspect-build/rules_js/pull/2456 / https://github.com/aspect-build/rules_js/pull/2220)
- [x] ~~remove legacy runfiles code for older versions of bazel~~ (https://github.com/aspect-build/rules_js/pull/2532)
- [x] remove rules_nodejs v5 support (see:
hasattr(nodeinfo, "node")calls, ...) (https://github.com/aspect-build/rules_js/pull/2467) - [ ] remove node < v? support (see use of
abortcontroller-polyfilletc) (https://github.com/aspect-build/rules_js/pull/2504, https://github.com/aspect-build/rules_js/pull/2530) - [x] remove
exclude_types_from_npm_packages_flag(https://github.com/aspect-build/rules_js/pull/2464) - [ ] remove label_store - https://github.com/aspect-build/rules_js/issues/2385
- [x] resolve
TODO(3.0)comments - [X] replace
npm_translate_lock(dev/prod)with single "no dev" flag, see https://github.com/aspect-build/rules_js/issues/2013 (https://github.com/aspect-build/rules_js/pull/2487 ?) - [x] https://github.com/aspect-build/rules_js/issues/2196 (https://github.com/aspect-build/rules_js/pull/2202)
- [x] Simplify path existence checking https://github.com/aspect-build/rules_js/pull/2399
- [x] remove
npm_translate_lock(defs_bzl_filename)- does this really need to be customized? (https://github.com/aspect-build/rules_js/pull/2466) - [x] replace
yq_toolchain_prefixwith a bzlmod alternative (https://github.com/aspect-build/rules_js/pull/2501) - [X] delete
npm_import(link_packages)- it seems to just duplicate content into thenpm__${pkg}__${version}//${link_package}/{BUILD.bazel,package_json.bzl}with nothing link specific in it? these targets should be available via@npm//{link_package/:node_modules/{pkg}/package_json.bzlinstead which has a more predictable location then thenpm__${pkg}__${version}repo (https://github.com/aspect-build/rules_js/pull/2486)
MAYBE:
- remove bazel v7 support
- simplify internal package store rules and make circular-dep handling opt-in? remove support for circular deps on packages with lifecycle hooks (this could remove some complications with /pkg vs /ref targets etc)?
- split
npm_link_all_packagesstore vs link targets into different marcos: store targets (root only),:node_modules/{pkg}targets within each package directory such as@npm//my/project:defs.bzl - enable by default
yarn autocleanexcludes by default (opt-in: https://github.com/aspect-build/rules_js/pull/2136) - https://github.com/aspect-build/rules_js/pull/1781
- switch reading pnpm settings from package.json to pnpm-workspace.yaml (followup to https://github.com/aspect-build/rules_js/issues/2469)
- remove
npm_import(extract_full_archive)?
LARGE (but should be non-breaking):
- [x] https://github.com/aspect-build/rules_js/issues/714 (https://github.com/aspect-build/rules_js/pull/2538)
- [x] https://github.com/aspect-build/rules_js/pull/2177 (partially breaking)
- [x] double parsing of lockfiles (https://github.com/aspect-build/rules_js/issues/1563, https://github.com/aspect-build/rules_js/pull/2480)
- [x] do not use
transitive_closurefor packages with non-circular deps (https://github.com/aspect-build/rules_js/pull/2559, https://github.com/aspect-build/rules_js/pull/2543) - [ ] cross-compilation_mode (https://github.com/aspect-build/rules_js/issues/2581)
- [ ] esm sandboxing issues (https://github.com/aspect-build/rules_js/pull/2366)