climb-lookup
Version:
a lookup climbing recursively file like a require.
123 lines (107 loc) • 4.91 kB
HTML
<html>
<head>
<meta charset="utf-8">
<base data-ice="baseUrl">
<title data-ice="title">API Document</title>
<link type="text/css" rel="stylesheet" href="css/style.css">
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
<script src="script/prettify/prettify.js"></script>
<script src="script/manual.js"></script>
</head>
<body class="layout-container" data-ice="rootContainer">
<header>
<a href="./">Home</a>
<a href="identifiers.html">Reference</a>
<a href="source.html">Source</a>
<a data-ice="repoURL" href="https://github.com/59naga/climb-lookup.git" class="repo-url-github">Repository</a>
<div class="search-box">
<span>
<img src="./image/search.png">
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
</span>
<ul class="search-result"></ul>
</div>
</header>
<nav class="navigation" data-ice="nav"><div>
<ul>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getPaths">getPaths</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-lookup">lookup</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-lookupSync">lookupSync</a></span></span></li>
</ul>
</div>
</nav>
<div class="content" data-ice="content"><div data-ice="index" class="github-markdown"><h2 id="climb-lookup">Climb lookup</h2>
<p></p><p>
<a href="https://npmjs.org/package/climb-lookup">
<img src="https://img.shields.io/npm/v/climb-lookup.svg?style=flat-square">
</a>
<a href="https://travis-ci.org/59naga/climb-lookup">
<img src="http://img.shields.io/travis/59naga/climb-lookup.svg?style=flat-square">
</a>
<a href="https://codeclimate.com/github/59naga/climb-lookup/coverage">
<img src="https://img.shields.io/codeclimate/github/59naga/climb-lookup.svg?style=flat-square">
</a>
<a href="https://codeclimate.com/github/59naga/climb-lookup">
<img src="https://img.shields.io/codeclimate/coverage/github/59naga/climb-lookup.svg?style=flat-square">
</a>
<a href="https://gemnasium.com/59naga/climb-lookup">
<img src="https://img.shields.io/gemnasium/mathiasbynens/he.svg?style=flat-square">
</a>
</p>
<p></p>
<blockquote>
<p>a lookup climbing recursively file like a require.</p>
</blockquote>
<h2 id="usage">Usage</h2>
<pre><code class="lang-bash"><code class="source-code prettyprint">npm install climb-lookup --save</code>
</code></pre>
<pre><code class="lang-js"><code class="source-code prettyprint">import {lookup, lookupSync, getPaths} from 'climb-lookup';
console.log(lookupSync('package.json')); // /path/to/package.json</code>
</code></pre>
<p><a href="https://npmcdn.com/59naga/climb-lookup/index.html">API Reference</a></p>
<h2 id="why-">Why?</h2>
<p>It may fail to read the configuration file due to <code>process.cwd()</code>.</p>
<pre><code class="lang-bash"><code class="source-code prettyprint">cd my-project
tree . -L 1
# .
# ├── src
# ├── test
# └── package.json
node -e "require(process.cwd()+'/package.json')" # ok
cd test
node -e "require(process.cwd()+'/package.json')" # Error: Cannot find module './test/package.json'</code>
</code></pre>
<p><code>climb-lookup</code> is lookup climbing recursively file, like a <code>require</code>.</p>
<pre><code class="lang-bash"><code class="source-code prettyprint">cd my-project
tree . -L 1
# .
# ├── src
# ├── test
# └── package.json
node -e "require(require('climb-lookup').lookupSync('package.json'))" # ok
cd test
node -e "require(require('climb-lookup').lookupSync('package.json'))" # ok</code>
</code></pre>
<h2 id="test">Test</h2>
<pre><code class="lang-bash"><code class="source-code prettyprint">git clone https://github.com/59naga/climb-lookup.git
cd climb-lookup
npm install
npm test</code>
</code></pre>
<h2 id="license">License</h2>
<p><a href="http://59naga.mit-license.org/">MIT</a></p>
</div>
</div>
<footer class="footer">
Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(0.4.5)</span></a>
</footer>
<script src="script/search_index.js"></script>
<script src="script/search.js"></script>
<script src="script/pretty-print.js"></script>
<script src="script/inherited-summary.js"></script>
<script src="script/test-summary.js"></script>
<script src="script/inner-link.js"></script>
<script src="script/patch-for-local.js"></script>
</body>
</html>