Skip to content

Can’t import fs Promises API with ECMAScript Modules #21014

Description

@dieulot
  • Version: v10.2.1
  • Platform: Windows 10 64-bit
  • Subsystem: fs

Per the docs, “The API is accessible via require('fs').promises.”

When using ECMAScript Modules it can’t be accessed like that. One may expect to be able to load it with import {promises as fs} from 'fs', but this gives an error.

import {promises as fs} from 'fs'
        ^^^^^^^^
SyntaxError: The requested module 'fs' does not provide an export named 'promises'
    at ModuleJob._instantiate (internal/modules/esm/module_job.js:89:21)

So right now accessing the fs Promises API directly when using ECMAScript Modules requires two lines, like so:

import {default as fsWithCallbacks} from 'fs'
const fs = fsWithCallbacks.promises

Metadata

Metadata

Assignees

No one assigned

    Labels

    esmIssues and PRs related to the ECMAScript Modules implementation.feature requestIssues requesting new Node.js features.fsIssues and PRs related to file-system APIs and the fs module.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions