Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NPM ChangeLogging and automatization

Tags:

npm

changelog

Python packages have best practices for documenting public API changes using CHANGES.txt (see an example). There are tools like zest.releaser which do automated package publish and release notes maintenance.

  • Do NPM packages have best practices for documenting changes a.k.a. ChangeLog? (or are people expected to make sense from Github history, etc.)

  • Does NPM package have automated tools for maintaining change log when doing NPM package publishing, so that release dates and version numbers would be recorded in ChangeLog?

I found npm-release script, but its functionality is limited to tagging and pushing out new NPM packages.

CHANGES.txt example from Python:

Changelog
=========

1.0.0-dev (Unreleased)
----------------------

- Added feature Z.
  [github_userid1]

- Removed Y.
  [github_userid2]


1.0.0-alpha.1 (2012-12-12)
--------------------------

- Fixed Bug X.
  [github_userid1]  
like image 370
Mikko Ohtamaa Avatar asked Oct 20 '22 17:10

Mikko Ohtamaa


1 Answers

From what I have seen so far, people tend to build custom mini tools that would read the Git (or other VCS) history and output a changelog based on some internal conventions.

This is not specific to the Node.js world though.

There are actually a couple of Grunt plugins that might help you with that:

  • https://github.com/btford/grunt-conventional-changelog
  • https://github.com/ericmatthys/grunt-changelog

Grunt is one of the finest build tools out there. It's quite popular (until the next one?), and it can help you integrate this phase into your release process. We can easily imagine orchestrating the changelog task with the grunt-release plugin.

I don't have in mind any standalone tool or plugin that would allow you to do all that zest.releaser does out of the box (but that doesn't mean it does not exists).

like image 195
Aurélien Thieriot Avatar answered Oct 23 '22 23:10

Aurélien Thieriot