Skip to content

Latest commit

 

History

History
126 lines (97 loc) · 6.76 KB

README.md

File metadata and controls

126 lines (97 loc) · 6.76 KB

Tidelift Me Up

CLI that checks if your npm packages are eligible for Tidelift funding. 💸

All Contributors: 5 👪 Codecov Test Coverage Contributor Covenant License: MIT TypeScript: Strict npm package version

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:

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

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 Date constructor
  • --status (default: 'all'): If provided, a filter on package lifting status: 'all', "available", or "lifted"
  • --username (default: result of npm whoami): The npm username to search for packages owned by
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

Jordan Harband
Jordan Harband

🤔 🐛
Josh Goldberg
Josh Goldberg

🔧 💻 🐛 🤔 🚧 🚇 📖
Maggie
Maggie

🤔
Sindre Sorhus
Sindre Sorhus

🐛
StyleShit
StyleShit

💻

💙 This package is based on @JoshuaKGoldberg's create-typescript-app.