esbuild-plugin-clean
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

esbuild-plugin-clean

ESBuild plugin for cleaning up output/assets before building.

Usage

npm install esbuild-plugin-clean --save-dev
pnpm install esbuild-plugin-clean --save-dev
yarn add esbuild-plugin-clean --save-dev
import { build } from 'esbuild';
import { clean } from 'esbuild-plugin-clean';

(async () => {
  const res = await build({
    entryPoints: ['./demo.ts'],
    bundle: true,
    outfile: './dist/main.js',
    plugins: [
      clean({
        patterns: ['./dist/*', './dist/assets/*.map.js'],
        cleanOnStartPatterns: ['./prepare'],
        cleanOnEndPatterns: ['./post'],
      }),
    ],
  });
})();

Configurations

This plugin use del under the hood, so you can easily pass del options to this plugin.

export interface CleanOptions {
  /**
   * file clean patterns (passed to `del`)
   *
   * @default: []
   */
  patterns?: string | string[];

  /**
   * file clean patterns(in onStart only) (passed to `del`)
   *
   * @default: []
   */
  cleanOnStartPatterns?: string | string[];

  /**
   * file clean patterns(in onEnd only) (passed to `del`)
   *
   * @default: []
   */
  cleanOnEndPatterns?: string | string[];

  /**
   * use dry-run mode to see what's going to happen
   *
   * this option will enable verbose option automatically
   *
   * @default: false
   */
  dryRun?: boolean;

  /**
   * extra options passed to `del`
   *
   * @default {}
   */
  options?: DelOptions;

  /**
   * execute clean sync or async (use `del` or `del.sync` for cleaning up)
   *
   * @default: true
   */
  sync?: boolean;

  /**
   * do cleaning in start / end / both
   * maybe in some strange cases you will need it ? :P
   *
   * @default: "start"
   */
  cleanOn?: 'start' | 'end' | 'both';

  /**
   * enable verbose logging to see what's happening
   *
   * @default false
   */
  verbose?: boolean;
}

Package Sidebar

Install

npm i esbuild-plugin-clean

Weekly Downloads

11,297

Version

1.0.1

License

MIT

Unpacked Size

14.6 kB

Total Files

8

Last publish

Collaborators

  • linbudu