-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Package: serverlessIssues related to the Sentry Serverless SDKIssues related to the Sentry Serverless SDK
Description
Is there an existing issue for this?
- I have checked for existing issues https://github.com/getsentry/sentry-javascript/issues
- I have reviewed the documentation https://docs.sentry.io/
- I am using the latest SDK release https://github.com/getsentry/sentry-javascript/releases
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/serverless
SDK Version
7.73.0
Framework Version
7.73.0
Link to Sentry event
No response
SDK Setup
import * as Sentry from '@sentry/serverless'
Sentry.AWSLambda.init({
dsn: 'https://xxxxxx@xxxxx.ingest.sentry.io/xxxxxx'
})
export const handler = Sentry.AWSLambda.wrapHandler(async (event: KinesisStreamEvent, context?: Context) => {
return initialize(PIPELINES, OPTIONS).assemble(fromKinesisEventbridge(event)).tap(debug).through(toPromise)
})
Steps to Reproduce
- Use sentry with with following setup:
- "@sentry/serverless": "^7.73.0"
- "serverless": "3.19.0"
- "serverless-offline": "8.8.0"
- "serverless-webpack": "5.8.0"
- "typescript": "4.4.4"
- "webpack": "5.72.1"
- See setup below for webpack.config.js and serverless.yml
- Run function
yarn sls offline
- Call API
You will get the error below. I am able to run this perfectly fine with @sentry/node.
✖ Cannot set property defaultIntegrations of #<Object> which has only a getter
✖ TypeError: Cannot set property defaultIntegrations of #<Object> which has only a getter
at eval (webpack-internal:///../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/awslambda.js:267:29)
at Object.../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/awslambda.js (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:18530:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at Object.../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/index.js (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:18902:18)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at eval (webpack-internal:///./src/listener/index.ts:9:19)
at Object../src/listener/index.ts (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:42002:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at eval (webpack-internal:///./src/listener/test-listener.ts:9:9)
at Object../src/listener/test-listener.ts (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:42200:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at /Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44695:37
at Object.<anonymous> (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44698:12)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Object.require$$0.Module._extensions..js (/Users/pom/Code/chaine/.pnp.cjs:102578:33)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.require$$0.Module._load (/Users/pom/Code/chaine/.pnp.cjs:102415:14)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at /Users/pom/Code/chaine/.yarn/__virtual__/serverless-offline-virtual-f101cf6249/0/cache/serverless-offline-npm-8.8.0-0905a4015f-cc9ebc2016.zip/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:166:133
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async InProcessRunner.run (/Users/pom/Code/chaine/.yarn/__virtual__/serverless-offline-virtual-f101cf6249/0/cache/serverless-offline-npm-8.8.0-0905a4015f-cc9ebc2016.zip/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:166:9)
webpack.config.js:
// webpack.config.js
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path')
const slsw = require('serverless-webpack')
const nodeExternals = require('webpack-node-externals')
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin')
const TerserPlugin = require('terser-webpack-plugin')
const isLocal = slsw.lib.webpack.isLocal
module.exports = {
mode: isLocal ? 'development' : 'production',
entry: slsw.lib.entries,
externals: [
// nodeExternals({
// allowlist: ['@chaine/core']
// }),
{ 'aws-sdk': 'commonjs aws-sdk' }
],
/** More on devtool source map options: https://webpack.js.org/configuration/devtool/ */
devtool: isLocal ? 'eval-cheap-module-source-map' : false,
resolve: {
extensions: ['.ts', '.js'],
alias: {
graphql$: require.resolve('graphql')
},
plugins: [new TsconfigPathsPlugin()]
},
output: {
libraryTarget: 'commonjs2',
path: path.join(__dirname, '.webpack'),
filename: '[name].js'
},
target: 'node',
stats: 'errors-only', // This surpresses warnings, such as, i.e. WARNING The requested module ... contains conflicting star exports for the name '__esModule' with the previous requested module ..
// cache: {
module: {
rules: [
{
test: /\.(ts|js)x?$/,
use: {
// IMPORTANT: if you only put babel-loader here with NO options, then babel-loader will use .babelrc.
// If you add options here, babel-loader will use configuration here and ignore .babelrc or babel.config.json
loader: require.resolve('babel-loader'),
options: {
cacheCompression: false,
cacheDirectory: path.resolve(__dirname, '.webpackCache')
}
}
}
]
},
plugins: [new ForkTsCheckerWebpackPlugin()],
optimization: isLocal // Don't need minify for local which is very slow when running local server and making changes
? {}
: {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: {
ecma: undefined,
parse: {},
compress: {},
mangle: true, // Note `mangle.properties` is `false` by default.
module: false,
// Deprecated
output: null,
format: null,
toplevel: false,
nameCache: null,
ie8: false,
keep_classnames: true,
keep_fnames: false,
safari10: false
}
})
]
}
}
serverless.yml
app: my-app
service: ${self:app}-service
custom:
webpack:
excludeFiles: ['src/**/*.d.ts.map', 'src/**/*.d.ts', 'src/**/*.test.ts']
webpackConfig: 'webpack.config.js'
concurrency: 1 # set to 1 due to GitHub's 2-core runners to prevent OOM
serializedCompile: true # backward compatible, this translates to concurrency: 1
packager: 'yarn'
noInstall: true
includeModules:
forceExclude:
- 'aws-sdk'
provider:
name: aws
runtime: nodejs16.x
region: us-east-1
functions:
my-test-handler:
handler: src/test-handler.handler
events:
- HTTP:
path: test-handler
method: POST
cors: true
plugins:
- serverless-webpack
- serverless-offline
-
package:
individually: true
Expected Result
Should not result in an error when initializing sentry.
Actual Result
✖ Cannot set property defaultIntegrations of #<Object> which has only a getter
✖ TypeError: Cannot set property defaultIntegrations of #<Object> which has only a getter
at eval (webpack-internal:///../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/awslambda.js:267:29)
at Object.../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/awslambda.js (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:18530:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at Object.../../../.yarn/cache/@sentry-serverless-npm-7.73.0-40c75798c0-37a31236e7.zip/node_modules/@sentry/serverless/esm/index.js (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:18902:18)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at eval (webpack-internal:///./src/listener/index.ts:9:19)
at Object../src/listener/index.ts (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:42002:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at eval (webpack-internal:///./src/listener/test-listener.ts:9:9)
at Object../src/listener/test-listener.ts (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:42200:1)
at __webpack_require__ (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44652:41)
at /Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44695:37
at Object.<anonymous> (/Users/pom/Code/chaine/packages/silkroad/bff-booking/.webpack/service/src/listener/test-listener.js:44698:12)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Object.require$$0.Module._extensions..js (/Users/pom/Code/chaine/.pnp.cjs:102578:33)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.require$$0.Module._load (/Users/pom/Code/chaine/.pnp.cjs:102415:14)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at /Users/pom/Code/chaine/.yarn/__virtual__/serverless-offline-virtual-f101cf6249/0/cache/serverless-offline-npm-8.8.0-0905a4015f-cc9ebc2016.zip/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:166:133
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async InProcessRunner.run (/Users/pom/Code/chaine/.yarn/__virtual__/serverless-offline-virtual-f101cf6249/0/cache/serverless-offline-npm-8.8.0-0905a4015f-cc9ebc2016.zip/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:166:9)
Metadata
Metadata
Assignees
Labels
Package: serverlessIssues related to the Sentry Serverless SDKIssues related to the Sentry Serverless SDK
Projects
Status
No status