diff options
Diffstat (limited to 'node_modules/resolve-from')
-rw-r--r-- | node_modules/resolve-from/index.js | 40 | ||||
-rw-r--r-- | node_modules/resolve-from/package.json | 7 | ||||
-rw-r--r-- | node_modules/resolve-from/readme.md | 25 |
3 files changed, 49 insertions, 23 deletions
diff --git a/node_modules/resolve-from/index.js b/node_modules/resolve-from/index.js index 434159f17..0dbf11708 100644 --- a/node_modules/resolve-from/index.js +++ b/node_modules/resolve-from/index.js @@ -1,23 +1,35 @@ 'use strict'; -var path = require('path'); -var Module = require('module'); +const path = require('path'); +const Module = require('module'); -module.exports = function (fromDir, moduleId) { - if (typeof fromDir !== 'string' || typeof moduleId !== 'string') { - throw new TypeError('Expected `fromDir` and `moduleId` to be a string'); +const resolveFrom = (fromDir, moduleId, silent) => { + if (typeof fromDir !== 'string') { + throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``); + } + + if (typeof moduleId !== 'string') { + throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); } fromDir = path.resolve(fromDir); + const fromFile = path.join(fromDir, 'noop.js'); - var fromFile = path.join(fromDir, 'noop.js'); + const resolveFileName = () => Module._resolveFilename(moduleId, { + id: fromFile, + filename: fromFile, + paths: Module._nodeModulePaths(fromDir) + }); - try { - return Module._resolveFilename(moduleId, { - id: fromFile, - filename: fromFile, - paths: Module._nodeModulePaths(fromDir) - }); - } catch (err) { - return null; + if (silent) { + try { + return resolveFileName(); + } catch (err) { + return null; + } } + + return resolveFileName(); }; + +module.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId); +module.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true); diff --git a/node_modules/resolve-from/package.json b/node_modules/resolve-from/package.json index ee47da7c1..f7c3d09a3 100644 --- a/node_modules/resolve-from/package.json +++ b/node_modules/resolve-from/package.json @@ -1,7 +1,7 @@ { "name": "resolve-from", - "version": "2.0.0", - "description": "Resolve the path of a module like require.resolve() but from a given path", + "version": "3.0.0", + "description": "Resolve the path of a module like `require.resolve()` but from a given path", "license": "MIT", "repository": "sindresorhus/resolve-from", "author": { @@ -10,7 +10,7 @@ "url": "sindresorhus.com" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" }, "scripts": { "test": "xo && ava" @@ -25,6 +25,7 @@ "module", "from", "like", + "import", "path" ], "devDependencies": { diff --git a/node_modules/resolve-from/readme.md b/node_modules/resolve-from/readme.md index bb4ca91e8..02e6475d7 100644 --- a/node_modules/resolve-from/readme.md +++ b/node_modules/resolve-from/readme.md @@ -1,8 +1,6 @@ # resolve-from [](https://travis-ci.org/sindresorhus/resolve-from) -> Resolve the path of a module like [`require.resolve()`](http://nodejs.org/api/globals.html#globals_require_resolve) but from a given path - -Unlike `require.resolve()` it returns `null` instead of throwing when the module can't be found. +> Resolve the path of a module like [`require.resolve()`](https://nodejs.org/api/globals.html#globals_require_resolve) but from a given path ## Install @@ -17,7 +15,7 @@ $ npm install --save resolve-from ```js const resolveFrom = require('resolve-from'); -// there's a file at `./foo/bar.js` +// There is a file at `./foo/bar.js` resolveFrom('foo', './bar'); //=> '/Users/sindresorhus/dev/test/foo/bar.js' @@ -28,6 +26,12 @@ resolveFrom('foo', './bar'); ### resolveFrom(fromDir, moduleId) +Like `require()`, throws when the module can't be found. + +### resolveFrom.silent(fromDir, moduleId) + +Returns `null` instead of throwing when the module can't be found. + #### fromDir Type: `string` @@ -43,7 +47,7 @@ What you would use in `require()`. ## Tip -Create a partial using a bound function if you want to require from the same `fromDir` multiple times: +Create a partial using a bound function if you want to resolve from the same `fromDir` multiple times: ```js const resolveFromFoo = resolveFrom.bind(null, 'foo'); @@ -53,6 +57,15 @@ resolveFromFoo('./baz'); ``` +## Related + +- [resolve-cwd](https://github.com/sindresorhus/resolve-cwd) - Resolve the path of a module from the current working directory +- [req-from](https://github.com/sindresorhus/req-from) - Require a module from a given path +- [req-cwd](https://github.com/sindresorhus/req-cwd) - Require a module from the current working directory +- [resolve-pkg](https://github.com/sindresorhus/resolve-pkg) - Resolve the path of a package regardless of it having an entry point +- [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily + + ## License -MIT © [Sindre Sorhus](http://sindresorhus.com) +MIT © [Sindre Sorhus](https://sindresorhus.com) |