merge-source-map
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -31,2 +31,6 @@ var sourceMap = require('source-map'), | ||
var origPosInOldMap = oldMapConsumer.originalPositionFor({line: m.originalLine, column: m.originalColumn}) | ||
if (!origPosInOldMap.source) | ||
return | ||
mergedMapGenerator.addMapping({ | ||
@@ -33,0 +37,0 @@ original: { |
{ | ||
"name": "merge-source-map", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Merge old source map and new source map in multi-transform flow", | ||
@@ -11,2 +11,6 @@ "main": "index.js", | ||
"license": "MIT", | ||
"keywords": [ | ||
"sourcemap", | ||
"source-map" | ||
], | ||
"dependencies": { | ||
@@ -16,7 +20,9 @@ "source-map": "^0.5.3" | ||
"devDependencies": { | ||
"coffee-script": "^1.10.0", | ||
"convert-source-map": "^1.2.0", | ||
"escodegen": "^1.8.0", | ||
"esprima": "^2.7.2", | ||
"estraverse": "^4.1.1", | ||
"tape": "^4.5.1" | ||
} | ||
} |
@@ -7,3 +7,4 @@ var test = require('tape'), | ||
SourceMapGenerator = sourceMap.SourceMapGenerator, | ||
convert = require('convert-source-map') | ||
convert = require('convert-source-map'), | ||
coffee = require('coffee-script') | ||
@@ -24,3 +25,9 @@ var tr_doubleId = require('./transforms/tr-double-id'), | ||
'console.log(4)' | ||
].join('\n'), | ||
'3.coffee': [ | ||
'a = 1', | ||
'console.log 2' | ||
].join('\n') | ||
} | ||
@@ -558,1 +565,83 @@ | ||
}) | ||
test('multi line-preserved and line-breaking transform on 3.js', function(t) { | ||
// setup | ||
var f = '3.coffee' | ||
var code = codes[f] | ||
// exercise | ||
// coffee + x1 | ||
var compiled = coffee.compile(code, { sourceMap: true, generatedFile: f, inline: true}) | ||
code = compiled.js + '\n' + convert.fromJSON(compiled.v3SourceMap).toComment() | ||
var transformed = tr_doubleLine(code, f) | ||
t.equal(convert.removeComments(transformed), | ||
[ | ||
'(function () {', // 1 | ||
' var a;', // 2 | ||
' a = 1;', // 3 | ||
' a = 1;', // 4 | ||
' console.log(2);', // 5 | ||
' console.log(2);', // 6 | ||
'}.call(this));', // 7 | ||
'(function () {', // 8 | ||
' var a;', // 9 | ||
' a = 1;', // 10 | ||
' a = 1;', // 11 | ||
' console.log(2);', // 12 | ||
' console.log(2);', // 13 | ||
'}.call(this));', // 14 | ||
'' // 15 | ||
].join('\n')) | ||
// verify | ||
var map = convert.fromSource(transformed).toJSON() | ||
var con = new SourceMapConsumer(map) | ||
var origPos | ||
var i | ||
for (i = 3; i <= 4; i++) { | ||
origPos = con.originalPositionFor({line: i, column: 4}) | ||
t.equal(origPos.line, 1) | ||
t.equal(origPos.column, 0) | ||
origPos = con.originalPositionFor({line: i, column: 8}) | ||
t.equal(origPos.line, 1) | ||
t.equal(origPos.column, 4) | ||
} | ||
for (i = 5; i <= 6; i++) { | ||
origPos = con.originalPositionFor({line: i, column: 4}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 0) | ||
origPos = con.originalPositionFor({line: i, column: 12}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 8) | ||
origPos = con.originalPositionFor({line: i, column: 16}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 12) | ||
} | ||
for (i = 10; i <= 11; i++) { | ||
origPos = con.originalPositionFor({line: i, column: 4}) | ||
t.equal(origPos.line, 1) | ||
t.equal(origPos.column, 0) | ||
origPos = con.originalPositionFor({line: i, column: 8}) | ||
t.equal(origPos.line, 1) | ||
t.equal(origPos.column, 4) | ||
} | ||
for (i = 12; i <= 13; i++) { | ||
origPos = con.originalPositionFor({line: i, column: 4}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 0) | ||
origPos = con.originalPositionFor({line: i, column: 12}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 8) | ||
origPos = con.originalPositionFor({line: i, column: 16}) | ||
t.equal(origPos.line, 2) | ||
t.equal(origPos.column, 12) | ||
} | ||
t.end() | ||
// con.eachMapping(e => console.log(e)) | ||
// console.log(transformed); | ||
}) |
23951
673
4
6
8