Home

Awesome

requireg Build Status NPM version

Require and resolve global modules in node.js like a boss.

Differences with require()

requireg tries to find modules in global locations which are not natively supported by the node.js module resolve algorithm.

It supports both npm/yarn global packages installation paths.

Supported locations:

Resolution priority

  1. Resolve via native require() (unless second parameter is true)
  2. User home directory ($HOME or %USERPROFILE%)
  3. Node installation path
  4. $NODE_MODULES (can have different multiple paths, semicolon separated)
  5. Common operative system installation paths

Installation

$ npm install requireg --save[-dev]
$ yarn add requireg

API

requireg(path: string, onlyGlobal: boolean = false)

Usage

Load global modules

var requireg = require('requireg')
// require a globally installed package
var npm = requireg('npm')

Load only global modules

var requireg = require('requireg')
// require a globally installed package and skip local packages
var eslint = requireg('eslint', true)

Resolve module path

var modulePath = requireg.resolve('npm')
// returns '/usr/local/lib/node_modules/npm/lib/npm.js'

Globalize it

require('requireg').globalize()

Now it is globally available from any source file

var globalModule = requireg('npm')

Module not found

requireg maintains the same behavior as the native require(). It will throw an Error exception if the module was not found

Considerations

Possible extra features

License

Released under MIT license