Socket
Socket
Sign inDemoInstall

stringify-changelog

Package Overview
Dependencies
6
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    stringify-changelog

Generate a markdown-formatted changelog from an object, array, yaml or json file.


Version published
Weekly downloads
473
decreased by-28.77%
Maintainers
1
Install size
4.09 MB
Created
Weekly downloads
 

Readme

Source

stringify-changelog NPM version NPM downloads Build Status

Generate a markdown-formatted changelog from an object, array, yaml or json file.

Converts valid YAML, like this:

v0.1.0:
  date: "2016-12-26"
  changed:
    - Got stuck in another chimney.

Into this:

### [v0.1.0] - 2016-12-26

**changes**

- Got stuck in another chimney.

Install

Install with npm:

$ npm install --save stringify-changelog

Usage

var changelog = require('stringify-changelog');
changelog(value, options);

Params

  • value {String|Object|Array}: File path of YAML file to read, object or array of changes (see below)
  • options {Object}: the following options may be passed to modify output
    • format {Function} Custom function for formatting each entry in the changelog
    • key {Function} Prepend the following key/reference to your generated changelog, to guide users in making semantically labeled entries.

Example key

## key

Changelog entries are classified using the following labels from [keep-a-changelog][]:

- `added`: for new features
- `changed`: for changes in existing functionality
- `deprecated`: for once-stable features removed in upcoming releases
- `removed`: for deprecated features removed in this release
- `fixed`: for any bug fixes

[keep-a-changelog]: https://github.com/olivierlacan/keep-a-changelog

Data format

Conventions from [keep-a-changelog][] are supported by default. When data is passed as an object or array (from a file or directly), changelog entries can be categorized using the following labels as property names:

  • added for new features.
  • changed for changes in existing functionality.
  • deprecated for once-stable features removed in upcoming releases.
  • removed for deprecated features removed in this release.
  • fixed for any bug fixes.
  • security to invite users to upgrade in case of vulnerabilities.

Examples

Data can either be formatted as an array or an object.

Object

JSON

{ 'v0.1.0':
   { date: '2016-12-26',
     changed: [ 'Got stuck in another chimney.' ] } }

YAML

v0.1.0:
  date: "2016-12-26"
  changed:
    - Got stuck in another chimney.

Array

JSON

[ { date: '2016-12-26',
    version: 'v0.1.0',
    changed: [ 'Got stuck in another chimney.' ] } ]

YAML

- version: v0.1.0
  date: '2016-12-26'
  changed:
    - Got stuck in another chimney.

Arbitrary entries

If you don't want to follow keep-a-changelog format, or you have an arbitrary entry that doesn't fit in one of the above categories, you can use the description property.

Array

[ { date: '2016-12-26',
    version: 'v0.1.0',
    description: [ 'Got stuck in another chimney.' ] } ]

Object

{ 'v0.1.0':
   { date: '2016-12-26',
     description: [ 'Got stuck in another chimney.' ] } }

About

helper-changelog: Template helper for generating a markdown-formatted changelog from an object, array or yaml file. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on July 21, 2016.

Keywords

FAQs

Last updated on 21 Jul 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