Skip to content

KineticCafe/rollup-plugin-delete

 
 

Repository files navigation

@kineticcafe/rollup-plugin-delete

A Rollup plugin to delete files and folders during the build process. This is a fork of the excellent rollup-plugin-delete. The changes are:

  • Convert to Typescript. The previous version produces TS2349 even though the created type declaration file and the generated type declaration file are more or less the same.

  • Removing del, which depends on outdated versions of globby and rimraf.

About

This plugin is useful when you want to clean dist or other folders and files before bundling. Targets use minimatch pattern matching, so review the documentation for patterns.

Installation

# pnpm
pnpm install -D @kineticcafe/rollup-plugin-delete

# yarn
yarn add -D @kineticcafe/rollup-plugin-delete

# npm
npm install -D @kineticcafe/rollup-plugin-delete

Usage

// rollup.config.js
import { del } from '@kineticcafe/rollup-plugin-delete'

export default {
  input: 'src/index.js',
  output: {
    file: 'dist/app.js',
    format: 'cjs',
  },
  plugins: [del({ targets: 'dist/*' })],
}

You can also remove files after the bundle has been written by changing the hook:

// vite.config.ts
import * as path from 'node:path'
import { defineConfig } from 'vite'
import { del } from '@kineticcafe/rollup-plugin-delete'

const deleteIndexHtml = () =>
  del({
    targets: path.resolve(__dirname, 'dist/index.html'),
    hook: 'writeBundle',
  })

export default defineConfig({
  plugins: [deleteIndexHtml()],
})

Configuration

Name Type Default Purpose
targets string | string[] [] A string or an array of patterns of files and folders to be deleted.
verbose boolean false Output removed files and folders to console. Default is false.
hook string buildStart The Rollup hook the plugin should use.
runOnce boolean false Delete items once. Useful in watch mode.
dryRun boolean false Does not remove the files, but reports what would be removed. Implies verbose: true.
concurrency number Infinity Concurrency limit. Minimum 1.
cwd string process.cwd The current working directory in which to search.

All other options are inherited from globby, but expandDirectories, onlyFiles, and followSymbolicLinks default to false.

Examples

del({ targets: 'dist/*' })
del({ targets: ['dist/*', 'build/*'] })
del({ targets: 'dist/*', verbose: true })
del({ targets: 'dist/*', hook: 'buildEnd' })
del({ targets: 'dist/*', runOnce: true })
del({ targets: 'dist/*', dryRun: true })

Note: use * (wildcard character) in the pattern to show removed files.

License

MIT

Packages

No packages published

Languages

  • TypeScript 95.4%
  • JavaScript 4.6%