From c898a7997d1cd3eb38e515b2501dad0767079fb8 Mon Sep 17 00:00:00 2001 From: Martijn Swaagman Date: Fri, 4 Nov 2016 19:49:59 +0100 Subject: [PATCH] [fix] map from normalized files If using `inSourceMap` this fix will ensure the copying of `sourcesContent` is based on potentially normalized `sources` values (https://github.com/mozilla/source-map/blob/master/lib/source-map-consumer.js#L304-L309). For example `normalize` (https://github.com/mozilla/source-map/blob/master/lib/util.js#L80-L123) will rewrite `./dist/mySource.js` to `dist/mySource.js` in the target `_sources` of the `SourceMapConsumer`. As a result `orig_map.sourceContentFor(source, true);` would return `null` since the orginal `source` was no longer available in the consumer. By using the keys generating from the `SourceMapConsumer.constructor` consistency is ensured. --- lib/sourcemap.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sourcemap.js b/lib/sourcemap.js index 3714027e..0be16bfc 100644 --- a/lib/sourcemap.js +++ b/lib/sourcemap.js @@ -60,7 +60,7 @@ function SourceMap(options) { var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig); if (orig_map && Array.isArray(options.orig.sources)) { - options.orig.sources.forEach(function(source) { + orig_map._sources.toArray().forEach(function(source) { var sourceContent = orig_map.sourceContentFor(source, true); if (sourceContent) { generator.setSourceContent(source, sourceContent);