Package Exports
- requireg
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 (requireg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
requireg

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 support both npm/yarn global packages installation paths.
Supported locations:
- $HOME/node_modules (instead of $HOME/.node_modules)
- $HOME/node_libraries (instead of $HOME/.node_libraries)
- $HOME/node_packages (specific of
requireg
) - $PREFIX/lib/node_modules (instead of $PREFIX/lib/node)
- $NODE_MODULES (use the specific modules path environment variable)
Resolution priority
- Resolve via native
require()
(unless second parameter is true) - User home directory (
$HOME
or%USERPROFILE%
) - Node installation path
- $NODE_MODULES (can have different multiple paths, semicolon separated)
- 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
- Require global modules in node.js is considered anti-pattern.
Note that you can experiment unreliability or inconsistency across different environments.
I hope you know exactly what you do with
requireg
- Only node packages installed with npm or yarn are supported (which means only standardized NPM paths are supported)
Possible extra features
- Custom environment variable with custom path to resolve global modules.
License
Released under MIT license