Detects if a file exists and returns the resolved filepath.
Install with npm:
$ npm install --save detect-file
Install with yarn:
$ yarn add detect-file
var detect = require('detect-file');
Detect the given filepath
if it exists.
Params
filepath
{String}: filepath to detect.options
{Object}: Additional options.options.nocase
{Boolean}: Set this totrue
to force case-insensitive filename checks. This is useful on case sensitive file systems.returns
{String}: Returns the detected filepath if it exists, otherwise returnsnull
.
Example
var res = detect('package.json');
console.log(res);
//=> "package.json"
var res = detect('fake-file.json');
console.log(res)
//=> null
When using the nocase
option, this library will attempt to detect the filepath with the following methods:
- Try to read all files in the
filepath
usingfs.readdirSync
. If successful andfilepath
is a directory, return thefilepath
. - Try to read all files in the
filepath
's directory usingfs.readdirSync
. If successful, do case insensitive comparasions of thefilepath
to the files infilepath
's directory.
fs-exists-sync: Drop-in replacement for fs.existsSync
with zero dependencies. Other libs I found either have crucial differences… more | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Brian Woodward
Copyright © 2017, Brian Woodward. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on August 05, 2017.