1. rollup-plugin-re
rollup replace plugin
rollup-plugin-re
Package: rollup-plugin-re
Created by: jetiny
Last modified: Sun, 26 Jun 2022 14:01:19 GMT
Version: 1.0.7
License: MIT
Downloads: 20,084
Repository: https://github.com/jetiny/rollup-plugin-re

Install

npm install rollup-plugin-re
yarn add rollup-plugin-re

Build Status

rollup-plugin-re

Power rollup content transform plugin.

Installation

npm install --save-dev rollup-plugin-re

Usage

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

Define macro pre-processor

use defines options to remove macro blocks

Options

 {
  defines: {
    IS_SKIP: false,
    IS_REMOVE: true,
  }
}

input

 // #if IS_SKIP
  console.log('!Skip!')
// #endif
// #if IS_REMOVE
console.log('!Remove!')
// #endif

output

 // #if IS_SKIP
  console.log('!Skip!')
// #endif

Replace

use replaces options to quick replace text

Options

 {
  replaces: {
    $version: "1.0.1"
  }
}

input

   console.log('$version')

output

   console.log('1.0.1')

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/**',
  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}`
      }
    }
  ]
}

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin