Apr 23, 2019
Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.
npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day. | Pants is a build system for Java, Scala and Python. It works particularly well for a source code repository that contains many distinct projects. |
| - | Builds Java, Scala, and Python.;Adding support for new languages is straightforward.;Supports code generation: thrift, protocol buffers, custom code generators.;Resolves external JVM and Python dependencies.;Runs tests.;Spawns Python and Scala REPLs with appropriate load paths.;Creates deployable packages.;Scales to large repos with many interdependent modules.;Designed for incremental builds.;Support for local and distributed caching.;Especially fast for Scala builds, compared to alternatives.;Builds standalone python executables (PEX files);Has a plugin system to add custom features and override stock behavior.;Runs on Linux and Mac OS X. |
Statistics | |
GitHub Stars 17.6K | GitHub Stars 3.7K |
GitHub Forks 3.0K | GitHub Forks 674 |
Stacks 137.4K | Stacks 23 |
Followers 82.2K | Followers 86 |
Votes 1.6K | Votes 30 |
Pros & Cons | |
Pros
Cons
| Pros
|

Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.

RequireJS loads plain JavaScript files as well as more defined modules. It is optimized for in-browser use, including in a Web Worker, but it can be used in other JavaScript environments, like Rhino and Node. It implements the Asynchronous Module API. Using a modular script loader like RequireJS will improve the speed and quality of your code.

Browserify lets you require('modules') in the browser by bundling up all of your dependencies.

Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing web sites.

Yarn caches every package it downloads so it never needs to again. It also parallelizes operations to maximize resource utilization so install times are faster than ever.

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment.

Component's philosophy is the UNIX philosophy of the web - to create a platform for small, reusable components that consist of JS, CSS, HTML, images, fonts, etc. With its well-defined specs, using Component means not worrying about most frontend problems such as package management, publishing components to a registry, or creating a custom build process for every single app.

JitPack is an easy to use package repository for Gradle/Sbt and Maven projects. We build GitHub projects on demand and provides ready-to-use packages.

It is similar to Java's Maven and Ant. Its main features are: Native support for compiling Scala code and integrating with many Scala test frameworks.

Buck encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages on many platforms.