n/prefer-promises/fs

April 30, 2026 ยท View on GitHub

๐Ÿ“ Enforce require("fs").promises.

Since Node.js v11.14.0, require("fs").promises API has been stable. Promise API and async/await syntax will make code more readable than callback API.

๐Ÿ“– Rule Details

This rule disallows callback API in favor of promise API.

Examples of ๐Ÿ‘Ž incorrect code for this rule:

/*eslint n/prefer-promises/fs: [error]*/
const fs = require("fs")

function readData(filePath) {
    fs.readFile(filePath, "utf8", (error, content) => {
        //...
    })
}
/*eslint n/prefer-promises/fs: [error]*/
import fs from "fs"

function readData(filePath) {
    fs.readFile(filePath, "utf8", (error, content) => {
        //...
    })
}

Examples of ๐Ÿ‘ correct code for this rule:

/*eslint n/prefer-promises/fs: [error]*/
const { promises: fs } = require("fs")

async function readData(filePath) {
    const content = await fs.readFile(filePath, "utf8")
    //...
}
/*eslint n/prefer-promises/fs: [error]*/
import { promises as fs } from "fs"

async function readData(filePath) {
    const content = await fs.readFile(filePath, "utf8")
    //...
}

๐Ÿ”Ž Implementation