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 yet
to 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
Date
constructor
- 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
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",
});
See .github/CONTRIBUTING.md
, then .github/DEVELOPMENT.md
.
Thanks! π
Jordan Harband π€ π |
Josh Goldberg π§ π» π π€ π§ π π |
Maggie π€ |
Sindre Sorhus π |
StyleShit π» |
π This package is based on @JoshuaKGoldberg's create-typescript-app.