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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@bfra.me/semantic-release

v0.3.6

Published

Semantic Release shareable configuration and plugins for bfra.me.

Readme

@bfra.me/semantic-release

Comprehensive TypeScript-first semantic-release configuration with type safety, validation, and modern development patterns.

Features

  • TypeScript-First: Full type safety with IntelliSense support for all configurations
  • Runtime Validation: Catch configuration errors early with Zod-based validation
  • Preset System: Pre-configured workflows for npm packages, GitHub releases, and monorepos
  • Plugin Development: Complete toolkit for creating custom semantic-release plugins
  • Configuration Composition: Fluent API and composition utilities for complex setups
  • Environment Awareness: Automatic environment detection and configuration optimization

Quick Start

Installation

# npm
npm install --save-dev @bfra.me/semantic-release semantic-release

# pnpm
pnpm add --save-dev @bfra.me/semantic-release semantic-release

# yarn
yarn add --dev @bfra.me/semantic-release semantic-release

Basic Usage

// release.config.ts
import { defineConfig } from '@bfra.me/semantic-release'

export default defineConfig({
  branches: ['main'],
  plugins: [
    '@semantic-release/commit-analyzer',
    '@semantic-release/release-notes-generator',
    '@semantic-release/changelog',
    '@semantic-release/npm',
    '@semantic-release/github',
    '@semantic-release/git',
  ],
})

Using Presets

// NPM package preset
import { npmPreset } from '@bfra.me/semantic-release'

export default npmPreset({
  branches: ['main', { name: 'beta', prerelease: true }],
  repositoryUrl: 'https://github.com/user/package'
})

Builder Pattern

// Fluent API for complex configurations
import { createConfigBuilder } from '@bfra.me/semantic-release/builder'

export default createConfigBuilder()
  .branches(['main', 'beta'])
  .plugins()
    .commitAnalyzer()
    .releaseNotesGenerator()
    .changelog()
    .npm()
    .github()
    .git()
  .build()

Documentation

  • Getting Started Guide - Comprehensive guide to TypeScript semantic-release configuration
  • API Reference - Complete TypeScript API documentation
  • Migration Guide - Coming in TASK-046
  • Plugin Development Tutorial - Coming in TASK-043

API Overview

Configuration Methods

  • defineConfig() - Main configuration function with validation and type safety
  • createConfigBuilder() - Fluent API builder pattern
  • createConfig() - Factory function for JavaScript configurations

Available Presets

  • npmPreset() - Complete npm package workflow
  • githubPreset() - GitHub releases only
  • monorepoPreset() - Monorepo-aware configuration
  • developmentPreset() - Development and pre-release workflows

Configuration Composition

  • mergeConfigs() - Merge multiple configurations
  • extendConfig() - Extend base configurations
  • overrideConfig() - Override specific options

Validation & Testing

  • validateConfig() - Runtime configuration validation
  • validateCompleteConfig() - Comprehensive validation with plugins
  • Plugin testing utilities and mock contexts

TypeScript Support

Full TypeScript definitions are provided for:

  • All semantic-release core configuration options
  • Popular plugin configurations (@semantic-release/*)
  • Custom plugin development interfaces
  • Runtime validation schemas
  • Environment and context typing

Code editors with TypeScript support will provide IntelliSense, error checking, and auto-completion for all configuration options.

License

MIT