Navigation Menu

Skip to content

allexcd/webpack-clean

Repository files navigation

GitHub stars GitHub forks GitHub issues GitHub issues closed

Github release date Github release version npm release version Github commits since last release

npm

npm monthly downloads npm yearly downloads

license

CI Status:

Codefresh build status

Webpack Clean

A webpack plugin to clean specified files after build

Getting started

Install the plugin:

npm install webpack-clean --save-dev
yarn add webpack-clean --dev

API

new WebpackCleanPlugin(files: array|string, [ { [basePath: string], [removeMaps: boolean] } ])
  • files - array of files or string for a single file relative to the basePath or to the context of your config (if the basePath param is not specified),
  • basePath (optional) - string - directory to be resolved to
  • removeMaps (optional) - boolean - specify if the .map files should be automatically removed. Disabled by default.
  • forceDelete (optional) - boolean - specify if the files should be force deleted in case of compile errors. If forceDelete is not enabled, the compile errors will be logged to stdout but the deletion of the files will not take place. Disabled by default.

Usage

var WebpackCleanPlugin = require('webpack-clean');

module.exports = {
    context: path.join(__dirname, './'),
    entry: './src/index.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
        new WebpackCleanPlugin([
            'dist/test1.js',
            'dist/test2.js'
        ])
    ]
};

module.exports = {
    plugins: [
        new WebpackCleanPlugin(
            'dist/fileA.js',
            {basePath: path.join(__dirname, './')}
        )
    ]
};

module.exports = {
    plugins: [
        new WebpackCleanPlugin([
            'fileA.js',
            'fileB.js'
        ], {basePath: path.join(__dirname, 'dist'))}
    ]
};

module.exports = {
    plugins: [
        new WebpackCleanPlugin([
            'fileA.js',
            'fileB.js'
        ], {basePath: path.join(__dirname, 'dist'), removeMaps: true)}
    ]
};

module.exports = {
    plugins: [
        new WebpackCleanPlugin([
            'fileA.js',
            'fileB.js'
        ], {basePath: path.join(__dirname, 'dist'), removeMaps: true, forceDelete: true)}
    ]
};