fs.promises.exists
v1.1.4
Published
The missing fs.promises.exists()
Readme
fs.promises.exists

The missing fs.promises.exists(). Also supports case-sensitive/insensitive file paths.
If you like this project, please star it & follow me to see what other cool projects I'm working on! ❤️
🙋♂️ Why?
The fs Promises API doesn't have an
exists()method that replacesexistsSync().Depending on how the file-system is configured, file paths can be case-sensitive or insensitive. This module lets you specify case regardless of the file-system configuration.
🚀 Install
npm i fs.promises.exists👨🏻🏫 Examples
Basic check
import fsExists from 'fs.promises.exists'
await fsExists('./file-that-exists')
// => true
await fsExists('./file-that-doesnt-exist')
// => falseCase sensitive file path
import fsExists from 'fs.promises.exists'
await fsExists('./CASE-SENSITIVE-FILE-PATH', true)
// => true
await fsExists('./case-sensitive-file-path', true)
// => falseCase insensitive file path
import fsExists from 'fs.promises.exists'
await fsExists('./CASE-SENSITIVE-FILE-PATH', false)
// => ./CASE-SENSITIVE-FILE-PATH ← Retruns truthy case-preserved match
await fsExists('./case-sensitive-file-path', false)
// => ./CASE-SENSITIVE-FILE-PATH ← Retruns truthy case-preserved match⚙️ API
fsExists(filePath, caseSensitive)
Returns: boolean | string
filePath
Type: string
Required
Path to the file to check the existence of.
caseSensitive
Type: boolean
Optional
Whether to check the existence of the path case-sensitively or not.
true- Enforce case sensitive path checking.false- Enforce case insensitive path checking. On match, it returns the case senstive path as a string.undefined- Default behavior is based on the disk formatting of the environment. Specifically, this is the HFS+ file system personality.Most default setups (such as macOS) defaults to being case insensitive. That means checking whether
./does-file-existand./DoEs-FiLe-ExIsTare equivalent.
