@sentry/node
Advanced tools
Comparing version
@@ -0,7 +1,11 @@ | ||
var { | ||
_optionalChain | ||
} = require('@sentry/utils'); | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
const core = require('@sentry/core'); | ||
const utils = require('@sentry/utils'); | ||
const child_process = require('child_process'); | ||
const _debugger = require('./debugger.js'); | ||
const core = require('@sentry/core'); | ||
@@ -11,4 +15,4 @@ const DEFAULT_INTERVAL = 50; | ||
function sendEvent(blockedMs, frames) { | ||
const event = { | ||
function createAnrEvent(blockedMs, frames) { | ||
return { | ||
level: 'error', | ||
@@ -29,9 +33,2 @@ exception: { | ||
}; | ||
core.captureEvent(event); | ||
void core.flush(3000).then(() => { | ||
// We only capture one event to avoid spamming users with errors | ||
process.exit(); | ||
}); | ||
} | ||
@@ -64,2 +61,4 @@ | ||
const hub = core.getCurrentHub(); | ||
try { | ||
@@ -73,3 +72,3 @@ const env = { ...process.env }; | ||
log(`Spawning child process with execPath:'${process.execPath}' and entryScript'${options.entryScript}'`); | ||
log(`Spawning child process with execPath:'${process.execPath}' and entryScript:'${options.entryScript}'`); | ||
@@ -85,4 +84,8 @@ const child = child_process.spawn(process.execPath, [options.entryScript], { | ||
try { | ||
const currentSession = _optionalChain([hub, 'access', _2 => _2.getScope, 'call', _3 => _3(), 'optionalAccess', _4 => _4.getSession, 'call', _5 => _5()]); | ||
// We need to copy the session object and remove the toJSON method so it can be sent to the child process | ||
// serialized without making it a SerializedSession | ||
const session = currentSession ? { ...currentSession, toJSON: undefined } : undefined; | ||
// message the child process to tell it the main event loop is still running | ||
child.send('ping'); | ||
child.send({ session }); | ||
} catch (_) { | ||
@@ -93,2 +96,9 @@ // | ||
child.on('message', (msg) => { | ||
if (msg === 'session-ended') { | ||
log('ANR event sent from child process. Clearing session in this process.'); | ||
_optionalChain([hub, 'access', _6 => _6.getScope, 'call', _7 => _7(), 'optionalAccess', _8 => _8.setSession, 'call', _9 => _9(undefined)]); | ||
} | ||
}); | ||
const end = (type) => { | ||
@@ -124,2 +134,4 @@ return (...args) => { | ||
function handleChildProcess(options) { | ||
process.title = 'sentry-anr'; | ||
function log(message) { | ||
@@ -129,6 +141,27 @@ utils.logger.log(`[ANR child process] ${message}`); | ||
process.title = 'sentry-anr'; | ||
log('Started'); | ||
let session; | ||
function sendAnrEvent(frames) { | ||
if (session) { | ||
log('Sending abnormal session'); | ||
core.updateSession(session, { status: 'abnormal', abnormal_mechanism: 'anr_foreground' }); | ||
_optionalChain([core.getCurrentHub, 'call', _10 => _10(), 'access', _11 => _11.getClient, 'call', _12 => _12(), 'optionalAccess', _13 => _13.sendSession, 'call', _14 => _14(session)]); | ||
try { | ||
// Notify the main process that the session has ended so the session can be cleared from the scope | ||
_optionalChain([process, 'access', _15 => _15.send, 'optionalCall', _16 => _16('session-ended')]); | ||
} catch (_) { | ||
// ignore | ||
} | ||
} | ||
core.captureEvent(createAnrEvent(options.anrThreshold, frames)); | ||
void core.flush(3000).then(() => { | ||
// We only capture one event to avoid spamming users with errors | ||
process.exit(); | ||
}); | ||
} | ||
core.addGlobalEventProcessor(event => { | ||
@@ -152,3 +185,3 @@ // Strip sdkProcessingMetadata from all child process events to remove trace info | ||
log('Capturing event with stack frames'); | ||
sendEvent(options.anrThreshold, frames); | ||
sendAnrEvent(frames); | ||
}); | ||
@@ -166,3 +199,3 @@ } | ||
log('Capturing event'); | ||
sendEvent(options.anrThreshold); | ||
sendAnrEvent(); | ||
} | ||
@@ -173,3 +206,6 @@ } | ||
process.on('message', () => { | ||
process.on('message', (msg) => { | ||
if (msg.session) { | ||
session = core.makeSession(msg.session); | ||
} | ||
poll(); | ||
@@ -176,0 +212,0 @@ }); |
@@ -254,2 +254,9 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
// There needs to be atleast two values in the buffer for us to parse | ||
// a frame from it. | ||
// See: https://github.com/getsentry/sentry-javascript/issues/9307 | ||
if (buff.length <= 1) { | ||
return; | ||
} | ||
const frame = parseFrame(buff); | ||
@@ -256,0 +263,0 @@ |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -289,3 +289,3 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
function trpcMiddleware(options = {}) { | ||
return function ({ path, type, next, rawInput }) { | ||
return async function ({ path, type, next, rawInput }) { | ||
const hub = core.getCurrentHub(); | ||
@@ -310,3 +310,32 @@ const clientOptions = _optionalChain([hub, 'access', _13 => _13.getClient, 'call', _14 => _14(), 'optionalAccess', _15 => _15.getOptions, 'call', _16 => _16()]); | ||
return next(); | ||
function captureError(e) { | ||
core.captureException(e, scope => { | ||
scope.addEventProcessor(event => { | ||
utils.addExceptionMechanism(event, { | ||
handled: false, | ||
}); | ||
return event; | ||
}); | ||
return scope; | ||
}); | ||
} | ||
try { | ||
return await next(); | ||
} catch (e) { | ||
if (typeof e === 'object' && e) { | ||
if ('code' in e) { | ||
// Is likely TRPCError - we only want to capture internal server errors | ||
if (e.code === 'INTERNAL_SERVER_ERROR') { | ||
captureError(e); | ||
} | ||
} else { | ||
// Is likely random error that bubbles up | ||
captureError(e); | ||
} | ||
} | ||
throw e; | ||
} | ||
}; | ||
@@ -313,0 +342,0 @@ } |
@@ -59,2 +59,3 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
exports.trace = core.trace; | ||
exports.withMonitor = core.withMonitor; | ||
exports.withScope = core.withScope; | ||
@@ -61,0 +62,0 @@ exports.autoDiscoverNodePerformanceMonitoringIntegrations = index.autoDiscoverNodePerformanceMonitoringIntegrations; |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -9,5 +9,4 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const fs = require('fs'); | ||
const lru_map = require('lru_map'); | ||
const FILE_CONTENT_CACHE = new lru_map.LRUMap(100); | ||
const FILE_CONTENT_CACHE = new utils.LRUMap(100); | ||
const DEFAULT_LINES_OF_CONTEXT = 7; | ||
@@ -14,0 +13,0 @@ |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -9,3 +9,2 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const utils = require('@sentry/utils'); | ||
const lru_map = require('lru_map'); | ||
const nodeVersion = require('../nodeVersion.js'); | ||
@@ -110,4 +109,4 @@ const http = require('./utils/http.js'); | ||
// We're caching results so we don't have to recompute regexp every time we create a request. | ||
const createSpanUrlMap = new lru_map.LRUMap(100); | ||
const headersUrlMap = new lru_map.LRUMap(100); | ||
const createSpanUrlMap = new utils.LRUMap(100); | ||
const headersUrlMap = new utils.LRUMap(100); | ||
@@ -114,0 +113,0 @@ const shouldCreateSpan = (url) => { |
@@ -7,3 +7,2 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const onunhandledrejection = require('./onunhandledrejection.js'); | ||
const linkederrors = require('./linkederrors.js'); | ||
const modules = require('./modules.js'); | ||
@@ -22,3 +21,2 @@ const contextlines = require('./contextlines.js'); | ||
exports.OnUnhandledRejection = onunhandledrejection.OnUnhandledRejection; | ||
exports.LinkedErrors = linkederrors.LinkedErrors; | ||
exports.Modules = modules.Modules; | ||
@@ -25,0 +23,0 @@ exports.ContextLines = contextlines.ContextLines; |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -8,3 +8,2 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const utils = require('@sentry/utils'); | ||
const lru_map = require('lru_map'); | ||
const nodeVersion = require('../nodeVersion.js'); | ||
@@ -284,3 +283,3 @@ | ||
__init2() {this._cachedFrames = new lru_map.LRUMap(20);} | ||
__init2() {this._cachedFrames = new utils.LRUMap(20);} | ||
@@ -423,4 +422,4 @@ constructor( | ||
// Check if we have local variables for an exception that matches the hash | ||
// delete is identical to get but also removes the entry from the cache | ||
const cachedFrames = this._cachedFrames.delete(hash); | ||
// remove is identical to get but also removes the entry from the cache | ||
const cachedFrames = this._cachedFrames.remove(hash); | ||
@@ -427,0 +426,0 @@ if (cachedFrames === undefined) { |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -9,3 +9,2 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const utils = require('@sentry/utils'); | ||
const lru_map = require('lru_map'); | ||
const nodeVersion = require('../../nodeVersion.js'); | ||
@@ -52,4 +51,4 @@ | ||
__init2() {this._createSpanUrlMap = new lru_map.LRUMap(100);} | ||
__init3() {this._headersUrlMap = new lru_map.LRUMap(100);} | ||
__init2() {this._createSpanUrlMap = new utils.LRUMap(100);} | ||
__init3() {this._headersUrlMap = new utils.LRUMap(100);} | ||
@@ -56,0 +55,0 @@ constructor(_options = {}) {Undici.prototype.__init.call(this);Undici.prototype.__init2.call(this);Undici.prototype.__init3.call(this);Undici.prototype.__init4.call(this);Undici.prototype.__init5.call(this);Undici.prototype.__init6.call(this); |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -8,4 +8,4 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const utils = require('@sentry/utils'); | ||
const cookie = require('cookie'); | ||
const url = require('url'); | ||
const cookie = require('./cookie.js'); | ||
@@ -172,7 +172,6 @@ const DEFAULT_INCLUDES = { | ||
// vercel, sails.js, express (w/ cookie middleware), nextjs: req.cookies | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access | ||
requestData.cookies = | ||
// TODO (v8 / #5257): We're only sending the empty object for backwards compatibility, so the last bit can | ||
// come off in v8 | ||
req.cookies || (headers.cookie && cookie.parse(headers.cookie)) || {}; | ||
req.cookies || (headers.cookie && cookie.parseCookie(headers.cookie)) || {}; | ||
break; | ||
@@ -179,0 +178,0 @@ } |
var { | ||
_optionalChain | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -16,3 +16,2 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const onunhandledrejection = require('./integrations/onunhandledrejection.js'); | ||
const linkederrors = require('./integrations/linkederrors.js'); | ||
const modules = require('./integrations/modules.js'); | ||
@@ -33,2 +32,3 @@ const contextlines = require('./integrations/contextlines.js'); | ||
new core.Integrations.FunctionToString(), | ||
new core.Integrations.LinkedErrors(), | ||
// Native Wrappers | ||
@@ -47,4 +47,2 @@ new console.Console(), | ||
new requestdata.RequestData(), | ||
// Misc | ||
new linkederrors.LinkedErrors(), | ||
]; | ||
@@ -51,0 +49,0 @@ |
var { | ||
_nullishCoalesce | ||
} = require('@sentry/utils/cjs/buildPolyfills'); | ||
} = require('@sentry/utils'); | ||
@@ -5,0 +5,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -0,5 +1,6 @@ | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { getCurrentHub, addGlobalEventProcessor, makeSession, updateSession, captureEvent, flush } from '@sentry/core'; | ||
import { logger, watchdogTimer } from '@sentry/utils'; | ||
import { spawn } from 'child_process'; | ||
import { captureStackTrace } from './debugger.js'; | ||
import { addGlobalEventProcessor, captureEvent, flush } from '@sentry/core'; | ||
@@ -9,4 +10,4 @@ const DEFAULT_INTERVAL = 50; | ||
function sendEvent(blockedMs, frames) { | ||
const event = { | ||
function createAnrEvent(blockedMs, frames) { | ||
return { | ||
level: 'error', | ||
@@ -27,9 +28,2 @@ exception: { | ||
}; | ||
captureEvent(event); | ||
void flush(3000).then(() => { | ||
// We only capture one event to avoid spamming users with errors | ||
process.exit(); | ||
}); | ||
} | ||
@@ -62,2 +56,4 @@ | ||
const hub = getCurrentHub(); | ||
try { | ||
@@ -71,3 +67,3 @@ const env = { ...process.env }; | ||
log(`Spawning child process with execPath:'${process.execPath}' and entryScript'${options.entryScript}'`); | ||
log(`Spawning child process with execPath:'${process.execPath}' and entryScript:'${options.entryScript}'`); | ||
@@ -83,4 +79,8 @@ const child = spawn(process.execPath, [options.entryScript], { | ||
try { | ||
const currentSession = _optionalChain([hub, 'access', _2 => _2.getScope, 'call', _3 => _3(), 'optionalAccess', _4 => _4.getSession, 'call', _5 => _5()]); | ||
// We need to copy the session object and remove the toJSON method so it can be sent to the child process | ||
// serialized without making it a SerializedSession | ||
const session = currentSession ? { ...currentSession, toJSON: undefined } : undefined; | ||
// message the child process to tell it the main event loop is still running | ||
child.send('ping'); | ||
child.send({ session }); | ||
} catch (_) { | ||
@@ -91,2 +91,9 @@ // | ||
child.on('message', (msg) => { | ||
if (msg === 'session-ended') { | ||
log('ANR event sent from child process. Clearing session in this process.'); | ||
_optionalChain([hub, 'access', _6 => _6.getScope, 'call', _7 => _7(), 'optionalAccess', _8 => _8.setSession, 'call', _9 => _9(undefined)]); | ||
} | ||
}); | ||
const end = (type) => { | ||
@@ -122,2 +129,4 @@ return (...args) => { | ||
function handleChildProcess(options) { | ||
process.title = 'sentry-anr'; | ||
function log(message) { | ||
@@ -127,6 +136,27 @@ logger.log(`[ANR child process] ${message}`); | ||
process.title = 'sentry-anr'; | ||
log('Started'); | ||
let session; | ||
function sendAnrEvent(frames) { | ||
if (session) { | ||
log('Sending abnormal session'); | ||
updateSession(session, { status: 'abnormal', abnormal_mechanism: 'anr_foreground' }); | ||
_optionalChain([getCurrentHub, 'call', _10 => _10(), 'access', _11 => _11.getClient, 'call', _12 => _12(), 'optionalAccess', _13 => _13.sendSession, 'call', _14 => _14(session)]); | ||
try { | ||
// Notify the main process that the session has ended so the session can be cleared from the scope | ||
_optionalChain([process, 'access', _15 => _15.send, 'optionalCall', _16 => _16('session-ended')]); | ||
} catch (_) { | ||
// ignore | ||
} | ||
} | ||
captureEvent(createAnrEvent(options.anrThreshold, frames)); | ||
void flush(3000).then(() => { | ||
// We only capture one event to avoid spamming users with errors | ||
process.exit(); | ||
}); | ||
} | ||
addGlobalEventProcessor(event => { | ||
@@ -150,3 +180,3 @@ // Strip sdkProcessingMetadata from all child process events to remove trace info | ||
log('Capturing event with stack frames'); | ||
sendEvent(options.anrThreshold, frames); | ||
sendAnrEvent(frames); | ||
}); | ||
@@ -164,3 +194,3 @@ } | ||
log('Capturing event'); | ||
sendEvent(options.anrThreshold); | ||
sendAnrEvent(); | ||
} | ||
@@ -171,3 +201,6 @@ } | ||
process.on('message', () => { | ||
process.on('message', (msg) => { | ||
if (msg.session) { | ||
session = makeSession(msg.session); | ||
} | ||
poll(); | ||
@@ -174,0 +207,0 @@ }); |
@@ -252,2 +252,9 @@ import * as crypto from 'crypto'; | ||
// There needs to be atleast two values in the buffer for us to parse | ||
// a frame from it. | ||
// See: https://github.com/getsentry/sentry-javascript/issues/9307 | ||
if (buff.length <= 1) { | ||
return; | ||
} | ||
const frame = parseFrame(buff); | ||
@@ -254,0 +261,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { setAsyncContextStrategy, ensureHubOnCarrier, getHubFromCarrier, setHubOnCarrier } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ import * as domain from 'domain'; |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { setAsyncContextStrategy, ensureHubOnCarrier, getHubFromCarrier } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ import * as async_hooks from 'async_hooks'; |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { getCurrentHub, hasTracingEnabled, startTransaction, flush, runWithAsyncContext, withScope, captureException } from '@sentry/core'; | ||
@@ -284,3 +284,3 @@ import { isString, tracingContextFromHeaders, extractPathForTransaction, addRequestDataToTransaction, logger, addExceptionMechanism, normalize, dropUndefinedKeys } from '@sentry/utils'; | ||
function trpcMiddleware(options = {}) { | ||
return function ({ path, type, next, rawInput }) { | ||
return async function ({ path, type, next, rawInput }) { | ||
const hub = getCurrentHub(); | ||
@@ -305,3 +305,32 @@ const clientOptions = _optionalChain([hub, 'access', _13 => _13.getClient, 'call', _14 => _14(), 'optionalAccess', _15 => _15.getOptions, 'call', _16 => _16()]); | ||
return next(); | ||
function captureError(e) { | ||
captureException(e, scope => { | ||
scope.addEventProcessor(event => { | ||
addExceptionMechanism(event, { | ||
handled: false, | ||
}); | ||
return event; | ||
}); | ||
return scope; | ||
}); | ||
} | ||
try { | ||
return await next(); | ||
} catch (e) { | ||
if (typeof e === 'object' && e) { | ||
if ('code' in e) { | ||
// Is likely TRPCError - we only want to capture internal server errors | ||
if (e.code === 'INTERNAL_SERVER_ERROR') { | ||
captureError(e); | ||
} | ||
} else { | ||
// Is likely random error that bubbles up | ||
captureError(e); | ||
} | ||
} | ||
throw e; | ||
} | ||
}; | ||
@@ -308,0 +337,0 @@ } |
import { Integrations } from '@sentry/core'; | ||
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addIntegration, captureCheckIn, captureEvent, captureException, captureMessage, close, configureScope, continueTrace, createTransport, extractTraceparentData, flush, getActiveSpan, getActiveTransaction, getCurrentHub, getHubFromCarrier, lastEventId, makeMain, runWithAsyncContext, setContext, setExtra, setExtras, setMeasurement, setTag, setTags, setUser, spanStatusfromHttpCode, startActiveSpan, startInactiveSpan, startSpan, startSpanManual, startTransaction, trace, withScope } from '@sentry/core'; | ||
export { Hub, SDK_VERSION, Scope, addBreadcrumb, addGlobalEventProcessor, addIntegration, captureCheckIn, captureEvent, captureException, captureMessage, close, configureScope, continueTrace, createTransport, extractTraceparentData, flush, getActiveSpan, getActiveTransaction, getCurrentHub, getHubFromCarrier, lastEventId, makeMain, runWithAsyncContext, setContext, setExtra, setExtras, setMeasurement, setTag, setTags, setUser, spanStatusfromHttpCode, startActiveSpan, startInactiveSpan, startSpan, startSpanManual, startTransaction, trace, withMonitor, withScope } from '@sentry/core'; | ||
export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing/index.js'; | ||
@@ -4,0 +4,0 @@ export { NodeClient } from './client.js'; |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { execFile } from 'child_process'; | ||
@@ -3,0 +3,0 @@ import { readFile, readdir } from 'fs'; |
@@ -1,5 +0,4 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { addContextToFrame } from '@sentry/utils'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { LRUMap, addContextToFrame } from '@sentry/utils'; | ||
import { readFile } from 'fs'; | ||
import { LRUMap } from 'lru_map'; | ||
@@ -6,0 +5,0 @@ const FILE_CONTENT_CACHE = new LRUMap(100); |
@@ -1,5 +0,4 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { isSentryRequestUrl, getCurrentHub, getDynamicSamplingContextFromClient } from '@sentry/core'; | ||
import { logger, fill, generateSentryTraceHeader, dynamicSamplingContextToSentryBaggageHeader, stringMatchesSomePattern } from '@sentry/utils'; | ||
import { LRUMap } from 'lru_map'; | ||
import { logger, fill, LRUMap, generateSentryTraceHeader, dynamicSamplingContextToSentryBaggageHeader, stringMatchesSomePattern } from '@sentry/utils'; | ||
import { NODE_VERSION } from '../nodeVersion.js'; | ||
@@ -6,0 +5,0 @@ import { normalizeRequestArgs, extractRawUrl, extractUrl, cleanSpanDescription } from './utils/http.js'; |
@@ -5,3 +5,2 @@ export { Console } from './console.js'; | ||
export { OnUnhandledRejection } from './onunhandledrejection.js'; | ||
export { LinkedErrors } from './linkederrors.js'; | ||
export { Modules } from './modules.js'; | ||
@@ -8,0 +7,0 @@ export { ContextLines } from './contextlines.js'; |
@@ -1,4 +0,3 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { logger } from '@sentry/utils'; | ||
import { LRUMap } from 'lru_map'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { LRUMap, logger } from '@sentry/utils'; | ||
import { NODE_VERSION } from '../nodeVersion.js'; | ||
@@ -416,4 +415,4 @@ | ||
// Check if we have local variables for an exception that matches the hash | ||
// delete is identical to get but also removes the entry from the cache | ||
const cachedFrames = this._cachedFrames.delete(hash); | ||
// remove is identical to get but also removes the entry from the cache | ||
const cachedFrames = this._cachedFrames.remove(hash); | ||
@@ -420,0 +419,0 @@ if (cachedFrames === undefined) { |
@@ -1,5 +0,4 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { getCurrentHub, isSentryRequestUrl, getDynamicSamplingContextFromClient } from '@sentry/core'; | ||
import { dynamicRequire, dynamicSamplingContextToSentryBaggageHeader, generateSentryTraceHeader, parseUrl, stringMatchesSomePattern, getSanitizedUrlString } from '@sentry/utils'; | ||
import { LRUMap } from 'lru_map'; | ||
import { LRUMap, dynamicRequire, dynamicSamplingContextToSentryBaggageHeader, generateSentryTraceHeader, parseUrl, stringMatchesSomePattern, getSanitizedUrlString } from '@sentry/utils'; | ||
import { NODE_VERSION } from '../../nodeVersion.js'; | ||
@@ -6,0 +5,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { URL } from 'url'; | ||
@@ -3,0 +3,0 @@ import { NODE_VERSION } from '../../nodeVersion.js'; |
@@ -1,5 +0,5 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { isString, normalize, isPlainObject, stripUrlQueryAndFragment } from '@sentry/utils'; | ||
import * as cookie from 'cookie'; | ||
import * as url from 'url'; | ||
import { parseCookie } from './cookie.js'; | ||
@@ -166,7 +166,6 @@ const DEFAULT_INCLUDES = { | ||
// vercel, sails.js, express (w/ cookie middleware), nextjs: req.cookies | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access | ||
requestData.cookies = | ||
// TODO (v8 / #5257): We're only sending the empty object for backwards compatibility, so the last bit can | ||
// come off in v8 | ||
req.cookies || (headers.cookie && cookie.parse(headers.cookie)) || {}; | ||
req.cookies || (headers.cookie && parseCookie(headers.cookie)) || {}; | ||
break; | ||
@@ -173,0 +172,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { _optionalChain } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _optionalChain } from '@sentry/utils'; | ||
import { Integrations, getMainCarrier, getIntegrationsToSetup, initAndBind, getCurrentHub } from '@sentry/core'; | ||
@@ -11,3 +11,2 @@ import { createStackParser, nodeStackLineParser, stackParserFromStackParserOptions, GLOBAL_OBJ, tracingContextFromHeaders } from '@sentry/utils'; | ||
import { OnUnhandledRejection } from './integrations/onunhandledrejection.js'; | ||
import { LinkedErrors } from './integrations/linkederrors.js'; | ||
import { Modules } from './integrations/modules.js'; | ||
@@ -28,2 +27,3 @@ import { ContextLines } from './integrations/contextlines.js'; | ||
new Integrations.FunctionToString(), | ||
new Integrations.LinkedErrors(), | ||
// Native Wrappers | ||
@@ -42,4 +42,2 @@ new Console(), | ||
new RequestData(), | ||
// Misc | ||
new LinkedErrors(), | ||
]; | ||
@@ -46,0 +44,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { _nullishCoalesce } from '@sentry/utils/esm/buildPolyfills'; | ||
import { _nullishCoalesce } from '@sentry/utils'; | ||
import { createTransport } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ import * as http from 'http'; |
{ | ||
"name": "@sentry/node", | ||
"version": "7.74.1", | ||
"version": "7.80.0", | ||
"description": "Official Sentry SDK for Node.js", | ||
@@ -26,10 +26,7 @@ "repository": "git://github.com/getsentry/sentry-javascript.git", | ||
"dependencies": { | ||
"@sentry-internal/tracing": "7.74.1", | ||
"@sentry/core": "7.74.1", | ||
"@sentry/types": "7.74.1", | ||
"@sentry/utils": "7.74.1", | ||
"cookie": "^0.5.0", | ||
"https-proxy-agent": "^5.0.0", | ||
"lru_map": "^0.3.3", | ||
"tslib": "^2.4.1 || ^1.9.3" | ||
"@sentry-internal/tracing": "7.80.0", | ||
"@sentry/core": "7.80.0", | ||
"@sentry/types": "7.80.0", | ||
"@sentry/utils": "7.80.0", | ||
"https-proxy-agent": "^5.0.0" | ||
}, | ||
@@ -36,0 +33,0 @@ "devDependencies": { |
@@ -54,5 +54,5 @@ /// <reference types="node" /> | ||
*/ | ||
export declare function trpcMiddleware(options?: SentryTrpcMiddlewareOptions): <T>({ path, type, next, rawInput }: TrpcMiddlewareArguments<T>) => T; | ||
export declare function trpcMiddleware(options?: SentryTrpcMiddlewareOptions): <T>({ path, type, next, rawInput }: TrpcMiddlewareArguments<T>) => Promise<T>; | ||
export { ParseRequestOptions, ExpressRequest } from './requestDataDeprecated'; | ||
export { parseRequest, extractRequestData } from './requestDataDeprecated'; | ||
//# sourceMappingURL=handlers.d.ts.map |
@@ -5,3 +5,3 @@ export { Breadcrumb, BreadcrumbHint, PolymorphicRequest, Request, SdkInfo, Event, EventHint, Exception, Session, Severity, SeverityLevel, Span, StackFrame, Stacktrace, Thread, Transaction, User, } from '@sentry/types'; | ||
export { NodeOptions } from './types'; | ||
export { addGlobalEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, close, configureScope, createTransport, extractTraceparentData, flush, getActiveTransaction, getHubFromCarrier, getCurrentHub, Hub, lastEventId, makeMain, runWithAsyncContext, Scope, startTransaction, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, spanStatusfromHttpCode, trace, withScope, captureCheckIn, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, } from '@sentry/core'; | ||
export { addGlobalEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, close, configureScope, createTransport, extractTraceparentData, flush, getActiveTransaction, getHubFromCarrier, getCurrentHub, Hub, lastEventId, makeMain, runWithAsyncContext, Scope, startTransaction, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, spanStatusfromHttpCode, trace, withScope, captureCheckIn, withMonitor, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, } from '@sentry/core'; | ||
export { SpanStatusType } from '@sentry/core'; | ||
@@ -32,3 +32,2 @@ export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing'; | ||
OnUnhandledRejection: typeof NodeIntegrations.OnUnhandledRejection; | ||
LinkedErrors: typeof NodeIntegrations.LinkedErrors; | ||
Modules: typeof NodeIntegrations.Modules; | ||
@@ -42,4 +41,5 @@ ContextLines: typeof NodeIntegrations.ContextLines; | ||
InboundFilters: typeof CoreIntegrations.InboundFilters; | ||
LinkedErrors: typeof CoreIntegrations.LinkedErrors; | ||
}; | ||
export { INTEGRATIONS as Integrations, Handlers }; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,3 +5,2 @@ export { Console } from './console'; | ||
export { OnUnhandledRejection } from './onunhandledrejection'; | ||
export { LinkedErrors } from './linkederrors'; | ||
export { Modules } from './modules'; | ||
@@ -8,0 +7,0 @@ export { ContextLines } from './contextlines'; |
import { Integrations as CoreIntegrations } from '@sentry/core'; | ||
import { StackParser } from '@sentry/types'; | ||
import { NodeClient } from './client'; | ||
import { Console, Context, ContextLines, Http, LinkedErrors, LocalVariables, Modules, OnUncaughtException, OnUnhandledRejection, RequestData, Undici } from './integrations'; | ||
import { Console, Context, ContextLines, Http, LocalVariables, Modules, OnUncaughtException, OnUnhandledRejection, RequestData, Undici } from './integrations'; | ||
import { NodeOptions } from './types'; | ||
export declare const defaultIntegrations: (Console | Http | OnUncaughtException | OnUnhandledRejection | LinkedErrors | Modules | ContextLines | Context | RequestData | LocalVariables | Undici | CoreIntegrations.InboundFilters | CoreIntegrations.FunctionToString)[]; | ||
export declare const defaultIntegrations: (Console | Http | OnUncaughtException | OnUnhandledRejection | Modules | ContextLines | Context | RequestData | LocalVariables | Undici | CoreIntegrations.InboundFilters | CoreIntegrations.FunctionToString | CoreIntegrations.LinkedErrors)[]; | ||
/** | ||
@@ -8,0 +8,0 @@ * The Sentry Node SDK Client. |
@@ -54,5 +54,5 @@ /// <reference types="node" /> | ||
*/ | ||
export declare function trpcMiddleware(options?: SentryTrpcMiddlewareOptions): <T>({ path, type, next, rawInput }: TrpcMiddlewareArguments<T>) => T; | ||
export declare function trpcMiddleware(options?: SentryTrpcMiddlewareOptions): <T>({ path, type, next, rawInput }: TrpcMiddlewareArguments<T>) => Promise<T>; | ||
export type { ParseRequestOptions, ExpressRequest } from './requestDataDeprecated'; | ||
export { parseRequest, extractRequestData } from './requestDataDeprecated'; | ||
//# sourceMappingURL=handlers.d.ts.map |
@@ -5,3 +5,3 @@ export type { Breadcrumb, BreadcrumbHint, PolymorphicRequest, Request, SdkInfo, Event, EventHint, Exception, Session, Severity, SeverityLevel, Span, StackFrame, Stacktrace, Thread, Transaction, User, } from '@sentry/types'; | ||
export type { NodeOptions } from './types'; | ||
export { addGlobalEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, close, configureScope, createTransport, extractTraceparentData, flush, getActiveTransaction, getHubFromCarrier, getCurrentHub, Hub, lastEventId, makeMain, runWithAsyncContext, Scope, startTransaction, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, spanStatusfromHttpCode, trace, withScope, captureCheckIn, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, } from '@sentry/core'; | ||
export { addGlobalEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, close, configureScope, createTransport, extractTraceparentData, flush, getActiveTransaction, getHubFromCarrier, getCurrentHub, Hub, lastEventId, makeMain, runWithAsyncContext, Scope, startTransaction, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, spanStatusfromHttpCode, trace, withScope, captureCheckIn, withMonitor, setMeasurement, getActiveSpan, startSpan, startActiveSpan, startInactiveSpan, startSpanManual, continueTrace, } from '@sentry/core'; | ||
export type { SpanStatusType } from '@sentry/core'; | ||
@@ -32,3 +32,2 @@ export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing'; | ||
OnUnhandledRejection: typeof NodeIntegrations.OnUnhandledRejection; | ||
LinkedErrors: typeof NodeIntegrations.LinkedErrors; | ||
Modules: typeof NodeIntegrations.Modules; | ||
@@ -42,4 +41,5 @@ ContextLines: typeof NodeIntegrations.ContextLines; | ||
InboundFilters: typeof CoreIntegrations.InboundFilters; | ||
LinkedErrors: typeof CoreIntegrations.LinkedErrors; | ||
}; | ||
export { INTEGRATIONS as Integrations, Handlers }; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,3 +5,2 @@ export { Console } from './console'; | ||
export { OnUnhandledRejection } from './onunhandledrejection'; | ||
export { LinkedErrors } from './linkederrors'; | ||
export { Modules } from './modules'; | ||
@@ -8,0 +7,0 @@ export { ContextLines } from './contextlines'; |
import { Integrations as CoreIntegrations } from '@sentry/core'; | ||
import type { StackParser } from '@sentry/types'; | ||
import { NodeClient } from './client'; | ||
import { Console, Context, ContextLines, Http, LinkedErrors, LocalVariables, Modules, OnUncaughtException, OnUnhandledRejection, RequestData, Undici } from './integrations'; | ||
import { Console, Context, ContextLines, Http, LocalVariables, Modules, OnUncaughtException, OnUnhandledRejection, RequestData, Undici } from './integrations'; | ||
import type { NodeOptions } from './types'; | ||
export declare const defaultIntegrations: (Console | Http | OnUncaughtException | OnUnhandledRejection | LinkedErrors | Modules | ContextLines | Context | RequestData | LocalVariables | Undici | CoreIntegrations.InboundFilters | CoreIntegrations.FunctionToString)[]; | ||
export declare const defaultIntegrations: (Console | Http | OnUncaughtException | OnUnhandledRejection | Modules | ContextLines | Context | RequestData | LocalVariables | Undici | CoreIntegrations.InboundFilters | CoreIntegrations.FunctionToString | CoreIntegrations.LinkedErrors)[]; | ||
/** | ||
@@ -8,0 +8,0 @@ * The Sentry Node SDK Client. |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1574151
4.06%5
-37.5%10877
1.38%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated