diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-04-20 03:09:25 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-04-24 16:14:29 +0200 |
commit | 82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch) | |
tree | 965f6eb89b84d65a62b49008fd972c004832ccd1 /node_modules/babel-generator/lib | |
parent | e6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff) |
Reorganize module loading.
We now use webpack instead of SystemJS, effectively bundling modules
into one file (plus commons chunks) for every entry point. This results
in a much smaller extension size (almost half). Furthermore we use
yarn/npm even for extension run-time dependencies. This relieves us
from manually vendoring and building dependencies. It's also easier to
understand for new developers familiar with node.
Diffstat (limited to 'node_modules/babel-generator/lib')
14 files changed, 150 insertions, 189 deletions
diff --git a/node_modules/babel-generator/lib/buffer.js b/node_modules/babel-generator/lib/buffer.js index 8919d2c29..40b6c2561 100644 --- a/node_modules/babel-generator/lib/buffer.js +++ b/node_modules/babel-generator/lib/buffer.js @@ -6,9 +6,9 @@ var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _trimEnd = require("lodash/trimEnd"); +var _trimRight = require("trim-right"); -var _trimEnd2 = _interopRequireDefault(_trimEnd); +var _trimRight2 = _interopRequireDefault(_trimRight); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -38,19 +38,36 @@ var Buffer = function () { Buffer.prototype.get = function get() { this._flush(); - return { - code: (0, _trimEnd2.default)(this._buf.join("")), - map: this._map ? this._map.get() : null + var map = this._map; + var result = { + code: (0, _trimRight2.default)(this._buf.join("")), + map: null, + rawMappings: map && map.getRawMappings() }; + + if (map) { + Object.defineProperty(result, "map", { + configurable: true, + enumerable: true, + get: function get() { + return this.map = map.get(); + }, + set: function set(value) { + Object.defineProperty(this, "map", { value: value, writable: true }); + } + }); + } + + return result; }; Buffer.prototype.append = function append(str) { this._flush(); - var _sourcePosition = this._sourcePosition; - var line = _sourcePosition.line; - var column = _sourcePosition.column; - var filename = _sourcePosition.filename; - var identifierName = _sourcePosition.identifierName; + var _sourcePosition = this._sourcePosition, + line = _sourcePosition.line, + column = _sourcePosition.column, + filename = _sourcePosition.filename, + identifierName = _sourcePosition.identifierName; this._append(str, line, column, identifierName, filename); }; @@ -58,11 +75,11 @@ var Buffer = function () { Buffer.prototype.queue = function queue(str) { if (str === "\n") while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) { this._queue.shift(); - }var _sourcePosition2 = this._sourcePosition; - var line = _sourcePosition2.line; - var column = _sourcePosition2.column; - var filename = _sourcePosition2.filename; - var identifierName = _sourcePosition2.identifierName; + }var _sourcePosition2 = this._sourcePosition, + line = _sourcePosition2.line, + column = _sourcePosition2.column, + filename = _sourcePosition2.filename, + identifierName = _sourcePosition2.identifierName; this._queue.unshift([str, line, column, identifierName, filename]); }; diff --git a/node_modules/babel-generator/lib/generators/base.js b/node_modules/babel-generator/lib/generators/base.js index 3be3a8a53..938022f76 100644 --- a/node_modules/babel-generator/lib/generators/base.js +++ b/node_modules/babel-generator/lib/generators/base.js @@ -31,11 +31,14 @@ function Program(node) { function BlockStatement(node) { this.token("{"); this.printInnerComments(node); - if (node.body.length) { + + var hasDirectives = node.directives && node.directives.length; + + if (node.body.length || hasDirectives) { this.newline(); this.printSequence(node.directives, node, { indent: true }); - if (node.directives && node.directives.length) this.newline(); + if (hasDirectives) this.newline(); this.printSequence(node.body, node, { indent: true }); this.removeTrailingNewline(); diff --git a/node_modules/babel-generator/lib/generators/expressions.js b/node_modules/babel-generator/lib/generators/expressions.js index c6c070788..d65fa78c0 100644 --- a/node_modules/babel-generator/lib/generators/expressions.js +++ b/node_modules/babel-generator/lib/generators/expressions.js @@ -13,6 +13,7 @@ exports.ThisExpression = ThisExpression; exports.Super = Super; exports.Decorator = Decorator; exports.CallExpression = CallExpression; +exports.Import = Import; exports.EmptyStatement = EmptyStatement; exports.ExpressionStatement = ExpressionStatement; exports.AssignmentPattern = AssignmentPattern; @@ -21,10 +22,6 @@ exports.BindExpression = BindExpression; exports.MemberExpression = MemberExpression; exports.MetaProperty = MetaProperty; -var _isNumber = require("lodash/isNumber"); - -var _isNumber2 = _interopRequireDefault(_isNumber); - var _babelTypes = require("babel-types"); var t = _interopRequireWildcard(_babelTypes); @@ -35,8 +32,6 @@ var n = _interopRequireWildcard(_node); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function UnaryExpression(node) { if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof") { this.word(node.operator); @@ -142,6 +137,10 @@ function CallExpression(node) { this.token(")"); } +function Import() { + this.word("import"); +} + function buildYieldAwait(keyword) { return function (node) { this.word(keyword); @@ -173,6 +172,8 @@ function ExpressionStatement(node) { function AssignmentPattern(node) { this.print(node.left, node); + if (node.left.optional) this.token("?"); + this.print(node.left.typeAnnotation, node); this.space(); this.token("="); this.space(); @@ -219,7 +220,7 @@ function MemberExpression(node) { } var computed = node.computed; - if (t.isLiteral(node.property) && (0, _isNumber2.default)(node.property.value)) { + if (t.isLiteral(node.property) && typeof node.property.value === "number") { computed = true; } diff --git a/node_modules/babel-generator/lib/generators/flow.js b/node_modules/babel-generator/lib/generators/flow.js index cc52ffe83..077f75cf8 100644 --- a/node_modules/babel-generator/lib/generators/flow.js +++ b/node_modules/babel-generator/lib/generators/flow.js @@ -321,11 +321,19 @@ function ObjectTypeAnnotation(node) { this.space(); this.printJoin(props, node, { + addNewlines: function addNewlines(leading) { + if (leading && !props[0]) return 1; + }, + indent: true, statement: true, iterator: function iterator() { if (props.length !== 1) { - _this.semicolon(); + if (_this.format.flowCommaSeparator) { + _this.token(","); + } else { + _this.semicolon(); + } _this.space(); } } diff --git a/node_modules/babel-generator/lib/generators/jsx.js b/node_modules/babel-generator/lib/generators/jsx.js index 492452899..6632db1c2 100644 --- a/node_modules/babel-generator/lib/generators/jsx.js +++ b/node_modules/babel-generator/lib/generators/jsx.js @@ -12,6 +12,7 @@ exports.JSXNamespacedName = JSXNamespacedName; exports.JSXMemberExpression = JSXMemberExpression; exports.JSXSpreadAttribute = JSXSpreadAttribute; exports.JSXExpressionContainer = JSXExpressionContainer; +exports.JSXSpreadChild = JSXSpreadChild; exports.JSXText = JSXText; exports.JSXElement = JSXElement; exports.JSXOpeningElement = JSXOpeningElement; @@ -57,6 +58,13 @@ function JSXExpressionContainer(node) { this.token("}"); } +function JSXSpreadChild(node) { + this.token("{"); + this.token("..."); + this.print(node.expression, node); + this.token("}"); +} + function JSXText(node) { this.token(node.value); } diff --git a/node_modules/babel-generator/lib/generators/modules.js b/node_modules/babel-generator/lib/generators/modules.js index 3dcda7cca..608053540 100644 --- a/node_modules/babel-generator/lib/generators/modules.js +++ b/node_modules/babel-generator/lib/generators/modules.js @@ -19,6 +19,11 @@ var t = _interopRequireWildcard(_babelTypes); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function ImportSpecifier(node) { + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + this.print(node.imported, node); if (node.local && node.local.name !== node.imported.name) { this.space(); @@ -58,12 +63,6 @@ function ExportAllDeclaration(node) { this.word("export"); this.space(); this.token("*"); - if (node.exported) { - this.space(); - this.word("as"); - this.space(); - this.print(node.exported, node); - } this.space(); this.word("from"); this.space(); diff --git a/node_modules/babel-generator/lib/generators/statements.js b/node_modules/babel-generator/lib/generators/statements.js index 1866fe00f..d74b19102 100644 --- a/node_modules/babel-generator/lib/generators/statements.js +++ b/node_modules/babel-generator/lib/generators/statements.js @@ -115,13 +115,12 @@ var buildForXStatement = function buildForXStatement(op) { if (op === "await") { this.word("await"); this.space(); - op = "of"; } this.token("("); this.print(node.left, node); this.space(); - this.word(op); + this.word(op === "await" ? "of" : op); this.space(); this.print(node.right, node); this.token(")"); diff --git a/node_modules/babel-generator/lib/generators/template-literals.js b/node_modules/babel-generator/lib/generators/template-literals.js index c1cdabbe0..32467eb42 100644 --- a/node_modules/babel-generator/lib/generators/template-literals.js +++ b/node_modules/babel-generator/lib/generators/template-literals.js @@ -15,9 +15,7 @@ function TemplateElement(node, parent) { var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${"); - if (!isFirst) this.space(); this.token(value); - if (!isLast) this.space(); } function TemplateLiteral(node) { diff --git a/node_modules/babel-generator/lib/generators/types.js b/node_modules/babel-generator/lib/generators/types.js index 4dfa83735..d5e081fd2 100644 --- a/node_modules/babel-generator/lib/generators/types.js +++ b/node_modules/babel-generator/lib/generators/types.js @@ -128,21 +128,31 @@ function NullLiteral() { function NumericLiteral(node) { var raw = this.getPossibleRaw(node); - - this.number(raw == null ? node.value + "" : raw); + var value = node.value + ""; + if (raw == null) { + this.number(value); + } else if (this.format.minified) { + this.number(raw.length < value.length ? raw : value); + } else { + this.number(raw); + } } function StringLiteral(node, parent) { var raw = this.getPossibleRaw(node); - if (raw != null) { + if (!this.format.minified && raw != null) { this.token(raw); return; } - var val = (0, _jsesc2.default)(node.value, { + var opts = { quotes: t.isJSX(parent) ? "double" : this.format.quotes, wrap: true - }); + }; + if (this.format.jsonCompatibleStrings) { + opts.json = true; + } + var val = (0, _jsesc2.default)(node.value, opts); return this.token(val); }
\ No newline at end of file diff --git a/node_modules/babel-generator/lib/index.js b/node_modules/babel-generator/lib/index.js index 6c7037c35..e8da09ebf 100644 --- a/node_modules/babel-generator/lib/index.js +++ b/node_modules/babel-generator/lib/index.js @@ -43,11 +43,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var Generator = function (_Printer) { (0, _inherits3.default)(Generator, _Printer); - function Generator(ast, opts, code) { + function Generator(ast) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var code = arguments[2]; (0, _classCallCheck3.default)(this, Generator); - opts = opts || {}; - var tokens = ast.tokens || []; var format = normalizeOptions(code, opts, tokens); var map = opts.sourceMaps ? new _sourceMap2.default(opts, code) : null; @@ -83,11 +83,13 @@ function normalizeOptions(code, opts, tokens) { minified: opts.minified, concise: opts.concise, quotes: opts.quotes || findCommonStringDelimiter(code, tokens), + jsonCompatibleStrings: opts.jsonCompatibleStrings, indent: { adjustMultilineComment: true, style: style, base: 0 - } + }, + flowCommaSeparator: opts.flowCommaSeparator }; if (format.minified) { @@ -103,10 +105,10 @@ function normalizeOptions(code, opts, tokens) { } if (format.compact === "auto") { - format.compact = code.length > 100000; + format.compact = code.length > 500000; if (format.compact) { - console.error("[BABEL] " + messages.get("codeGeneratorDeopt", opts.filename, "100KB")); + console.error("[BABEL] " + messages.get("codeGeneratorDeopt", opts.filename, "500KB")); } } @@ -123,7 +125,7 @@ function findCommonStringDelimiter(code, tokens) { return DEFAULT_STRING_DELIMITER; } - var occurences = { + var occurrences = { single: 0, double: 0 }; @@ -136,15 +138,15 @@ function findCommonStringDelimiter(code, tokens) { var raw = code.slice(token.start, token.end); if (raw[0] === "'") { - occurences.single++; + occurrences.single++; } else { - occurences.double++; + occurrences.double++; } checked++; if (checked >= 3) break; } - if (occurences.single > occurences.double) { + if (occurrences.single > occurrences.double) { return "single"; } else { return "double"; diff --git a/node_modules/babel-generator/lib/node/parentheses.js b/node_modules/babel-generator/lib/node/parentheses.js index 10eba8e2c..471af71cb 100644 --- a/node_modules/babel-generator/lib/node/parentheses.js +++ b/node_modules/babel-generator/lib/node/parentheses.js @@ -5,6 +5,7 @@ exports.AwaitExpression = exports.FunctionTypeAnnotation = undefined; exports.NullableTypeAnnotation = NullableTypeAnnotation; exports.UpdateExpression = UpdateExpression; exports.ObjectExpression = ObjectExpression; +exports.DoExpression = DoExpression; exports.Binary = Binary; exports.BinaryExpression = BinaryExpression; exports.SequenceExpression = SequenceExpression; @@ -55,27 +56,19 @@ function NullableTypeAnnotation(node, parent) { exports.FunctionTypeAnnotation = NullableTypeAnnotation; function UpdateExpression(node, parent) { - if (t.isMemberExpression(parent) && parent.object === node) { - return true; - } - - return false; + return t.isMemberExpression(parent) && parent.object === node; } function ObjectExpression(node, parent, printStack) { return isFirstInStatement(printStack, { considerArrow: true }); } -function Binary(node, parent) { - if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node) { - return true; - } - - if (t.isUnaryLike(parent)) { - return true; - } +function DoExpression(node, parent, printStack) { + return isFirstInStatement(printStack); +} - if (t.isMemberExpression(parent) && parent.object === node) { +function Binary(node, parent) { + if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node || t.isUnaryLike(parent) || t.isMemberExpression(parent) && parent.object === node || t.isAwaitExpression(parent)) { return true; } @@ -86,11 +79,7 @@ function Binary(node, parent) { var nodeOp = node.operator; var nodePos = PRECEDENCE[nodeOp]; - if (parentPos > nodePos) { - return true; - } - - if (parentPos === nodePos && parent.right === node && !t.isLogicalExpression(parent)) { + if (parentPos === nodePos && parent.right === node && !t.isLogicalExpression(parent) || parentPos > nodePos) { return true; } } @@ -99,49 +88,12 @@ function Binary(node, parent) { } function BinaryExpression(node, parent) { - if (node.operator === "in") { - if (t.isVariableDeclarator(parent)) { - return true; - } - - if (t.isFor(parent)) { - return true; - } - } - - return false; + return node.operator === "in" && (t.isVariableDeclarator(parent) || t.isFor(parent)); } function SequenceExpression(node, parent) { - if (t.isForStatement(parent)) { - return false; - } - - if (t.isExpressionStatement(parent) && parent.expression === node) { - return false; - } - - if (t.isReturnStatement(parent)) { - return false; - } - - if (t.isThrowStatement(parent)) { - return false; - } - - if (t.isSwitchStatement(parent) && parent.discriminant === node) { - return false; - } - - if (t.isWhileStatement(parent) && parent.test === node) { - return false; - } - if (t.isIfStatement(parent) && parent.test === node) { - return false; - } - - if (t.isForInStatement(parent) && parent.right === node) { + if (t.isForStatement(parent) || t.isThrowStatement(parent) || t.isReturnStatement(parent) || t.isIfStatement(parent) && parent.test === node || t.isWhileStatement(parent) && parent.test === node || t.isForInStatement(parent) && parent.right === node || t.isSwitchStatement(parent) && parent.discriminant === node || t.isExpressionStatement(parent) && parent.expression === node) { return false; } @@ -158,15 +110,7 @@ function ClassExpression(node, parent, printStack) { } function UnaryLike(node, parent) { - if (t.isMemberExpression(parent, { object: node })) { - return true; - } - - if (t.isCallExpression(parent, { callee: node }) || t.isNewExpression(parent, { callee: node })) { - return true; - } - - return false; + return t.isMemberExpression(parent, { object: node }) || t.isCallExpression(parent, { callee: node }) || t.isNewExpression(parent, { callee: node }); } function FunctionExpression(node, parent, printStack) { @@ -174,15 +118,7 @@ function FunctionExpression(node, parent, printStack) { } function ArrowFunctionExpression(node, parent) { - if (t.isExportDeclaration(parent)) { - return true; - } - - if (t.isBinaryExpression(parent) || t.isLogicalExpression(parent)) { - return true; - } - - if (t.isUnaryExpression(parent)) { + if (t.isExportDeclaration(parent) || t.isBinaryExpression(parent) || t.isLogicalExpression(parent) || t.isUnaryExpression(parent) || t.isTaggedTemplateExpression(parent)) { return true; } @@ -190,15 +126,7 @@ function ArrowFunctionExpression(node, parent) { } function ConditionalExpression(node, parent) { - if (t.isUnaryLike(parent)) { - return true; - } - - if (t.isBinary(parent)) { - return true; - } - - if (t.isConditionalExpression(parent, { test: node })) { + if (t.isUnaryLike(parent) || t.isBinary(parent) || t.isConditionalExpression(parent, { test: node }) || t.isAwaitExpression(parent)) { return true; } @@ -214,27 +142,18 @@ function AssignmentExpression(node) { } function isFirstInStatement(printStack) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var _ref$considerArrow = _ref.considerArrow; - var considerArrow = _ref$considerArrow === undefined ? false : _ref$considerArrow; - var _ref$considerDefaultE = _ref.considerDefaultExports; - var considerDefaultExports = _ref$considerDefaultE === undefined ? false : _ref$considerDefaultE; + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$considerArrow = _ref.considerArrow, + considerArrow = _ref$considerArrow === undefined ? false : _ref$considerArrow, + _ref$considerDefaultE = _ref.considerDefaultExports, + considerDefaultExports = _ref$considerDefaultE === undefined ? false : _ref$considerDefaultE; var i = printStack.length - 1; var node = printStack[i]; i--; var parent = printStack[i]; while (i > 0) { - if (t.isExpressionStatement(parent, { expression: node })) { - return true; - } - - if (considerDefaultExports && t.isExportDefaultDeclaration(parent, { declaration: node })) { - return true; - } - - if (considerArrow && t.isArrowFunctionExpression(parent, { body: node })) { + if (t.isExpressionStatement(parent, { expression: node }) || t.isTaggedTemplateExpression(parent) || considerDefaultExports && t.isExportDefaultDeclaration(parent, { declaration: node }) || considerArrow && t.isArrowFunctionExpression(parent, { body: node })) { return true; } diff --git a/node_modules/babel-generator/lib/node/whitespace.js b/node_modules/babel-generator/lib/node/whitespace.js index d3690a84a..f39e75525 100644 --- a/node_modules/babel-generator/lib/node/whitespace.js +++ b/node_modules/babel-generator/lib/node/whitespace.js @@ -1,13 +1,5 @@ "use strict"; -var _isBoolean = require("lodash/isBoolean"); - -var _isBoolean2 = _interopRequireDefault(_isBoolean); - -var _each = require("lodash/each"); - -var _each2 = _interopRequireDefault(_each); - var _map = require("lodash/map"); var _map2 = _interopRequireDefault(_map); @@ -144,19 +136,14 @@ exports.list = { } }; -(0, _each2.default)({ - Function: true, - Class: true, - Loop: true, - LabeledStatement: true, - SwitchStatement: true, - TryStatement: true -}, function (amounts, type) { - if ((0, _isBoolean2.default)(amounts)) { +[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function (_ref) { + var type = _ref[0], + amounts = _ref[1]; + + if (typeof amounts === "boolean") { amounts = { after: amounts, before: amounts }; } - - (0, _each2.default)([type].concat(t.FLIPPED_ALIAS_KEYS[type] || []), function (type) { + [type].concat(t.FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) { exports.nodes[type] = function () { return amounts; }; diff --git a/node_modules/babel-generator/lib/printer.js b/node_modules/babel-generator/lib/printer.js index 058ad72b7..8eb3eddac 100644 --- a/node_modules/babel-generator/lib/printer.js +++ b/node_modules/babel-generator/lib/printer.js @@ -340,8 +340,6 @@ var Printer = function () { }; Printer.prototype.getPossibleRaw = function getPossibleRaw(node) { - if (this.format.minified) return; - var extra = node.extra; if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) { return extra.raw; diff --git a/node_modules/babel-generator/lib/source-map.js b/node_modules/babel-generator/lib/source-map.js index 192d8bca0..b44d1f080 100644 --- a/node_modules/babel-generator/lib/source-map.js +++ b/node_modules/babel-generator/lib/source-map.js @@ -22,27 +22,38 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var SourceMap = function () { function SourceMap(opts, code) { - var _this = this; - (0, _classCallCheck3.default)(this, SourceMap); + this._cachedMap = null; + this._code = code; this._opts = opts; - this._map = new _sourceMap2.default.SourceMapGenerator({ - file: opts.sourceMapTarget, - sourceRoot: opts.sourceRoot - }); + this._rawMappings = []; + } - if (typeof code === "string") { - this._map.setSourceContent(opts.sourceFileName, code); - } else if ((typeof code === "undefined" ? "undefined" : (0, _typeof3.default)(code)) === "object") { - (0, _keys2.default)(code).forEach(function (sourceFileName) { - _this._map.setSourceContent(sourceFileName, code[sourceFileName]); + SourceMap.prototype.get = function get() { + if (!this._cachedMap) { + var map = this._cachedMap = new _sourceMap2.default.SourceMapGenerator({ + file: this._opts.sourceMapTarget, + sourceRoot: this._opts.sourceRoot }); + + var code = this._code; + if (typeof code === "string") { + map.setSourceContent(this._opts.sourceFileName, code); + } else if ((typeof code === "undefined" ? "undefined" : (0, _typeof3.default)(code)) === "object") { + (0, _keys2.default)(code).forEach(function (sourceFileName) { + map.setSourceContent(sourceFileName, code[sourceFileName]); + }); + } + + this._rawMappings.forEach(map.addMapping, map); } - } - SourceMap.prototype.get = function get() { - return this._map.toJSON(); + return this._cachedMap.toJSON(); + }; + + SourceMap.prototype.getRawMappings = function getRawMappings() { + return this._rawMappings.slice(); }; SourceMap.prototype.mark = function mark(generatedLine, generatedColumn, line, column, identifierName, filename) { @@ -52,18 +63,19 @@ var SourceMap = function () { return; } + this._cachedMap = null; this._lastGenLine = generatedLine; this._lastSourceLine = line; this._lastSourceColumn = column; - this._map.addMapping({ - name: identifierName, + this._rawMappings.push({ + name: identifierName || undefined, generated: { line: generatedLine, column: generatedColumn }, - source: line == null ? null : filename || this._opts.sourceFileName, - original: line == null ? null : { + source: line == null ? undefined : filename || this._opts.sourceFileName, + original: line == null ? undefined : { line: line, column: column } |