
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
grunt-contrib-clean
Advanced tools
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.
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"]
}
}
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 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 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.
Clean files and folders
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.
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.
Type: Boolean
Default: false
This overrides this task from blocking deletion of folders outside current working dir (CWD). Use with caution.
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.
There are three formats you can use to run this task.
clean: ['path/to/dir/one', 'path/to/dir/two']
clean: {
build: ['path/to/dir/one', 'path/to/dir/two'],
release: ['path/to/another/dir/one', 'path/to/another/dir/two']
},
clean: {
build: {
src: ['path/to/dir/one', 'path/to/dir/two']
}
}
"Compact" and "Files Array" formats support a few additional properties which help you deal with hidden files, process dynamic mappings and so on.
Although documented in the Grunt Docs, here are some globbing pattern examples to achieve some common tasks:
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/
folderfolder_v2
: Deletes the dir/
foldercontents
: Keeps the dir/
folder, but deletes the contentssubfolders
: Keeps the files inside the dir/
folder, but deletes all subfolderscss
: Deletes all *.css
files inside the dir/
folder, excluding subfoldersall_css
: Deletes all *.css
files inside the dir/
folder and its subfolders// Deletes all .js files, but skips min.js files
clean: {
js: ['path/to/dir/*.js', '!path/to/dir/*.min.js']
}
Options can be specified for all clean
tasks and for each clean:target
.
####### All tasks
// Prevents all targets from deleting any files
clean: {
options: {
'no-write': true
},
build: ['dev/build'],
release: ['dist']
}
####### Per-target
// Will delete files for `build` target
// Will NOT delete files for `release` target
clean: {
build: ['dev/build'],
release: {
options: {
'no-write': true
},
src: ['dist']
}
}
>= 0.4.5
. Dependency updates.no-write
option to mimic grunt.file.delete
behavior.this.filesSrc
API.force
option to bypass CWD check.Task submitted by Tim Branyen
This file was generated on Fri Apr 15 2022 21:07:19.
FAQs
Clean files and folders
The npm package grunt-contrib-clean receives a total of 301,440 weekly downloads. As such, grunt-contrib-clean popularity was classified as popular.
We found that grunt-contrib-clean demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.