Back to Gems
jetiny/rollup-plugin-re(opens in a new tab)
Language: JavaScript
rollup replace plugin
- stars
- 35
- watchers
- 2
- forks
- 8
- open issues
- 10
- Last updated
- 08/12/2021
Language: JavaScript
rollup replace plugin
Power rollup content transform plugin.
npm install --save-dev rollup-plugin-re
import { rollup } from 'rollup' import replace from 'rollup-plugin-re' import commonjs from 'rollup-plugin-commonjs' rollup({ entry: 'main.js', plugins: [ replace({ // ... do replace before commonjs patterns: [ { // regexp match with resolved path match: /formidable(\/|\\)lib/, // string or regexp test: 'if (global.GENTLY) require = GENTLY.hijack(require);', // string or function to replaced with replace: '', } ] }), commonjs(), replace({ // ... do replace after commonjs }) ] }).then(...)
use defines options to remove macro blocks
{ defines: { IS_SKIP: false, IS_REMOVE: true, } }
// #if IS_SKIP console.log('!Skip!') // #endif // #if IS_REMOVE console.log('!Remove!') // #endif
// #if IS_SKIP console.log('!Skip!') // #endif
use replaces options to quick replace text
{ replaces: { $version: "1.0.1" } }
console.log('$version')
console.log('1.0.1')
{ // 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/**', defines: { IS_SKIP: false, IS_REMOVE: true, }, replaces: { $version: "1.0.1" }, patterns: [ { include: [], // same as above exclude: [], // same as above // regexp match with resolved path match: /formidable(\/|\\)lib/, // string or regexp test: 'if (global.GENTLY) require = GENTLY.hijack(require);', // string or function replace: '', }, // replace whole file content { text: 'exports = "content"', // replace content with given text }, { file: './replace.js', // replace with given relative file }, { transform (code, id) { // replace by function return `'use strict';\n${code}` } } ] }