# findout

> Find out a module.

Latest version **3.0.2** (published 2019-02-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install findout
pnpm add findout
yarn add findout
bun add findout
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.2 |
| Published | 2019-02-24 |
| First published | 2015-07-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=7.6 |
| Dependencies | 0 |
| Unpacked size | 23.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Taka Okunishi |
| Maintainers | okunishinishi |
| Keywords | module, require |

## Links

- npm: https://www.npmjs.com/package/findout
- Repository: https://github.com/okunishinishi/node-findout
- Homepage: https://github.com/okunishinishi/node-findout#readme
- Issues: https://github.com/okunishinishi/node-findout/issues
- npm.io page: https://npm.io/package/findout

## Recent versions

- 3.0.2 (latest) — 2019-02-24
- 3.0.1 — 2017-09-17
- 3.0.0 — 2017-09-17
- 2.1.2 — 2016-09-11
- 2.1.1 — 2016-09-11
- 2.1.0 — 2016-08-20
- 2.0.1 — 2016-07-05
- 2.0.0 — 2016-05-21
- 1.2.3 — 2015-09-23
- 1.2.2 — 2015-09-23
- 1.2.1 — 2015-09-19
- 1.2.0 — 2015-09-19
- 1.1.2 — 2015-08-08
- 1.1.1 — 2015-08-08
- 1.1.0 — 2015-08-08
- … 2 more at https://npm.io/package/findout/versions

## README

findout
==========

<!---
This file is generated by ape-tmpl. Do not update manually.
--->

<!-- Badge Start -->
<a name="badges"></a>

[![Build Status][bd_travis_shield_url]][bd_travis_url]
[![Code Climate][bd_codeclimate_shield_url]][bd_codeclimate_url]
[![Code Coverage][bd_codeclimate_coverage_shield_url]][bd_codeclimate_url]
[![npm Version][bd_npm_shield_url]][bd_npm_url]
[![JS Standard][bd_standard_shield_url]][bd_standard_url]

[bd_repo_url]: https://github.com/okunishinishi/node-findout
[bd_travis_url]: http://travis-ci.org/okunishinishi/node-findout
[bd_travis_shield_url]: http://img.shields.io/travis/okunishinishi/node-findout.svg?style=flat
[bd_travis_com_url]: http://travis-ci.com/okunishinishi/node-findout
[bd_travis_com_shield_url]: https://api.travis-ci.com/okunishinishi/node-findout.svg?token=
[bd_license_url]: https://github.com/okunishinishi/node-findout/blob/master/LICENSE
[bd_codeclimate_url]: http://codeclimate.com/github/okunishinishi/node-findout
[bd_codeclimate_shield_url]: http://img.shields.io/codeclimate/github/okunishinishi/node-findout.svg?style=flat
[bd_codeclimate_coverage_shield_url]: http://img.shields.io/codeclimate/coverage/github/okunishinishi/node-findout.svg?style=flat
[bd_gemnasium_url]: https://gemnasium.com/okunishinishi/node-findout
[bd_gemnasium_shield_url]: https://gemnasium.com/okunishinishi/node-findout.svg
[bd_npm_url]: http://www.npmjs.org/package/findout
[bd_npm_shield_url]: http://img.shields.io/npm/v/findout.svg?style=flat
[bd_standard_url]: http://standardjs.com/
[bd_standard_shield_url]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg

<!-- Badge End -->


<!-- Description Start -->
<a name="description"></a>

Find out a module.

<!-- Description End -->




<!-- Sections Start -->
<a name="sections"></a>

<!-- Section from "doc/guides/01.Installation.md.hbs" Start -->

<a name="section-doc-guides-01-installation-md"></a>

Installation
-----

```bash
npm install findout --save
```


<!-- Section from "doc/guides/01.Installation.md.hbs" End -->

<!-- Section from "doc/guides/02.Usage.md.hbs" Start -->

<a name="section-doc-guides-02-usage-md"></a>

Usage
----

`findout(name)` works like `require()`, but has a lot more locations to search.


```javascript
'use strict'

const findout = require('findout')

// Resolve a module path.
let pathOfFoo = findout.resolve('foo')

// Find and require a module.
let foo = findout('foo', {
  cwd: __dirname // Lookup from current directory.
})


```


<!-- Section from "doc/guides/02.Usage.md.hbs" End -->

<!-- Section from "doc/guides/03.How.md.hbs" Start -->

<a name="section-doc-guides-03-how-md"></a>

How It Works
------------

When you call `findout` for "foo" with '/bar/baz' as current working directory:

```javascript
findout('foo', {
  cwd: '/bar/baz'
})
```

and it will try the following ways,

1. `require('foo')`
2. `require('/bar/baz/foo')`
3. `require('/bar/baz/node_modules/foo')`
4. `require('/bar/foo')`
5. `require('/bar/node_modules/foo')`
6. `require('/foo')`
7. `require('/node_modules/foo')`

If it still can't find any, throws an error.


<!-- Section from "doc/guides/03.How.md.hbs" End -->

<!-- Section from "doc/guides/04.Options.md.hbs" Start -->

<a name="section-doc-guides-04-options-md"></a>

Options
-------

| Key | Type | Default | Description |
| --- | --- | --- | --- |
| cwd | string | process.cwd() | Working directory path. |
| safe | boolean | false | No throw when not found. |


<!-- Section from "doc/guides/04.Options.md.hbs" End -->


<!-- Sections Start -->


<!-- LICENSE Start -->
<a name="license"></a>

License
-------
This software is released under the [MIT License](https://github.com/okunishinishi/node-findout/blob/master/LICENSE).

<!-- LICENSE End -->

---
_Source: https://npm.io/package/findout · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
