Skip to content

Commit c6166cd

Browse files
tniessenaduh95
authored andcommittedJul 16, 2024
doc: clarify that fs.exists() may return false for existing symlink
Given that this API is problematic in any case, we should be precise about its (perhaps surprising) behavior. PR-URL: #53566 Reviewed-By: Jithil P Ponnan <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Ulises Gascón <[email protected]>
1 parent 3c5ec83 commit c6166cd

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed
 

‎doc/api/fs.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -2736,7 +2736,7 @@ changes:
27362736
* `callback` {Function}
27372737
* `exists` {boolean}
27382738
2739-
Test whether or not the given path exists by checking with the file system.
2739+
Test whether or not the element at the given `path` exists by checking with the file system.
27402740
Then call the `callback` argument with either true or false:
27412741
27422742
```mjs
@@ -2753,6 +2753,9 @@ parameter, optionally followed by other parameters. The `fs.exists()` callback
27532753
has only one boolean parameter. This is one reason `fs.access()` is recommended
27542754
instead of `fs.exists()`.
27552755
2756+
If `path` is a symbolic link, it is followed. Thus, if `path` exists but points
2757+
to a non-existent element, the callback will receive the value `false`.
2758+
27562759
Using `fs.exists()` to check for the existence of a file before calling
27572760
`fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. Doing
27582761
so introduces a race condition, since other processes may change the file's

0 commit comments

Comments
 (0)
Please sign in to comment.