← All recipes
Moderne licensed

Replace fs-extra copy with fs.cp

Recipe IDorg.openrewrite.node.migrate.fs-extra.replace-fs-extra-copyArtifact@openrewrite/recipes-nodejs

Replaces fs-extra's copy(src, dest[, options]) and copySync with cp/cpSync from node:fs/promises and node:fs, adding recursive: true and mapping overwrite/clobber to force; errorOnExist, dereference, preserveTimestamps and filter carry over unchanged. The callback form maps to the callback cp from node:fs. Calls whose options aren't an object literal of known options are left alone. Note that fs.cp is experimental before Node.js 22.3 (it emits an ExperimentalWarning on 16.7–22.2), and that copying a file onto an existing directory copies it into that directory where fs-extra throws.

Single recipeProprietary

Usage

This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.

mod run . --recipe org.openrewrite.node.migrate.fs-extra.replace-fs-extra-copy

If the recipe isn’t available locally, install it with:

mod config recipes npm install @openrewrite/recipes-nodejs