diff --git a/libs/live-fns/_index.js b/libs/live-fns/_index.js index e24280c..e06daab 100644 --- a/libs/live-fns/_index.js +++ b/libs/live-fns/_index.js @@ -3,6 +3,7 @@ module.exports = { 'chrome-web-store': require('./chrome-web-store.js'), 'circleci': require('./circleci.js'), 'crates': require('./crates.js'), + 'david': require('./david.js'), 'homebrew': require('./homebrew.js'), 'npm': require('./npm.js') } diff --git a/libs/live-fns/david.js b/libs/live-fns/david.js new file mode 100644 index 0000000..8618d6a --- /dev/null +++ b/libs/live-fns/david.js @@ -0,0 +1,23 @@ +const axios = require('../axios.js') + +const statusInfo = { + 'insecure': ['insecure', 'red'], + 'outofdate': ['out of date', 'orange'], + 'notsouptodate': ['up to date', 'yellow'], + 'uptodate': ['up to date', 'green'], + 'none': ['pending', 'grey'] +} + +module.exports = async function (depType, user, repo) { + const endpoint = `https://david-dm.org/${user}/${repo}/info.json` + const { status } = await axios.get(endpoint).then(res => res.data) + + switch (depType) { + case 'dep': + return { + subject: 'dependencies', + status: statusInfo[status][0], + color: statusInfo[status][1] + } + } +}