Socket
Socket
Sign inDemoInstall

ezchangelog

Package Overview
Dependencies
28
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ezchangelog

changelog


Version published
Weekly downloads
175
increased by24.11%
Maintainers
1
Install size
528 kB
Created
Weekly downloads
 

Changelog

Source

v6.0.0 (2016-04-06)

Readme

Source

ezchangelog

version status coverage dependencies devDependencies

Make it easy to update changelog with commit messages.

Usage

npm i -g ezchangelog

cd repo

# create a new changelog.md file
changelog

# do some commits

# prepend new changes use `git log --no-merges`
changelog

# prepend new changes
git log --before Nov.10 | changelog

Example

See changelog

Command line

changelog -h to see options.

There are two ways in the command line.

The following command will call git log --no-merges to generate changes info:

changelog [options]

You can also pipe the changes into it:

git log --before Nov.10 | changelog [options]

package.json

{
  "changelog": {
    "baseUrl": "https://github.com/zoubin/ezchangelog/commit/",
    "plugin": ["pluginName"],
    "out": "changelog.md"
  }
}

There are links to all commits.

baseUrl: specify the base path for each commit. By default, commits are linked to github.

out: specify the changelog file path

API

var changelog = require('ezchangelog')

changelog(opts)

Return a transform to process git log outputs.

opts.baseUrl

Specify the url base for commits.

Type: String

opts.plugin

Specify extra plugins to apply to the pipeline.

Type: Array

Each element should be an Array, if the plugin should take an extra argument besides the Changelog instance.

{
  plugin: [ [function pluginFn(instance, opt) {}, opt] ]
}

changelog.Changelog

The constructor for loggers.

You can process the pipeline property and the plugin function.

pipeline

A duplex created by labeled-stream-splicer, assembling a group of transforms to process the log.

There are two main phases:

  • parse: containing sub-phases: split, commit, tag, url. The main purpose of this phase is to create commit objects.
  • format: containing one sub-phase: markdownify. Commit objects are formatted to markdown in this phase.

The default commit object is like:

{
  commit: {
    // commit sha1
    long: '3bf9055b732cc23a9c14f295ff91f48aed5ef31a',
    short: '3bf9055',
  },
  committer: {
    // commit date
    date: new Date('Sat Nov 7 18:41:37 2015 +0800'),
  },
  // raw message lines
  messages: ['', '    4.0.3', ''],
  // raw headers before the messages
  headers: [
    ['Author', 'zoubin <zoubin04@gmail.com>'],
    ['Date', 'Sat Nov 7 18:41:37 2015 +0800'],
  ],
  // the first non-empty message line
  subject: '4.0.3',
  // other message lines
  body: '',
  // git tag
  tag: 'v4.0.3',
  // link to the commit. opts.baseUrl should be specified.
  url: 'https://github.com/zoubin/ezchangelog/commit/3bf9055',
}

You can manipulate the pipeline in the way labeled-stream-splicer supports.

plugin

Type: Array

Each element is a plugin with optional argument.

A plugin is used to manipulate the pipeline property:

var Changelog = require('ezchangelog').Changelog
var c = new Changelog()
c.plugin(fn)

source.pipe(c.pipeline).pipe(dest)

funciton fn(c, opts) {
  // parse emails
  c.pipeline.get('parse').push(emailParser)

  // replace the default formatter with a custom one
  c.pipeline.get('format').splice('markdownify', 1, myOwesomeFormatter)
}

Keywords

FAQs

Last updated on 06 Apr 2016

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