What is grunt-contrib-clean?
The grunt-contrib-clean package is a Grunt plugin used to clean files and directories. It is commonly used to delete files and folders as part of a build process, ensuring that old or unnecessary files do not clutter the project workspace.
What are grunt-contrib-clean's main functionalities?
Clean specific files
This feature allows you to clean specific files. In this example, all JavaScript files in the 'dist' directory will be deleted.
{
"clean": {
"build": ["dist/*.js"]
}
}
Clean specific directories
This feature allows you to clean specific directories. In this example, the entire 'dist' directory will be deleted.
{
"clean": {
"build": ["dist/"]
}
}
Clean multiple paths
This feature allows you to clean multiple paths. In this example, both the 'dist' and 'tmp' directories will be deleted.
{
"clean": {
"build": ["dist/", "tmp/"]
}
}
Force option
This feature allows you to use the 'force' option to delete files outside the current working directory. In this example, the directory at '/path/to/some/dir' will be deleted.
{
"clean": {
"options": {
"force": true
},
"build": ["/path/to/some/dir"]
}
}
Other packages similar to grunt-contrib-clean
rimraf
Rimraf is a deep deletion module for Node.js, similar to the Unix command 'rm -rf'. It is often used to delete files and directories recursively and is known for its simplicity and effectiveness. Unlike grunt-contrib-clean, rimraf is not a Grunt plugin and can be used independently in any Node.js project.
del
Del is a Node.js module used for deleting files and directories. It is a Promise-based alternative to rimraf and provides a more modern API. Del can be used in any Node.js project and is not tied to Grunt, making it more flexible for various build systems.
clean-webpack-plugin
Clean Webpack Plugin is a plugin for Webpack that removes/cleans the build folder(s) before building. It is specifically designed to work with Webpack, unlike grunt-contrib-clean, which is designed for Grunt. This makes it a better choice for projects using Webpack as their build tool.
grunt-contrib-clean v0.7.0
Clean files and folders
Getting Started
This plugin requires Grunt >=0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-contrib-clean --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-contrib-clean');
This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade, but in case you can't please use v0.3.2.
Clean task
Run this task with the grunt clean
command.
Task targets, files and options may be specified according to the grunt Configuring tasks guide.
Due to the destructive nature of this task, always be cautious of the paths you clean.
Options
force
Type: Boolean
Default: false
This overrides this task from blocking deletion of folders outside current working dir (CWD). Use with caution.
no-write
Type: Boolean
Default: false
Will log messages of what would happen if the task was ran but doesn't actually delete the files.
Usage Examples
There are three formats you can use to run this task.
Short
clean: ["path/to/dir/one", "path/to/dir/two"]
Medium (specific targets with global options)
clean: {
build: ["path/to/dir/one", "path/to/dir/two"],
release: ["path/to/another/dir/one", "path/to/another/dir/two"]
},
Long (specific targets with per target options)
clean: {
build: {
src: ["path/to/dir/one", "path/to/dir/two"]
}
}
Skipping Files
clean: {
js: ["path/to/dir/*.js", "!path/to/dir/*.min.js"]
}
"Compact" and "Files Array" formats support a few additional properties
which help you deal with hidden files, process dynamic mappings and so on.
Release History
- 2015-11-13 v0.7.0 Dependency updates
- 2014-07-27 v0.6.0 Less verbose output. README updates.
- 2013-07-15 v0.5.0 Use rimraf directly, version 2.2.1 to fix issue on Windows. Add no-write option to mimic grunt.file.delete behavior.
- 2013-04-16 v0.4.1 Check if file exists to avoid trying to delete a non-existent file.
- 2013-02-15 v0.4.0 First official release for Grunt 0.4.0.
- 2013-01-18 v0.4.0rc6 Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.
- 2013-01-09 v0.4.0rc5 Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api.
- 2012-12-07 v0.4.0a Conversion to grunt v0.4 conventions. Remove node v0.6 and grunt v0.3 support. Add force option to bypass CWD check.
- 2012-09-23 v0.3.0 Options no longer accepted from global config key.
- 2012-09-10 v0.2.0 Refactored from grunt-contrib into individual repo.
Task submitted by Tim Branyen
This file was generated on Fri Nov 13 2015 14:04:25.