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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@modulify/conventional-bump

v0.1.2

Published

Semantic-release helper that analyzes conventional commits and recommends the next version (major/minor/patch) based on your git history.

Readme

@modulify/conventional-bump

Semantic-release helper that analyzes conventional commits and recommends the next version (major/minor/patch) based on your git history.

npm version codecov

🌐 Translations

  • Repository: https://github.com/modulify/conventional
  • Spec: https://www.conventionalcommits.org/en/v1.0.0/

Installation

  • npm: npm i @modulify/conventional-bump
  • yarn: yarn add @modulify/conventional-bump
  • pnpm: pnpm add @modulify/conventional-bump

Quick start

import { ReleaseAdvisor } from '@modulify/conventional-bump'

const advisor = new ReleaseAdvisor()
const recommendation = await advisor.advise()

if (recommendation) {
  console.log(recommendation.type)   // 'major' | 'minor' | 'patch'
  console.log(recommendation.reason) // human–readable explanation
}

Public API

Types

  • type ReleaseType = 'major' | 'minor' | 'patch'
  • type ReleaseRecommendation = { type: ReleaseType; reason: string }
  • type CommitType = { type: string; section: string; hidden?: boolean }

Constants

  • DEFAULT_COMMIT_TYPES: CommitType[]
    • Default mapping of commit types to sections and visibility (feat, fix, perf, revert are visible; others are hidden).

ReleaseAdvisor

Creates an analyzer that reads commits from git and recommends the next semantic version.

Constructor:

new ReleaseAdvisor(options?: {
  cwd?: string;         // Working directory for git commands
  git?: Client;         // Custom @modulify/conventional-git client (for tests)
  parse?: ParseOptions; // Conventional commit parser options (@modulify/conventional-git)
  types?: CommitType[]; // Custom type-to-section mapping
})

Method:

advise(options?: {
  ignore?: (commit: Commit) => boolean; // Skip specific commits
  ignoreReverted?: boolean;             // Ignore commits that were later reverted (default: true)
  preMajor?: boolean;                   // If true, downgrade major→minor and minor→patch for <1.0.0
  strict?: boolean;                     // If true, return null when there are no meaningful changes
}): Promise<ReleaseRecommendation | null>

Behavior highlights:

  • Breaking changes ("!" or notes) lead to major unless preMajor is enabled.
  • New features (feat/feature) lead to minor.
  • Otherwise, patch is recommended when there are other visible changes; with strict: true and no changes, returns null.
  • With ignoreReverted: true the advisor cancels out commits that were reverted later, including revert-of-revert chains.

Example: pre-1.0.0 workflow

const advisor = new ReleaseAdvisor()
const next = await advisor.advise({ preMajor: true })
console.log(next?.type) // 'minor' or 'patch' for <1.0.0 projects

Example: strict mode

const next = await advisor.advise({ strict: true })
if (!next) {
  console.log('No release-worthy changes since last tag')
}