rollup-plugin-replace
    Overview
    Documentation
    Tutorials
    Chat
    Insights
    Code
    Dependencies
    Contributors
    Jobs

rollup-plugin-replace

[![](https://img.shields.io/npm/v/rollup-plugin-replace.svg?style=flat)](https://www.npmjs.com/package/rollup-plugin-replace)

2.2.0  •  Updated 1 years ago  •  by rollup  •  MIT License

Replace strings in files while bundling them.

Installation

npm install --save-dev rollup-plugin-replace

Usage

Generally, you need to ensure that rollup-plugin-replace goes before other things (like rollup-plugin-commonjs) in your plugins array, so that those plugins can apply any optimisations such as dead code removal.

// rollup.config.js
import replace from 'rollup-plugin-replace';

export default {
  // ...
  plugins: [
    replace({
      ENVIRONMENT: JSON.stringify('production')
    })
  ]
};

Options

{
  // a minimatch pattern, or array of patterns, of files that
  // should be processed by this plugin (if omitted, all files
  // are included by default)...
  include: 'config.js',

  // ...and those that shouldn't, if `include` is otherwise
  // too permissive
  exclude: 'node_modules/**',

  // To replace every occurrence of `<@foo@>` instead of every
  // occurrence of `foo`, supply delimiters
  delimiters: ['<@', '@>'],

  // All other options are treated as `string: replacement`
  // replacers...
  VERSION: '1.0.0',
  ENVIRONMENT: JSON.stringify('development'),

  // or `string: (id) => replacement` functions...
  __dirname: (id) => `'${path.dirname(id)}'`,

  // ...unless you want to be careful about separating
  // values from other options, in which case you can:
  values: {
    VERSION: '1.0.0',
    ENVIRONMENT: JSON.stringify('development')
  }
}

Word boundaries

By default, values will only match if they are surrounded by word boundaries — i.e. with options like this…

{
  changed: 'replaced'
}

…and code like this…

console.log('changed');
console.log('unchanged');

…the result will be this:

console.log('replaced');
console.log('unchanged');

If that’s not what you want, specify empty strings as delimiters:

{
  changed: 'replaced',
  delimiters: ['', '']
}

License

MIT

Popularity

Maintenance

Development

Last ver 1 year ago
Created 4 years ago
Last commit 5 months ago
1 month between commits

Technology

Node version: 10.7.0
12.4K unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

13 contributors
Rich-Harris
Maintainer, 33 commits, 5 merges, 2 PRs
Lukas Taegert
Maintainer, 12 commits, 6 merges, 2 PRs
Works at TNG Technology Consulting GmbH
shellscape
Maintainer, 2 commits
Wes Grimes
Maintainer, 1 commits, 1 merges, 1 PRs
Works at nrwl
mrkishi
2 commits, 4 PRs
Tiger Oakes
Maintainer, 1 commits, 1 PRs
Works at mozilla

Tags

rollup
rollup-plugin
es2015
npm
modules
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
FacebookTwitterLinkedIn
© 2020 Devstore, Inc.