New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@bfra.me/semantic-release

Package Overview
Dependencies
Maintainers
2
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bfra.me/semantic-release

Semantic Release shareable configuration and plugins for bfra.me.

latest
Source
npmnpm
Version
0.3.8
Version published
Weekly downloads
40
700%
Maintainers
2
Weekly downloads
 
Created
Source

@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

Keywords

bfra.me

FAQs

Package last updated on 23 Aug 2026

Related posts