npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@neo4j/practicle

v0.1.7

Published

the pr-activated-changelog-emitter - Generate a changelog from PR:s in a Github repo

Downloads

14

Readme

PRacticle - the pr-activated-changelog-emitter

Installation

Install globally to get a binary executable in your system.

npm install -g @neo4j/practicle

Commands

generate-changelog

Generate a markdown formatted changelog from pull requests in a Github repository. The pull requests need to have a changelog label applied to them.

If the option --prev-version is omitted PRacticle finds all PR:s in the semver minor version and generates a complete changelog for all versions in that range.

I.e. if --next-version=3.2.5 is used, the output will include all changes from 3.2.0 to the upoming 3.2.5 release. They are grouped by version.

Versions are generated from git tags that has the format x.y.z.

When --prev-version is included, the same thing happens but it starts from the version of --prev-version rather than .0.

By default, the text for the changelog entry is taken from the pull request title. If the pull request body includes changelog: on a separate line, it will override the default text.

If release-tag-filter is included, which should be a regex string, it will be used to filter out releases by their tags. Default value complies with semantic versioning that can optionally start with a v, like 1.0.1 or v1.0.1

Usage

Options:
  --token                      GITHUB_TOKEN env should be set         [required]
  --repo, -r                   Github repo to pull changes from       [required]
  --next-version, --nv         The next version of the software to be release
                                                                      [required]
  --release-commit, --rc       The commit hash to be considered as the release
                               for the changelog                      [required]
  --output-pr-links, --opl     Adds the corresponding Github link at the end of
                               the change message
  --output-author, --oa        Appends the PR author to the change message
  --prev-version, --pv         The prev version to generate the
                               changelog from.
                               - If arg is a valid Semver string
                               (x.x.x) then the changelog will
                               generate notes from the tag
                               - If used as a flag then the changelog
                               is generated from the previous semver
                               tag.
                               - If ommitted then the semver
                               major.minor version is used to
                               generate changelogs over that range

  --release-tag-filter, --rtf  The regex to filter out releases by their release
                               tags               [default: "^v?\d+\.\d+\.\d+$"]
  --label-filter, --lf         Override the pull requests label filter
                                                [array] [default: ["changelog"]]

draft-release

Takes contents from a file and creates a draft release on GitHub using that contents.

Options:
  --token               GITHUB_TOKEN env should be set                [required]
  --repo, -r            Github repo to push draft release to          [required]
  --next-version, --nv  The next version of the software to be release[required]
  --commit, -c          The commit that will be tagged                [required]
  --file                File from which to read that will be used for the
                        release description                           [required]

release

Takes contents from a file and creates a release on GitHub using that contents.

Options:
  --token               GITHUB_TOKEN env should be set                [required]
  --repo, -r            Github repo to push draft release to          [required]
  --next-version, --nv  The next version of the software to be release[required]
  --commit, -c          The commit that will be tagged                [required]
  --file                File from which to read that will be used for the
                        release description                           [required]

fetch-release-notes

Fetches release notes from a release tag (or draft release tag) from Github and outputs it to standard out.

Options:
  --token     GITHUB_TOKEN env should be set                          [required]
  --repo, -r  Github repo to push draft release to                    [required]
  --tag, -t   The tag associated with the release                     [required]

Usage

Examples

# Generate md formatted changelog for 3.2.0 -> 3.2.5
# Output to standard output
practicle generate-changelog \
  --repo=https://github.com/neo4j/neo4j-browser \
  --next-version=3.2.5 \
  --release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \
  --output-pr-links \
  --token=xxx
# Generate and pipe to release_notes.md (just changes since the last release)
practicle generate-changelog \
  --repo=https://github.com/neo4j/neo4j-browser \
  --next-version=3.2.5 \
  --prev-version=3.2.4 \
  --release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \
  --output-pr-links \
  --token=xxx \
> release_notes.md
# Only consider releases with name being in the format of `d.d.0`, so where patch is 0
# Output to standard output
practicle generate-changelog \
--repo=https://github.com/neo4j/neo4j-browser \
--next-version=3.2.5 \
--release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \
--token=xxx
--release-tag-filter='^(?:\d*\.){2}0$'

Output

The following command (try it, just remember to use your own token):

practicle generate-changelog \
  --repo=https://github.com/neo4j/neo4j-browser \
  --next-version=3.2.6 \
  --release-commit=7ee472bedcc2e73023e9cf09708e597913ff70cd \
  --output-pr-links \
  --token=xxx

produces the following output

## 3.2.6

- Add `:history clear` command [#800](https://github.com/neo4j/neo4j-browser/pull/800)
- Add pagecache hits and misses to plan output [#812](https://github.com/neo4j/neo4j-browser/pull/812)
- Add complete support for bolt+routing:// [#814](https://github.com/neo4j/neo4j-browser/pull/814)
- Enable users with non reader roles to connect [#818](https://github.com/neo4j/neo4j-browser/pull/818)

## 3.2.5

- Add toggle for multi statement cypher editor [#793](https://github.com/neo4j/neo4j-browser/pull/793)

## 3.2.3

- Fix editor to handle string literals that contain new lines [#794](https://github.com/neo4j/neo4j-browser/pull/794)

## 3.2.2

- Add support for multi-statement execution [#722](https://github.com/neo4j/neo4j-browser/pull/722)

## 3.2.1

- Handle changelog url building in disconnected state [#787](https://github.com/neo4j/neo4j-browser/pull/787)
- Fix issue with creating unique keys from user input [#790](https://github.com/neo4j/neo4j-browser/pull/790)