Releases: bazel-contrib/rules_nodejs
0.18.6
- Adds support for es2015 package.json field to rollup_bundle (#429)
- Fixes
EACCESS: permission denied
bug in web_package (#546) - Restores
internal/node.bzl
(#545)
Add the following to your WORKSPACE file to use:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_nodejs",
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.6/rules_nodejs-0.18.6.tar.gz"],
sha256 = "1416d03823fed624b49a0abbd9979f7c63bbedfd37890ddecedd2fe25cccebc6",
)
load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories")
node_repositories()
See https://github.com/bazelbuild/rules_nodejs/blob/0.18.6/README.md#installation for more installation options.
0.18.5
- Fix jasmine_runner.js so that an already initialized jasmine will be used (#539)
Add the following to your WORKSPACE file to use:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_nodejs",
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.5/rules_nodejs-0.18.5.tar.gz"],
sha256 = "c8cd6a77433f7d3bb1f4ac87f15822aa102989f8e9eb1907ca0cad718573985b",
)
load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories")
node_repositories()
See https://github.com/bazelbuild/rules_nodejs/blob/0.18.5/README.md#installation for more installation options.
0.18.4
MAJOR CHANGE
This is the first rules_nodejs release that uses a distribution artifact.
You should no longer fetch the entire GitHub repository with one of
git_repository(
name = "build_bazel_rules_nodejs",
remote = "https://github.com/bazelbuild/rules_nodejs.git",
tag = "0.18.0"
)
# or
http_archive(
name = "build_bazel_rules_nodejs",
urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.8.zip"],
strip_prefix = "rules_nodejs-0.16.8",
)
Instead, fetch our distribution tar.gz
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_nodejs",
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
)
We did this for a few reasons:
- It's wasteful for users to download all our tests, examples, and any large files we vendor into our repo.
- We cannot trust the
sha256
produced by the GitHub frontend to be stable. - We want to start authoring our files in TypeScript, but you should only get JavaScript files. Bazel support for transitive dependencies is weak and hard for users to manage.
Note, this is not a breaking change, you could still fetch the entire repo, emulating a monorepo scheme across multiple repositories, and building everything from source. However we discourage that since it exposes our transitive development-only dependencies like TypeScript.
Other changes
** Breaking change **: if you depended on our internal file, @build_bazel_rules_nodejs//internal:node.bzl
, this has been removed. You should now depend on individual files which were re-exported from there.
We have updated our examples. There is a new example of using Parcel.js, to illustrate using an arbitrary npm library in your toolchain. There is also an example of building a web application with Rollup, and injected script and link tags in the index.html.
0.16.8
@bazel/bazel
now checks for a local installed copy, so it's safe to install globally. It exposes anindex.js
so that Angular schematics and other tools can locate the binary withrequire.resolve('@bazel/bazel')
- Restored earlier behavior that the
yarn.lock
orpackage-lock.json
in your project is updated by Bazel when running a build. - Fix the
npm_package
rule to copy binary files correctly
0.16.7
- Deprecate rules_nodejs_dependencies(), this now produces a warning. A later minor will remove the function.
- Preparation work for installing "hybrid" npm packages that contain bazel workspaces
yarn_install
andnpm_install
now default to quiet again, since Bazel 0.21 produces logging output as these run
0.16.5
0.16.4
0.16.3
Bugfixes, improved npm/yarn install flow
New behavior of npm_install
and yarn_install
rules:
- instead of symlinking the package.json file into bazel, we now copy it. This means Bazel will no longer make edits to your lock file.
- the output from the command will be streamed to your terminal. Instead of bazel silently saying "analyzing" you'll now see the install progress. Set
quiet
toTrue
in thenpm_install
oryarn_install
rule to get the previous behavior - the
exclude_packages
attribute filters out@bazel/bazel
from being installed again under Bazel. - we no longer omit
test
and.bin
directories from the generated BUILD file - set the
--network-timeout
option when runningyarn install
since we saw a lot of timeouts