Skip to content

Commit

Permalink
docs: note maintenance changes that were announced on Bazel slack (#3532
Browse files Browse the repository at this point in the history
)

* docs: note maintenance changes that were announced on Bazel slack

* Fix markdown links

Co-authored-by: Matt Mackay <[email protected]>
  • Loading branch information
alexeagle and mattem authored Aug 13, 2022
1 parent 80df1aa commit 371e8ca
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 3 deletions.
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# JavaScript rules for Bazel

## Maintenance Update

As of [this announcement](https://blog.aspect.dev/rulesjs-launch),
the maintainers of rules_nodejs have all moved to a faster, more compatible alternative:
[rules_js](https://github.com/aspect-build/rules_js/).

`rules_js` has a dependency on the "core" module in rules_nodejs, just supplying the nodejs toolchain.
We'll continue to maintain that code (the /nodejs folder under this repo, essentially).

However, unless some new maintainers want to step up for this repository, the remainder of the code (the build_bazel_rules_nodejs starlark module and npm packages like @bazel/typescript) will be unmaintained and effectively deprecated. (We'll still accept small PRs and push patch/minor releases).

If you want to sign up as a maintainer, DM Alex Eagle or Jason Dobies on [bazel slack](http://slack.bazel.build).

At this point we expect there will never be another major (6.x) of rules_nodejs. If there is, it would include only the core, with the rest of the code removed.



Circle CI | Bazel CI
:---: | :---:
Expand Down
10 changes: 7 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ This repository contains three layers:
1. The `@rules_nodejs` Bazel module, also referred to as the "core".
This contains a toolchain that fetches a hermetic node, npm, and yarn (independent of what's on the developer's machine),
and Bazel Providers to allow interop between JS rules.
It is currently useful for Bazel Rules developers who want to make their own JavaScript support.
It is currently useful for Bazel Rules developers who want to make their own JavaScript support, and
is maintained by community volunteers from [Aspect](https://aspect.dev).
- [Install and setup](install.md)
- [Rules API](Core.md)
- [Toolchains](Toolchains.md)

2. The `@build_bazel_rules_nodejs` Bazel module depends on the `@rules_nodejs` module.
We expect over the course of future releases that everything in this module will either be migrated to `@rules_nodejs`, move to another repository, or be deprecated.
**There are currently no maintainers of this module, so it is effectively deprecated.**
See the notes in the repository's main README.md.
This module gives the ability to install third-party dependencies using npm or yarn.
`BUILD` files are generated so that Bazel can load the third-party dependency graph and can call the CLI of installed tools.
It also supports running Node.js programs and has a number of useful rules.
Expand All @@ -33,9 +35,11 @@ It also supports running Node.js programs and has a number of useful rules.
- [Patching build_bazel_rules_nodejs](changing-rules.md)

3. Custom rules that are distributed under the `@bazel` scope on [npm](http://npmjs.com/~bazel).
**There are currently no maintainers of these npm packages, so they are effectively deprecated.**
See the notes in the repository's main README.md.
This is required when rules have JavaScript code which wants to `require` from peerDependency packages,
since the node resolution algorithm requires the callsite of `require` to be in the node_modules tree.
Note: we no longer accept new npm packages, and would prefer such custom rules to be in their own repo.

- [Concatjs](Concatjs.md)
- [Cypress](Cypress.md)
- [esbuild](esbuild.md)
Expand Down

0 comments on commit 371e8ca

Please sign in to comment.