Source maps are uploaded repeatedly for each Lambda function
See original GitHub issueEnvironment
How do you use Sentry? Sentry SaaS + Serverless Framework
Which SDK and version?
@sentry/node@6.2.5
and @sentry/webpack-plugin@1.14.2
Issue/question
When using package.individually: true
in serverless.ts
, source maps for all functions are repeatedly uploaded to Sentry for every single function. (see output below)
Is there some way to configure the plugin to run just once?
Source Map Upload Report
Minified Scripts
~/appsyncResolver/src/functions/appsync-resolver/handler.js (sourcemap at handler.js.map)
~/createEmbed/src/functions/create-embed/handler.js (sourcemap at handler.js.map)
~/createImage/src/functions/create-image/handler.js (sourcemap at handler.js.map)
~/createTag/src/functions/create-tag/handler.js (sourcemap at handler.js.map)
~/createTrack/src/functions/create-track/handler.js (sourcemap at handler.js.map)
~/deleteTag/src/functions/delete-tag/handler.js (sourcemap at handler.js.map)
~/deleteTracks/src/functions/delete-tracks/handler.js (sourcemap at handler.js.map)
~/duplicateReel/src/functions/duplicate-reel/handler.js (sourcemap at handler.js.map)
~/getEmbed/src/functions/get-embed/handler.js (sourcemap at handler.js.map)
~/getReels/src/functions/get-reels/handler.js (sourcemap at handler.js.map)
~/getSessions/src/functions/get-sessions/handler.js (sourcemap at handler.js.map)
~/getTags/src/functions/get-tags/handler.js (sourcemap at handler.js.map)
~/getTracks/src/functions/get-tracks/handler.js (sourcemap at handler.js.map)
~/setTags/src/functions/set-tags/handler.js (sourcemap at handler.js.map)
~/updateEmbed/src/functions/update-embed/handler.js (sourcemap at handler.js.map)
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js (sourcemap at handler.js.map)
~/updateShareLink/src/functions/update-share-link/handler.js (sourcemap at handler.js.map)
~/updateTag/src/functions/update-tag/handler.js (sourcemap at handler.js.map)
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js (sourcemap at handler.js.map)
Source Maps
~/appsyncResolver/src/functions/appsync-resolver/handler.js.map
~/createEmbed/src/functions/create-embed/handler.js.map
~/createImage/src/functions/create-image/handler.js.map
~/createTag/src/functions/create-tag/handler.js.map
~/createTrack/src/functions/create-track/handler.js.map
~/deleteTag/src/functions/delete-tag/handler.js.map
~/deleteTracks/src/functions/delete-tracks/handler.js.map
~/duplicateReel/src/functions/duplicate-reel/handler.js.map
~/getEmbed/src/functions/get-embed/handler.js.map
~/getReels/src/functions/get-reels/handler.js.map
~/getSessions/src/functions/get-sessions/handler.js.map
~/getTags/src/functions/get-tags/handler.js.map
~/getTracks/src/functions/get-tracks/handler.js.map
~/setTags/src/functions/set-tags/handler.js.map
~/updateEmbed/src/functions/update-embed/handler.js.map
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js.map
~/updateShareLink/src/functions/update-share-link/handler.js.map
~/updateTag/src/functions/update-tag/handler.js.map
> File upload complete (processing pending on server)
Source Map Upload Report
Minified Scripts
~/appsyncResolver/src/functions/appsync-resolver/handler.js (sourcemap at handler.js.map)
~/createEmbed/src/functions/create-embed/handler.js (sourcemap at handler.js.map)
~/createImage/src/functions/create-image/handler.js (sourcemap at handler.js.map)
~/createTag/src/functions/create-tag/handler.js (sourcemap at handler.js.map)
~/createTrack/src/functions/create-track/handler.js (sourcemap at handler.js.map)
~/deleteTag/src/functions/delete-tag/handler.js (sourcemap at handler.js.map)
~/deleteTracks/src/functions/delete-tracks/handler.js (sourcemap at handler.js.map)
~/duplicateReel/src/functions/duplicate-reel/handler.js (sourcemap at handler.js.map)
~/getEmbed/src/functions/get-embed/handler.js (sourcemap at handler.js.map)
~/getReels/src/functions/get-reels/handler.js (sourcemap at handler.js.map)
~/getSessions/src/functions/get-sessions/handler.js (sourcemap at handler.js.map)
~/getTags/src/functions/get-tags/handler.js (sourcemap at handler.js.map)
~/getTracks/src/functions/get-tracks/handler.js (sourcemap at handler.js.map)
~/setTags/src/functions/set-tags/handler.js (sourcemap at handler.js.map)
~/updateEmbed/src/functions/update-embed/handler.js (sourcemap at handler.js.map)
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js (sourcemap at handler.js.map)
~/updateShareLink/src/functions/update-share-link/handler.js (sourcemap at handler.js.map)
~/updateTag/src/functions/update-tag/handler.js (sourcemap at handler.js.map)
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js (sourcemap at handler.js.map)
Source Maps
~/appsyncResolver/src/functions/appsync-resolver/handler.js.map
~/createEmbed/src/functions/create-embed/handler.js.map
~/createImage/src/functions/create-image/handler.js.map
~/createTag/src/functions/create-tag/handler.js.map
~/createTrack/src/functions/create-track/handler.js.map
~/deleteTag/src/functions/delete-tag/handler.js.map
~/deleteTracks/src/functions/delete-tracks/handler.js.map
~/duplicateReel/src/functions/duplicate-reel/handler.js.map
~/getEmbed/src/functions/get-embed/handler.js.map
~/getReels/src/functions/get-reels/handler.js.map
~/getSessions/src/functions/get-sessions/handler.js.map
~/getTags/src/functions/get-tags/handler.js.map
~/getTracks/src/functions/get-tracks/handler.js.map
~/setTags/src/functions/set-tags/handler.js.map
~/updateEmbed/src/functions/update-embed/handler.js.map
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js.map
~/updateShareLink/src/functions/update-share-link/handler.js.map
~/updateTag/src/functions/update-tag/handler.js.map
> File upload complete (processing pending on server)
Source Map Upload Report
Minified Scripts
~/appsyncResolver/src/functions/appsync-resolver/handler.js (sourcemap at handler.js.map)
~/createEmbed/src/functions/create-embed/handler.js (sourcemap at handler.js.map)
~/createImage/src/functions/create-image/handler.js (sourcemap at handler.js.map)
~/createTag/src/functions/create-tag/handler.js (sourcemap at handler.js.map)
~/createTrack/src/functions/create-track/handler.js (sourcemap at handler.js.map)
~/deleteTag/src/functions/delete-tag/handler.js (sourcemap at handler.js.map)
~/deleteTracks/src/functions/delete-tracks/handler.js (sourcemap at handler.js.map)
~/duplicateReel/src/functions/duplicate-reel/handler.js (sourcemap at handler.js.map)
~/getEmbed/src/functions/get-embed/handler.js (sourcemap at handler.js.map)
~/getReels/src/functions/get-reels/handler.js (sourcemap at handler.js.map)
~/getSessions/src/functions/get-sessions/handler.js (sourcemap at handler.js.map)
~/getTags/src/functions/get-tags/handler.js (sourcemap at handler.js.map)
~/getTracks/src/functions/get-tracks/handler.js (sourcemap at handler.js.map)
~/setTags/src/functions/set-tags/handler.js (sourcemap at handler.js.map)
~/updateEmbed/src/functions/update-embed/handler.js (sourcemap at handler.js.map)
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js (sourcemap at handler.js.map)
~/updateShareLink/src/functions/update-share-link/handler.js (sourcemap at handler.js.map)
~/updateTag/src/functions/update-tag/handler.js (sourcemap at handler.js.map)
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js (sourcemap at handler.js.map)
Source Maps
~/appsyncResolver/src/functions/appsync-resolver/handler.js.map
~/createEmbed/src/functions/create-embed/handler.js.map
~/createImage/src/functions/create-image/handler.js.map
~/createTag/src/functions/create-tag/handler.js.map
~/createTrack/src/functions/create-track/handler.js.map
~/deleteTag/src/functions/delete-tag/handler.js.map
~/deleteTracks/src/functions/delete-tracks/handler.js.map
~/duplicateReel/src/functions/duplicate-reel/handler.js.map
~/getEmbed/src/functions/get-embed/handler.js.map
~/getReels/src/functions/get-reels/handler.js.map
~/getSessions/src/functions/get-sessions/handler.js.map
~/getTags/src/functions/get-tags/handler.js.map
~/getTracks/src/functions/get-tracks/handler.js.map
~/setTags/src/functions/set-tags/handler.js.map
~/updateEmbed/src/functions/update-embed/handler.js.map
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js.map
~/updateShareLink/src/functions/update-share-link/handler.js.map
~/updateTag/src/functions/update-tag/handler.js.map
> File upload complete (processing pending on server)
Source Map Upload Report
Minified Scripts
~/appsyncResolver/src/functions/appsync-resolver/handler.js (sourcemap at handler.js.map)
~/createEmbed/src/functions/create-embed/handler.js (sourcemap at handler.js.map)
~/createImage/src/functions/create-image/handler.js (sourcemap at handler.js.map)
~/createTag/src/functions/create-tag/handler.js (sourcemap at handler.js.map)
~/createTrack/src/functions/create-track/handler.js (sourcemap at handler.js.map)
~/deleteTag/src/functions/delete-tag/handler.js (sourcemap at handler.js.map)
~/deleteTracks/src/functions/delete-tracks/handler.js (sourcemap at handler.js.map)
~/duplicateReel/src/functions/duplicate-reel/handler.js (sourcemap at handler.js.map)
~/getEmbed/src/functions/get-embed/handler.js (sourcemap at handler.js.map)
~/getReels/src/functions/get-reels/handler.js (sourcemap at handler.js.map)
~/getSessions/src/functions/get-sessions/handler.js (sourcemap at handler.js.map)
~/getTags/src/functions/get-tags/handler.js (sourcemap at handler.js.map)
~/getTracks/src/functions/get-tracks/handler.js (sourcemap at handler.js.map)
~/setTags/src/functions/set-tags/handler.js (sourcemap at handler.js.map)
~/updateEmbed/src/functions/update-embed/handler.js (sourcemap at handler.js.map)
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js (sourcemap at handler.js.map)
~/updateShareLink/src/functions/update-share-link/handler.js (sourcemap at handler.js.map)
~/updateTag/src/functions/update-tag/handler.js (sourcemap at handler.js.map)
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js (sourcemap at handler.js.map)
Source Maps
~/appsyncResolver/src/functions/appsync-resolver/handler.js.map
~/createEmbed/src/functions/create-embed/handler.js.map
~/createImage/src/functions/create-image/handler.js.map
~/createTag/src/functions/create-tag/handler.js.map
~/createTrack/src/functions/create-track/handler.js.map
~/deleteTag/src/functions/delete-tag/handler.js.map
~/deleteTracks/src/functions/delete-tracks/handler.js.map
~/duplicateReel/src/functions/duplicate-reel/handler.js.map
~/getEmbed/src/functions/get-embed/handler.js.map
~/getReels/src/functions/get-reels/handler.js.map
~/getSessions/src/functions/get-sessions/handler.js.map
~/getTags/src/functions/get-tags/handler.js.map
~/getTracks/src/functions/get-tracks/handler.js.map
~/setTags/src/functions/set-tags/handler.js.map
~/updateEmbed/src/functions/update-embed/handler.js.map
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js.map
~/updateShareLink/src/functions/update-share-link/handler.js.map
~/updateTag/src/functions/update-tag/handler.js.map
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js.map
> Bundled 38 files for upload
> Uploaded release files to Sentry
> File upload complete (processing pending on server)
Source Map Upload Report
Minified Scripts
~/appsyncResolver/src/functions/appsync-resolver/handler.js (sourcemap at handler.js.map)
~/createEmbed/src/functions/create-embed/handler.js (sourcemap at handler.js.map)
~/createImage/src/functions/create-image/handler.js (sourcemap at handler.js.map)
~/createTag/src/functions/create-tag/handler.js (sourcemap at handler.js.map)
~/createTrack/src/functions/create-track/handler.js (sourcemap at handler.js.map)
~/deleteTag/src/functions/delete-tag/handler.js (sourcemap at handler.js.map)
~/deleteTracks/src/functions/delete-tracks/handler.js (sourcemap at handler.js.map)
~/duplicateReel/src/functions/duplicate-reel/handler.js (sourcemap at handler.js.map)
~/getEmbed/src/functions/get-embed/handler.js (sourcemap at handler.js.map)
~/getReels/src/functions/get-reels/handler.js (sourcemap at handler.js.map)
~/getSessions/src/functions/get-sessions/handler.js (sourcemap at handler.js.map)
~/getTags/src/functions/get-tags/handler.js (sourcemap at handler.js.map)
~/getTracks/src/functions/get-tracks/handler.js (sourcemap at handler.js.map)
~/setTags/src/functions/set-tags/handler.js (sourcemap at handler.js.map)
~/updateEmbed/src/functions/update-embed/handler.js (sourcemap at handler.js.map)
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js (sourcemap at handler.js.map)
~/updateShareLink/src/functions/update-share-link/handler.js (sourcemap at handler.js.map)
~/updateTag/src/functions/update-tag/handler.js (sourcemap at handler.js.map)
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js (sourcemap at handler.js.map)
Source Maps
~/appsyncResolver/src/functions/appsync-resolver/handler.js.map
~/createEmbed/src/functions/create-embed/handler.js.map
~/createImage/src/functions/create-image/handler.js.map
~/createTag/src/functions/create-tag/handler.js.map
~/createTrack/src/functions/create-track/handler.js.map
~/deleteTag/src/functions/delete-tag/handler.js.map
~/deleteTracks/src/functions/delete-tracks/handler.js.map
~/duplicateReel/src/functions/duplicate-reel/handler.js.map
~/getEmbed/src/functions/get-embed/handler.js.map
~/getReels/src/functions/get-reels/handler.js.map
~/getSessions/src/functions/get-sessions/handler.js.map
~/getTags/src/functions/get-tags/handler.js.map
~/getTracks/src/functions/get-tracks/handler.js.map
~/setTags/src/functions/set-tags/handler.js.map
~/updateEmbed/src/functions/update-embed/handler.js.map
~/updateImageProcessingStatus/src/functions/update-image-processing-status/handler.js.map
~/updateShareLink/src/functions/update-share-link/handler.js.map
~/updateTag/src/functions/update-tag/handler.js.map
~/updateTranscodeStatus/src/functions/update-transcode-status/handler.js.map
const path = require('path');
const slsw = require('serverless-webpack');
const nodeExternals = require('webpack-node-externals');
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const SentryCliPlugin = require('@sentry/webpack-plugin');
module.exports = {
context: __dirname,
mode: slsw.lib.webpack.isLocal ? 'development' : 'production',
entry: slsw.lib.entries,
devtool: slsw.lib.webpack.isLocal
? 'eval-cheap-module-source-map'
: 'source-map',
resolve: {
extensions: ['.mjs', '.json', '.ts'],
symlinks: false,
cacheWithContext: false,
plugins: [
new TsconfigPathsPlugin({
configFile: './tsconfig.paths.json',
}),
],
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: '[name].js',
devtoolModuleFilenameTemplate: 'app:///[resource-path]',
},
optimization: {
concatenateModules: false,
},
target: 'node',
externals: [nodeExternals()],
module: {
rules: [
{
test: /\.(tsx?)$/,
loader: 'ts-loader',
exclude: [
[
path.resolve(__dirname, 'node_modules'),
path.resolve(__dirname, '.serverless'),
path.resolve(__dirname, '.webpack'),
],
],
options: {
transpileOnly: true,
experimentalWatchApi: true,
},
},
],
},
plugins: [
...(slsw.lib.webpack.isLocal
? []
: [
new SentryCliPlugin({
org: 'xx',
project: 'xx',
// release is automatic, no need to include here
include: './.webpack',
}),
]),
],
};
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
How do I prevent duplicate Lambda function invocations? - AWS
My AWS Lambda function keeps receiving more than one invocation request for a single event ... based on each service's event source mapping....
Read more >How to enable Source Maps in AWS Lambda | by Moritz Onken
One issue we ran into repeatedly was that we couldn't easily map error stack traces back to our TypeScript source code. Since tsc...
Read more >How to use source maps in AWS Lambda with Node.js
Once you enable source maps, the output of your build command will contain multiple files. If you bundle your function's code to the...
Read more >Upload JavaScript Source Maps - Datadog Docs
If your front-end JavaScript source code is minified, upload your source maps to Datadog to de-obfuscate your different stack traces. For any given...
Read more >How to Use Source Maps in TypeScript Lambda Functions ...
Having the index.js.map file in our Lambda runtime isn't sufficient to enable Source Maps. We also have to make sure the runtime knows...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@kamilogorek Awesome!! And this is why I’m a Sentry customer forever. 😁 Thank you!
Can you give
1.15.0
a try? 😃