# rollup-plugin-re

> rollup replace plugin

Latest version **1.0.7** (published 2018-04-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install rollup-plugin-re
pnpm add rollup-plugin-re
yarn add rollup-plugin-re
bun add rollup-plugin-re
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.7 |
| Published | 2018-04-15 |
| First published | 2016-11-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 27.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 35 |
| Author | jetiny |
| Maintainers | jetiny |
| Keywords | rollup-plugin, regexp, replace |

## Links

- npm: https://www.npmjs.com/package/rollup-plugin-re
- Repository: https://github.com/jetiny/rollup-plugin-re
- Homepage: https://github.com/jetiny/rollup-plugin-re#readme
- Issues: https://github.com/jetiny/rollup-plugin-re/issues
- npm.io page: https://npm.io/package/rollup-plugin-re

## Dependencies (2)

- [magic-string](https://npm.io/package/magic-string.md) ^0.16.0
- [rollup-pluginutils](https://npm.io/package/rollup-pluginutils.md) ^2.0.1

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 1.0.7 (latest) — 2018-04-15
- 1.0.6 — 2017-06-10
- 1.0.5 — 2017-06-10
- 1.0.4 — 2017-06-09
- 1.0.3 — 2017-06-08
- 1.0.2 — 2017-03-16
- 1.0.1 — 2016-11-12
- 1.0.0 — 2016-11-11

## README

[![Build Status](https://travis-ci.org/jetiny/rollup-plugin-re.svg?branch=master)](https://travis-ci.org/jetiny/rollup-plugin-re)

# rollup-plugin-re

Power rollup content transform plugin.

## Installation

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

## Usage
```js
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
```javascript
{
  defines: {
    IS_SKIP: false,
    IS_REMOVE: true,
  }
}
```

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

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


## Replace

use `replaces` options to quick replace text

### Options
```javascript
{
  replaces: {
    $version: "1.0.1"
  }
}
```

### input
```javascript
  console.log('$version')
```

### output
```javascript
  console.log('1.0.1')
```


## Options

```javascript
{
  // 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}`
      }
    }
  ]
}
```

---
_Source: https://npm.io/package/rollup-plugin-re · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
