You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Tobias Koppers f944553c77
webpack 0.10
10 years ago
bin added experimental deduplication support #47 10 years ago
buildin Moved node libs for browser into separate package 10 years ago
examples only add deduplicate code if deduplicated modules are in the chunk. 10 years ago
lib fixed bugs 10 years ago
test removed the last TODO :) 10 years ago
.gitattributes examples should have normalized line endings 10 years ago
.gitignore Renamed *libary* to *library* 10 years ago
.npmignore updated ignores 11 years ago
.travis.yml test node version 0.10 10 years ago
LICENSE Readme and license 10 years ago more links in readme 10 years ago
bm.js ? 10 years ago
package.json webpack 0.10 10 years ago




webpack is a bundler for modules. The main purpose is to bundle javascript files for usage in browser.


  • bundles CommonJs, AMD and/or Labeled Modules modules. (even combined)
  • can create a single bundle or a bunch of chunks loaded on demand, to reduce initial loading time.
  • dependencies are resolved while compiling, this makes the runtime very small
  • loader can preprocess files while compiling, i. e. coffee-script to javascript

Check the documentation if you want to know more...


Take a look at the examples folder.


A small example what's possible

var commonjs = require("./commonjs");
require: "./labeled";
define(["amd-module", "./file"], function(amdModule, file) {
	require(["big-module/big/file"], function(big) {
		// AMD require acts as split point
		// and "big-module/big/file" is only downloaded when requested
		var stuff = require("../my/stuff");
		// dependencies automatically goes in chunk too

// The loader syntax allows to proprocess files
// for common stuff you can bind RegExps to loaders
// if you also add ".coffee" to the default extensions
// you can write:

function loadTemplate(name) {
	return require("./templates/" + name ".jade");
	// dynamic requires are supported
	// while compiling we figure out what can be requested
	// here everything in "./templates" that matches /^.*\.jade$/
	// (can also be in subdirectories)

// you can chain loaders
// you can configure loaders with query parameters
// and loaders resolve similar to modules

// can combine everything
function loadTemplateAsync(name, callback) {
	require(["bundle?lazy!./templates/" + name + ".jade"], function(templateBundle) {




You can run the unit tests with npm test. build status

You can run the browser tests:

cd test/browsertests
node build

and open tests.html in browser.


You are welcome to contribute by writing issues or pull requests.
It would be nice if you open source your own loaders or webmodules. :)

You are also welcome to correct any spelling mistakes or any language issues, because my english is not perfect...


Copyright (c) 2012-2013 Tobias Koppers



Dependency Status