Releases: aspect-build/rules_webpack
v0.11.0
webpack_repositories
repository rule is removed and a new node_modules
attribute is now required for both webpack_bundle
and webpack_devserver
. This change is BREAKING for all users.
After debugging errors with complex webpack configurations with clients we found that fetching webpack in webpack_repositories
and linking into a node_modules
tree within an external Bazel repository can lead to unexpected errors with some webpack plugins that don't expect webpack to be found in multiple node_modules
trees. To fix this problem in the simplest and most general way, this release removes webpack_repositories
and now expects users to provide the target to their own node_modules
trees that must include the webpack
, webpack-cli
and, for the webpack_devserver
rule, also the webpack-dev-server
npm packages.
The //path/to:node_modules
tree target must be passed to the webpack_bundle
and webpack_devserver
rules via the node_modules
attribute. For example,
webpack_bundle(
name = "bundle",
node_modules = "//:node_modules",
...
)
This change has the added benefits of not requiring users to keep the webpack version used in their package.json
in sync with their WORKSPACE and not requiring any changes to rules_webpack
to support new releases of webpack.
WORKSPACE snippet
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "2841761bdf7e82f05a00c388e97c7b81dd47b55a30c5bf4109e96aad041352cf",
strip_prefix = "rules_webpack-0.11.0",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.11.0/rules_webpack-v0.11.0.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
load("@aspect_rules_js//npm:npm_import.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 deps by @gregmagolan in #109
- refactor: remove vendored webpack versions, user must provider their own webpack tool from their node_modules by @gregmagolan in #110
Full Changelog: v0.10.1...v0.11.0
v0.10.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "82547fe69e477623dd8a2a50f809e3c89f2035d6b6236d0596d69b7e81c68676",
strip_prefix = "rules_webpack-0.10.1",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.10.1/rules_webpack-v0.10.1.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- fix: make entry_points optional if output_dir is True by @gregmagolan in #107
Full Changelog: v0.10.0...v0.10.1
v0.10.0
webpack_bundle
API. See #105 for more details.
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "dc64191f6c9096122f70ed5ab4af1a922b6aef9fc1cdeb99eb64f8283b31f6ea",
strip_prefix = "rules_webpack-0.10.0",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.10.0/rules_webpack-v0.10.0.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- chore: update to aspect_bazel_lib 1.27.2 by @gregmagolan in #102
- chore: update to Aspect CLI 5.2.0-rc0 by @gregmagolan in #104
- chore: update to Aspect CLI 5.2.1 by @gregmagolan in #106
- feat: align webpack bundle and devserver APIs by @jbedard in #105
Full Changelog: v0.9.1...v0.10.0
v0.9.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "4f30fb310d625a4045e37b9e04afb2366c56b547a73c935f308e3d9c31b77519",
strip_prefix = "rules_webpack-0.9.1",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.9.1/rules_webpack-v0.9.1.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
Full Changelog: v0.9.0...v0.9.1
v0.9.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "9a46f352f40dc869db7b52dc7e89021f2a4f1e772d4c4db142cc5aeea7bb607b",
strip_prefix = "rules_webpack-0.9.0",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.9.0/rules_webpack-v0.9.0.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- feat: switch to use execroot entry point when running webpack by default instead of runfiles entrypoint by @gregmagolan in #98
Full Changelog: v0.8.1...v0.9.0
v0.8.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "e1eb6c3dd784cd632efcfcaa49c2ab210da123decefc111512380126660935a3",
strip_prefix = "rules_webpack-0.8.1",
url = "https://github.com/aspect-build/rules_webpack/releases/download/v0.8.1/rules_webpack-v0.8.1.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- fix: multi-entry bundle with environment variables by @jbedard in #92
- chore: Add the macOS runner to the matrix strategy by @realtimetodie in #89
- chore: update to rules_js 1.19.0 by @gregmagolan in #95
- chore: support webpack v5.69.1 by @kormide in #96
- fix: fix webpack v5.73.0 version by @kormide in #97
- release: publish release artifact by @alexeagle in #93
New Contributors
- @realtimetodie made their first contribution in #89
Full Changelog: v0.8.0...v0.8.1
v0.8.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "21001235a41eef57f9ed3f7f4caba79e5b18443aafcc3698c363e3e8e60ffbc2",
strip_prefix = "rules_webpack-0.8.0",
url = "https://github.com/aspect-build/rules_webpack/archive/refs/tags/v0.8.0.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- feat: vendor package.json files per version for rules_js v1.17.0 support by @gregmagolan in #90
- chore: update to rules_js 1.17.0 and aspect_bazel_lib 1.24.2 by @gregmagolan in #91
Full Changelog: v0.7.2...v0.8.0
v0.7.2
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "3f3e848d2860451ac089c2ba118204799296596dd0dcb7cb82cfd77ec2cbce14",
strip_prefix = "rules_webpack-0.7.2",
url = "https://github.com/aspect-build/rules_webpack/archive/refs/tags/v0.7.2.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- feat: Allow unsetting devtool flag (#85) by @jjjhhhlll in #86
New Contributors
- @jjjhhhlll made their first contribution in #86
Full Changelog: v0.7.1...v0.7.2
v0.7.1
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "678c6c846ba992df60a734ccc65f371261f5dd9913f5c252435babcb734697b9",
strip_prefix = "rules_webpack-0.7.1",
url = "https://github.com/aspect-build/rules_webpack/archive/refs/tags/v0.7.1.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- chore: update to Aspect CLI 5.1.2 by @gregmagolan in #87
- chore: update to rules_js 1.15.1 and aspect_bazel_lib 1.23.3 by @gregmagolan in #88
Full Changelog: v0.7.0...v0.7.1
v0.7.0
WORKSPACE snippet:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "aspect_rules_webpack",
sha256 = "4ea0d19e90cc1b05cb4ad2a81cdbd816000ea2e527988ed0affbd83e5e5e2ee8",
strip_prefix = "rules_webpack-0.7.0",
url = "https://github.com/aspect-build/rules_webpack/archive/refs/tags/v0.7.0.tar.gz",
)
#######################
# rules_webpack setup #
#######################
# Fetch the Bazel module dependencies
load("@aspect_rules_webpack//webpack:dependencies.bzl", "rules_webpack_dependencies")
rules_webpack_dependencies()
# Fetch and register a nodejs interpreter, if you haven't already
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "node",
node_version = DEFAULT_NODE_VERSION,
)
# Fetch and register the webpack tool
load("@aspect_rules_webpack//webpack:repositories.bzl", "webpack_repositories")
webpack_repositories(name = "webpack")
load("@webpack//:npm_repositories.bzl", webpack_npm_repositories = "npm_repositories")
webpack_npm_repositories()
What's Changed
- fix(bundle): don't request typechecking to build a bundle by @alexeagle in #78
- fix: allow chdir attribute to webpack_bundle by @alexeagle in #76
- chore: update to aspect_bazel_lib 1.8.0 by @gregmagolan in #79
- chore: use Aspect CLI 5.0.2 by @gregmagolan in #80
- chore: update to Bazel 6.0.0 and Aspect CLI 5.1.1 by @gregmagolan in #81
- chore: update to aspect_rules_js 1.13.0 by @gregmagolan in #82
Full Changelog: v0.6.1...v0.7.0