aboutsummaryrefslogtreecommitdiff
path: root/node_modules/source-map-resolve/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/source-map-resolve/lib')
-rw-r--r--node_modules/source-map-resolve/lib/decode-uri-component.js11
-rw-r--r--node_modules/source-map-resolve/lib/source-map-resolve-node.js39
2 files changed, 39 insertions, 11 deletions
diff --git a/node_modules/source-map-resolve/lib/decode-uri-component.js b/node_modules/source-map-resolve/lib/decode-uri-component.js
new file mode 100644
index 000000000..c7064ff4d
--- /dev/null
+++ b/node_modules/source-map-resolve/lib/decode-uri-component.js
@@ -0,0 +1,11 @@
+// Copyright 2017 Simon Lydell
+// X11 (“MIT”) Licensed. (See LICENSE.)
+
+var decodeUriComponent = require("decode-uri-component")
+
+function customDecodeUriComponent(string) {
+ // `decodeUriComponent` turns `+` into ` `, but that's not wanted.
+ return decodeUriComponent(string.replace(/\+/g, "%2B"))
+}
+
+module.exports = customDecodeUriComponent
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)