@open-tech-world/rollup-plugin-clean

A rollup plugin to remove files and folders using glob patterns.

Usage no npm install needed!

<script type="module">
  import openTechWorldRollupPluginClean from 'https://cdn.skypack.dev/@open-tech-world/rollup-plugin-clean';
</script>

README

@open-tech-world/rollup-plugin-clean

Linux Build macOS Build Windows Build CodeFactor npm (scoped)

A Rollup Plugin to clean files and directories using glob patterns.

Internally it uses open-tech-word/node-rm for removing files & directories. Refer it for supported glob patterns & more info.

Instal

Using Yarn

yarn add --dev @open-tech-world/rollup-plugin-clean

Using npm

npm install --save-dev @open-tech-world/rollup-plugin-clean

Usage

import { clean } from '@open-tech-world/rollup-plugin-clean';

clean(patterns: string | string[], options?: Partial<IOptions>)

Options:

Name Type Default Description
dot boolean true If false, it disables removing files & directories that begin with a "."(dot) character.
hook string 'buildStart' A Rollup hook to run the plugin. Refer the Rollup docs for available hooks.
dry boolean false If true, it does not remove anything, instead, it console logs what would be removed.

Examples

It removes all files & directories inside the build dir.

// rollup.config.js
import { clean } from '@open-tech-world/rollup-plugin-clean';

export default {
  entry: 'src/index.js',
  output: {
    file: 'build/index.js',
    format: 'esm'
  }
  plugins: [
    clean('build/*')
  ]
};

It removes the dist dir.

// rollup.config.js
import { clean } from '@open-tech-world/rollup-plugin-clean';

export default {
  entry: 'src/index.js',
  output: {
    file: 'dist/index.js',
    format: 'cjs'
  }
  plugins: [
    clean('dist')
  ]
};

It supports multiple patterns.

It cleans the build dir & ignores the logo.png file inside the assets dir.

// rollup.config.js
import { clean } from '@open-tech-world/rollup-plugin-clean';

export default {
  entry: 'src/index.js',
  output: {
    file: 'dist/index.js',
    format: 'cjs'
  }
  plugins: [
    clean(['build/*', '!**/assets/logo.png'])
  ]
};

It runs the plugin in the buildEnd Rollup Hook.

// rollup.config.js
import { clean } from '@open-tech-world/rollup-plugin-clean';

export default {
  entry: 'src/index.js',
  output: {
    file: 'dist/index.js',
    format: 'cjs'
  }
  plugins: [
    clean('build/*', { hook: 'buildEnd' })
  ]
};

License

Copyright (c) 2021, Thanga Ganapathy (MIT License).