Skip to content

Commit

Permalink
Revert "Fix compressed source-maps have non-terminated segments (#342)…
Browse files Browse the repository at this point in the history
…" (#381)

This reverts commit 7d47254.
  • Loading branch information
fabiosantoscode committed Jun 30, 2019
1 parent 61f1fe5 commit 7c1e9cc
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 54 deletions.
11 changes: 1 addition & 10 deletions lib/sourcemap.js
Expand Up @@ -74,21 +74,12 @@ function SourceMap(options) {
}

function add(source, gen_line, gen_col, orig_line, orig_col, name) {
var generatedPos = { line: gen_line + options.dest_line_diff, column: gen_col };
if (orig_map) {
var info = orig_map.originalPositionFor({
line: orig_line,
column: orig_col
});
if (info.source === null) {
if (generatedPos.column !== 0) {
generator.addMapping({
generated: generatedPos,
original: null,
source: null,
name: null
});
}
return;
}
source = info.source;
Expand All @@ -97,7 +88,7 @@ function SourceMap(options) {
name = info.name || name;
}
generator.addMapping({
generated : generatedPos,
generated : { line: gen_line + options.dest_line_diff, column: gen_col },
original : { line: orig_line + options.orig_line_diff, column: orig_col },
source : source,
name : name
Expand Down
44 changes: 0 additions & 44 deletions test/mocha/input-sourcemaps.js
@@ -1,7 +1,6 @@
var Uglify = require('../../');
var assert = require("assert");
var SourceMapConsumer = require("source-map").SourceMapConsumer;
var SourceMapGenerator = require("source-map").SourceMapGenerator;

describe("input sourcemaps", function() {
var transpilemap, map;
Expand Down Expand Up @@ -64,47 +63,4 @@ describe("input sourcemaps", function() {
assert.ok(pos.line <= 2, msg);
})
});

it("Should preserve unmapped segments in output source map", function() {
var generator = new SourceMapGenerator();

generator.addMapping({
source: "source.ts",
generated: {line: 1, column: 0},
original: {line: 1, column: 0},
});

generator.addMapping({
source: null,
original: null,
generated: {line: 1, column: 38}
});

generator.addMapping({
source: "source.ts",
generated: {line: 1, column: 51},
original: {line: 2, column: 0},
});

// Everything except the "say('hello');" part is mapped to "source.ts". The "say"
// function call is not mapped to any original source location. e.g. this can
// happen when a code transformer inserts generated code in between existing code.
var inputFile = "function say(msg) {console.log(msg)};say('hello');process.exit(1);";
var result = Uglify.minify(inputFile, {
sourceMap: {
content: JSON.parse(generator.toString())
}
});

var transformedMap = new SourceMapConsumer(result.map);
var hasMappedSource = true;

for (let i = 0; i < result.code.length; i++) {
var info = transformedMap.originalPositionFor({line: 1, column: i});
hasMappedSource = hasMappedSource && !!info.source;
}

assert.equal(hasMappedSource, false, "Expected transformed source map to preserve the " +
"mapping without original source location");
});
});

0 comments on commit 7c1e9cc

Please sign in to comment.