Skip to content

Commit a6355a0

Browse files
author
sean
committed
fix(pack): fix pack source map bug
1 parent 93b877a commit a6355a0

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

lib/modules/minWorker.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
'use strict';
22

3+
var _typeof2 = require('babel-runtime/helpers/typeof');
4+
5+
var _typeof3 = _interopRequireDefault(_typeof2);
6+
7+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8+
39
var path = require('path');
410
var fs = require('fs');
511
var crypto = require('crypto');
@@ -40,12 +46,14 @@ process.on('message', function (m) {
4046
ast = uglifyjsOpts.squeeze ? jsUglify.ast_squeeze(ast, uglifyjsOpts.squeeze) : ast;
4147
minifiedCode = jsUglify.gen_code(ast, uglifyjsOpts.genCode);
4248
} catch (e) {
49+
var type = (0, _typeof3.default)(e.line);
50+
4351
if (e.line) {
4452
var lineRange = 5;
4553
var errorSource = '';
4654
for (var lineIndex = e.line - lineRange, lineMax = e.line + lineRange; lineIndex < lineMax; lineIndex++) {
4755
get_line(filePath, lineIndex, function (err, line) {
48-
errorSource += line.trim() + '\n';
56+
if (line != null) errorSource += line.trim() + '\n';
4957
});
5058
}
5159

@@ -88,9 +96,9 @@ process.on('message', function (m) {
8896
});
8997

9098
function get_line(filename, line_no, callback) {
99+
91100
var data = fs.readFileSync(filename, 'utf8');
92101
var lines = data.split('\n');
93-
94102
if (+line_no > lines.length) {
95103
throw new Error('File end reached without finding line');
96104
}

src/modules/minWorker.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,14 @@ process.on('message', function(m) {
3838
ast = uglifyjsOpts.squeeze ? jsUglify.ast_squeeze(ast, uglifyjsOpts.squeeze) : ast;
3939
minifiedCode = jsUglify.gen_code(ast, uglifyjsOpts.genCode);
4040
} catch(e) {
41+
var type = typeof e.line;
42+
4143
if(e.line) {
4244
const lineRange = 5;
4345
let errorSource = '';
4446
for(let lineIndex = e.line - lineRange, lineMax = e.line + lineRange; lineIndex < lineMax; lineIndex++){
4547
get_line(filePath, lineIndex, function(err, line) {
46-
errorSource += line.trim() + '\n';
48+
if(line != null)errorSource += line.trim() + '\n';
4749
});
4850
}
4951

@@ -87,9 +89,9 @@ process.on('message', function(m) {
8789
});
8890

8991
function get_line(filename, line_no, callback) {
92+
9093
var data = fs.readFileSync(filename, 'utf8');
9194
var lines = data.split('\n');
92-
9395
if(+line_no > lines.length) {
9496
throw new Error('File end reached without finding line');
9597
}

0 commit comments

Comments
 (0)