@sentry/aws-serverless
Advanced tools
@@ -79,2 +79,4 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
| exports.httpIntegration = node.httpIntegration; | ||
| exports.httpServerIntegration = node.httpServerIntegration; | ||
| exports.httpServerSpansIntegration = node.httpServerSpansIntegration; | ||
| exports.inboundFiltersIntegration = node.inboundFiltersIntegration; | ||
@@ -81,0 +83,0 @@ exports.initOpenTelemetry = node.initOpenTelemetry; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} | ||
| {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} |
@@ -10,2 +10,39 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
| /** | ||
| * Checks if proxy environment variables would interfere with the layer extension. | ||
| * The layer extension uses localhost:9000, so we need to check if proxy settings would prevent this. | ||
| */ | ||
| function shouldDisableLayerExtensionForProxy() { | ||
| const { http_proxy, no_proxy } = process.env; | ||
| // If no http proxy is configured, no interference (https_proxy doesn't affect HTTP requests) | ||
| if (!http_proxy) { | ||
| return false; | ||
| } | ||
| // Check if localhost is exempted by no_proxy | ||
| if (no_proxy) { | ||
| const exemptions = no_proxy.split(',').map(exemption => exemption.trim().toLowerCase()); | ||
| // Handle common localhost exemption patterns explicitly | ||
| // If localhost is exempted, requests to the layer extension will not be proxied | ||
| const localhostExemptions = ['*', 'localhost', '127.0.0.1', '::1']; | ||
| if (exemptions.some(exemption => localhostExemptions.includes(exemption))) { | ||
| return false; | ||
| } | ||
| } | ||
| // If http_proxy is set and no localhost exemption, it would interfere | ||
| // The layer extension uses HTTP to localhost:9000, so only http_proxy matters | ||
| if (http_proxy) { | ||
| debugBuild.DEBUG_BUILD && | ||
| core.debug.log( | ||
| 'Disabling useLayerExtension due to http_proxy environment variable. Consider adding localhost to no_proxy to re-enable.', | ||
| ); | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| /** | ||
| * Get the default integrations for the AWSLambda SDK. | ||
@@ -26,5 +63,7 @@ */ | ||
| const sdkSource = core.getSDKSource(); | ||
| const proxyWouldInterfere = shouldDisableLayerExtensionForProxy(); | ||
| const opts = { | ||
| defaultIntegrations: getDefaultIntegrations(), | ||
| useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel, | ||
| useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel && !proxyWouldInterfere, | ||
| ...options, | ||
@@ -47,2 +86,7 @@ }; | ||
| } | ||
| } else if (sdkSource === 'aws-lambda-layer' && proxyWouldInterfere) { | ||
| debugBuild.DEBUG_BUILD && | ||
| core.debug.warn( | ||
| 'Sentry Lambda extension disabled due to proxy environment variables (http_proxy/https_proxy). Consider adding localhost to no_proxy to re-enable.', | ||
| ); | ||
| } | ||
@@ -49,0 +93,0 @@ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.js","sources":["../../../src/init.ts"],"sourcesContent":["import type { Integration, Options } from '@sentry/core';\nimport { applySdkMetadata, debug, getSDKSource } from '@sentry/core';\nimport type { NodeClient, NodeOptions } from '@sentry/node';\nimport { getDefaultIntegrationsWithoutPerformance, initWithoutDefaultIntegrations } from '@sentry/node';\nimport { DEBUG_BUILD } from './debug-build';\nimport { awsIntegration } from './integration/aws';\nimport { awsLambdaIntegration } from './integration/awslambda';\n/**\n * Get the default integrations for the AWSLambda SDK.\n */\n// NOTE: in awslambda-auto.ts, we also call the original `getDefaultIntegrations` from `@sentry/node` to load performance integrations.\n// If at some point we need to filter a node integration out for good, we need to make sure to also filter it out there.\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n return [...getDefaultIntegrationsWithoutPerformance(), awsIntegration(), awsLambdaIntegration()];\n}\n\nexport interface AwsServerlessOptions extends NodeOptions {\n /**\n * If Sentry events should be proxied through the Lambda extension when using the Lambda layer. Defaults to `true` when using the Lambda layer.\n */\n useLayerExtension?: boolean;\n}\n\n/**\n * Initializes the Sentry AWS Lambda SDK.\n *\n * @param options Configuration options for the SDK, @see {@link AWSLambdaOptions}.\n */\nexport function init(options: AwsServerlessOptions = {}): NodeClient | undefined {\n const sdkSource = getSDKSource();\n const opts = {\n defaultIntegrations: getDefaultIntegrations(options),\n useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel,\n ...options,\n };\n\n if (opts.useLayerExtension) {\n if (sdkSource === 'aws-lambda-layer') {\n if (!opts.tunnel) {\n DEBUG_BUILD && debug.log('Proxying Sentry events through the Sentry Lambda extension');\n opts.tunnel = 'http://localhost:9000/envelope';\n } else {\n DEBUG_BUILD &&\n debug.warn(\n `Using a custom tunnel with the Sentry Lambda extension is not supported. Events will be tunnelled to ${opts.tunnel} and not through the extension.`,\n );\n }\n } else {\n DEBUG_BUILD && debug.warn('The Sentry Lambda extension is only supported when using the AWS Lambda layer.');\n }\n }\n\n applySdkMetadata(opts, 'aws-serverless', ['aws-serverless'], sdkSource);\n\n return initWithoutDefaultIntegrations(opts);\n}\n"],"names":["getDefaultIntegrationsWithoutPerformance","awsIntegration","awsLambdaIntegration","getSDKSource","DEBUG_BUILD","debug","applySdkMetadata","initWithoutDefaultIntegrations"],"mappings":";;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAA0B;AACzE,EAAE,OAAO,CAAC,GAAGA,6CAAwC,EAAE,EAAEC,kBAAc,EAAE,EAAEC,8BAAoB,EAAE,CAAC;AAClG;;AASA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,OAAO,GAAyB,EAAE,EAA0B;AACjF,EAAE,MAAM,SAAA,GAAYC,iBAAY,EAAE;AAClC,EAAE,MAAM,OAAO;AACf,IAAI,mBAAmB,EAAE,sBAAsB,CAAQ,CAAC;AACxD,IAAI,iBAAiB,EAAE,SAAA,KAAc,sBAAsB,CAAC,OAAO,CAAC,MAAM;AAC1E,IAAI,GAAG,OAAO;AACd,GAAG;;AAEH,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,IAAI,SAAA,KAAc,kBAAkB,EAAE;AAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,QAAQC,0BAAeC,UAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC;AAC9F,QAAQ,IAAI,CAAC,MAAA,GAAS,gCAAgC;AACtD,aAAa;AACb,QAAQD,sBAAA;AACR,UAAUC,UAAK,CAAC,IAAI;AACpB,YAAY,CAAC,qGAAqG,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAChK,WAAW;AACX;AACA,WAAW;AACX,MAAMD,0BAAeC,UAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC;AACjH;AACA;;AAEA,EAAEC,qBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;;AAEzE,EAAE,OAAOC,mCAA8B,CAAC,IAAI,CAAC;AAC7C;;;;;"} | ||
| {"version":3,"file":"init.js","sources":["../../../src/init.ts"],"sourcesContent":["import type { Integration, Options } from '@sentry/core';\nimport { applySdkMetadata, debug, getSDKSource } from '@sentry/core';\nimport type { NodeClient, NodeOptions } from '@sentry/node';\nimport { getDefaultIntegrationsWithoutPerformance, initWithoutDefaultIntegrations } from '@sentry/node';\nimport { DEBUG_BUILD } from './debug-build';\nimport { awsIntegration } from './integration/aws';\nimport { awsLambdaIntegration } from './integration/awslambda';\n\n/**\n * Checks if proxy environment variables would interfere with the layer extension.\n * The layer extension uses localhost:9000, so we need to check if proxy settings would prevent this.\n */\nfunction shouldDisableLayerExtensionForProxy(): boolean {\n const { http_proxy, no_proxy } = process.env;\n\n // If no http proxy is configured, no interference (https_proxy doesn't affect HTTP requests)\n if (!http_proxy) {\n return false;\n }\n\n // Check if localhost is exempted by no_proxy\n if (no_proxy) {\n const exemptions = no_proxy.split(',').map(exemption => exemption.trim().toLowerCase());\n\n // Handle common localhost exemption patterns explicitly\n // If localhost is exempted, requests to the layer extension will not be proxied\n const localhostExemptions = ['*', 'localhost', '127.0.0.1', '::1'];\n if (exemptions.some(exemption => localhostExemptions.includes(exemption))) {\n return false;\n }\n }\n\n // If http_proxy is set and no localhost exemption, it would interfere\n // The layer extension uses HTTP to localhost:9000, so only http_proxy matters\n if (http_proxy) {\n DEBUG_BUILD &&\n debug.log(\n 'Disabling useLayerExtension due to http_proxy environment variable. Consider adding localhost to no_proxy to re-enable.',\n );\n return true;\n }\n\n return false;\n}\n\n/**\n * Get the default integrations for the AWSLambda SDK.\n */\n// NOTE: in awslambda-auto.ts, we also call the original `getDefaultIntegrations` from `@sentry/node` to load performance integrations.\n// If at some point we need to filter a node integration out for good, we need to make sure to also filter it out there.\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n return [...getDefaultIntegrationsWithoutPerformance(), awsIntegration(), awsLambdaIntegration()];\n}\n\nexport interface AwsServerlessOptions extends NodeOptions {\n /**\n * If Sentry events should be proxied through the Lambda extension when using the Lambda layer. Defaults to `true` when using the Lambda layer.\n */\n useLayerExtension?: boolean;\n}\n\n/**\n * Initializes the Sentry AWS Lambda SDK.\n *\n * @param options Configuration options for the SDK, @see {@link AWSLambdaOptions}.\n */\nexport function init(options: AwsServerlessOptions = {}): NodeClient | undefined {\n const sdkSource = getSDKSource();\n const proxyWouldInterfere = shouldDisableLayerExtensionForProxy();\n\n const opts = {\n defaultIntegrations: getDefaultIntegrations(options),\n useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel && !proxyWouldInterfere,\n ...options,\n };\n\n if (opts.useLayerExtension) {\n if (sdkSource === 'aws-lambda-layer') {\n if (!opts.tunnel) {\n DEBUG_BUILD && debug.log('Proxying Sentry events through the Sentry Lambda extension');\n opts.tunnel = 'http://localhost:9000/envelope';\n } else {\n DEBUG_BUILD &&\n debug.warn(\n `Using a custom tunnel with the Sentry Lambda extension is not supported. Events will be tunnelled to ${opts.tunnel} and not through the extension.`,\n );\n }\n } else {\n DEBUG_BUILD && debug.warn('The Sentry Lambda extension is only supported when using the AWS Lambda layer.');\n }\n } else if (sdkSource === 'aws-lambda-layer' && proxyWouldInterfere) {\n DEBUG_BUILD &&\n debug.warn(\n 'Sentry Lambda extension disabled due to proxy environment variables (http_proxy/https_proxy). Consider adding localhost to no_proxy to re-enable.',\n );\n }\n\n applySdkMetadata(opts, 'aws-serverless', ['aws-serverless'], sdkSource);\n\n return initWithoutDefaultIntegrations(opts);\n}\n"],"names":["DEBUG_BUILD","debug","getDefaultIntegrationsWithoutPerformance","awsIntegration","awsLambdaIntegration","getSDKSource","applySdkMetadata","initWithoutDefaultIntegrations"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AACA,SAAS,mCAAmC,GAAY;AACxD,EAAE,MAAM,EAAE,UAAU,EAAE,UAAS,GAAI,OAAO,CAAC,GAAG;;AAE9C;AACA,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,OAAO,KAAK;AAChB;;AAEA;AACA,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,MAAM,aAAa,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAA,IAAa,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;;AAE3F;AACA;AACA,IAAI,MAAM,mBAAA,GAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;AACtE,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,SAAA,IAAa,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;AAC/E,MAAM,OAAO,KAAK;AAClB;AACA;;AAEA;AACA;AACA,EAAE,IAAI,UAAU,EAAE;AAClB,IAAIA,sBAAA;AACJ,MAAMC,UAAK,CAAC,GAAG;AACf,QAAQ,yHAAyH;AACjI,OAAO;AACP,IAAI,OAAO,IAAI;AACf;;AAEA,EAAE,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAA0B;AACzE,EAAE,OAAO,CAAC,GAAGC,6CAAwC,EAAE,EAAEC,kBAAc,EAAE,EAAEC,8BAAoB,EAAE,CAAC;AAClG;;AASA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,OAAO,GAAyB,EAAE,EAA0B;AACjF,EAAE,MAAM,SAAA,GAAYC,iBAAY,EAAE;AAClC,EAAE,MAAM,mBAAA,GAAsB,mCAAmC,EAAE;;AAEnE,EAAE,MAAM,OAAO;AACf,IAAI,mBAAmB,EAAE,sBAAsB,CAAQ,CAAC;AACxD,IAAI,iBAAiB,EAAE,SAAA,KAAc,kBAAA,IAAsB,CAAC,OAAO,CAAC,MAAA,IAAU,CAAC,mBAAmB;AAClG,IAAI,GAAG,OAAO;AACd,GAAG;;AAEH,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,IAAI,SAAA,KAAc,kBAAkB,EAAE;AAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,QAAQL,0BAAeC,UAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC;AAC9F,QAAQ,IAAI,CAAC,MAAA,GAAS,gCAAgC;AACtD,aAAa;AACb,QAAQD,sBAAA;AACR,UAAUC,UAAK,CAAC,IAAI;AACpB,YAAY,CAAC,qGAAqG,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAChK,WAAW;AACX;AACA,WAAW;AACX,MAAMD,0BAAeC,UAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC;AACjH;AACA,GAAE,MAAO,IAAI,cAAc,kBAAA,IAAsB,mBAAmB,EAAE;AACtE,IAAID,sBAAA;AACJ,MAAMC,UAAK,CAAC,IAAI;AAChB,QAAQ,mJAAmJ;AAC3J,OAAO;AACP;;AAEA,EAAEK,qBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;;AAEzE,EAAE,OAAOC,mCAA8B,CAAC,IAAI,CAAC;AAC7C;;;;;"} |
@@ -1,2 +0,2 @@ | ||
| export { NODE_VERSION, NodeClient, OpenFeatureIntegrationHook, SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, Scope, addBreadcrumb, addEventProcessor, addIntegration, amqplibIntegration, anrIntegration, anthropicAIIntegration, buildLaunchDarklyFlagUsedHandler, captureCheckIn, captureEvent, captureException, captureFeedback, captureMessage, captureSession, childProcessIntegration, close, connectIntegration, consoleIntegration, consoleLoggingIntegration, contextLinesIntegration, continueTrace, createConsolaReporter, createGetModuleFromFilename, createSentryWinstonTransport, createTransport, cron, dataloaderIntegration, defaultStackParser, disableAnrDetectionForCallback, endSession, eventFiltersIntegration, expressErrorHandler, expressIntegration, fastifyIntegration, featureFlagsIntegration, firebaseIntegration, flush, fsIntegration, functionToStringIntegration, generateInstrumentOnce, genericPoolIntegration, getActiveSpan, getAutoPerformanceIntegrations, getClient, getCurrentScope, getGlobalScope, getIsolationScope, getRootSpan, getSentryRelease, getSpanDescendants, getSpanStatusFromHttpCode, getTraceData, getTraceMetaTags, googleGenAIIntegration, graphqlIntegration, hapiIntegration, honoIntegration, httpHeadersToSpanAttributes, httpIntegration, inboundFiltersIntegration, initOpenTelemetry, instrumentSupabaseClient, isEnabled, isInitialized, kafkaIntegration, knexIntegration, koaIntegration, lastEventId, launchDarklyIntegration, linkedErrorsIntegration, localVariablesIntegration, logger, lruMemoizerIntegration, makeNodeTransport, modulesIntegration, mongoIntegration, mongooseIntegration, mysql2Integration, mysqlIntegration, nativeNodeFetchIntegration, nodeContextIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, openFeatureIntegration, parameterize, postgresIntegration, postgresJsIntegration, prismaIntegration, profiler, redisIntegration, requestDataIntegration, setContext, setCurrentClient, setExtra, setExtras, setHttpStatus, setMeasurement, setTag, setTags, setUser, setupConnectErrorHandler, setupExpressErrorHandler, setupHapiErrorHandler, setupHonoErrorHandler, setupKoaErrorHandler, spanToBaggageHeader, spanToJSON, spanToTraceHeader, spotlightIntegration, startInactiveSpan, startNewTrace, startSession, startSpan, startSpanManual, statsigIntegration, supabaseIntegration, suppressTracing, systemErrorIntegration, tediousIntegration, trpcMiddleware, unleashIntegration, updateSpanName, vercelAIIntegration, winterCGHeadersToDict, withActiveSpan, withIsolationScope, withMonitor, withScope, wrapMcpServerWithSentry, zodErrorsIntegration } from '@sentry/node'; | ||
| export { NODE_VERSION, NodeClient, OpenFeatureIntegrationHook, SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, Scope, addBreadcrumb, addEventProcessor, addIntegration, amqplibIntegration, anrIntegration, anthropicAIIntegration, buildLaunchDarklyFlagUsedHandler, captureCheckIn, captureEvent, captureException, captureFeedback, captureMessage, captureSession, childProcessIntegration, close, connectIntegration, consoleIntegration, consoleLoggingIntegration, contextLinesIntegration, continueTrace, createConsolaReporter, createGetModuleFromFilename, createSentryWinstonTransport, createTransport, cron, dataloaderIntegration, defaultStackParser, disableAnrDetectionForCallback, endSession, eventFiltersIntegration, expressErrorHandler, expressIntegration, fastifyIntegration, featureFlagsIntegration, firebaseIntegration, flush, fsIntegration, functionToStringIntegration, generateInstrumentOnce, genericPoolIntegration, getActiveSpan, getAutoPerformanceIntegrations, getClient, getCurrentScope, getGlobalScope, getIsolationScope, getRootSpan, getSentryRelease, getSpanDescendants, getSpanStatusFromHttpCode, getTraceData, getTraceMetaTags, googleGenAIIntegration, graphqlIntegration, hapiIntegration, honoIntegration, httpHeadersToSpanAttributes, httpIntegration, httpServerIntegration, httpServerSpansIntegration, inboundFiltersIntegration, initOpenTelemetry, instrumentSupabaseClient, isEnabled, isInitialized, kafkaIntegration, knexIntegration, koaIntegration, lastEventId, launchDarklyIntegration, linkedErrorsIntegration, localVariablesIntegration, logger, lruMemoizerIntegration, makeNodeTransport, modulesIntegration, mongoIntegration, mongooseIntegration, mysql2Integration, mysqlIntegration, nativeNodeFetchIntegration, nodeContextIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, openFeatureIntegration, parameterize, postgresIntegration, postgresJsIntegration, prismaIntegration, profiler, redisIntegration, requestDataIntegration, setContext, setCurrentClient, setExtra, setExtras, setHttpStatus, setMeasurement, setTag, setTags, setUser, setupConnectErrorHandler, setupExpressErrorHandler, setupHapiErrorHandler, setupHonoErrorHandler, setupKoaErrorHandler, spanToBaggageHeader, spanToJSON, spanToTraceHeader, spotlightIntegration, startInactiveSpan, startNewTrace, startSession, startSpan, startSpanManual, statsigIntegration, supabaseIntegration, suppressTracing, systemErrorIntegration, tediousIntegration, trpcMiddleware, unleashIntegration, updateSpanName, vercelAIIntegration, winterCGHeadersToDict, withActiveSpan, withIsolationScope, withMonitor, withScope, wrapMcpServerWithSentry, zodErrorsIntegration } from '@sentry/node'; | ||
| export { captureConsoleIntegration, dedupeIntegration, extraErrorDataIntegration, rewriteFramesIntegration } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ export { awsIntegration } from './integration/aws.js'; |
@@ -8,2 +8,39 @@ import { getSDKSource, debug, applySdkMetadata } from '@sentry/core'; | ||
| /** | ||
| * Checks if proxy environment variables would interfere with the layer extension. | ||
| * The layer extension uses localhost:9000, so we need to check if proxy settings would prevent this. | ||
| */ | ||
| function shouldDisableLayerExtensionForProxy() { | ||
| const { http_proxy, no_proxy } = process.env; | ||
| // If no http proxy is configured, no interference (https_proxy doesn't affect HTTP requests) | ||
| if (!http_proxy) { | ||
| return false; | ||
| } | ||
| // Check if localhost is exempted by no_proxy | ||
| if (no_proxy) { | ||
| const exemptions = no_proxy.split(',').map(exemption => exemption.trim().toLowerCase()); | ||
| // Handle common localhost exemption patterns explicitly | ||
| // If localhost is exempted, requests to the layer extension will not be proxied | ||
| const localhostExemptions = ['*', 'localhost', '127.0.0.1', '::1']; | ||
| if (exemptions.some(exemption => localhostExemptions.includes(exemption))) { | ||
| return false; | ||
| } | ||
| } | ||
| // If http_proxy is set and no localhost exemption, it would interfere | ||
| // The layer extension uses HTTP to localhost:9000, so only http_proxy matters | ||
| if (http_proxy) { | ||
| DEBUG_BUILD && | ||
| debug.log( | ||
| 'Disabling useLayerExtension due to http_proxy environment variable. Consider adding localhost to no_proxy to re-enable.', | ||
| ); | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| /** | ||
| * Get the default integrations for the AWSLambda SDK. | ||
@@ -24,5 +61,7 @@ */ | ||
| const sdkSource = getSDKSource(); | ||
| const proxyWouldInterfere = shouldDisableLayerExtensionForProxy(); | ||
| const opts = { | ||
| defaultIntegrations: getDefaultIntegrations(), | ||
| useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel, | ||
| useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel && !proxyWouldInterfere, | ||
| ...options, | ||
@@ -45,2 +84,7 @@ }; | ||
| } | ||
| } else if (sdkSource === 'aws-lambda-layer' && proxyWouldInterfere) { | ||
| DEBUG_BUILD && | ||
| debug.warn( | ||
| 'Sentry Lambda extension disabled due to proxy environment variables (http_proxy/https_proxy). Consider adding localhost to no_proxy to re-enable.', | ||
| ); | ||
| } | ||
@@ -47,0 +91,0 @@ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.js","sources":["../../../src/init.ts"],"sourcesContent":["import type { Integration, Options } from '@sentry/core';\nimport { applySdkMetadata, debug, getSDKSource } from '@sentry/core';\nimport type { NodeClient, NodeOptions } from '@sentry/node';\nimport { getDefaultIntegrationsWithoutPerformance, initWithoutDefaultIntegrations } from '@sentry/node';\nimport { DEBUG_BUILD } from './debug-build';\nimport { awsIntegration } from './integration/aws';\nimport { awsLambdaIntegration } from './integration/awslambda';\n/**\n * Get the default integrations for the AWSLambda SDK.\n */\n// NOTE: in awslambda-auto.ts, we also call the original `getDefaultIntegrations` from `@sentry/node` to load performance integrations.\n// If at some point we need to filter a node integration out for good, we need to make sure to also filter it out there.\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n return [...getDefaultIntegrationsWithoutPerformance(), awsIntegration(), awsLambdaIntegration()];\n}\n\nexport interface AwsServerlessOptions extends NodeOptions {\n /**\n * If Sentry events should be proxied through the Lambda extension when using the Lambda layer. Defaults to `true` when using the Lambda layer.\n */\n useLayerExtension?: boolean;\n}\n\n/**\n * Initializes the Sentry AWS Lambda SDK.\n *\n * @param options Configuration options for the SDK, @see {@link AWSLambdaOptions}.\n */\nexport function init(options: AwsServerlessOptions = {}): NodeClient | undefined {\n const sdkSource = getSDKSource();\n const opts = {\n defaultIntegrations: getDefaultIntegrations(options),\n useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel,\n ...options,\n };\n\n if (opts.useLayerExtension) {\n if (sdkSource === 'aws-lambda-layer') {\n if (!opts.tunnel) {\n DEBUG_BUILD && debug.log('Proxying Sentry events through the Sentry Lambda extension');\n opts.tunnel = 'http://localhost:9000/envelope';\n } else {\n DEBUG_BUILD &&\n debug.warn(\n `Using a custom tunnel with the Sentry Lambda extension is not supported. Events will be tunnelled to ${opts.tunnel} and not through the extension.`,\n );\n }\n } else {\n DEBUG_BUILD && debug.warn('The Sentry Lambda extension is only supported when using the AWS Lambda layer.');\n }\n }\n\n applySdkMetadata(opts, 'aws-serverless', ['aws-serverless'], sdkSource);\n\n return initWithoutDefaultIntegrations(opts);\n}\n"],"names":[],"mappings":";;;;;;AAOA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAA0B;AACzE,EAAE,OAAO,CAAC,GAAG,wCAAwC,EAAE,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC;AAClG;;AASA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,OAAO,GAAyB,EAAE,EAA0B;AACjF,EAAE,MAAM,SAAA,GAAY,YAAY,EAAE;AAClC,EAAE,MAAM,OAAO;AACf,IAAI,mBAAmB,EAAE,sBAAsB,CAAQ,CAAC;AACxD,IAAI,iBAAiB,EAAE,SAAA,KAAc,sBAAsB,CAAC,OAAO,CAAC,MAAM;AAC1E,IAAI,GAAG,OAAO;AACd,GAAG;;AAEH,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,IAAI,SAAA,KAAc,kBAAkB,EAAE;AAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,QAAQ,eAAe,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC;AAC9F,QAAQ,IAAI,CAAC,MAAA,GAAS,gCAAgC;AACtD,aAAa;AACb,QAAQ,WAAA;AACR,UAAU,KAAK,CAAC,IAAI;AACpB,YAAY,CAAC,qGAAqG,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAChK,WAAW;AACX;AACA,WAAW;AACX,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC;AACjH;AACA;;AAEA,EAAE,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;;AAEzE,EAAE,OAAO,8BAA8B,CAAC,IAAI,CAAC;AAC7C;;;;"} | ||
| {"version":3,"file":"init.js","sources":["../../../src/init.ts"],"sourcesContent":["import type { Integration, Options } from '@sentry/core';\nimport { applySdkMetadata, debug, getSDKSource } from '@sentry/core';\nimport type { NodeClient, NodeOptions } from '@sentry/node';\nimport { getDefaultIntegrationsWithoutPerformance, initWithoutDefaultIntegrations } from '@sentry/node';\nimport { DEBUG_BUILD } from './debug-build';\nimport { awsIntegration } from './integration/aws';\nimport { awsLambdaIntegration } from './integration/awslambda';\n\n/**\n * Checks if proxy environment variables would interfere with the layer extension.\n * The layer extension uses localhost:9000, so we need to check if proxy settings would prevent this.\n */\nfunction shouldDisableLayerExtensionForProxy(): boolean {\n const { http_proxy, no_proxy } = process.env;\n\n // If no http proxy is configured, no interference (https_proxy doesn't affect HTTP requests)\n if (!http_proxy) {\n return false;\n }\n\n // Check if localhost is exempted by no_proxy\n if (no_proxy) {\n const exemptions = no_proxy.split(',').map(exemption => exemption.trim().toLowerCase());\n\n // Handle common localhost exemption patterns explicitly\n // If localhost is exempted, requests to the layer extension will not be proxied\n const localhostExemptions = ['*', 'localhost', '127.0.0.1', '::1'];\n if (exemptions.some(exemption => localhostExemptions.includes(exemption))) {\n return false;\n }\n }\n\n // If http_proxy is set and no localhost exemption, it would interfere\n // The layer extension uses HTTP to localhost:9000, so only http_proxy matters\n if (http_proxy) {\n DEBUG_BUILD &&\n debug.log(\n 'Disabling useLayerExtension due to http_proxy environment variable. Consider adding localhost to no_proxy to re-enable.',\n );\n return true;\n }\n\n return false;\n}\n\n/**\n * Get the default integrations for the AWSLambda SDK.\n */\n// NOTE: in awslambda-auto.ts, we also call the original `getDefaultIntegrations` from `@sentry/node` to load performance integrations.\n// If at some point we need to filter a node integration out for good, we need to make sure to also filter it out there.\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n return [...getDefaultIntegrationsWithoutPerformance(), awsIntegration(), awsLambdaIntegration()];\n}\n\nexport interface AwsServerlessOptions extends NodeOptions {\n /**\n * If Sentry events should be proxied through the Lambda extension when using the Lambda layer. Defaults to `true` when using the Lambda layer.\n */\n useLayerExtension?: boolean;\n}\n\n/**\n * Initializes the Sentry AWS Lambda SDK.\n *\n * @param options Configuration options for the SDK, @see {@link AWSLambdaOptions}.\n */\nexport function init(options: AwsServerlessOptions = {}): NodeClient | undefined {\n const sdkSource = getSDKSource();\n const proxyWouldInterfere = shouldDisableLayerExtensionForProxy();\n\n const opts = {\n defaultIntegrations: getDefaultIntegrations(options),\n useLayerExtension: sdkSource === 'aws-lambda-layer' && !options.tunnel && !proxyWouldInterfere,\n ...options,\n };\n\n if (opts.useLayerExtension) {\n if (sdkSource === 'aws-lambda-layer') {\n if (!opts.tunnel) {\n DEBUG_BUILD && debug.log('Proxying Sentry events through the Sentry Lambda extension');\n opts.tunnel = 'http://localhost:9000/envelope';\n } else {\n DEBUG_BUILD &&\n debug.warn(\n `Using a custom tunnel with the Sentry Lambda extension is not supported. Events will be tunnelled to ${opts.tunnel} and not through the extension.`,\n );\n }\n } else {\n DEBUG_BUILD && debug.warn('The Sentry Lambda extension is only supported when using the AWS Lambda layer.');\n }\n } else if (sdkSource === 'aws-lambda-layer' && proxyWouldInterfere) {\n DEBUG_BUILD &&\n debug.warn(\n 'Sentry Lambda extension disabled due to proxy environment variables (http_proxy/https_proxy). Consider adding localhost to no_proxy to re-enable.',\n );\n }\n\n applySdkMetadata(opts, 'aws-serverless', ['aws-serverless'], sdkSource);\n\n return initWithoutDefaultIntegrations(opts);\n}\n"],"names":[],"mappings":";;;;;;AAQA;AACA;AACA;AACA;AACA,SAAS,mCAAmC,GAAY;AACxD,EAAE,MAAM,EAAE,UAAU,EAAE,UAAS,GAAI,OAAO,CAAC,GAAG;;AAE9C;AACA,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,OAAO,KAAK;AAChB;;AAEA;AACA,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,MAAM,aAAa,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAA,IAAa,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;;AAE3F;AACA;AACA,IAAI,MAAM,mBAAA,GAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;AACtE,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,SAAA,IAAa,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;AAC/E,MAAM,OAAO,KAAK;AAClB;AACA;;AAEA;AACA;AACA,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,WAAA;AACJ,MAAM,KAAK,CAAC,GAAG;AACf,QAAQ,yHAAyH;AACjI,OAAO;AACP,IAAI,OAAO,IAAI;AACf;;AAEA,EAAE,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAA0B;AACzE,EAAE,OAAO,CAAC,GAAG,wCAAwC,EAAE,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC;AAClG;;AASA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,OAAO,GAAyB,EAAE,EAA0B;AACjF,EAAE,MAAM,SAAA,GAAY,YAAY,EAAE;AAClC,EAAE,MAAM,mBAAA,GAAsB,mCAAmC,EAAE;;AAEnE,EAAE,MAAM,OAAO;AACf,IAAI,mBAAmB,EAAE,sBAAsB,CAAQ,CAAC;AACxD,IAAI,iBAAiB,EAAE,SAAA,KAAc,kBAAA,IAAsB,CAAC,OAAO,CAAC,MAAA,IAAU,CAAC,mBAAmB;AAClG,IAAI,GAAG,OAAO;AACd,GAAG;;AAEH,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,IAAI,SAAA,KAAc,kBAAkB,EAAE;AAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxB,QAAQ,eAAe,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC;AAC9F,QAAQ,IAAI,CAAC,MAAA,GAAS,gCAAgC;AACtD,aAAa;AACb,QAAQ,WAAA;AACR,UAAU,KAAK,CAAC,IAAI;AACpB,YAAY,CAAC,qGAAqG,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAChK,WAAW;AACX;AACA,WAAW;AACX,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC;AACjH;AACA,GAAE,MAAO,IAAI,cAAc,kBAAA,IAAsB,mBAAmB,EAAE;AACtE,IAAI,WAAA;AACJ,MAAM,KAAK,CAAC,IAAI;AAChB,QAAQ,mJAAmJ;AAC3J,OAAO;AACP;;AAEA,EAAE,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;;AAEzE,EAAE,OAAO,8BAA8B,CAAC,IAAI,CAAC;AAC7C;;;;"} |
@@ -1,1 +0,1 @@ | ||
| {"type":"module","version":"10.16.0","sideEffects":false} | ||
| {"type":"module","version":"10.17.0","sideEffects":false} |
@@ -1,2 +0,2 @@ | ||
| export { addEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, captureCheckIn, captureFeedback, startSession, captureSession, endSession, withMonitor, createTransport, getClient, isInitialized, isEnabled, generateInstrumentOnce, getCurrentScope, getGlobalScope, getIsolationScope, getTraceData, getTraceMetaTags, setCurrentClient, Scope, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, getSpanStatusFromHttpCode, setHttpStatus, withScope, withIsolationScope, makeNodeTransport, NodeClient, defaultStackParser, lastEventId, flush, close, getSentryRelease, createGetModuleFromFilename, httpHeadersToSpanAttributes, winterCGHeadersToDict, anrIntegration, disableAnrDetectionForCallback, consoleIntegration, httpIntegration, nativeNodeFetchIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, modulesIntegration, contextLinesIntegration, nodeContextIntegration, localVariablesIntegration, requestDataIntegration, functionToStringIntegration, inboundFiltersIntegration, eventFiltersIntegration, linkedErrorsIntegration, setMeasurement, getActiveSpan, startSpan, startInactiveSpan, startSpanManual, startNewTrace, suppressTracing, withActiveSpan, getRootSpan, getSpanDescendants, continueTrace, getAutoPerformanceIntegrations, cron, parameterize, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, dataloaderIntegration, expressIntegration, expressErrorHandler, setupExpressErrorHandler, koaIntegration, setupKoaErrorHandler, connectIntegration, setupConnectErrorHandler, fastifyIntegration, firebaseIntegration, fsIntegration, genericPoolIntegration, graphqlIntegration, knexIntegration, kafkaIntegration, lruMemoizerIntegration, mongoIntegration, mongooseIntegration, mysqlIntegration, mysql2Integration, redisIntegration, tediousIntegration, postgresIntegration, postgresJsIntegration, prismaIntegration, childProcessIntegration, createSentryWinstonTransport, hapiIntegration, setupHapiErrorHandler, honoIntegration, setupHonoErrorHandler, spotlightIntegration, initOpenTelemetry, spanToJSON, spanToTraceHeader, spanToBaggageHeader, systemErrorIntegration, trpcMiddleware, updateSpanName, supabaseIntegration, instrumentSupabaseClient, zodErrorsIntegration, profiler, amqplibIntegration, anthropicAIIntegration, googleGenAIIntegration, vercelAIIntegration, logger, consoleLoggingIntegration, createConsolaReporter, wrapMcpServerWithSentry, NODE_VERSION, featureFlagsIntegration, FeatureFlagsIntegration, launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler, openFeatureIntegration, OpenFeatureIntegrationHook, statsigIntegration, unleashIntegration } from '@sentry/node'; | ||
| export { addEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, captureCheckIn, captureFeedback, startSession, captureSession, endSession, withMonitor, createTransport, getClient, isInitialized, isEnabled, generateInstrumentOnce, getCurrentScope, getGlobalScope, getIsolationScope, getTraceData, getTraceMetaTags, setCurrentClient, Scope, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, getSpanStatusFromHttpCode, setHttpStatus, withScope, withIsolationScope, makeNodeTransport, NodeClient, defaultStackParser, lastEventId, flush, close, getSentryRelease, createGetModuleFromFilename, httpHeadersToSpanAttributes, winterCGHeadersToDict, anrIntegration, disableAnrDetectionForCallback, consoleIntegration, httpIntegration, httpServerIntegration, httpServerSpansIntegration, nativeNodeFetchIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, modulesIntegration, contextLinesIntegration, nodeContextIntegration, localVariablesIntegration, requestDataIntegration, functionToStringIntegration, inboundFiltersIntegration, eventFiltersIntegration, linkedErrorsIntegration, setMeasurement, getActiveSpan, startSpan, startInactiveSpan, startSpanManual, startNewTrace, suppressTracing, withActiveSpan, getRootSpan, getSpanDescendants, continueTrace, getAutoPerformanceIntegrations, cron, parameterize, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, dataloaderIntegration, expressIntegration, expressErrorHandler, setupExpressErrorHandler, koaIntegration, setupKoaErrorHandler, connectIntegration, setupConnectErrorHandler, fastifyIntegration, firebaseIntegration, fsIntegration, genericPoolIntegration, graphqlIntegration, knexIntegration, kafkaIntegration, lruMemoizerIntegration, mongoIntegration, mongooseIntegration, mysqlIntegration, mysql2Integration, redisIntegration, tediousIntegration, postgresIntegration, postgresJsIntegration, prismaIntegration, childProcessIntegration, createSentryWinstonTransport, hapiIntegration, setupHapiErrorHandler, honoIntegration, setupHonoErrorHandler, spotlightIntegration, initOpenTelemetry, spanToJSON, spanToTraceHeader, spanToBaggageHeader, systemErrorIntegration, trpcMiddleware, updateSpanName, supabaseIntegration, instrumentSupabaseClient, zodErrorsIntegration, profiler, amqplibIntegration, anthropicAIIntegration, googleGenAIIntegration, vercelAIIntegration, logger, consoleLoggingIntegration, createConsolaReporter, wrapMcpServerWithSentry, NODE_VERSION, featureFlagsIntegration, FeatureFlagsIntegration, launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler, openFeatureIntegration, OpenFeatureIntegrationHook, statsigIntegration, unleashIntegration } from '@sentry/node'; | ||
| export { captureConsoleIntegration, dedupeIntegration, extraErrorDataIntegration, rewriteFramesIntegration, } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ export { awsIntegration } from './integration/aws'; |
@@ -1,2 +0,2 @@ | ||
| export { addEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, captureCheckIn, captureFeedback, startSession, captureSession, endSession, withMonitor, createTransport, getClient, isInitialized, isEnabled, generateInstrumentOnce, getCurrentScope, getGlobalScope, getIsolationScope, getTraceData, getTraceMetaTags, setCurrentClient, Scope, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, getSpanStatusFromHttpCode, setHttpStatus, withScope, withIsolationScope, makeNodeTransport, NodeClient, defaultStackParser, lastEventId, flush, close, getSentryRelease, createGetModuleFromFilename, httpHeadersToSpanAttributes, winterCGHeadersToDict, anrIntegration, disableAnrDetectionForCallback, consoleIntegration, httpIntegration, nativeNodeFetchIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, modulesIntegration, contextLinesIntegration, nodeContextIntegration, localVariablesIntegration, requestDataIntegration, functionToStringIntegration, inboundFiltersIntegration, eventFiltersIntegration, linkedErrorsIntegration, setMeasurement, getActiveSpan, startSpan, startInactiveSpan, startSpanManual, startNewTrace, suppressTracing, withActiveSpan, getRootSpan, getSpanDescendants, continueTrace, getAutoPerformanceIntegrations, cron, parameterize, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, dataloaderIntegration, expressIntegration, expressErrorHandler, setupExpressErrorHandler, koaIntegration, setupKoaErrorHandler, connectIntegration, setupConnectErrorHandler, fastifyIntegration, firebaseIntegration, fsIntegration, genericPoolIntegration, graphqlIntegration, knexIntegration, kafkaIntegration, lruMemoizerIntegration, mongoIntegration, mongooseIntegration, mysqlIntegration, mysql2Integration, redisIntegration, tediousIntegration, postgresIntegration, postgresJsIntegration, prismaIntegration, childProcessIntegration, createSentryWinstonTransport, hapiIntegration, setupHapiErrorHandler, honoIntegration, setupHonoErrorHandler, spotlightIntegration, initOpenTelemetry, spanToJSON, spanToTraceHeader, spanToBaggageHeader, systemErrorIntegration, trpcMiddleware, updateSpanName, supabaseIntegration, instrumentSupabaseClient, zodErrorsIntegration, profiler, amqplibIntegration, anthropicAIIntegration, googleGenAIIntegration, vercelAIIntegration, logger, consoleLoggingIntegration, createConsolaReporter, wrapMcpServerWithSentry, NODE_VERSION, featureFlagsIntegration, type FeatureFlagsIntegration, launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler, openFeatureIntegration, OpenFeatureIntegrationHook, statsigIntegration, unleashIntegration, } from '@sentry/node'; | ||
| export { addEventProcessor, addBreadcrumb, addIntegration, captureException, captureEvent, captureMessage, captureCheckIn, captureFeedback, startSession, captureSession, endSession, withMonitor, createTransport, getClient, isInitialized, isEnabled, generateInstrumentOnce, getCurrentScope, getGlobalScope, getIsolationScope, getTraceData, getTraceMetaTags, setCurrentClient, Scope, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, getSpanStatusFromHttpCode, setHttpStatus, withScope, withIsolationScope, makeNodeTransport, NodeClient, defaultStackParser, lastEventId, flush, close, getSentryRelease, createGetModuleFromFilename, httpHeadersToSpanAttributes, winterCGHeadersToDict, anrIntegration, disableAnrDetectionForCallback, consoleIntegration, httpIntegration, httpServerIntegration, httpServerSpansIntegration, nativeNodeFetchIntegration, onUncaughtExceptionIntegration, onUnhandledRejectionIntegration, openAIIntegration, modulesIntegration, contextLinesIntegration, nodeContextIntegration, localVariablesIntegration, requestDataIntegration, functionToStringIntegration, inboundFiltersIntegration, eventFiltersIntegration, linkedErrorsIntegration, setMeasurement, getActiveSpan, startSpan, startInactiveSpan, startSpanManual, startNewTrace, suppressTracing, withActiveSpan, getRootSpan, getSpanDescendants, continueTrace, getAutoPerformanceIntegrations, cron, parameterize, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, dataloaderIntegration, expressIntegration, expressErrorHandler, setupExpressErrorHandler, koaIntegration, setupKoaErrorHandler, connectIntegration, setupConnectErrorHandler, fastifyIntegration, firebaseIntegration, fsIntegration, genericPoolIntegration, graphqlIntegration, knexIntegration, kafkaIntegration, lruMemoizerIntegration, mongoIntegration, mongooseIntegration, mysqlIntegration, mysql2Integration, redisIntegration, tediousIntegration, postgresIntegration, postgresJsIntegration, prismaIntegration, childProcessIntegration, createSentryWinstonTransport, hapiIntegration, setupHapiErrorHandler, honoIntegration, setupHonoErrorHandler, spotlightIntegration, initOpenTelemetry, spanToJSON, spanToTraceHeader, spanToBaggageHeader, systemErrorIntegration, trpcMiddleware, updateSpanName, supabaseIntegration, instrumentSupabaseClient, zodErrorsIntegration, profiler, amqplibIntegration, anthropicAIIntegration, googleGenAIIntegration, vercelAIIntegration, logger, consoleLoggingIntegration, createConsolaReporter, wrapMcpServerWithSentry, NODE_VERSION, featureFlagsIntegration, type FeatureFlagsIntegration, launchDarklyIntegration, buildLaunchDarklyFlagUsedHandler, openFeatureIntegration, OpenFeatureIntegrationHook, statsigIntegration, unleashIntegration, } from '@sentry/node'; | ||
| export { captureConsoleIntegration, dedupeIntegration, extraErrorDataIntegration, rewriteFramesIntegration, } from '@sentry/core'; | ||
@@ -3,0 +3,0 @@ export { awsIntegration } from './integration/aws'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,SAAS,EACT,aAAa,EACb,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,EACP,yBAAyB,EACzB,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EAErB,cAAc,EAEd,8BAA8B,EAC9B,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAE3B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,8BAA8B,EAC9B,IAAI,EACJ,YAAY,EACZ,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,qCAAqC,EACrC,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,EACN,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAK5D;;GAEG;AAGH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,EAAE,CAEvE;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,GAAG,SAAS,CA2B/E"} | ||
| {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA2C5D;;GAEG;AAGH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,EAAE,CAEvE;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,GAAG,SAAS,CAkC/E"} |
+3
-3
| { | ||
| "name": "@sentry/aws-serverless", | ||
| "version": "10.16.0", | ||
| "version": "10.17.0", | ||
| "description": "Official Sentry SDK for AWS Lambda and AWS Serverless Environments", | ||
@@ -72,4 +72,4 @@ "repository": "git://github.com/getsentry/sentry-javascript.git", | ||
| "@opentelemetry/semantic-conventions": "^1.37.0", | ||
| "@sentry/core": "10.16.0", | ||
| "@sentry/node": "10.16.0", | ||
| "@sentry/core": "10.17.0", | ||
| "@sentry/node": "10.17.0", | ||
| "@types/aws-lambda": "^8.10.62" | ||
@@ -76,0 +76,0 @@ }, |
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 6 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 5 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
274223
3.35%2746
2.85%36
5.88%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
Updated
Updated