From 26808f6df5d273c4b3a2a5ab083085389b291c18 Mon Sep 17 00:00:00 2001 From: Christian Scott Date: Wed, 15 Nov 2023 17:45:34 +1100 Subject: [PATCH 1/2] add enshortened readme --- README.md | 89 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index bb85f60b3..4272dafe3 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,3 @@ -# JavaScript rules for Bazel +# Canva-specific fork of [bazelbuild/rules_nodejs@3.8.0](https://github.com/bazelbuild/rules_nodejs/tree/3.8.0) - -Circle CI | Bazel CI -:---: | :---: -[![CircleCI](https://circleci.com/gh/bazelbuild/rules_nodejs/tree/stable.svg?style=svg)](https://circleci.com/gh/bazelbuild/rules_nodejs/tree/stable) | [![Build status](https://badge.buildkite.com/af1a592b39b11923ef0f523cbb223dd3dbd61629f8bc813c07.svg?branch=master)](https://buildkite.com/bazel/nodejs-rules-nodejs-postsubmit) - -The nodejs rules integrate NodeJS development toolchain and runtime with Bazel. - -This toolchain can be used to build applications that target a browser runtime, -so this repo can be thought of as "JavaScript rules for Bazel" as well. (We would call this `rules_javascript` if renames weren't so disruptive.) - -This repository is maintained by volunteers in the Bazel community. Neither Google, nor the Bazel team, provides support for the code. However, this repository is part of the test suite used to vet new Bazel releases. - -We follow semantic versioning. Patch releases have bugfixes, minor releases have new features. Only major releases (1.x, 2.x) have breaking changes. We support the last two major releases of Bazel, see `SUPPORTED_BAZEL_VERSIONS` in our `/index.bzl` for the list we test against. - -We strive to give you an easy upgrade path when we do introduce a breaking change by documenting a migration path. -If you use code from an `/internal` path, or the labs package, these are not subject to our support policy and may have breaking changes or removals with no warning or migration path. - -## Documentation - -Comprehensive documentation for installing and using the rules, including generated API docs: -https://bazelbuild.github.io/rules_nodejs/ - -## Quickstart - -This is the fastest way to get started. -See the [installation documentation](https://bazelbuild.github.io/rules_nodejs/install.html) for details and alternative methods, or if you already have a Bazel project and you're adding Node/JavaScript support to it. - -```sh -$ npx @bazel/create my_workspace -$ cd my_workspace -``` - -> The `npx` tool is distributed with node. If you prefer, you can run equivalent commands `npm init @bazel` or `yarn create @bazel`. -> If you've used `@bazel/create` before, you may want to use `npx @bazel/create@latest` to get the most recent version. -> Run without any arguments to see available command-line flags. - -## Adopters - -Thanks to the following active users! - -Open-source repositories: - -- Angular: [Angular monorepo](https://github.com/angular/angular), [CLI](https://github.com/angular/angular-cli), [Components](https://github.com/angular/components), [Universal](https://github.com/angular/universal) -- Tensorflow: [tf.js](https://github.com/tensorflow/tfjs) and [tensorboard](https://github.com/tensorflow/tensorboard) -- [Selenium](https://github.com/SeleniumHQ/selenium) -- [NgRX](https://github.com/ngrx/platform) -- [tsickle](https://github.com/angular/tsickle) -- [incremental-dom](https://github.com/google/incremental-dom) -- [dataform](https://github.com/dataform-co/dataform) -- [Kubernetes test-infra](https://github.com/kubernetes/test-infra) -- [ts-protoc-gen](https://github.com/improbable-eng/ts-protoc-gen) -- [protoc-gen-ts](https://github.com/thesayyn/protoc-gen-ts) - -Organizations: - -- [Evertz](https://www.evertz.com) -- [Lucidchart](https://www.lucidchart.com) -- [Webdox](https://www.webdox.cl) -- [WeMaintain](https://www.wemaintain.com) -- [LogiOcean](https://www.logiocean.com) -- [Spica](https://spicaengine.com) -- [Domino Data Lab](https://www.dominodatalab.com/) -- [Cookies](https://cookies.co/) - -Not on this list? [Send a PR](https://github.com/bazelbuild/rules_nodejs/edit/stable/README.md) to add your repo or organization! - -## User testimonials - -From [Lewis Hemens](https://github.com/lewish) at Dataform: - -> At Dataform we manage a number of NPM packages, Webpack builds, Node services and Java pipelines across two separate repositories. This quickly became hard for us to manage, development was painful and and deploying code required a many manual steps. We decided to dive in and migrate our build system entirely to Bazel. This was a gradual transition that one engineer did over the course of about 2 months, during which we had both Bazel and non bazel build processes in place. Once we had fully migrated, we saw many benefits to all parts of our development workflow: -> - Faster CI: we enabled the remote build caching which has reduced our average build time from 30 minutes to 5 (for the entire repository) -> - Improvements to local development: no more random bash scripts that you forget to run, incremental builds reduced to seconds from minutes -> - Simplified deployment processes: we can deploy our code to environments in Kubernetes with just one command that builds and pushes images -> - A monorepo that scales: adding new libraries or packages to our repo became easy, which means we do it more and end up write more modular, shared, maintainable code -> - Developing across machine types: our engineers have both Macbooks and Linux machines, bazel makes it easy to build code across both -> - Developer setup time: New engineers can build all our code with just 3 dependencies - bazel, docker and the JVM. The last engineer to join our team managed to build all our code in < 30 minutes on a brand new, empty laptop - -From [Jason Bedard](https://github.com/jbedard) at [Allocadia](https://www.allocadia.com): - -> At Allocadia we use Bazel as the primary build system in a monorepo consisting of multiple applications, services and deployments across a range of technologies. Bazel has provided many benefits over previous build systems including: -> - reduced CI pipeline time from 60+ to 5-10 minutes -> - increased build and testing stability -> - improved developer ergonomics such as initial setup, faster more consistent local builds -> -> The use of rules_nodejs has provided these benefits across multiple Angular/TypeScript applications, Karma+Jasmine testing, Rollup, npm packaging, protobuf client/server communication, and a variety of Node.js based tooling. +This is a fork of rules_nodejs, starting at [v3.8.0](https://github.com/bazelbuild/rules_nodejs/tree/3.8.0). It contains a few fixes that we need for our internal use of the ruleset. This is not designed for use outside of Canva's internal repos. We offer no guarantees about stability, support, or backwards compatibility. If you need similar fixes, feel free to fork this repo. From 64214540e88eee6d97f37a0fc213a23c76374630 Mon Sep 17 00:00:00 2001 From: Christian Scott Date: Wed, 15 Nov 2023 17:48:17 +1100 Subject: [PATCH 2/2] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4272dafe3..b50ef3196 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # Canva-specific fork of [bazelbuild/rules_nodejs@3.8.0](https://github.com/bazelbuild/rules_nodejs/tree/3.8.0) -This is a fork of rules_nodejs, starting at [v3.8.0](https://github.com/bazelbuild/rules_nodejs/tree/3.8.0). It contains a few fixes that we need for our internal use of the ruleset. This is not designed for use outside of Canva's internal repos. We offer no guarantees about stability, support, or backwards compatibility. If you need similar fixes, feel free to fork this repo. +This is a fork of rules_nodejs, starting at [v3.8.0](https://github.com/bazelbuild/rules_nodejs/tree/3.8.0). It contains a few fixes that we need for our internal use of the ruleset. This is not designed for use outside of Canva's internal repos. We offer no guarantees about stability, support, or backwards compatibility. + +If you need similar fixes, we recommend that you fork the repo.