Skip to content

Commit 73860ac

Browse files
tniessenmarco-ippolito
authored andcommitted
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 bcd08be commit 73860ac

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
@@ -2656,7 +2656,7 @@ changes:
26562656
* `callback` {Function}
26572657
* `exists` {boolean}
26582658
2659-
Test whether or not the given path exists by checking with the file system.
2659+
Test whether or not the element at the given `path` exists by checking with the file system.
26602660
Then call the `callback` argument with either true or false:
26612661
26622662
```mjs
@@ -2673,6 +2673,9 @@ parameter, optionally followed by other parameters. The `fs.exists()` callback
26732673
has only one boolean parameter. This is one reason `fs.access()` is recommended
26742674
instead of `fs.exists()`.
26752675
2676+
If `path` is a symbolic link, it is followed. Thus, if `path` exists but points
2677+
to a non-existent element, the callback will receive the value `false`.
2678+
26762679
Using `fs.exists()` to check for the existence of a file before calling
26772680
`fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. Doing
26782681
so introduces a race condition, since other processes may change the file's

0 commit comments

Comments
 (0)