Neovictorian Paisley Menswear

    @rollup/plugin-inject

    4.0.3 • Public • Published

    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 (v8.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 minimatch 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 minimatch 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)

    Install

    npm i @rollup/plugin-inject

    DownloadsWeekly Downloads

    131,023

    Version

    4.0.3

    License

    MIT

    Unpacked Size

    20 kB

    Total Files

    6

    Last publish

    Collaborators

    • shellscape
    • rich_harris
    • guybedford
    • lukastaegert