Registry / devops / rollup-plugin-inject-process-env

rollup-plugin-inject-process-env

JSON →
library1.3.1jsnpmunverified

Rollup plugin to inject process.env environment variables into browser bundles. Version 1.3.1 supports any JSON-serializable value (not just strings), handles all access patterns including bracket notation and destructuring, and works with include/exclude minimatch patterns. Unlike rollup-plugin-replace, it avoids lint issues from string-to-string substitution. Requires placement after @rollup/plugin-commonjs when used together. Ships TypeScript types.

npm install rollup-plugin-inject-process-env
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-INJE
R
rollup-plugin-inject-process-env
devopsjavascriptv1.3.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

injectProcessEnv
import injectProcessEnv from 'rollup-plugin-inject-process-env'
const injectProcessEnv = require('rollup-plugin-inject-process-env')
Default export; ESM-only since v1. CommonJS require will not work. TypeScript types are included.
RollupPluginInjectProcessEnvOptions
import type { RollupPluginInjectProcessEnvOptions } from 'rollup-plugin-inject-process-env'
import { RollupPluginInjectProcessEnvOptions } from 'rollup-plugin-inject-process-env'
Type-only import; do not use value import for types.
injectProcessEnv (as plugin)
injectProcessEnv({ NODE_ENV: 'production' })
new injectProcessEnv({ NODE_ENV: 'production' })
injectProcessEnv is a function, not a class. Do not use 'new'.

Shows basic usage with Rollup config using TypeScript, CommonJS, and resolve plugins. Plugin order matters: injectProcessEnv must come after commonjs.

import injectProcessEnv from 'rollup-plugin-inject-process-env'; import commonjs from '@rollup/plugin-commonjs'; import resolve from '@rollup/plugin-node-resolve'; import typescript from '@rollup/plugin-typescript'; export default { input: 'src/index.ts', output: { file: 'dist/bundle.js', format: 'iife' }, plugins: [ typescript(), commonjs(), injectProcessEnv({ NODE_ENV: process.env.NODE_ENV ?? 'development', API_URL: JSON.parse(process.env.API_URL ?? '"http://localhost:3000"'), DEBUG: false }), resolve() ] };
Debug
Known issues
breakingPlugin must be placed after @rollup/plugin-commonjs in plugins array, otherwise you'll get 'import' and 'export' may only appear at the top level error.
fix
Move injectProcessEnv() after commonjs() in the plugins list.
affects: >=1.0.0
deprecatedThe default export name changed from 'injectProcessEnv' to 'injectProcessEnv' (same) but no longer supports named exports. Older versions had both default and named exports.
fix
Use default import only: import injectProcessEnv from 'rollup-plugin-inject-process-env'
affects: <1.3.0
gotchaThis plugin does not read .env files automatically. You must pass the env object explicitly.
fix
Combine with dotenv or load environment variables manually before calling injectProcessEnv.
affects: >=1.0.0
gotchaWhen using with @rollup/plugin-replace, order matters. injectProcessEnv should run after replace to avoid conflicts.
fix
Place injectProcessEnv after replace in the plugins array.
affects: >=1.0.0
gotchaglobalThis may be undefined in older browsers/environments, causing runtime errors.
fix
Install and import a globalThis polyfill like @ungap/global-this.
affects: >=1.0.0
Errors
Common errors & fixes
'import' and 'export' may only appear at the top level
injectProcessEnv was placed before @rollup/plugin-commonjs in the plugins array.
fix
Reorder plugins so that commonjs() appears before injectProcessEnv()
'globalThis' is undefined
The target environment does not support globalThis.
fix
Add a polyfill for globalThis, e.g., import '@ungap/global-this' at the top of your entry file.
Cannot find module 'rollup-plugin-inject-process-env'
Package not installed or require() used instead of import.
fix
Run `npm install --save-dev rollup-plugin-inject-process-env` and use ESM import syntax.
process.env is not defined
The plugin was not applied correctly or the bundle is run in a browser without the injection.
fix
Ensure injectProcessEnv is called in the plugins array with the correct env object.
Upgrade
Version history
1.3.1latest on npm
Audit
Dependencies
@rollup/pluginutilsrequiredUsed for include/exclude pattern matching
Agent activity
7 hits · last 30 days
node
6
Resources
rollup-plugin-inject-process-env — npm install rollup-plugin-inject-process-env · libregistry