GitHub - JoshuaKGoldberg/tidelift-me-up: CLI that checks if your npm packages are eligible for Tidelift funding. ๐ธ (original) (raw)
CLI that checks if your npm packages are eligible for Tidelift funding. ๐ธ
What?
Tidelift is a service for companies to sponsor their open source dependencies. Through Tidelift, companies contribute to a fund that is distributed monthly to maintainers of eligible open-source packages in a process called "lifting".
Unfortunately, there's no easy way on the Tidelift website to search for which packages under a particular open source maintainer are eligible for lifting or currently being lifted. This CLI does that!
See it in action online at tidelift-me-up-site.vercel.app!
Usage
Run this with npx:
...and your list of packages will log to the console:
๐ abc-def is not yet lifted, but is estimated for $25.0/mo.
โ
ghi-jkl is already lifted for $50.0/mo.
Tip: add
| grep yetto filter to only packages that are not yet lifted.npx tidelift-me-up | grep yet
Options
-h/--help: Print these options to the terminal--ownership(default:["author", "publisher"]): If provided, any filters user packages must match one of based on username:"author","maintainer", and/or"publisher"--reporter(default:"text"): Either"json"to output a raw JSON string, or"text"for human-readable output--since(default: 2 years ago): A date that packages need to have been updated since to be considered- This will be provided as a string to the
Dateconstructor
- This will be provided as a string to the
--status(default:'all'): If provided, a filter on package lifting status:'all',"available", or"lifted"--username(default: result ofnpm whoami): The npm username to search for packages owned by- The search is done by a network call to https://registry.npmjs.org (documented at github.com/npm/registry)
npx tidelift-me-up --ownership author --ownership publisher --reporter json --since 2020 --username your-username
Node API
This package also exports a tideliftMeUp function you can call to receive an array of results:
import { tideliftMeUp } from "tidelift-me-up";
await tideliftMeUp(); /* [ { estimatedMoney: 25, lifted: false, name: 'your-eligible-package' } ] */
It takes in the same options as the CLI, except for reporter:
import { tideliftMeUp } from "tidelift-me-up";
await tideliftMeUp({ ownership: ["author", "publisher"], since: new Date("2020"), username: "your-username", });
Development
See .github/CONTRIBUTING.md, then .github/DEVELOPMENT.md. Thanks! ๐ธ
Contributors
๐ This package was templated with create-typescript-app using the Bingo framework.