Sign In

@bfra.me/badge-config

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bfra.me/badge-config

TypeScript API for generating shields.io badge URLs with preset generators

latest
Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
350
23.67%
Maintainers
2
Weekly downloads
 
Created
Source

@bfra.me/badge-config

A TypeScript API for generating shields.io badge URLs with presets for common use cases.

Installation

pnpm add @bfra.me/badge-config

Usage

Basic Usage

Create a simple badge by providing a label, message, and color.

import { createBadge } from '@bfra.me/badge-config';

const badgeUrl = createBadge({
  label: 'build',
  message: 'passing',
  color: 'green',
});

console.log(badgeUrl);
// => https://img.shields.io/badge/build-passing-green

Using Presets

The package includes preset generators for common badges like build status, coverage, version, and license.

Build Status

import { buildStatus } from '@bfra.me/badge-config/generators';

const successBadge = buildStatus('success');
// => https://img.shields.io/badge/build-success-green

const failureBadge = buildStatus('failure');
// => https://img.shields.io/badge/build-failure-red

Coverage

The coverage preset automatically adjusts the color based on the percentage.

import { coverage } from '@bfra.me/badge-config/generators';

const highCoverage = coverage(95);
// => https://img.shields.io/badge/coverage-95%25-green

const lowCoverage = coverage(45);
// => https://img.shields.io/badge/coverage-45%25-red

API

createBadge(options)

Generates a shields.io badge URL.

  • options (BadgeOptions): Configuration object.
    • label (string): The text on the left side of the badge.
    • message (string): The text on the right side of the badge.
    • color (string): The color of the right side of the badge.
    • style ('plastic' | 'flat' | 'flat-square' | 'for-the-badge' | 'social'): The badge style.
    • logo (string): A named logo from simple-icons.
    • logoColor (string): The color of the logo.

Preset Generators

buildStatus(status)

  • status ('success' | 'failure' | 'pending' | 'running'): The build status.

coverage(percentage)

  • percentage (number): The code coverage percentage (0-100).

version(versionString)

  • versionString (string): A semantic version string.

license(licenseType)

  • licenseType ('MIT' | 'Apache-2.0' | 'GPL-3.0'): The license type.

CI/CD Integration

You can use @bfra.me/badge-config in your CI/CD pipeline to generate dynamic badges.

GitHub Actions Example

# .github/workflows/ci.yml
name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: pnpm/action-setup@v2
        with:
          version: 8
      - name: Install dependencies
        run: pnpm install
      - name: Generate Badges
        id: generate_badges
        run: |
          # Example script to generate badges
          # You would replace this with your own script using @bfra.me/badge-config
          echo "::set-output name=build_badge::https://img.shields.io/badge/build-passing-green"
      - name: Update README
        run: |
          # Example of updating README with the new badge
          # This is a simplified example. A more robust solution would use a templating engine.
          sed -i "s|!\[Build Status\].*|![Build Status](${{ steps.generate_badges.outputs.build_badge }})|" README.md

Performance

URL generation is synchronous and very fast. For applications requiring thousands of badges, consider caching the results to avoid redundant computations.

This README was generated with the help of GitHub Copilot.

Keywords

badges

FAQs

Package last updated on 30 Nov 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts