Skip to content
/ pubm Public

publish manager for multiple registry (jsr, npm and private registries)

License

Notifications You must be signed in to change notification settings

syi0808/pubm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ab3d4ec · Oct 11, 2024

History

73 Commits
Oct 5, 2024
Oct 5, 2024
Sep 19, 2024
Oct 10, 2024
Oct 11, 2024
Oct 10, 2024
Oct 9, 2024
Oct 9, 2024
Sep 18, 2024
Oct 11, 2024
Oct 5, 2024
Oct 6, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Oct 5, 2024
Oct 10, 2024
Oct 5, 2024

Repository files navigation

pubm

publish manager for multiple registry (jsr, npm and private registries)

Why

  • Customize with plugin
    • GitHub release draft format
    • Adjust tasks (Add, Remove, Sorting)

It is designed to be easy to managing publish to multiple registry.

Usage

pubm [version]

Config file for publish

You can have either package.json or jsr.json.

Tasks

pubm tasks
  • Notify new version ✅
  • Checking required information ✅
    • Select SemVer increment or specify new version ✅
    • Select the tag for this pre-release version in npm: (if version is prerelease) ✅
      • checking for the existence of either package.json or jsr.json ✅
  • Prerequisite checks = skip-pre (for deployment reliability) ✅
    • Checking if remote history is clean... ✅
    • Checking if the local working tree is clean... ✅
    • Checking if commits exist since the last release... ✅
    • Verifying current branch is a release branch... ✅
    • Checking git tag existence... ✅
  • Required conditions checks (concurrently) = skip-required (for pubm tasks) ✅
    • Verifying if npm CLI and jsr CLI are installed... ✅
    • Ping registries... ✅
    • Checking if test and build scripts exist... ✅
    • Checking git version... ✅
    • Checking available registries for publishing... ✅
      • in jsr permission check token exist and ask token ✅
      • if first time -> Checking package name availability... ✅
      • if scoped package and scope reserved contact message ✅
  • Running tests... ✅
  • Building the project... ✅
  • Bumping version... ✅
  • Publishing... (concurrently) ✅
    • npm ✅
      • Running npm publish... ✅
      • Verifying two-factor authentication... ✅
    • jsr ✅
      • Running jsr publish... ✅
  • Pushing tags to GitHub...
  • Creating release draft on GitHub...
np tasks
  • Show New files and New dependencies
  • Check commits exist since last release
  • Check package name availabliity
  • Input SemVer version
  • Input tag (if version is prerelease)
  • Check hasn't been published scoped package
  • Prerequisite tasks
    • Ping npm registry
    • Check package manager version
    • Verify user is authenticated
    • Check git version
    • Check git remote
    • Validate version
    • Check for prerelease vesion
      • if not private and is prerelease version and tag option not exist -> throw error should set tag
    • Check git tag existence
  • Git tasks
    • Check current branch is release branch
    • Check local working tree is clean
    • Check remote history is clean
  • Cleanup
  • Install dependencies
  • Tests
  • Bumping version
  • Publish package
  • two-factor authentication
  • Push tags
  • Release draft