# git-blame-line

> Execute git blame for a single line and get a JSON as result

Latest version **0.2.4** (published 2020-11-17) · MPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install git-blame-line
pnpm add git-blame-line
yarn add git-blame-line
bun add git-blame-line
```

Provides the command `blame-line`.

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.4 |
| Published | 2020-11-17 |
| First published | 2020-11-15 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8 |
| Dependencies | 3 |
| Unpacked size | 102.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Brkn |
| Maintainers | unbrkn |
| Keywords | blame, git, git-blame, typescript |

## Links

- npm: https://www.npmjs.com/package/git-blame-line
- Repository: https://github.com/brkn/git-blame-line
- Homepage: https://github.com/brkn/git-blame-line#readme
- Issues: https://github.com/brkn/git-blame-line/issues
- npm.io page: https://npm.io/package/git-blame-line

## Dependencies (3)

- [meow](https://npm.io/package/meow.md) 8.0.0
- [date-fns](https://npm.io/package/date-fns.md) 2.16.1
- [camel-case](https://npm.io/package/camel-case.md) 4.1.1

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 0.2.4 (latest) — 2020-11-17
- 0.2.3 — 2020-11-15
- 0.2.2 — 2020-11-15
- 0.2.1 — 2020-11-15
- 0.2.0 — 2020-11-15
- 0.1.1 — 2020-11-15
- 0.1.0 — 2020-11-15

## README

[![npm version](https://img.shields.io/npm/v/git-blame-line?style=for-the-badge)](https://www.npmjs.com/package/git-blame-line) [![NPM downloads](https://img.shields.io/npm/dw/git-blame-line?style=for-the-badge)](https://www.npmjs.com/package/git-blame-line)

# Git-blame-line

Executes `git blame` asynchronously for a given `<filepath>:<linenumber>` string, and returns the information in JSON format.

## Usage

You don't need to remember git syntax to get blame info for single line now. Instead of writing this:

```sh
git blame -L 19,+1 --line-porcelain src/index.ts
```

You can execute this from command line:

```sh
blame-line src/index.ts:19
```

And the output would be in the shape as:
```
{
  "author": "Berkan Unal",
  "authorMail": "Berkanunal@gmail.com",
  "authorTime": "2020-11-15T17:35:01.000Z",
  "authorTz": "+0300",
  "committer": "Berkan Unal",
  "committerMail": "Berkanunal@gmail.com",
  "committerTime": "2020-11-15T17:35:01.000Z",
  "committerTz": "+0300",
  "summary": "Remove babel webpack, add eslint, lint project",
  "previous": "816634e51cf31c2d7bd18b7a8b082aff539e1bcd src/index.ts",
  "filename": "src/index.ts",
  "sourceCode": "export async function blameLine(filepathWithLine: string): Promise<BlameInfo> {"
}
```

## Installing for using inside a node project

```sh
yarn add git-blame-line
```
or 
```sh
npm install git-blame-line
```

Then import in the project and use it easily like this <sup>1</sup>:

```js
const { blameLine } = require("git-blame-line");

async function example() {
  const info = await blameLine("path/to/file:123");
  console.log(info);
}

example();
```

<sup>1</sup> You don't have to use requirejs syntax

## License

MPL-2.0

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