Implement VFS (Virtual File System) Hooks for Single Executable ApplicationsΒ #60021
Copy link
Copy link
Closed
Labels
feature requestIssues requesting new Node.js features.Issues requesting new Node.js features.
Description
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
Reacted by yu, Justin Fagnani, TomΓ‘Ε‘ HΓΌbelbauer, anytinz and surajtaghash
Metadata
Metadata
Assignees
Labels
feature requestIssues requesting new Node.js features.Issues requesting new Node.js features.
Type
Projects
- StatusShow more project fieldsAwaiting Triage
Activity
khalidsaidi commentedon Mar 25, 2026
github-actions commentedon Jul 20, 2026
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.
robertsLando commentedon Jul 20, 2026
No stale
github-actions commentedon Oct 20, 2026
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.
robertsLando commentedon Oct 20, 2026
@mcollina can this be closed?
mcollina commentedon Oct 22, 2026
This has been done