From 149064e7f84c0e89df4fb39a0feb6fac222ab5d3 Mon Sep 17 00:00:00 2001 From: Matteo Collina Date: Sat, 26 Sep 2026 15:40:22 +0200 Subject: [PATCH] vfs: unflag Enable node:vfs by default. --no-experimental-vfs disables node:vfs exposure and --vfs-load. Assisted-by: pi Signed-off-by: Matteo Collina --- doc/api/cli.md | 44 +++++------ doc/api/vfs.md | 16 ++-- doc/node.1 | 29 +++---- lib/internal/vfs/file_system.js | 3 +- lib/vfs.js | 3 + src/node.cc | 2 +- src/node_options.cc | 5 +- src/node_options.h | 2 +- test/ffi/test-ffi-vfs.js | 2 +- .../test-module-builtin-experimental.js | 11 ++- .../parallel/test-permission-dlopen-binary.js | 2 +- test/parallel/test-require-resolve.js | 2 - test/parallel/test-vfs-access-modes.js | 2 +- test/parallel/test-vfs-addon.js | 2 +- test/parallel/test-vfs-append-write.js | 2 +- test/parallel/test-vfs-bigint-position.js | 2 +- test/parallel/test-vfs-callback-api.js | 2 +- test/parallel/test-vfs-copyfile-mode.js | 2 +- test/parallel/test-vfs-create.js | 9 +-- test/parallel/test-vfs-ctime-update.js | 2 +- test/parallel/test-vfs-destructuring.js | 2 +- test/parallel/test-vfs-dir-handle.js | 2 +- test/parallel/test-vfs-fd.js | 2 +- test/parallel/test-vfs-file-handle.js | 2 +- test/parallel/test-vfs-flag.js | 75 +++++++++---------- test/parallel/test-vfs-fs-accessSync.js | 2 +- .../test-vfs-fs-callback-error-paths.js | 2 +- test/parallel/test-vfs-fs-chmod-callback.js | 2 +- test/parallel/test-vfs-fs-chmodSync.js | 2 +- test/parallel/test-vfs-fs-copyFileSync.js | 2 +- test/parallel/test-vfs-fs-createReadStream.js | 2 +- .../parallel/test-vfs-fs-createWriteStream.js | 2 +- test/parallel/test-vfs-fs-existsSync.js | 2 +- test/parallel/test-vfs-fs-fchmod-callback.js | 2 +- test/parallel/test-vfs-fs-linkSync.js | 2 +- test/parallel/test-vfs-fs-matches-real-fs.js | 2 +- test/parallel/test-vfs-fs-mkdir-callback.js | 2 +- test/parallel/test-vfs-fs-mkdirSync.js | 2 +- test/parallel/test-vfs-fs-mkdtempSync.js | 2 +- test/parallel/test-vfs-fs-open-callback.js | 2 +- test/parallel/test-vfs-fs-openAsBlob.js | 2 +- test/parallel/test-vfs-fs-openSync.js | 2 +- test/parallel/test-vfs-fs-opendir-callback.js | 2 +- test/parallel/test-vfs-fs-opendirSync.js | 2 +- .../test-vfs-fs-promises-buffer-encoding.js | 2 +- .../test-vfs-fs-promises-stat-no-throw.js | 2 +- test/parallel/test-vfs-fs-promises.js | 2 +- .../parallel/test-vfs-fs-readFile-callback.js | 2 +- test/parallel/test-vfs-fs-readFileSync.js | 2 +- test/parallel/test-vfs-fs-readdirSync.js | 2 +- test/parallel/test-vfs-fs-realpathSync.js | 2 +- test/parallel/test-vfs-fs-rename-callback.js | 2 +- test/parallel/test-vfs-fs-renameSync.js | 2 +- test/parallel/test-vfs-fs-rmSync.js | 2 +- test/parallel/test-vfs-fs-stat-callback.js | 2 +- test/parallel/test-vfs-fs-statSync.js | 2 +- test/parallel/test-vfs-fs-symlink-callback.js | 2 +- test/parallel/test-vfs-fs-symlinkSync.js | 2 +- .../parallel/test-vfs-fs-truncate-callback.js | 2 +- test/parallel/test-vfs-fs-truncateSync.js | 2 +- test/parallel/test-vfs-fs-watch-dispatch.js | 2 +- .../test-vfs-fs-writeFile-callback.js | 2 +- test/parallel/test-vfs-fs-writeFileSync.js | 2 +- test/parallel/test-vfs-handle-semantics.js | 2 +- test/parallel/test-vfs-hardlink-nlink.js | 2 +- test/parallel/test-vfs-import.mjs | 2 +- .../parallel/test-vfs-invalid-package-json.js | 2 +- test/parallel/test-vfs-layer-tag-prefix.mjs | 2 +- test/parallel/test-vfs-lchown-symlink.js | 2 +- test/parallel/test-vfs-link.js | 2 +- test/parallel/test-vfs-load.js | 29 +++++-- test/parallel/test-vfs-memory-file-handle.js | 2 +- .../test-vfs-memory-provider-dynamic.js | 2 +- .../test-vfs-memory-provider-flags.js | 2 +- test/parallel/test-vfs-memory-provider.js | 2 +- test/parallel/test-vfs-mkdir.js | 2 +- test/parallel/test-vfs-mkdtemp.js | 2 +- .../parallel/test-vfs-module-hooks-cleanup.js | 2 +- test/parallel/test-vfs-module-hooks.mjs | 2 +- test/parallel/test-vfs-module-paths.js | 4 +- test/parallel/test-vfs-mount-errors.js | 2 +- test/parallel/test-vfs-mount-point-url.js | 2 +- test/parallel/test-vfs-mount.js | 2 +- test/parallel/test-vfs-multi-mount.js | 2 +- test/parallel/test-vfs-package-json-cache.js | 2 +- test/parallel/test-vfs-package-json.js | 2 +- test/parallel/test-vfs-parent-timestamps.js | 2 +- test/parallel/test-vfs-promises-open.js | 2 +- test/parallel/test-vfs-promises.js | 2 +- .../test-vfs-readdir-symlink-recursive.js | 2 +- test/parallel/test-vfs-readfile-async.js | 2 +- test/parallel/test-vfs-readfile-encoding.js | 2 +- test/parallel/test-vfs-readfile-flag.js | 2 +- .../parallel/test-vfs-real-provider-handle.js | 2 +- .../test-vfs-real-provider-promises.js | 2 +- .../test-vfs-real-provider-symlinks.js | 2 +- test/parallel/test-vfs-real-provider-watch.js | 2 +- test/parallel/test-vfs-real-provider.js | 2 +- .../test-vfs-rename-symlink-descendant.js | 2 +- test/parallel/test-vfs-rename.js | 2 +- test/parallel/test-vfs-require.js | 2 +- .../test-vfs-reserved-root-unowned.js | 2 +- test/parallel/test-vfs-reserved-root.js | 2 +- test/parallel/test-vfs-rm-edge-cases.js | 2 +- test/parallel/test-vfs-rmdir-symlink.js | 2 +- test/parallel/test-vfs-router.js | 2 +- test/parallel/test-vfs-scoped-cache-purge.js | 2 +- test/parallel/test-vfs-stats-bigint.js | 2 +- test/parallel/test-vfs-stats-helpers.js | 2 +- test/parallel/test-vfs-stats-ino-dev.js | 2 +- test/parallel/test-vfs-stream-errors.js | 2 +- test/parallel/test-vfs-stream-explicit-fd.js | 2 +- test/parallel/test-vfs-stream-properties.js | 2 +- test/parallel/test-vfs-stream-validation.js | 2 +- test/parallel/test-vfs-streams.js | 2 +- test/parallel/test-vfs-symlinks.js | 2 +- test/parallel/test-vfs-truncate-negative.js | 2 +- test/parallel/test-vfs-utimes.js | 2 +- test/parallel/test-vfs-virtual-file-handle.js | 2 +- test/parallel/test-vfs-virtual-provider.js | 2 +- test/parallel/test-vfs-watch-abort-signal.js | 2 +- test/parallel/test-vfs-watch-directory.js | 2 +- test/parallel/test-vfs-watch-encoding.js | 2 +- test/parallel/test-vfs-watch-promises.js | 2 +- test/parallel/test-vfs-watch-recursive.js | 2 +- test/parallel/test-vfs-watch.js | 2 +- test/parallel/test-vfs-watchfile.js | 2 +- test/parallel/test-vfs-write-options.js | 2 +- test/parallel/test-vfs-zip-provider-commit.js | 2 +- .../parallel/test-vfs-zip-provider-dispose.js | 2 +- test/parallel/test-vfs-zip-provider-handle.js | 2 +- ...test-vfs-zip-provider-readdir-recursive.js | 2 +- test/parallel/test-vfs-zip-provider.js | 2 +- test/parallel/test-zlib-zip-vfs.js | 2 +- 134 files changed, 247 insertions(+), 227 deletions(-) diff --git a/doc/api/cli.md b/doc/api/cli.md index 4e0dc709d106..b99092fb8587 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -330,7 +330,7 @@ so mounting one is gated on its own flag rather than on `--allow-fs-read` or `--allow-fs-write`. ```console -$ node --experimental-vfs --permission --allow-fs-vfs app.js +$ node --permission --allow-fs-vfs app.js ``` ### `--allow-fs-write` @@ -1709,16 +1709,6 @@ with AND, so a test must satisfy every expression to run. A malformed expression causes the test runner to exit with a non-zero status before running any tests. -### `--experimental-vfs` - - - -> Stability: 1 - Experimental - -Enable the experimental [`node:vfs`][] module. - ### `--experimental-vm-modules` + +Disable the experimental [`node:vfs`][] module and `--vfs-load`. + ### `--no-experimental-webstorage`