Skip to content
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

ESM support, stage 2 #3445

Open
40 tasks
trentm opened this issue Jun 26, 2023 · 2 comments
Open
40 tasks

ESM support, stage 2 #3445

trentm opened this issue Jun 26, 2023 · 2 comments
Labels
agent-nodejs Make available for APM Agents project planning.

Comments

@trentm
Copy link
Member

trentm commented Jun 26, 2023

#1952 will add initial experimental ESM support. This issue lists a number of follow tasks for ESM support:

  • node v20 support (there is an IITM update with support): feat: enable ESM support for Node v20 #3469
  • work through remaining modules:
    • lambda functions
    • azure functions
    • @apollo/server
    • @elastic/elasticsearch
    • @opentelemetry/api
    • @opentelemetry/sdk-metrics
    • apollo-server-core
    • aws-sdk
    • bluebird
    • cassandra-driver
    • elasticsearch
    • express-graphql
    • express-queue
    • finalhandler
    • generic-pool
    • graphql
    • handlebars
    • hapi, @hapi/hapi
    • http2
    • jade
    • koa
    • koa-router, @koa/router
    • memcached
    • mimic-response
    • mongodb-core
    • mongodb
    • mysql
    • mysql2
    • next
    • pug
    • redis
    • restify
    • tedious
    • undici
    • ws
  • elastic-apm-node/start cannot load config with type 'module' #1612
  • revisit the "starting the agent" docs now that there is some ESM support. Might want to start preferring the option of using the node CLI options rather than starting in code.
  • Lambda support for .mjs files (see getFilePath in "lib/lambda.js")
@trentm trentm added this to the 8.10 milestone Jun 26, 2023
@github-actions github-actions bot added the agent-nodejs Make available for APM Agents project planning. label Jun 26, 2023
trentm added a commit that referenced this issue Jul 6, 2023
All the hard work was done in import-in-the-middle#28.

Refs: #3445
@trentm trentm removed this from the 8.10 milestone Sep 26, 2023
@Zorinik
Copy link

Zorinik commented Sep 25, 2024

Good morning, is there an ETA for this?
I have a whole software platform using Hapi & Node 20, and I have been waiting since last year for APM to support it :) at the moment I had to to totally disable APM for the current year. Is it actively being worked on?

@curtdept
Copy link

curtdept commented Oct 18, 2024

@trentm id happily instrument lambda manually if it meant I could move to ESM.

Even a function like this https://github.com/newrelic/newrelic-lambda-layers?tab=readme-ov-file#manual-instrumentation-for-es-modules would be very helpful until a more auto shim could be found

Honestly manual shims should be a thing in APM and would give us more better control as a developer and allow you guys to be less constrained to the major downsides of auto shimming. Especially in the context of bundling, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent-nodejs Make available for APM Agents project planning.
Projects
None yet
Development

No branches or pull requests

3 participants