parent-module

Get the path of the parent module

Usage no npm install needed!

<script type="module">
  import parentModule from 'https://cdn.skypack.dev/parent-module';
</script>

README

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

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

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

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.