detect-file
Detects if a file exists and returns the resolved filepath.
Install
Install with npm:
$ npm install --save detect-file
Install with yarn:
$ yarn add detect-file
Usage
var detect = require('detect-file');
API
detect
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
Case sensitive file systems
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.
About
Related projects
fs-exists-sync: Drop-in replacement for fs.existsSync
with zero dependencies. Other libs I found either have crucial differences… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
(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 tests
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
Author
Brian Woodward
License
Copyright © 2017, Brian Woodward. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on August 05, 2017.