@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.
@@ -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
- function getSourceCodeSnippet(fileData, lineNumber, sourceRadius) {
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.0'
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.0'
2721
+ version: '6.11.2'
2702
2722
  };
2703
2723
  var userAgent = function () {
2704
2724
  if (typeof navigator !== 'undefined') {