JSPM

cngpac

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q57877F
  • License Apache-2.0

A highly configurable package release manager

Package Exports

  • cngpac
  • cngpac/package.json
  • cngpac/publishers/npm
  • cngpac/releasers/github

Readme

cngpac logo

cngpac

A highly configurable package release manager

npm version weekly downloads license docs

Automate changelogs, semantic versioning, npm publishing, and GitHub releases — all driven by a single config file and a pluggable pipeline.


Why cngpac?

Releasing packages involves many error-prone steps: deciding the next version, writing a changelog, bumping package.json, tagging, publishing, creating a GitHub release… Each step is a chance for mistakes.

Tools like Changesets popularized changenote-based workflows but offer limited configurability. Cngpac builds on the same philosophy with deep configuration from the ground up — every stage of the pipeline is pluggable and composable.

What it does

  1. Calculate the correct semantic version bump from changenotes
  2. Generate a rich changelog with commit links, PR references, and contributor attribution
  3. Update package.json with the new version
  4. Commit, tag, and push the release
  5. Publish to npm (with provenance support)
  6. Create a GitHub Release

Quick Start

Install

npm install -D cngpac

Initialize

npx cngpac init

This scaffolds two files:

File Purpose
cngpac.config.ts Release pipeline configuration
.github/workflows/version.yml CI workflow for releases

Documentation

Full documentation is available at cngpac.dev:

License

This project is licensed under the Apache-2.0 license.