-
-
Couldn't load subscription status.
- Fork 1.7k
feat(aws-serverless): Fix tree-shaking for aws-serverless package #12017
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
size-limit report 📦
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Seems your PR has hit the same Biome issue as mine!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's a good solution!
…2017) The prior fix was incomplete, because we were still using `getDefaultIntegrations()` inside of node's `init`, so the deps where pulled in anyhow. Furthermore, it seems that `preserveModules: false` for `@sentry/node` also prevented this from working as expected. So this PR does two things: 1. Set `preserveModules: true` so that tree-shaking can work as expected (😿 ) 2. Expose a new `initWithoutDefaultIntegrations` method from `@sentry/node` which AWS uses, which avoids including any integrations by default. You have to pass your own `defaultIntegrations` to it. This is not the prettiest solution, but I couldn't think of anything much better 😬 I also added a size-limit entry to keep track of this.
We previously adjusted our lambda layer auto initialization in #12017. This unfortunately changed the build output of the `awslambda-auto` bootstrapping script which required a package that isn't included in the layer (`@sentry/node`). This PR fixes the `awslambda-auto` file; local testing showed no more imports from `@sentry/node`. fixes #12074
The prior fix was incomplete, because we were still using
getDefaultIntegrations()inside of node'sinit, so the deps where pulled in anyhow.Furthermore, it seems that
preserveModules: falsefor@sentry/nodealso prevented this from working as expected.So this PR does two things:
preserveModules: trueso that tree-shaking can work as expected (😿 )initWithoutDefaultIntegrationsmethod from@sentry/nodewhich AWS uses, which avoids including any integrations by default. You have to pass your owndefaultIntegrationsto it.This is not the prettiest solution, but I couldn't think of anything much better 😬 I also added a size-limit entry to keep track of this.