GithubHelp home page GithubHelp logo

soraliu / rules_nodejs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bazel-contrib/rules_nodejs

0.0 1.0 0.0 9.05 MB

JavaScript and NodeJS rules for Bazel

License: Apache License 2.0

Python 50.90% Shell 5.30% JavaScript 27.65% HTML 0.09% TypeScript 15.88% CSS 0.01% Batchfile 0.09% Smarty 0.09%

rules_nodejs's Introduction

JavaScript rules for Bazel

Circle CI Bazel CI
CircleCI Build status

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.)

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 for details and alternative methods, or if you already have a Bazel project and you're adding Node/JavaScript support to it.

$ npm init @bazel

or if you prefer yarn,

$ yarn create @bazel

These commands are equivalent to npx @bazel/create which downloads the latest version of the @bazel/create package from npm and runs the program contained.

See the output of the tool for command-line options and next steps.

Adopters

Thanks to the following active users!

Open-source repositories:

Organizations:

Not on this list? Send a PR to add your repo or organization!

User testimonials

From Lewis Hemens 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

rules_nodejs's People

Contributors

alexeagle avatar gregmagolan avatar renovate-bot avatar filipesilva avatar kyliau avatar devversion avatar soldair avatar globegitter avatar manekinekko avatar laszlocsomor avatar laurentlb avatar meteorcloudy avatar mattem avatar mhevery avatar jbedard avatar joshvanallen avatar xingao267 avatar ashi009 avatar philwo avatar pshields avatar jaredneil avatar dslomov avatar bweston92 avatar josephperrott avatar lucassloan avatar mattmoor avatar vladmos avatar renovate[bot] avatar huangw5 avatar mboes avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.