Feature webpack/webpack jrburke/requirejs substack/node-browserify jspm/jspm-cli rollup/rollup
    CommonJs require yes only wrapping in define yes yes commonjs-plugin
    CommonJs require.resolve yes no no no no
    CommonJs exports yes only wrapping in define yes yes commonjs-plugin
    AMD define yes yes deamdify yes no
    AMD require yes yes no yes no
    AMD require loads on demand yes with manual configuration no yes no
    ES2015 import/export no no no yes yes
    Generate a single bundle yes yes♦ yes yes yes
    Load each file separate no yes no yes no
    Multiple bundles yes with manual configuration with manual configuration yes no
    Additional chunks are loaded on demand yes yes no System.import no
    Multi pages build with common bundle with manual configuration yes with manual configuration with bundle arithmetic no
    Concat in require require("./fi" + "le") yes no♦ no no no
    Indirect require var r = require; r("./file") yes no♦ no no no
    Expressions in require (guided) require("./templates/" + template) yes (all files matching included) no♦ no no no
    Expressions in require (free) require(moduleName) with manual configuration no♦ no no no
    Requirable files file system web file system through plugins file system or through plugins
    Plugins yes yes yes yes yes
    Preprocessing loaders, transforms loaders transforms plugin translate plugin transforms
    Watch mode yes not required yes not needed in dev no
    Debugging support SourceUrl, SourceMaps not required SourceMaps SourceUrl, SourceMaps SourceUrl, SourceMaps
    Node.js built-in libs require("path") yes no yes yes node-resolve-plugin
    Other Node.js stuff process, __dir/filename, global - process, __dir/filename, global process, __dir/filename, global for cjs global (commonjs-plugin)
    Replacement for browser web_modules, .web.js, package.json field, alias config option alias option package.json field, alias option package.json, alias option no
    Minimizing uglify uglify, closure compiler uglifyify yes uglify-plugin
    Mangle path names yes no partial yes not required (path names are not included in the bundle)
    Runtime overhead 243B + 20B per module + 4B per dependency 14.7kB + 0B per module + (3B + X) per dependency 415B + 25B per module + (6B + 2X) per dependency 5.5kB for self-executing bundles, 38kB for full loader and polyfill, 0 plain modules, 293B CJS, 139B ES6 System.register before gzip none for ES2015 modules (other formats may have)
    Dependencies 19MB / 127 packages 11MB / 118 packages 1.2MB / 1 package 26MB / 131 packages ?MB / 3 packages

    ♦ in production mode (opposite in development mode)

    X is the length of the path string