A rollup plugin to remove files and folders using glob patterns.
npm install @open-tech-world/rollup-plugin-clean    !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.
Using Yarn
``sh`
yarn add --dev @open-tech-world/rollup-plugin-clean
Using npm
`sh`
npm install --save-dev @open-tech-world/rollup-plugin-clean
`ts
import { clean } from '@open-tech-world/rollup-plugin-clean';
clean(patterns: string | string[], options?: Partial
`
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.|
It removes all files & directories inside the build dir.
`js
// 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.
`js
// 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.
`js
// 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.
`js
// 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).