This commit is contained in:
Jérémy Lal 2014-07-07 02:23:26 +00:00
commit e6ed34de08
2 changed files with 22 additions and 11 deletions

View File

@ -16,10 +16,12 @@
}, },
"dependencies": { "dependencies": {
"async" : "~0.2.6", "async" : "~0.2.6",
"source-map" : "~0.1.33",
"optimist" : "~0.3.5", "optimist" : "~0.3.5",
"uglify-to-browserify": "~1.0.0" "uglify-to-browserify": "~1.0.0"
}, },
"optionalDependencies": {
"source-map" : "~0.1.33"
},
"browserify": { "browserify": {
"transform": [ "uglify-to-browserify" ] "transform": [ "uglify-to-browserify" ]
}, },

View File

@ -2,11 +2,16 @@ var path = require("path");
var fs = require("fs"); var fs = require("fs");
var vm = require("vm"); var vm = require("vm");
var sys = require("util"); var sys = require("util");
var sourceMap;
try {
sourceMap = require("source-map");
} catch(e) {
}
var UglifyJS = vm.createContext({ var UglifyJS = vm.createContext({
sys : sys, sys : sys,
console : console, console : console,
MOZ_SourceMap : require("source-map") MOZ_SourceMap : sourceMap
}); });
function load_global(file) { function load_global(file) {
@ -107,17 +112,21 @@ exports.minify = function(files, options) {
inMap = fs.readFileSync(options.inSourceMap, "utf8"); inMap = fs.readFileSync(options.inSourceMap, "utf8");
} }
if (options.outSourceMap) { if (options.outSourceMap) {
output.source_map = UglifyJS.SourceMap({ if (sourceMap) {
file: options.outSourceMap, output.source_map = UglifyJS.SourceMap({
orig: inMap, file: options.outSourceMap,
root: options.sourceRoot orig: inMap,
}); root: options.sourceRoot
if (options.sourceMapIncludeSources) { });
for (var file in sourcesContent) { if (options.sourceMapIncludeSources) {
if (sourcesContent.hasOwnProperty(file)) { for (var file in sourcesContent) {
output.source_map.get().setSourceContent(file, sourcesContent[file]); if (sourcesContent.hasOwnProperty(file)) {
output.source_map.get().setSourceContent(file, sourcesContent[file]);
}
} }
} }
} else {
console.error("source-map module is missing and needed by outSourceMap option");
} }
} }