mirror of https://github.com/webpack/webpack.git
Fixed caching
This commit is contained in:
parent
d85324c9fd
commit
b5b672233f
|
|
@ -21,6 +21,13 @@ SourceMapDevToolPlugin.prototype.apply = function(compiler) {
|
|||
chunks.forEach(function(chunk) {
|
||||
chunk.files.slice().forEach(function(file) {
|
||||
var asset = this.assets[file];
|
||||
if(asset.__SourceMapDevTool_Data) {
|
||||
var data = asset.__SourceMapDevTool_Data;
|
||||
for(var file in data) {
|
||||
this.assets[file] = data[file];
|
||||
}
|
||||
return;
|
||||
}
|
||||
var sourceMap = asset.map();
|
||||
if(sourceMap) {
|
||||
for(var i = 0; i < sourceMap.sources.length; i++) {
|
||||
|
|
@ -40,17 +47,18 @@ SourceMapDevToolPlugin.prototype.apply = function(compiler) {
|
|||
sourceMap.sources[i] = str;
|
||||
}
|
||||
sourceMap.sourceRoot = "webpack-module://";
|
||||
asset.__SourceMapDevTool_Data = {};
|
||||
if(sourceMapFilename) {
|
||||
var sourceMapFile = sourceMapFilename
|
||||
.replace(Template.REGEXP_FILE, file)
|
||||
.replace(Template.REGEXP_FILEBASE, basename(file))
|
||||
.replace(Template.REGEXP_HASH, this.hash)
|
||||
.replace(Template.REGEXP_ID, chunk.id);
|
||||
this.assets[file] = new ConcatSource(asset, "\n/*\n//@ sourceMappingURL=" + sourceMapFile + "\n*/");
|
||||
this.assets[sourceMapFile] = new RawSource(JSON.stringify(sourceMap));
|
||||
asset.__SourceMapDevTool_Data[file] = this.assets[file] = new ConcatSource(asset, "\n/*\n//@ sourceMappingURL=" + sourceMapFile + "\n*/");
|
||||
asset.__SourceMapDevTool_Data[sourceMapFile] = this.assets[sourceMapFile] = new RawSource(JSON.stringify(sourceMap));
|
||||
chunk.files.push(sourceMapFile);
|
||||
} else {
|
||||
this.assets[file] = new ConcatSource(asset, "\n/*\n//@ sourceMappingURL=data:application/json;base64," + base64Encode(JSON.stringify(sourceMap)) + "\n*/");
|
||||
asset.__SourceMapDevTool_Data[file] = this.assets[file] = new ConcatSource(asset, "\n/*\n//@ sourceMappingURL=data:application/json;base64," + base64Encode(JSON.stringify(sourceMap)) + "\n*/");
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,12 @@ UglifyJsPlugin.prototype.apply = function(compiler) {
|
|||
});
|
||||
files.forEach(function(file) {
|
||||
try {
|
||||
var input = compilation.assets[file].source();
|
||||
var asset = compilation.assets[file];
|
||||
var input = asset.source();
|
||||
if(asset.__UglifyJsPlugin) {
|
||||
compilation.assets[file] = asset.__UglifyJsPlugin;
|
||||
return;
|
||||
}
|
||||
var inputSourceMap = compilation.assets[file].map();
|
||||
var ast = uglify.parse(input, {
|
||||
filename: file
|
||||
|
|
@ -56,7 +61,7 @@ UglifyJsPlugin.prototype.apply = function(compiler) {
|
|||
ast.print(stream);
|
||||
map = map + "";
|
||||
stream = stream + "";
|
||||
compilation.assets[file] = new SourceMapSource(stream, file, map, input, inputSourceMap);
|
||||
asset.__UglifyJsPlugin = compilation.assets[file] = new SourceMapSource(stream, file, map, input, inputSourceMap);
|
||||
} catch(err) {
|
||||
err.file = file;
|
||||
compilation.warnings.push(err);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ app.configure(function() {
|
|||
dedupe: true
|
||||
},
|
||||
hot: true,
|
||||
cache: true,
|
||||
recordsPath: path.join(__dirname, "webpack.records.json"),
|
||||
output: {
|
||||
publicPath: "http://localhost:8080/js/",
|
||||
|
|
|
|||
Loading…
Reference in New Issue