From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- node_modules/webpack-sources/lib/CachedSource.js | 116 ++++---- node_modules/webpack-sources/lib/ConcatSource.js | 104 +++---- .../webpack-sources/lib/LineToLineMappedSource.js | 71 ++--- node_modules/webpack-sources/lib/OriginalSource.js | 91 +++--- node_modules/webpack-sources/lib/PrefixSource.js | 94 +++--- node_modules/webpack-sources/lib/RawSource.js | 46 +-- node_modules/webpack-sources/lib/ReplaceSource.js | 326 +++++++++++---------- node_modules/webpack-sources/lib/Source.js | 51 ++-- .../webpack-sources/lib/SourceAndMapMixin.js | 2 + .../webpack-sources/lib/SourceMapSource.js | 79 ++--- 10 files changed, 508 insertions(+), 472 deletions(-) (limited to 'node_modules/webpack-sources/lib') diff --git a/node_modules/webpack-sources/lib/CachedSource.js b/node_modules/webpack-sources/lib/CachedSource.js index 50732aebd..0a81c5c45 100644 --- a/node_modules/webpack-sources/lib/CachedSource.js +++ b/node_modules/webpack-sources/lib/CachedSource.js @@ -2,69 +2,77 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -function CachedSource(source) { - this._source = source; - this._cachedSource = undefined; - this._cachedSize = undefined; - this._cachedMaps = {}; +"use strict"; - if(source.node) this.node = function(options) { - return this._source.node(options); - }; +const Source = require("./Source"); - if(source.listMap) this.listMap = function(options) { - return this._source.listMap(options); - }; -} -module.exports = CachedSource; - -CachedSource.prototype.source = function() { - if(typeof this._cachedSource !== "undefined") return this._cachedSource; - return this._cachedSource = this._source.source(); -}; +class CachedSource extends Source { + constructor(source) { + super(); + this._source = source; + this._cachedSource = undefined; + this._cachedSize = undefined; + this._cachedMaps = {}; -CachedSource.prototype.size = function() { - if(typeof this._cachedSize !== "undefined") return this._cachedSize; - if(typeof this._cachedSource !== "undefined") - return this._cachedSize = this._cachedSource.length; - return this._cachedSize = this._source.size(); -}; + if(source.node) this.node = function(options) { + return this._source.node(options); + }; -CachedSource.prototype.sourceAndMap = function(options) { - var key = JSON.stringify(options); - if(typeof this._cachedSource !== "undefined" && key in this._cachedMaps) - return { - source: this._cachedSource, - map: this._cachedMaps[key] + if(source.listMap) this.listMap = function(options) { + return this._source.listMap(options); }; - else if(typeof this._cachedSource !== "undefined") { + } + + source() { + if(typeof this._cachedSource !== "undefined") return this._cachedSource; + return this._cachedSource = this._source.source(); + } + + size() { + if(typeof this._cachedSize !== "undefined") return this._cachedSize; + if(typeof this._cachedSource !== "undefined") + return this._cachedSize = this._cachedSource.length; + return this._cachedSize = this._source.size(); + } + + sourceAndMap(options) { + const key = JSON.stringify(options); + if(typeof this._cachedSource !== "undefined" && key in this._cachedMaps) + return { + source: this._cachedSource, + map: this._cachedMaps[key] + }; + else if(typeof this._cachedSource !== "undefined") { + return { + source: this._cachedSource, + map: this._cachedMaps[key] = this._source.map(options) + }; + } else if(key in this._cachedMaps) { + return { + source: this._cachedSource = this._source.source(), + map: this._cachedMaps[key] + }; + } + const result = this._source.sourceAndMap(options); + this._cachedSource = result.source; + this._cachedMaps[key] = result.map; return { source: this._cachedSource, - map: this._cachedMaps[key] = this._source.map(options) - }; - } else if(key in this._cachedMaps) { - return { - source: this._cachedSource = this._source.source(), map: this._cachedMaps[key] }; } - var result = this._source.sourceAndMap(options); - this._cachedSource = result.source; - this._cachedMaps[key] = result.map; - return { - source: this._cachedSource, - map: this._cachedMaps[key] - }; -}; -CachedSource.prototype.map = function(options) { - if(!options) options = {}; - var key = JSON.stringify(options); - if(key in this._cachedMaps) - return this._cachedMaps[key]; - return this._cachedMaps[key] = this._source.map(); -}; + map(options) { + if(!options) options = {}; + const key = JSON.stringify(options); + if(key in this._cachedMaps) + return this._cachedMaps[key]; + return this._cachedMaps[key] = this._source.map(); + } -CachedSource.prototype.updateHash = function(hash) { - this._source.updateHash(hash); -}; + updateHash(hash) { + this._source.updateHash(hash); + } +} + +module.exports = CachedSource; diff --git a/node_modules/webpack-sources/lib/ConcatSource.js b/node_modules/webpack-sources/lib/ConcatSource.js index 434aa3e5c..8dc712d9c 100644 --- a/node_modules/webpack-sources/lib/ConcatSource.js +++ b/node_modules/webpack-sources/lib/ConcatSource.js @@ -2,62 +2,64 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -var SourceNode = require("source-map").SourceNode; -var SourceListMap = require("source-list-map").SourceListMap; -var Source = require("./Source"); +"use strict"; -function ConcatSource() { - Source.call(this); - this.children = Array.prototype.slice.call(arguments); -} -module.exports = ConcatSource; +const SourceNode = require("source-map").SourceNode; +const SourceListMap = require("source-list-map").SourceListMap; +const Source = require("./Source"); + +class ConcatSource extends Source { + constructor() { + super(); + this.children = Array.prototype.slice.call(arguments); + } + + add(item) { + this.children.push(item); + } -ConcatSource.prototype = Object.create(Source.prototype); -ConcatSource.prototype.constructor = ConcatSource; + source() { + return this.children.map(function(item) { + return typeof item === "string" ? item : item.source(); + }).join(""); + } -ConcatSource.prototype.add = function(item) { - this.children.push(item); -}; + size() { + return this.children.map(function(item) { + return typeof item === "string" ? item.length : item.size(); + }).reduce(function(sum, s) { + return sum + s; + }, 0); + } -ConcatSource.prototype.source = function() { - return this.children.map(function(item) { - return typeof item === "string" ? item : item.source(); - }).join(""); -}; + node(options) { + const node = new SourceNode(null, null, null, this.children.map(function(item) { + return typeof item === "string" ? item : item.node(options); + })); + return node; + } -ConcatSource.prototype.size = function() { - return this.children.map(function(item) { - return typeof item === "string" ? item.length : item.size(); - }).reduce(function(sum, s) { - return sum + s; - }, 0); -}; + listMap(options) { + const map = new SourceListMap(); + this.children.forEach(function(item) { + if(typeof item === "string") + map.add(item); + else + map.add(item.listMap(options)); + }); + return map; + } + + updateHash(hash) { + this.children.forEach(function(item) { + if(typeof item === "string") + hash.update(item); + else + item.updateHash(hash); + }); + } +} require("./SourceAndMapMixin")(ConcatSource.prototype); -ConcatSource.prototype.node = function(options) { - var node = new SourceNode(null, null, null, this.children.map(function(item) { - return typeof item === "string" ? item : item.node(options); - })); - return node; -}; - -ConcatSource.prototype.listMap = function(options) { - var map = new SourceListMap(); - this.children.forEach(function(item) { - if(typeof item === "string") - map.add(item); - else - map.add(item.listMap(options)); - }); - return map; -}; - -ConcatSource.prototype.updateHash = function(hash) { - this.children.forEach(function(item) { - if(typeof item === "string") - hash.update(item); - else - item.updateHash(hash); - }); -}; +module.exports = ConcatSource; diff --git a/node_modules/webpack-sources/lib/LineToLineMappedSource.js b/node_modules/webpack-sources/lib/LineToLineMappedSource.js index bca32cd73..586710ac8 100644 --- a/node_modules/webpack-sources/lib/LineToLineMappedSource.js +++ b/node_modules/webpack-sources/lib/LineToLineMappedSource.js @@ -2,47 +2,48 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var SourceNode = require("source-map").SourceNode; var SourceMapConsumer = require("source-map").SourceMapConsumer; var SourceListMap = require("source-list-map").SourceListMap; var Source = require("./Source"); -function LineToLineMappedSource(value, name, originalSource) { - Source.call(this); - this._value = value; - this._name = name; - this._originalSource = originalSource; +class LineToLineMappedSource extends Source { + constructor(value, name, originalSource) { + super(); + this._value = value; + this._name = name; + this._originalSource = originalSource; + } + + source() { + return this._value; + } + + node(options) { + var value = this._value; + var name = this._name; + var lines = value.split("\n"); + var node = new SourceNode(null, null, null, + lines.map(function(line, idx) { + return new SourceNode(idx + 1, 0, name, (line + (idx != lines.length - 1 ? "\n" : ""))); + }) + ); + node.setSourceContent(name, this._originalSource); + return node; + } + + listMap(options) { + return new SourceListMap(this._value, this._name, this._originalSource) + } + + updateHash(hash) { + hash.update(this._value); + hash.update(this._originalSource); + } } -module.exports = LineToLineMappedSource; - -LineToLineMappedSource.prototype = Object.create(Source.prototype); -LineToLineMappedSource.prototype.constructor = LineToLineMappedSource; - -LineToLineMappedSource.prototype.source = function() { - return this._value; -}; - require("./SourceAndMapMixin")(LineToLineMappedSource.prototype); -LineToLineMappedSource.prototype.node = function(options) { - var value = this._value; - var name = this._name; - var lines = value.split("\n"); - var node = new SourceNode(null, null, null, - lines.map(function(line, idx) { - return new SourceNode(idx + 1, 0, name, (line + (idx != lines.length - 1 ? "\n" : ""))); - }) - ); - node.setSourceContent(name, this._originalSource); - return node; -}; - -LineToLineMappedSource.prototype.listMap = function(options) { - return new SourceListMap(this._value, this._name, this._originalSource) -}; - -LineToLineMappedSource.prototype.updateHash = function(hash) { - hash.update(this._value); - hash.update(this._originalSource); -}; +module.exports = LineToLineMappedSource; diff --git a/node_modules/webpack-sources/lib/OriginalSource.js b/node_modules/webpack-sources/lib/OriginalSource.js index ac80db8a2..24380fcce 100644 --- a/node_modules/webpack-sources/lib/OriginalSource.js +++ b/node_modules/webpack-sources/lib/OriginalSource.js @@ -2,6 +2,8 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var SourceNode = require("source-map").SourceNode; var SourceMapConsumer = require("source-map").SourceMapConsumer; var SourceListMap = require("source-list-map").SourceListMap; @@ -35,54 +37,53 @@ function _splitCode(code) { return result; } -function OriginalSource(value, name) { - Source.call(this); - this._value = value; - this._name = name; -} - -module.exports = OriginalSource; +class OriginalSource extends Source { + constructor(value, name) { + super(); + this._value = value; + this._name = name; + } -OriginalSource.prototype = Object.create(Source.prototype); -OriginalSource.prototype.constructor = OriginalSource; + source() { + return this._value; + } -OriginalSource.prototype.source = function() { - return this._value; -}; + node(options) { + options = options || {}; + var sourceMap = this._sourceMap; + var value = this._value; + var name = this._name; + var lines = value.split("\n"); + var node = new SourceNode(null, null, null, + lines.map(function(line, idx) { + var pos = 0; + if(options.columns === false) { + var content = line + (idx != lines.length - 1 ? "\n" : ""); + return new SourceNode(idx + 1, 0, name, content); + } + return new SourceNode(null, null, null, + _splitCode(line + (idx != lines.length - 1 ? "\n" : "")).map(function(item) { + if(/^\s*$/.test(item)) return item; + var res = new SourceNode(idx + 1, pos, name, item); + pos += item.length; + return res; + }) + ); + }) + ); + node.setSourceContent(name, value); + return node; + } -require("./SourceAndMapMixin")(OriginalSource.prototype); + listMap(options) { + return new SourceListMap(this._value, this._name, this._value) + } -OriginalSource.prototype.node = function(options) { - options = options || {}; - var sourceMap = this._sourceMap; - var value = this._value; - var name = this._name; - var lines = value.split("\n"); - var node = new SourceNode(null, null, null, - lines.map(function(line, idx) { - var pos = 0; - if(options.columns === false) { - var content = line + (idx != lines.length - 1 ? "\n" : ""); - return new SourceNode(idx + 1, 0, name, content); - } - return new SourceNode(null, null, null, - _splitCode(line + (idx != lines.length - 1 ? "\n" : "")).map(function(item) { - if(/^\s*$/.test(item)) return item; - var res = new SourceNode(idx + 1, pos, name, item); - pos += item.length; - return res; - }) - ); - }) - ); - node.setSourceContent(name, value); - return node; -}; + updateHash(hash) { + hash.update(this._value); + } +} -OriginalSource.prototype.listMap = function(options) { - return new SourceListMap(this._value, this._name, this._value) -}; +require("./SourceAndMapMixin")(OriginalSource.prototype); -OriginalSource.prototype.updateHash = function(hash) { - hash.update(this._value); -}; +module.exports = OriginalSource; diff --git a/node_modules/webpack-sources/lib/PrefixSource.js b/node_modules/webpack-sources/lib/PrefixSource.js index 4ea819c45..b241b9dc6 100644 --- a/node_modules/webpack-sources/lib/PrefixSource.js +++ b/node_modules/webpack-sources/lib/PrefixSource.js @@ -2,55 +2,12 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var Source = require("./Source"); var SourceNode = require("source-map").SourceNode; -var REPLACE_REGEX = /\n(?=.|\s)/g - -function PrefixSource(prefix, source) { - Source.call(this); - this._source = source; - this._prefix = prefix; -} -module.exports = PrefixSource; - -PrefixSource.prototype = Object.create(Source.prototype); -PrefixSource.prototype.constructor = PrefixSource; - -PrefixSource.prototype.source = function() { - var node = typeof this._source === "string" ? this._source : this._source.source(); - var prefix = this._prefix; - return prefix + node.replace(REPLACE_REGEX, "\n" + prefix); -}; - -require("./SourceAndMapMixin")(PrefixSource.prototype); - -PrefixSource.prototype.node = function(options) { - var node = this._source.node(options); - var append = [this._prefix]; - return new SourceNode(null, null, null, [ - cloneAndPrefix(node, this._prefix, append) - ]); -}; - -PrefixSource.prototype.listMap = function(options) { - var prefix = this._prefix; - var map = this._source.listMap(options); - return map.mapGeneratedCode(function(code) { - return prefix + code.replace(REPLACE_REGEX, "\n" + prefix); - }); -}; - -PrefixSource.prototype.updateHash = function(hash) { - if(typeof this._source === "string") - hash.update(this._source); - else - this._source.updateHash(hash); - if(typeof this._prefix === "string") - hash.update(this._prefix); - else - this._prefix.updateHash(hash); -}; +var REPLACE_REGEX = /\n(?=.|\s)/g; function cloneAndPrefix(node, prefix, append) { if(typeof node === "string") { @@ -72,3 +29,48 @@ function cloneAndPrefix(node, prefix, append) { return newNode; } }; + +class PrefixSource extends Source { + constructor(prefix, source) { + super(); + this._source = source; + this._prefix = prefix; + } + + source() { + var node = typeof this._source === "string" ? this._source : this._source.source(); + var prefix = this._prefix; + return prefix + node.replace(REPLACE_REGEX, "\n" + prefix); + } + + node(options) { + var node = this._source.node(options); + var append = [this._prefix]; + return new SourceNode(null, null, null, [ + cloneAndPrefix(node, this._prefix, append) + ]); + } + + listMap(options) { + var prefix = this._prefix; + var map = this._source.listMap(options); + return map.mapGeneratedCode(function(code) { + return prefix + code.replace(REPLACE_REGEX, "\n" + prefix); + }); + } + + updateHash(hash) { + if(typeof this._source === "string") + hash.update(this._source); + else + this._source.updateHash(hash); + if(typeof this._prefix === "string") + hash.update(this._prefix); + else + this._prefix.updateHash(hash); + } +} + +require("./SourceAndMapMixin")(PrefixSource.prototype); + +module.exports = PrefixSource; diff --git a/node_modules/webpack-sources/lib/RawSource.js b/node_modules/webpack-sources/lib/RawSource.js index 0b9763938..b93ac4ef0 100644 --- a/node_modules/webpack-sources/lib/RawSource.js +++ b/node_modules/webpack-sources/lib/RawSource.js @@ -2,35 +2,37 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var Source = require("./Source"); var SourceNode = require("source-map").SourceNode; var SourceListMap = require("source-list-map").SourceListMap; -function RawSource(value) { - Source.call(this); - this._value = value; -} -module.exports = RawSource; +class RawSource extends Source { + constructor(value) { + super(); + this._value = value; + } -RawSource.prototype = Object.create(Source.prototype); -RawSource.prototype.constructor = RawSource; + source() { + return this._value; + } -RawSource.prototype.source = function() { - return this._value; -}; + map(options) { + return null; + } -RawSource.prototype.map = function(options) { - return null; -}; + node(options) { + return new SourceNode(null, null, null, this._value); + } -RawSource.prototype.node = function(options) { - return new SourceNode(null, null, null, this._value); -}; + listMap(options) { + return new SourceListMap(this._value); + } -RawSource.prototype.listMap = function(options) { - return new SourceListMap(this._value); -}; + updateHash(hash) { + hash.update(this._value); + } +} -RawSource.prototype.updateHash = function(hash) { - hash.update(this._value); -}; +module.exports = RawSource; diff --git a/node_modules/webpack-sources/lib/ReplaceSource.js b/node_modules/webpack-sources/lib/ReplaceSource.js index 63087d6de..93cd549d1 100644 --- a/node_modules/webpack-sources/lib/ReplaceSource.js +++ b/node_modules/webpack-sources/lib/ReplaceSource.js @@ -2,191 +2,197 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var Source = require("./Source"); var SourceNode = require("source-map").SourceNode; var SourceListMap = require("source-list-map").SourceListMap; var fromStringWithSourceMap = require("source-list-map").fromStringWithSourceMap; var SourceMapConsumer = require("source-map").SourceMapConsumer; -function ReplaceSource(source, name) { - Source.call(this); - this._source = source; - this._name = name; - this.replacements = []; -} -module.exports = ReplaceSource; - -ReplaceSource.prototype = Object.create(Source.prototype); -ReplaceSource.prototype.constructor = ReplaceSource; +class ReplaceSource extends Source { + constructor(source, name) { + super(); + this._source = source; + this._name = name; + this.replacements = []; + } -ReplaceSource.prototype.replace = function(start, end, newValue) { - if(typeof newValue !== "string") - throw new Error("insertion must be a string, but is a " + typeof newValue); - this.replacements.push([start, end, newValue, this.replacements.length]); -}; + replace(start, end, newValue) { + if(typeof newValue !== "string") + throw new Error("insertion must be a string, but is a " + typeof newValue); + this.replacements.push([start, end, newValue, this.replacements.length]); + } -ReplaceSource.prototype.insert = function(pos, newValue) { - if(typeof newValue !== "string") - throw new Error("insertion must be a string, but is a " + typeof newValue + ": " + newValue); - this.replacements.push([pos, pos - 1, newValue, this.replacements.length]); -}; + insert(pos, newValue) { + if(typeof newValue !== "string") + throw new Error("insertion must be a string, but is a " + typeof newValue + ": " + newValue); + this.replacements.push([pos, pos - 1, newValue, this.replacements.length]); + } -ReplaceSource.prototype.source = function(options) { - return this._replaceString(this._source.source()); -}; + source(options) { + return this._replaceString(this._source.source()); + } -ReplaceSource.prototype._sortReplacements = function() { - this.replacements.sort(function(a, b) { - var diff = b[1] - a[1]; - if(diff !== 0) - return diff; - diff = b[0] - a[0]; - if(diff !== 0) - return diff; - return b[3] - a[3]; - }); -}; + original() { + return this._source; + } -ReplaceSource.prototype._replaceString = function(str) { - if(typeof str !== "string") - throw new Error("str must be a string, but is a " + typeof str + ": " + str); - this._sortReplacements(); - var result = [str]; - this.replacements.forEach(function(repl) { - var remSource = result.pop(); - var splitted1 = this._splitString(remSource, Math.floor(repl[1] + 1)); - var splitted2 = this._splitString(splitted1[0], Math.floor(repl[0])); - result.push(splitted1[1], repl[2], splitted2[0]); - }, this); - result = result.reverse(); - return result.join(""); -}; + _sortReplacements() { + this.replacements.sort(function(a, b) { + var diff = b[1] - a[1]; + if(diff !== 0) + return diff; + diff = b[0] - a[0]; + if(diff !== 0) + return diff; + return b[3] - a[3]; + }); + } -require("./SourceAndMapMixin")(ReplaceSource.prototype); + _replaceString(str) { + if(typeof str !== "string") + throw new Error("str must be a string, but is a " + typeof str + ": " + str); + this._sortReplacements(); + var result = [str]; + this.replacements.forEach(function(repl) { + var remSource = result.pop(); + var splitted1 = this._splitString(remSource, Math.floor(repl[1] + 1)); + var splitted2 = this._splitString(splitted1[0], Math.floor(repl[0])); + result.push(splitted1[1], repl[2], splitted2[0]); + }, this); + result = result.reverse(); + return result.join(""); + } -ReplaceSource.prototype.node = function(options) { - this._sortReplacements(); - var result = [this._source.node(options)]; - this.replacements.forEach(function(repl) { - var remSource = result.pop(); - var splitted1 = this._splitSourceNode(remSource, Math.floor(repl[1] + 1)); - var splitted2; - if(Array.isArray(splitted1)) { - splitted2 = this._splitSourceNode(splitted1[0], Math.floor(repl[0])); - if(Array.isArray(splitted2)) { - result.push(splitted1[1], this._replacementToSourceNode(splitted2[1], repl[2]), splitted2[0]); + node(options) { + this._sortReplacements(); + var result = [this._source.node(options)]; + this.replacements.forEach(function(repl) { + var remSource = result.pop(); + var splitted1 = this._splitSourceNode(remSource, Math.floor(repl[1] + 1)); + var splitted2; + if(Array.isArray(splitted1)) { + splitted2 = this._splitSourceNode(splitted1[0], Math.floor(repl[0])); + if(Array.isArray(splitted2)) { + result.push(splitted1[1], this._replacementToSourceNode(splitted2[1], repl[2]), splitted2[0]); + } else { + result.push(splitted1[1], this._replacementToSourceNode(splitted1[1], repl[2]), splitted1[0]); + } } else { - result.push(splitted1[1], this._replacementToSourceNode(splitted1[1], repl[2]), splitted1[0]); + splitted2 = this._splitSourceNode(remSource, Math.floor(repl[0])); + if(Array.isArray(splitted2)) { + result.push(this._replacementToSourceNode(splitted2[1], repl[2]), splitted2[0]); + } else { + result.push(repl[2], remSource); + } } - } else { - splitted2 = this._splitSourceNode(remSource, Math.floor(repl[0])); - if(Array.isArray(splitted2)) { - result.push(this._replacementToSourceNode(splitted2[1], repl[2]), splitted2[0]); + }, this); + result = result.reverse(); + return new SourceNode(null, null, null, result); + } + + listMap(options) { + this._sortReplacements(); + var map = this._source.listMap(options); + var currentIndex = 0; + var replacements = this.replacements; + var idxReplacement = replacements.length - 1; + var removeChars = 0; + map = map.mapGeneratedCode(function(str) { + var newCurrentIndex = currentIndex + str.length; + if(removeChars > str.length) { + removeChars -= str.length; + str = ""; } else { - result.push(repl[2], remSource); + if(removeChars > 0) { + str = str.substr(removeChars); + currentIndex += removeChars; + removeChars = 0; + } + var finalStr = ""; + while(idxReplacement >= 0 && replacements[idxReplacement][0] < newCurrentIndex) { + var repl = replacements[idxReplacement]; + var start = Math.floor(repl[0]); + var end = Math.floor(repl[1] + 1); + var before = str.substr(0, Math.max(0, start - currentIndex)); + if(end <= newCurrentIndex) { + var after = str.substr(Math.max(0, end - currentIndex)); + finalStr += before + repl[2]; + str = after; + currentIndex = Math.max(currentIndex, end); + } else { + finalStr += before + repl[2]; + str = ""; + removeChars = end - newCurrentIndex; + } + idxReplacement--; + } + str = finalStr + str; } + currentIndex = newCurrentIndex; + return str; + }); + var extraCode = ""; + while(idxReplacement >= 0) { + extraCode += replacements[idxReplacement][2]; + idxReplacement--; } - }, this); - result = result.reverse(); - return new SourceNode(null, null, null, result); -}; + if(extraCode) { + map.add(extraCode); + } + return map; + } -ReplaceSource.prototype.listMap = function(options) { - this._sortReplacements(); - var map = this._source.listMap(options); - var currentIndex = 0; - var replacements = this.replacements; - var idxReplacement = replacements.length - 1; - var removeChars = 0; - map = map.mapGeneratedCode(function(str) { - var newCurrentIndex = currentIndex + str.length; - if(removeChars > str.length) { - removeChars -= str.length; - str = ""; + _replacementToSourceNode(oldNode, newString) { + var map = oldNode.toStringWithSourceMap({ + file: "?" + }).map; + var original = new SourceMapConsumer(map.toJSON()).originalPositionFor({ + line: 1, + column: 0 + }); + if(original) { + return new SourceNode(original.line, original.column, original.source, newString); } else { - if(removeChars > 0) { - str = str.substr(removeChars); - currentIndex += removeChars; - removeChars = 0; - } - var finalStr = ""; - while(idxReplacement >= 0 && replacements[idxReplacement][0] < newCurrentIndex) { - var repl = replacements[idxReplacement]; - var start = Math.floor(repl[0]); - var end = Math.floor(repl[1] + 1); - var before = str.substr(0, Math.max(0, start - currentIndex)); - if(end <= newCurrentIndex) { - var after = str.substr(Math.max(0, end - currentIndex)); - finalStr += before + repl[2]; - str = after; - currentIndex = Math.max(currentIndex, end); - } else { - finalStr += before + repl[2]; - str = ""; - removeChars = end - newCurrentIndex; + return newString; + } + } + + _splitSourceNode(node, position) { + if(typeof node === "string") { + if(node.length <= position) return position - node.length; + return position <= 0 ? ["", node] : [node.substr(0, position), node.substr(position)]; + } else { + for(var i = 0; i < node.children.length; i++) { + position = this._splitSourceNode(node.children[i], position); + if(Array.isArray(position)) { + var leftNode = new SourceNode( + node.line, + node.column, + node.source, + node.children.slice(0, i).concat([position[0]]), + node.name + ); + var rightNode = new SourceNode( + node.line, + node.column, + node.source, [position[1]].concat(node.children.slice(i + 1)), + node.name + ); + leftNode.sourceContents = node.sourceContents; + return [leftNode, rightNode]; } - idxReplacement--; } - str = finalStr + str; + return position; } - currentIndex = newCurrentIndex; - return str; - }); - var extraCode = ""; - while(idxReplacement >= 0) { - extraCode += replacements[idxReplacement][2]; - idxReplacement--; - } - if(extraCode) { - map.add(extraCode); } - return map; -}; -ReplaceSource.prototype._replacementToSourceNode = function(oldNode, newString) { - var map = oldNode.toStringWithSourceMap({ - file: "?" - }).map; - var original = new SourceMapConsumer(map.toJSON()).originalPositionFor({ - line: 1, - column: 0 - }); - if(original) { - return new SourceNode(original.line, original.column, original.source, newString); - } else { - return newString; + _splitString(str, position) { + return position <= 0 ? ["", str] : [str.substr(0, position), str.substr(position)]; } -}; +} -ReplaceSource.prototype._splitSourceNode = function(node, position) { - if(typeof node === "string") { - if(node.length <= position) return position - node.length; - return position <= 0 ? ["", node] : [node.substr(0, position), node.substr(position)]; - } else { - for(var i = 0; i < node.children.length; i++) { - position = this._splitSourceNode(node.children[i], position); - if(Array.isArray(position)) { - var leftNode = new SourceNode( - node.line, - node.column, - node.source, - node.children.slice(0, i).concat([position[0]]), - node.name - ); - var rightNode = new SourceNode( - node.line, - node.column, - node.source, [position[1]].concat(node.children.slice(i + 1)), - node.name - ); - leftNode.sourceContents = node.sourceContents; - return [leftNode, rightNode]; - } - } - return position; - } -}; +require("./SourceAndMapMixin")(ReplaceSource.prototype); -ReplaceSource.prototype._splitString = function(str, position) { - return position <= 0 ? ["", str] : [str.substr(0, position), str.substr(position)]; -}; +module.exports = ReplaceSource; diff --git a/node_modules/webpack-sources/lib/Source.js b/node_modules/webpack-sources/lib/Source.js index 1c729fcf1..c8300f44e 100644 --- a/node_modules/webpack-sources/lib/Source.js +++ b/node_modules/webpack-sources/lib/Source.js @@ -2,35 +2,44 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var SourceNode = require("source-map").SourceNode; var SourceMapConsumer = require("source-map").SourceMapConsumer; -function Source() {} +class Source { -module.exports = Source; + source() { + throw new Error("Abstract"); + } -Source.prototype.source = null; + size() { + return this.source().length; + } -Source.prototype.size = function() { - return this.source().length; -}; + map(options) { + return null; + } -Source.prototype.map = function(options) { - return null; -}; + sourceAndMap(options) { + return { + source: this.source(), + map: this.map() + }; + } -Source.prototype.sourceAndMap = function(options) { - return { - source: this.source(), - map: this.map() - }; -}; + node() { + throw new Error("Abstract"); + } -Source.prototype.node = null; + listNode() { + throw new Error("Abstract"); + } -Source.prototype.listNode = null; + updateHash(hash) { + var source = this.source(); + hash.update(source || ""); + } +} -Source.prototype.updateHash = function(hash) { - var source = this.source(); - hash.update(source || ""); -}; +module.exports = Source; diff --git a/node_modules/webpack-sources/lib/SourceAndMapMixin.js b/node_modules/webpack-sources/lib/SourceAndMapMixin.js index e677c6235..57dec9dfa 100644 --- a/node_modules/webpack-sources/lib/SourceAndMapMixin.js +++ b/node_modules/webpack-sources/lib/SourceAndMapMixin.js @@ -2,6 +2,8 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + module.exports = function mixinSourceAndMap(proto) { proto.map = function(options) { options = options || {}; diff --git a/node_modules/webpack-sources/lib/SourceMapSource.js b/node_modules/webpack-sources/lib/SourceMapSource.js index 3a7e75a47..274b2087a 100644 --- a/node_modules/webpack-sources/lib/SourceMapSource.js +++ b/node_modules/webpack-sources/lib/SourceMapSource.js @@ -2,6 +2,8 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; + var SourceNode = require("source-map").SourceNode; var SourceMapConsumer = require("source-map").SourceMapConsumer; var SourceMapGenerator = require("source-map").SourceMapGenerator; @@ -9,47 +11,48 @@ var SourceListMap = require("source-list-map").SourceListMap; var fromStringWithSourceMap = require("source-list-map").fromStringWithSourceMap; var Source = require("./Source"); -function SourceMapSource(value, name, sourceMap, originalSource, innerSourceMap) { - Source.call(this); - this._value = value; - this._name = name; - this._sourceMap = sourceMap; - this._originalSource = originalSource; - this._innerSourceMap = innerSourceMap; -} -module.exports = SourceMapSource; +class SourceMapSource extends Source { + constructor(value, name, sourceMap, originalSource, innerSourceMap) { + super(); + this._value = value; + this._name = name; + this._sourceMap = sourceMap; + this._originalSource = originalSource; + this._innerSourceMap = innerSourceMap; + } -SourceMapSource.prototype = Object.create(Source.prototype); -SourceMapSource.prototype.constructor = SourceMapSource; + source() { + return this._value; + } -SourceMapSource.prototype.source = function() { - return this._value; -}; + node(options) { + var innerSourceMap = this._innerSourceMap; + var sourceMap = this._sourceMap; + if(innerSourceMap) { + sourceMap = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(sourceMap)); + if(this._originalSource) + sourceMap.setSourceContent(this._name, this._originalSource); + innerSourceMap = new SourceMapConsumer(innerSourceMap); + sourceMap.applySourceMap(innerSourceMap, this._name); + sourceMap = sourceMap.toJSON(); + } + return SourceNode.fromStringWithSourceMap(this._value, new SourceMapConsumer(sourceMap)); + } -require("./SourceAndMapMixin")(SourceMapSource.prototype); + listMap(options) { + options = options || {}; + if(options.module === false) + return new SourceListMap(this._value, this._name, this._value); + return fromStringWithSourceMap(this._value, typeof this._sourceMap === "string" ? JSON.parse(this._sourceMap) : this._sourceMap); + } -SourceMapSource.prototype.node = function(options) { - var innerSourceMap = this._innerSourceMap; - var sourceMap = this._sourceMap; - if(innerSourceMap) { - sourceMap = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(sourceMap)); + updateHash(hash) { + hash.update(this._value); if(this._originalSource) - sourceMap.setSourceContent(this._name, this._originalSource); - innerSourceMap = new SourceMapConsumer(innerSourceMap); - sourceMap.applySourceMap(innerSourceMap, this._name); - sourceMap = sourceMap.toJSON(); + hash.update(this._originalSource); } - return SourceNode.fromStringWithSourceMap(this._value, new SourceMapConsumer(sourceMap)); -}; - -SourceMapSource.prototype.listMap = function(options) { - if(options.module === false) - return new SourceListMap(this._value, this._name, this._value); - return fromStringWithSourceMap(this._value, typeof this._sourceMap === "string" ? JSON.parse(this._sourceMap) : this._sourceMap); -}; - -SourceMapSource.prototype.updateHash = function(hash) { - hash.update(this._value); - if(this._originalSource) - hash.update(this._originalSource); -}; +} + +require("./SourceAndMapMixin")(SourceMapSource.prototype); + +module.exports = SourceMapSource; -- cgit v1.2.3