caller-path

v4.0.0
Get the path of the caller function
caller calling module path parent callsites callsite stacktrace stack and 4 more...

caller-path

Get the path of the caller function

Install

npm install caller-path

Usage

// foo.js
import callerPath from 'caller-path';

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

If the caller's callsite object getFileName was not defined for some reason, it will return undefined.

API

callerPath(options?)

Get the path of the caller function.

depth

Type: number
Default: 0

The caller path depth, meaning how many levels we follow back on the stack trace.

For example:

// foo.js
import callerPath from 'caller-path';

export default function foo() {
    console.log(callerPath());
    //=> '/Users/sindresorhus/dev/unicorn/foobar.js'
    console.log(callerPath({depth: 1}));
    //=> '/Users/sindresorhus/dev/unicorn/bar.js'
    console.log(callerPath({depth: 2}));
    //=> '/Users/sindresorhus/dev/unicorn/foo.js'
}
// bar.js
import foo from './foo.js';

export default function bar() {
    foo();
}
// foobar.js
import bar from './bar.js';
bar();

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.
npm i caller-path

Metadata

  • MIT
  • ^12.20.0 || ^14.13.1 || >=16.0.0
  • Sindre Sorhus
  • released 10/8/2021

Downloads

Maintainers