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 JSPM?
Ad
Ad
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
rollup
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Implements tree-shaking
Can reduce resulting bundle size by performing "tree-shaking" (removing unused parts of code).
See More
Top
Con
Async/await support lack
Doesn't support async/await out of the box for the time being, and there is no available working plugin to fill the gap.
See More
Top
Pro
Easy configuration
Simple config files
See More
Top
Pro
Small and fast installation
It's only one file.
See More
Top
Pro
Ideal for shipping es2015/ES6 modules
See More
Hide
Get it
here
12
0
stealjs
All
10
Experiences
Pros
9
Cons
1
Top
Pro
Supports several modules types
StealJS has support for AMD, CJS and ES6 module types.
See More
Top
Con
Changing the order of require statements causes unexpected behavior
Sometimes changing the order of the require statements in a JavaScript file loaded with stealjs may cause unexpected problems or even breaking the code altogether.
See More
Top
Pro
Support for LESS and CSS
StealJS can also load CSS and LESS files in addition to JavaScript modules.
See More
Top
Pro
Mix ES6 AMD and CommonJS
StealJS supports using all three module types, even in the same file.
See More
Top
Pro
ES6 module support
StealJs supports ES6 modules and their import and export methods without having to compile them to CommonJS require.
See More
Top
Pro
Support for ES6
StealJS supports transpiling of ES6 code to ES5
See More
Top
Pro
Supports all systemjs based plugins
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
Share the same modules client-side and server-side
Because StealJS 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
Tap into npm's huge module ecosystem
Using StelaJS 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
Hide
See All
Experiences
Get it
here
12
1
Volo
All
6
Experiences
Pros
5
Cons
1
Top
Pro
Automatically converts files to AMD for you
Volo is based around AMD, which is great for asynchronous loading, and if you try to add a non-AMD package, it will interactively ask you for its dependencies and exports.
See More
Top
Con
Does not store components in a registry
Volo installs components directly from urls and repositories, which makes it more susceptible to components being taken down, with fewer guarantees about their availability.
See More
Top
Pro
Provides command endpoints for task management
Volo also allows you to provide a volofile that lets you run various tasks. Volo provides a helper object for running cross platform command line commands, and also allows you to use binaries in node_modules or create your own.
See More
Top
Pro
Quickly bootstrap your project with templates
Volo has a create command that can copy template projects from GitHub, so you can get set up quickly.
See More
Top
Pro
Allows for extensible commands
Sometimes you might require some additional commands, other than the ones Volo provides; Volo has you covered in these cases as well. The package manager is extremely extensible at its core, and can be easily modified and extended.
See More
Top
Pro
Loads packages directly from Github
If any project exists on Github, that means you can use it along with Volo in your frontend projects.
See More
Hide
Get it
here
2
0
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
RequireJS
All
16
Experiences
Pros
12
Cons
4
Top
Pro
Works with basically every desktop browser, even IE6
RequireJS supports IE6+, FF2+, Safari3.2+, Chrome3+ & Opera 10+.
See More
Top
Con
On its way out
Latest stable release is 2 months old with little development occurring on Github.
See More
Top
Pro
Well documented
The RequireJS module loader is extremely well documented. So no matter whether you're a pro at JS based web development or just a newbie, you will find the documentation very helpful whenever you're stuck or just starting out. Everything is well-defined and logically placed in proper sections in a manner such that it is very easy to understand.
See More
Top
Con
Poor handling of circular references
If you create a circular reference between two files, it will typically quietly break - the reference on one side will end up undefined.
See More
Top
Pro
You don't need a server to get started
One of the best advantages of RequireJS over Browserify is that you don't need a nodejs environment to get started. Just "require" your dependencies and it takes care of loading them. By contrast, Browserify requires a running NodeJS implementation so you can build your one monolithic file, then you can push the file to your static web server.
See More
Top
Con
AMD spec uses globals
The global ‘require’ and ‘define’ methods make namespace collisions likely if building a 3rd party plugin. AMD loaders line require are best if you control the site.
See More
Top
Pro
Has a RequireJS optimizer
After building all the modules to be loaded, the built files can be optimized as well (minified and concatenated), even though this is a completely optional step, but doing so could be a lot beneficial for your site's performance.
See More
Top
Con
Can't handle CSS dependencies
See More
Top
Pro
Lazily-loaded JS can access already loaded modules by name
Yet its run-time is still competitive if not better than Webpack's at higher density levels of modules.
See More
Top
Pro
Always running site unbundled
With other loaders, aka browserify, it isn't possible to run your site without first bundling. Require.js can load everything async which is pretty powerful.
See More
Top
Pro
Supports nested dependencies
If your project has nested dependencies, you won't have to worry about resolving them at all. Because RequireJS will do that for you.
See More
Top
Pro
Well tested
Since the RequireJS is quite popular among the dev community, that automatically means that problems get sorted out very quickly and most of the core code has already been tested.
See More
Top
Pro
AMD & CJS support
While RequireJS is mainly an AMD implementation, it can, with rare exceptions, implement CJS as well.
See More
Top
Pro
Simple
Because of its easy to understand documentation, the RequireJS module loader is super simple to use; module definitions are as easy as defining just a key/value pair.
See More
Top
Pro
Can load new modules without being recompiled
It's the one of the few modules in this category that can handle IOC-style dependency injection. The others work well for apps that have knowable dependency lists at compile time, but this is the only one that can load new modules without being recompiled.
See More
Top
Pro
Supports hot RE-loading
Persistent console logging, generational statefulness, promotes stateless DOM development.
See More
Hide
See All
Experiences
Free
47
26
Jam
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Has a central package repository
A central repository provides more guarantees about the availability of the package. With requiring directly from repository urls, the entire project could potentially be taken down on a whim.
See More
Top
Con
Forced AMD compatibility means fewer libraries
AMD is currently not as popular as CommonJS modules, which means if a library isn't supported, you'll have to deal with it yourself.
See More
Top
Pro
Community is focused on client side javascript
Because Jam only manages Javascript and only works on the client side, you have the assurance that any packages listed are AMD compatible for asynchronous loading.
See More
Top
Pro
Architecture independent
Jam's only a front-end package manager, the rest of your server can be on a different architecture or framework. No matter what the architecture, Jam will integrate easily with it.
See More
Top
Pro
Provides the best AMD compatibility allowing for better asynchronous loading
Jam requires AMD (Asynchronous Module Definition), which means faster package loading, as it can be done asynchronously.
See More
Hide
Get it
here
3
3
Qoopido.demand
All
16
Experiences
Pros
16
Top
Pro
Supports localStorage caching
Modules will get loaded via XHR/XDR and get cached in localStorage to prevent further requests which improves performance escpecially on mobile
See More
Top
Pro
Fallback URLs
Any type of dependency can have multiple URLs defined to be used as fallback.
See More
Top
Pro
Additional support for loading HTML, CSS, JSON, and text
Loading is dealt with via handlers that are themselves modules (dynamically loaded and cached). Qoopido.demand comes with support for its own module format built-in and offers handlers for css, json and text. Due to handlersbeing modules themselves it is really easy to write custom handlers.
See More
Top
Pro
Optional support for SRI (sub resource integrity)
Support for SHA256, 384 and 512 identity checks for all types of loaded modules was added in version 2.0.7
See More
Top
Pro
Offers internal auto-bundling to reduce the number of requests
By taking advantage of auto-bundling, it means that demand itself will combine requests without the user having to manually define a bundle.
See More
Top
Pro
Supports sourcemaps
See More
Top
Pro
Optional lz-string compression of localStorage cache content
Cached modules can be optionally & automatically compressed with lz-string loading a plugin (included in the distribution) either globally or on a per module or even per path/part of path base.
See More
Top
Pro
Per module setting of cache parameters
Version 1.1.2 of Qoopido.demand adds the possibility to not only set global caching parameters valid for all modules but allows for fine grained cache control on a per module basis.
See More
Top
Pro
Can load new modules without being recompiled
It's the one of the few modules in this category that can handle IOC-style dependency injection. The others work well for apps that have knowable dependency lists at compile time, but this is one of the few that can load new modules without being recompiled.
See More
Top
Pro
Optional cookie support to communicate module caching state to the server
Cookie support within Qoopido.demand can be enabled globally or per module. Whenever the localStorage cache for a module changes an accompanying cookie gets updated/deleted so the server can handle the clients module caching state and, e.g., inline modules as long as the client das not have them in localStorage.
See More
Top
Pro
Supports loading of non-module scripts
Qoopido.demand offers loading of legacy scripts as if they were modules through probe functions. These probe functions are similiar to Require.js shim, but where shim allows only string parameters, Qoopido.demand's probes are JavaScript functions that can check whatever you want.
See More
Top
Pro
Promise like interface
Although not depending on native promise support it offers a promise like interface which greatly improves readability of code
See More
Top
Pro
Supports nested dependencies
Dynamically loaded modules can have further dependencies that will get dynamically resolved and loaded
See More
Top
Pro
localStorage caching removes the need to bundle
It enables and encourages the development of atomic modules that do not necessarily have to get bundled (manually or via build-process) to gain performance
See More
Top
Pro
Support for legacy browsers
Qoopido.demand has recently added support for legacy browsers. Including IE8.
See More
Top
Pro
Supports loading of bundles
From version 1.1.1 onwards Qoopido.demand is able to load multiple concatenated modules in a single request (like jsdelivr) while maintaining automatic module resolution.
See More
Hide
See All
Experiences
Free
4
0
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
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
Angular
All
3
Experiences
Pros
1
Cons
2
Top
Pro
Great tooling and language support
Very good CLI and webpack, bundling, testing, deployment support. Deep TypeScript integration and support.
See More
Top
Con
Slightly over-engineered
Very enterprisey - made for huge architectures and with tons of declarative, non-intuitive annotations it makes it overkill for very small projects.
See More
Top
Con
Native i18n support over-engineered
Not developer-friendly. Switching languages need reloading the whole page. There are third party solutions that work better.
See More
Hide
Get it
here
28
5
module-concat
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Supports Client-side Browser Projects
Provides some support for concatenating client-side browser JavaScript modules. Also, can process the browser property in package.json.
See More
Top
Con
Not a full-featured bundler
This doesn't handle CSS or HTML stuff. It only bundles JavaScript files.
See More
Top
Pro
Supports languages that compile to JS
For example, CoffeeScript is supported using the compilers option.
See More
Top
Pro
Lightweight
This library just concatenates CommonJS modules together into a single *.js file. Nothing else. It only uses 1 dependency: resolve
See More
Hide
0
1
0
SystemJS
All
6
Experiences
Pros
6
Top
Pro
Supports multiple module formats
SystemJS supports AMD, CommonJS and ES6 modules.
See More
Top
Pro
Can load static assets through plugins
System.js supports loading static assets such as images or stylesheets through loader plugins.
See More
Top
Pro
No tools needed in dev, can seamlessly bundle when moving to prod
See More
Top
Pro
Concise, Granular Configuration
See More
Top
Pro
Easy to migrate to
A migration from RequireJS + loadCSS to only SystemJS can be done in only 2.5 hours.
See More
Top
Pro
Even its dev. build is smaller than most of its competitors prod. build
With ~15Kb, its development build can load almost any type of JS module.
See More
Hide
free
13
6
Curl.js
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Size ~4KB (gzipped)
See More
Top
Con
Development has stopped
The maintainers have announced that all development for CurlJS has stopped, at least for the foreseeable future.
See More
Top
Pro
Async loading on demand
Async loading on demand including loadings from cdns. For example it is easy to load jquery from cdn as a module. The same thing is not that easy to achieve in Webpack
See More
Top
Pro
Provides legacy loader
Legacy loader supports loading of plain js files and exporting globals or even expressions.
See More
Top
Pro
AMD & CJS module support
Supports both AMD and CommonJS modules.
See More
Hide
Get it
here
1
1
Gourmet
All
8
Experiences
Pros
4
Cons
4
Top
Con
Feature set is unclear
See More
Top
Pro
Friendly asset handling
Auto-asset inclusion, native CSS support, and flexible bundling make handling your assets simple.
See More
Top
Con
Not available yet
See More
Top
Pro
ES6 support
Supports ES6 syntax by default.
See More
Top
Con
Zero documentation
See More
Top
Pro
Easy configuration
Declarative configuration makes project setup easy.
See More
Top
Con
Browser support unknown
See More
Top
Pro
Isomorphic rendering by default
The runtime environment allows for isomorphic rendering of React applications by default.
See More
Hide
See All
Experiences
Get it
here
1
4
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