JoshuaKGoldberg / prune-github-notifications

Prunes GitHub notifications you don't care about, such as automated dependency bumps. 🧹

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

prune-github-notifications

Prunes GitHub notifications you don't care about, such as automated dependency bumps. 🧹

πŸ‘ͺ All Contributors: 1 🀝 Code of Conduct: Kept πŸ§ͺ Coverage πŸ“ License: MIT πŸ“¦ npm version πŸ’ͺ TypeScript: Strict

CLI

prune-github-notifications can be run on the CLI with an auth token for notifications access specified as a GH_TOKEN environment variable:

GH_TOKEN=$(gh auth token) npx prune-github-notifications

CLI Options

Only auth is required, and only if a GH_TOKEN isn't available.

Option Type Default Description
--auth string process.env.GH_TOKEN GitHub authentication token with notifications access.
--bandwidth number 6 Maximum parallel requests to start at once.
--reason string[] ["subscribed"] Notification reason(s) to filter to.
--title string "^chore\(deps\): update .+ to" Notification title regular expression to filter to.
--watch number 0 A seconds interval to continuously re-run this on, if truthy.

For example, providing all options on the CLI:

npx prune-github-notifications --auth $(gh auth token) --bandwidth 10 --reason subscribed --title "^chore.+ update .+ to"

Running in watch mode to clear notifications every ten seconds:

npx prune-github-notifications --auth $(gh auth token) --watch 10

Node.js API

npm i prune-github-notifications
import { pruneGitHubNotifications } from "prune-github-notifications";

await pruneGitHubNotifications({ auth: "gho_..." });

If a process.env.GH_TOKEN is set, then the auth parameter will default to it:

await pruneGitHubNotifications();

Node.js Options

Only auth is required, and only if a GH_TOKEN isn't available.

Option Type Default Description
auth string process.env.GH_TOKEN GitHub authentication token with notifications access.
bandwidth number 6 Maximum parallel requests to start at once.
reason Set<string> Set {"subscribed"} Notification reason(s) to filter to.
title RegExp /^chore\(deps\): update .+ to/ Notification title regular expression to filter to.

For example, providing all options to the Node.js API:

await pruneGitHubNotifications({
	auth: "gho_...",
	bandwidth: 10,
	reason: subscribed,
	title: "^chore.+ update .+ to",
});

Development

See .github/CONTRIBUTING.md, then .github/DEVELOPMENT.md. Thanks! πŸ’–

Contributors

Josh Goldberg
Josh Goldberg

πŸ”§ 🚧 πŸ€” πŸ’»

πŸ’™ This package was templated with create-typescript-app.

About

Prunes GitHub notifications you don't care about, such as automated dependency bumps. 🧹

License:MIT License


Languages

Language:TypeScript 75.0%Language:JavaScript 24.7%Language:Shell 0.3%