Package Exports
- load-request-from-cwd-or-npm
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (load-request-from-cwd-or-npm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
load-request-from-cwd-or-npm
Load request module from either CWD or npm CLI directory.
Why?
To keep project dependencies smaller.
$ npm install request@2.83.0
$ du -sh ./node_modules
5.6M ./node_modules$ npm install load-request-from-cwd-or-npm@2.0.0
$ du -sh ./node_modules
> 300K ./node_modulesIf load-request-from-cwd-or-npm is installed to your project directory, you can use request module in your program even though it's not actually installed.
Also we have an option to use one of the request alternatives with smaller file size, but none of them can deal with a lot of edge cases related to networking and HTTP as request does.
Installation
npm install load-request-from-cwd-or-npmAPI
const loadRequestFromCwdOrNpm = require('load-request-from-cwd-or-npm');loadRequestFromCwdOrNpm()
Return: Promise<Function>
It loads request module from either of these two directories:
node_modulesin the current working directorynode_modulesin the directory wherenpmCLI dependencies are installed.
If request ins't installed in CWD, it loads request from npm CLI directory.
// $ npm ls request
// > └── (empty)
(async () => {
const request = await loadRequestFromCwdOrNpm();
//=> {[Function: request] get: [Function], head: [Function], ...}
})();If request is installed in CWD, it compares package versions of the CWD one and the npm dependency one, then loads the newer one.
// $ npm ls request
// > └── request@1.9.9
(async () => {
// Loaded from npm CLI directory because the CWD version is older
const request = await loadRequestFromCwdOrNpm();
})();The returned promise will be fulfilled with request, or rejected when it fails to find the module from either directories.
License
ISC License © 201 - 2018 Shinnosuke Watanabe