fix(aws-serverless): Only auto-patch handler in CJS when loading awslambda-auto#12392
Merged
fix(aws-serverless): Only auto-patch handler in CJS when loading awslambda-auto#12392
awslambda-auto#12392Conversation
fix(aws-serverless): Only auto-patch handler in CJS when loading `awslambda-auto`
Contributor
size-limit report 📦
|
Lms24
commented
Jun 6, 2024
| }); | ||
|
|
||
| Sentry.tryPatchHandler(lambdaTaskRoot, handlerString); | ||
| if (typeof require !== 'undefined') { |
Member
Author
There was a problem hiding this comment.
Fwiw, this is the same check we use in our isCjs utility within the SDK. I just can't import it here because this doesn't play well with the lambda layer being bundled into the index file imported on top.
mydea
approved these changes
Jun 7, 2024
billyvg
pushed a commit
that referenced
this pull request
Jun 10, 2024
…lambda-auto` (#12392) Guards the `tryPatcHandler` call by checking for the availability of `require` (which is undefined in ESM). In ESM mode, this call fails because `require` is not available. So let's not call it in this case.
This was referenced Jul 3, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
awslambda-auto.jsfile can be used to automatically init the AWS Serverless SDK by only setting environment variables. This file is currently only exposed for CJS output. In a future PR, I'd like to also expose it in ESM so that users don't have to create their owninstrumentation.tsfile for lambda functions.To make this file compatible with ESM though, we can only conditionally try to auto patch the lambda function handler as our auto patching method relies on
requireing users' lambda function handlers. So this PR guards thetryPatcHandlercall by checking for the availability ofrequire(which is undefined in ESM).