0.11.2 • Published 3 years ago

@twyr/announce v0.11.2

Weekly downloads
42
License
MITNFA
Repository
github
Last release
3 years ago
CategoryStatus
ConventionsConventional Commits Commitizen friendly
Code StatsLanguages GitHub repo size LoC Language grade Coverage Status
SecurityDependabot Known Vulnerabilities Total alerts Libraries.io dependency status for latest release, scoped npm package
DevelopmentGitHub commit activity GitHub last commit
IssuesGitHub open issues GitHub closed issues
Pull RequestsGitHub open prs GitHub closed prs
Release StatusGitHub package.json version GitHub tag (latest SemVer) GitHub release (latest SemVer)
Publish Statusnode-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 Twy'r Project, 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 Project development/release workflow consists of the following steps: 1. Bump version as required 1. Create a changelog automatically before tagging 1. Generate release notes and create a Github/Gitlab release using the tag created in Step #2 1. Publish the release to NPM 1. Repeat for the next development/release cycle

Every repository in the project, including this CLI/Module, will adhere to this workflow going forward. The Announce module will be used extensively to maintain the versioning, changelog, and release notes - as well as acting as a helper tool to publish to NPM as required.

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 TypeCommand
Localnpm install @twyr/announce --save-dev
Globalnpm install @twyr/announce --global
CLI Commands

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

Install TypeCommand
Localnpx announce -h
Globalannounce -h

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

Announce CommandUsageDescription
Prepareannounce prepareIncrements the version as necessary. See Prepare Command for details
Releaseannounce releaseGenerate CHANGELOG, tag the code, and release to Github. See Release Command for details
Publishannounce publishPublish a Github 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):

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

CommandCategoryAlternatives on NPM
PrepareSemantic Versioningnpm-version
ReleaseChangelog Managementchangelog
ReleaseTagging & Releasingrelease
PublishRegistry (NPM, et al) Publishingpublish