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

semantic-release-npm-github-publish

v1.7.7

Published

Opinionated semantic-release shareable configuration for npm and GitHub publishing with changelog generation and release commits.

Readme


Features

  • standard semantic-release plugin chain for npm and GitHub publishing
  • extra patch release rules for build, ci, chore, docs, refactor, style, and test
  • curated changelog grouping, titles, and emojis via commit-transform.js and types.js
  • repo-local stable and beta release channels without forcing branch policy on consumers
  • CI coverage for config loading, release semantics, changelog transforms, docs index integrity, and package contents

Installation

Install semantic-release, this preset, and the peer plugins it expects:

npm install --save-dev \
  semantic-release \
  semantic-release-npm-github-publish \
  @semantic-release/changelog \
  @semantic-release/commit-analyzer \
  @semantic-release/git \
  @semantic-release/github \
  @semantic-release/npm \
  @semantic-release/release-notes-generator

Add a release script:

{
  "scripts": {
    "semantic-release": "semantic-release"
  }
}

Run npx semantic-release in your release workflow.

Quick Start

Example .releaserc.yaml:

branches:
  - main
extends: "semantic-release-npm-github-publish"
ci: false
dryRun: false
debug: false

If your repository releases from a different branch, set branches explicitly in your repo-local config.

Example migration from master:

branches:
  - master
extends: "semantic-release-npm-github-publish"
ci: false
dryRun: false
debug: false

Default Behavior

The exported config uses this plugin chain:

  1. @semantic-release/commit-analyzer with custom releaseRules for additional patch-triggering commit types
  2. @semantic-release/release-notes-generator
  3. @semantic-release/changelog
  4. @semantic-release/npm
  5. @semantic-release/git commits package.json, package-lock.json, and CHANGELOG.md with release(version): Release ${nextRelease.version} [skip ci]
  6. @semantic-release/github

Release semantics match standard Conventional Commits and SemVer:

  • fix => patch
  • feat => minor
  • BREAKING CHANGE footer or ! => major
  • build, ci, chore, docs, refactor, style, and test => patch in this preset

Compatibility

This preset is actively maintained against the current stable semantic-release major.

  • tested with Node 22 and 24
  • publish workflow runs on Node 24
  • peer dependency ranges are pinned to currently supported plugin majors
  • this repository validates a beta prerelease branch with a repo-only release config

When To Use This Preset

Use this package when you want:

  • the exact plugin chain documented above
  • extra patch releases for maintenance-only commit types
  • the opinionated changelog formatting in this repository
  • a maintained upgrade path for this preset over time

Use repo-local plugin composition when your team wants different plugins, different release rules, or full control over upgrade timing.

Repository Maintenance Notes

  • Consumer-facing examples use main.
  • Repository automation publishes stable releases from main and prereleases from beta.
  • The shared preset does not hardcode release branches for consumers.
  • Dependabot PRs can auto-refresh package-lock.json through the dedicated lockfile-fixer workflow.
  • Dependabot npm patch updates can enable GitHub auto-merge after required checks pass.

System Requirements

  • Node ^22.14.0 || >=24.10.0
  • npm
  • GitHub Actions or another CI system capable of providing GITHUB_TOKEN and NPM_TOKEN

Documentation

Project Status

Maintained. The package is intentionally small and follows the current stable semantic-release/plugin majors declared in package.json.

Security Notes

This package does not handle tokens directly, but release workflows that use it normally require npm and GitHub credentials. Keep release tokens in CI secrets and avoid printing release logs that include credentials.

Report vulnerabilities through the repository security advisory flow documented in SECURITY.md.

Support

Donations are intentionally not configured for this repository.

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md.

License

MIT. See LICENSE.

Author

Oleg Koval