https://github.com/brkn/git-blame-line
`git blame` a single line and get output in JSON. Written in TypeScript.
https://github.com/brkn/git-blame-line
blame cli git json typescript
Last synced: about 1 year ago
JSON representation
`git blame` a single line and get output in JSON. Written in TypeScript.
- Host: GitHub
- URL: https://github.com/brkn/git-blame-line
- Owner: brkn
- License: other
- Created: 2020-11-15T17:53:29.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-11-17T15:02:27.000Z (over 5 years ago)
- Last Synced: 2025-04-09T18:13:36.387Z (about 1 year ago)
- Topics: blame, cli, git, json, typescript
- Language: JavaScript
- Homepage:
- Size: 359 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/git-blame-line) [](https://www.npmjs.com/package/git-blame-line)
# Git-blame-line
Executes `git blame` asynchronously for a given `:` string, and returns the information in JSON format.
```sh
npm install --global git-blame-line
```
## CLI
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 {"
}
```
## 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 1:
```js
const { blameLine } = require("git-blame-line");
async function example() {
const info = await blameLine("path/to/file:123");
console.log(info);
}
example();
```
1 You don't have to use requirejs syntax
## License
MPL-2.0