require-main
v0.1.1
Published
Load the project's main script simply
Downloads
889
Maintainers
Readme
require-main
A Node module to load the main script of your project simply
Overview
require-main is useful for developing npm modules. When we write a test for a npm module, usually we should load the module itself with require()
by specifying the main
script path explicitly, as below:
var yourLib = require('./'); // Or, something like "../lib/runner.js"
assert(yourLib, 'Your module is loaded.');
Instead of such a hard coding, we can use require-main to load the main
module easily.
var yourLib = require('require-main')();
assert(yourLib, 'Your module is loaded.');
require-main offers the following advantages:
- It keeps your test code simple even if your test directory has a complicated structure.
- It prevents your
package.json
from having a wrongmain
field.require-main()
throws an error if there is no script files in themain
path.
Installation
Install with npm. (Make sure you have installed Node.)
npm install --save-dev require-main
Usage
var requireMain = require('require-main');
var yourLib = requireMain();
Or, even shorter:
var yourLib = require('require-main')();
requireMain()
returns the main
module of the first package.json
in the __dirname
directory or the nearest parent directory.
If the package.json
has no main
field, requireMain()
tries to load index.js
in the current working directory.
License
Copyright (c) 2014 Shinnosuke Watanabe
Licensed under the MIT LIcense.