Skip to content

betterwrite/generi

Repository files navigation

Generi

A Versioning Generator for JavaScript Projects.



  • ✅ Easy CL
  • ✅ Monorepo support with Lerna
  • ✅ Release support with Github CLI

Install

npm i -g generi or yarn global add generi

Usage

generi init

Init generi.json configuration, and, if necessary, a git project

generi log <target> <-p prerelease>

Generate CHANGELOG.md and the necessary contents

generi log patch 0.1.0 >> 0.1.1

generi log minor 0.1.0 >> 0.2.0

generi log major 0.1.0 >> 1.0.0

generi log prepatch 0.1.0 >> 0.1.1-beta.0

generi log preminor 0.1.0 >> 0.2.0-beta.0

generi log premajor 0.1.0 >> 1.0.0-beta.0

generi log premajor -p alpha 0.1.0 >> 1.0.0-alpha.0

generi revert

Revert generi log last command

Monorepo

Monorepo versions may depend on external tools. Given this, Generi supports lerna workspaces, using the command lerna version before creating the changelog. In other setups, we recommend disabling the tag and version options.

generi.json

silent Default: false

Do not emit any message in console

commits Default: "none"

Default format content in CHANGELOG.md

Options: none | conventional-commits

tag Default: true

Release a git tag

version Default: true

Insert new version in package.json

push Default: false

Push commits in actually branch after log

publish Default: false

Publish(NPM) package in final log

repository Default: undefined

A URL to git repository for sha256 open link

exclude Default: [" typo"]

Invalidates commits in CHANGELOG.md that contain the considered options

prerelease Default: beta

Default 'canary', 'beta' or 'alpha' argument for prerelease log command