Advanced

dotenvx.config(convention: 'nextjs')

Use convention in node.js code.

Set a convention when using dotenvx.config(). This allows you to use the same file loading order as the CLI without needing to specify each file individually.

Next.js convention

Load environment files using the Next.js convention:

# Setup environment files
$ echo "HELLO=development local" > .env.development.local
$ echo "HELLO=local" > .env.local
$ echo "HELLO=development" > .env.development
$ echo "HELLO=env" > .env
// index.js
require('@dotenvx/dotenvx').config({ convention: 'nextjs' })

console.log(`Hello ${process.env.HELLO}`)
$ NODE_ENV=development node index.js
[[email protected]] injecting env (1) from .env.development.local, .env.local, .env.development, .env
Hello development local

This is equivalent to using --convention=nextjs with the CLI:

$ dotenvx run --convention=nextjs -- node index.js

Flow convention

Load environment files using the dotenv-flow convention:

# Setup environment files
$ echo "HELLO=development local" > .env.development.local
$ echo "HELLO=development" > .env.development
$ echo "HELLO=local" > .env.local
$ echo "HELLO=env" > .env
// index.js
require('@dotenvx/dotenvx').config({ convention: 'flow' })

console.log(`Hello ${process.env.HELLO}`)
$ NODE_ENV=development node index.js
[[email protected]] injecting env (1) from .env.development.local, .env.development, .env.local, .env
Hello development local