CLI that checks if your npm packages are eligible for Tidelift funding. πΈ
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!
Run this with npx:
npx tidelift-me-up...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
-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-usernameThis 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",
});See .github/CONTRIBUTING.md, then .github/DEVELOPMENT.md.
Thanks! πΈ
Jordan Harband π€ π |
Josh Goldberg π§ π» π π€ π§ π π π π |
Maggie π π§ π π» π€ |
Sindre Sorhus π |
StyleShit π» |
π This package was templated with
create-typescript-appusing the Bingo framework.