Skip to content

JoshuaKGoldberg/tidelift-me-up

Repository files navigation

Tidelift Me Up

Finds your npm packages that are eligible for Tidelift funding. πŸ’Έ

All Contributors: 4 πŸ‘ͺ 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. 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!

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

πŸ”§ πŸ’» πŸ› πŸ€” 🚧 πŸš‡ πŸ“–
Sindre Sorhus
Sindre Sorhus

πŸ›
StyleShit
StyleShit

πŸ’»

πŸ’™ This package is based on @JoshuaKGoldberg's create-typescript-app.

About

Finds your npm packages that are eligible for Tidelift funding. πŸ’Έ

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors 4

  •  
  •  
  •  
  •