git-commit-statistics

2.0.0 • Public • Published

git-commit-statistics

Codacy Badge NPM version Build Status Coverage Status

Get commit log statistics of git repository.

Features

Can get belows statistics. Examples of result are here.

  • byPerDayOfMonth
  • byPerMonth
  • byPerWeekDays
  • byPerYear
  • byPerDayHour
  • byDayHourOfWeekDay

Installation

$ npm install git-commit-statistics

Usaga

const CommitStatistics = require('git-commit-statistics');
 
const cs = new CommitStatistics('<yourRepositoryPath>/.git');
 
//No options
let result = cs.getByPerDayOfMonth();
 
//With options
const options = {
  author: 'YoshinoriN',
  since: '2017-01-01',
  after: '2018-01-01',
  maxCount: 100,
  noMerges: true
};
let result = cs.getByPerDayOfMonth(options);

All available methods are belows.

name options result
getByPerDayOfMonth() Options example
getByPerMonth() Options example
getByPerWeekDay() Options example
getByPerYear() Options example
getByDayHour() Options example
getByDayHourOfWeekDay() Options example

Options

Input argument to each method. Example is below.

const options = {
  author: 'YoshinoriN',
  maxCount: 100
};
let result = cs.getByPerDayOfMonth(options);

Allowable options for each methods argument.

name type example
author string 'YoshinoriN'
since string '2017-01-01'
after string '2018-01-01'
until string '2018-01-01'
before string '2018-01-01'
maxCount number 100
noMerges boolean true

Please see official git document what is mean.

Examples of Result

Example result of each methods.

getByPerDayOfMonth

[ { day: 1, count: 809 },
  { day: 2, count: 733 },
...
  { day: 30, count: 642 },
  { day: 31, count: 340 } ]

getByPerMonth

[ { id: 1, month: 'Jan', count: 2124 },
  { id: 2, month: 'Feb', count: 2147 },
...
  { id: 11, month: 'Nov', count: 1631 },
  { id: 12, month: 'Dec', count: 2110 } ]

getByPerWeekDay

[ { id: 0, dayOfWeek: 'Sun', count: 1891 },
  { id: 1, dayOfWeek: 'Mon', count: 3899 },
...
  { id: 5, dayOfWeek: 'Fri', count: 3765 },
  { id: 6, dayOfWeek: 'Sat', count: 1950 } ]

getByPerYear

[ { year: 2009, count: 915 },
  { year: 2010, count: 1945 },
...
  { year: 2017, count: 4610 },
  { year: 2018, count: 3429 } ]

getByDayHour

[ { hour: 0, count: 744 },
  { hour: 1, count: 671 },
...
  { hour: 22, count: 987 },
  { hour: 23, count: 938 } ]

getByDayHourOfWeekDay

{ id: 0,
  Sun:
   [ { hour: 11, count: 1 },
     { hour: 12, count: 1 },
     { hour: 23, count: 1 } ] }
{ id: 1,
  Mon:
   [ { hour: 8, count: 1 },
     { hour: 9, count: 3 },
...
     { hour: 20, count: 2 },
     { hour: 21, count: 1 } ] }
...
{ id: 5,
  Fri:
   [ { hour: 5, count: 4 },
     { hour: 7, count: 2 },
...
     { hour: 21, count: 1 } ] }
{ id: 6,
  Sat:
   [ { hour: 1, count: 2 },
     { hour: 4, count: 1 },
...
     { hour: 20, count: 1 },
     { hour: 21, count: 2 } ] }

License

MIT

Package Sidebar

Install

npm i git-commit-statistics

Weekly Downloads

1

Version

2.0.0

License

MIT

Unpacked Size

21.2 kB

Total Files

19

Last publish

Collaborators

  • yoshinorin