Skip to main content
Moderne OnlyThis recipe is proprietary to Moderne and runs on the Moderne platform or CLI — it isn’t part of the open-source catalog. Available with a Moderne subscription.Contact Sales

Replace fs-extra move with a generated helper

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

Replaces fs-extra's move/moveSync with a call to a helper this recipe writes into the same file. rename alone is not a replacement: it doesn't create the destination's parent directory, it overwrites silently instead of refusing, and it fails across devices with EXDEV. The helper does what fs-extra does — mkdir the parent, refuse an existing destination unless overwrite was asked for, then rename, falling back to cp + rm on EXDEV. A call passing an option other than overwrite (dereference, the legacy clobber) or a callback is left alone, as is one whose options aren't an object literal. One helper is written per file, however many calls it has.

Single recipeOpenRewriteModerne Proprietary License
Try in PlatformTry this recipe in the Moderne platform. Not a user yet? You’ll get a no-setup demo environment, with nothing to install or configure.

Usage​

Run this recipe

In order to run JavaScript recipes, you will need to use the Moderne CLI. For JavaScript specific configuration instructions, please see our configuring JavaScript guide.

Once the CLI is installed, you can install this JavaScript recipe package by running the following command:

Install the recipe package
mod config recipes npm install @openrewrite/recipes-nodejs

Then, you can run the recipe via:

Run the recipe
mod run . --recipe org.openrewrite.node.migrate.fs-extra.replace-fs-extra-move