
Product
Introducing License Overlays: Smarter License Management for Real-World Code
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
@types/rimraf
Advanced tools
TypeScript definitions for rimraf
The @types/rimraf package provides TypeScript type definitions for the rimraf npm package, which is a Node.js module for recursively removing files and directories in a way similar to the `rm -rf` command in Unix/Linux. These type definitions allow TypeScript developers to use rimraf in their projects with the benefits of TypeScript's static type checking.
Type-safe file and directory removal
This code demonstrates how to use rimraf with TypeScript to safely remove a directory. The @types/rimraf package provides the necessary type definitions for TypeScript to understand the arguments and callback structure of the rimraf function.
import rimraf from 'rimraf';
rimraf('/path/to/directory', (error) => {
if (error) {
console.error('Error removing directory:', error);
return;
}
console.log('Directory removed successfully');
});
The del package is similar to rimraf but offers a promise-based API, making it more suitable for use in modern asynchronous JavaScript workflows. Unlike rimraf, which uses callbacks, del allows for cleaner code with async/await syntax.
fs-extra extends the Node.js built-in fs module, including the functionality to remove files and directories. It provides methods like `remove` and `emptyDir` which are similar to rimraf's functionality but within a broader file system manipulation library. fs-extra supports both callback and promise interfaces.
npm install --save @types/rimraf
This package contains type definitions for rimraf (https://github.com/isaacs/rimraf).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rimraf.
// Type definitions for rimraf 3.0
// Project: https://github.com/isaacs/rimraf
// Definitions by: Carlos Ballesteros Velasco <https://github.com/soywiz>
// e-cloud <https://github.com/e-cloud>
// Ruben Schmidmeister <https://github.com/bash>
// Oganexon <https://github.com/oganexon>
// Piotr Błażejewicz <https://github.com/peterblazejewicz>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
import glob = require('glob');
import fs = require('fs');
declare function rimraf(path: string, options: rimraf.Options, callback: (error: Error | null | undefined) => void): void;
declare function rimraf(path: string, callback: (error: Error | null | undefined) => void): void;
declare namespace rimraf {
/**
* It can remove stuff synchronously, too.
* But that's not so good. Use the async API.
* It's better.
*/
function sync(path: string, options?: Options): void;
/**
* see {@link https://github.com/isaacs/rimraf/blob/79b933fb362b2c51bedfa448be848e1d7ed32d7e/README.md#options}
*/
interface Options {
maxBusyTries?: number | undefined;
emfileWait?: number | undefined;
/** @default false */
disableGlob?: boolean | undefined;
glob?: glob.IOptions | false | undefined;
unlink?: typeof fs.unlink | undefined;
chmod?: typeof fs.chmod | undefined;
stat?: typeof fs.stat | undefined;
lstat?: typeof fs.lstat | undefined;
rmdir?: typeof fs.rmdir | undefined;
readdir?: typeof fs.readdir | undefined;
unlinkSync?: typeof fs.unlinkSync | undefined;
chmodSync?: typeof fs.chmodSync | undefined;
statSync?: typeof fs.statSync | undefined;
lstatSync?: typeof fs.lstatSync | undefined;
rmdirSync?: typeof fs.rmdirSync | undefined;
readdirSync?: typeof fs.readdirSync | undefined;
}
}
export = rimraf;
These definitions were written by Carlos Ballesteros Velasco, e-cloud, Ruben Schmidmeister, Oganexon, and Piotr Błażejewicz.
FAQs
Stub TypeScript definitions entry for rimraf, which provides its own types definitions
The npm package @types/rimraf receives a total of 1,637,112 weekly downloads. As such, @types/rimraf popularity was classified as popular.
We found that @types/rimraf demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.