Comparing version 0.6.5 to 0.7.0
# changelog | ||
## 0.7.0 | ||
* Use [sourcemap-codec](https://github.com/rich-harris/sourcemap-codec) instead of vlq | ||
## 0.6.5 | ||
@@ -4,0 +8,0 @@ |
@@ -22,3 +22,3 @@ 'use strict'; | ||
function decode(string) { | ||
function decode$1(string) { | ||
var result = [], | ||
@@ -61,3 +61,3 @@ len = string.length, | ||
function encode(value) { | ||
function encode$1(value) { | ||
var result, i; | ||
@@ -101,4 +101,2 @@ | ||
var cache = {}; | ||
function decodeSegments(encodedSegments) { | ||
@@ -108,73 +106,122 @@ var i = encodedSegments.length; | ||
while (i--) { | ||
segments[i] = decode(encodedSegments[i]); | ||
} | ||
while (i--) segments[i] = decode$1(encodedSegments[i]); | ||
return segments; | ||
} | ||
function decodeMappings(mappings) { | ||
var checksum = crc32(mappings); | ||
if (!cache[checksum]) { | ||
var sourceFileIndex = 0; // second field | ||
var sourceCodeLine = 0; // third field | ||
var sourceCodeColumn = 0; // fourth field | ||
var nameIndex = 0; // fifth field | ||
function decode(mappings) { | ||
var sourceFileIndex = 0; // second field | ||
var sourceCodeLine = 0; // third field | ||
var sourceCodeColumn = 0; // fourth field | ||
var nameIndex = 0; // fifth field | ||
var lines = mappings.split(';'); | ||
var numLines = lines.length; | ||
var decoded = new Array(numLines); | ||
var lines = mappings.split(';'); | ||
var numLines = lines.length; | ||
var decoded = new Array(numLines); | ||
var i = undefined, | ||
j = undefined, | ||
line = undefined, | ||
generatedCodeColumn = undefined, | ||
decodedLine = undefined, | ||
segments = undefined, | ||
segment = undefined, | ||
result = undefined; | ||
var i = undefined; | ||
var j = undefined; | ||
var line = undefined; | ||
var generatedCodeColumn = undefined; | ||
var decodedLine = undefined; | ||
var segments = undefined; | ||
var segment = undefined; | ||
var result = undefined; | ||
for (i = 0; i < numLines; i += 1) { | ||
line = lines[i]; | ||
for (i = 0; i < numLines; i += 1) { | ||
line = lines[i]; | ||
generatedCodeColumn = 0; // first field - reset each time | ||
decodedLine = []; | ||
generatedCodeColumn = 0; // first field - reset each time | ||
decodedLine = []; | ||
segments = decodeSegments(line.split(',')); | ||
segments = decodeSegments(line.split(',')); | ||
for (j = 0; j < segments.length; j += 1) { | ||
segment = segments[j]; | ||
for (j = 0; j < segments.length; j += 1) { | ||
segment = segments[j]; | ||
if (!segment.length) { | ||
break; | ||
} | ||
if (!segment.length) { | ||
break; | ||
} | ||
generatedCodeColumn += segment[0]; | ||
generatedCodeColumn += segment[0]; | ||
result = [generatedCodeColumn]; | ||
decodedLine.push(result); | ||
result = [generatedCodeColumn]; | ||
decodedLine.push(result); | ||
if (segment.length === 1) { | ||
// only one field! | ||
break; | ||
} | ||
if (segment.length === 1) { | ||
// only one field! | ||
continue; | ||
} | ||
sourceFileIndex += segment[1]; | ||
sourceCodeLine += segment[2]; | ||
sourceCodeColumn += segment[3]; | ||
sourceFileIndex += segment[1]; | ||
sourceCodeLine += segment[2]; | ||
sourceCodeColumn += segment[3]; | ||
result.push(sourceFileIndex, sourceCodeLine, sourceCodeColumn); | ||
result.push(sourceFileIndex, sourceCodeLine, sourceCodeColumn); | ||
if (segment.length === 5) { | ||
nameIndex += segment[4]; | ||
result.push(nameIndex); | ||
} | ||
if (segment.length === 5) { | ||
nameIndex += segment[4]; | ||
result.push(nameIndex); | ||
} | ||
} | ||
decoded[i] = decodedLine; | ||
decoded[i] = decodedLine; | ||
} | ||
return decoded; | ||
} | ||
function encode(decoded) { | ||
var offsets = { | ||
generatedCodeColumn: 0, | ||
sourceFileIndex: 0, // second field | ||
sourceCodeLine: 0, // third field | ||
sourceCodeColumn: 0, // fourth field | ||
nameIndex: 0 // fifth field | ||
}; | ||
return decoded.map(function (line) { | ||
offsets.generatedCodeColumn = 0; // first field - reset each time | ||
return line.map(encodeSegment).join(','); | ||
}).join(';'); | ||
function encodeSegment(segment) { | ||
if (!segment.length) { | ||
return segment; | ||
} | ||
cache[checksum] = decoded; | ||
var result = new Array(segment.length); | ||
result[0] = segment[0] - offsets.generatedCodeColumn; | ||
offsets.generatedCodeColumn = segment[0]; | ||
if (segment.length === 1) { | ||
// only one field! | ||
return encode$1(result); | ||
} | ||
result[1] = segment[1] - offsets.sourceFileIndex; | ||
result[2] = segment[2] - offsets.sourceCodeLine; | ||
result[3] = segment[3] - offsets.sourceCodeColumn; | ||
offsets.sourceFileIndex = segment[1]; | ||
offsets.sourceCodeLine = segment[2]; | ||
offsets.sourceCodeColumn = segment[3]; | ||
if (segment.length === 5) { | ||
result[4] = segment[4] - offsets.nameIndex; | ||
offsets.nameIndex = segment[4]; | ||
} | ||
return encode$1(result); | ||
} | ||
} | ||
var cache = {}; | ||
function decodeMappings(mappings) { | ||
var checksum = crc32(mappings); | ||
if (!cache[checksum]) { | ||
cache[checksum] = decode(mappings); | ||
} | ||
return cache[checksum]; | ||
@@ -491,48 +538,2 @@ } | ||
function encodeMappings(decoded) { | ||
var offsets = { | ||
generatedCodeColumn: 0, | ||
sourceFileIndex: 0, // second field | ||
sourceCodeLine: 0, // third field | ||
sourceCodeColumn: 0, // fourth field | ||
nameIndex: 0 // fifth field | ||
}; | ||
return decoded.map(function (line) { | ||
offsets.generatedCodeColumn = 0; // first field - reset each time | ||
return line.map(encodeSegment).join(','); | ||
}).join(';'); | ||
function encodeSegment(segment) { | ||
if (!segment.length) { | ||
return segment; | ||
} | ||
var result = new Array(segment.length); | ||
result[0] = segment[0] - offsets.generatedCodeColumn; | ||
offsets.generatedCodeColumn = segment[0]; | ||
if (segment.length === 1) { | ||
// only one field! | ||
return result; | ||
} | ||
result[1] = segment[1] - offsets.sourceFileIndex; | ||
result[2] = segment[2] - offsets.sourceCodeLine; | ||
result[3] = segment[3] - offsets.sourceCodeColumn; | ||
offsets.sourceFileIndex = segment[1]; | ||
offsets.sourceCodeLine = segment[2]; | ||
offsets.sourceCodeColumn = segment[3]; | ||
if (segment.length === 5) { | ||
result[4] = segment[4] - offsets.nameIndex; | ||
offsets.nameIndex = segment[4]; | ||
} | ||
return encode(result); | ||
} | ||
} | ||
function slash(path) { | ||
@@ -638,3 +639,3 @@ return typeof path === 'string' ? path.replace(/\\/g, '/') : path; | ||
var encodingStart = process.hrtime(); | ||
var mappings = encodeMappings(resolved); | ||
var mappings = encode(resolved); | ||
var encodingTime = process.hrtime(encodingStart); | ||
@@ -791,2 +792,3 @@ this._stats.encodingTime = 1e9 * encodingTime[0] + encodingTime[1]; | ||
exports.load = load; | ||
exports.loadSync = loadSync; | ||
exports.loadSync = loadSync; | ||
//# sourceMappingURL=sorcery.js.map |
{ | ||
"name": "sorcery", | ||
"description": "Resolve a chain of sourcemaps back to the original source", | ||
"version": "0.6.5", | ||
"version": "0.7.0", | ||
"author": "Rich Harris", | ||
@@ -14,3 +14,3 @@ "repository": "https://github.com/Rich-Harris/sorcery", | ||
"sander": "^0.3.8", | ||
"vlq": "^0.2.1" | ||
"sourcemap-codec": "^1.1.0" | ||
}, | ||
@@ -21,4 +21,4 @@ "devDependencies": { | ||
"codecov.io": "^0.1.6", | ||
"coffee-script": "^1.9.2", | ||
"eslint": "^1.6.0", | ||
"coffee-script": "^1.10.0", | ||
"eslint": "^1.7.1", | ||
"esperanto": "^0.7.5", | ||
@@ -29,4 +29,4 @@ "gobble": "^0.10.1", | ||
"istanbul": "^0.3.22", | ||
"less": "^2.5.0", | ||
"mocha": "^2.1.0", | ||
"less": "^2.5.3", | ||
"mocha": "^2.3.3", | ||
"promise-map-series": "^0.2.1", | ||
@@ -33,0 +33,0 @@ "remap-istanbul": "^0.3.0", |
import { basename, dirname, extname, relative, resolve } from 'path'; | ||
import { writeFile, writeFileSync } from 'sander'; | ||
import { encode } from 'sourcemap-codec'; | ||
import SourceMap from './SourceMap'; | ||
import encodeMappings from './utils/encodeMappings'; | ||
import slash from './utils/slash'; | ||
@@ -101,3 +101,3 @@ | ||
let encodingStart = process.hrtime(); | ||
let mappings = encodeMappings( resolved ); | ||
let mappings = encode( resolved ); | ||
let encodingTime = process.hrtime( encodingStart ); | ||
@@ -104,0 +104,0 @@ this._stats.encodingTime = 1e9 * encodingTime[0] + encodingTime[1]; |
import crc32 from 'buffer-crc32'; | ||
import { decode } from 'vlq'; | ||
import { decode } from 'sourcemap-codec'; | ||
let cache = {}; | ||
function decodeSegments ( encodedSegments ) { | ||
let i = encodedSegments.length; | ||
let segments = new Array( i); | ||
while ( i-- ) { | ||
segments[i] = decode( encodedSegments[i] ); | ||
} | ||
return segments; | ||
} | ||
export default function decodeMappings ( mappings ) { | ||
@@ -21,54 +10,3 @@ let checksum = crc32( mappings ); | ||
if ( !cache[ checksum ] ) { | ||
let sourceFileIndex = 0; // second field | ||
let sourceCodeLine = 0; // third field | ||
let sourceCodeColumn = 0; // fourth field | ||
let nameIndex = 0; // fifth field | ||
let lines = mappings.split( ';' ); | ||
let numLines = lines.length; | ||
let decoded = new Array( numLines ); | ||
let i, j, line, generatedCodeColumn, decodedLine, segments, segment, result; | ||
for ( i = 0; i < numLines; i += 1 ) { | ||
line = lines[i]; | ||
generatedCodeColumn = 0; // first field - reset each time | ||
decodedLine = []; | ||
segments = decodeSegments( line.split( ',' ) ); | ||
for ( j = 0; j < segments.length; j += 1 ) { | ||
segment = segments[j]; | ||
if ( !segment.length ) { | ||
break; | ||
} | ||
generatedCodeColumn += segment[0]; | ||
result = [ generatedCodeColumn ]; | ||
decodedLine.push( result ); | ||
if ( segment.length === 1 ) { | ||
// only one field! | ||
break; | ||
} | ||
sourceFileIndex += segment[1]; | ||
sourceCodeLine += segment[2]; | ||
sourceCodeColumn += segment[3]; | ||
result.push( sourceFileIndex, sourceCodeLine, sourceCodeColumn ); | ||
if ( segment.length === 5 ) { | ||
nameIndex += segment[4]; | ||
result.push( nameIndex ); | ||
} | ||
} | ||
decoded[i] = decodedLine; | ||
} | ||
cache[ checksum ] = decoded; | ||
cache[ checksum ] = decode( mappings ); | ||
} | ||
@@ -75,0 +13,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
83923
20
1095
+ Addedsourcemap-codec@^1.1.0
+ Addedsourcemap-codec@1.4.8(transitive)
- Removedvlq@^0.2.1
- Removedvlq@0.2.3(transitive)