@honeybadger-io/js 6.16.6 → 6.17.0
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 +47 -5
- 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/fastify.js +46 -4
- package/dist/server/fastify.js.map +1 -1
- package/dist/server/honeybadger.js +47 -5
- package/dist/server/honeybadger.js.map +1 -1
- package/package.json +3 -3
|
@@ -271,7 +271,7 @@ var require$$0$1 = /*@__PURE__*/getAugmentedNamespace(stackTraceParser_esm);
|
|
|
271
271
|
}
|
|
272
272
|
};
|
|
273
273
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
274
|
-
exports.logDeprecatedMethod = exports.globalThisOrWindow = exports.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterBreadcrumbs = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrumentConsole = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.shouldSampleEvent = exports.resolveInsights = exports.runBeforeEventHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.calculateBacktraceShift = exports.DEFAULT_BACKTRACE_SHIFT = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;
|
|
274
|
+
exports.logDeprecatedMethod = exports.globalThisOrWindow = exports.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterBreadcrumbs = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrumentConsole = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.shouldSampleEvent = exports.resolveInsights = exports.runBeforeBreadcrumbHandlers = exports.runBeforeEventHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.calculateBacktraceShift = exports.DEFAULT_BACKTRACE_SHIFT = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;
|
|
275
275
|
/* eslint-disable prefer-rest-params */
|
|
276
276
|
var stackTraceParser = __importStar(require$$0$1);
|
|
277
277
|
function merge(obj1, obj2) {
|
|
@@ -484,6 +484,25 @@ var require$$0$1 = /*@__PURE__*/getAugmentedNamespace(stackTraceParser_esm);
|
|
|
484
484
|
});
|
|
485
485
|
}
|
|
486
486
|
exports.runBeforeEventHandlers = runBeforeEventHandlers;
|
|
487
|
+
function runBeforeBreadcrumbHandlers(breadcrumb, handlers, logger) {
|
|
488
|
+
for (var i = 0, len = handlers.length; i < len; i++) {
|
|
489
|
+
var result = void 0;
|
|
490
|
+
try {
|
|
491
|
+
result = handlers[i](breadcrumb);
|
|
492
|
+
}
|
|
493
|
+
catch (err) {
|
|
494
|
+
// Breadcrumbs are recorded inside instrumented fetch/XHR/DOM callbacks,
|
|
495
|
+
// so a buggy handler must not throw into the host app. Log and treat as no-op.
|
|
496
|
+
logger === null || logger === void 0 ? void 0 : logger.error('beforeBreadcrumb handler threw; continuing', err);
|
|
497
|
+
continue;
|
|
498
|
+
}
|
|
499
|
+
if (result === false) {
|
|
500
|
+
return false;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
return true;
|
|
504
|
+
}
|
|
505
|
+
exports.runBeforeBreadcrumbHandlers = runBeforeBreadcrumbHandlers;
|
|
487
506
|
function resolveInsights(config) {
|
|
488
507
|
var _a, _b;
|
|
489
508
|
var insights = config.insights;
|
|
@@ -1549,12 +1568,14 @@ var Client = /** @class */ (function () {
|
|
|
1549
1568
|
this.__store = null;
|
|
1550
1569
|
this.__beforeNotifyHandlers = [];
|
|
1551
1570
|
this.__beforeEventHandlers = [];
|
|
1571
|
+
this.__beforeBreadcrumbHandlers = [];
|
|
1572
|
+
this.__runningBeforeBreadcrumbHandlers = false;
|
|
1552
1573
|
this.__afterNotifyHandlers = [];
|
|
1553
1574
|
this.__pendingEvents = new Set();
|
|
1554
1575
|
this.__notifier = {
|
|
1555
1576
|
name: '@honeybadger-io/core',
|
|
1556
1577
|
url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',
|
|
1557
|
-
version: '6.
|
|
1578
|
+
version: '6.17.0'
|
|
1558
1579
|
};
|
|
1559
1580
|
this.config = __assign$1(__assign$1({}, defaults_1.CONFIG), opts);
|
|
1560
1581
|
this.__initStore();
|
|
@@ -1621,6 +1642,10 @@ var Client = /** @class */ (function () {
|
|
|
1621
1642
|
this.__beforeEventHandlers.push(handler);
|
|
1622
1643
|
return this;
|
|
1623
1644
|
};
|
|
1645
|
+
Client.prototype.beforeBreadcrumb = function (handler) {
|
|
1646
|
+
this.__beforeBreadcrumbHandlers.push(handler);
|
|
1647
|
+
return this;
|
|
1648
|
+
};
|
|
1624
1649
|
Client.prototype.afterNotify = function (handler) {
|
|
1625
1650
|
this.__afterNotifyHandlers.push(handler);
|
|
1626
1651
|
return this;
|
|
@@ -1826,12 +1851,29 @@ var Client = /** @class */ (function () {
|
|
|
1826
1851
|
var metadata = (0, util_1$5.shallowClone)(opts.metadata);
|
|
1827
1852
|
var category = opts.category || 'custom';
|
|
1828
1853
|
var timestamp = new Date().toISOString();
|
|
1829
|
-
|
|
1854
|
+
var breadcrumb = {
|
|
1830
1855
|
category: category,
|
|
1831
1856
|
message: message,
|
|
1832
1857
|
metadata: metadata,
|
|
1833
1858
|
timestamp: timestamp
|
|
1834
|
-
}
|
|
1859
|
+
};
|
|
1860
|
+
// A handler that logs, or the error we log when a handler throws, goes
|
|
1861
|
+
// through instrumented console methods and lands back here. Skipping the
|
|
1862
|
+
// handlers for those breadcrumbs keeps that from recursing.
|
|
1863
|
+
if (!this.__runningBeforeBreadcrumbHandlers) {
|
|
1864
|
+
this.__runningBeforeBreadcrumbHandlers = true;
|
|
1865
|
+
var keep = void 0;
|
|
1866
|
+
try {
|
|
1867
|
+
keep = (0, util_1$5.runBeforeBreadcrumbHandlers)(breadcrumb, this.__beforeBreadcrumbHandlers, this.logger);
|
|
1868
|
+
}
|
|
1869
|
+
finally {
|
|
1870
|
+
this.__runningBeforeBreadcrumbHandlers = false;
|
|
1871
|
+
}
|
|
1872
|
+
if (!keep) {
|
|
1873
|
+
return this;
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
this.__store.addBreadcrumb(breadcrumb);
|
|
1835
1877
|
return this;
|
|
1836
1878
|
};
|
|
1837
1879
|
/**
|
|
@@ -4170,7 +4212,7 @@ var globalSingleton = {};
|
|
|
4170
4212
|
var NOTIFIER = {
|
|
4171
4213
|
name: '@honeybadger-io/js',
|
|
4172
4214
|
url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/js',
|
|
4173
|
-
version: '6.
|
|
4215
|
+
version: '6.17.0'
|
|
4174
4216
|
};
|
|
4175
4217
|
var userAgent = function () {
|
|
4176
4218
|
return "Honeybadger JS Server Client ".concat(NOTIFIER.version, ", ").concat(os_1.default.version(), "; ").concat(os_1.default.platform());
|