diff options
Diffstat (limited to 'node_modules/source-map-resolve/lib/source-map-resolve-node.js')
-rw-r--r-- | node_modules/source-map-resolve/lib/source-map-resolve-node.js | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/node_modules/source-map-resolve/lib/source-map-resolve-node.js b/node_modules/source-map-resolve/lib/source-map-resolve-node.js index f5904b229..f80953d5d 100644 --- a/node_modules/source-map-resolve/lib/source-map-resolve-node.js +++ b/node_modules/source-map-resolve/lib/source-map-resolve-node.js @@ -1,10 +1,11 @@ -// Copyright 2014, 2015, 2016 Simon Lydell +// Copyright 2014, 2015, 2016, 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var sourceMappingURL = require("source-map-url") -var resolveUrl = require("./resolve-url") -var urix = require("urix") -var atob = require("atob") +var sourceMappingURL = require("source-map-url") +var resolveUrl = require("./resolve-url") +var decodeUriComponent = require("./decode-uri-component") +var urix = require("urix") +var atob = require("atob") @@ -22,8 +23,9 @@ function parseMapToJSON(string, data) { } function readSync(read, url, data) { + var readUrl = decodeUriComponent(url) try { - return String(read(url)) + return String(read(readUrl)) } catch (error) { error.sourceMapData = data throw error @@ -42,7 +44,8 @@ function resolveSourceMap(code, codeUrl, read, callback) { if (!mapData || mapData.map) { return callbackAsync(callback, null, mapData) } - read(mapData.url, function(error, result) { + var readUrl = decodeUriComponent(mapData.url) + read(readUrl, function(error, result) { if (error) { error.sourceMapData = mapData return callback(error) @@ -117,12 +120,17 @@ function resolveSources(map, mapUrl, read, options, callback) { callback = options options = {} } - var pending = map.sources.length + var pending = map.sources ? map.sources.length : 0 var result = { sourcesResolved: [], sourcesContent: [] } + if (pending === 0) { + callbackAsync(callback, null, result) + return + } + var done = function() { pending-- if (pending === 0) { @@ -136,7 +144,8 @@ function resolveSources(map, mapUrl, read, options, callback) { result.sourcesContent[index] = sourceContent callbackAsync(done, null) } else { - read(fullUrl, function(error, source) { + var readUrl = decodeUriComponent(fullUrl) + read(readUrl, function(error, source) { result.sourcesContent[index] = error ? error : String(source) done() }) @@ -149,20 +158,27 @@ function resolveSourcesSync(map, mapUrl, read, options) { sourcesResolved: [], sourcesContent: [] } + + if (!map.sources || map.sources.length === 0) { + return result + } + resolveSourcesHelper(map, mapUrl, options, function(fullUrl, sourceContent, index) { result.sourcesResolved[index] = fullUrl if (read !== null) { if (typeof sourceContent === "string") { result.sourcesContent[index] = sourceContent } else { + var readUrl = decodeUriComponent(fullUrl) try { - result.sourcesContent[index] = String(read(fullUrl)) + result.sourcesContent[index] = String(read(readUrl)) } catch (error) { result.sourcesContent[index] = error } } } }) + return result } @@ -211,7 +227,8 @@ function resolve(code, codeUrl, read, options, callback) { sourcesRelativeTo: mapUrl, map: null } - read(mapUrl, function(error, result) { + var readUrl = decodeUriComponent(mapUrl) + read(readUrl, function(error, result) { if (error) { error.sourceMapData = data return callback(error) |