require-main

0.1.1 • Public • Published

require-main

NPM version Build Status Dependency Status devDependency Status

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 wrong main field.
    • require-main() throws an error if there is no script files in the main 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.

Package Sidebar

Install

npm i require-main

Weekly Downloads

17

Version

0.1.1

License

none

Last publish

Collaborators

  • shinnn