Skip to content

Implement VFS (Virtual File System) Hooks for Single Executable Applications #60021

Description

@robertsLando

What is the problem this feature will solve?

Currently, creating Single Executable Applications in Node.js requires complex workarounds and monkey-patching of the fs module to access embedded resources. This approach:

  • Makes Node.js harder to maintain due to ecosystem modules that monkey-patch core behavior[1]
  • Creates compatibility issues when Node.js APIs change
  • Lacks a standardized, official way to handle virtual file systems
  • Forces developers to implement fragile solutions that may break with future Node.js updates

What is the feature you are proposing to solve the problem?

Implementing a VFS hooks API in Node.js core that would allow userland code to override read-only filesystem operations through a virtual file system, specifically to support Single Executable Applications (SEAs) as described in the FS hooks proposal.

What alternatives have you considered?

  • Monkey-patching fs module: Current approach but problematic for maintainability
  • Using Loaders API for fs replacement: Could work but not designed for this purpose
  • External VFS libraries: Require significant setup and don't integrate cleanly with Node.js internals

Activity

  1. khalidsaidi commented on Mar 25, 2026

    @khalidsaidi
  2. github-actions commented on Jul 20, 2026

    @github-actions
    Contributor

    This issue has been marked as stale due to 90 days of inactivity.
    It will be automatically closed in 30 days if no further activity occurs. If this is still relevant, please leave a comment or update it to keep it open.

  3. added
    staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.
    on Jul 20, 2026
  4. robertsLando commented on Jul 20, 2026

    @robertsLando
    ContributorAuthor

    No stale

  5. removed
    staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.
    on Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestIssues requesting new Node.js features.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions