open-telemetry / opentelemetry-js

OpenTelemetry JavaScript Client

Home Page:https://opentelemetry.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add `esnext` exports configuration for `@opentelemetry/api`

cjpearson opened this issue · comments

Is your feature request related to a problem? Please describe.

The library I'm instrumenting runs on newer versions of node (and is bundled) so I would like to use the esnext version of @opentelemetry/api.

Describe the solution you'd like

I would like to be able to write something like

import { trace } from '@opentelemetry/api/esnext'

to import trace from the build/esnext directory.

I believe this could be accomplished by adjust the exports in package.json to something like this:

"exports": {
  ".": {
    "module": "./build/esm/index.js",
    "types": "./build/src/index.d.ts",
    "default": "./build/src/index.js"
  },
  "./esnext": {
    "module": "./build/esnext/index.js",
    "types": "./build/esnext/index.d.ts",
    "default": "./build/esnext/index.js"
  },
  "./experimental": {
    "module": "./build/esm/experimental/index.js",
    "types": "./build/src/experimental/index.d.ts",
    "default": "./build/src/experimental/index.js"
  },
  "./experimental/esnext": {
    "module": "./build/esnext/experimental/index.js",
    "types": "./build/esnext/experimental/index.d.ts",
    "default": "./build/esnext/experimental/index.js"
  }
},

Describe alternatives you've considered

I've tried directly using import from '@opentelemetry/api/build/esnext/index.js', but the bundler complains that the import is not valid according the package's export config.

Could not resolve import "@opentelemetry/api/build/esnext/index.js" using exports defined in node_modules/@opentelemetry/api/package.json.

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days.

This issue was closed because it has been stale for 14 days with no activity.

Stale comment