Get one of the module's parents, cleaning the require cache
npm install module-parent






Get one of the module's parents, cleaning the require cache
If you have different needs regarding the functionality, please add a feature request.
``sh`
npm install --save module-parent
`js`
var parentModule = require('module-parent')(module, 0);
var parentName = parentModule && path.basename(parentModule.filename, '.js') || 'app';
Caution: this module clears require.cache to resolve the filename for the parent modules (if numParentsToSkip parameter is set, then require.cache is set for all the module when going up to parent, except last parent).module.parent
By default, points to the module which required this one at first time, not all the modules require'ing it later.module-parent
That means, each time module loads as at first time and, for example, it's not possible to use singleton pattern for all the modules which uses package .
Parameters
`js`
var parentModule = require('module-parent')(
moduleToStart, // module to start from
numParentsToSkip // number of parents to skip; default: 0
);
, means to determine parents of current module.
Mandatory
Default: none
numParentsToSkip
Type: Number
Description: Number of parent module to skip.
For example, if you need to find module.parent.parent, you need to set it to 1 etc.
Optional
Default: 0, means use parent of the module provided as first parameter.Examples
Fragment of package require-dir-all:
`
var moduleParent = require('module-parent');
....
options._parentsToSkip = options._parentsToSkip || 0;
...
var originalModule = moduleParent(module, options._parentsToSkip);
var parentDir = path.dirname(originalModule.filename);
`Fragment of package config-dir-all:
`js
var moduleParent = require('module-parent');
var originalModule = moduleParent(module, 0);
var parentDir = path.dirname(originalModule.filename);
`Fragment of package mini-rest-logger:
`js
var parent = require('module-parent')(module, 1);
var parentName = parent && path.basename(parent.filename, '.js') || 'app';
``github.com npmjs.com travis-ci.org coveralls.io inch-ci.org
MIT