UNPKG

climb-lookup

Version:

a lookup climbing recursively file like a require.

123 lines (107 loc) 4.91 kB
<!DOCTYPE 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 &apos;climb-lookup&apos;; console.log(lookupSync(&apos;package.json&apos;)); // /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 # . # &#x251C;&#x2500;&#x2500; src # &#x251C;&#x2500;&#x2500; test # &#x2514;&#x2500;&#x2500; package.json node -e &quot;require(process.cwd()+&apos;/package.json&apos;)&quot; # ok cd test node -e &quot;require(process.cwd()+&apos;/package.json&apos;)&quot; # Error: Cannot find module &apos;./test/package.json&apos;</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 # . # &#x251C;&#x2500;&#x2500; src # &#x251C;&#x2500;&#x2500; test # &#x2514;&#x2500;&#x2500; package.json node -e &quot;require(require(&apos;climb-lookup&apos;).lookupSync(&apos;package.json&apos;))&quot; # ok cd test node -e &quot;require(require(&apos;climb-lookup&apos;).lookupSync(&apos;package.json&apos;))&quot; # 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>