mirror of
https://github.com/badges/shields.git
synced 2025-11-09 12:40:59 +03:00
More example urls and static examples [apm waffle] (#2478)
This commit is contained in:
@@ -8,7 +8,9 @@ const BaseJsonService = require('../base-json')
|
||||
const { InvalidResponse } = require('../errors')
|
||||
const { nonNegativeInteger } = require('../validators')
|
||||
|
||||
const apmSchema = Joi.object({
|
||||
const keywords = ['atom']
|
||||
|
||||
const schema = Joi.object({
|
||||
downloads: nonNegativeInteger,
|
||||
releases: Joi.object({
|
||||
latest: Joi.string().required(),
|
||||
@@ -19,10 +21,10 @@ const apmSchema = Joi.object({
|
||||
})
|
||||
|
||||
class BaseAPMService extends BaseJsonService {
|
||||
async fetch({ repo }) {
|
||||
async fetch({ packageName }) {
|
||||
return this._requestJson({
|
||||
schema: apmSchema,
|
||||
url: `https://atom.io/api/packages/${repo}`,
|
||||
schema,
|
||||
url: `https://atom.io/api/packages/${packageName}`,
|
||||
errorMessages: { 404: 'package not found' },
|
||||
})
|
||||
}
|
||||
@@ -37,8 +39,8 @@ class APMDownloads extends BaseAPMService {
|
||||
return { message: metric(downloads), color: 'green' }
|
||||
}
|
||||
|
||||
async handle({ repo }) {
|
||||
const json = await this.fetch({ repo })
|
||||
async handle({ packageName }) {
|
||||
const json = await this.fetch({ packageName })
|
||||
return this.constructor.render({ downloads: json.downloads })
|
||||
}
|
||||
|
||||
@@ -53,17 +55,17 @@ class APMDownloads extends BaseAPMService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'apm/dm',
|
||||
pattern: ':repo',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
static get examples() {
|
||||
return [
|
||||
{
|
||||
exampleUrl: 'vim-mode',
|
||||
pattern: ':package',
|
||||
title: 'APM',
|
||||
namedParams: { packageName: 'vim-mode' },
|
||||
staticExample: this.render({ downloads: '60043' }),
|
||||
keywords: ['atom'],
|
||||
keywords,
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -74,8 +76,8 @@ class APMVersion extends BaseAPMService {
|
||||
return renderVersionBadge({ version })
|
||||
}
|
||||
|
||||
async handle({ repo }) {
|
||||
const json = await this.fetch({ repo })
|
||||
async handle({ packageName }) {
|
||||
const json = await this.fetch({ packageName })
|
||||
|
||||
const version = json.releases.latest
|
||||
if (!version)
|
||||
@@ -92,18 +94,17 @@ class APMVersion extends BaseAPMService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'apm/v',
|
||||
format: '(.+)',
|
||||
capture: ['repo'],
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
static get examples() {
|
||||
return [
|
||||
{
|
||||
exampleUrl: 'vim-mode',
|
||||
pattern: ':package',
|
||||
title: 'APM',
|
||||
namedParams: { packageName: 'vim-mode' },
|
||||
staticExample: this.render({ version: '0.6.0' }),
|
||||
keywords: ['atom'],
|
||||
keywords,
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -114,8 +115,8 @@ class APMLicense extends BaseAPMService {
|
||||
return renderLicenseBadge({ license })
|
||||
}
|
||||
|
||||
async handle({ repo }) {
|
||||
const json = await this.fetch({ repo })
|
||||
async handle({ packageName }) {
|
||||
const json = await this.fetch({ packageName })
|
||||
|
||||
const license = json.metadata.license
|
||||
if (!license)
|
||||
@@ -136,18 +137,17 @@ class APMLicense extends BaseAPMService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'apm/l',
|
||||
format: '(.+)',
|
||||
capture: ['repo'],
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
static get examples() {
|
||||
return [
|
||||
{
|
||||
exampleUrl: 'vim-mode',
|
||||
pattern: ':package',
|
||||
title: 'APM',
|
||||
namedParams: { packageName: 'vim-mode' },
|
||||
staticExample: this.render({ license: 'MIT' }),
|
||||
keywords: ['atom'],
|
||||
keywords,
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ module.exports = class BowerLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'bower/l',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +20,8 @@ module.exports = class BowerLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'Bower',
|
||||
previewUrl: 'bootstrap',
|
||||
namedParams: { packageName: 'bootstrap' },
|
||||
staticPreview: { label: 'license', message: 'MIT', color: 'blue' },
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ module.exports = class CocoapodsLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'cocoapods/l',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +18,8 @@ module.exports = class CocoapodsLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'Cocoapods',
|
||||
previewUrl: 'AFNetworking',
|
||||
namedParams: { packageName: 'AFNetworking' },
|
||||
staticPreview: { label: 'license', message: 'MIT', color: '000' },
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ module.exports = class CocoapodsPlatform extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'cocoapods/p',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +18,12 @@ module.exports = class CocoapodsPlatform extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'Cocoapods',
|
||||
previewUrl: 'AFNetworking',
|
||||
namedParams: { packageName: 'AFNetworking' },
|
||||
staticPreview: {
|
||||
label: 'platform',
|
||||
message: 'ios | osx | watchos | tvos',
|
||||
color: 'lightgrey',
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ module.exports = class CpanLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'cpan/l',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +18,8 @@ module.exports = class CpanLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'CPAN',
|
||||
previewUrl: 'Config-Augeas',
|
||||
namedParams: { packageName: 'Config-Augeas' },
|
||||
staticPreview: { label: 'CPAN', message: 'lgpl_2_1', color: 'blue' },
|
||||
keywords: ['perl'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -16,6 +16,7 @@ class CranLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'cran/l',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +24,12 @@ class CranLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'CRAN/METACRAN',
|
||||
previewUrl: 'devtools',
|
||||
namedParams: { packageName: 'devtools' },
|
||||
staticPreview: {
|
||||
label: 'license',
|
||||
message: 'GPL (>= 2)',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords: ['R'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -17,6 +17,7 @@ class DubVersion extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'dub/v',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,8 +25,8 @@ class DubVersion extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'DUB',
|
||||
previewUrl: 'vibe-d',
|
||||
keywords: ['dub'],
|
||||
namedParams: { packageName: 'vibe-d' },
|
||||
staticPreview: { label: 'version', message: 'v0.8.4', color: 'orange' },
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -41,6 +42,7 @@ class DubLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'dub/l',
|
||||
pattern: ':packageName',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,8 +50,8 @@ class DubLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'DUB',
|
||||
previewUrl: 'vibe-d',
|
||||
keywords: ['dub'],
|
||||
namedParams: { packageName: 'vibe-d' },
|
||||
staticPreview: { label: 'license', message: 'MIT', color: 'blue' },
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -26,7 +26,13 @@ module.exports = class GithubCommitActivity extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub commit activity the past week, 4 weeks, year',
|
||||
previewUrl: 'y/eslint/eslint',
|
||||
pattern: 'y/:user/:repo',
|
||||
namedParams: { user: 'eslint', repo: 'eslint' },
|
||||
staticPreview: {
|
||||
label: 'commit activity',
|
||||
message: '457/year',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords: ['GitHub', 'commit', 'commits', 'activity'],
|
||||
documentation,
|
||||
},
|
||||
|
||||
@@ -22,8 +22,18 @@ module.exports = class GithubCommitStatus extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub commit merge status',
|
||||
previewUrl:
|
||||
'badges/shields/master/5d4ab86b1b5ddfb3c4a70a70bd19932c52603b8c',
|
||||
pattern: ':user/:repo/:branch/:commit',
|
||||
namedParams: {
|
||||
user: 'badges',
|
||||
repo: 'shields',
|
||||
branch: 'master',
|
||||
commit: '5d4ab86b1b5ddfb3c4a70a70bd19932c52603b8c',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'commits since 3.4.7',
|
||||
message: '4225',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords: ['GitHub', 'commit', 'branch', 'merge'],
|
||||
documentation,
|
||||
},
|
||||
|
||||
@@ -8,6 +8,8 @@ const {
|
||||
} = require('../../lib/badge-data')
|
||||
const { documentation } = require('./github-helpers')
|
||||
|
||||
const keywords = ['GitHub', 'commit']
|
||||
|
||||
module.exports = class GithubCommitsSince extends LegacyService {
|
||||
static get category() {
|
||||
return 'activity'
|
||||
@@ -16,6 +18,7 @@ module.exports = class GithubCommitsSince extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'github/commits-since',
|
||||
pattern: ':user/:repo/:version',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,14 +26,32 @@ module.exports = class GithubCommitsSince extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub commits',
|
||||
previewUrl: 'SubtitleEdit/subtitleedit/3.4.7',
|
||||
keywords: ['GitHub', 'commit'],
|
||||
namedParams: {
|
||||
user: 'SubtitleEdit',
|
||||
repo: 'subtitleedit',
|
||||
version: '3.4.7',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'commits since 3.4.7',
|
||||
message: '4225',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords,
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub commits (since latest release)',
|
||||
previewUrl: 'SubtitleEdit/subtitleedit/latest',
|
||||
keywords: ['GitHub', 'commit'],
|
||||
namedParams: {
|
||||
user: 'SubtitleEdit',
|
||||
repo: 'subtitleedit',
|
||||
version: 'latest',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'commits since 3.5.7',
|
||||
message: '157',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords,
|
||||
documentation,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -26,7 +26,16 @@ module.exports = class GithubContributors extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub contributors',
|
||||
previewUrl: 'contributors/cdnjs/cdnjs',
|
||||
pattern: 'contributors/:user/:repo',
|
||||
namedParams: {
|
||||
user: 'cdnjs',
|
||||
repo: 'cdnjs',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'contributors',
|
||||
message: '397',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords: ['GitHub', 'contributor'],
|
||||
documentation,
|
||||
},
|
||||
|
||||
@@ -26,38 +26,93 @@ module.exports = class GithubDownloads extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub All Releases',
|
||||
previewUrl: 'downloads/atom/atom/total',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads/:user/:repo/total',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '857k total',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub Releases',
|
||||
previewUrl: 'downloads/atom/atom/latest/total',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads/:user/:repo/:tag/total',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
tag: 'latest',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '27k',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub Pre-Releases',
|
||||
previewUrl: 'downloads-pre/atom/atom/latest/total',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads-pre/:user/:repo/:tag/total',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
tag: 'latest',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '2k',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub Releases (by Release)',
|
||||
previewUrl: 'downloads/atom/atom/v0.190.0/total',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads/:user/:repo/:tag/total',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
tag: 'v0.190.0',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '490k v0.190.0',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub Releases (by Asset)',
|
||||
previewUrl: 'downloads/atom/atom/latest/atom-amd64.deb',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads/:user/:repo/:tag/:path*',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
tag: 'latest',
|
||||
path: 'atom-amd64.deb',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '3k [atom-amd64.deb]',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
{
|
||||
title: 'GitHub Pre-Releases (by Asset)',
|
||||
previewUrl: 'downloads-pre/atom/atom/latest/atom-amd64.deb',
|
||||
keywords: ['github'],
|
||||
pattern: 'downloads-pre/:user/:repo/:tag/:path*',
|
||||
namedParams: {
|
||||
user: 'atom',
|
||||
repo: 'atom',
|
||||
tag: 'latest',
|
||||
path: 'atom-amd64.deb',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'downloads',
|
||||
message: '237 [atom-amd64.deb]',
|
||||
color: 'brightgreen',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -25,7 +25,17 @@ module.exports = class GithubFollowers extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub followers',
|
||||
pattern: ':user',
|
||||
previewUrl: 'espadrine',
|
||||
// https://github.com/badges/shields/issues/2479
|
||||
// namedParams: {
|
||||
// user: 'espadrine',
|
||||
// },
|
||||
// staticPreview: {
|
||||
// label: 'Follow',
|
||||
// message: '150',
|
||||
// style: 'social',
|
||||
// },
|
||||
queryParams: { style: 'social', label: 'Follow' },
|
||||
documentation,
|
||||
},
|
||||
|
||||
@@ -20,6 +20,7 @@ module.exports = class GithubLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'github/license',
|
||||
pattern: ':user/:repo',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +28,12 @@ module.exports = class GithubLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'GitHub',
|
||||
previewUrl: 'mashape/apistatus',
|
||||
namedParams: { user: 'mashape', repo: 'apistatus' },
|
||||
staticExample: {
|
||||
label: 'license',
|
||||
message: 'MIT',
|
||||
color: 'green',
|
||||
},
|
||||
keywords: ['GitHub', 'license'],
|
||||
documentation,
|
||||
},
|
||||
|
||||
@@ -19,7 +19,17 @@ module.exports = class JiraIssue extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'JIRA issue',
|
||||
previewUrl: 'https/issues.apache.org/jira/KAFKA-2896',
|
||||
pattern: ':protocol/:hostAndPath+/:issueKey',
|
||||
namedParams: {
|
||||
protocol: 'https',
|
||||
hostAndPath: 'issues.apache.org/jira',
|
||||
issueKey: 'KAFKA-2896',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'kafka-2896',
|
||||
message: 'Resolved',
|
||||
color: 'green',
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -27,7 +27,17 @@ module.exports = class JiraSprint extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'JIRA sprint completion',
|
||||
previewUrl: 'https/jira.spring.io/94',
|
||||
pattern: ':protocol/:host/:sprintId',
|
||||
namedParams: {
|
||||
protocol: 'https',
|
||||
host: 'jira.spring.io',
|
||||
sprintId: '94',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'completion',
|
||||
message: '96%',
|
||||
color: 'orange',
|
||||
},
|
||||
documentation,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -16,16 +16,18 @@ module.exports = class NpmLicense extends NpmBase {
|
||||
static get examples() {
|
||||
return [
|
||||
{
|
||||
exampleUrl: 'express',
|
||||
pattern: ':package',
|
||||
title: 'NPM',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'express' },
|
||||
staticExample: this.render({ licenses: ['MIT'] }),
|
||||
keywords: ['node'],
|
||||
},
|
||||
{
|
||||
exampleUrl: 'express',
|
||||
pattern: ':package',
|
||||
staticExample: this.render({ licenses: ['MIT'] }),
|
||||
title: 'NPM',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'express' },
|
||||
queryParams: { registry_uri: 'https://registry.npmjs.com' },
|
||||
staticExample: this.render({ licenses: ['MIT'] }),
|
||||
keywords: ['node'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -22,7 +22,11 @@ module.exports = class NpmTypeDefinitions extends NpmBase {
|
||||
return [
|
||||
{
|
||||
title: 'npm type definitions',
|
||||
previewUrl: 'chalk',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'chalk' },
|
||||
staticPreview: this.render({
|
||||
supportedLanguages: ['TypeScript', 'Flow'],
|
||||
}),
|
||||
keywords: ['node', 'typescript', 'flow'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -11,6 +11,7 @@ module.exports = class PackagistLicense extends LegacyService {
|
||||
static get route() {
|
||||
return {
|
||||
base: 'packagist/l',
|
||||
pattern: ':user/:repo',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +19,12 @@ module.exports = class PackagistLicense extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'Packagist',
|
||||
previewUrl: 'doctrine/orm',
|
||||
namedParams: { user: 'doctrine', repo: 'orm' },
|
||||
staticPreview: {
|
||||
label: 'license',
|
||||
message: 'MIT',
|
||||
color: 'blue',
|
||||
},
|
||||
keywords: ['PHP'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -5,6 +5,8 @@ const { makeBadgeData: getBadgeData } = require('../../lib/badge-data')
|
||||
const { checkErrorResponse } = require('../../lib/error-helper')
|
||||
const { omitv } = require('../../lib/text-formatters')
|
||||
|
||||
const keywords = ['php', 'runtime']
|
||||
|
||||
module.exports = class PhpeyeHhvm extends LegacyService {
|
||||
static get category() {
|
||||
return 'platform-support'
|
||||
@@ -20,11 +22,29 @@ module.exports = class PhpeyeHhvm extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'HHVM',
|
||||
previewUrl: 'symfony/symfony',
|
||||
pattern: ':user/:packageName',
|
||||
namedParams: { user: 'symfony', packageName: 'symfony' },
|
||||
staticPreview: {
|
||||
label: 'hhvm',
|
||||
message: 'not tested',
|
||||
color: 'red',
|
||||
},
|
||||
keywords,
|
||||
},
|
||||
{
|
||||
title: 'HHVM (branch)',
|
||||
previewUrl: 'symfony/symfony/master',
|
||||
pattern: ':user/:packageName/:branch',
|
||||
namedParams: {
|
||||
user: 'symfony',
|
||||
packageName: 'symfony',
|
||||
branch: 'master',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'hhvm',
|
||||
message: 'not tested',
|
||||
color: 'red',
|
||||
},
|
||||
keywords,
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ module.exports = class PypiDjangoVersions extends PypiBase {
|
||||
return [
|
||||
{
|
||||
title: 'PyPI - Django Version',
|
||||
previewUrl: 'djangorestframework',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'djangorestframework' },
|
||||
staticPreview: this.render({ versions: ['1.11', '2.0', '2.1'] }),
|
||||
keywords: ['python', 'django'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -20,7 +20,9 @@ module.exports = class PypiImplementation extends PypiBase {
|
||||
return [
|
||||
{
|
||||
title: 'PyPI - Implementation',
|
||||
previewUrl: 'Django',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'Django' },
|
||||
staticPreview: this.render({ implementations: ['cpython'] }),
|
||||
keywords: ['python'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -17,7 +17,9 @@ module.exports = class PypiLicense extends PypiBase {
|
||||
return [
|
||||
{
|
||||
title: 'PyPI - License',
|
||||
previewUrl: 'Django',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'Django' },
|
||||
staticPreview: { label: 'license', message: 'BSD', color: 'lightgrey' },
|
||||
keywords: ['python'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -20,7 +20,9 @@ module.exports = class PypiPythonVersions extends PypiBase {
|
||||
return [
|
||||
{
|
||||
title: 'PyPI - Python Version',
|
||||
previewUrl: 'Django',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'Django' },
|
||||
staticPreview: this.render({ versions: ['3.5', '3.6', '3.7'] }),
|
||||
keywords: ['python'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -20,7 +20,9 @@ module.exports = class PypiWheel extends PypiBase {
|
||||
return [
|
||||
{
|
||||
title: 'PyPI - Wheel',
|
||||
previewUrl: 'Django',
|
||||
pattern: ':packageName',
|
||||
namedParams: { packageName: 'Django' },
|
||||
staticPreview: this.render({ hasWheel: true }),
|
||||
keywords: ['python'],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@ module.exports = class Waffle extends LegacyService {
|
||||
|
||||
static get route() {
|
||||
return {
|
||||
base: 'waffle',
|
||||
base: 'waffle/label',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,17 @@ module.exports = class Waffle extends LegacyService {
|
||||
return [
|
||||
{
|
||||
title: 'Waffle.io',
|
||||
previewUrl: 'label/evancohen/smart-mirror/status%3A%20in%20progress',
|
||||
pattern: ':user/:repo/:query',
|
||||
namedParams: {
|
||||
user: 'evancohen',
|
||||
repo: 'smart-mirror',
|
||||
query: 'status: in progress',
|
||||
},
|
||||
staticPreview: {
|
||||
label: 'status: in progress',
|
||||
message: '2',
|
||||
color: '000',
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
'use strict'
|
||||
|
||||
const Joi = require('joi')
|
||||
const ServiceTester = require('../service-tester')
|
||||
const { invalidJSON } = require('../response-fixtures')
|
||||
|
||||
const t = new ServiceTester({ id: 'waffle', title: 'Waffle.io' })
|
||||
module.exports = t
|
||||
const t = (module.exports = require('../create-service-tester')())
|
||||
|
||||
const fakeData = [
|
||||
{
|
||||
@@ -34,7 +32,7 @@ const fakeData = [
|
||||
t.create(
|
||||
'label should be `bug` & value should be exactly 5 as supplied in `fakeData`. e.g: bug|5'
|
||||
)
|
||||
.get('/label/userName/repoName/bug.json?style=_shields_test')
|
||||
.get('/userName/repoName/bug.json?style=_shields_test')
|
||||
.intercept(nock =>
|
||||
nock('https://api.waffle.io/')
|
||||
.get('/userName/repoName/columns?with=count')
|
||||
@@ -47,7 +45,7 @@ t.create(
|
||||
})
|
||||
|
||||
t.create('label should be `Mybug` & value should be formated. e.g: Mybug|25')
|
||||
.get('/label/ritwickdey/vscode-live-server/bug.json?label=Mybug')
|
||||
.get('/ritwickdey/vscode-live-server/bug.json?label=Mybug')
|
||||
.expectJSONTypes(
|
||||
Joi.object().keys({
|
||||
name: 'Mybug',
|
||||
@@ -58,7 +56,7 @@ t.create('label should be `Mybug` & value should be formated. e.g: Mybug|25')
|
||||
)
|
||||
|
||||
t.create('label (repo not found)')
|
||||
.get('/label/not-a-user/not-a-repo/bug.json')
|
||||
.get('/not-a-user/not-a-repo/bug.json')
|
||||
.expectJSON({
|
||||
name: 'waffle',
|
||||
value: 'not found',
|
||||
@@ -66,7 +64,7 @@ t.create('label (repo not found)')
|
||||
|
||||
t.create('label (label not found)')
|
||||
.get(
|
||||
'/label/ritwickdey/vscode-live-server/not-a-real-label.json?style=_shields_test'
|
||||
'/ritwickdey/vscode-live-server/not-a-real-label.json?style=_shields_test'
|
||||
)
|
||||
.expectJSON({
|
||||
name: 'not-a-real-label',
|
||||
@@ -75,7 +73,7 @@ t.create('label (label not found)')
|
||||
})
|
||||
|
||||
t.create('label (empty response)')
|
||||
.get('/label/userName/repoName/bug.json')
|
||||
.get('/userName/repoName/bug.json')
|
||||
.intercept(nock =>
|
||||
nock('https://api.waffle.io/')
|
||||
.get('/userName/repoName/columns?with=count')
|
||||
@@ -87,12 +85,12 @@ t.create('label (empty response)')
|
||||
})
|
||||
|
||||
t.create('label (connection error)')
|
||||
.get('/label/ritwickdey/vscode-live-server/bug.json')
|
||||
.get('/ritwickdey/vscode-live-server/bug.json')
|
||||
.networkOff()
|
||||
.expectJSON({ name: 'waffle', value: 'inaccessible' })
|
||||
|
||||
t.create('label (unexpected response)')
|
||||
.get('/label/userName/repoName/bug.json')
|
||||
.get('/userName/repoName/bug.json')
|
||||
.intercept(nock =>
|
||||
nock('https://api.waffle.io/')
|
||||
.get('/userName/repoName/columns?with=count')
|
||||
|
||||
Reference in New Issue
Block a user