Socket
Socket
Sign inDemoInstall

sorcery

Package Overview
Dependencies
20
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.5 to 0.7.0

4

CHANGELOG.md
# changelog
## 0.7.0
* Use [sourcemap-codec](https://github.com/rich-harris/sourcemap-codec) instead of vlq
## 0.6.5

@@ -4,0 +8,0 @@

204

dist/sorcery.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc