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

release-bump

v3.0.0-alpha.69

Published

Bumps Changelog and docblock versions for a code release.

Downloads

522

Readme

Release Bump

Enforce code quality Compile source code

Bumps Changelog, docblock, and WordPress theme/plugin versions for a code release.

Use unreleased in your Changelog and docblock comments, and Release Bump will automatically bump it to the correct release version.

This package writes to your file system.

  • ☝️ Only does one thing
  • 👌 Zero production dependencies
  • 🤏 API is <8kb, CLI is 4kb
  • 🤙 Supports ESM and Common JS
  • 🤘 TypeScript types included
  • 🙌 No ads, no analytics, no tracking

Release Bump was developed to solve the problem of wanting to update a project's Changelog, and add docblock @since comments to source code, without yet knowing the next release version. Instead of guessing whether the next release is a major, minor, or patch release, we should be able to just write unreleased, and have the version number bump to the correct version automatically at release time.

This becomes especially important while working on a team. Perhaps I've fixed a bug, and so I suspect the next release is a patch. But later, a team mate adds a new feature. So is the next release minor? Perhaps later we end up with some backwards-incompatible API-breaking changes. So maybe the next release is major. We shouldn't need to worry about what the next version is going to be until it's actually time for the release.

Table of contents

Getting started

$ npm install --save-dev release-bump
$ release-bump --help

  Usage
    $ release-bump <options>

  Options
    --changelogPath   Path to changelog.
    --date            Release date.
    --dryRun       -d Dry run.
    --failOnError  -e Fail on error.
    --filesPath       Path to directory of files to bump.
    --ignore          Directories to ignore.
    --help         -h Log CLI usage text.
    --prefix       -p Prefix release version with a 'v'.
    --quiet        -q Quiet, no logs.
    --release         Release version.
    --repository      Remote git repository URL.
    --version      -v Log Release Bump version.

  Examples
    $ release-bump -pq --files=src

Prerequisites

Node ^14, or Node ^8 with a polyfill.

See .nvmrc for required Node version in development.

Installation

npm install --save-dev release-bump

Usage

CLI

If you install this module globally, you can use the release-bump binary as it will be in your path. Otherwise if you install locally per-project, you'll need to use ./node_modules/.bin/release-bump or npx release-bump.

Usage
  $ release-bump <options>

Options
  --changelogPath   Path to changelog.
  --date            Release date.
  --dryRun       -d Dry run.
  --failOnError  -e Fail on error.
  --filesPath       Path to directory of files to bump.
  --ignore          Directories to ignore.
  --help         -h Log CLI usage text.
  --prefix       -p Prefix release version with a 'v'.
  --quiet        -q Quiet, no logs.
  --release         Release version.
  --repository      Remote git repository URL.
  --version      -v Log Release Bump version.

Examples
  $ release-bump -pq --files=src

TypeScript

import { releaseBump, ReleaseBumpOptions } from 'release-bump'

const options: ReleaseBumpOptions = {
  changelogPath: 'CHANGELOG.md',
  date: '2022-03-11',
  filesPath: '.',
  release: '3.0.0',
}
await releaseBump(options)

JavaScript

import { releaseBump } from 'release-bump'

const options = {
  changelogPath: 'CHANGELOG.md',
  date: '2022-03-11',
  filesPath: '.',
  release: '3.0.0',
}
await releaseBump(options)

Config files

Config files coming soon.

Node 8 support

To extend support back to Node 8, you'll need to install a polyfill for fs/promises and require the polyfill when you execute the release-bump binary. This is not officially supported, as I don't maintain the fs/promises polyfill. Use at your own risk.

$ npm install --save-dev fs.promises
$ node -r fs.promises ./node_modules/.bin/release-bump -- <options>

Roadmap

  1. ✅ Core API
  2. ✅ CLI
  3. 🚧 Config files
  4. Refactor tests with datasets
  5. 🚧 Docs
  6. Polish

Contributing

Please see the contributing guidelines.

License

MIT

Contact

Acknowledgments

You're awesome.