[Runtime
](../../../index.md)[Package Manager
](../../../pm/cli/install/index.md)[Bundler
](../../../bundler/index.md)[Test Runner
](../../../test/index.md)[Guides
](../../index.md)[Reference
](https://bun.com/reference)[Blog
](https://bun.com/blog)[Feedback
](../../../feedback/index.md)
To recursively delete a directory and all its contents, use rm from node:fs/promises. This is like running rm -rf in JavaScript.
delete-directory.ts
import { rm } from "node:fs/promises";
// Delete a directory and all its contents
await rm("path/to/directory", { recursive: true, force: true });
These options configure the deletion behavior:
recursive: true- Delete subdirectories and their contentsforce: true- Don’t throw errors if the directory doesn’t exist
You can also use it without force to ensure the directory exists:
delete-directory.ts
try {
await rm("path/to/directory", { recursive: true });
} catch (error) {
if (error.code === "ENOENT") {
console.log("Directory doesn't exist");
} else {
throw error;
}
}
See Docs > API > FileSystem for more filesystem operations.
Was this page helpful?
[
Delete files
Previous
](../delete-file/index.md)[
Hash a password
Next
](../../util/hash-a-password/index.md)