@honeybadger-io/js 6.11.0 → 6.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/honeybadger.ext.min.js +1 -1
- package/dist/browser/honeybadger.ext.min.js.map +1 -1
- package/dist/browser/honeybadger.js +24 -4
- package/dist/browser/honeybadger.js.map +1 -1
- package/dist/browser/honeybadger.min.js +1 -1
- package/dist/browser/honeybadger.min.js.map +1 -1
- package/dist/server/honeybadger.js +24 -4
- package/dist/server/honeybadger.js.map +1 -1
- package/package.json +5 -5
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
return [4 /*yield*/, getSourceFileHandler(trace.file)];
|
|
393
393
|
case 2:
|
|
394
394
|
fileContent = _a.sent();
|
|
395
|
-
result[index] = getSourceCodeSnippet(fileContent, trace.number);
|
|
395
|
+
result[index] = getSourceCodeSnippet(fileContent, trace.number, trace.column, 2);
|
|
396
396
|
index++;
|
|
397
397
|
return [3 /*break*/, 1];
|
|
398
398
|
case 3: return [2 /*return*/, result];
|
|
@@ -760,14 +760,34 @@
|
|
|
760
760
|
return JSON.parse(JSON.stringify(obj));
|
|
761
761
|
}
|
|
762
762
|
exports.clone = clone;
|
|
763
|
-
|
|
763
|
+
var THRESHOLD_COLUMN_NUMBER = 10000;
|
|
764
|
+
var THRESHOLD_LINE_LENGTH = 10000;
|
|
765
|
+
var THRESHOLD_FILE_SIZE = 200000; // 200KB threshold
|
|
766
|
+
function getThresholdExceededSnippet(lineNumber) {
|
|
767
|
+
var _a;
|
|
768
|
+
return _a = {}, _a[lineNumber] = 'SOURCE_SIZE_TOO_LARGE', _a;
|
|
769
|
+
}
|
|
770
|
+
function getSourceCodeSnippet(fileData, lineNumber, columnNumber, sourceRadius) {
|
|
764
771
|
if (sourceRadius === void 0) { sourceRadius = 2; }
|
|
765
772
|
if (!fileData) {
|
|
766
773
|
return null;
|
|
767
774
|
}
|
|
775
|
+
// If column number is provided and very high, it's likely a bundled/minified file
|
|
776
|
+
if (columnNumber && columnNumber > THRESHOLD_COLUMN_NUMBER) {
|
|
777
|
+
return getThresholdExceededSnippet(lineNumber);
|
|
778
|
+
}
|
|
779
|
+
// If file is very large, it's likely bundled
|
|
780
|
+
if (fileData.length > THRESHOLD_FILE_SIZE) {
|
|
781
|
+
return getThresholdExceededSnippet(lineNumber);
|
|
782
|
+
}
|
|
768
783
|
var lines = fileData.split('\n');
|
|
769
784
|
// add one empty line because array index starts from 0, but error line number is counted from 1
|
|
770
785
|
lines.unshift('');
|
|
786
|
+
// Check if the target line is extremely long
|
|
787
|
+
var targetLine = lines[lineNumber];
|
|
788
|
+
if (targetLine && targetLine.length > THRESHOLD_LINE_LENGTH) {
|
|
789
|
+
return getThresholdExceededSnippet(lineNumber);
|
|
790
|
+
}
|
|
771
791
|
var start = lineNumber - sourceRadius;
|
|
772
792
|
var end = lineNumber + sourceRadius;
|
|
773
793
|
var result = {};
|
|
@@ -1177,7 +1197,7 @@
|
|
|
1177
1197
|
this.__notifier = {
|
|
1178
1198
|
name: '@honeybadger-io/core',
|
|
1179
1199
|
url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',
|
|
1180
|
-
version: '6.11.
|
|
1200
|
+
version: '6.11.2'
|
|
1181
1201
|
};
|
|
1182
1202
|
this.config = __assign$1(__assign$1({}, defaults_1.CONFIG), opts);
|
|
1183
1203
|
this.__initStore();
|
|
@@ -2698,7 +2718,7 @@
|
|
|
2698
2718
|
var NOTIFIER = {
|
|
2699
2719
|
name: '@honeybadger-io/js',
|
|
2700
2720
|
url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/js',
|
|
2701
|
-
version: '6.11.
|
|
2721
|
+
version: '6.11.2'
|
|
2702
2722
|
};
|
|
2703
2723
|
var userAgent = function () {
|
|
2704
2724
|
if (typeof navigator !== 'undefined') {
|