Skip to content

brillout/release-me

Repository files navigation

@brillout/release-me

Publish your npm packages.

Used by:

Features
Installation
Usage

Warning

Don't use this: it's only meant for Vike's team & friends. That said, feel free to fork this project.


Features

  • Generates CHANGELOG.md.
  • Supports monorepos.
  • Generates Git release tags.
  • Pre-release support. (For example 0.4.177-commit-ff3d6cd.)
  • Asks for confirmation before publishing and shows a preview of the changes made to package.json and CHANGELOG.md, enabling you to double check before publishing.

Installation

Get started

Run $ pnpm -D @brillout/release-me and make sure you have the following:

// package.json
{
  "name": "my-package",
  "version": "0.1.2",
  "scripts": {
    "build": "echo 'Some build step (release-me runs the build script before releasing)'"
  },
  "devDependencies": {
    "@brillout/release-me": "^0.4.0"
  }
}

That's it: you can now use pnpm exec release-me patch to release a new patch version.

We recommend adding the following scripts:

 // package.json
 {
   "name": "my-package",
   "version": "0.1.2",
   "scripts": {
     "build": "echo 'Some build step (release-me runs the build script before releasing)'"
+    "release": "release-me patch",
+    "release:minor": "release-me minor",
+    "release:major": "release-me major",
+    "release:commit": "release-me commit"
   },
   "devDependencies": {
     "@brillout/release-me": "^0.4.0"
   }
 }

It's a convenient way to communicate how new versions are released to anyone who's discovering your project.

Installation example: 8ff59fe.

A CHANGELOG.md file will be automatically generated and updated, see the following section.

Conventional Commits

For proper CHANGELOG.md generation make sure to follow Conventional Commits.

In other words:

  • fix: => bug fix or some polishing (e.g. improved error message).
  • feat: => new feature, i.e. new functionality.

For breaking changes append BREAKING CHANGE: to the commit message:

fix: make someFunction() take an argument object

BREAKING CHANGE: Replace `someFunction(someArg)` with `someFunction({ someArg })`.

Note

When introducing a breaking change, in order to respect the semver convention, don't pnpm exec release-me patch but do pnpm exec release-me major instead (or pnpm exec release-me minor if your package's version is 0.y.z).


Usage

Release a new patch/minor/major version:

pnpm exec release-me patch
pnpm exec release-me minor
pnpm exec release-me major

Note

We recommend defining package.json#scripts (see above) and use $ pnpm run instead of $ pnpm exec.

Release specific version:

pnpm exec release-me v0.1.2

You can also publish pre-releases such as 0.4.177-commit-ff3d6cd:

pnpm exec release-me commit

About

Publish your npm packages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •