Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
What is the best alternative to Fly?
Ad
Ad
NPM
All
15
Experiences
Pros
7
Cons
7
Specs
Top
Pro
Compatible with any CLI
NPM is compatible with any CLI the developer wants to use.
See More
Top
Con
Custom tasks require additional keyword 'run'
Only a few standard tasks support being executed without the run keyword (e.g., npm start vs npm run customtask)
See More
Top
Pro
Plenty of helpful NPM modules/plugins
NPM has a strong community that has developed plenty of libraries and plugins that are useful to developers.
See More
Top
Con
Not a build system, only a task runner
It is supposed to be used for running gulp, webpack or whatever. But it is not supposed to be used as a build system.
See More
Top
Pro
Very concise configuration
NPM scripts require fewer lines of code to run a given task. This is true even when it's for running build processes. Using Unix pipes lots of tasks can be reduced to one-liners.
See More
Top
Con
Passing parameters is awkward
In order to pass additional parameters to npm you must add them after -- (e.g., npm run build -- --custom='foo').
See More
Top
Pro
Does not need any wrapper modules
With other task runners, you need to install wrapper modules for tools you may already have installed. When using NPM that's not necessary, to use the tools you need, just install them directly through NPM.
See More
Top
Con
Badly documented
Less than bare minimum official documentation leaves users in the dark without taking often expensive external courses. Even the --help text has unpluggable gaps. One official source notes the documentation isn't adequate yet nothing has been done to fix this.
See More
Top
Pro
Part of node.js distribution
See More
Top
Con
Lot of issues with authentication and random node problems
Unable to recover from common depencies conflicts consistantly. Error messages are not always helpful to debugging. Doesn't account well for users with different versions of node.
See More
Top
Pro
You're most likely using NPM already
See More
Top
Con
Does not run well with Windows
Since a lot of projects that use NPM as a build tool most of the time make use of Bash scripts as well. This means that open source projects that run the command npm run may run into issues when used in a Windows environment.
See More
Top
Pro
Uncomplicated package management system
When it works...
See More
Top
Con
Doesn't allow you to create build process with complicated logic on its own
In complex heterogeneous app you will quickly migrate to gulp, webpack or whatever leaving to NPM only simple task running responsibility.
See More
Specs
Number of Plugins:
100.000+
Task instruction style:
Configuration
Processing method:
Pipeline
Hide
See All
Experiences
Get it
here
58
7
Gulp
All
17
Experiences
Pros
11
Cons
5
Specs
Top
Pro
Large plugin ecosystem
Currently gulp offers a selection of 1000+ plugins and it is growing rapidly.
See More
Top
Con
Dead
Gulp is dead, hasn't been updated in 4 years.
See More
Top
Pro
Focuses on code instead of configuration
This depends on your style, but gulp is closer to the code, the actual execution isn't hidden by multiple layers and it's much easier to customize the build system without writing bloated modules. This also brings rather small configuration files.
See More
Top
Con
Rapidly changing API
While it's good that the gulp maintainers want the api to be as good as possible, it comes at the expense of stability. The upcoming gulp 4.0 release has another update to the way dependency management works which will require everyone to update their build scripts. It also makes it hard to look up information on best practices as the best practices keep changing, making a lot of the blog posts and questions about gulp out of date.
See More
Top
Pro
Allows creating task dependencies
Any task can be set to have other tasks as dependencies. The dependencies are specified through piping streams, and tasks run concurrently if they do not block in dependencies.
See More
Top
Con
You need to know some limitations that are not very intuitive
There are some features in Gulp which may not be very intuitive, or that otherwise should have been the default features instead of having to implement them through arguments. For example, to keep the correct folder structure when you are copying a file, you have to add {base: "lib/"} as an argument.
See More
Top
Pro
It is possible to use projects that use streams without plugins
Since Gulp just uses streams at its core, you don't actually need a plugin wrapper to use a project that uses streams. If you use this approach, the you don't even have to worry about plugin maintenance at all, and get the bleeding edge updates as soon as they come out even if the plugin hasn't been updated. It also means if a project happens to not have a plugin, you don't need to write a new one, you can just use it as is.
See More
Top
Con
No incremental building
See More
Top
Pro
Streaming build system makes it easier to apply code transformations
In gulp, it's easy to pipe multiple steps together which you commonly need with build systems. For example, you may need to compile the javascript source files, then package them together, and then minify it. The streaming system makes this much easier. Additionally, it improves performance since all operations are done in memory (compared to I/O operations) and avoids the need of unnecessarily compiling files (compared to Grunt that has to compile all files even if just one has changed).
See More
Top
Con
Not suited for big and complex apps
Writing gulpfile for complex app which consists of many source types is very cumbersome and flawy process. You'll know when you want to move to webpack.
See More
Top
Pro
Chaining API that's simple and elegant
In Gulp, the transforms are performed through chains which makes it easier to understand the order of operations, and easier to modify it.
See More
Top
Pro
Concurrency allows for high-speed perfomance
Because streams in Gulp use pipes to establish dependency order, they are parallel by default without having to rely on plugins or hacks.
See More
Top
Pro
Minimizes disk operations for improved performance
Because Gulp is built using streams, it can store intermediate transformations in memory and defer writing to disk until the very end. This improves performance by not requiring expensive blocking disk operations for task dependencies.
See More
Top
Pro
The configuration file is easily readable
Gulp's configuration file is actually very readable because it's actual JavaScript instead of a large file of JSON objects. The entry barrier is very low for developers who have never used a task runner before and it's API is very simple, with only 4 methods.
See More
Top
Pro
Gulp modules are usable without Gulp
Because Gulp is built on top of the streaming API, you don't actually need gulp to use them. This could be helpful if you want to re-use those modules outside of gulp, possibly for testing, and using the same modules would be more consistent.
See More
Top
Pro
Gulp tasks run from terminal
See More
Specs
Task instruction style:
code
Hide
See All
Experiences
Get it
here
110
12
Brunch
All
5
Experiences
Pros
4
Specs
Top
Pro
Compilation is super fast
According to speed benchmarks, Brunch is one of the fastest tools around for compiling files. According to the authors of Brunch the reason behind this speed is that it recompiles only the changes that were made to an app and performs extensive caching of the app's code.
See More
Top
Pro
Time to setup is extremely low
After installing Brunch the next step is to load a skeleton from git.io/skeletons. This step is as easy as installing another plugin from the npm registry, just point Brunch to the path of the required skeleton/generator then wait for it to work out its magic. Next, run brunch build then wait for a second or two and voila! the project is ready.
See More
Top
Pro
The configuration file is small and the configuration itself is fast and easy
Brunch's config files can be extremely small compared to other alternatives. The fact that brunch also allows you to chose from a number of generators also lowers the configuration time considerably.
See More
Top
Pro
Concatenates scripts and styles and auto-generates matching source maps
Brunch automatically produces a source map for all javascript files and CSS stylesheets whenever it minifies an app's resources. This little feature is extremely helpful when debugging is required at the client end.
See More
Specs
Number of Plugins:
~100
Task instruction style:
Code
Processing method:
Pipeline
Hide
Get it
here
18
3
Yarn
All
12
Experiences
Pros
11
Cons
1
Top
Pro
The same results will be yielded every time yarn is run in a repository
One of the most important aspects of Yarn is determinism (predictability). The lock file ensures that the same dependencies will always be installed in the same way and order regardless of the machine for a given repository.
See More
Top
Con
Takes up disk space
Yarn adds to your disk space usage since it stores dependencies locally.
See More
Top
Pro
Can tell you why a package was installed
yarn why <query> can tell you why a package was installed and what other packages depend on it.
See More
Top
Pro
Good network performance
Yarn efficiently queues up requests and avoids request waterfalls in order to maximize network utilization.
See More
Top
Pro
Offline mode
If you've installed a package before, you can install it again without any internet connection.
See More
Top
Pro
Flat Mode
Resolve mismatching versions of dependencies to a single version to avoid creating duplicates.
See More
Top
Pro
Multiple registries
Install any package from either npm or Bower and keep your package workflow the same.
See More
Top
Pro
Network resilience
A single request failing won't cause an install to fail. Requests are retried upon failure.
See More
Top
Pro
Good documentation
It looks like it has good documentation.
See More
Top
Pro
Security is put at the forefront
Even though it's still in its early stages of development, security is one of the core values on which Yarn is built. It uses checksums to verify the integrity of every package before executing its code. This also helps avoiding errors related to faulty caching or captive portals. Further steps are also being taken to improve the security of Yarn which will be implemented in the future.
See More
Top
Pro
Built by the community for the community
Even though it's backed by Facebook, Yarn is built as a community project first and foremost. It's completely open source and hosted on Github. It's released under a standard open source client and has its own GitHub organization and set up to work under the same governance model that other successful projects have used in the past, such as Rust and Ember. All of this means that both existing and new contributors will always work together to improve the product and introduce new features while also keeping in mind suggestions coming from the community.
See More
Top
Pro
Backed by Facebook and Google
Was created in a collaboration of Facebook with Exponent, Google and Tilde.
See More
Hide
See All
Experiences
FREE
53
8
Broccoli
All
7
Experiences
Pros
3
Cons
3
Specs
Top
Pro
Brocfile fairly straightforward and small
See More
Top
Con
Windows not fully supported
See More
Top
Pro
Rebuilds are really fast
In larger apps rebuilds get slower and slower as the size of the application increases. Broccoli deals with this by building only the files that were changed and intelligently figuring out their dependencies. This leads to rebuilds being of O(1) constant-time (in Software Engineering terms).
See More
Top
Con
Assumptions about your project limit what you can do
Assumes you want to always output to single output directory. This directory must not exist at the time of running. It also (therefore) can't be your current directory. This puts broccoli slightly out of the class of a truly general "task runner".
See More
Top
Pro
Chainable plugins
With broccoli developers can chain plugins. var tree = broccoli.makeTree('lib') tree = compileCoffeeScript(tree) tree = uglifyJS(tree) return tree
See More
Top
Con
Small community
Broccoli's community is still relatively small and not very active, at least compared to it's competitors. This leads to fewer plugins, guides and less support from developers for any problem that you may face using Broccoli.
See More
Specs
Number of Plugins:
200+
Task instruction style:
Configuration
Processing method:
Pipeline
Hide
See All
Experiences
Get it
here
5
1
Webpack
All
11
Experiences
Pros
9
Cons
2
Top
Pro
Rich and flexible plugin infrastructure
Plugins and loaders are easy to write and allow you to control each step of the build, from loading and compiling CoffeeScript, LESS and JADE files to smart post processing and asset manifest building.
See More
Top
Con
Config file may be hard to understand
Due to a somewhat hard to grasp syntax, configuring Webpack may take some time.
See More
Top
Pro
Tap into npm's huge module ecosystem
Using Webpack opens you up to npm, that has over 80k modules of which a great amount work both client-side and server-side. And the list is growing rapidly.
See More
Top
Con
Can not load files discovered during runtime
See More
Top
Pro
Can create a single bundle or multiple chunks loaded on demand, to reduce initial loading time
Webpack allows you to split your codebase into multiple chunks. Chunks are loaded on demand. This reduces the initial loading time.
See More
Top
Pro
Supports source maps for easier debugging
Source maps allow for easier debugging, because they allow you to find the problems within the origin files instead of the output file.
See More
Top
Pro
ES6 module support
Webpack supports ES6 modules and their import and export methods without having to compile them to CommonJS require
See More
Top
Pro
Share the same modules client-side and server-side
Because Webpack allows you to use the same require() function as node.js, you can easily share modules between the client-side and server-side.
See More
Top
Pro
Bundles CommonJs and AMD modules (even combined)
Webpack supports AMD and CommonJS module styles. It performs clever static analysis on the AST of your code. It even has an evaluation engine to evaluate simple expressions. This allows you to support most existing libraries.
See More
Top
Pro
Mix ES6 AMD and CommonJS
Webpack supports using all three module types, even in the same file.
See More
Top
Pro
Limit plugin integration issues
See More
Hide
See All
Experiences
Get it
here
107
17
GNU Make
All
5
Experiences
Pros
3
Cons
1
Specs
Top
Pro
Uses the full power of the UNIX shell
Make takes advantage of the powerful UNIX shell, using it at it's full potential. STDIN and STDOUT are especially useful because of their versatility.
See More
Top
Con
Doesn't run on Windows by default
Make requires Cygwin/msys2/MinGW to run on Windows.
See More
Top
Pro
No need for wrapper modules
Other build tools need wrapper modules to do certain tasks. The biggest disadvantage of these wrapper modules is that they bind you to a version of that tool. With Make you don't have that problem, there's no need for wrappers and no tools to bind you to a version, you can use any version of Make that you want.
See More
Top
Pro
Works with more than just node.js
Since it's written in C and can be found in all UNIX-based systems it can be used on platforms other than node.js.
See More
Specs
Platforms:
Unix, Linux, Windows, Mac
Hide
Get it
here
56
13
Pint
All
11
Experiences
Pros
8
Cons
2
Specs
Top
Con
Potentially unsupported
No activity on repo in 2 years as of Oct 2015
See More
Top
Pro
Uncertainties integration
Transparently handles calculations with quantities with uncertainties (like 3.14±0.01) meter via the uncertainties package.
See More
Top
Con
Configuration files are bloated and long
Pint's configuration files are the same as Grunt's. Meaning that they are long and hard to read, especially for new users.
See More
Top
Pro
Supports both Python 2 and Python 3
A single codebase that runs unchanged in Python 2.7+ and Python 3.0+.
See More
Top
Pro
NumPy compatibility
It supports a lot of numpy mathematical operations without monkey patching or wrapping numpy.
See More
Top
Pro
Supports any numerical type
Supports fraction, float, decimal, numpy.ndarray, etc.
See More
Top
Pro
Uses jobs to prevent bloated build files
Using Grunt in complex projects can lead to extremely bloated build files. Pint resolves this issue by introducing Jobs, a job is basically a set of Grunt tasks that are related to a particular build step. Using this method the build code remains organized in different job files, for example one for js compilation and one for CSS preprocessing. When the build process is started, Pint starts running these job files which in turn build the project. Here's a sample Pintfile.js further demonstrating the concept of jobs in PintJS.
See More
Top
Pro
Faster builds with built-in concurrency
Every job in a build process may depend on something before it. A simple example would be copying of the minified files to the dist directory, this task needs to be performed after the compilation is complete. What Pint does is that it lets the user declare the dependencies within each job in a dependsOn array. Hence whenever PintJS starts the build process it first generates an internal dependency model so that the build could be parallelized by spawning up new Grunt processes wherever possible resulting in the complete build process being concurrent (and really fast!).
See More
Top
Pro
Takes advantage of Grunt's huge plugin ecosystem
Pint is built on Grunt, so it can use Grunt's plugins. Grunt has a plugin for pretty much any need with over 4000 plugins currently available.
See More
Top
Pro
Simplified build lifecycle
In some projects there are tasks that aren't related to the build at all. These can be simple tasks such as pulling the GIT SHA or reading the package.json file into variables. With Pint these additional tasks can be defined in the build file too. This is made possible by providing users with an initializr and a finalizr; inside the initialize callback, tasks such as generation of a list of test files or reading the package.json file can be defined, while in the finalize callback users can define moving of the build files or pushing the source maps to their server.
See More
Specs
Number of Plugins:
4000+
Task instruction style:
Configuration
Processing method:
File-based
Hide
See All
Experiences
Get it
here
8
3
Grunt
All
13
Experiences
Pros
8
Cons
4
Specs
Top
Con
Grunt compatibility issues
Changes in different versions in grunt are not always backwards-compatible.
See More
Top
Pro
Configurations are easy to write
Grunt emphasizes configuration over code. As such grunt configurations are easy to write. Writing them does not require knowledge of streams, promises, concurrency, or asynchronous tasks to set up.
See More
Top
Con
Large bloated configuration files
To configure Grunt, developers need to basically write large files and configure JSON objects. While it's very powerful, the sheer complexity of it's configuration file may be a large obstacle for newcomers and developers that have not used any automation tools before. This may push them to search for simpler alternatives.
See More
Top
Pro
Has tons of plugins
Grunt has been available for a long time and during this time it has garnered a large community of dedicated developers who have made more than 4000 grunt plugins available to be used.
See More
Top
Con
Grunt lost mindshare in general
Grunt can only do what the individual plugins allow it to do. New tools aren't always being made available for Grunt, nor are they always being updated as quickly, so you're stuck with an aging ecosystem.
See More
Top
Pro
Plugins configured out of the box
The default behaviors for most plugins is normally what you want, so if you just use a plugin without configuring it, it will work for most use cases.
See More
Top
Con
The need to track creation/movement of files
Debugging and augmenting grunt pipelines are much harder than other build systems that clearly show the pipelines in the code. Grunt works on files so you must track where each task puts files and try and intercept that in a task if you want to add something in the middle of a build pipeline.
See More
Top
Pro
A GUI front-end via spock
A graphical user interface for grunt is available via spock.
See More
Top
Pro
Choice of using it as a config file or writing your own functions
You can use Grunt as a config file or JavaScript by writing your functions via Node Modules.
See More
Top
Pro
Grunt v1.0 alpha uses Orchestrator for maximum concurrency
Grunt version 1 alpha, aka grunt-next, the upcoming next major release of Grunt, uses Orchestrator to sequence and execute tasks and dependencies with maximum concurrency, potentially bringing it up to speed with Gulp in term of performance.
See More
Top
Pro
An API that makes writing and using of plugins extremely easy
The API is built in such a way that if you write a Grunt task that is useful for someone else out there or would be useful for future projects, it can be easily made into a grunt plugin and then shared using npm.
See More
Top
Pro
Shell commands inside Grunt
There is a Grunt plugin called grunt-exec which allows developers to execute shell commands inside their Grunt files. This is extremely easy if a developer is developing only in Node and constantly getting out of Node environment to run something like a git command can become frustrating.
See More
Specs
Number of Plugins:
4000+
Task instruction style:
Configuration
Processing method:
FIle-based
Hide
See All
Experiences
Get it
here
34
16
Gobble
All
4
Experiences
Pros
2
Cons
1
Specs
Top
Pro
Debuggable
Using Gobble is even easier when you consider the fact that it's extremely debuggable.
See More
Top
Con
Still in active development
Since Gobble is still in active development it's API may change and it's documentation is not fully ready yet.
See More
Top
Pro
Very easy to write plugins
Gobble's API is very easy to learn and very intuitive. This makes it very easy for developers to write different plugins for tasks that they may need.
See More
Specs
Number of Plugins:
~50
Task instruction style:
Configuration
Processing method:
File-based
Hide
Get it
here
0
1
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
{}
undefined
url next
price drop