Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions libs/badge-list2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import coveralls from '../pages/api/coveralls'
import travis from '../pages/api/travis'
import circleci from '../pages/api/circleci'
import chromeWebStore from '../pages/api/chrome-web-store'
import edgeAddons from '../pages/api/edge-addons'
import vsMarketplace from '../pages/api/vs-marketplace'
import openVsx from '../pages/api/open-vsx'
import hackage from '../pages/api/hackage'
Expand Down Expand Up @@ -82,6 +83,7 @@ export default {
docker: docker.meta,
'open-vsx': openVsx.meta,
'chrome-web-store': chromeWebStore.meta,
'edge-addons': edgeAddons.meta,
'vs-marketplace': vsMarketplace.meta,
hackage: hackage.meta,
pypi: pypi.meta,
Expand Down
1 change: 1 addition & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ const nextConfig = {
'/docker',
'/open-vsx',
'/chrome-web-store',
'/edge-addons',
'/vs-marketplace',
'/hackage',
'/ppm',
Expand Down
18 changes: 9 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"serve-marked": "^5.0.0",
"simple-icons": "^16.18.1",
"url-parse": "^1.5.10",
"webextension-store-meta": "^1.2.10",
"webextension-store-meta": "^1.3.0",
"yaml": "^2.8.4"
},
"devDependencies": {
Expand Down
79 changes: 79 additions & 0 deletions pages/api/edge-addons.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import millify from 'millify'
import EdgeAddons from 'webextension-store-meta/lib/edge-addons'
import { version, versionColor, stars } from '../../libs/utils'
import { createBadgenHandler, PathArgs } from '../../libs/create-badgen-handler-next'

const subject = 'edge add-ons'

export default createBadgenHandler({
title: 'Edge Add-ons',
examples: {
'/edge-addons/v/cnlefmmeadmemmdciolhbnfeacpdfbkd': 'version',
'/edge-addons/users/cnlefmmeadmemmdciolhbnfeacpdfbkd': 'users',
'/edge-addons/stars/cnlefmmeadmemmdciolhbnfeacpdfbkd': 'stars',
'/edge-addons/rating/cnlefmmeadmemmdciolhbnfeacpdfbkd': 'rating',
'/edge-addons/rating-count/cnlefmmeadmemmdciolhbnfeacpdfbkd': 'rating count',
},
handlers: {
'/edge-addons/:topic<v|users|stars|rating|rating-count>/:id': handler
}
})

async function handler ({ topic, id }: PathArgs) {
const result = await EdgeAddons.load({ id, qs: { hl: 'en-US' } }).catch(console.error)

if (!result || !result.url()) {
return {
subject,
status: 'not found',
color: 'grey',
}
}

switch (topic) {
case 'v': {
const v = result.version()
return {
subject,
status: version(v),
color: v ? versionColor(v) : 'grey'
}
}
case 'users': {
const users = result.activeInstallCount()
return {
subject: 'users',
status: users === null ? 'unknown' : millify(users),
color: 'green'
}
}
case 'rating': {
const rating = result.averageRating()
return {
subject: 'rating',
status: `${rating === null ? '-' : rating.toFixed(1)}/5`,
color: 'green'
}
}
case 'stars':
return {
subject: 'stars',
status: stars(result.averageRating() || 0),
color: 'green'
}
case 'rating-count': {
const ratingCount = result.ratingCount()
return {
subject: 'rating count',
status: ratingCount === null ? 'unknown' : `${millify(ratingCount)} total`,
color: 'green'
}
}
default:
return {
subject,
status: 'unknown',
color: 'grey'
}
}
}
10 changes: 10 additions & 0 deletions public/badges.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,16 @@ Metadata associated with an image in the [label-schema](http://label-schema.org/
- [rating](https://badgen.net/chrome-web-store/rating/ckkdlimhmcjmikdlpkmbgfkaikojcbjk)
- [rating count](https://badgen.net/chrome-web-store/rating-count/ckkdlimhmcjmikdlpkmbgfkaikojcbjk)

## Edge Add-ons

### Examples

- [version](https://badgen.net/edge-addons/v/cnlefmmeadmemmdciolhbnfeacpdfbkd)
- [users](https://badgen.net/edge-addons/users/cnlefmmeadmemmdciolhbnfeacpdfbkd)
- [stars](https://badgen.net/edge-addons/stars/cnlefmmeadmemmdciolhbnfeacpdfbkd)
- [rating](https://badgen.net/edge-addons/rating/cnlefmmeadmemmdciolhbnfeacpdfbkd)
- [rating count](https://badgen.net/edge-addons/rating-count/cnlefmmeadmemmdciolhbnfeacpdfbkd)

## Visual Studio Marketplace

### Examples
Expand Down
Loading