TypeScript client for the Packagist REST API.
npm install php-packagist-api-client
import { PackagistClient } from 'php-packagist-api-client';
const packagist = new PackagistClient({
userAgent: 'my-app (mailto:me@example.com)',
});
const search = await packagist.search({ query: 'monolog', perPage: 5 });
const pkg = await packagist.package('monolog/monolog');
const metadata = await packagist.package('monolog/monolog').metadata();
const stats = await packagist.package('monolog/monolog').stats();
const advisories = await packagist.securityAdvisories({
packages: ['monolog/monolog'],
});
const packagist = new PackagistClient({
username: 'packagist-user',
apiToken: process.env.PACKAGIST_TOKEN,
userAgent: 'release-bot (mailto:me@example.com)',
});
await packagist.updatePackage('https://packagist.org/packages/vendor/package');
listPackages() -> GET /packages/list.jsonpopular() -> GET /explore/popular.jsonsearch() -> GET /search.jsonpackage(name).get() -> GET /packages/[vendor]/[package].jsonpackage(name).metadata() -> GET https://repo.packagist.org/p2/[vendor]/[package].jsonpackage(name).stats() -> GET /packages/[vendor]/[package]/stats.jsonmetadataChanges() -> GET /metadata/changes.jsonstatistics() -> GET /statistics.jsonsecurityAdvisories() -> GET /api/security-advisories/createPackage(), editPackage(), updatePackage() -> authenticated package mutation endpointsnpm test
npm run lint
npm run build