diff --git a/CHANGELOG.md b/CHANGELOG.md index a0f927324c..010bca804f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.12.20 + + * Append `sourceMappingURL` when using `bin/6to5` and output sourcemaps. + # 1.12.19 * Add `comments` option and `--remove-comments` flag. Thanks @[webpro](htps://github.com/webpro)! diff --git a/bin/6to5/dir.js b/bin/6to5/dir.js index 9854f33472..376d0bf571 100644 --- a/bin/6to5/dir.js +++ b/bin/6to5/dir.js @@ -19,7 +19,9 @@ module.exports = function (commander, filenames, opts) { mkdirp.sync(up); if (commander.sourceMaps) { - fs.writeFileSync(dest + ".map", JSON.stringify(data.map)); + var mapLoc = dest + ".map"; + data.code = util.addSourceMappingUrl(data.code, mapLoc); + fs.writeFileSync(mapLoc, JSON.stringify(data.map)); } fs.writeFileSync(dest, data.code); diff --git a/bin/6to5/file.js b/bin/6to5/file.js index 82112f8cfb..73c0f19a7f 100644 --- a/bin/6to5/file.js +++ b/bin/6to5/file.js @@ -56,7 +56,9 @@ module.exports = function (commander, filenames) { if (commander.outFile) { if (commander.sourceMaps) { - fs.writeFileSync(commander.outFile + ".map", JSON.stringify(result.map)); + var mapLoc = commander.outFile + ".map"; + result.code = util.addSourceMappingUrl(result.code, mapLoc); + fs.writeFileSync(mapLoc, JSON.stringify(result.map)); } fs.writeFileSync(commander.outFile, result.code); diff --git a/bin/6to5/util.js b/bin/6to5/util.js index c94c09090b..1adf6d5119 100644 --- a/bin/6to5/util.js +++ b/bin/6to5/util.js @@ -1,6 +1,7 @@ var readdir = require("fs-readdir-recursive"); var index = require("./index"); var util = require("../../lib/6to5/util"); +var path = require("path"); var to5 = require("../../lib/6to5"); var fs = require("fs"); var _ = require("lodash"); @@ -11,6 +12,10 @@ exports.readdirFilter = function (filename) { }); }; +exports.addSourceMappingUrl = function (code, loc) { + return code + "\n//# sourceMappingURL=" + path.basename(loc); +}; + exports.transform = function (filename, code, opts) { opts = _.extend(opts || {}, index.opts); opts.filename = filename; diff --git a/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/bar/bar.js b/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/bar/bar.js index 5f98760f68..549259d579 100644 --- a/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/bar/bar.js +++ b/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/bar/bar.js @@ -1,3 +1,4 @@ "use strict"; var Test = function Test() {}; +//# sourceMappingURL=bar.js.map diff --git a/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/foo.js b/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/foo.js index ae4557e57b..7a5ff48137 100644 --- a/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/foo.js +++ b/test/fixtures/bin/6to5/dir --out-dir --source-maps/out-files/lib/foo.js @@ -3,3 +3,4 @@ arr.map(function (x) { return x * MULTIPLIER; }); +//# sourceMappingURL=foo.js.map diff --git a/test/fixtures/bin/6to5/filenames --out-file --source-maps/out-files/script3.js b/test/fixtures/bin/6to5/filenames --out-file --source-maps/out-files/script3.js index 7421f83f81..695ecc125b 100644 --- a/test/fixtures/bin/6to5/filenames --out-file --source-maps/out-files/script3.js +++ b/test/fixtures/bin/6to5/filenames --out-file --source-maps/out-files/script3.js @@ -6,3 +6,5 @@ var Test = function Test() {}; arr.map(function (x) { return x * MULTIPLIER; }); + +//# sourceMappingURL=script3.js.map diff --git a/test/fixtures/bin/6to5/stdin --out-file --source-maps/out-files/test.js b/test/fixtures/bin/6to5/stdin --out-file --source-maps/out-files/test.js index e136af8d90..303fade7a2 100644 --- a/test/fixtures/bin/6to5/stdin --out-file --source-maps/out-files/test.js +++ b/test/fixtures/bin/6to5/stdin --out-file --source-maps/out-files/test.js @@ -3,3 +3,5 @@ arr.map(function (x) { return x * x; }); + +//# sourceMappingURL=test.js.map