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 ensureFile with fs.mkdir and fs.writeFile

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

Replaces fs-extra's ensureFile/createFile (and their Sync variants) with mkdir(dirname(file), { recursive: true }) followed by writeFile(file, '', { flag: 'a' }), which creates the file without truncating an existing one. A call standing alone as a statement becomes two statements; other promise-form calls chain the two with .then. A path that isn't safe to evaluate twice is hoisted into a const first, which needs a statement to sit before, so such a call in expression position is left alone, as are callback-form calls and sync calls used as expressions.

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-ensure-file