|
1 | 1 | 'use strict';
|
2 | 2 |
|
| 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 | + |
3 | 9 | var path = require('path');
|
4 | 10 | var fs = require('fs');
|
5 | 11 | var crypto = require('crypto');
|
@@ -40,12 +46,14 @@ process.on('message', function (m) {
|
40 | 46 | ast = uglifyjsOpts.squeeze ? jsUglify.ast_squeeze(ast, uglifyjsOpts.squeeze) : ast;
|
41 | 47 | minifiedCode = jsUglify.gen_code(ast, uglifyjsOpts.genCode);
|
42 | 48 | } catch (e) {
|
| 49 | + var type = (0, _typeof3.default)(e.line); |
| 50 | + |
43 | 51 | if (e.line) {
|
44 | 52 | var lineRange = 5;
|
45 | 53 | var errorSource = '';
|
46 | 54 | for (var lineIndex = e.line - lineRange, lineMax = e.line + lineRange; lineIndex < lineMax; lineIndex++) {
|
47 | 55 | get_line(filePath, lineIndex, function (err, line) {
|
48 |
| - errorSource += line.trim() + '\n'; |
| 56 | + if (line != null) errorSource += line.trim() + '\n'; |
49 | 57 | });
|
50 | 58 | }
|
51 | 59 |
|
@@ -88,9 +96,9 @@ process.on('message', function (m) {
|
88 | 96 | });
|
89 | 97 |
|
90 | 98 | function get_line(filename, line_no, callback) {
|
| 99 | + |
91 | 100 | var data = fs.readFileSync(filename, 'utf8');
|
92 | 101 | var lines = data.split('\n');
|
93 |
| - |
94 | 102 | if (+line_no > lines.length) {
|
95 | 103 | throw new Error('File end reached without finding line');
|
96 | 104 | }
|
|
0 commit comments