Skip to content

sindresorhus/parent-module

Repository files navigation

parent-module

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
import parentModule from 'parent-module';

export default function bar() {
	console.log(parentModule());
	//=> '/Users/sindresorhus/dev/unicorn/foo.js'
};
// foo.js
import bar from './bar.js';

bar();

API

parentModule(filePath?)

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

filePath

Type: string
Default: __filename

The file path 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-package-up to read the package.json of the parent module.

import path from 'node:path';
import {readPackageUpSync} from 'read-package-up';
import parentModule from 'parent-module';

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