From 8ba36d5199757f9c831cca3c35faa995652c9833 Mon Sep 17 00:00:00 2001 From: Brian Faust Date: Sun, 5 Aug 2018 08:55:15 +0300 Subject: [PATCH] feat: name, language & github badges for packagist (#76) * feat: name, language & github badges for packagist * refactor: rename l to lang for packagist --- libs/index.md | 6 ++++++ libs/live-fns/packagist.js | 43 +++++++++++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/libs/index.md b/libs/index.md index 9673e22..b15ce45 100644 --- a/libs/index.md +++ b/libs/index.md @@ -149,6 +149,12 @@ Available query params: ['favers', '/packagist/favers/monolog/monolog'], ['dependents', '/packagist/dependents/monolog/monolog'], ['suggesters', '/packagist/suggesters/monolog/monolog'], + ['name', '/packagist/n/monolog/monolog'], + ['github stars', '/packagist/ghs/monolog/monolog'], + ['github watchers', '/packagist/ghw/monolog/monolog'], + ['github forks', '/packagist/ghf/monolog/monolog'], + ['github issues', '/packagist/ghi/monolog/monolog'], + ['language', '/packagist/lang/monolog/monolog'], ], /* CIs */ travis: [ diff --git a/libs/live-fns/packagist.js b/libs/live-fns/packagist.js index 05ef8aa..e534da3 100644 --- a/libs/live-fns/packagist.js +++ b/libs/live-fns/packagist.js @@ -6,6 +6,7 @@ const semColor = require('../utils/sem-color.js') const pre = versions => versions.filter(v => v.includes('-')) const stable = versions => versions.filter(v => !v.includes('-')) const latest = versions => versions.length > 0 && versions.slice(-1)[0] +const nodev = versions => versions.filter(version => version !== 'dev-master') module.exports = async function (topic, vendor, pkg, channel = 'stable') { const endpoint = `https://packagist.org/packages/${vendor}/${pkg}.json` @@ -19,7 +20,7 @@ module.exports = async function (topic, vendor, pkg, channel = 'stable') { switch (channel) { case 'latest': - version = latest(versions) + version = latest(nodev(versions).reverse()) break case 'pre': version = latest(pre(versions)) @@ -62,13 +63,49 @@ module.exports = async function (topic, vendor, pkg, channel = 'stable') { case 'dependents': return { subject: 'dependents', - status: response.package.dependents, + status: millify(response.package.dependents), color: 'green' } case 'suggesters': return { subject: 'suggesters', - status: response.package.suggesters, + status: millify(response.package.suggesters), + color: 'green' + } + case 'n': + return { + subject: 'packagist', + status: response.package.name, + color: 'green' + } + case 'ghs': + return { + subject: 'stars', + status: millify(response.package.github_stars), + color: 'green' + } + case 'ghw': + return { + subject: 'watchers', + status: millify(response.package.github_watchers), + color: 'green' + } + case 'ghf': + return { + subject: 'forks', + status: millify(response.package.github_forks), + color: 'green' + } + case 'ghi': + return { + subject: 'issues', + status: millify(response.package.github_open_issues), + color: 'green' + } + case 'lang': + return { + subject: 'language', + status: response.package.language, color: 'green' } default: