This repository has been archived on 2022-01-16. You can view files and clone it, but cannot push or open issues or pull requests.
irreligious/node_modules/parent-module
2021-09-04 22:21:14 -05:00
..
index.js switched from tslint to eslint 2021-09-04 22:21:14 -05:00
license switched from tslint to eslint 2021-09-04 22:21:14 -05:00
package.json switched from tslint to eslint 2021-09-04 22:21:14 -05:00
readme.md switched from tslint to eslint 2021-09-04 22:21:14 -05:00

parent-module Build Status

Get the path of the parent module

Node.js exposes module.parent, but it only gives you the first cached parent, which is not necessarily the actual parent.

Install

$ npm install parent-module

Usage

// bar.js
const parentModule = require('parent-module');

module.exports = () => {
	console.log(parentModule());
	//=> '/Users/sindresorhus/dev/unicorn/foo.js'
};
// foo.js
const bar = require('./bar');

bar();

API

parentModule([filepath])

By default, it will return the path of the immediate parent.

filepath

Type: string
Default: __filename

Filepath of the module of which to get the parent path.

Useful if you want it to work multiple module levels down.

Tip

Combine it with read-pkg-up to read the package.json of the parent module.

const path = require('path');
const readPkgUp = require('read-pkg-up');
const parentModule = require('parent-module');

console.log(readPkgUp.sync({cwd: path.dirname(parentModule())}).pkg);
//=> {name: 'chalk', version: '1.0.0', …}

License

MIT © Sindre Sorhus