generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 181
Closed
Labels
bugSomething isn't workingSomething isn't workingcompletedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippedtracerThis item relates to the Tracer UtilityThis item relates to the Tracer Utility
Description
Expected Behaviour
No error thrown
Current Behaviour
When running my ESM Lambda's locally, just importing Tracer will cause the following error any time I hit one of my routes.
Runtime.UserCodeSyntaxError: SyntaxError: The requested module 'aws-xray-sdk-core' does not provide an export named 'Segment'
Code snippet
It looks like the issue is how Segment and/or Subsegment are being imported from aws-xray-sdk-core in the transpiled js code.
node -e "import { Tracer } from '@aws-lambda-powertools/tracer';" --input-type=module Steps to Reproduce
Create tracer.mjs and put this in it.
import { Tracer } from '@aws-lambda-powertools/tracer';Run node tracer.mjs
You should see something like this:
[...]node_modules/@aws-lambda-powertools/tracer/lib/esm/provider/ProviderService.js:1
import { captureAWS, captureAWSClient, captureAWSv3Client, captureAsyncFunc, captureFunc, captureHTTPsGlobal, getNamespace, getSegment, setSegment, Segment, setContextMissingStrategy, setDaemonAddress, setLogger, } from 'aws-xray-sdk-core';
^^^^^^^
SyntaxError: Named export 'Segment' not found. The requested module 'aws-xray-sdk-core' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:
import pkg from 'aws-xray-sdk-core';
const { captureAWS, captureAWSClient, captureAWSv3Client, captureAsyncFunc, captureFunc, captureHTTPsGlobal, getNamespace, getSegment, setSegment, Segment, setContextMissingStrategy, setDaemonAddress, setLogger, } = pkg;Possible Solution
import pkg from 'aws-xray-sdk-core';
const { Segment } = pkg;Powertools for AWS Lambda (TypeScript) version
2.0.1
AWS Lambda function runtime
20.x
Packaging format used
npm
Execution logs
No response
revmischa and p-mercury
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingcompletedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippedtracerThis item relates to the Tracer UtilityThis item relates to the Tracer Utility
Type
Projects
Status
Shipped