Comparing version 0.4.12 to 0.4.13
@@ -0,0 +0,0 @@ #!/usr/bin/env node |
@@ -130,6 +130,7 @@ /* | ||
if(options.cache) { | ||
options.cache.get(filenameWithLoaders, function(err, source) { | ||
options.cache.get(filenameWithLoaders, function(err, cachedData) { | ||
if(err) return readFile(); | ||
modu.fromCache = true; | ||
processJs(null, source); | ||
cachedData = JSON.parse(cachedData); | ||
processParsedJs(cachedData.source, cachedData.deps); | ||
}); | ||
@@ -140,2 +141,3 @@ } else | ||
// Read the file and process it with loaders | ||
// [this step is cached] | ||
var cacheEntry; | ||
@@ -158,6 +160,7 @@ function readFile() { | ||
// process the finished javascript code | ||
// process the result delivered from loaders or direct from file | ||
// for inclusion into the result | ||
// (static code analysis for requires and other stuff) | ||
function processJs(err, source) { | ||
// [this step is cached] | ||
function processJs(err, resultBuffers, cacheable) { | ||
if(err) { | ||
@@ -167,4 +170,3 @@ callback(err); | ||
} | ||
if(cacheEntry && cacheEntry.saved) | ||
modu.toCache = true; | ||
var source = resultBuffers[0].toString("utf-8") | ||
var deps; | ||
@@ -177,2 +179,15 @@ try { | ||
} | ||
if(cacheable && cacheEntry) { | ||
modu.toCache = true; | ||
cacheEntry.save(JSON.stringify({ | ||
deps: deps, | ||
source: source | ||
})); | ||
} | ||
return processParsedJs(source, deps); | ||
} | ||
// process the final parsed javascript code | ||
function processParsedJs(source, deps) { | ||
modu.requires = deps.requires || []; | ||
@@ -179,0 +194,0 @@ modu.asyncs = deps.asyncs || []; |
@@ -16,4 +16,5 @@ /* | ||
* @param contents {Buffer[]} read contents | ||
* @param cacheEntry {CacheEntry} the cache entry to add dependencies | ||
* @param options {object} the options of the module system | ||
* @param callback {function} (err, resultingJavascriptCode) | ||
* @param callback {function} (err, arrayOfResultBuffers, allowCaching) | ||
*/ | ||
@@ -24,6 +25,3 @@ module.exports = function(context, request, loaders, filenames, contents, cacheEntry, options, callback) { | ||
// if no loaders are used, the file content is the resulting code | ||
var result = contents[0].toString("utf-8"); | ||
if(cacheEntry) | ||
cacheEntry.save(result); | ||
callback(null, result); | ||
callback(null, contents, true); | ||
} else { | ||
@@ -160,3 +158,3 @@ // try to load all loaders | ||
done = true; | ||
callback("Loader throwed exeception: " + (typeof e === "object" && e.stack ? e.stack : e)); | ||
callback(new Error("Loader throwed exeception: " + (typeof e === "object" && e.stack ? e.stack : e))); | ||
} else { | ||
@@ -171,8 +169,5 @@ // loader is already "done", so we cannot use the callback function | ||
} else { | ||
var result = args[0].toString("utf-8"); | ||
if(cacheEntry && cacheable) | ||
cacheEntry.save(result); | ||
callback(null, result); | ||
callback(null, args, cacheable); | ||
} | ||
} | ||
} |
@@ -11,2 +11,3 @@ var sprintf = require("sprintf").sprintf; | ||
buf.push("Hash: "+c("\033[1m") + stats.hash + c("\033[22m")); | ||
buf.push("Compile Time: "+c("\033[1m") + Math.round(stats.time) + "ms" + c("\033[22m")); | ||
buf.push("Chunks: "+c("\033[1m") + stats.chunkCount + c("\033[22m")); | ||
@@ -13,0 +14,0 @@ buf.push("Modules: "+c("\033[1m") + stats.modulesCount + c("\033[22m")); |
@@ -0,0 +0,0 @@ /* |
@@ -78,2 +78,47 @@ /* | ||
// Defaults | ||
if(!options.outputJsonpFunction) | ||
options.outputJsonpFunction = "webpackJsonp" + (options.libary || ""); | ||
options.scriptSrcPrefix = options.scriptSrcPrefix || ""; // DEPRECATED | ||
options.publicPrefix = options.publicPrefix || options.scriptSrcPrefix | ||
if(options.output) { | ||
if(!options.outputDirectory) { | ||
options.outputDirectory = path.dirname(options.output); | ||
options.output = path.basename(options.output); | ||
} | ||
if(!options.outputPostfix) { | ||
options.outputPostfix = "." + options.output; | ||
} | ||
} // else DEPRECATED | ||
options.parse = options.parse || {}; | ||
options.parse.overwrites = options.parse.overwrites || {}; | ||
options.parse.overwrites.process = options.parse.overwrites.process || ("__webpack_process"); | ||
options.parse.overwrites.module = options.parse.overwrites.module || ("__webpack_module+(module)"); | ||
options.parse.overwrites.console = options.parse.overwrites.console || ("__webpack_console"); | ||
options.parse.overwrites.global = options.parse.overwrites.global || ("__webpack_global"); | ||
options.parse.overwrites.Buffer = options.parse.overwrites.Buffer || ("buffer+.Buffer"); | ||
options.parse.overwrites["__dirname"] = options.parse.overwrites["__dirname"] || ("__webpack_dirname"); | ||
options.parse.overwrites["__filename"] = options.parse.overwrites["__filename"] || ("__webpack_filename"); | ||
options.resolve = options.resolve || {}; | ||
options.resolve.paths = options.resolve.paths || []; | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin", "web_modules")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin", "node_modules")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "node_modules")); | ||
options.resolve.alias = options.resolve.alias || {}; | ||
options.resolve.loaders = options.resolve.loaders || []; | ||
options.resolve.loaders.push({test: /\.coffee$/, loader: "coffee"}); | ||
options.resolve.loaders.push({test: /\.json$/, loader: "json"}); | ||
options.resolve.loaders.push({test: /\.jade$/, loader: "jade"}); | ||
options.resolve.loaders.push({test: /\.css$/, loader: "style!css"}); | ||
options.resolve.loaders.push({test: /\.less$/, loader: "style!css!val/cacheable!less"}); | ||
options.loader = options.loader || {}; | ||
options.loader.emitFile = options.loader.emitFile || function(filename, content) { | ||
options.internal.fileWrites.push([path.join(options.outputDirectory, filename), content]); | ||
} | ||
// Create a options.events as EventEmitter | ||
@@ -158,51 +203,10 @@ if(!options.events) options.events = new (require("events").EventEmitter)(); | ||
function webpack(context, moduleName, options, callback) { | ||
var startTime = new Date(); | ||
// Defaults | ||
if(!options.outputJsonpFunction) | ||
options.outputJsonpFunction = "webpackJsonp" + (options.libary || ""); | ||
options.scriptSrcPrefix = options.scriptSrcPrefix || ""; // DEPRECATED | ||
options.publicPrefix = options.publicPrefix || options.scriptSrcPrefix | ||
options.internal = {}; | ||
if(options.output) { | ||
if(!options.outputDirectory) { | ||
options.outputDirectory = path.dirname(options.output); | ||
options.output = path.basename(options.output); | ||
} | ||
if(!options.outputPostfix) { | ||
options.outputPostfix = "." + options.output; | ||
} | ||
} // else DEPRECATED | ||
options.parse = options.parse || {}; | ||
options.parse.overwrites = options.parse.overwrites || {}; | ||
options.parse.overwrites.process = options.parse.overwrites.process || ("__webpack_process"); | ||
options.parse.overwrites.module = options.parse.overwrites.module || ("__webpack_module+(module)"); | ||
options.parse.overwrites.console = options.parse.overwrites.console || ("__webpack_console"); | ||
options.parse.overwrites.global = options.parse.overwrites.global || ("__webpack_global"); | ||
options.parse.overwrites.Buffer = options.parse.overwrites.Buffer || ("buffer+.Buffer"); | ||
options.parse.overwrites["__dirname"] = options.parse.overwrites["__dirname"] || ("__webpack_dirname"); | ||
options.parse.overwrites["__filename"] = options.parse.overwrites["__filename"] || ("__webpack_filename"); | ||
options.resolve = options.resolve || {}; | ||
options.resolve.paths = options.resolve.paths || []; | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin", "web_modules")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "buildin", "node_modules")); | ||
options.resolve.paths.push(path.join(path.dirname(__dirname), "node_modules")); | ||
options.resolve.alias = options.resolve.alias || {}; | ||
options.resolve.loaders = options.resolve.loaders || []; | ||
options.resolve.loaders.push({test: /\.coffee$/, loader: "coffee"}); | ||
options.resolve.loaders.push({test: /\.json$/, loader: "json"}); | ||
options.resolve.loaders.push({test: /\.jade$/, loader: "jade"}); | ||
options.resolve.loaders.push({test: /\.css$/, loader: "style!css"}); | ||
options.resolve.loaders.push({test: /\.less$/, loader: "style!css!val/cacheable!less"}); | ||
options.loader = options.loader || {}; | ||
options.loader.emitFile = options.loader.emitFile || function(filename, content) { | ||
fileWrites.push([path.join(options.outputDirectory, filename), content]); | ||
} | ||
// all writes to files | ||
// items: [filename, content] | ||
var fileWrites = []; | ||
options.internal.fileWrites = fileWrites; | ||
@@ -374,6 +378,7 @@ // Some status info | ||
fileWrites.forEach(function(writeAction) { | ||
options.events.emit("task", "write " + writeAction[0]); | ||
fileSizeMap[path.basename(writeAction[0])] = writeAction[1].length; | ||
fs.writeFile(writeAction[0].replace(HASH_REGEXP, hash), writeAction[1], "utf-8", function(err) { | ||
options.events.emit("task-end", "write " + writeAction[0]); | ||
var writeActionFileName = writeAction[0].replace(HASH_REGEXP, hash) | ||
options.events.emit("task", "write " + writeActionFileName); | ||
fileSizeMap[path.basename(writeActionFileName)] = writeAction[1].length; | ||
fs.writeFile(writeActionFileName, writeAction[1], "utf-8", function(err) { | ||
options.events.emit("task-end", "write " + writeActionFileName); | ||
if(err) throw err; | ||
@@ -430,2 +435,3 @@ remFiles--; | ||
buffer.fileModules = fileModulesMap; | ||
buffer.time = new Date() - startTime; | ||
options.events.emit("task-end", "statistics"); | ||
@@ -432,0 +438,0 @@ options.events.emit("bundle", buffer); |
{ | ||
"name": "webpack", | ||
"version": "0.4.12", | ||
"version": "0.4.13", | ||
"author": "Tobias Koppers @sokra", | ||
@@ -5,0 +5,0 @@ "description": "Packs CommonJs Modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loading of js, json, jade, coffee, css, ... out of the box and more with custom loaders.", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
306021
8498