aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZiad El Khoury Hanna <zaygraveyard@users.noreply.github.com>2017-06-13 10:30:46 +0200
committerAlex Lam S.L <alexlamsl@gmail.com>2017-06-13 16:30:46 +0800
commit82db9188ac2f0a6ffa4c7ab4c7d4c0ade3d93de9 (patch)
treef25cf1a20d596598668f0e9b7d4a3b2ffb4bb6f9
parent3dc9e140e4300f1b3f4f9fa3744bf579163ad204 (diff)
downloadtracifyjs-82db9188ac2f0a6ffa4c7ab4c7d4c0ade3d93de9.tar.gz
tracifyjs-82db9188ac2f0a6ffa4c7ab4c7d4c0ade3d93de9.zip
fix CLI parsing of `--source-map content` (#2088)
fixes #2082
-rwxr-xr-xbin/uglifyjs2
-rw-r--r--test/input/issue-2082/sample.js1
-rw-r--r--test/input/issue-2082/sample.js.map1
-rw-r--r--test/mocha/cli.js17
4 files changed, 20 insertions, 1 deletions
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';