From: Ziad El Khoury Hanna Date: Tue, 13 Jun 2017 08:30:46 +0000 (+0200) Subject: fix CLI parsing of `--source-map content` (#2088) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=82db9188ac2f0a6ffa4c7ab4c7d4c0ade3d93de9;p=UglifyJS.git fix CLI parsing of `--source-map content` (#2088) fixes #2082 --- diff --git a/bin/uglifyjs b/bin/uglifyjs index 52708cc7..f4feb39a 100755 --- a/bin/uglifyjs +++ b/bin/uglifyjs @@ -371,7 +371,7 @@ function parse_js(flag, constants) { function parse_source_map() { var parse = parse_js("sourceMap", true); return function(value, options) { - var hasContent = options && options.sourceMap && "content" in options.sourceMap; + var hasContent = options && "content" in options; var settings = parse(value, options); if (!hasContent && settings.content && settings.content != "inline") { print_error("INFO: Using input source map: " + settings.content); diff --git a/test/input/issue-2082/sample.js b/test/input/issue-2082/sample.js new file mode 100644 index 00000000..f92e3a10 --- /dev/null +++ b/test/input/issue-2082/sample.js @@ -0,0 +1 @@ +console.log(x); \ No newline at end of file diff --git a/test/input/issue-2082/sample.js.map b/test/input/issue-2082/sample.js.map new file mode 100644 index 00000000..88b42f5a --- /dev/null +++ b/test/input/issue-2082/sample.js.map @@ -0,0 +1 @@ +{"version": 3,"sources": ["index.js"],"mappings": ";"} diff --git a/test/mocha/cli.js b/test/mocha/cli.js index 3228e4e3..fa6f1464 100644 --- a/test/mocha/cli.js +++ b/test/mocha/cli.js @@ -77,6 +77,23 @@ describe("bin/uglifyjs", function () { done(); }); }); + it("should not consider source map file content as source map file name (issue #2082)", function (done) { + var command = [ + uglifyjscmd, + "test/input/issue-2082/sample.js", + "--source-map", "content=test/input/issue-2082/sample.js.map", + "--source-map", "url=inline", + ].join(" "); + + exec(command, function (err, stdout, stderr) { + if (err) throw err; + + var stderrLines = stderr.split('\n'); + assert.strictEqual(stderrLines[0], 'INFO: Using input source map: test/input/issue-2082/sample.js.map'); + assert.notStrictEqual(stderrLines[1], 'INFO: Using input source map: {"version": 3,"sources": ["index.js"],"mappings": ";"}'); + done(); + }); + }); it("Should work with --keep-fnames (mangle only)", function (done) { var command = uglifyjscmd + ' test/input/issue-1431/sample.js --keep-fnames -m';