Finds your npm packages that are eligible for Tidelift funding. πΈ
Tidelift is a service for companies to sponsor their open source dependencies. A company will pay money into a fund that is distributed monthly amongst open source packages that are eligible for and have opted into "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 π§ π» π π€ π§ π π |
Sindre Sorhus π |
StyleShit π» |
π This package is based on @JoshuaKGoldberg's create-typescript-app.