# get-caller-file

> [![Build Status](https://travis-ci.org/stefanpenner/get-caller-file.svg?branch=master)](https://travis-ci.org/stefanpenner/get-caller-file) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.a

Latest version **2.0.5** (published 2019-03-09) · ISC license · 0 weekly downloads

## Install

```sh
npm install get-caller-file
pnpm add get-caller-file
yarn add get-caller-file
bun add get-caller-file
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.5 |
| Published | 2019-03-09 |
| First published | 2015-12-30 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | separate (@types/get-caller-file) |
| Module format | CommonJS |
| Node | 6.* \|\| 8.* \|\| >= 10.* |
| Dependencies | 0 |
| Unpacked size | 4.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 36 |
| Author | Stefan Penner |
| Maintainers | stefanpenner |

## Links

- npm: https://www.npmjs.com/package/get-caller-file
- Repository: https://github.com/stefanpenner/get-caller-file
- Homepage: https://github.com/stefanpenner/get-caller-file#readme
- Issues: https://github.com/stefanpenner/get-caller-file/issues
- npm.io page: https://npm.io/package/get-caller-file

## Recent versions

- 2.0.5 (latest) — 2019-03-09
- 2.0.4 — 2019-03-09
- 2.0.3 — 2019-03-09
- 2.0.2 — 2019-03-09
- 2.0.1 — 2018-12-11
- 2.0.0 — 2018-07-11
- 1.0.3 — 2018-07-11
- 1.0.2 — 2016-08-09
- 1.0.1 — 2015-12-30
- 1.0.0 — 2015-12-30

## README

# get-caller-file

[![Build Status](https://travis-ci.org/stefanpenner/get-caller-file.svg?branch=master)](https://travis-ci.org/stefanpenner/get-caller-file)
[![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master)

This is a utility, which allows a function to figure out from which file it was invoked. It does so by inspecting v8's stack trace at the time it is invoked.

Inspired by http://stackoverflow.com/questions/13227489

*note: this relies on Node/V8 specific APIs, as such other runtimes may not work*

## Installation

```bash
yarn add get-caller-file
```

## Usage

Given:

```js
// ./foo.js
const getCallerFile = require('get-caller-file');

module.exports = function() {
  return getCallerFile(); // figures out who called it
};
```

```js
// index.js
const foo = require('./foo');

foo() // => /full/path/to/this/file/index.js
```


## Options:

* `getCallerFile(position = 2)`: where position is stack frame whos fileName we want.

---
_Source: https://npm.io/package/get-caller-file · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
