ESM without CLI Flag

Learn about running Sentry in an ESM application, without the --import flag.

When running your application in ESM mode, you will most likely want to follow the ESM instructions. However, if you want to avoid using the --import command line option, for example if you have no way of configuring a CLI flag, you can also follow an alternative setup that involves importing the instrument.mjs file directly in your application.

You need to create a file named instrument.mjs that imports and initializes Sentry:

instrument.mjs
Copied
import * as Sentry from "@sentry/node";

// Ensure to call this before importing any other modules!
Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",

  // Add Performance Monitoring by setting tracesSampleRate
  // We recommend adjusting this value in production
  tracesSampleRate: 1.0,
});

You need to import the instrument.mjs file before importing any other modules in your application. This is necessary to ensure that Sentry can automatically instrument all modules in your application:

app.mjs
Copied
// Import this first!
import "./instrument";

// Now import other modules
import http from "http";

// Your application code goes here
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").