npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

yaclt

v2.5.3

Published

Yet Another Change Log Tool

Downloads

1,131

Readme

GitHub issues Build NPM Publish npm version Discord Server Husky yargs Neovim plugin

Yet Another Change Log Tool

Friends don't let friends use git commit messages as change log entries; they should be more thoughtfully written.

yaclt is a highly configurable, file-based change log generator and validator. Include a change log entry file generated by yaclt in each Pull Request, then use yaclt again to gather each individual entry into CHANGELOG.md as part of your release process.

Features

  • Customize the format of individual entries and CHANGELOG.md using Handlebars
  • Add your own extra user-defined validations using pre- and post-command hooks
  • Validate that all change log entries match a specified format (e.g. for use in CI pipelines)
  • Automatically parse issue numbers from branch names
  • Automatically checkout a new branch for generating release notes (branch name customizable with Handlebars)
  • Neovim plugin (yaclt.nvim)
  • And more

The full set of options for each command can be found in the documentation or by running the command with the --help argument.

Configuration

All command line flags and arguments can be specified in a configuration file. Most likely you will want most of your options to be specified in a configuration file. Supported file names are:

  • yacltrc.yml
  • .yacltrc.yml
  • yacltrc.yaml
  • .yacltrc.yaml
  • yacltrc.json
  • .yacltrc.json
  • yacltrc.js
  • .yacltrc.js

.js config must use CommonJS format, e.g. module.exports =. Options passed on the command line will override options from the configuration file if present.

If the working directory is inside a git repository, the tree will be traversed to the git root, using the first valid configuration file that is found. If no configuration file is found in the repo, it will also check, in order of precedence, $YACLT_CONFIG_HOME/, $XDG_CONFIG_HOME/yaclt/, $HOME/.config/yaclt/ for global configuration files.

If you are using a Javascript configuration file (e.g. yacltrc.js), any of the options can be a parameterless function which returns a value of the same type expected by the option. This can be useful, for example, if you'd like to write some custom logic to parse the next release number based on git tags, or generate your messages automatically from git commit messages.

For options which are Handlebars templates (e.g. --format, --releaseBranchPattern, or --changelogTemplate), you may specify a filepath instead of a literal template string. The CLI will check if the argument is a filepath to a file that exists, and if so, read the template from that file.

Documentation on customizing formats with Handlebars can be found in the documentation.

Configuration Recipes

Some common configuration recipes can be found in the documentation.

Contributing

See CONTRIBUTING.md