1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
# grunt-contrib-clean v2.0.0 [](https://github.com/gruntjs/grunt-contrib-clean/actions?workflow=Tests)
> Clean files and folders
## Getting Started
If you haven't used [Grunt](https://gruntjs.com/) before, be sure to check out the [Getting Started](https://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](https://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
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:
```js
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](https://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).*
## Clean task
_Run this task with the `grunt clean` command._
Task targets, files and options may be specified according to the grunt [Configuring tasks](https://gruntjs.com/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 not actually delete any files or directories.
If the task is run with the `--verbose` flag, the task will log messages of what files would have be deleted.
_Note: As this task property contains a hyphen, you will need to surround it with quotes._
### Usage Examples
There are three formats you can use to run this task.
#### Short
```js
clean: ['path/to/dir/one', 'path/to/dir/two']
```
#### Medium (specific targets with global options)
```js
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)
```js
clean: {
build: {
src: ['path/to/dir/one', 'path/to/dir/two']
}
}
```
"Compact" and "Files Array" formats support a few [additional properties](https://gruntjs.com/configuring-tasks#files)
which help you deal with hidden files, process dynamic mappings and so on.
#### Globbing Patterns
Although documented [in the Grunt Docs](https://gruntjs.com/configuring-tasks#globbing-patterns), here are some globbing pattern examples to achieve some common tasks:
```js
clean: {
folder: ['path/to/dir/'],
folder_v2: ['path/to/dir/**'],
contents: ['path/to/dir/*'],
subfolders: ['path/to/dir/*/'],
css: ['path/to/dir/*.css'],
all_css: ['path/to/dir/**/*.css']
}
```
* __`folder`:__ Deletes the `dir/` folder
* __`folder_v2`:__ Deletes the `dir/` folder
* __`contents`:__ Keeps the `dir/` folder, but deletes the contents
* __`subfolders`:__ Keeps the files inside the `dir/` folder, but deletes all subfolders
* __`css`:__ Deletes all `*.css` files inside the `dir/` folder, excluding subfolders
* __`all_css`:__ Deletes all `*.css` files inside the `dir/` folder and its subfolders
##### Skipping Files
```js
// Deletes all .js files, but skips min.js files
clean: {
js: ['path/to/dir/*.js', '!path/to/dir/*.min.js']
}
```
###### Options
Options can be specified for all `clean` tasks and for each `clean:target`.
####### All tasks
```js
// Prevents all targets from deleting any files
clean: {
options: {
'no-write': true
},
build: ['dev/build'],
release: ['dist']
}
```
####### Per-target
```js
// Will delete files for `build` target
// Will NOT delete files for `release` target
clean: {
build: ['dev/build'],
release: {
options: {
'no-write': true
},
src: ['dist']
}
}
```
## Release History
* 2022-04-15 v2.0.1 Update all dependencies. Requires node.js > 12.
* 2018-09-08 v2.0.0 Update all dependencies. Drop Node.js < 6 support.
* 2017-04-12 v1.1.0 Update grunt to 1.0.0. Updates to docs and changelog. Update internal modules.
* 2016-02-15 v1.0.0 Drop support for Node.js v0.8. Grunt peer dependency tagged `>= 0.4.5`. Dependency updates.
* 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.js 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](http://tbranyen.com/)
*This file was generated on Fri Apr 15 2022 21:07:19.*
|