@yuberto/nx-semantic-release
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

nx-semantic-release

An nx generator to create publishable node packages and libraries using semantic-release.

nx-semantic-release modifies your existing library - or generates a new one with the --libraryGenerator parameter - to be setup with semantic-release.

Usage

The most basic use case is when you have a library called mylib that you wish to setup semantic-release:

nx g @yuberto/nx-semantic-release:library mylib

Follow on-screen prompts to finalize the setup, and release!

Prerequisites

Before you can start:

  • Configure your Continuous Integration service to run semantic-release
  • Configure your Git repository and package manager repository authentication in your Continuous Integration service

Source

Installation

To install the plugin:

npm i -D @yuberto/nx-semantic-release

Library Generator

Generate a Library

The following will create a library named your-library-name with default configuration to publish to both NPM and Github registries.

nx g @yuberto/nx-semantic-release:library your-library-name --branches=main

Configuration

  • name (required)- Name of the semantic-release library to modify/generate.
  • branches (required) - Comma separated list of this repo's release branches.
  • prereleaseBranches - Comma separated list of this repo's pre-release branches.
  • libraryGenerator - Name of the library generator to use if library does not exist.
    • All mandatory parameters of customer library generator should be passed as command line arguments to nx-semantic-release as well.
  • directory - Name of a custom directory inside the libs dir.
    • --name=mylibrary --directory=mydirectory will initiate the library in libs/mydirectory/mylibrary

Note: For a complete list of parameters, please refer to the generator's schema.

Workflow Generator

Generate a workflow

The following will generate a Github workflow named release.ci.yaml to publish your library on every push to branches main and alpha based on node version 18:

nx g @yuberto/nx-semantic-release:workflow --type=github --branches=main,alpha --nodeVersion=18

Configuration

  • type (required) - The type of CI provider you wish to generate a workflow for. Currently only supports github.
  • branches (required) - Comma separated list of this repo's release branches.
  • nodeVersion - The node version on which the CI will run. Defaults to 18.

Note: For a complete list of parameters, please refer to the generator's schema.

Package Sidebar

Install

npm i @yuberto/nx-semantic-release

Weekly Downloads

0

Version

1.1.0

License

none

Unpacked Size

53.8 kB

Total Files

63

Last publish

Collaborators

  • yuver