Run your scripts with dotenv variables
- ✅ Load environment variables from the command line API_BASE=/v1/ node esbuild.mjs
- ✅ Load environment variables from .env files
- ✅ Expand environment variables API_URL=$API_BASE/users
- ✅ Define environment variables for a specific environment (e.g. .env.production)
- ✅ Load priorities of .env.* files (e.g. .env.production > .env)
- ✅ Hierarchical cascading configuration in monorepo projects (Nx, Turbo, etc.)
apps/next-app/.env > apps/.env > .env
``console`
npm add @dotenv-run/esbuild --save-dev
`js
import { build } from "esbuild";
import { env } from "@dotenv-run/esbuild";
const { full } = env({
prefix: "MY_",
verbose: false,
files: [".env"],
});
const results = await build({
bundle: true,
write: false,
entryPoints: [test/app.js],`
define: full,
});
`js
import { build } from "esbuild";
import { dotenvRun } from "@dotenv-run/esbuild";
await build({
write: false,
bundle: true,
entryPoints: [test/app.js],``
plugins: [
dotenvRun({
verbose: true,
root: "../../",
prefix: "^API",
}),
],
});