← All recipes
Moderne licensed

Replace fs-extra ensureFile with fs.mkdir and fs.writeFile

Recipe IDorg.openrewrite.node.migrate.fs-extra.replace-fs-extra-ensure-fileArtifact@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 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-ensure-file

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

mod config recipes npm install @openrewrite/recipes-nodejs