converted [nodeping npm nexus node] from static classes to props (#5662)

* converted [nexus node] from static classes to props

* fixing node module route field

* converted [nodeping npm] from static classes to props

* Removed Commented code

Co-authored-by: Jabbar Memon <jabbar@zoop.one>
This commit is contained in:
Jabbar Memon
2020-10-05 10:40:52 +05:30
committed by GitHub
parent 4d712e8386
commit ff9273a958
13 changed files with 349 additions and 432 deletions

View File

@@ -39,8 +39,9 @@ const queryParamSchema = Joi.object({
// Abstract class for NPM badges which display data about the latest version
// of a package.
module.exports = class NpmBase extends BaseJsonService {
static get auth() {
return { passKey: 'npm_token', serviceKey: 'npm' }
static auth = {
passKey: 'npm_token',
serviceKey: 'npm',
}
static buildRoute(base, { withTag } = {}) {

View File

@@ -6,38 +6,30 @@ const NpmBase = require('./npm-base')
const keywords = ['node']
module.exports = class NpmCollaborators extends NpmBase {
static get category() {
return 'activity'
}
static category = 'activity'
static get route() {
return this.buildRoute('npm/collaborators', { withTag: false })
}
static route = this.buildRoute('npm/collaborators', { withTag: false })
static get examples() {
return [
{
title: 'npm collaborators',
pattern: ':packageName',
namedParams: { packageName: 'prettier' },
staticPreview: this.render({ collaborators: 6 }),
keywords,
},
{
title: 'npm collaborators',
pattern: ':packageName',
namedParams: { packageName: 'prettier' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ collaborators: 6 }),
keywords,
},
]
}
static examples = [
{
title: 'npm collaborators',
pattern: ':packageName',
namedParams: { packageName: 'prettier' },
staticPreview: this.render({ collaborators: 6 }),
keywords,
},
{
title: 'npm collaborators',
pattern: ':packageName',
namedParams: { packageName: 'prettier' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ collaborators: 6 }),
keywords,
},
]
static get defaultBadgeData() {
return {
label: 'npm collaborators',
}
static defaultBadgeData = {
label: 'npm collaborators',
}
static render({ collaborators }) {

View File

@@ -7,109 +7,101 @@ const { queryParamSchema } = NpmBase
const keywords = ['node']
module.exports = class NpmDependencyVersion extends NpmBase {
static get category() {
return 'platform-support'
static category = 'platform-support'
static route = {
base: 'npm/dependency-version',
pattern:
':scope(@[^/]+)?/:packageName/:kind(dev|peer)?/:dependencyScope(@[^/]+)?/:dependency',
queryParamSchema,
}
static get route() {
return {
base: 'npm/dependency-version',
pattern:
':scope(@[^/]+)?/:packageName/:kind(dev|peer)?/:dependencyScope(@[^/]+)?/:dependency',
queryParamSchema,
}
}
static examples = [
{
title: 'npm peer dependency version',
pattern: ':packageName/peer/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'prop-types',
},
staticPreview: this.render({
dependency: 'prop-types',
range: '^15.5.4',
}),
keywords,
},
{
title: 'npm peer dependency version (scoped)',
pattern: ':scope?/:packageName/dev/:dependencyScope?/:dependency',
namedParams: {
scope: '@swellaby',
packageName: 'eslint-config',
dependency: 'eslint',
},
staticPreview: this.render({
dependency: 'eslint',
range: '^3.0.0',
}),
keywords,
},
{
title: 'npm dev dependency version',
pattern: ':packageName/dev/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'eslint-config-standard',
},
staticPreview: this.render({
dependency: 'eslint-config-standard',
range: '^12.0.0',
}),
keywords,
},
{
title: 'npm dev dependency version (scoped)',
pattern: ':scope?/:packageName/dev/:dependencyScope?/:dependency',
namedParams: {
packageName: 'mocha',
dependencyScope: '@mocha',
dependency: 'contributors',
},
staticPreview: this.render({
dependency: '@mocha/contributors',
range: '^1.0.3',
}),
keywords,
},
{
title: 'npm (prod) dependency version',
pattern: ':packageName/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'simple-statistics',
},
staticPreview: this.render({
dependency: 'simple-statistics',
range: '^6.1.1',
}),
keywords,
},
{
title: 'npm (prod) dependency version (scoped)',
pattern: ':scope?/:packageName/:dependencyScope?/:dependency',
namedParams: {
packageName: 'got',
dependencyScope: '@sindresorhus',
dependency: 'is',
},
staticPreview: this.render({
dependency: '@sindresorhus/is',
range: '^0.15.0',
}),
keywords,
},
]
static get examples() {
return [
{
title: 'npm peer dependency version',
pattern: ':packageName/peer/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'prop-types',
},
staticPreview: this.render({
dependency: 'prop-types',
range: '^15.5.4',
}),
keywords,
},
{
title: 'npm peer dependency version (scoped)',
pattern: ':scope?/:packageName/dev/:dependencyScope?/:dependency',
namedParams: {
scope: '@swellaby',
packageName: 'eslint-config',
dependency: 'eslint',
},
staticPreview: this.render({
dependency: 'eslint',
range: '^3.0.0',
}),
keywords,
},
{
title: 'npm dev dependency version',
pattern: ':packageName/dev/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'eslint-config-standard',
},
staticPreview: this.render({
dependency: 'eslint-config-standard',
range: '^12.0.0',
}),
keywords,
},
{
title: 'npm dev dependency version (scoped)',
pattern: ':scope?/:packageName/dev/:dependencyScope?/:dependency',
namedParams: {
packageName: 'mocha',
dependencyScope: '@mocha',
dependency: 'contributors',
},
staticPreview: this.render({
dependency: '@mocha/contributors',
range: '^1.0.3',
}),
keywords,
},
{
title: 'npm (prod) dependency version',
pattern: ':packageName/:dependency',
namedParams: {
packageName: 'react-boxplot',
dependency: 'simple-statistics',
},
staticPreview: this.render({
dependency: 'simple-statistics',
range: '^6.1.1',
}),
keywords,
},
{
title: 'npm (prod) dependency version (scoped)',
pattern: ':scope?/:packageName/:dependencyScope?/:dependency',
namedParams: {
packageName: 'got',
dependencyScope: '@sindresorhus',
dependency: 'is',
},
staticPreview: this.render({
dependency: '@sindresorhus/is',
range: '^0.15.0',
}),
keywords,
},
]
}
static get defaultBadgeData() {
return {
label: 'dependency',
}
static defaultBadgeData = {
label: 'dependency',
}
static render({ dependency, range }) {

View File

@@ -46,32 +46,24 @@ const intervalMap = {
// This hits an entirely different API from the rest of the NPM services, so
// it does not use NpmBase.
module.exports = class NpmDownloads extends BaseJsonService {
static get category() {
return 'downloads'
static category = 'downloads'
static route = {
base: 'npm',
pattern: ':interval(dw|dm|dy|dt)/:scope(@.+)?/:packageName',
}
static get route() {
return {
base: 'npm',
pattern: ':interval(dw|dm|dy|dt)/:scope(@.+)?/:packageName',
}
}
static get examples() {
return [
{
title: 'npm',
namedParams: { interval: 'dw', packageName: 'localeval' },
staticPreview: this.render({ interval: 'dw', downloadCount: 30000 }),
keywords: ['node'],
},
]
}
static examples = [
{
title: 'npm',
namedParams: { interval: 'dw', packageName: 'localeval' },
staticPreview: this.render({ interval: 'dw', downloadCount: 30000 }),
keywords: ['node'],
},
]
// For testing.
static get _intervalMap() {
return intervalMap
}
static _intervalMap = intervalMap
static render({ interval, downloadCount }) {
const { messageSuffix } = intervalMap[interval]

View File

@@ -5,33 +5,27 @@ const toArray = require('../../core/base-service/to-array')
const NpmBase = require('./npm-base')
module.exports = class NpmLicense extends NpmBase {
static get category() {
return 'license'
}
static category = 'license'
static get route() {
return this.buildRoute('npm/l', { withTag: false })
}
static route = this.buildRoute('npm/l', { withTag: false })
static get examples() {
return [
{
title: 'NPM',
pattern: ':packageName',
namedParams: { packageName: 'express' },
staticPreview: this.render({ licenses: ['MIT'] }),
keywords: ['node'],
},
{
title: 'NPM',
pattern: ':packageName',
namedParams: { packageName: 'express' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ licenses: ['MIT'] }),
keywords: ['node'],
},
]
}
static examples = [
{
title: 'NPM',
pattern: ':packageName',
namedParams: { packageName: 'express' },
staticPreview: this.render({ licenses: ['MIT'] }),
keywords: ['node'],
},
{
title: 'NPM',
pattern: ':packageName',
namedParams: { packageName: 'express' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ licenses: ['MIT'] }),
keywords: ['node'],
},
]
static render({ licenses }) {
return renderLicenseBadge({ licenses })

View File

@@ -6,30 +6,24 @@ const NpmBase = require('./npm-base')
// dependencies must be declared, or the `types` key must be set in
// package.json.
module.exports = class NpmTypeDefinitions extends NpmBase {
static get category() {
return 'platform-support'
}
static category = 'platform-support'
static get route() {
return this.buildRoute('npm/types', { withTag: false })
}
static route = this.buildRoute('npm/types', { withTag: false })
static get examples() {
return [
{
title: 'npm type definitions',
pattern: ':packageName',
namedParams: { packageName: 'chalk' },
staticPreview: this.render({
supportedLanguages: ['TypeScript', 'Flow'],
}),
keywords: ['node', 'typescript', 'flow'],
},
]
}
static examples = [
{
title: 'npm type definitions',
pattern: ':packageName',
namedParams: { packageName: 'chalk' },
staticPreview: this.render({
supportedLanguages: ['TypeScript', 'Flow'],
}),
keywords: ['node', 'typescript', 'flow'],
},
]
static get defaultBadgeData() {
return { label: 'types' }
static defaultBadgeData = {
label: 'types',
}
static render({ supportedLanguages }) {

View File

@@ -14,57 +14,51 @@ const schema = Joi.object()
.required()
module.exports = class NpmVersion extends NpmBase {
static get category() {
return 'version'
}
static category = 'version'
static get route() {
return this.buildRoute('npm/v', { withTag: true })
}
static route = this.buildRoute('npm/v', { withTag: true })
static get examples() {
return [
{
title: 'npm',
pattern: ':packageName',
namedParams: { packageName: 'npm' },
staticPreview: this.render({ version: '6.3.0' }),
keywords,
},
{
title: 'npm (scoped)',
pattern: ':scope/:packageName',
namedParams: { scope: '@cycle', packageName: 'core' },
staticPreview: this.render({ version: '7.0.0' }),
keywords,
},
{
title: 'npm (tag)',
pattern: ':packageName/:tag',
namedParams: { packageName: 'npm', tag: 'next' },
staticPreview: this.render({ tag: 'latest', version: '6.3.0' }),
keywords,
},
{
title: 'npm (custom registry)',
pattern: ':packageName/:tag',
namedParams: { packageName: 'npm', tag: 'next' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ tag: 'latest', version: '7.0.0' }),
keywords,
},
{
title: 'npm (scoped with tag)',
pattern: ':scope/:packageName/:tag',
namedParams: { scope: '@cycle', packageName: 'core', tag: 'canary' },
staticPreview: this.render({ tag: 'latest', version: '6.3.0' }),
keywords,
},
]
}
static examples = [
{
title: 'npm',
pattern: ':packageName',
namedParams: { packageName: 'npm' },
staticPreview: this.render({ version: '6.3.0' }),
keywords,
},
{
title: 'npm (scoped)',
pattern: ':scope/:packageName',
namedParams: { scope: '@cycle', packageName: 'core' },
staticPreview: this.render({ version: '7.0.0' }),
keywords,
},
{
title: 'npm (tag)',
pattern: ':packageName/:tag',
namedParams: { packageName: 'npm', tag: 'next' },
staticPreview: this.render({ tag: 'latest', version: '6.3.0' }),
keywords,
},
{
title: 'npm (custom registry)',
pattern: ':packageName/:tag',
namedParams: { packageName: 'npm', tag: 'next' },
queryParams: { registry_uri: 'https://registry.npmjs.com' },
staticPreview: this.render({ tag: 'latest', version: '7.0.0' }),
keywords,
},
{
title: 'npm (scoped with tag)',
pattern: ':scope/:packageName/:tag',
namedParams: { scope: '@cycle', packageName: 'core', tag: 'canary' },
staticPreview: this.render({ tag: 'latest', version: '6.3.0' }),
keywords,
},
]
static get defaultBadgeData() {
return { label: 'npm' }
static defaultBadgeData = {
label: 'npm',
}
static render({ tag, version }) {