Alexandro.Net

Version 1.0.0

@stackline/rollup-plugin-inject

Scan modules for global variables and injects `import` statements where necessary

Independent maintenance of @rollup/plugin-inject 5.0.5. Original authors and licenses are retained.

Installation

# Preserve existing imports with an npm alias
npm install @rollup/plugin-inject@npm:@stackline/rollup-plugin-inject@1.0.0
# Or use the scoped package name in your imports
npm install @stackline/rollup-plugin-inject@1.0.0

Node.js: >=14.0.0. Read the compatibility and maintenance notes before migrating.

Usage and API

The reference below may retain upstream package names. Use the alias installation above to run those imports with this Stackline release.

npm size libera manifesto

@rollup/plugin-inject

šŸ£ A Rollup plugin which scans modules for global variables and injects import statements where necessary.

Requirements

This plugin requires an LTS Node version (v14.0.0+) and Rollup v1.20.0+.

Install

Using npm:

npm install @rollup/plugin-inject --save-dev

Usage

Create a rollup.config.js configuration file and import the plugin:

import inject from '@rollup/plugin-inject';

export default {
  input: 'src/index.js',
  output: {
    dir: 'output',
    format: 'cjs'
  },
  plugins: [
    inject({
      Promise: ['es6-promise', 'Promise']
    })
  ]
};

Then call rollup either via the CLI or the API.

This configuration above will scan all your files for global Promise usage and plugin will add import to desired module (import { Promise } from 'es6-promise' in this case).

Examples:

{
  // import { Promise } from 'es6-promise'
  Promise: [ 'es6-promise', 'Promise' ],

  // import { Promise as P } from 'es6-promise'
  P: [ 'es6-promise', 'Promise' ],

  // import $ from 'jquery'
  $: 'jquery',

  // import * as fs from 'fs'
  fs: [ 'fs', '*' ],

  // use a local module instead of a third-party one
  'Object.assign': path.resolve( 'src/helpers/object-assign.js' ),
}

Typically, @rollup/plugin-inject should be placed in plugins before other plugins so that they may apply optimizations, such as dead code removal.

Options

In addition to the properties and values specified for injecting, users may also specify the options below.

exclude

Type: String | Array[...String]
Default: null

A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.

include

Type: String | Array[...String]
Default: null

A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted.

Meta

CONTRIBUTING

LICENSE (MIT)

Upstream issues and maintenance review

Upstream origin and triage

Reviewed issues

Primary-source snapshot: 2026-09-29T00:22:07.903653+00:00. Most recently updated 100 open and 30 closed issue/PR entries; PRs removed. This is triage evidence, not a claim of exhaustive review.

Maintenance adoption with preserved runtime payload. No runtime defect correction is claimed. Reports remain visible for subsequent targeted reproduction.

The structured snapshot in .stackline/issue-triage.json also records recently closed reports. Issues for unrelated packages in shared monorepositories were qualified as outside this fork’s runtime scope. No maintainer was contacted.

Release files and references

Package bytes, npm provenance and the immutable GitHub release were verified for this version. Security checks describe the reviewed release; documented compatibility risks and upstream reports are not blanket claims of resolution.