Skip to main content
To recursively delete a directory and all its contents, use rm from node:fs/promises. This is like running rm -rf in JavaScript.
https://mintcdn.com/bun-1dd33a4e-claude-spawn-pty-support/QoBJ_wda4qs1OZ4-/icons/typescript.svg?fit=max&auto=format&n=QoBJ_wda4qs1OZ4-&q=85&s=7e69f1d0981fed9617c1ae7f85ad9758delete-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 contents
  • force: true - Don’t throw errors if the directory doesn’t exist
You can also use it without force to ensure the directory exists:
https://mintcdn.com/bun-1dd33a4e-claude-spawn-pty-support/QoBJ_wda4qs1OZ4-/icons/typescript.svg?fit=max&auto=format&n=QoBJ_wda4qs1OZ4-&q=85&s=7e69f1d0981fed9617c1ae7f85ad9758delete-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.