@twyr/announce

0.11.2 • Public • Published

Announce


node.js CLI for the most common release workflow
Semantic Versioning, Tagging/Releasing on Bitbucket/Github/Gitlab, and Publishing to the NPM Registry
Built as part of the Twy'r effort by Vish Desai and contributors

Category Status
Conventions Conventional Commits Commitizen friendly
Code Stats Languages GitHub repo size LoC Language grade Coverage Status
Security Dependabot Known Vulnerabilities Total alerts Libraries.io dependency status for latest release, scoped npm package
Development GitHub commit activity GitHub last commit
Issues GitHub open issues GitHub closed issues
Pull Requests GitHub open prs GitHub closed prs
Release Status GitHub package.json version GitHub tag (latest SemVer) GitHub release (latest SemVer)
Publish Status node-current npm bundle size npm

TABLE OF CONTENTS

WHY ANNOUNCE

Most node.js projects follow a fairly simple set of steps during development - bump the (semantic) version for the next release, commit code, author a changelog, tag/release on Github/Gitlab (with release notes), and publish to the NPM Registry.

While there are several tools that help with each of these steps, they fall into one of two categories - they either perform only one of the steps, or they try to do everything and end up being extremely complex. A good example of the first category of tool is npm-version, which takes responsibility only for bumping up the versions, and nothing else. On the other hand, tools such as semantic-release provide functionality (via plugins) to push not only to NPM, but also several other registries/endpoints - see semantic-release plugins for example.

For the usual projects, neither of these categories of tools is "exactly right" - they provide either too little, or too much, functionality. The Announce CLI/Module tries to fill in that "sweet spot" - providing exactly the functionality required.

WORKFLOW

The Twy'r Announce tool caters to the following development/release workflow:

  1. Bump version at the beginning of the development cycle / sprint / etc.
  2. Create a changelog automatically before tagging
  3. Generate release notes and create a Github/Gitlab release using the tag created in Step #2
  4. Publish the release to NPM
  5. Repeat for the next development/release cycle

USING THE CLI

CLI Installation

Assuming that node.js and npm have already been installed on the system, Announce can be installed via the following commands:

Install Type Command
Local npm install @twyr/announce --save-dev
Global npm install @twyr/announce --global
CLI Commands

The list of commands, and the options each command supports, can be accessed from the terminal by:

Install Type Command
Local npx announce -h
Global announce -h

The Announce CLI list of commands, and a brief description of each, is given below:

Announce Command Usage Description
Prepare announce prepare Increments the version as necessary. See Prepare Command for details
Release announce release Generate CHANGELOG, tag the code, and release to GitHub/GitLab. See Release Command for details
Publish announce publish Publish a GitHub/GitLab Release to npm. See Publish Command for details

See command specific documentation for further information on how to execute each command, the command-line, options relevant to that command, etc.

INTEGRATING ANNOUNCE CLI INTO ANOTHER MODULE

Module Installation

Assuming that node.js and npm have already been installed on the system, Announce can be installed via the following command: npm install @twyr/announce --save-dev

Module API

Once installed, the module may be loaded using:

const announce = require('@twyr/announce);

See command specific documentation for information regarding each command, the options it takes, etc.

CONTRIBUTING

Code of Conduct

All contributors to this project are expected to adhere to the Code of Conduct specified.

Developing

Details on getting the code, setting up the development environment, and instructions on how to extend/build/test the code are detailed in the Contribution Guide

Contributors

All Contributors

This project owes its existence to these wonderful people (emoji key):


Vish Desai

This project follows the all-contributors specification. Contributions of any kind are welcome!

LICENSE

This project is licensed under the MIT +no-false-attribs license. You may get a copy of the license by following the link, or at LICENSE.md

SEE ALSO

Command Category Alternatives on NPM
Prepare Semantic Versioning npm-version
Release Changelog Management changelog
Release Tagging & Releasing release
Publish Registry (NPM, et al) Publishing publish

Package Sidebar

Install

npm i @twyr/announce

Weekly Downloads

4

Version

0.11.2

License

MITNFA

Unpacked Size

2.4 MB

Total Files

111

Last publish

Collaborators

  • shadyvd