Skip to content

0.39.0

Compare
Choose a tag to compare
@alexeagle alexeagle released this 23 Oct 21:59

Update:

http_archive(
    name = "build_bazel_rules_nodejs",
    sha256 = "26c39450ce2d825abee5583a43733863098ed29d3cbaebf084ebaca59a21a1c8",
    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.39.0/rules_nodejs-0.39.0.tar.gz"],
)

and run yarn upgrade --scope @bazel to update all your @bazel scoped npm packages to the latest versions.
(or manually do the npm equivalent - they don't have a way to update a scope)

Cool stuff

Programs which dynamically require packages such as plugins now run correctly under npm_package_bin. For example, we can now run Jest under Bazel and it can resolve the jest-babel plugin.

We are getting closer to a state where nearly all npm packages run under Bazel. The remaining issues are some handling of symlinks, where the program doesn't have a --preserveSymlinks option or doesn't adhere to it in all places.

Bug Fixes

  • bundle names in angular examples (b4f01e2)
  • builtin: allow more than 2 segments in linker module names (7e98089)
  • webpack should be a peerDep of @bazel/labs (312aa4d)

Code Refactoring

Features

BREAKING CHANGES

  • The dynamic_deps attribute of yarn_install and npm_install is removed,
    in favor of declaring needed packages in the deps/data of the rule that
    invokes the tool. The common consequence of this is you'll need to add dependencies like @npm//rollup-plugin-json to the deps of a rollup_bundle rule.

  • The old rollup_bundle rule is now deprecated. Instructions for migrating are printed when the rule is invoked. To continue using the old rule, add --define=enable_legacy_rollup_rule=1 to your bazel command or your .bazelrc file, but be aware this code will be deleted before 1.0.