vfile-find-up
Find vfiles by searching the file system upwards.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install vfile-find-up
Use
import {findUp} from 'vfile-find-up'
findUp('package.json', console.log)
Yields:
null [ VFile {
data: {},
messages: [],
history: [ '/Users/tilde/projects/oss/vfile-find-up/package.json' ],
cwd: '/Users/tilde/projects/oss/vfile-find-up' } ]
API
This package exports the following identifiers: findUp
, findUpOne
, INCLUDE
,
BREAK
.
There is no default export.
findUp(tests[, path][, callback])
Search for tests
upwards.
Calls callback with either an error or an array of files passing tests
.
Note: Virtual Files are not read (their contents
is not populated).
Sigantures
(tests: Test, path?: string, callback: Callback): void
(tests: Test, path?: string): Promise.<Array.<VFile>>
Parameters
tests
Things to search for (string
, Function
, or Array.<tests>
).
If a string
is passed in, the basename
or extname
of files must match it
for them to be included.
If an array is passed in, any test must match a given file for it to be
included.
Otherwise, they must be function
.
path
Place to searching from (string
, default: process.cwd()
).
callback
Function called with all matching files (function cb(err[, files])
).
findUpOne(tests[, path][, callback])
Like findUp
, but either calls callback
with the first found file, or null
or without callback resolves to a file or null
.
function test(file)
Check whether a virtual file should be included.
Called with a vfile.
Returns
true
or INCLUDE
— Include the file in the resultsBREAK
— Stop searching for files- anything else is ignored: the file is not included
The different flags can be combined by using the pipe operator:
INCLUDE | BREAK
.
Contribute
See contributing.md
in vfile/.github
for ways to
get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer