JSPM

load-request-from-cwd-or-npm

0.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 167
  • Score
    100M100P100Q85965F
  • License MIT

Load `request` module from either CWD or npm CLI directory

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

NPM version Build Status Build status Coverage Status Dependency Status

Load request module from either CWD or npm CLI directory

Why?

To keep the project dependencies smaller.

$ npm install request@2.67.0
$ du -sh ./node_modules
> 4.4M	node_modules
$ npm install load-request-from-cwd-or-npm@1.0.0
$ du -sh ./node_modules
> 4.4M	node_modules

Installation

Use npm.

npm install load-request-from-cwd-or-npm

API

const loadRequestFromCwdOrNpm = require('load-request-from-cwd-or-npm');

loadRequestFromCwdOrNpm()

Return: Object (a Promise instance)

It loads request module from either of these two directories:

  1. node_modules in the current working directory
  2. node_modules in the directory where npm CLI dependencies are installed.

If request ins't installed in CWD, it loads request from npm CLI directory.

// $ npm ls request
// > └── (empty)

loadRequestFromCwdOrNpm().then(request => {
  request; //=> {[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

loadRequestFromCwdOrNpm().then(request => {
  request; // Loaded from npm CLI directory because the CWD version is older
});

The returned promise will be fulfilled with request, or rejected when it fails to find the module from either directories.

License

Copyright (c) 2015 Shinnosuke Watanabe

Licensed under the MIT License.