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! β€οΈ
-
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.
npm i fs.promises.existsimport fsExists from 'fs.promises.exists'
await fsExists('./file-that-exists')
// => true
await fsExists('./file-that-doesnt-exist')
// => falseimport fsExists from 'fs.promises.exists'
await fsExists('./CASE-SENSITIVE-FILE-PATH', true)
// => true
await fsExists('./case-sensitive-file-path', true)
// => falseimport 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 matchReturns: boolean | string
Type: string
Required
Path to the file to check the existence of.
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.