0.1.0 • Published 3 months ago

avae v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

avae

Streamline the generation of release notes/text from your changelog file effortlessly. Whether you're managing a large-scale project or a smaller development effort, avae empowers you to create professional and comprehensive release notes/text with ease. avae read the changelog file from top to bottom and create release file from it. avae relies on version tags in the changelog as the parsing boundary. The version tags should follow sermantic versioning (vX.Y.Z).

Test Publish npm npm License js-standard-style

Installation

To install avae into your project, run:

npm i avae

NOTE: avae is also available as a command line interface which enables you to generate release notes effortlessly from the terminal. To install avae cli run:

npm i -g avae

For available commands, run:

avae help

Example

To use it in your npm project, configure avae in your package.json file by running the following command:

npm pkg set scripts.avae=avae

To generate release text later on, run:

npm run avae

Above command will read CHANGELOG.md and generate RELEASE.md file in the root directory of the project. By default, the file to read from is CHANGELOG.md and output file to write to is RELEASE.md

Optionally, you can import avae into your javascript file and create release text by calling createReleasetText function.

import * as createReleasetText from "avae"

const read = path.join(__dirname, "CHANGELOG.md")
const out = path.join(__dirname, "RELEASE.md")

createReleasetText(read, out, 1)

terminal logs:

[RELEASE]: writing RELEASE.md
[RELEASE]: saved RELEASE.md
+          RELEASE.md ++++++++++++++++++++++++++++++++

Options

To customize the default behaviour of avae, you can pass several options when runing avae.

1: --read<path> || -r<path> Specify the dir/filename path from which avae should read from. Example:

npm run avae --read "CHANGELOG.md"

2: --out<path> || -o<path> Specify the dir/filename path to which avae should output/write. Example:

npm run avae --out "RELEASE.md"

3: --count<number> || -c<number> Specify the number of releases that should be written to the output file. Example:

npm run avae --count 1

CI/CD

For automation purposes, avae can be used together with softprops/action-gh-release to generate release notes on tags push. Below is the workflow example that impliment avae and softprops/action-gh-release to generate release notes.

name: Release
on:
 push:
  tags:
    - "v*.*.*"
permissions:
  contents: read

jobs:
  releae:
    permissions:
    contents: write  # for softprops/action-gh-release to create GitHub release
    runs-on: ubuntu-latest
    environment: release
    steps:
    - name: Checkout
        uses: actions/checkout@v4
    - name: Install Node.js
        uses: actions/setup-node@v4
        with:
        node-version: 21
        name: Install dependencies
        run: npm ci
    - name: Publish Packages
        env:
            NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
        npm config set "//registry.npmjs.org/:_authToken" "${NPM_TOKEN}" # pnpm config set is broken
        pnpm release
    - name: Generate release description
        run: pnpm run avae
    - name: Release
        uses: softprops/action-gh-release@v1
        with:
        draft: true
        files: dist/*
        body_path: RELEASE.md

TODO

Tailor release notes to meet your project's specific requirements using customizable templates and formatting options.

Contributing

We welcome contributions and suggestions to enhance the functionality and robustness of the avae. Please refer to the Contributing Guidelines to get started.

Copyright and license

Copyright (c) 2024 Zidikhery Mchomvu

Licensed under the MIT License.

0.1.0

3 months ago

0.0.0

3 months ago

1.0.13

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.12

3 years ago

3.1.8

3 years ago