Skip to content

Acknowledge the people behind your frontend dependencies - and give thanks!

License

Notifications You must be signed in to change notification settings

fundevogel/php-thx

Repository files navigation

php-thx

License Packagist Build

A very simple PHP library for acknowledging the people behind your dependencies - and giving thanks.

Getting started

Install this package with Composer:

composer require fundevogel/php-thx

Usage

Spreading love & giving back should be easy, like this:

use Fundevogel\Thx\ThankYou;

# Define paths to necessary files
$dataFile = 'path/to/composer.json';  # .. 'package.json'
$lockFile = 'path/to/composer.lock'   # .. 'package-lock.json' or 'yarn.lock'

try {
    # Extract & extend dataset
    $data = ThankYou::veryMuch($dataFile, $lockFile);

} catch (Exception $e) {
    # No dependencies found, file not found, ..
    echo $e->getMessage();
}

.. and in case you want to have more control, instantiate the appropriate Driver & configure it as needed:

use Fundevogel\Thx\ThankYou;

$driver = ThankYou::haveFun($dataFile, $lockFile);

# Configuration for API calls
$driver->timeout = 3600  # request timeout (in seconds)
$driver->userAgent = 'YoursSincerely'  # request UA string

By themselves, the files you already have don't yield much information (mostly package name & installed version), yet this is all we need to know to .. make some API calls (which is done automatically):

Note: As always when requesting data from third-parties, make sure to implement some kind of caching so you don't get blocked or exceed whatever limit they impose, and remember: going easy on somebody else's ressources (especially when they're provided for free) shows that you care, and that's always worth striving for.

Roadmap

  • Add support for pnpm
  • Check out v3 npm lockfileVersion

Credits

Most of the helper functions were taken from Kirby's excellent toolkit package by Bastian Allgeier (who's just awesome, btw).

Happy coding!

About

Acknowledge the people behind your frontend dependencies - and give thanks!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages