Socket
Socket
Sign inDemoInstall

sentry-testkit

Package Overview
Dependencies
63
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 4.1.0 to 5.0.0

dist/browser.d.ts

36

dist/browser.js
'use strict';
var _require = require('./testkit'),
createTestkit = _require.createTestkit;
var _require2 = require('./initNetworkInterceptor'),
createInitNetworkInterceptor = _require2.createInitNetworkInterceptor;
var _require3 = require('./sentryTransport'),
createSentryTransport = _require3.createSentryTransport;
module.exports = function () {
var testkit = createTestkit();
var sentryTransport = createSentryTransport(testkit);
var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
return {
sentryTransport: sentryTransport,
testkit: testkit,
initNetworkInterceptor: initNetworkInterceptor
};
};
Object.defineProperty(exports, "__esModule", { value: true });
var testkit_1 = require("./testkit");
var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
var sentryTransport_1 = require("./sentryTransport");
function default_1() {
var testkit = (0, testkit_1.createTestkit)();
var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
return {
sentryTransport: sentryTransport,
testkit: testkit,
initNetworkInterceptor: initNetworkInterceptor,
};
}
exports.default = default_1;
//# sourceMappingURL=browser.js.map

@@ -1,26 +0,19 @@

'use strict';
var _require = require('./testkit'),
createTestkit = _require.createTestkit;
var _require2 = require('./localServerApi'),
createLocalServerApi = _require2.createLocalServerApi;
var _require3 = require('./initNetworkInterceptor'),
createInitNetworkInterceptor = _require3.createInitNetworkInterceptor;
var _require4 = require('./sentryTransport'),
createSentryTransport = _require4.createSentryTransport;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var testkit_1 = require("./testkit");
var localServerApi_1 = require("./localServerApi");
var initNetworkInterceptor_1 = require("./initNetworkInterceptor");
var sentryTransport_1 = require("./sentryTransport");
module.exports = function () {
var testkit = createTestkit();
var sentryTransport = createSentryTransport(testkit);
var initNetworkInterceptor = createInitNetworkInterceptor(testkit);
var localServer = createLocalServerApi(testkit);
return {
sentryTransport: sentryTransport,
testkit: testkit,
initNetworkInterceptor: initNetworkInterceptor,
localServer: localServer
};
};
var testkit = (0, testkit_1.createTestkit)();
var sentryTransport = (0, sentryTransport_1.createSentryTransport)(testkit);
var initNetworkInterceptor = (0, initNetworkInterceptor_1.createInitNetworkInterceptor)(testkit);
var localServer = (0, localServerApi_1.createLocalServerApi)(testkit);
return {
sentryTransport: sentryTransport,
testkit: testkit,
initNetworkInterceptor: initNetworkInterceptor,
localServer: localServer,
};
};
//# sourceMappingURL=index.js.map
'use strict';
var _require = require('./parsers'),
parseDsn = _require.parseDsn,
parseEnvelopeRequest = _require.parseEnvelopeRequest;
var _require2 = require('./transformers'),
transformReport = _require2.transformReport,
transformTransaction = _require2.transformTransaction;
var createInitNetworkInterceptor = function createInitNetworkInterceptor(testkit) {
return function (dsn, cb) {
var _parseDsn = parseDsn(dsn),
protocol = _parseDsn.protocol,
host = _parseDsn.host;
var baseUrl = "".concat(protocol, "://").concat(host);
var handleRequestBody = function handleRequestBody(requestBody) {
return testkit.reports().push(transformReport(requestBody));
var _a = require('./parsers'), parseDsn = _a.parseDsn, parseEnvelopeRequest = _a.parseEnvelopeRequest;
var _b = require('./transformers'), transformReport = _b.transformReport, transformTransaction = _b.transformTransaction;
var createInitNetworkInterceptor = function (testkit) {
return function (dsn, cb) {
var _a = parseDsn(dsn), protocol = _a.protocol, host = _a.host;
var baseUrl = "".concat(protocol, "://").concat(host);
var handleRequestBody = function (requestBody) {
return testkit.reports().push(transformReport(requestBody));
};
var handleEnvelopeRequestBody = function (requestBody) {
var _a = parseEnvelopeRequest(requestBody), type = _a.type, payload = _a.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
}
if (type === 'event') {
testkit.reports().push(transformReport(payload));
}
};
return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
};
var handleEnvelopeRequestBody = function handleEnvelopeRequestBody(requestBody) {
var _parseEnvelopeRequest = parseEnvelopeRequest(requestBody),
type = _parseEnvelopeRequest.type,
payload = _parseEnvelopeRequest.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
}
if (type === 'event') {
testkit.reports().push(transformReport(payload));
}
};
return cb(baseUrl, handleRequestBody, handleEnvelopeRequestBody);
};
};
module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
module.exports.createInitNetworkInterceptor = createInitNetworkInterceptor;
//# sourceMappingURL=initNetworkInterceptor.js.map
'use strict';
var Sentry = require('@sentry/browser');
var sentryTestkit = require('./index');
var _sentryTestkit = sentryTestkit(),
testkit = _sentryTestkit.testkit,
sentryTransport = _sentryTestkit.sentryTransport;
var _a = sentryTestkit(), testkit = _a.testkit, sentryTransport = _a.sentryTransport;
jest.mock('@sentry/browser', function () {
return Object.assign({}, Sentry, {
init: function init(options) {
return Sentry.init(Object.assign({}, options, {
transport: sentryTransport
}));
}
});
return Object.assign({}, Sentry, {
init: function (options) {
return Sentry.init(Object.assign({}, options, { transport: sentryTransport }));
},
});
});
module.exports.testkit = testkit;
module.exports.testkit = testkit;
//# sourceMappingURL=jestMock.js.map
'use strict';
var express = require('express');
var bodyParser = require('body-parser');
var http = require('http');
var _require = require('./parsers'),
parseDsn = _require.parseDsn,
parseEnvelopeRequest = _require.parseEnvelopeRequest;
var _require2 = require('./transformers'),
transformReport = _require2.transformReport,
transformTransaction = _require2.transformTransaction;
var createLocalServerApi = function createLocalServerApi(testkit) {
var runningServer = null;
var localDsn = null;
var start = function start(userDsn) {
if (runningServer !== null) {
throw new Error('Local server is already running');
}
var _parseDsn = parseDsn(userDsn),
project = _parseDsn.project;
var app = express();
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
next();
}); // the performance endpoint uses a custom non-json payload so
// we can't use bodyParser.json() directly
app.use(bodyParser.text({
type: ['application/json', 'application/x-sentry-envelope', 'text/plain']
}));
app.post("/api/".concat(project, "/store/"), function (req, res) {
testkit.reports().push(transformReport(JSON.parse(req.body)));
res.sendStatus(200);
});
app.post("/api/".concat(project, "/envelope/"), function (req, res) {
if (req.headers['transfer-encoding'] === 'chunked') {
var rawData = '';
req.on('data', function (chunk) {
rawData += chunk;
var _a = require('./parsers'), parseDsn = _a.parseDsn, parseEnvelopeRequest = _a.parseEnvelopeRequest;
var _b = require('./transformers'), transformReport = _b.transformReport, transformTransaction = _b.transformTransaction;
var createLocalServerApi = function (testkit) {
var runningServer = null;
var localDsn = null;
var start = function (userDsn) {
if (runningServer !== null) {
throw new Error('Local server is already running');
}
var project = parseDsn(userDsn).project;
var app = express();
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
next();
});
req.on('end', function () {
var _parseEnvelopeRequest = parseEnvelopeRequest(rawData),
type = _parseEnvelopeRequest.type,
payload = _parseEnvelopeRequest.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
}
if (type === 'event') {
testkit.reports().push(transformReport(payload));
}
res.sendStatus(200);
// the performance endpoint uses a custom non-json payload so
// we can't use bodyParser.json() directly
app.use(bodyParser.text({
type: [
'application/json',
'application/x-sentry-envelope',
'text/plain',
],
}));
app.post("/api/".concat(project, "/store/"), function (req, res) {
testkit.reports().push(transformReport(JSON.parse(req.body)));
res.sendStatus(200);
});
} else {
var _parseEnvelopeRequest2 = parseEnvelopeRequest(req.body),
type = _parseEnvelopeRequest2.type,
payload = _parseEnvelopeRequest2.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
app.post("/api/".concat(project, "/envelope/"), function (req, res) {
if (req.headers['transfer-encoding'] === 'chunked') {
var rawData_1 = '';
req.on('data', function (chunk) {
rawData_1 += chunk;
});
req.on('end', function () {
var _a = parseEnvelopeRequest(rawData_1), type = _a.type, payload = _a.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
}
if (type === 'event') {
testkit.reports().push(transformReport(payload));
}
res.sendStatus(200);
});
}
else {
var _a = parseEnvelopeRequest(req.body), type = _a.type, payload = _a.payload;
if (type === 'transaction') {
testkit.transactions().push(transformTransaction(payload));
}
res.sendStatus(200);
}
});
runningServer = http.createServer(app);
return new Promise(function (resolve) {
runningServer.listen(function () {
var port = runningServer.address().port;
localDsn = "http://acacaeaccacacacabcaacdacdacadaca@localhost:".concat(port, "/").concat(project);
resolve();
});
});
};
var stop = function () {
if (runningServer === null) {
throw new Error('Local server is not running');
}
res.sendStatus(200);
}
});
runningServer = http.createServer(app);
return new Promise(function (resolve) {
runningServer.listen(function () {
var port = runningServer.address().port;
localDsn = "http://acacaeaccacacacabcaacdacdacadaca@localhost:".concat(port, "/").concat(project);
resolve();
});
});
};
var stop = function stop() {
if (runningServer === null) {
throw new Error('Local server is not running');
}
return new Promise(function (resolve, reject) {
runningServer.close(function (error) {
return error ? reject(error) : resolve();
});
runningServer = null;
localDsn = null;
});
};
var getDsn = function getDsn() {
if (runningServer === null) {
throw new Error('Local server is not running');
}
return localDsn;
};
return {
start: start,
stop: stop,
getDsn: getDsn
};
return new Promise(function (resolve, reject) {
runningServer.close(function (error) { return (error ? reject(error) : resolve()); });
runningServer = null;
localDsn = null;
});
};
var getDsn = function () {
if (runningServer === null) {
throw new Error('Local server is not running');
}
return localDsn;
};
return {
start: start,
stop: stop,
getDsn: getDsn,
};
};
module.exports.createLocalServerApi = createLocalServerApi;
module.exports.createLocalServerApi = createLocalServerApi;
//# sourceMappingURL=localServerApi.js.map

@@ -1,50 +0,29 @@

'use strict';
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseEnvelopeRequest = exports.parseDsn = void 0;
var dsnKeys = 'source protocol user pass host port path'.split(' ');
var dsnPattern = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/; //eslint-disable-line no-useless-escape
var parseDsn = function parseDsn(dsn) {
var _dsn$match$reduce = dsn.match(dsnPattern).reduce(function (parsed, current, index) {
return Object.assign({}, parsed, _defineProperty({}, dsnKeys[index], current));
}, {}),
protocol = _dsn$match$reduce.protocol,
host = _dsn$match$reduce.host,
path = _dsn$match$reduce.path;
var project = path.substr(path.lastIndexOf('/') + 1);
return {
protocol: protocol,
project: project,
host: host
};
};
var parseEnvelopeRequest = function parseEnvelopeRequest(reqBody) {
var _reqBody$split = reqBody.split('\n'),
_reqBody$split2 = _slicedToArray(_reqBody$split, 3),
_header = _reqBody$split2[0],
itemHeader = _reqBody$split2[1],
itemPayload = _reqBody$split2[2];
return {
type: JSON.parse(itemHeader).type,
payload: JSON.parse(itemPayload)
};
};
module.exports.parseDsn = parseDsn;
module.exports.parseEnvelopeRequest = parseEnvelopeRequest;
function parseDsn(dsn) {
var dsnMatch = dsn.match(dsnPattern);
if (!dsnMatch) {
throw new Error('Could not parse DSN');
}
var _a = dsnMatch.reduce(function (parsed, current, index) {
var _a;
return Object.assign({}, parsed, (_a = {},
_a[dsnKeys[index]] = current,
_a));
}, {}), protocol = _a.protocol, host = _a.host, path = _a.path;
var project = path.substr(path.lastIndexOf('/') + 1);
return { protocol: protocol, project: project, host: host };
}
exports.parseDsn = parseDsn;
function parseEnvelopeRequest(reqBody) {
var _a = reqBody.split('\n'), _header = _a[0], itemHeader = _a[1], itemPayload = _a[2];
return {
type: JSON.parse(itemHeader).type,
payload: JSON.parse(itemPayload),
};
}
exports.parseEnvelopeRequest = parseEnvelopeRequest;
//# sourceMappingURL=parsers.js.map

@@ -1,74 +0,50 @@

'use strict';
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var _require = require('./transformers'),
transformReport = _require.transformReport,
transformTransaction = _require.transformTransaction;
var createSentryTransport = function createSentryTransport(testkit) {
return function () {
// Send transport for API < v7
var sendEvent = function sendEvent(event) {
if (event.type === 'transaction') {
testkit.transactions().push(transformTransaction(event));
} else {
testkit.reports().push(transformReport(event));
}
return Promise.resolve({
status: 'success',
event: event
});
}; // Send transport for API v7
var send = function send(envelope) {
var _envelope = _slicedToArray(envelope, 2),
items = _envelope[1];
items.forEach(function (_ref, index) {
var _ref2 = _slicedToArray(_ref, 2),
headers = _ref2[0],
data = _ref2[1];
if (headers.type === 'transaction') {
testkit.transactions().push(transformTransaction(data));
} else if (headers.type === 'event') {
testkit.reports().push(transformReport(data));
}
});
return Promise.resolve();
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSentryTransport = void 0;
var transformers_1 = require("./transformers");
function createSentryTransport(testkit) {
return function () {
// Send transport for API < v7
var sendEvent = function (event) {
if (event.type === 'transaction') {
testkit.transactions().push((0, transformers_1.transformTransaction)(event));
}
else {
testkit.reports().push((0, transformers_1.transformReport)(event));
}
return Promise.resolve({
status: 'success',
event: event,
});
};
// Send transport for API v7
var send = function (envelope) {
var items = envelope[1];
// @ts-expect-error
items.forEach(function (_a) {
var headers = _a[0], data = _a[1];
if (headers.type === 'transaction') {
testkit.transactions().push((0, transformers_1.transformTransaction)(data));
}
else if (headers.type === 'event') {
testkit.reports().push((0, transformers_1.transformReport)(data));
}
});
return Promise.resolve();
};
var close = function () {
return Promise.resolve(true);
};
return {
// captureEvent(event: SentryEvent): Promise<SentryResponse>;
captureEvent: sendEvent,
sendEvent: sendEvent,
send: send,
// close(timeout?: number): Promise<boolean>;
close: close,
flush: close, // support for v7 API
};
};
var close = function close() {
return Promise.resolve(true);
};
return {
// captureEvent(event: SentryEvent): Promise<SentryResponse>;
captureEvent: sendEvent,
// support for v4 API
sendEvent: sendEvent,
// support for v5 API
send: send,
// support for v7 API
// close(timeout?: number): Promise<boolean>;
close: close,
flush: close // support for v7 API
};
};
};
module.exports.createSentryTransport = createSentryTransport;
}
exports.createSentryTransport = createSentryTransport;
//# sourceMappingURL=sentryTransport.js.map

@@ -1,79 +0,70 @@

'use strict';
var _require = require('./parsers'),
parseEnvelopeRequest = _require.parseEnvelopeRequest;
var _require2 = require('./transformers'),
transformReport = _require2.transformReport,
transformTransaction = _require2.transformTransaction;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTestkit = void 0;
var parsers_1 = require("./parsers");
var transformers_1 = require("./transformers");
function getException(report) {
return report.error;
return report.error;
}
module.exports.createTestkit = function () {
var _reports = [];
var _transactions = [];
var puppeteerHandler = null;
var createPuppeteerHandler = function createPuppeteerHandler(baseUrl) {
return function (request) {
var url = request.url();
if (!url.startsWith(baseUrl)) {
return;
}
var path = url.substring(baseUrl.length);
if (/\/api\/[0-9]*\/store/.test(path)) {
_reports.push(transformReport(JSON.parse(request.postData())));
}
if (/\/api\/[0-9]*\/envelope/.test(path)) {
var _parseEnvelopeRequest = parseEnvelopeRequest(request.postData()),
type = _parseEnvelopeRequest.type,
payload = _parseEnvelopeRequest.payload;
if (type === 'transaction') {
_transactions.push(transformTransaction(payload));
function createTestkit() {
var reports = [];
var transactions = [];
var puppeteerHandler = null;
var createPuppeteerHandler = function (baseUrl) { return function (request) {
var url = request.url();
if (!url.startsWith(baseUrl)) {
return;
}
}
var path = url.substring(baseUrl.length);
if (/\/api\/[0-9]*\/store/.test(path)) {
reports.push((0, transformers_1.transformReport)(JSON.parse(request.postData())));
}
if (/\/api\/[0-9]*\/envelope/.test(path)) {
var _a = (0, parsers_1.parseEnvelopeRequest)(request.postData()), type = _a.type, payload = _a.payload;
if (type === 'transaction') {
transactions.push((0, transformers_1.transformTransaction)(payload));
}
}
}; };
return {
puppeteer: {
startListening: function (page, baseUrl) {
if (baseUrl === void 0) { baseUrl = 'https://sentry.io'; }
puppeteerHandler = createPuppeteerHandler(baseUrl);
page.on('request', puppeteerHandler);
},
stopListening: function (page) {
page.removeListener('request', puppeteerHandler);
},
},
reports: function () {
return reports;
},
transactions: function () {
return transactions;
},
reset: function () {
reports = [];
transactions = [];
},
getExceptionAt: function (index) {
if (reports[index]) {
return getException(reports[index]);
}
else {
throw new Error("There's not report at index ".concat(index));
}
},
findReport: function (e) {
return reports.find(function (r) {
var err = getException(r);
return err && err.name === e.name && err.message === e.message;
});
},
isExist: function (e) {
return this.findReport(e) !== undefined;
},
};
};
return {
puppeteer: {
startListening: function startListening(page) {
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'https://sentry.io';
puppeteerHandler = createPuppeteerHandler(baseUrl);
page.on('request', puppeteerHandler);
},
stopListening: function stopListening(page) {
page.removeListener('request', puppeteerHandler);
}
},
reports: function reports() {
return _reports;
},
transactions: function transactions() {
return _transactions;
},
reset: function reset() {
_reports = [];
_transactions = [];
},
getExceptionAt: function getExceptionAt(index) {
return getException(_reports[index]);
},
findReport: function findReport(e) {
return _reports.find(function (r) {
var err = getException(r);
return err.name === e.name && err.message === e.message;
});
},
isExist: function isExist(e) {
return this.findReport(e) !== undefined;
}
};
};
}
exports.createTestkit = createTestkit;
//# sourceMappingURL=testkit.js.map

@@ -1,42 +0,44 @@

'use strict';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformTransaction = exports.transformReport = void 0;
function transformReport(report) {
var exception = report.exception && report.exception.values && report.exception.values[0];
var error = exception ? {
name: exception.type,
message: exception.value,
stacktrace: exception.stacktrace
} : undefined;
return {
breadcrumbs: report.breadcrumbs || [],
error: error,
message: report.message,
extra: report.extra,
level: report.level || 'error',
release: report.release,
user: report.user,
tags: report.tags || {},
originalReport: report
};
var exception = report.exception && report.exception.values && report.exception.values[0];
var error = exception
? {
name: exception.type,
message: exception.value,
stacktrace: exception.stacktrace,
}
: undefined;
return {
breadcrumbs: report.breadcrumbs || [],
error: error,
message: report.message,
extra: report.extra,
level: report.level || 'error',
release: report.release,
user: report.user,
tags: report.tags || {},
originalReport: report,
};
}
exports.transformReport = transformReport;
function transformTransaction(item) {
return {
name: item.transaction,
traceId: item.contexts.trace.trace_id,
release: item.release,
tags: item.tags || {},
extra: item.extra,
spans: item.spans.map(function (span) {
return {
id: span.span_id || span.spanId,
op: span.op,
parentSpanId: span.parent_span_id || span.parentSpanId,
description: span.description
};
})
};
return {
name: item.transaction,
traceId: item.contexts.trace.trace_id,
release: item.release,
tags: item.tags || {},
extra: item.extra,
spans: item.spans.map(function (span) { return ({
// @ts-expect-error
id: span.span_id || span.spanId,
op: span.op,
// @ts-expect-error
parentSpanId: span.parent_span_id || span.parentSpanId,
description: span.description,
}); }),
};
}
module.exports.transformReport = transformReport;
module.exports.transformTransaction = transformTransaction;
exports.transformTransaction = transformTransaction;
//# sourceMappingURL=transformers.js.map
{
"name": "sentry-testkit",
"version": "4.1.0",
"version": "5.0.0",
"description": "Sentry Testkit enables Sentry to work natively in your application while running tests. The report is not really sent but rather logged locally into memory. In this way, the logged reports can be fetched for your own verification or any other purpose in your local development environment.",

@@ -13,4 +13,5 @@ "main": "dist/index.js",

"start": "docsify serve ./docs",
"build": "babel src --out-dir dist",
"build": "tsc",
"test": "jest --config jest.config.json",
"lint": "eslint --ext .js,.ts --fix",
"prepare": "npm run-script build",

@@ -53,2 +54,9 @@ "release": "standard-version"

"@sentry/types": "^7.5.0",
"@types/body-parser": "^1.19.2",
"@types/express": "^4.17.14",
"@types/jest": "^27.0.0",
"@types/nock": "^10.0.0",
"@types/node-fetch": "^2.6.2",
"@typescript-eslint/eslint-plugin": "^5.40.1",
"@typescript-eslint/parser": "^5.40.1",
"docsify-cli": "^4.4.3",

@@ -65,2 +73,4 @@ "eslint": "^8.0.1",

"standard-version": "^9.3.1",
"ts-jest": "^27.0.0",
"typescript": "^4.8.4",
"wait-for-expect": "^1.3.0"

@@ -67,0 +77,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc