rimraf plugin for gulp that provides a transform stream for deleting files and directories within gulp build pipelines
npx @tessl/cli install tessl/npm-gulp-rimraf@1.0.0Gulp Rimraf is a gulp plugin that wraps the rimraf library to enable file and directory deletion within gulp build pipelines. It creates a transform stream that processes vinyl files and safely removes corresponding files and folders from the filesystem, with built-in safety features to prevent deletion of files outside the current working directory unless explicitly forced.
npm install gulp-rimrafconst rimraf = require('gulp-rimraf');ES modules:
import rimraf from 'gulp-rimraf';const gulp = require('gulp');
const rimraf = require('gulp-rimraf');
// Basic usage - delete files with default settings
gulp.task('clean', function() {
return gulp.src('./build/**/*', { read: false })
.pipe(rimraf());
});
// With options - enable verbose logging
gulp.task('clean-verbose', function() {
return gulp.src('./temp/**/*', { read: false })
.pipe(rimraf({ verbose: true }));
});
// Force deletion outside current working directory
gulp.task('clean-external', function() {
return gulp.src('../temp/*.tmp', { read: false })
.pipe(rimraf({ force: true }));
});Creates a gulp-compatible transform stream for file and directory deletion.
/**
* Creates a transform stream that deletes files and directories from the filesystem
* based on vinyl file paths from gulp.src()
* @param {RimrafOptions} [options] - Configuration options for the deletion operation
* @returns {through2.Transform} A through2 object stream compatible with gulp pipelines
*/
function rimraf(options);Options object for controlling rimraf behavior.
interface RimrafOptions {
/**
* Allow deletion of files outside current working directory
* @default false
*/
force?: boolean;
/**
* Enable verbose logging to console for each deleted file/directory
* @default false
*/
verbose?: boolean;
}// Return type from through2 package
interface through2.Transform extends stream.Transform {
// Transform stream for processing vinyl file objects
// Inherits all standard Node.js Transform stream methods
}force: true optionThe stream emits error events in the following cases:
gulp.src()gulp.src() uses { read: false } option for performanceconst gulp = require('gulp');
const ignore = require('gulp-ignore');
const rimraf = require('gulp-rimraf');
gulp.task('clean-js', function() {
return gulp.src('./**/*.js', { read: false })
.pipe(ignore('node_modules/**'))
.pipe(rimraf());
});gulp.task('clean-temp', function() {
return gulp.src('../temp/*.tmp', { read: false })
.pipe(rimraf({ force: true }));
});gulp.task('clean-with-log', function() {
return gulp.src('./dist/**/*', { read: false })
.pipe(rimraf({ verbose: true }));
});This package is deprecated in favor of using rimraf directly for simple folder deletion:
const rimraf = require('rimraf');
gulp.task('clean-simple', function(cb) {
rimraf('./folder', cb);
});However, gulp-rimraf remains useful for selective file deletion within gulp streams using glob patterns and pipe operations.