Socket
Socket
Sign inDemoInstall

git-commit-stamper

Package Overview
Dependencies
33
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    git-commit-stamper

Updates a log file with selected last git commit data


Version published
Weekly downloads
14
increased by100%
Maintainers
2
Install size
5.47 MB
Created
Weekly downloads
 

Readme

Source

git-commit-stamper

NPM version CircleCI built with typescript JavaScript Style Guide

Updates a log file with selected last git commit data using handlebars tags.

This is useful for stamping in the commit subject / body / etc into your changelog entry.

Install

npm i git-commit-stamper -g

Usage

The basic command is:

$ git-commit-stamper parse <logFile> [outFile]

The parser gets the last git commit and produces the following object, which is used for template data in handlebars:

{
  "shortHash": "d2346fa",
  "hash": "d2346faac31de5e954ef5f6baf31babcd3e899f2",
  "subject": "initial commit",
  "sanitizedSubject": "initial-commit",
  "body": "this is the body of the commit message",
  "summary": "This is a summary of the change",
  "authoredOn": "1437988060",
  "committedOn": "1437988060",
  "author": {
    "name": "Ozan Seymen",
    "email": "oseymen@gmail.com"
  },
  "committer": {
    "name": "Ozan Seymen",
    "email": "oseymen@gmail.com"
  },
  "notes": "commit notes",
  "branch": "master",
  "tags": ['R1', 'R2']
}

newlines

The following properties will have two newlines inserted at the end of their content:

  • subject
  • sanitizedSubject
  • body
  • summary
  • notes

This allows for the following:

{{subject}}{{{body}}}

If the content already has one newline, another will be added. If it has two, no changes will be made.

Example

# CHANGELOG.log

v2 - March 20, 2020

{{subject}}

$ git-commit-stamper parse CHANGELOG.log

Outputs:

v2 - March 20, 2020

initial commit

Including a summary in your changelog

The body content of the git commit might be too large for a changelog.

The template tag summary will be populated if in your commit body, you use the following syntax:

This is my subject line

==summary==
This is a summary of the change
==end summary==

The rest of the commit body

The body tag will have the ==changelog== markers and content removed (but they will remain in the original git commit message).

## {{subject}}{{summary}}
## initial commit

This is a summary of the change

If summary is not empty, then you do not have to worry about adding newlines.

Skip stamping

If you use this tool as part of your CI process, you can skip log stamping by including [skip-changelog] as part of the git commit subject line.

Extended usage

$ git-commit-stamper

git-commit-stamper <command>

Commands:
  git-commit-stamper parse <logFile> [outFile]  Parses a log file with template tags and replaces the
                                                tags with the last git commit info.
  git-commit-stamper tags                       Shows the template data that would be fed into
                                                handlebars.

Options:
  --help     Show help                                                                        [boolean]
  --version  Show version number                                                              [boolean]
$ git-commit-stamper parse --help

git-commit-stamper parse <logFile> [outFile]

Parses a log file with template tags and replaces the tags with the last git commit info.

Positionals:
  logFile  The log file to ingest.                                                  [string] [required]

Options:
  --help      Show help                                                                       [boolean]
  --version   Show version number                                                             [boolean]
  --outFile   Writes output to specified file instead of the original.                         [string]
  --simulate  Prints log output, does not write any data.                    [boolean] [default: false]                                                             [boolean]

Keywords

FAQs

Last updated on 09 May 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc