Skip to content

ChenPeleg/hours-report

Repository files navigation

Status badge
npm version
License

hours-report

An estimated time spent on a Git repository report.

Please note that the information might not be accurate enough to be used for billing.


Usage

The package is written in 100% vanilla JavaScript without dependencies (excluding dev-dependencies) so that it can run on most versions of Node.js.
It is recommended not to install it globally, but instead use:

npx hours-report

Output

By default, the output is a CSV file like the following:

Report Example

The file can then be opened in Excel, Google Sheets, etc.


Options

Usage:

hours-report <options>

Options:

-e,   --email                        Email address. Default: current Git user email address
-mx,  --max-diff-for-session         Maximum difference in minutes between commits counted in one session. Default: 120
-mn,  --min-session                  Minimum minutes added for the first commit of a session. Default: 30
-df,  --date-from                    Analyze data since this date (Git log format). Default: always (max 1000 rows)
-du,  --date-until                   Analyze data until this date (Git log format). Default: now
-fr,  --format                       Output format: csv | console | xlsx. Default: xlsx
-o,   --output                       Output folder. Default: temp/hours-report
-p,   --path                         Git repository to analyze. Default: current folder (.)
-h,   --help                         Prints help options

Examples:

  • Estimate hours for the current repository:

    hours-report
  • Estimate hours in a repository where developers have long pauses (e.g., 4 hours) between commits:

    hours-report --max-diff-for-session=240

For more information, see the documentation.


Inspirations

Inspired by:


Support

Running with npx

  • Node.js 12
  • Node.js 14
  • Node.js 16
  • Node.js 18
  • Node.js 20

The package is written in vanilla JavaScript with no dependencies (only TypeScript as a dev dependency), allowing support for Node.js versions 12–18.

Development

  • Node.js 19

For development, use Node.js 18 or later.
All tests are written with the Node.js test runner (available in these versions) and use type-related dev dependencies.


Installation

npm i hours-report

Unit Testing

Unit tests use the new experimental Node.js test runner:

npm test

E2E Test

Contains only one test, used for CI purposes and Node.js version compatibility:

npm run e2e

Fixes

Version 1.1.7
Fixed Typos and Improved Documentation Version 1.1.6
Fixed Issue #36

About

Hours report based on git

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •