fs: Add support in globs for following (opt-in) symlinks #61162
+376
−33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds support for following symbolic links (symlinks) when performing glob operations in the filesystem module. It introduces a new
followSymlinksoption to relevant APIs, updates the documentation, and implements logic to safely traverse symlinks while preventing infinite loops due to cycles.The most important changes are:
API and Documentation Updates:
followSymlinksboolean option to the glob-related methods in the filesystem API, allowing users to specify whether symlinks to directories should be traversed. Documentation indoc/api/fs.mdhas been updated accordingly.Core Implementation in
lib/internal/fs/glob.js:Globclass and related functions to accept and handle thefollowSymlinksoption, including passing it to stat/lstat calls and ensuring symlinks are followed when requested.Internal Refactoring:
Fixes: #61033