UNPKG

2.02 kBMarkdownView Raw
1# find-up [![Build Status: Linux and macOS](https://travis-ci.org/sindresorhus/find-up.svg?branch=master)](https://travis-ci.org/sindresorhus/find-up) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/l0cyjmvh5lq72vq2/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/find-up/branch/master)
2
3> Find a file or directory by walking up parent directories
4
5
6## Install
7
8```
9$ npm install find-up
10```
11
12
13## Usage
14
15```
16/
17└── Users
18 └── sindresorhus
19 ├── unicorn.png
20 └── foo
21 └── bar
22 ├── baz
23 └── example.js
24```
25
26`example.js`
27
28```js
29const findUp = require('find-up');
30
31(async () => {
32 console.log(await findUp('unicorn.png'));
33 //=> '/Users/sindresorhus/unicorn.png'
34
35 console.log(await findUp(['rainbow.png', 'unicorn.png']));
36 //=> '/Users/sindresorhus/unicorn.png'
37})();
38```
39
40
41## API
42
43### findUp(filename, [options])
44
45Returns a `Promise` for either the filepath or `null` if it couldn't be found.
46
47### findUp([filenameA, filenameB], [options])
48
49Returns a `Promise` for either the first filepath found (by respecting the order) or `null` if none could be found.
50
51### findUp.sync(filename, [options])
52
53Returns a filepath or `null`.
54
55### findUp.sync([filenameA, filenameB], [options])
56
57Returns the first filepath found (by respecting the order) or `null`.
58
59#### filename
60
61Type: `string`
62
63Filename of the file to find.
64
65#### options
66
67Type: `Object`
68
69##### cwd
70
71Type: `string`<br>
72Default: `process.cwd()`
73
74Directory to start from.
75
76
77## Related
78
79- [find-up-cli](https://github.com/sindresorhus/find-up-cli) - CLI for this module
80- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file
81- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package
82- [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path
83
84
85## License
86
87MIT © [Sindre Sorhus](https://sindresorhus.com)