Socket
Socket
Sign inDemoInstall

changelog-handler

Package Overview
Dependencies
13
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    changelog-handler

Allows users to create changelog entries and release them.


Version published
Weekly downloads
0
Maintainers
1
Install size
2.57 MB
Created
Weekly downloads
 

Readme

Source

Changelog Handler

Handles changelog entries by storing them as seperate files within a changelog folder for each pull request.

Installation

npm install changelog-handler --save-dev

Configure (optional)

// .changelog.config.json
{
  "changelogPaths": {
    "unreleased": "./changelogs",
    "release": "changelog.md"
  }
}
Config optionsDescription
changelogPaths.unreleasedchangelog entry paths (default: './changelogs/unreleased')
changelogPaths.releasename + path of changelog release file (default: 'CHANGELOG.md')
parserTypeparser type, must match supported types in customParsers (default: 'yml')
customParsersObject of key value pairs of custom parsers (see example below)
changelogIdentifierRegex of changelog identifier to match in changelog file (default: /^\=\= [0-9]\.[0-9]\.[0-9].*/)
rootDirTo specify a different root directory for changelog entries (default: '')
releaseTemplateFileCustom release template file (in mustache format) (default: template.mustache)
releaseTemplateCustom release template in string (in mustache format)

Config files can also be stored as js or ts files, or specified using the --config <config path> param.

Usage

Creating a changelog entry

npx changelog "description of change" -m 1000 -t bug

Creating a release

npx release -v 1.0.0

This updates the CHANGELOG.md file with the unreleased changelogs. This also deletes the changelog entries.

Custom Release Template

You can define a custom release template. This can be done by using the releaseTemplateFile or releaseTemplate config. The mustache variables that are available:

Template variablesDescription
entrieschangelog entry paths (default: './changelogs/unreleased')
versionThe version passed in through --version
dateThe current date as a locale date string
titleCustom title passed in through --title or '{{version}} {{date}}'
countTotal count of entries
singleChangeA boolean if entries is of length 1

See the default mustache template as an example here.

Custom Parser

By default we use yml to store the changelog data. This can be changed by passing in a custom parser. The custom parser should follow the format of the Parser abstract.

// .changelog.config.js
const Parser = require('./parser');
const config = {
  parserType: 'test',
  customParsers: {
    test: Parser,
  },
};
module.exports = config;

// parser.js
class Parser {
  constructor() {
    this.fileExtension = 'test';
  }

  write(data, filepath) {
    console.log(data, filepath);
  }

  read(filepath) {
    console.log(filepath);
  }
}

module.exports = Parser;

FAQs

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