kopia lustrzana https://github.com/badgen/badgen.net
live-fns: add xo badges (#154)
I like having xo badges on my repos. :D /cc @sindresorhuspull/159/head
rodzic
2d7787171e
commit
f73c83f763
|
@ -260,6 +260,11 @@ Advanced usage (for badge makers):
|
|||
['(past month) uptime', '/uptime-robot/month/m780862024-50db2c44c703e5c68d6b1ebb'],
|
||||
['(last hours) response', '/uptime-robot/response/m780862024-50db2c44c703e5c68d6b1ebb']
|
||||
],
|
||||
xo: [
|
||||
['status', '/xo/status/badgen'],
|
||||
['indent', '/xo/indent/@tusbar/cache-control'],
|
||||
['semicolons', '/xo/semi/got']
|
||||
],
|
||||
badgesize: [
|
||||
['normal size', '/badgesize/normal/amio/emoji.json/master/emoji-compact.json'],
|
||||
['brotli size', '/badgesize/brotli/amio/emoji.json/master/emoji-compact.json'],
|
||||
|
|
|
@ -29,5 +29,6 @@ module.exports = {
|
|||
runkit: require('./runkit.js'),
|
||||
travis: require('./travis.js'),
|
||||
'uptime-robot': require('./uptime-robot.js'),
|
||||
'vs-marketplace': require('./vs-marketplace.js')
|
||||
'vs-marketplace': require('./vs-marketplace.js'),
|
||||
xo: require('./xo')
|
||||
}
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
const got = require('../got.js')
|
||||
|
||||
const getIndent = space => {
|
||||
if (space === false) return 'tab'
|
||||
if (space === true) return '2 spaces'
|
||||
if (space === 1) return '1 space'
|
||||
return `${space} spaces`
|
||||
}
|
||||
|
||||
module.exports = async (topic, ...project) => {
|
||||
const endpoint = `https://cdn.jsdelivr.net/npm/${project.join('/')}/package.json`
|
||||
const data = await got(endpoint).then(res => res.body)
|
||||
|
||||
if (!data.devDependencies || !('xo' in data.devDependencies)) {
|
||||
return {
|
||||
subject: 'xo',
|
||||
status: 'not enabled',
|
||||
color: 'grey'
|
||||
}
|
||||
}
|
||||
|
||||
const {
|
||||
semicolon = true,
|
||||
space = false
|
||||
} = (data.xo || {})
|
||||
|
||||
switch (topic) {
|
||||
case 'status':
|
||||
return {
|
||||
subject: 'xo',
|
||||
status: 'enabled',
|
||||
color: '5ED9C7'
|
||||
}
|
||||
|
||||
case 'indent':
|
||||
return {
|
||||
subject: 'indent',
|
||||
status: getIndent(space),
|
||||
color: '5ED9C7'
|
||||
}
|
||||
|
||||
case 'semi':
|
||||
return {
|
||||
subject: 'semicolons',
|
||||
status: semicolon ? 'enabled' : 'disabled',
|
||||
color: '5ED9C7'
|
||||
}
|
||||
}
|
||||
}
|
Ładowanie…
Reference in New Issue