rules_nodejs 6.0.0
gregmagolan opened this issue · comments
Per the README, for the last year most of this repo (the build_bazel_rules_nodejs bazel module and most @bazel
-scoped npm packages) is UNMAINTAINED and there is a more performant, more compatible alternative now available: https://github.com/aspect-build/rules_js
This repository should more clearly reflect this to prevent confusion, and so new users don't put effort into adopting it only to find out later that there is a better maintained alternative. It should also be easy for existing users to discover that build_bazel_rules_nodejs is deprecated and to plan a migration to rules_js. Documentation should also be updated to recommend rules_js as the go-to rule set for JavaScript.
- Make a 6.x branch that will have breaking changes for 6.0
- PRs to remove unmaintained code from this repo, starting from things that have 1.0.0-semver alternatives (see below)
- Make a 6.x release of rules_nodejs with only the Node.js toolchain bits that are still maintained
- Update official Bazel documentation to no longer point to rules_nodejs - bazelbuild/bazel#17950
- Permanently deprecate npm packages that have 1.0 alternatives such as
@bazel/typescript
- Simplify this repo to match https://github.com/bazel-contrib/rules-template as much as possible, e.g. "push tag to release"
Removal tasks:
- Nearly all
examples
ande2e
- Nearly all of
/internal
- remove providers from nodejs/
- packages/concatjs should move to angular/dev-infra as they're the only active user we know of
- packages/typescript can be removed since aspect_rules_ts is past 1.0
- packages/protractor is just EOL, we don't know of usage of Protractor but maybe @devversion does
- packages/cypress removed after https://github.com/aspect-build/rules_cypress/milestone/1
- packages/esbuild removed after https://github.com/aspect-build/rules_esbuild/milestone/1
- packages/jasmine removed after https://github.com/aspect-build/rules_jasmine/milestone/1
- packages/rollup removed after https://github.com/aspect-build/rules_rollup/milestone/1
- packages/terser removed after https://github.com/aspect-build/rules_terser/milestone/1
- packages/create -> removed since it stamps out stale contents
Other packages TBD:
- rules_sass
- packages/runfiles ->
@bazel/runfiles
can still have a source-of-truth here - packages/worker -> Probably stays as a useful reference implementation for workers? Though at this point @thesayyn forked the code to aspect_rules_ts so we should consider whether we could eventually unfork.
We are still using @bazel/protractor
but could likely also be moved to angular/dev-infra
then. Other than that, I don't know of any other consumers of Protractor w/ Bazel (except for sbb which uses angular/dev-infra anyway)
I mentioned the Protractor package to @juliemr over email as well, FYI