@git-temporal/git-log-scraper

1.0.0 • Public • Published

@git-temporal/git-log-scraper

Method for parsing git log output

Installation

  npm install @git-temporal/git-log-scraper

API Usage

Data Structures

ICommit

interface ICommit = {
  "id": string;
  "authorName": string;
  "relativeDate": string;
  "authorDate": number;
  "message": string;
  "body": string;
  "hash": string;
  "linesAdded": number;
  "linesDeleted": number;
  "files": [
    {
      "name": string;
      "linesAdded": 0;
      "linesDeleted": 42;
    }
  ]
}

Functions

getCommitRange

  getCommitRange(filePath: string) : {
    count: number;
    firstCommit: ICommit,
    lastCommit: ICommit
  }[]

Example:

import { getCommitRange } from '@git-temporal/gitLogScraper';

const commitRange = getCommitHistory(path);
console.warn(`There were ${commitRange.count} commits
  from ${commitRange.firstCommit.authorDate`)
  to ${commitRange.lastCommit.authorDate`)

`);
console.log(JSON.stringify(commitRange, null, 2));

getCommitHistory

  getCommitHistory(filePath: string, skip?: number, count?: number) : ICommit[]

Example:

import { getCommitHistory } from '@git-temporal/gitLogScraper';

const commitHistory = getCommitHistory(path);
console.warn(`parsed ${commitHistory.length} commits`);
console.log(JSON.stringify(commitHistory, null, 2));

Returns an array of javascript objects representing the commits that effected the requested file or directory with files and line stats, that looks like this:

[{
    "id": "eeb817785c771362416fd87ea7d2a1a32dde9842",
    "authorName": "Dan",
    "relativeDate": "5 days ago",
    "authorDate": 1537317391,
    "message": "Remove some old files from stats",
    "body": "",
    "hash": "eeb817785",
    "linesAdded": 0,
    "linesDeleted": 42,
    "files": [
      {
        "name": "scripts/rollup/results.json",
        "linesAdded": 0,
        "linesDeleted": 42
      }
    ]
}, {
  ...
}]

bin

git-log-scraper also provides a binary you can use

  npx @git-temporal/git-log-scraper . > myGitLogHistory.json

...will printout nicely formatted json for the git log information in a directory.

Package Sidebar

Install

npm i @git-temporal/git-log-scraper

Weekly Downloads

16

Version

1.0.0

License

MIT

Unpacked Size

272 kB

Total Files

25

Last publish

Collaborators

  • bee.wilkerson