diff --git a/.eslintrc.yml b/.eslintrc.yml index 09c32d7415e4cc7aa2145302e2c24eb97a4408cd..4c9e3ab9ab9e00c2345d90ce76ef1888eab9dc7a 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -36,6 +36,7 @@ rules: arrow-body-style: ["error", "as-needed"] no-extension-in-require/main: "error" object-shorthand: ["error", "properties"] + prefer-template: "error" # Mocha-related. mocha/no-exclusive-tests: "error" diff --git a/frontend/components/badge-examples.js b/frontend/components/badge-examples.js index bf6311c2a743fef3bb131e19e182b8f9c5d32aca..049ea2b608ec5e6287719afcfef88ab3f265ebb7 100644 --- a/frontend/components/badge-examples.js +++ b/frontend/components/badge-examples.js @@ -83,7 +83,7 @@ const Category = ({ category, examples, baseUrl, longCache, onClick }) => { } return ( <div> - <Link to={'/examples/' + category.id}> + <Link to={`/examples/${category.id}`}> <h3 id={category.id}>{category.name}</h3> </Link> <table className="badge"> diff --git a/frontend/components/search-results.js b/frontend/components/search-results.js index c13e26f4561d57cfbce792b9ac0408688e00c250..a1a601a978ad32de20bd2af9155f3e4bf5fe5a7c 100644 --- a/frontend/components/search-results.js +++ b/frontend/components/search-results.js @@ -33,7 +33,7 @@ export default class SearchResults extends React.Component { renderCategoryHeadings() { return this.preparedExamples.map((category, i) => ( - <Link to={'/examples/' + category.category.id} key={category.category.id}> + <Link to={`/examples/${category.category.id}`} key={category.category.id}> <h3 id={category.category.id}>{category.category.name}</h3> </Link> )) diff --git a/lib/badge-cli.js b/lib/badge-cli.js index 946b8de087045b33aea1050c51caea20bdf65c2f..13c20198960ea024b82c9af2f8dd252f686bf578 100755 --- a/lib/badge-cli.js +++ b/lib/badge-cli.js @@ -14,9 +14,7 @@ if (process.argv.length < 4) { 'Or: badge subject status right-color [left-color] [.output] [@style]' ) console.log() - console.log( - ' colorscheme: one of ' + Object.keys(colorscheme).join(', ') + '.' - ) + console.log(` colorscheme: one of ${Object.keys(colorscheme).join(', ')}.`) console.log(' left-color, right-color:') console.log(' #xxx (three hex digits)') console.log(' #xxxxxx (six hex digits)') diff --git a/lib/badge-data.js b/lib/badge-data.js index 7bff1e6b93f438c577a9d279103e341260f1abca..4a6954ed17af8aef97c7c45ef8e203402d077674 100644 --- a/lib/badge-data.js +++ b/lib/badge-data.js @@ -21,7 +21,7 @@ function prependPrefix(s, prefix) { return undefined } - s = '' + s + s = `${s}` if (s.startsWith(prefix)) { return s @@ -36,7 +36,7 @@ function isHexColor(s = '') { function makeColor(color) { if (isHexColor(color)) { - return '#' + color + return `#${color}` } else if (colorschemes[color] !== undefined) { return colorschemes[color].colorB } else if (isCSSColor(color)) { @@ -52,7 +52,7 @@ function makeColorB(defaultColor, overrides) { function setBadgeColor(badgeData, color) { if (isHexColor(color)) { - badgeData.colorB = '#' + color + badgeData.colorB = `#${color}` delete badgeData.colorscheme } else if (colorschemes[color] !== undefined) { badgeData.colorscheme = color @@ -68,12 +68,11 @@ function setBadgeColor(badgeData, color) { } function makeLabel(defaultLabel, overrides) { - return ( - '' + - (overrides.label === undefined + return `${ + overrides.label === undefined ? (defaultLabel || '').toLowerCase() - : overrides.label) - ) + : overrides.label + }` } function getShieldsIcon(icon = '', color = '') { diff --git a/lib/color-formatters.js b/lib/color-formatters.js index 16b417fc5bb1faff50a6923214c50c7240a89749..479cf7447fccad239fdd4654c513f04d50e09682 100644 --- a/lib/color-formatters.js +++ b/lib/color-formatters.js @@ -10,7 +10,7 @@ function version(version) { if (typeof version !== 'string' && typeof version !== 'number') { throw new Error(`Can't generate a version color for ${version}`) } - version = '' + version + version = `${version}` let first = version[0] if (first === 'v') { first = version[1] diff --git a/lib/github-auth.js b/lib/github-auth.js index 81f3a63587eb213640668a7f4b89f49c2e59be3e..36a576f3d520c0d44c049b3eeabe48cdab0489de 100644 --- a/lib/github-auth.js +++ b/lib/github-auth.js @@ -34,12 +34,12 @@ function setRoutes(server) { } const query = queryString.stringify({ client_id: serverSecrets.gh_client_id, - redirect_uri: baseUrl + '/github-auth/done', + redirect_uri: `${baseUrl}/github-auth/done`, }) ask.res.statusCode = 302 // Found. ask.res.setHeader( 'Location', - 'https://github.com/login/oauth/authorize?' + query + `https://github.com/login/oauth/authorize?${query}` ) end('') }) @@ -125,7 +125,7 @@ function sendTokenToAllServers(token) { ip => new Promise((resolve, reject) => { const options = { - url: 'https://' + ip + '/github-auth/add-token', + url: `https://${ip}/github-auth/add-token`, method: 'POST', form: { shieldsSecret: serverSecrets.shieldsSecret, @@ -298,7 +298,7 @@ function githubRequest(request, url, query, cb) { if (githubToken != null) { // Typically, GitHub user tokens grants us 12500 req/hour. - headers['Authorization'] = 'token ' + githubToken + headers['Authorization'] = `token ${githubToken}` } else if (serverSecrets && serverSecrets.gh_client_id) { // Using our OAuth App secret grants us 5000 req/hour // instead of the standard 60 req/hour. @@ -308,7 +308,7 @@ function githubRequest(request, url, query, cb) { const qs = queryString.stringify(query) if (qs) { - url += '?' + qs + url += `?${qs}` } request(url, { headers }, (err, res, buffer) => { diff --git a/lib/load-logos.js b/lib/load-logos.js index b44eb4c5f543eb8bd0b84424a58bfa422d97415a..f812de8fc33273427b10bf2fb2649a8676829e8b 100644 --- a/lib/load-logos.js +++ b/lib/load-logos.js @@ -14,7 +14,7 @@ function loadLogos() { return } // filename is eg, github.svg - const svg = fs.readFileSync(logoDir + '/' + filename).toString() + const svg = fs.readFileSync(`${logoDir}/${filename}`).toString() const base64 = svg2base64(svg) // eg, github diff --git a/lib/log.js b/lib/log.js index 46fa4ee5b38bf37976c77ea4c68b6f5a92a6dde4..b94768b9e08d0ef6c7d5bc8bded77e8928486e25 100644 --- a/lib/log.js +++ b/lib/log.js @@ -8,7 +8,7 @@ const listeners = [] // eg. 4 becomes 04 but 17 stays 17. function pad(string) { string = String(string) - return string.length < 2 ? '0' + string : string + return string.length < 2 ? `0${string}` : string } // Compact date representation. diff --git a/lib/logo-helper.js b/lib/logo-helper.js index bcec10cc612adde769249cc7a70b23882d1d8957..b31f15814ad94e9fbcad3b8c964f519d048db303 100644 --- a/lib/logo-helper.js +++ b/lib/logo-helper.js @@ -11,7 +11,7 @@ function svg2base64(svg) { // Check if logo is already base64 return isDataUri(svg) ? svg - : 'data:image/svg+xml;base64,' + Buffer.from(svg).toString('base64') + : `data:image/svg+xml;base64,${Buffer.from(svg).toString('base64')}` } module.exports = { diff --git a/lib/lru-cache.js b/lib/lru-cache.js index 2ed2942152a1ef1639322137f1bba443ef345719..20b52bc175a3409f6c6f478d64c70a39d8e7909c 100644 --- a/lib/lru-cache.js +++ b/lib/lru-cache.js @@ -107,7 +107,7 @@ Cache.prototype = { return 0 } } else { - console.error("Unknown heuristic '" + this.type + "' for LRU cache.") + console.error(`Unknown heuristic '${this.type}' for LRU cache.`) return 1 } }, diff --git a/lib/make-badge.js b/lib/make-badge.js index 656b4341e0e9a22c4894ffb9917f28e45dc7705b..fcc7662a0235f88ce958daa8c2d8909553fd0406 100644 --- a/lib/make-badge.js +++ b/lib/make-badge.js @@ -22,16 +22,16 @@ templateFiles.forEach(async filename => { .readFileSync(path.join(__dirname, '..', 'templates', filename)) .toString() const extension = path.extname(filename).slice(1) - const style = filename.slice(0, -('-template.' + extension).length) + const style = filename.slice(0, -`-template.${extension}`.length) // Compile the template. Necessary to always have a working template. - templates[style + '-' + extension] = dot.template(templateData) + templates[`${style}-${extension}`] = dot.template(templateData) if (extension === 'svg') { // Substitute dot code. const mapping = new Map() let mappingIndex = 1 const untemplatedSvg = templateData.replace(/{{.*?}}/g, match => { // Weird substitution that currently works for all templates. - const mapKey = '99999990' + mappingIndex + '.1' + const mapKey = `99999990${mappingIndex}.1` mappingIndex++ mapping.set(mapKey, match) return mapKey @@ -74,7 +74,7 @@ templateFiles.forEach(async filename => { return } - templates[style + '-' + extension] = dot.template(svg) + templates[`${style}-${extension}`] = dot.template(svg) } }) @@ -125,7 +125,7 @@ function makeBadge( } ) { // String coercion. - text = text.map(value => '' + value) + text = text.map(value => `${value}`) if (format !== 'json') { format = 'svg' diff --git a/lib/php-version.js b/lib/php-version.js index 534a1ec6d695642b1ae8d2cf52b365d437c785d0..9aaed19da5b139557ae1390c0bb6c1413c5c58da 100644 --- a/lib/php-version.js +++ b/lib/php-version.js @@ -184,7 +184,7 @@ function minorVersion(version) { return '' } - return result[1] + '.' + (result[2] ? result[2] : '0') + return `${result[1]}.${result[2] ? result[2] : '0'}` } function versionReduction(versions, phpReleases) { @@ -208,10 +208,10 @@ function versionReduction(versions, phpReleases) { // no missed versions if (first + versions.length - 1 === last) { if (last === phpReleases.length - 1) { - return '>= ' + (versions[0][2] === '0' ? versions[0][0] : versions[0]) // 7.0 -> 7 + return `>= ${versions[0][2] === '0' ? versions[0][0] : versions[0]}` // 7.0 -> 7 } - return versions[0] + ' - ' + versions[versions.length - 1] + return `${versions[0]} - ${versions[versions.length - 1]}` } return versions.join(', ') diff --git a/lib/request-handler.js b/lib/request-handler.js index e4d6e4ca9f584e3885798025a717aa82fffa8b5d..5cc5d28e7879d1047f8f51447b10bab245ccf8da 100644 --- a/lib/request-handler.js +++ b/lib/request-handler.js @@ -107,7 +107,7 @@ function handleRequest(makeBadge, handlerOptions) { ask.res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate') ask.res.setHeader('Expires', reqTime.toGMTString()) } else { - ask.res.setHeader('Cache-Control', 'max-age=' + maxAge) + ask.res.setHeader('Cache-Control', `max-age=${maxAge}`) ask.res.setHeader( 'Expires', new Date(+reqTime + maxAge * 1000).toGMTString() diff --git a/lib/result-sender.js b/lib/result-sender.js index 3aeed28907e8737b2a00cdcff0197ed95b7f27b0..6a6f397dbf36e577635f33951ac7e5e1cfab81dd 100644 --- a/lib/result-sender.js +++ b/lib/result-sender.js @@ -29,7 +29,7 @@ function sendSVG(res, askres, end) { } function sendOther(format, res, askres, end) { - askres.setHeader('Content-Type', 'image/' + format) + askres.setHeader('Content-Type', `image/${format}`) svg2img(res, format) .then(data => { end(null, { template: streamFromString(data) }) diff --git a/lib/service-test-runner/runner.js b/lib/service-test-runner/runner.js index ecffe0a7d960e8554bc178111a283b54eb6d82a8..49694d30a09fa5670ffc3df3e382b4ca45932b6f 100644 --- a/lib/service-test-runner/runner.js +++ b/lib/service-test-runner/runner.js @@ -51,7 +51,7 @@ class Runner { // Throw at the end, to provide a better error message. if (missingServices.length > 0) { - throw Error('Unknown services: ' + missingServices.join(', ')) + throw Error(`Unknown services: ${missingServices.join(', ')}`) } } diff --git a/lib/suggest.js b/lib/suggest.js index 933f353205d83f5baf48c3b88abee6f866602315..c04b4c01c22970fb2f79cadd98ea34d2fae0eaa7 100644 --- a/lib/suggest.js +++ b/lib/suggest.js @@ -123,7 +123,7 @@ function setRoutes(allowedOrigin, githubApiProvider, server) { try { url = nodeUrl.parse(data.url) } catch (e) { - end({ err: '' + e }) + end({ err: `${e}` }) return } diff --git a/lib/text-formatters.js b/lib/text-formatters.js index da320d91d6be8f1fc442161d71ad3cfba7ff69b3..b585f30d3dc3a068dda248df1762bea099641dee 100644 --- a/lib/text-formatters.js +++ b/lib/text-formatters.js @@ -57,13 +57,13 @@ function metric(n) { if (n >= limit) { n = Math.round(n / limit) if (n < 1000) { - return '' + n + metricPrefix[i] + return `${n}${metricPrefix[i]}` } else { - return '1' + metricPrefix[i + 1] + return `1${metricPrefix[i + 1]}` } } } - return '' + n + return `${n}` } // Remove the starting v in a string. @@ -79,7 +79,7 @@ function omitv(version) { // - it is a date (yyyy-mm-dd) const ignoredVersionPatterns = /^[^0-9]|[0-9]{4}-[0-9]{2}-[0-9]{2}/ function addv(version) { - version = '' + version + version = `${version}` if (version.startsWith('v') || ignoredVersionPatterns.test(version)) { return version } else { diff --git a/lib/version.js b/lib/version.js index b217658008c048a5fb46f302c7200b9a65a6df4c..94afc8cfc78a1cba228c4fee7a53265a7aaf2849 100644 --- a/lib/version.js +++ b/lib/version.js @@ -30,8 +30,8 @@ function latest(versions, { pre = false } = {}) { // coerce to string then lowercase otherwise alpha > RC version = versions.sort((a, b) => semver.rcompare( - ('' + a).toLowerCase(), - ('' + b).toLowerCase(), + `${a}`.toLowerCase(), + `${b}`.toLowerCase(), /* loose */ true ) )[0] diff --git a/server.js b/server.js index 82ace6906c7d1524b9d6b4f8efa2984dc87e1d97..e72cbebd8f1ad31e441ad61d3879e2ddd0dcbf96 100644 --- a/server.js +++ b/server.js @@ -248,7 +248,7 @@ camp.route( // Cache management - the badge is constant. const cacheDuration = (3600 * 24 * 1) | 0 // 1 day. - ask.res.setHeader('Cache-Control', 'max-age=' + cacheDuration) + ask.res.setHeader('Cache-Control', `max-age=${cacheDuration}`) if (+new Date(ask.req.headers['if-modified-since']) >= +serverStartTime) { ask.res.statusCode = 304 ask.res.end() // not modified. @@ -286,7 +286,7 @@ camp.route( let bitFlip = false camp.route(/^\/flip\.svg$/, (data, match, end, ask) => { const cacheSecs = 60 - ask.res.setHeader('Cache-Control', 'max-age=' + cacheSecs) + ask.res.setHeader('Cache-Control', `max-age=${cacheSecs}`) const reqTime = new Date() const date = new Date(+reqTime + cacheSecs * 1000).toGMTString() ask.res.setHeader('Expires', date) @@ -306,7 +306,7 @@ camp.route(/^\/([^/]+)\/(.+).png$/, (data, match, end, ask) => { // Cache management - the badge is constant. const cacheDuration = (3600 * 24 * 1) | 0 // 1 day. - ask.res.setHeader('Cache-Control', 'max-age=' + cacheDuration) + ask.res.setHeader('Cache-Control', `max-age=${cacheDuration}`) if (+new Date(ask.req.headers['if-modified-since']) >= +serverStartTime) { ask.res.statusCode = 304 ask.res.end() // not modified. diff --git a/services/amo/amo.service.js b/services/amo/amo.service.js index 6d932f53bd88d7148ce954ed9f1b4db3b5e68cda..7a78ac12ea74dfe4f5327aa67e2253bdf7bd00ef 100644 --- a/services/amo/amo.service.js +++ b/services/amo/amo.service.js @@ -26,8 +26,7 @@ module.exports = class Amo extends LegacyService { const addonId = match[2] const format = match[3] const badgeData = getBadgeData('mozilla add-on', queryData) - const url = - 'https://services.addons.mozilla.org/api/1.5/addon/' + addonId + const url = `https://services.addons.mozilla.org/api/1.5/addon/${addonId}` request(url, (err, res, buffer) => { if (err) { @@ -62,7 +61,7 @@ module.exports = class Amo extends LegacyService { case 'rating': rating = parseInt(data.addon.rating, 10) badgeData.text[0] = getLabel('rating', queryData) - badgeData.text[1] = rating + '/5' + badgeData.text[1] = `${rating}/5` badgeData.colorscheme = floorCountColor(rating, 2, 3, 4) break case 'stars': diff --git a/services/base.js b/services/base.js index 4479a3fb5dcdc0491121afa488d22f59b6742dfc..93e423f55244439e70f548bbff6486805d6697c8 100644 --- a/services/base.js +++ b/services/base.js @@ -84,7 +84,7 @@ class BaseService { } static _makeFullUrl(partialUrl) { - return '/' + [this.url.base, partialUrl].filter(Boolean).join('/') + return `/${[this.url.base, partialUrl].filter(Boolean).join('/')}` } static _makeStaticExampleUrl(serviceData) { diff --git a/services/beerpay/beerpay.service.js b/services/beerpay/beerpay.service.js index b67200705fa6e37ce0d1b663f51393305208604e..aaeaa176a5487a9f771c2468f84db0fc74a1ef01 100644 --- a/services/beerpay/beerpay.service.js +++ b/services/beerpay/beerpay.service.js @@ -32,8 +32,7 @@ module.exports = class Beerpay extends LegacyService { const project = match[2] // eg, beerpay.io const format = match[3] - const apiUrl = - 'https://beerpay.io/api/v1/' + user + '/projects/' + project + const apiUrl = `https://beerpay.io/api/v1/${user}/projects/${project}` const badgeData = getBadgeData('beerpay', data) request(apiUrl, (err, res, buffer) => { @@ -45,7 +44,7 @@ module.exports = class Beerpay extends LegacyService { try { const data = JSON.parse(buffer) - badgeData.text[1] = '$' + (data.total_amount || 0) + badgeData.text[1] = `$${data.total_amount || 0}` badgeData.colorscheme = 'red' sendBadge(format, badgeData) } catch (e) { diff --git a/services/bintray/bintray.service.js b/services/bintray/bintray.service.js index bc49756dfb093e2a7101e19ac47db89cc3270762..cd74dca331ea78c9a8a0334c88dedf2106db4357 100644 --- a/services/bintray/bintray.service.js +++ b/services/bintray/bintray.service.js @@ -33,8 +33,7 @@ module.exports = class Bintray extends LegacyService { const options = { method: 'GET', - uri: - 'https://bintray.com/api/v1/packages/' + path + '/versions/_latest', + uri: `https://bintray.com/api/v1/packages/${path}/versions/_latest`, headers: { Accept: 'application/json', }, diff --git a/services/bitbucket/bitbucket-issues.service.js b/services/bitbucket/bitbucket-issues.service.js index f55ab1c6465a57281af37e8c4f67a61a3a5b6894..e1ec60c280642633d65b6c7b1b80ab0a2262c0e1 100644 --- a/services/bitbucket/bitbucket-issues.service.js +++ b/services/bitbucket/bitbucket-issues.service.js @@ -37,12 +37,7 @@ module.exports = class BitbucketIssues extends LegacyService { const user = match[2] // eg, atlassian const repo = match[3] // eg, python-bitbucket const format = match[4] - const apiUrl = - 'https://bitbucket.org/api/1.0/repositories/' + - user + - '/' + - repo + - '/issues/?limit=0&status=new&status=open' + const apiUrl = `https://bitbucket.org/api/1.0/repositories/${user}/${repo}/issues/?limit=0&status=new&status=open` const badgeData = getBadgeData('issues', data) request(apiUrl, (err, res, buffer) => { diff --git a/services/bitbucket/bitbucket-pipelines.service.js b/services/bitbucket/bitbucket-pipelines.service.js index 4fdce0b0e59628dccb1be81d71fb1d7507eb6647..748242c489659e6e285de38d67c70407b0255278 100644 --- a/services/bitbucket/bitbucket-pipelines.service.js +++ b/services/bitbucket/bitbucket-pipelines.service.js @@ -37,13 +37,14 @@ module.exports = class BitbucketPipelines extends LegacyService { const branch = match[3] || 'master' // eg, development const format = match[4] const apiUrl = - 'https://api.bitbucket.org/2.0/repositories/' + - encodeURIComponent(user) + - '/' + - encodeURIComponent(repo) + - '/pipelines/?fields=values.state&page=1&pagelen=2&sort=-created_on' + - '&target.ref_type=BRANCH&target.ref_name=' + - encodeURIComponent(branch) + `https://api.bitbucket.org/2.0/repositories/${encodeURIComponent( + user + )}/${encodeURIComponent( + repo + )}/pipelines/?fields=values.state&page=1&pagelen=2&sort=-created_on` + + `&target.ref_type=BRANCH&target.ref_name=${encodeURIComponent( + branch + )}` const badgeData = getBadgeData('build', data) diff --git a/services/bitbucket/bitbucket-pull-request.service.js b/services/bitbucket/bitbucket-pull-request.service.js index e21ce2e58199bebaf84c43a626c5c22798c10e29..c0f183d2c2fce06d9f2a5c4a1091c5bbedf38dbd 100644 --- a/services/bitbucket/bitbucket-pull-request.service.js +++ b/services/bitbucket/bitbucket-pull-request.service.js @@ -37,12 +37,9 @@ module.exports = class BitbucketPullRequest extends LegacyService { const user = match[2] // eg, atlassian const repo = match[3] // eg, python-bitbucket const format = match[4] - const apiUrl = - 'https://bitbucket.org/api/2.0/repositories/' + - encodeURI(user) + - '/' + - encodeURI(repo) + - '/pullrequests/?limit=0&state=OPEN' + const apiUrl = `https://bitbucket.org/api/2.0/repositories/${encodeURI( + user + )}/${encodeURI(repo)}/pullrequests/?limit=0&state=OPEN` const badgeData = getBadgeData('pull requests', data) request(apiUrl, (err, res, buffer) => { diff --git a/services/bitrise/bitrise.service.js b/services/bitrise/bitrise.service.js index 4fc22f508fecd26d5f7ecc03715df351d69e85b2..0fecd9204eeadecd9cca603d8a151d22ea2287d2 100644 --- a/services/bitrise/bitrise.service.js +++ b/services/bitrise/bitrise.service.js @@ -36,13 +36,9 @@ module.exports = class Bitrise extends LegacyService { const format = match[3] const token = data.token const badgeData = getBadgeData('bitrise', data) - let apiUrl = - 'https://app.bitrise.io/app/' + - appId + - '/status.json?token=' + - token + let apiUrl = `https://app.bitrise.io/app/${appId}/status.json?token=${token}` if (typeof branch !== 'undefined') { - apiUrl += '&branch=' + branch + apiUrl += `&branch=${branch}` } const statusColorScheme = { diff --git a/services/bountysource/bountysource.service.js b/services/bountysource/bountysource.service.js index 704243c520ea29a5b17c84384b89b582e082a7ed..f7b1507bf2433233a86d7bc2a2169a319a83fe06 100644 --- a/services/bountysource/bountysource.service.js +++ b/services/bountysource/bountysource.service.js @@ -29,7 +29,7 @@ module.exports = class Bountysource extends LegacyService { cache((data, match, sendBadge, request) => { const team = match[1] // eg, `mozilla-core`. const format = match[2] - const url = 'https://api.bountysource.com/teams/' + team + const url = `https://api.bountysource.com/teams/${team}` const options = { headers: { Accept: 'application/vnd.bountysource+json; version=2' }, } diff --git a/services/bugzilla/bugzilla.service.js b/services/bugzilla/bugzilla.service.js index cbdfe723d6ff8560835142ca1fb44e7c17f5f62b..bd4395a81537e97984caa731662f243710a578c6 100644 --- a/services/bugzilla/bugzilla.service.js +++ b/services/bugzilla/bugzilla.service.js @@ -41,9 +41,9 @@ module.exports = class Bugzilla extends LegacyService { const options = { method: 'GET', json: true, - uri: 'https://bugzilla.mozilla.org/rest/bug/' + bugNumber, + uri: `https://bugzilla.mozilla.org/rest/bug/${bugNumber}`, } - const badgeData = getBadgeData('bug ' + bugNumber, data) + const badgeData = getBadgeData(`bug ${bugNumber}`, data) request(options, (err, res, json) => { if (checkErrorResponse(badgeData, err, res)) { sendBadge(format, badgeData) diff --git a/services/buildkite/buildkite.service.js b/services/buildkite/buildkite.service.js index 55681c79a10ede6c9f22d3baaac70d3fffba1acd..d32648262a1749a58d76b6f2a9c6894f6f192d7a 100644 --- a/services/buildkite/buildkite.service.js +++ b/services/buildkite/buildkite.service.js @@ -32,8 +32,7 @@ module.exports = class Buildkite extends LegacyService { const branch = match[2] || 'master' // Defaults to master if not specified const format = match[3] - const url = - 'https://badge.buildkite.com/' + identifier + '.json?branch=' + branch + const url = `https://badge.buildkite.com/${identifier}.json?branch=${branch}` const badgeData = getBadgeData('build', data) request(url, (err, res, buffer) => { diff --git a/services/chrome-web-store/chrome-web-store.service.js b/services/chrome-web-store/chrome-web-store.service.js index 97f380cfdd0539e79cbf3ade219672af04f95fe6..9c97a0c86a592c893f6e428165cb5b179cb92f58 100644 --- a/services/chrome-web-store/chrome-web-store.service.js +++ b/services/chrome-web-store/chrome-web-store.service.js @@ -25,10 +25,7 @@ module.exports = class ChromeWebStore extends LegacyService { const storeId = match[2] // eg, nimelepbpejjlbmoobocpfnjhihnpked const format = match[3] const badgeData = getBadgeData('chrome web store', data) - const url = - 'https://chrome.google.com/webstore/detail/' + - storeId + - '?hl=en&gl=US' + const url = `https://chrome.google.com/webstore/detail/${storeId}?hl=en&gl=US` const chromeWebStore = require('chrome-web-store-item-property') request(url, (err, res, buffer) => { if (err != null) { @@ -62,7 +59,7 @@ module.exports = class ChromeWebStore extends LegacyService { case 'rating': rating = Math.round(value.ratingValue * 100) / 100 badgeData.text[0] = getLabel('rating', data) - badgeData.text[1] = rating + '/5' + badgeData.text[1] = `${rating}/5` badgeData.colorscheme = floorCountColor(rating, 2, 3, 4) break case 'stars': @@ -74,7 +71,7 @@ module.exports = class ChromeWebStore extends LegacyService { case 'rating-count': { const ratingCount = value.ratingCount badgeData.text[0] = getLabel('rating count', data) - badgeData.text[1] = metric(ratingCount) + ' total' + badgeData.text[1] = `${metric(ratingCount)} total` badgeData.colorscheme = floorCountColor( ratingCount, 5, diff --git a/services/clojars/clojars-version.service.js b/services/clojars/clojars-version.service.js index b35c609abec3bc63c137d6d173e06de7ec419f51..47420227318cd212485684f8fdf1209d319b85e4 100644 --- a/services/clojars/clojars-version.service.js +++ b/services/clojars/clojars-version.service.js @@ -21,7 +21,7 @@ module.exports = class Clojars extends BaseJsonService { static render({ clojar, version }) { return { - message: '[' + clojar + ' "' + version + '"]', + message: `[${clojar} "${version}"]`, color: versionColor(version), } } diff --git a/services/cocoapods/cocoapods-apps.service.js b/services/cocoapods/cocoapods-apps.service.js index 2a0554f9d48e51b99dab7c26ed3c90792adfd0ec..6cf457be9cd6b1fe9f7815820acaecc823e5bef0 100644 --- a/services/cocoapods/cocoapods-apps.service.js +++ b/services/cocoapods/cocoapods-apps.service.js @@ -39,7 +39,7 @@ module.exports = class CocoapodsApps extends LegacyService { const info = match[1] // One of these: "aw", "at" const spec = match[2] // eg, AFNetworking const format = match[3] - const apiUrl = 'https://metrics.cocoapods.org/api/v1/pods/' + spec + const apiUrl = `https://metrics.cocoapods.org/api/v1/pods/${spec}` const badgeData = getBadgeData('apps', data) request(apiUrl, (err, res, buffer) => { if (checkErrorResponse(badgeData, err, res)) { @@ -52,7 +52,7 @@ module.exports = class CocoapodsApps extends LegacyService { switch (info.charAt(1)) { case 'w': apps = data.stats.app_week - badgeData.text[1] = metric(apps) + '/week' + badgeData.text[1] = `${metric(apps)}/week` break case 't': apps = data.stats.app_total diff --git a/services/cocoapods/cocoapods-downloads.service.js b/services/cocoapods/cocoapods-downloads.service.js index ea4690d09c8bd880666e7de0fceb9364672c359a..92191b1491150611e0e7d29b4e46731c1272aee7 100644 --- a/services/cocoapods/cocoapods-downloads.service.js +++ b/services/cocoapods/cocoapods-downloads.service.js @@ -43,7 +43,7 @@ module.exports = class CocoapodsDownloads extends LegacyService { const info = match[1] // One of these: "dm", "dw", "dt" const spec = match[2] // eg, AFNetworking const format = match[3] - const apiUrl = 'https://metrics.cocoapods.org/api/v1/pods/' + spec + const apiUrl = `https://metrics.cocoapods.org/api/v1/pods/${spec}` const badgeData = getBadgeData('downloads', data) request(apiUrl, (err, res, buffer) => { if (checkErrorResponse(badgeData, err, res)) { @@ -56,11 +56,11 @@ module.exports = class CocoapodsDownloads extends LegacyService { switch (info.charAt(1)) { case 'm': downloads = data.stats.download_month - badgeData.text[1] = metric(downloads) + '/month' + badgeData.text[1] = `${metric(downloads)}/month` break case 'w': downloads = data.stats.download_week - badgeData.text[1] = metric(downloads) + '/week' + badgeData.text[1] = `${metric(downloads)}/week` break case 't': downloads = data.stats.download_total diff --git a/services/cocoapods/cocoapods-metrics.service.js b/services/cocoapods/cocoapods-metrics.service.js index 653eca2cd03d4917c0dc515488a4eaf032e61395..6d8def2498dcc2f632cf79e5dd177c1c5e753eed 100644 --- a/services/cocoapods/cocoapods-metrics.service.js +++ b/services/cocoapods/cocoapods-metrics.service.js @@ -33,7 +33,7 @@ module.exports = class CocoapodsMetrics extends LegacyService { cache((data, match, sendBadge, request) => { const spec = match[1] // eg, AFNetworking const format = match[2] - const apiUrl = 'https://metrics.cocoapods.org/api/v1/pods/' + spec + const apiUrl = `https://metrics.cocoapods.org/api/v1/pods/${spec}` const badgeData = getBadgeData('docs', data) request(apiUrl, (err, res, buffer) => { if (checkErrorResponse(badgeData, err, res)) { @@ -47,7 +47,7 @@ module.exports = class CocoapodsMetrics extends LegacyService { percentage = 0 } badgeData.colorscheme = coveragePercentageColor(percentage) - badgeData.text[1] = percentage + '%' + badgeData.text[1] = `${percentage}%` sendBadge(format, badgeData) } catch (e) { badgeData.text[1] = 'invalid' diff --git a/services/cocoapods/cocoapods.service.js b/services/cocoapods/cocoapods.service.js index c0601ef83405804706c36d9c01d786cf3f043213..c8fff7913cf24868ba471156af4b23c949dd2972 100644 --- a/services/cocoapods/cocoapods.service.js +++ b/services/cocoapods/cocoapods.service.js @@ -14,8 +14,7 @@ module.exports = class CocoapodsVersionPlatformLicense extends LegacyService { const type = match[1] const spec = match[2] // eg, AFNetworking const format = match[3] - const apiUrl = - 'https://trunk.cocoapods.org/api/v1/pods/' + spec + '/specs/latest' + const apiUrl = `https://trunk.cocoapods.org/api/v1/pods/${spec}/specs/latest` const typeToLabel = { v: 'pod', p: 'platform', l: 'license' } const badgeData = getBadgeData(typeToLabel[type], data) badgeData.colorscheme = null diff --git a/services/codacy/codacy-coverage.service.js b/services/codacy/codacy-coverage.service.js index e9570b4d2578ed21bf066f2529a29d9d74374cd7..afc9c10a38389e65ddc9f91d552654dd205c4286 100644 --- a/services/codacy/codacy-coverage.service.js +++ b/services/codacy/codacy-coverage.service.js @@ -45,11 +45,7 @@ module.exports = class CodacyCoverage extends LegacyService { queryParams.branch = branch } const query = queryString.stringify(queryParams) - const url = - 'https://api.codacy.com/project/badge/coverage/' + - projectId + - '?' + - query + const url = `https://api.codacy.com/project/badge/coverage/${projectId}?${query}` const badgeData = getBadgeData('coverage', data) fetchFromSvg( request, diff --git a/services/codacy/codacy-grade.service.js b/services/codacy/codacy-grade.service.js index 93eb2c51844147ce71e1e36a9f1d00a01744b669..cc760b3fcef4e480227bc85e6808125b097faf19 100644 --- a/services/codacy/codacy-grade.service.js +++ b/services/codacy/codacy-grade.service.js @@ -42,11 +42,7 @@ module.exports = class CodacyGrade extends LegacyService { queryParams.branch = branch } const query = queryString.stringify(queryParams) - const url = - 'https://api.codacy.com/project/badge/grade/' + - projectId + - '?' + - query + const url = `https://api.codacy.com/project/badge/grade/${projectId}?${query}` const badgeData = getBadgeData('code quality', data) fetchFromSvg( request, diff --git a/services/codeclimate/codeclimate.service.js b/services/codeclimate/codeclimate.service.js index 52b9fe0e234fe50e0571ea76f1b27a758f27caa0..9d015d140302a333c608c534b284e6b2bfb98dc2 100644 --- a/services/codeclimate/codeclimate.service.js +++ b/services/codeclimate/codeclimate.service.js @@ -81,7 +81,7 @@ module.exports = class Codeclimate extends LegacyService { const percentage = parseFloat( parsedData.data.attributes.covered_percent ) - badgeData.text[1] = percentage.toFixed(0) + '%' + badgeData.text[1] = `${percentage.toFixed(0)}%` badgeData.colorscheme = coveragePercentageColor(percentage) } else if (type === 'issues') { const count = parsedData.data.meta.issues_count @@ -94,7 +94,7 @@ module.exports = class Codeclimate extends LegacyService { const percentage = parseFloat( parsedData.data.attributes.ratings[0].measure.value ) - badgeData.text[1] = percentage.toFixed(0) + '%' + badgeData.text[1] = `${percentage.toFixed(0)}%` badgeData.colorscheme = colorScale( [5, 10, 20, 50], ['brightgreen', 'green', 'yellowgreen', 'yellow', 'red'] @@ -109,7 +109,7 @@ module.exports = class Codeclimate extends LegacyService { parseFloat( parsedData.data.attributes.ratings[0].measure.value ) - badgeData.text[1] = percentage.toFixed(0) + '%' + badgeData.text[1] = `${percentage.toFixed(0)}%` badgeData.colorscheme = colorScale( [50, 80, 90, 95], ['red', 'yellow', 'yellowgreen', 'green', 'brightgreen'] diff --git a/services/codecov/codecov.service.js b/services/codecov/codecov.service.js index 6bbc5d5bdd650b3d6abbb50a1099cfe387dee0b6..a7184c2bad23d8aae7e22166488edebdceae19d1 100644 --- a/services/codecov/codecov.service.js +++ b/services/codecov/codecov.service.js @@ -52,7 +52,7 @@ module.exports = class Codecov extends LegacyService { apiUrl = `https://codecov.io/${userRepo}/graphs/badge.txt` } if (token) { - apiUrl += '?' + queryString.stringify({ token }) + apiUrl += `?${queryString.stringify({ token })}` } const badgeData = getBadgeData('coverage', data) request(apiUrl, (err, res, body) => { @@ -69,7 +69,7 @@ module.exports = class Codecov extends LegacyService { sendBadge(format, badgeData) return } - badgeData.text[1] = coverage + '%' + badgeData.text[1] = `${coverage}%` badgeData.colorscheme = coveragePercentageColor(coverage) sendBadge(format, badgeData) } catch (e) { diff --git a/services/codeship/codeship.service.js b/services/codeship/codeship.service.js index 99697c931665ee4e4bf2e5822cad0e45e5c29a10..2a5eea75e2139bc28c28a3dc5be5839540479ec2 100644 --- a/services/codeship/codeship.service.js +++ b/services/codeship/codeship.service.js @@ -36,11 +36,9 @@ module.exports = class Codeship extends LegacyService { const branch = match[2] const options = { method: 'GET', - uri: - 'https://codeship.com/projects/' + - projectId + - '/status' + - (branch != null ? '?branch=' + branch : ''), + uri: `https://codeship.com/projects/${projectId}/status${ + branch != null ? `?branch=${branch}` : '' + }`, } const badgeData = getBadgeData('build', data) request(options, (err, res) => { diff --git a/services/codetally/codetally.service.js b/services/codetally/codetally.service.js index a88fef50fc7a67da1059d18e779419c386a5d234..768f36babe6ece0675dab869c468383b91bacf33 100644 --- a/services/codetally/codetally.service.js +++ b/services/codetally/codetally.service.js @@ -30,8 +30,7 @@ module.exports = class Codetally extends LegacyService { const owner = match[1] // eg, triggerman722. const repo = match[2] // eg, colorstrap const format = match[3] - const apiUrl = - 'http://www.codetally.com/formattedshield/' + owner + '/' + repo + const apiUrl = `http://www.codetally.com/formattedshield/${owner}/${repo}` const badgeData = getBadgeData('codetally', data) request(apiUrl, (err, res, buffer) => { if (err != null) { @@ -41,8 +40,9 @@ module.exports = class Codetally extends LegacyService { } try { const data = JSON.parse(buffer) - badgeData.text[1] = - ' ' + data.currency_sign + data.amount + ' ' + data.multiplier + badgeData.text[1] = ` ${data.currency_sign}${data.amount} ${ + data.multiplier + }` badgeData.colorscheme = null badgeData.colorB = '#2E8B57' sendBadge(format, badgeData) diff --git a/services/conda/conda.service.js b/services/conda/conda.service.js index 0d70c838af7fdae2a4315dd083f74c8712cfb8dd..5da4b423cb5a50cab342cce347ba7775c332b3d2 100644 --- a/services/conda/conda.service.js +++ b/services/conda/conda.service.js @@ -21,8 +21,7 @@ module.exports = class Conda extends LegacyService { const channel = match[2] const pkgname = match[3] const format = match[4] - const url = - 'https://api.anaconda.org/package/' + channel + '/' + pkgname + const url = `https://api.anaconda.org/package/${channel}/${pkgname}` const labels = { d: 'downloads', p: 'platform', diff --git a/services/continuousphp/continuousphp.service.js b/services/continuousphp/continuousphp.service.js index 9d6e800c6aa30157f06f3c6d87b7718741835b42..ec1c16e3f3595623b2951595e55393d905134f5d 100644 --- a/services/continuousphp/continuousphp.service.js +++ b/services/continuousphp/continuousphp.service.js @@ -32,27 +32,22 @@ module.exports = class ContinuousPhp extends LegacyService { const options = { method: 'GET', - uri: - 'https://status.continuousphp.com/' + - provider + - '/' + - userRepo + - '/status-info', + uri: `https://status.continuousphp.com/${provider}/${userRepo}/status-info`, headers: { Accept: 'application/json', }, } if (branch != null) { - options.uri += '?branch=' + branch + options.uri += `?branch=${branch}` } const badgeData = getBadgeData('build', data) request(options, (err, res) => { if (err != null) { - console.error('continuousphp error: ' + err.stack) + console.error(`continuousphp error: ${err.stack}`) if (res) { - console.error('' + res) + console.error(`${res}`) } badgeData.text[1] = 'invalid' diff --git a/services/cookbook/cookbook.service.js b/services/cookbook/cookbook.service.js index 6c29d53382c47ad37b5570438a641236d35c0464..def3fb7b7e8758924fa20093c06290aee70fc552 100644 --- a/services/cookbook/cookbook.service.js +++ b/services/cookbook/cookbook.service.js @@ -30,10 +30,7 @@ module.exports = class Cookbook extends LegacyService { cache((data, match, sendBadge, request) => { const cookbook = match[1] // eg, chef-sugar const format = match[2] - const apiUrl = - 'https://supermarket.getchef.com/api/v1/cookbooks/' + - cookbook + - '/versions/latest' + const apiUrl = `https://supermarket.getchef.com/api/v1/cookbooks/${cookbook}/versions/latest` const badgeData = getBadgeData('cookbook', data) request(apiUrl, (err, res, buffer) => { diff --git a/services/coveralls/coveralls.service.js b/services/coveralls/coveralls.service.js index cd48263084cad19f6b99dc27d11678e196bb6fb7..f5b283fbf0bdcf1384d68494d3c22bcf7c8ee4f0 100644 --- a/services/coveralls/coveralls.service.js +++ b/services/coveralls/coveralls.service.js @@ -52,7 +52,7 @@ module.exports = class Coveralls extends LegacyService { method: 'HEAD', } if (branch) { - apiUrl.url += '?branch=' + branch + apiUrl.url += `?branch=${branch}` } const badgeData = getBadgeData('coverage', data) request(apiUrl, (err, res) => { @@ -76,7 +76,7 @@ module.exports = class Coveralls extends LegacyService { sendBadge(format, badgeData) return } - badgeData.text[1] = score + '%' + badgeData.text[1] = `${score}%` badgeData.colorscheme = coveragePercentageColor(percentage) sendBadge(format, badgeData) } catch (e) { diff --git a/services/coverity/coverity-on-demand.service.js b/services/coverity/coverity-on-demand.service.js index cc3f3dea281fe44811c2ebe788b0d3fc228e15da..adc1f1a2d82d30b06b93cd91a7cc729e9c430bd9 100644 --- a/services/coverity/coverity-on-demand.service.js +++ b/services/coverity/coverity-on-demand.service.js @@ -55,12 +55,7 @@ module.exports = class CoverityOnDemand extends LegacyService { // https://api.ondemand.coverity.com/streams/44b25sjc9l3ntc2ngfi29tngro/badge // https://api.ondemand.coverity.com/jobs/p4tmm8031t4i971r0im4s7lckk/badge // - const url = - 'https://api.ondemand.coverity.com/' + - badgeType + - '/' + - badgeTypeId + - '/badge' + const url = `https://api.ondemand.coverity.com/${badgeType}/${badgeTypeId}/badge` request(url, (err, res, buffer) => { if (err != null) { badgeData.text[1] = 'inaccessible' diff --git a/services/coverity/coverity-scan.service.js b/services/coverity/coverity-scan.service.js index c72142470c2ee64f6c18c334077c97250a57d927..8d1034af4aa7c8241adc3d221604a633b03d022f 100644 --- a/services/coverity/coverity-scan.service.js +++ b/services/coverity/coverity-scan.service.js @@ -29,8 +29,7 @@ module.exports = class CoverityScan extends LegacyService { cache((data, match, sendBadge, request) => { const projectId = match[1] // eg, `3997` const format = match[2] - const url = - 'https://scan.coverity.com/projects/' + projectId + '/badge.json' + const url = `https://scan.coverity.com/projects/${projectId}/badge.json` const badgeData = getBadgeData('coverity', data) request(url, (err, res, buffer) => { if (err != null) { diff --git a/services/cpan/cpan.service.js b/services/cpan/cpan.service.js index 510bc77da1b08aee087547040e5dabe32e74123a..1c94d6e138820491f83e37aba03760ca67cee137 100644 --- a/services/cpan/cpan.service.js +++ b/services/cpan/cpan.service.js @@ -17,7 +17,7 @@ module.exports = class Cpan extends LegacyService { const pkg = match[2] // eg, Config-Augeas const format = match[3] const badgeData = getBadgeData('cpan', data) - const url = 'https://fastapi.metacpan.org/v1/release/' + pkg + const url = `https://fastapi.metacpan.org/v1/release/${pkg}` request(url, (err, res, buffer) => { if (err != null) { badgeData.text[1] = 'inaccessible' diff --git a/services/cran/cran.service.js b/services/cran/cran.service.js index 609f7e0fef2a7dd9e3c5a2c69a36f18f9db720e6..d85ed12dd3e4270a159b5bc146a1081c35e01acf 100644 --- a/services/cran/cran.service.js +++ b/services/cran/cran.service.js @@ -17,7 +17,7 @@ module.exports = class Cran extends LegacyService { const info = match[1] // either `v` or `l` const pkg = match[2] // eg, devtools const format = match[3] - const url = 'http://crandb.r-pkg.org/' + pkg + const url = `http://crandb.r-pkg.org/${pkg}` const badgeData = getBadgeData('cran', queryParams) request(url, (err, res, buffer) => { if (err != null) { diff --git a/services/crates/crates.service.js b/services/crates/crates.service.js index 4b4406b9b93dceab2f4f00c2deeb966fce1d1f8b..380479238512b6d24934851afba7c4334cf64034 100644 --- a/services/crates/crates.service.js +++ b/services/crates/crates.service.js @@ -27,7 +27,7 @@ module.exports = class Crates extends LegacyService { : data.version.downloads version = data.version && data.version.num badgeData.text[1] = - metric(downloads) + (version ? ' version ' + version : '') + metric(downloads) + (version ? ` version ${version}` : '') badgeData.colorscheme = downloadCountColor(downloads) }, }, @@ -41,7 +41,7 @@ module.exports = class Crates extends LegacyService { version = data.version && data.version.num badgeData.text[1] = metric(downloads) + - (version ? ' version ' + version : ' latest version') + (version ? ` version ${version}` : ' latest version') badgeData.colorscheme = downloadCountColor(downloads) }, }, @@ -64,9 +64,9 @@ module.exports = class Crates extends LegacyService { }, } const behavior = modes[mode] - let apiUrl = 'https://crates.io/api/v1/crates/' + crate + let apiUrl = `https://crates.io/api/v1/crates/${crate}` if (version != null && behavior.version) { - apiUrl += '/' + version + apiUrl += `/${version}` } const badgeData = getBadgeData(behavior.name, data) diff --git a/services/david/david.service.js b/services/david/david.service.js index ca04cb582a391283415043bca3f83fe9b537c391..d70dfd3c8dc3589816ae6f950e593c20a3798196 100644 --- a/services/david/david.service.js +++ b/services/david/david.service.js @@ -53,18 +53,15 @@ module.exports = class David extends LegacyService { // eg, `expressjs/express`, `webcomponents/generator-element`. const userRepo = match[2] const format = match[3] - let options = - 'https://david-dm.org/' + - userRepo + - '/' + - (dev ? dev + '-' : '') + - 'info.json' + let options = `https://david-dm.org/${userRepo}/${ + dev ? `${dev}-` : '' + }info.json` if (data.path) { // path can be used to specify the package.json location, useful for monorepos - options += '?path=' + data.path + options += `?path=${data.path}` } const badgeData = getBadgeData( - (dev ? dev + ' ' : '') + 'dependencies', + `${dev ? `${dev} ` : ''}dependencies`, data ) request(options, (err, res, buffer) => { diff --git a/services/discourse/discourse.service.js b/services/discourse/discourse.service.js index 329ca19ac1d6ddb6c79b3635b77d5bef93113cf6..b6cef20adf95bdea2f2d50e094b5e8850228419d 100644 --- a/services/discourse/discourse.service.js +++ b/services/discourse/discourse.service.js @@ -48,7 +48,7 @@ module.exports = class Discourse extends LegacyService { const host = match[2] // eg, meta.discourse.org const stat = match[3] // eg, user_count const format = match[4] - const url = scheme + '://' + host + '/site/statistics.json' + const url = `${scheme}://${host}/site/statistics.json` const options = { method: 'GET', @@ -62,7 +62,7 @@ module.exports = class Discourse extends LegacyService { request(options, (err, res) => { if (err != null) { if (res) { - console.error('' + res) + console.error(`${res}`) } badgeData.text[1] = 'inaccessible' @@ -86,19 +86,19 @@ module.exports = class Discourse extends LegacyService { switch (stat) { case 'topics': statCount = data.topic_count - badgeData.text[1] = metric(statCount) + ' topics' + badgeData.text[1] = `${metric(statCount)} topics` break case 'posts': statCount = data.post_count - badgeData.text[1] = metric(statCount) + ' posts' + badgeData.text[1] = `${metric(statCount)} posts` break case 'users': statCount = data.user_count - badgeData.text[1] = metric(statCount) + ' users' + badgeData.text[1] = `${metric(statCount)} users` break case 'likes': statCount = data.like_count - badgeData.text[1] = metric(statCount) + ' likes' + badgeData.text[1] = `${metric(statCount)} likes` break case 'status': badgeData.text[1] = 'online' @@ -111,7 +111,7 @@ module.exports = class Discourse extends LegacyService { sendBadge(format, badgeData) } catch (e) { - console.error('' + e.stack) + console.error(`${e.stack}`) badgeData.colorscheme = 'yellow' badgeData.text[1] = 'invalid' sendBadge(format, badgeData) diff --git a/services/docker/docker.service.js b/services/docker/docker.service.js index 00a2342a1d3b560c1ec39d30671946e5925f076f..4f5aab215a65a30efcd284929bbf1b4e4ed8c0a9 100644 --- a/services/docker/docker.service.js +++ b/services/docker/docker.service.js @@ -39,9 +39,8 @@ class DockerStars extends LegacyService { if (user === '_') { user = 'library' } - const path = user + '/' + repo - const url = - 'https://hub.docker.com/v2/repositories/' + path + '/stars/count/' + const path = `${user}/${repo}` + const url = `https://hub.docker.com/v2/repositories/${path}/stars/count/` const badgeData = getBadgeData('docker stars', data) request(url, (err, res, buffer) => { if ( @@ -99,8 +98,8 @@ class DockerPulls extends LegacyService { if (user === '_') { user = 'library' } - const path = user + '/' + repo - const url = 'https://hub.docker.com/v2/repositories/' + path + const path = `${user}/${repo}` + const url = `https://hub.docker.com/v2/repositories/${path}` const badgeData = getBadgeData('docker pulls', data) request(url, (err, res, buffer) => { if ( @@ -161,11 +160,8 @@ class DockerBuild extends LegacyService { if (user === '_') { user = 'library' } - const path = user + '/' + repo - const url = - 'https://registry.hub.docker.com/v2/repositories/' + - path + - '/buildhistory' + const path = `${user}/${repo}` + const url = `https://registry.hub.docker.com/v2/repositories/${path}/buildhistory` const badgeData = getBadgeData('docker build', data) request(url, (err, res, buffer) => { if ( @@ -206,8 +202,8 @@ class DockerBuild extends LegacyService { if (user === '_') { user = 'library' } - const path = user + '/' + repo - const url = 'https://registry.hub.docker.com/v2/repositories/' + path + const path = `${user}/${repo}` + const url = `https://registry.hub.docker.com/v2/repositories/${path}` const badgeData = getBadgeData('docker build', data) request(url, (err, res, buffer) => { if ( diff --git a/services/dub/dub-download.service.js b/services/dub/dub-download.service.js index 4c50075369315242a8b70bbc8cc974e985d6d05e..abb044ef43f7d165ec2d815181ffa6b78303fa32 100644 --- a/services/dub/dub-download.service.js +++ b/services/dub/dub-download.service.js @@ -52,9 +52,9 @@ module.exports = class DubDownload extends LegacyService { const pkg = match[2] // package name, e.g. vibe-d const version = match[3] // version (1.2.3 or latest) const format = match[4] - let apiUrl = 'https://code.dlang.org/api/packages/' + pkg + let apiUrl = `https://code.dlang.org/api/packages/${pkg}` if (version) { - apiUrl += '/' + version + apiUrl += `/${version}` } apiUrl += '/stats' const badgeData = getBadgeData('dub', data) @@ -71,15 +71,15 @@ module.exports = class DubDownload extends LegacyService { switch (info.charAt(1)) { case 'm': downloads = parsedData.downloads.monthly - badgeData.text[1] = metric(downloads) + '/month' + badgeData.text[1] = `${metric(downloads)}/month` break case 'w': downloads = parsedData.downloads.weekly - badgeData.text[1] = metric(downloads) + '/week' + badgeData.text[1] = `${metric(downloads)}/week` break case 'd': downloads = parsedData.downloads.daily - badgeData.text[1] = metric(downloads) + '/day' + badgeData.text[1] = `${metric(downloads)}/day` break case 't': downloads = parsedData.downloads.total @@ -87,7 +87,7 @@ module.exports = class DubDownload extends LegacyService { break } if (version) { - badgeData.text[1] += ' ' + versionText(version) + badgeData.text[1] += ` ${versionText(version)}` } badgeData.colorscheme = downloadCountColor(downloads) sendBadge(format, badgeData) diff --git a/services/dub/dub-license-version.service.js b/services/dub/dub-license-version.service.js index 568c2a34324c458d04b10e639d6f141e43deb8e1..bf2b7505be1c48e992c4ed93eddd75cc27a6b149 100644 --- a/services/dub/dub-license-version.service.js +++ b/services/dub/dub-license-version.service.js @@ -17,7 +17,7 @@ module.exports = class DubLicenseVersion extends LegacyService { const info = match[1] // (v - version, l - license) const pkg = match[2] // package name, e.g. vibe-d const format = match[3] - let apiUrl = 'https://code.dlang.org/api/packages/' + pkg + let apiUrl = `https://code.dlang.org/api/packages/${pkg}` if (info === 'v') { apiUrl += '/latest' } else if (info === 'l') { diff --git a/services/gem/gem-downloads.service.js b/services/gem/gem-downloads.service.js index 7cde3e714de1dad14e9583c7ea674fa41abc60a0..c81527bc4fcdc30261ad609b94952a29659546bc 100644 --- a/services/gem/gem-downloads.service.js +++ b/services/gem/gem-downloads.service.js @@ -49,7 +49,7 @@ module.exports = class GemDownloads extends BaseJsonService { static _getLabel(version, info) { if (version) { - return 'downloads@' + version + return `downloads@${version}` } else { if (info === 'dtv') { return 'downloads@latest' diff --git a/services/github/github-commits-since.service.js b/services/github/github-commits-since.service.js index ee05d104822cb7f9e0b27ccf7bd62148e2f57081..2414496aad9333a4c310f7eaee32ac6ae93a5473 100644 --- a/services/github/github-commits-since.service.js +++ b/services/github/github-commits-since.service.js @@ -16,7 +16,7 @@ module.exports = class GithubCommitsSince extends LegacyService { const repo = match[2] // eg, subtitleedit const version = match[3] // eg, 3.4.7 or latest const format = match[4] - const badgeData = getBadgeData('commits since ' + version, data) + const badgeData = getBadgeData(`commits since ${version}`, data) function setCommitsSinceBadge(user, repo, version) { const apiUrl = `/repos/${user}/${repo}/compare/${version}...master` @@ -34,7 +34,7 @@ module.exports = class GithubCommitsSince extends LegacyService { const result = JSON.parse(buffer) badgeData.text[1] = result.ahead_by badgeData.colorscheme = 'blue' - badgeData.text[0] = getLabel('commits since ' + version, data) + badgeData.text[0] = getLabel(`commits since ${version}`, data) sendBadge(format, badgeData) } catch (e) { badgeData.text[1] = 'invalid' diff --git a/services/github/github-downloads.service.js b/services/github/github-downloads.service.js index 213ea50d2d2a1f10b69605587a7ab7ec3904e20d..65c4f1e5be6acb098b7474e0a885637f4b48a815 100644 --- a/services/github/github-downloads.service.js +++ b/services/github/github-downloads.service.js @@ -39,9 +39,9 @@ module.exports = class GithubDownloads extends LegacyService { ? type === 'downloads' ? 'latest' : '' - : 'tags/' + tag + : `tags/${tag}` if (releasePath) { - apiUrl = apiUrl + '/' + releasePath + apiUrl = `${apiUrl}/${releasePath}` } } const badgeData = getBadgeData('downloads', data) diff --git a/services/github/github-forks.service.js b/services/github/github-forks.service.js index 33597798723739ef8c2c0cd5e0c81e37020e400d..17ff0ac0e9edc595d283a0119d3fbefbe7a7d52c 100644 --- a/services/github/github-forks.service.js +++ b/services/github/github-forks.service.js @@ -22,8 +22,8 @@ module.exports = class GithubForks extends LegacyService { if (badgeData.template === 'social') { badgeData.logo = getLogo('github', data) badgeData.links = [ - 'https://github.com/' + user + '/' + repo + '/fork', - 'https://github.com/' + user + '/' + repo + '/network', + `https://github.com/${user}/${repo}/fork`, + `https://github.com/${user}/${repo}/network`, ] } githubApiProvider.request(request, apiUrl, {}, (err, res, buffer) => { diff --git a/services/github/github-issues.service.js b/services/github/github-issues.service.js index 62f247aae0dfd428943d9c5bbc98304b761783da..c3b3453a44009bc5dbf457472aaf528568c39904 100644 --- a/services/github/github-issues.service.js +++ b/services/github/github-issues.service.js @@ -25,21 +25,16 @@ module.exports = class GithubIssues extends LegacyService { const query = {} const hasLabel = ghLabel !== undefined - query.q = - 'repo:' + - user + - '/' + - repo + - (isPR ? ' is:pr' : ' is:issue') + - (isClosed ? ' is:closed' : ' is:open') + - (hasLabel ? ` label:"${ghLabel}"` : '') + query.q = `repo:${user}/${repo}${isPR ? ' is:pr' : ' is:issue'}${ + isClosed ? ' is:closed' : ' is:open' + }${hasLabel ? ` label:"${ghLabel}"` : ''}` const classText = isClosed ? 'closed' : 'open' - const leftClassText = isRaw ? classText + ' ' : '' - const rightClassText = !isRaw ? ' ' + classText : '' + const leftClassText = isRaw ? `${classText} ` : '' + const rightClassText = !isRaw ? ` ${classText}` : '' const isGhLabelMultiWord = hasLabel && ghLabel.includes(' ') const labelText = hasLabel - ? (isGhLabelMultiWord ? `"${ghLabel}"` : ghLabel) + ' ' + ? `${isGhLabelMultiWord ? `"${ghLabel}"` : ghLabel} ` : '' const targetText = isPR ? 'pull requests' : 'issues' const badgeData = getBadgeData( diff --git a/services/github/github-languages.service.js b/services/github/github-languages.service.js index 2f1725cbd52b1680700b0df7552afbe799c987f6..a857cb238ffad45fede660b17e8e2e302ce186f3 100644 --- a/services/github/github-languages.service.js +++ b/services/github/github-languages.service.js @@ -51,8 +51,9 @@ module.exports = class GithubLanguages extends LegacyService { badgeData.text[1] = 'none' badgeData.colorscheme = 'blue' } else { - badgeData.text[1] = - ((maxBytes / sumBytes) * 100).toFixed(1) + '%' // eg, 9.1% + badgeData.text[1] = `${((maxBytes / sumBytes) * 100).toFixed( + 1 + )}%` // eg, 9.1% } break } diff --git a/services/github/github-manifest-version.service.js b/services/github/github-manifest-version.service.js index 1f7ea17ffd48daefaf1c3bae62e613e8578d1dd5..6f48e28267873484aab3d261f81d39fb05f8e528 100644 --- a/services/github/github-manifest-version.service.js +++ b/services/github/github-manifest-version.service.js @@ -23,16 +23,7 @@ module.exports = class GithubManifestVersion extends LegacyService { const repo = match[4] const branch = match[5] || 'master' const format = match[6] - const apiUrl = - 'https://raw.githubusercontent.com/' + - user + - '/' + - repo + - '/' + - branch + - '/' + - type + - '.json' + const apiUrl = `https://raw.githubusercontent.com/${user}/${repo}/${branch}/${type}.json` const badgeData = getBadgeData(type, queryData) request(apiUrl, (err, res, buffer) => { if (githubCheckErrorResponse(badgeData, err, res)) { diff --git a/services/github/github-release.service.js b/services/github/github-release.service.js index f7211d2cf1f0543a0c007b66d69287d4157c74e6..29b896b36b7006a402ca7a28a14f5e3685296990 100644 --- a/services/github/github-release.service.js +++ b/services/github/github-release.service.js @@ -20,7 +20,7 @@ module.exports = class GithubRelease extends LegacyService { const format = match[4] let apiUrl = `/repos/${userRepo}/releases` if (!includePre) { - apiUrl = apiUrl + '/latest' + apiUrl = `${apiUrl}/latest` } const badgeData = getBadgeData('release', data) if (badgeData.template === 'social') { diff --git a/services/github/github-search.service.js b/services/github/github-search.service.js index f6b8d416bad64210ad1993fb6da5cdb0eb039afa..c00ac644e3de8174a697dced06899a68507c48a9 100644 --- a/services/github/github-search.service.js +++ b/services/github/github-search.service.js @@ -17,8 +17,8 @@ module.exports = class GithubSearch extends LegacyService { const repo = match[2] const search = match[3] const format = match[4] - const query = { q: search + ' repo:' + user + '/' + repo } - const badgeData = getBadgeData(search + ' counter', data) + const query = { q: `${search} repo:${user}/${repo}` } + const badgeData = getBadgeData(`${search} counter`, data) githubApiProvider.request( request, '/search/code', diff --git a/services/github/github-stars.service.js b/services/github/github-stars.service.js index 6a91d6dd458eb38767d673951cfe690cc6e5bf6a..011a947fd45e2721f5c2edbb15ad5452482e313a 100644 --- a/services/github/github-stars.service.js +++ b/services/github/github-stars.service.js @@ -23,8 +23,8 @@ module.exports = class GithubStars extends LegacyService { if (badgeData.template === 'social') { badgeData.logo = getLogo('github', data) badgeData.links = [ - 'https://github.com/' + user + '/' + repo, - 'https://github.com/' + user + '/' + repo + '/stargazers', + `https://github.com/${user}/${repo}`, + `https://github.com/${user}/${repo}/stargazers`, ] } githubApiProvider.request(request, apiUrl, {}, (err, res, buffer) => { diff --git a/services/github/github-watchers.service.js b/services/github/github-watchers.service.js index f2f832d48d930a5ab1ecee65aa7a3ae1cf0ad8a5..a073ec14ae13f8713fa547cb4da3049026d74923 100644 --- a/services/github/github-watchers.service.js +++ b/services/github/github-watchers.service.js @@ -22,8 +22,8 @@ module.exports = class GithubWatchers extends LegacyService { if (badgeData.template === 'social') { badgeData.logo = getLogo('github', data) badgeData.links = [ - 'https://github.com/' + user + '/' + repo, - 'https://github.com/' + user + '/' + repo + '/watchers', + `https://github.com/${user}/${repo}`, + `https://github.com/${user}/${repo}/watchers`, ] } githubApiProvider.request(request, apiUrl, {}, (err, res, buffer) => { diff --git a/services/hackage/hackage-deps.service.js b/services/hackage/hackage-deps.service.js index bf40eea3d506a7e950fc3833ab80989accc0beef..c5b89a723da282d614fb948d1397e2e612338e22 100644 --- a/services/hackage/hackage-deps.service.js +++ b/services/hackage/hackage-deps.service.js @@ -30,8 +30,8 @@ module.exports = class HackageDeps extends LegacyService { cache((data, match, sendBadge, request) => { const repo = match[1] // eg, `lens`. const format = match[2] - const reverseUrl = 'http://packdeps.haskellers.com/licenses/' + repo - const feedUrl = 'http://packdeps.haskellers.com/feed/' + repo + const reverseUrl = `http://packdeps.haskellers.com/licenses/${repo}` + const feedUrl = `http://packdeps.haskellers.com/feed/${repo}` const badgeData = getBadgeData('dependencies', data) // first call /reverse to check if the package exists @@ -51,7 +51,7 @@ module.exports = class HackageDeps extends LegacyService { } try { - const outdatedStr = 'Outdated dependencies for ' + repo + ' ' + const outdatedStr = `Outdated dependencies for ${repo} ` if (buffer.indexOf(outdatedStr) >= 0) { badgeData.text[1] = 'outdated' badgeData.colorscheme = 'orange' diff --git a/services/hackage/hackage-version.service.js b/services/hackage/hackage-version.service.js index 35975497378231a9283a2e66096f88cf36bca8b9..4503d9e562292d9a315744456bda750cbb89202c 100644 --- a/services/hackage/hackage-version.service.js +++ b/services/hackage/hackage-version.service.js @@ -13,8 +13,7 @@ module.exports = class HackageVersion extends LegacyService { cache((data, match, sendBadge, request) => { const repo = match[1] // eg, `lens`. const format = match[2] - const apiUrl = - 'https://hackage.haskell.org/package/' + repo + '/' + repo + '.cabal' + const apiUrl = `https://hackage.haskell.org/package/${repo}/${repo}.cabal` const badgeData = getBadgeData('hackage', data) request(apiUrl, (err, res, buffer) => { if (checkErrorResponse(badgeData, err, res)) { diff --git a/services/homebrew/homebrew.service.js b/services/homebrew/homebrew.service.js index 5e6798426ace4319977225a059846c6c15a67b00..75046d33a906377fee5a8e81ba92f8d484a71360 100644 --- a/services/homebrew/homebrew.service.js +++ b/services/homebrew/homebrew.service.js @@ -32,7 +32,7 @@ module.exports = class Homebrew extends LegacyService { cache((data, match, sendBadge, request) => { const pkg = match[1] // eg. cake const format = match[2] - const apiUrl = 'https://formulae.brew.sh/api/formula/' + pkg + '.json' + const apiUrl = `https://formulae.brew.sh/api/formula/${pkg}.json` const badgeData = getBadgeData('homebrew', data) request( diff --git a/services/imagelayers/imagelayers.service.js b/services/imagelayers/imagelayers.service.js index 10b37cc831faa085ed485d3f3cab73b57be1a26c..f8fbdbae5939540c26b1fc12b565be9498da6e9b 100644 --- a/services/imagelayers/imagelayers.service.js +++ b/services/imagelayers/imagelayers.service.js @@ -43,7 +43,7 @@ module.exports = class Imagelayers extends LegacyService { if (user === '_') { user = 'library' } - const path = user + '/' + repo + const path = `${user}/${repo}` const badgeData = getBadgeData(type, data) const options = { method: 'POST', @@ -61,7 +61,7 @@ module.exports = class Imagelayers extends LegacyService { } try { if (type === 'image-size') { - const size = metric(buffer[0].repo.size) + 'B' + const size = `${metric(buffer[0].repo.size)}B` badgeData.text[0] = getLabel('image size', data) badgeData.text[1] = size } else if (type === 'layers') { diff --git a/services/itunes/itunes.service.js b/services/itunes/itunes.service.js index 6cf84cf6fd397e4316b877cf671e249166b8819e..30942f292e88e6db2015ddba186fbb078c25cf20 100644 --- a/services/itunes/itunes.service.js +++ b/services/itunes/itunes.service.js @@ -33,7 +33,7 @@ module.exports = class Itunes extends LegacyService { cache((data, match, sendBadge, request) => { const bundleId = match[1] // eg, `324684580` const format = match[2] - const apiUrl = 'https://itunes.apple.com/lookup?id=' + bundleId + const apiUrl = `https://itunes.apple.com/lookup?id=${bundleId}` const badgeData = getBadgeData('itunes app store', data) request(apiUrl, (err, res, buffer) => { if (err !== null) { diff --git a/services/jenkins/jenkins-build.service.js b/services/jenkins/jenkins-build.service.js index 2950528fff83187d80386dc792db25948a9e84c6..c964f7fccbe684af020c4c062b7a039f73ac1d8f 100644 --- a/services/jenkins/jenkins-build.service.js +++ b/services/jenkins/jenkins-build.service.js @@ -35,11 +35,10 @@ module.exports = class JenkinsBuild extends LegacyService { const format = match[4] const options = { json: true, - uri: scheme + '://' + host + '/job/' + job + '/api/json?tree=color', + uri: `${scheme}://${host}/job/${job}/api/json?tree=color`, } if (job.indexOf('/') > -1) { - options.uri = - scheme + '://' + host + '/' + job + '/api/json?tree=color' + options.uri = `${scheme}://${host}/${job}/api/json?tree=color` } if (serverSecrets && serverSecrets.jenkins_user) { diff --git a/services/jenkins/jenkins-plugin-installs.service.js b/services/jenkins/jenkins-plugin-installs.service.js index 6115a156a087fc748ebeaf97d3c984164db2b38f..b864f7aa066ac184c6569a04c01b86073dc39839 100644 --- a/services/jenkins/jenkins-plugin-installs.service.js +++ b/services/jenkins/jenkins-plugin-installs.service.js @@ -59,7 +59,7 @@ class JenkinsPluginInstalls extends BaseJsonService { static _getLabel(version) { if (version) { - return 'installs@' + version + return `installs@${version}` } else { return 'installs' } diff --git a/services/jenkins/jenkins-tests.service.js b/services/jenkins/jenkins-tests.service.js index b370c7229bfa8d7ba7f0f248fd6c4f25e08894e5..3579caad1635ecd27a9dfbae7f1b643f29772a61 100644 --- a/services/jenkins/jenkins-tests.service.js +++ b/services/jenkins/jenkins-tests.service.js @@ -35,24 +35,14 @@ module.exports = class JenkinsTests extends LegacyService { const format = match[4] const options = { json: true, - uri: - scheme + - '://' + - host + - '/job/' + - job + - '/lastBuild/api/json?tree=' + - encodeURIComponent('actions[failCount,skipCount,totalCount]'), + uri: `${scheme}://${host}/job/${job}/lastBuild/api/json?tree=${encodeURIComponent( + 'actions[failCount,skipCount,totalCount]' + )}`, } if (job.indexOf('/') > -1) { - options.uri = - scheme + - '://' + - host + - '/' + - job + - '/lastBuild/api/json?tree=' + - encodeURIComponent('actions[failCount,skipCount,totalCount]') + options.uri = `${scheme}://${host}/${job}/lastBuild/api/json?tree=${encodeURIComponent( + 'actions[failCount,skipCount,totalCount]' + )}` } if (serverSecrets && serverSecrets.jenkins_user) { @@ -83,7 +73,7 @@ module.exports = class JenkinsTests extends LegacyService { testsObject.totalCount - (testsObject.failCount + testsObject.skipCount) const percent = successfulTests / testsObject.totalCount - badgeData.text[1] = successfulTests + ' / ' + testsObject.totalCount + badgeData.text[1] = `${successfulTests} / ${testsObject.totalCount}` if (percent === 1) { badgeData.colorscheme = 'brightgreen' } else if (percent === 0) { diff --git a/services/jetbrains/jetbrains.service.js b/services/jetbrains/jetbrains.service.js index 6104db35a123e668753004d4f7cdac0f7e0b638d..a72b5c35dcf4689c71022cf6b9fcfecada5108c3 100644 --- a/services/jetbrains/jetbrains.service.js +++ b/services/jetbrains/jetbrains.service.js @@ -21,8 +21,7 @@ module.exports = class JetBrains extends LegacyService { const format = match[3] const leftText = type === 'v' ? 'jetbrains plugin' : 'downloads' const badgeData = getBadgeData(leftText, data) - const url = - 'https://plugins.jetbrains.com/plugins/list?pluginId=' + pluginId + const url = `https://plugins.jetbrains.com/plugins/list?pluginId=${pluginId}` request(url, (err, res, buffer) => { if (err || res.statusCode !== 200) { diff --git a/services/jira/jira-issue.service.js b/services/jira/jira-issue.service.js index b522a45798b3a6b497bbefa6d02936231c30db89..9443b8ae4c2a2557520e04f3bec7d67477511f85 100644 --- a/services/jira/jira-issue.service.js +++ b/services/jira/jira-issue.service.js @@ -36,12 +36,9 @@ module.exports = class JiraIssue extends LegacyService { const options = { method: 'GET', json: true, - uri: - protocol + - '://' + - host + - '/rest/api/2/issue/' + - encodeURIComponent(issueKey), + uri: `${protocol}://${host}/rest/api/2/issue/${encodeURIComponent( + issueKey + )}`, } if (serverSecrets && serverSecrets.jira_username) { options.auth = { diff --git a/services/jira/jira-sprint.service.js b/services/jira/jira-sprint.service.js index bd8ce279c1451fdb691e0e4ec1a172dceaad529e..0fe1c0aac1ed10fdfab361e5e3fe48ecac2dfb8a 100644 --- a/services/jira/jira-sprint.service.js +++ b/services/jira/jira-sprint.service.js @@ -45,13 +45,7 @@ module.exports = class JiraSprint extends LegacyService { const options = { method: 'GET', json: true, - uri: - protocol + - '://' + - host + - '/rest/api/2/search?jql=sprint=' + - sprintId + - '%20AND%20type%20IN%20(Bug,Improvement,Story,"Technical%20task")&fields=resolution&maxResults=500', + uri: `${protocol}://${host}/rest/api/2/search?jql=sprint=${sprintId}%20AND%20type%20IN%20(Bug,Improvement,Story,"Technical%20task")&fields=resolution&maxResults=500`, } if (serverSecrets && serverSecrets.jira_username) { options.auth = { @@ -74,8 +68,9 @@ module.exports = class JiraSprint extends LegacyService { return el.fields.resolution.name !== 'Unresolved' } }).length - badgeData.text[1] = - Math.round((issuesDone * 100) / json.total) + '%' + badgeData.text[1] = `${Math.round( + (issuesDone * 100) / json.total + )}%` switch (issuesDone) { case 0: badgeData.colorscheme = 'red' diff --git a/services/jitpack/jitpack.service.js b/services/jitpack/jitpack.service.js index 5e6aac4c6f05537256e2e4cecf02938f1f8cfc8d..a851e6286454089823287b3e2746c02ee3eb4b72 100644 --- a/services/jitpack/jitpack.service.js +++ b/services/jitpack/jitpack.service.js @@ -30,12 +30,12 @@ module.exports = class Jitpack extends LegacyService { camp.route( /^\/jitpack\/v\/([^/]*)\/([^/]*)\.(svg|png|gif|jpg|json)$/, cache((data, match, sendBadge, request) => { - const groupId = 'com.github.' + match[1] // github user + const groupId = `com.github.${match[1]}` // github user const artifactId = match[2] // the project's name const format = match[3] // "svg" - const pkg = groupId + '/' + artifactId + '/latest' - const apiUrl = 'https://jitpack.io/api/builds/' + pkg + const pkg = `${groupId}/${artifactId}/latest` + const apiUrl = `https://jitpack.io/api/builds/${pkg}` const badgeData = getBadgeData('jitpack', data) diff --git a/services/lgtm/lgtm-alerts.service.js b/services/lgtm/lgtm-alerts.service.js index 697ad837db34706091cf5a6319bb3e06d956f1f0..99b7138ac744945e607ec9bf61fbb3d952b5e52d 100644 --- a/services/lgtm/lgtm-alerts.service.js +++ b/services/lgtm/lgtm-alerts.service.js @@ -31,8 +31,7 @@ module.exports = class LgtmAlerts extends LegacyService { cache((data, match, sendBadge, request) => { const projectId = match[1] // eg, `g/apache/cloudstack` const format = match[2] - const url = - 'https://lgtm.com/api/v0.1/project/' + projectId + '/details' + const url = `https://lgtm.com/api/v0.1/project/${projectId}/details` const badgeData = getBadgeData('lgtm', data) request(url, (err, res, buffer) => { if ( diff --git a/services/lgtm/lgtm-grade.service.js b/services/lgtm/lgtm-grade.service.js index b7011db3a89a10cbcd42c632b9eb2a9f6f51140b..c51c3c54b23d3941cff95028c9632b65f0cae160 100644 --- a/services/lgtm/lgtm-grade.service.js +++ b/services/lgtm/lgtm-grade.service.js @@ -31,8 +31,7 @@ module.exports = class LgtmGrade extends LegacyService { const language = match[1] // eg, `java` const projectId = match[2] // eg, `g/apache/cloudstack` const format = match[3] - const url = - 'https://lgtm.com/api/v0.1/project/' + projectId + '/details' + const url = `https://lgtm.com/api/v0.1/project/${projectId}/details` const languageLabel = (() => { switch (language) { case 'cpp': @@ -46,7 +45,7 @@ module.exports = class LgtmGrade extends LegacyService { return language } })() - const badgeData = getBadgeData('code quality: ' + languageLabel, data) + const badgeData = getBadgeData(`code quality: ${languageLabel}`, data) request(url, (err, res, buffer) => { if ( checkErrorResponse(badgeData, err, res, { diff --git a/services/liberapay/liberapay.service.js b/services/liberapay/liberapay.service.js index 708800ffbb96f660fddf34234c533df41b93186e..842ea6177021c1a67f9c68c55cb2d99cbd43b1dc 100644 --- a/services/liberapay/liberapay.service.js +++ b/services/liberapay/liberapay.service.js @@ -45,7 +45,7 @@ module.exports = class Liberapay extends LegacyService { const type = match[1] // e.g., 'gives' const entity = match[2] // e.g., 'Changaco' const format = match[3] - const apiUrl = 'https://liberapay.com/' + entity + '/public.json' + const apiUrl = `https://liberapay.com/${entity}/public.json` // Lock down type const label = { receives: 'receives', diff --git a/services/librariesio/librariesio-dependencies.service.js b/services/librariesio/librariesio-dependencies.service.js index e9ded30b944d69c6be2ca1293d53d5629590b194..63cf1c10507bd7bee6f088b83fae30df53bef150 100644 --- a/services/librariesio/librariesio-dependencies.service.js +++ b/services/librariesio/librariesio-dependencies.service.js @@ -40,13 +40,12 @@ module.exports = class LibrariesioDependencies extends LegacyService { let uri switch (resource) { case 'github': { - uri = 'https://libraries.io/api/github/' + project + '/dependencies' + uri = `https://libraries.io/api/github/${project}/dependencies` break } case 'release': { const v = version || 'latest' - uri = - 'https://libraries.io/api/' + project + '/' + v + '/dependencies' + uri = `https://libraries.io/api/${project}/${v}/dependencies` break } } @@ -70,14 +69,14 @@ module.exports = class LibrariesioDependencies extends LegacyService { // Deprecated dependencies are really bad if (deprecated.length > 0) { badgeData.colorscheme = 'red' - badgeData.text[1] = deprecated.length + ' deprecated' + badgeData.text[1] = `${deprecated.length} deprecated` return sendBadge(format, badgeData) } // Out of date dependencies are pretty bad if (outofdate.length > 0) { badgeData.colorscheme = 'orange' - badgeData.text[1] = outofdate.length + ' out of date' + badgeData.text[1] = `${outofdate.length} out of date` return sendBadge(format, badgeData) } diff --git a/services/luarocks/luarocks.service.js b/services/luarocks/luarocks.service.js index 91d125dee70c4a29e53a92fb1e62cc0b82b94136..96d024a552431c2e218c6303ffbc46a1f36efc31 100644 --- a/services/luarocks/luarocks.service.js +++ b/services/luarocks/luarocks.service.js @@ -16,8 +16,7 @@ module.exports = class Luarocks extends LegacyService { const user = match[1] // eg, `leafo`. const moduleName = match[2] // eg, `lapis`. const format = match[4] - const apiUrl = - 'https://luarocks.org/manifests/' + user + '/manifest.json' + const apiUrl = `https://luarocks.org/manifests/${user}/manifest.json` const badgeData = getBadgeData('luarocks', data) let version = match[3] // you can explicitly specify a version request(apiUrl, (err, res, buffer) => { diff --git a/services/maintenance/maintenance.service.js b/services/maintenance/maintenance.service.js index 166e09c8bb4931e102d97880a1712bdc307f4717..fc73e480bab093b069021cdbb94f1a45bbaf0f34 100644 --- a/services/maintenance/maintenance.service.js +++ b/services/maintenance/maintenance.service.js @@ -37,15 +37,15 @@ module.exports = class Maintenance extends LegacyService { const cy = now.getUTCFullYear() // current year. const m = now.getUTCMonth() // month. if (status === 'no') { - badgeData.text[1] = 'no! (as of ' + year + ')' + badgeData.text[1] = `no! (as of ${year})` badgeData.colorscheme = 'red' } else if (cy <= year) { badgeData.text[1] = status badgeData.colorscheme = 'brightgreen' } else if (cy === year + 1 && m < 3) { - badgeData.text[1] = 'stale (as of ' + cy + ')' + badgeData.text[1] = `stale (as of ${cy})` } else { - badgeData.text[1] = 'no! (as of ' + year + ')' + badgeData.text[1] = `no! (as of ${year})` badgeData.colorscheme = 'red' } sendBadge(format, badgeData) diff --git a/services/maintenance/maintenance.tester.js b/services/maintenance/maintenance.tester.js index 9f3a9edac3007fb4a238b43e3ab88ae6ae24b24e..ce1c9811512e8ac7d91ff06f44c5807d16651246 100644 --- a/services/maintenance/maintenance.tester.js +++ b/services/maintenance/maintenance.tester.js @@ -16,9 +16,9 @@ t.create('no longer maintained 2017 (no)') .expectJSON({ name: 'maintained', value: 'no! (as of 2017)' }) t.create('yes this year (yes)') - .get('/yes/' + currentYear + '.json') + .get(`/yes/${currentYear}.json`) .expectJSON({ name: 'maintained', value: 'yes' }) -t.create('until end of ' + currentYear + ' (yes)') - .get('/until end of ' + currentYear + '/' + currentYear + '.json') - .expectJSON({ name: 'maintained', value: 'until end of ' + currentYear }) +t.create(`until end of ${currentYear} (yes)`) + .get(`/until end of ${currentYear}/${currentYear}.json`) + .expectJSON({ name: 'maintained', value: `until end of ${currentYear}` }) diff --git a/services/maven-central/maven-central.service.js b/services/maven-central/maven-central.service.js index 5a753c9e160c8a1ee34ba49f149269efa4a1ad89..58765a3ae2c5419c1661583154cea2f7a7136aaf 100644 --- a/services/maven-central/maven-central.service.js +++ b/services/maven-central/maven-central.service.js @@ -39,13 +39,11 @@ module.exports = class MavenCentral extends LegacyService { const artifactId = match[2] // eg, `guice` const versionPrefix = match[3] || '' // eg, `1.` const format = match[4] || 'gif' // eg, `svg` - const metadataUrl = - 'http://repo1.maven.org/maven2' + - '/' + - encodeURIComponent(groupId).replace(/\./g, '/') + - '/' + - encodeURIComponent(artifactId) + - '/maven-metadata.xml' + const metadataUrl = `${'http://repo1.maven.org/maven2' + + '/'}${encodeURIComponent(groupId).replace( + /\./g, + '/' + )}/${encodeURIComponent(artifactId)}/maven-metadata.xml` const badgeData = getBadgeData('maven-central', data) request( metadataUrl, diff --git a/services/nexus/nexus.service.js b/services/nexus/nexus.service.js index 0f0a9bc5465eb156a2626349e730d9622197309e..3b944f6985aa46cdb81ffe648e5cfce6a263c322 100644 --- a/services/nexus/nexus.service.js +++ b/services/nexus/nexus.service.js @@ -26,24 +26,11 @@ module.exports = class Nexus extends LegacyService { const badgeData = getBadgeData('nexus', data) - const apiUrl = - scheme + - '://' + - host + - (repo === 'r' || repo === 's' - ? '/service/local/lucene/search?g=' + - groupId + - '&a=' + - artifactId + - queryOpt - : '/service/local/artifact/maven/resolve?r=' + - repo + - '&g=' + - groupId + - '&a=' + - artifactId + - '&v=LATEST' + - queryOpt) + const apiUrl = `${scheme}://${host}${ + repo === 'r' || repo === 's' + ? `/service/local/lucene/search?g=${groupId}&a=${artifactId}${queryOpt}` + : `/service/local/artifact/maven/resolve?r=${repo}&g=${groupId}&a=${artifactId}&v=LATEST${queryOpt}` + }` request( apiUrl, diff --git a/services/nuget/nuget.service.js b/services/nuget/nuget.service.js index d0c05e745457e67183e80e0596703950a4f22500..d6b4228a8e9455c69dfdbf13a754d63f20f088c7 100644 --- a/services/nuget/nuget.service.js +++ b/services/nuget/nuget.service.js @@ -10,20 +10,20 @@ const { regularUpdate } = require('../../lib/regular-update') function mapNugetFeedv2({ camp, cache }, pattern, offset, getInfo) { const vRegex = new RegExp( - '^\\/' + pattern + '\\/v\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/v\\/(.*)\\.(svg|png|gif|jpg|json)$` ) const vPreRegex = new RegExp( - '^\\/' + pattern + '\\/vpre\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/vpre\\/(.*)\\.(svg|png|gif|jpg|json)$` ) const dtRegex = new RegExp( - '^\\/' + pattern + '\\/dt\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/dt\\/(.*)\\.(svg|png|gif|jpg|json)$` ) function getNugetPackage(apiUrl, id, includePre, request, done) { const filter = includePre - ? "Id eq '" + id + "' and IsAbsoluteLatestVersion eq true" - : "Id eq '" + id + "' and IsLatestVersion eq true" - const reqUrl = apiUrl + '/Packages()?$filter=' + encodeURIComponent(filter) + ? `Id eq '${id}' and IsAbsoluteLatestVersion eq true` + : `Id eq '${id}' and IsLatestVersion eq true` + const reqUrl = `${apiUrl}/Packages()?$filter=${encodeURIComponent(filter)}` request( reqUrl, { headers: { Accept: 'application/atom+json,application/json' } }, @@ -68,7 +68,7 @@ function mapNugetFeedv2({ camp, cache }, pattern, offset, getInfo) { return } const version = data.NormalizedVersion || data.Version - badgeData.text[1] = 'v' + version + badgeData.text[1] = `v${version}` if (version.indexOf('-') !== -1) { badgeData.colorscheme = 'yellow' } else if (version[0] === '0') { @@ -97,7 +97,7 @@ function mapNugetFeedv2({ camp, cache }, pattern, offset, getInfo) { return } const version = data.NormalizedVersion || data.Version - badgeData.text[1] = 'v' + version + badgeData.text[1] = `v${version}` if (version.indexOf('-') !== -1) { badgeData.colorscheme = 'yellow' } else if (version[0] === '0') { @@ -135,13 +135,13 @@ function mapNugetFeedv2({ camp, cache }, pattern, offset, getInfo) { function mapNugetFeed({ camp, cache }, pattern, offset, getInfo) { const vRegex = new RegExp( - '^\\/' + pattern + '\\/v\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/v\\/(.*)\\.(svg|png|gif|jpg|json)$` ) const vPreRegex = new RegExp( - '^\\/' + pattern + '\\/vpre\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/vpre\\/(.*)\\.(svg|png|gif|jpg|json)$` ) const dtRegex = new RegExp( - '^\\/' + pattern + '\\/dt\\/(.*)\\.(svg|png|gif|jpg|json)$' + `^\\/${pattern}\\/dt\\/(.*)\\.(svg|png|gif|jpg|json)$` ) function getNugetData(apiUrl, id, request, done) { @@ -149,7 +149,7 @@ function mapNugetFeed({ camp, cache }, pattern, offset, getInfo) { regularUpdate( { - url: apiUrl + '/index.json', + url: `${apiUrl}/index.json`, // The endpoint changes once per year (ie, a period of n = 1 year). // We minimize the users' waiting time for information. // With l = latency to fetch the endpoint and x = endpoint update period @@ -179,11 +179,9 @@ function mapNugetFeed({ camp, cache }, pattern, offset, getInfo) { Math.random() * searchQueryResources.length ) const reqUrl = - searchQueryResources[randomEndpointIdx]['@id'] + - '?q=packageid:' + - encodeURIComponent(id.toLowerCase()) + // NuGet package id (lowercase) - '&prerelease=true' + // Include prerelease versions? - '&semVerLevel=2' // Include packages with SemVer 2 version numbers + `${searchQueryResources[randomEndpointIdx]['@id']}?q=packageid:${ + encodeURIComponent(id.toLowerCase()) // NuGet package id (lowercase) + }&prerelease=true` + `&semVerLevel=2` // Include prerelease versions? // Include packages with SemVer 2 version numbers request(reqUrl, (err, res, buffer) => { if (err != null) { @@ -246,7 +244,7 @@ function mapNugetFeed({ camp, cache }, pattern, offset, getInfo) { return } try { - badgeData.text[1] = 'v' + version + badgeData.text[1] = `v${version}` if (version.indexOf('-') !== -1) { badgeData.colorscheme = 'yellow' } else if (version[0] === '0') { @@ -279,7 +277,7 @@ function mapNugetFeed({ camp, cache }, pattern, offset, getInfo) { return } try { - badgeData.text[1] = 'v' + version + badgeData.text[1] = `v${version}` if (version.indexOf('-') !== -1) { badgeData.colorscheme = 'yellow' } else if (version[0] === '0') { @@ -359,7 +357,7 @@ module.exports = class Nuget extends LegacyService { const feed = match[2] return { site: feed, - feed: 'https://' + tenant + 'myget.org/F/' + feed + '/api/v3', + feed: `https://${tenant}myget.org/F/${feed}/api/v3`, } }) } diff --git a/services/osstracker/osstracker.service.js b/services/osstracker/osstracker.service.js index 280f5cd00738e2656e3120b5e040f5773423721b..4bed5021ba0b0c75beab29ee75e273cb198ace13 100644 --- a/services/osstracker/osstracker.service.js +++ b/services/osstracker/osstracker.service.js @@ -32,9 +32,9 @@ module.exports = class OssTracker extends LegacyService { const orgOrUserAndRepo = match[1] const branch = match[2] const format = match[3] - let url = 'https://raw.githubusercontent.com/' + orgOrUserAndRepo + let url = `https://raw.githubusercontent.com/${orgOrUserAndRepo}` if (branch != null) { - url += '/' + branch + '/OSSMETADATA' + url += `/${branch}/OSSMETADATA` } else { url += '/master/OSSMETADATA' } @@ -45,9 +45,9 @@ module.exports = class OssTracker extends LegacyService { const badgeData = getBadgeData('oss lifecycle', data) request(options, (err, res, body) => { if (err != null) { - log.error('NetflixOSS error: ' + err.stack) + log.error(`NetflixOSS error: ${err.stack}`) if (res) { - log.error('' + res) + log.error(`${res}`) } badgeData.text[1] = 'invalid' sendBadge(format, badgeData) diff --git a/services/packagecontrol/packagecontrol.service.js b/services/packagecontrol/packagecontrol.service.js index ae545254eeee891d69351f60b674547d88afd58c..edc7756d9de83b3a0c40c7c516fec6cb51e77336 100644 --- a/services/packagecontrol/packagecontrol.service.js +++ b/services/packagecontrol/packagecontrol.service.js @@ -50,8 +50,7 @@ module.exports = class PackageControl extends LegacyService { const info = match[1] // either `dm`, `dw`, `dd` or dt`. const userRepo = match[2] // eg, `Package%20Control`. const format = match[3] - const apiUrl = - 'https://packagecontrol.io/packages/' + userRepo + '.json' + const apiUrl = `https://packagecontrol.io/packages/${userRepo}.json` const badgeData = getBadgeData('downloads', data) request(apiUrl, (err, res, buffer) => { if (err != null) { @@ -74,7 +73,7 @@ module.exports = class PackageControl extends LegacyService { downloads += platform.totals[i] } }) - badgeData.text[1] = metric(downloads) + '/month' + badgeData.text[1] = `${metric(downloads)}/month` break case 'w': // daily downloads are separated by Operating System @@ -86,7 +85,7 @@ module.exports = class PackageControl extends LegacyService { downloads += platform.totals[i] } }) - badgeData.text[1] = metric(downloads) + '/week' + badgeData.text[1] = `${metric(downloads)}/week` break case 'd': // daily downloads are separated by Operating System @@ -95,7 +94,7 @@ module.exports = class PackageControl extends LegacyService { // use the downloads from yesterday downloads += platform.totals[1] }) - badgeData.text[1] = metric(downloads) + '/day' + badgeData.text[1] = `${metric(downloads)}/day` break case 't': // all-time downloads are already compiled diff --git a/services/packagist/packagist-downloads.service.js b/services/packagist/packagist-downloads.service.js index 6729e7f71084c9375d10c22addc21fc615041dd2..87a4f3ff3313dd068a96530dfe40738739b3483f 100644 --- a/services/packagist/packagist-downloads.service.js +++ b/services/packagist/packagist-downloads.service.js @@ -45,7 +45,7 @@ module.exports = class PackagistDownloads extends LegacyService { const info = match[1] // either `dm` or dt`. const userRepo = match[2] // eg, `doctrine/orm`. const format = match[3] - const apiUrl = 'https://packagist.org/packages/' + userRepo + '.json' + const apiUrl = `https://packagist.org/packages/${userRepo}.json` const badgeData = getBadgeData('downloads', data) if (userRepo.substr(-14) === '/:package_name') { badgeData.text[1] = 'invalid' @@ -63,11 +63,11 @@ module.exports = class PackagistDownloads extends LegacyService { switch (info.charAt(1)) { case 'm': downloads = data.package.downloads.monthly - badgeData.text[1] = metric(downloads) + '/month' + badgeData.text[1] = `${metric(downloads)}/month` break case 'd': downloads = data.package.downloads.daily - badgeData.text[1] = metric(downloads) + '/day' + badgeData.text[1] = `${metric(downloads)}/day` break case 't': downloads = data.package.downloads.total diff --git a/services/packagist/packagist-license.service.js b/services/packagist/packagist-license.service.js index 373859f86165c9be1446ea4a6d0678578453abaf..95ee8699131e2c29b9a78cdf033af2be71370a51 100644 --- a/services/packagist/packagist-license.service.js +++ b/services/packagist/packagist-license.service.js @@ -10,7 +10,7 @@ module.exports = class PackagistLicense extends LegacyService { cache((data, match, sendBadge, request) => { const userRepo = match[1] const format = match[2] - const apiUrl = 'https://packagist.org/packages/' + userRepo + '.json' + const apiUrl = `https://packagist.org/packages/${userRepo}.json` const badgeData = getBadgeData('license', data) if (userRepo.substr(-14) === '/:package_name') { badgeData.text[1] = 'invalid' diff --git a/services/packagist/packagist-php-version.service.js b/services/packagist/packagist-php-version.service.js index cd2728ac7c92c0d06a921fdb4e999bfad413da70..0d6bcc3b8fd407273aa91eff6c97298c834f791b 100644 --- a/services/packagist/packagist-php-version.service.js +++ b/services/packagist/packagist-php-version.service.js @@ -33,14 +33,14 @@ module.exports = class PackagistPhpVersion extends LegacyService { const format = match[3] const options = { method: 'GET', - uri: 'https://packagist.org/p/' + userRepo + '.json', + uri: `https://packagist.org/p/${userRepo}.json`, } const badgeData = getBadgeData('php', data) request(options, (err, res, buffer) => { if (err !== null) { - log.error('Packagist error: ' + err.stack) + log.error(`Packagist error: ${err.stack}`) if (res) { - log.error('' + res) + log.error(`${res}`) } badgeData.text[1] = 'invalid' sendBadge(format, badgeData) diff --git a/services/packagist/packagist-version.service.js b/services/packagist/packagist-version.service.js index 6ca7f8591a83d131d03ba17da2f69a365046338f..9aaa7b0ce06a30c476aade45916d80a5045d9255 100644 --- a/services/packagist/packagist-version.service.js +++ b/services/packagist/packagist-version.service.js @@ -18,7 +18,7 @@ module.exports = class PackagistVersion extends LegacyService { const info = match[1] // either `v` or `vpre`. const userRepo = match[2] // eg, `doctrine/orm`. const format = match[3] - const apiUrl = 'https://packagist.org/packages/' + userRepo + '.json' + const apiUrl = `https://packagist.org/packages/${userRepo}.json` const badgeData = getBadgeData('packagist', data) if (userRepo.substr(-14) === '/:package_name') { badgeData.text[1] = 'invalid' diff --git a/services/php-eye/php-eye-hhvm.service.js b/services/php-eye/php-eye-hhvm.service.js index df620c6a2ab4376ac81f1d8f395964fea32ba268..92355dfa2a52b54a6634c661f2cfbecc9f68928f 100644 --- a/services/php-eye/php-eye-hhvm.service.js +++ b/services/php-eye/php-eye-hhvm.service.js @@ -36,7 +36,7 @@ module.exports = class PhpeyeHhvm extends LegacyService { const user = match[1] // eg, `symfony/symfony`. let branch = match[2] ? omitv(match[2]) : 'dev-master' const format = match[3] - const apiUrl = 'https://php-eye.com/api/v1/package/' + user + '.json' + const apiUrl = `https://php-eye.com/api/v1/package/${user}.json` const badgeData = getBadgeData('hhvm', data) if (branch === 'master') { branch = 'dev-master' diff --git a/services/php-eye/php-eye-php-version.service.js b/services/php-eye/php-eye-php-version.service.js index 4f2c61cb4641f4091c45fcb2e98b7503e50ae817..5f657e22518d96bb4763f3b44694dd2492364110 100644 --- a/services/php-eye/php-eye-php-version.service.js +++ b/services/php-eye/php-eye-php-version.service.js @@ -37,16 +37,16 @@ module.exports = class PhpEyePhpVersion extends LegacyService { const format = match[3] const options = { method: 'GET', - uri: 'https://php-eye.com/api/v1/package/' + userRepo + '.json', + uri: `https://php-eye.com/api/v1/package/${userRepo}.json`, } const badgeData = getBadgeData('php tested', data) getPhpReleases(githubApiProvider) .then(phpReleases => { request(options, (err, res, buffer) => { if (err !== null) { - log.error('PHP-Eye error: ' + err.stack) + log.error(`PHP-Eye error: ${err.stack}`) if (res) { - log.error('' + res) + log.error(`${res}`) } badgeData.text[1] = 'invalid' sendBadge(format, badgeData) diff --git a/services/pub/pub.service.js b/services/pub/pub.service.js index f0b78a2f76f5c5a72b540afc052a9a916b92420f..755e8e0801664df69cf34c4340d7530d6cec98ae 100644 --- a/services/pub/pub.service.js +++ b/services/pub/pub.service.js @@ -34,7 +34,7 @@ module.exports = class Pub extends LegacyService { const includePre = Boolean(match[1]) const userRepo = match[2] // eg, "box2d" const format = match[3] - const apiUrl = 'https://pub.dartlang.org/packages/' + userRepo + '.json' + const apiUrl = `https://pub.dartlang.org/packages/${userRepo}.json` const badgeData = getBadgeData('pub', data) request(apiUrl, (err, res, buffer) => { if (err != null) { diff --git a/services/puppetforge/puppetforge-modules.service.js b/services/puppetforge/puppetforge-modules.service.js index 2601c1f318231385d6aa096db466dc7228676809..d3f81230f4735bda1f95b3f073a94c58f7839106 100644 --- a/services/puppetforge/puppetforge-modules.service.js +++ b/services/puppetforge/puppetforge-modules.service.js @@ -23,8 +23,7 @@ module.exports = class PuppetforgeModules extends LegacyService { const format = match[4] const options = { json: true, - uri: - 'https://forgeapi.puppetlabs.com/v3/modules/' + user + '-' + module, + uri: `https://forgeapi.puppetlabs.com/v3/modules/${user}-${module}`, } const badgeData = getBadgeData('puppetforge', data) request(options, (err, res, json) => { @@ -67,7 +66,7 @@ module.exports = class PuppetforgeModules extends LegacyService { const feedback = json.feedback_score badgeData.text[0] = getLabel('score', data) if (feedback != null) { - badgeData.text[1] = feedback + '%' + badgeData.text[1] = `${feedback}%` badgeData.colorscheme = coveragePercentageColor(feedback) } else { badgeData.text[1] = 'unknown' diff --git a/services/puppetforge/puppetforge-users.service.js b/services/puppetforge/puppetforge-users.service.js index cab8abf23fe36add2c3389efafb1a15e5e03957f..3e2bfb36af20b361c1d3beb0be7a21a5e0e12f4f 100644 --- a/services/puppetforge/puppetforge-users.service.js +++ b/services/puppetforge/puppetforge-users.service.js @@ -18,7 +18,7 @@ module.exports = class PuppetforgeUsers extends LegacyService { const format = match[3] const options = { json: true, - uri: 'https://forgeapi.puppetlabs.com/v3/users/' + user, + uri: `https://forgeapi.puppetlabs.com/v3/users/${user}`, } const badgeData = getBadgeData('puppetforge', data) request(options, (err, res, json) => { diff --git a/services/redmine/redmine.service.js b/services/redmine/redmine.service.js index 67024b77a1455906fce6c66f4b734a95fb04005f..2b535878100a0a40facc139fc3b1e7edc5b0777c 100644 --- a/services/redmine/redmine.service.js +++ b/services/redmine/redmine.service.js @@ -16,7 +16,7 @@ module.exports = class Redmine extends LegacyService { const format = match[3] const options = { method: 'GET', - uri: 'https://www.redmine.org/plugins/' + plugin + '.xml', + uri: `https://www.redmine.org/plugins/${plugin}.xml`, } const badgeData = getBadgeData(type, data) @@ -35,7 +35,7 @@ module.exports = class Redmine extends LegacyService { switch (type) { case 'rating': - badgeData.text[1] = rating + '/5.0' + badgeData.text[1] = `${rating}/5.0` break case 'stars': badgeData.text[1] = starRating(Math.round(rating)) diff --git a/services/scrutinizer/scrutinizer.service.js b/services/scrutinizer/scrutinizer.service.js index 7878936da8a7b73cd704381901ec5f98103837a8..493f512a026bcc76c98b4c451e60003c17d94779 100644 --- a/services/scrutinizer/scrutinizer.service.js +++ b/services/scrutinizer/scrutinizer.service.js @@ -72,7 +72,7 @@ module.exports = class Scrutinizer extends LegacyService { badgeData.text[1] = 'unknown' badgeData.colorscheme = 'gray' } else { - badgeData.text[1] = percentage.toFixed(0) + '%' + badgeData.text[1] = `${percentage.toFixed(0)}%` badgeData.colorscheme = coveragePercentageColor(percentage) } } else if (type === 'build') { diff --git a/services/sensiolabs/sensiolabs.service.js b/services/sensiolabs/sensiolabs.service.js index ff0bfdbe615be3058f2775a5b419e8be8d885567..3a1965f3678944647951f5de9f750196bb394cb0 100644 --- a/services/sensiolabs/sensiolabs.service.js +++ b/services/sensiolabs/sensiolabs.service.js @@ -32,7 +32,7 @@ module.exports = class Sensiolabs extends LegacyService { const format = match[2] const options = { method: 'GET', - uri: 'https://insight.sensiolabs.com/api/projects/' + projectUuid, + uri: `https://insight.sensiolabs.com/api/projects/${projectUuid}`, headers: { Accept: 'application/vnd.com.sensiolabs.insight+xml', }, diff --git a/services/shippable/shippable.service.js b/services/shippable/shippable.service.js index bc451bd2d5eb360b92c5c0a057b988fa03a9d975..f8b9fb055ded9aad9434eda59d05d766f6f53878 100644 --- a/services/shippable/shippable.service.js +++ b/services/shippable/shippable.service.js @@ -56,8 +56,7 @@ module.exports = class Shippable extends LegacyService { targetBranch = 'master' } const format = match[3] - const url = - 'https://api.shippable.com/projects/' + projectId + '/branchRunStatus' + const url = `https://api.shippable.com/projects/${projectId}/branchRunStatus` const options = { method: 'GET', uri: url, diff --git a/services/sonarqube/sonarqube.service.js b/services/sonarqube/sonarqube.service.js index 19f5f577bc4c47dd244611fb1a8309b4979382af..b491c2405b15a2e00aa49a2fd96fcc872ab8ddf4 100644 --- a/services/sonarqube/sonarqube.service.js +++ b/services/sonarqube/sonarqube.service.js @@ -64,21 +64,12 @@ module.exports = class Sonarqube extends LegacyService { const useLegacyApi = !!version && version < 5.4 const uri = useLegacyApi - ? scheme + - '://' + - serverUrl + - '/api/resources?resource=' + - buildType + - '&depth=0&metrics=' + - encodeURIComponent(sonarMetricName) + - '&includetrends=true' - : scheme + - '://' + - serverUrl + - '/api/measures/component?componentKey=' + - buildType + - '&metricKeys=' + - encodeURIComponent(sonarMetricName) + ? `${scheme}://${serverUrl}/api/resources?resource=${buildType}&depth=0&metrics=${encodeURIComponent( + sonarMetricName + )}&includetrends=true` + : `${scheme}://${serverUrl}/api/measures/component?componentKey=${buildType}&metricKeys=${encodeURIComponent( + sonarMetricName + )}` const options = { uri, @@ -116,7 +107,7 @@ module.exports = class Sonarqube extends LegacyService { } if (metricName.indexOf('coverage') !== -1) { - badgeData.text[1] = value.toFixed(0) + '%' + badgeData.text[1] = `${value.toFixed(0)}%` badgeData.colorscheme = coveragePercentageColor(value) } else if (/^\w+_violations$/.test(metricName)) { badgeData.text[1] = value @@ -135,7 +126,7 @@ module.exports = class Sonarqube extends LegacyService { } } } else if (metricName === 'fortify-security-rating') { - badgeData.text[1] = value + '/5' + badgeData.text[1] = `${value}/5` if (value === 0) { badgeData.colorscheme = 'red' @@ -168,7 +159,7 @@ module.exports = class Sonarqube extends LegacyService { //Some metrics higher % is better colorValue = 100 - value } - badgeData.text[1] = value + '%' + badgeData.text[1] = `${value}%` if (colorValue >= 100) { badgeData.colorscheme = 'red' } else if (colorValue >= 50) { diff --git a/services/sourceforge/sourceforge.service.js b/services/sourceforge/sourceforge.service.js index a9acb00a0f6e622a87208783f94341cc274ac3e2..24422a99b59f0451851a7300f67b05be9ccdcb50 100644 --- a/services/sourceforge/sourceforge.service.js +++ b/services/sourceforge/sourceforge.service.js @@ -55,12 +55,7 @@ module.exports = class Sourceforge extends LegacyService { const project = match[2] // eg, 'sevenzip`. const folder = match[3] const format = match[4] - let apiUrl = - 'http://sourceforge.net/projects/' + - project + - '/files/' + - folder + - '/stats/json' + let apiUrl = `http://sourceforge.net/projects/${project}/files/${folder}/stats/json` const badgeData = getBadgeData('sourceforge', data) let timePeriod, startDate badgeData.text[0] = getLabel('downloads', data) @@ -84,11 +79,9 @@ module.exports = class Sourceforge extends LegacyService { timePeriod = '' break } - apiUrl += - '?start_date=' + - startDate.format('YYYY-MM-DD') + - '&end_date=' + - endDate.format('YYYY-MM-DD') + apiUrl += `?start_date=${startDate.format( + 'YYYY-MM-DD' + )}&end_date=${endDate.format('YYYY-MM-DD')}` request(apiUrl, (err, res, buffer) => { if (err != null) { badgeData.text[1] = 'inaccessible' diff --git a/services/sourcegraph/sourcegraph.service.js b/services/sourcegraph/sourcegraph.service.js index 20eac25283e6048d54490aa8e9eef2996925284d..e1b95e75ffb85671fa959e28a2c22f974705c83f 100644 --- a/services/sourcegraph/sourcegraph.service.js +++ b/services/sourcegraph/sourcegraph.service.js @@ -29,8 +29,7 @@ module.exports = class Sourcegraph extends LegacyService { cache((data, match, sendBadge, request) => { const repo = match[1] const format = match[2] - const apiUrl = - 'https://sourcegraph.com/.api/repos/' + repo + '/-/shield' + const apiUrl = `https://sourcegraph.com/.api/repos/${repo}/-/shield` const badgeData = getBadgeData('used by', data) request(apiUrl, (err, res, buffer) => { if (err != null) { diff --git a/services/stackexchange/stackexchange.service.js b/services/stackexchange/stackexchange.service.js index b7b8dace010770cd7995040f04a245a3d766dc81..25a28d20473ed0c6943160316f26cdbc1c98ca51 100644 --- a/services/stackexchange/stackexchange.service.js +++ b/services/stackexchange/stackexchange.service.js @@ -19,13 +19,13 @@ module.exports = class StackExchange extends LegacyService { const format = match[4] let path if (info === 'r') { - path = 'users/' + item + path = `users/${item}` } else if (info === 't') { - path = 'tags/' + item + '/info' + path = `tags/${item}/info` } const options = { method: 'GET', - uri: 'https://api.stackexchange.com/2.2/' + path + '?site=' + site, + uri: `https://api.stackexchange.com/2.2/${path}?site=${site}`, gzip: true, } const badgeData = getBadgeData(site, data) @@ -45,7 +45,7 @@ module.exports = class StackExchange extends LegacyService { if (info === 'r') { const reputation = parsedData.items[0].reputation - badgeData.text[0] = getLabel(site + ' reputation', data) + badgeData.text[0] = getLabel(`${site} reputation`, data) badgeData.text[1] = metric(reputation) badgeData.colorscheme = floorCountColor(1000, 10000, 20000) } else if (info === 't') { diff --git a/services/suggest/suggest.tester.js b/services/suggest/suggest.tester.js index fbac8b593718a3a4a3ed2eaebae6895335236afa..71d2177168c406dc09e8e0ba3b92f06e2aaed500 100644 --- a/services/suggest/suggest.tester.js +++ b/services/suggest/suggest.tester.js @@ -14,7 +14,7 @@ const t = new ServiceTester({ module.exports = t t.create('issues, forks, stars and twitter') - .get('/v1?url=' + encodeURIComponent('https://github.com/atom/atom')) + .get(`/v1?url=${encodeURIComponent('https://github.com/atom/atom')}`) // suggest resource requires this header value .expectJSON('badges.?', { name: 'GitHub issues', @@ -40,7 +40,7 @@ t.create('issues, forks, stars and twitter') }) t.create('license') - .get('/v1?url=' + encodeURIComponent('https://github.com/atom/atom')) + .get(`/v1?url=${encodeURIComponent('https://github.com/atom/atom')}`) .expectJSON('badges.?', { name: 'GitHub license', link: 'https://github.com/atom/atom/blob/master/LICENSE.md', @@ -48,7 +48,7 @@ t.create('license') }) t.create('license for non-existing project') - .get('/v1?url=' + encodeURIComponent('https://github.com/atom/atom')) + .get(`/v1?url=${encodeURIComponent('https://github.com/atom/atom')}`) .intercept(nock => nock('https://api.github.com') .get(/\/repos\/atom\/atom\/license/) @@ -61,7 +61,7 @@ t.create('license for non-existing project') }) t.create('license when json response is invalid') - .get('/v1?url=' + encodeURIComponent('https://github.com/atom/atom')) + .get(`/v1?url=${encodeURIComponent('https://github.com/atom/atom')}`) .intercept(nock => nock('https://api.github.com') .get(/\/repos\/atom\/atom\/license/) @@ -74,7 +74,7 @@ t.create('license when json response is invalid') }) t.create('license when html_url not found in GitHub api response') - .get('/v1?url=' + encodeURIComponent('https://github.com/atom/atom')) + .get(`/v1?url=${encodeURIComponent('https://github.com/atom/atom')}`) .intercept(nock => nock('https://api.github.com') .get(/\/repos\/atom\/atom\/license/) diff --git a/services/teamcity/teamcity-build.service.js b/services/teamcity/teamcity-build.service.js index 044f5d0e10d53c8f75977725789fd382d3f89b8a..5fff43b7e06836a08f254465e550b0e217456228 100644 --- a/services/teamcity/teamcity-build.service.js +++ b/services/teamcity/teamcity-build.service.js @@ -12,7 +12,7 @@ function teamcityBadge( sendBadge, request ) { - const apiUrl = url + '/app/rest/builds/buildType:(id:' + buildId + ')?guest=1' + const apiUrl = `${url}/app/rest/builds/buildType:(id:${buildId})?guest=1` const badgeData = getBadgeData('build', data) request( apiUrl, @@ -104,7 +104,7 @@ module.exports = class TeamcityBuild extends LegacyService { const buildType = match[4] // eg, `bt428`. const format = match[5] teamcityBadge( - scheme + '://' + serverUrl, + `${scheme}://${serverUrl}`, buildType, advanced, format, diff --git a/services/teamcity/teamcity-coverage.service.js b/services/teamcity/teamcity-coverage.service.js index f9220da5cf3de6aef1fd98e55ae9d40349ab74d5..9cc22b5acfc3e437effebda5f27f56d6895b3415 100644 --- a/services/teamcity/teamcity-coverage.service.js +++ b/services/teamcity/teamcity-coverage.service.js @@ -33,10 +33,7 @@ module.exports = class TeamcityCoverage extends LegacyService { cache((data, match, sendBadge, request) => { const buildType = match[1] // eg, `bt428`. const format = match[2] - const apiUrl = - 'http://teamcity.codebetter.com/app/rest/builds/buildType:(id:' + - buildType + - ')/statistics?guest=1' + const apiUrl = `http://teamcity.codebetter.com/app/rest/builds/buildType:(id:${buildType})/statistics?guest=1` const badgeData = getBadgeData('coverage', data) request( apiUrl, @@ -67,7 +64,7 @@ module.exports = class TeamcityCoverage extends LegacyService { } const percentage = (covered / total) * 100 - badgeData.text[1] = percentage.toFixed(0) + '%' + badgeData.text[1] = `${percentage.toFixed(0)}%` badgeData.colorscheme = coveragePercentageColor(percentage) sendBadge(format, badgeData) } catch (e) { diff --git a/services/travis/travis-build.service.js b/services/travis/travis-build.service.js index 828471b03d8035e443a78b7966505b2b8015440b..9eeff263cbaad85fe5a75a01f7a38e757abd89fc 100644 --- a/services/travis/travis-build.service.js +++ b/services/travis/travis-build.service.js @@ -65,13 +65,10 @@ module.exports = class TravisBuild extends LegacyService { request(options, (err, res) => { if (err != null) { log.error( - 'Travis error: data:' + - JSON.stringify(data) + - '\nStack: ' + - err.stack + `Travis error: data:${JSON.stringify(data)}\nStack: ${err.stack}` ) if (res) { - log.error('' + res) + log.error(`${res}`) } } if (checkErrorResponse(badgeData, err, res)) { diff --git a/services/travis/travis-php-version.service.js b/services/travis/travis-php-version.service.js index 0f8f66007081ff6e53dc76541fa6aaf461c789b4..57b1795e5fc2545aabe2ace40e7aaf8131e1c8ba 100644 --- a/services/travis/travis-php-version.service.js +++ b/services/travis/travis-php-version.service.js @@ -47,7 +47,7 @@ module.exports = class TravisPhpVersion extends LegacyService { if (err !== null) { log.error(`Travis CI error: ${err.stack}`) if (res) { - log.error('' + res) + log.error(`${res}`) } badgeData.text[1] = 'invalid' sendBadge(format, badgeData) diff --git a/services/twitter/twitter.service.js b/services/twitter/twitter.service.js index a19593e4f81ffe6229894b0f4f9e219ec297ec20..6680dd31d626a84863e0cd6b724bc1f7eb0764d0 100644 --- a/services/twitter/twitter.service.js +++ b/services/twitter/twitter.service.js @@ -35,15 +35,15 @@ class TwitterUrl extends LegacyService { const scheme = match[1] // eg, https const path = match[2] // eg, shields.io const format = match[3] - const page = encodeURIComponent(scheme + '://' + path) + const page = encodeURIComponent(`${scheme}://${path}`) // The URL API died: #568. //var url = 'http://cdn.api.twitter.com/1/urls/count.json?url=' + page; const badgeData = getBadgeData('tweet', data) if (badgeData.template === 'social') { badgeData.logo = getLogo('twitter', data) badgeData.links = [ - 'https://twitter.com/intent/tweet?text=Wow:&url=' + page, - 'https://twitter.com/search?q=' + page, + `https://twitter.com/intent/tweet?text=Wow:&url=${page}`, + `https://twitter.com/search?q=${page}`, ] } badgeData.text[1] = '' @@ -83,11 +83,9 @@ class TwitterFollow extends LegacyService { const user = match[1] // eg, shields_io const format = match[2] const options = { - url: - 'http://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=' + - user, + url: `http://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=${user}`, } - const badgeData = getBadgeData('follow @' + user, data) + const badgeData = getBadgeData(`follow @${user}`, data) badgeData.colorscheme = null badgeData.colorB = '#55ACEE' @@ -95,8 +93,8 @@ class TwitterFollow extends LegacyService { badgeData.logo = getLogo('twitter', data) } badgeData.links = [ - 'https://twitter.com/intent/follow?screen_name=' + user, - 'https://twitter.com/' + user + '/followers', + `https://twitter.com/intent/follow?screen_name=${user}`, + `https://twitter.com/${user}/followers`, ] badgeData.text[1] = '' request(options, (err, res, buffer) => { diff --git a/services/vaadin-directory/vaadin-directory.service.js b/services/vaadin-directory/vaadin-directory.service.js index cf344f56d84515d1d36fc49cc8a6c4f9d24252a7..7b08172e8e75e544567f13366614ecdf583db254 100644 --- a/services/vaadin-directory/vaadin-directory.service.js +++ b/services/vaadin-directory/vaadin-directory.service.js @@ -21,9 +21,7 @@ module.exports = class VaadinDirectory extends LegacyService { const urlIdentifier = match[2] // Name of repository const format = match[3] // Format // API URL which contains also authentication info - const apiUrl = - 'https://vaadin.com/vaadincom/directory-service/components/search/findByUrlIdentifier?projection=summary&urlIdentifier=' + - urlIdentifier + const apiUrl = `https://vaadin.com/vaadincom/directory-service/components/search/findByUrlIdentifier?projection=summary&urlIdentifier=${urlIdentifier}` // Set left-side text to 'Vaadin-Directory' by default const badgeData = getBadgeData('vaadin directory', data) @@ -63,7 +61,7 @@ module.exports = class VaadinDirectory extends LegacyService { case 'rating': // rating badgeData.text[0] = getLabel('rating', data) if (!isNaN(rating)) { - badgeData.text[1] = rating + '/5' + badgeData.text[1] = `${rating}/5` badgeData.colorscheme = floorCountColor(rating, 2, 3, 4) } break @@ -71,7 +69,7 @@ module.exports = class VaadinDirectory extends LegacyService { case 'rating-count': badgeData.text[0] = getLabel('rating count', data) if (ratingCount && ratingCount !== 0) { - badgeData.text[1] = metric(data.ratingCount) + ' total' + badgeData.text[1] = `${metric(data.ratingCount)} total` badgeData.colorscheme = floorCountColor( data.ratingCount, 5, diff --git a/services/vscode-marketplace/vscode-marketplace.service.js b/services/vscode-marketplace/vscode-marketplace.service.js index 31ad5110014f7597703554312ac42dfe4f44aa67..61302e16082acc7e4021ac4974ed3a3f5517c76b 100644 --- a/services/vscode-marketplace/vscode-marketplace.service.js +++ b/services/vscode-marketplace/vscode-marketplace.service.js @@ -83,7 +83,7 @@ module.exports = class VscodeMarketplace extends LegacyService { 'averagerating' ).toFixed(2) const totalrate = getVscodeStatistic(buffer, 'ratingcount') - badgeData.text[1] = rate + '/5 (' + totalrate + ')' + badgeData.text[1] = `${rate}/5 (${totalrate})` badgeData.colorscheme = floorCountColor(rate, 2, 3, 4) break } diff --git a/services/waffle/waffle.service.js b/services/waffle/waffle.service.js index 4996542c1f1a65dd5ae52e305d2ae095e86e6863..db3eb1c4a64b0da2a912f7dfd0a6aaccd844d493 100644 --- a/services/waffle/waffle.service.js +++ b/services/waffle/waffle.service.js @@ -63,7 +63,7 @@ module.exports = class Waffle extends LegacyService { } } badgeData.text[0] = getLabel(ghLabel, data) - badgeData.text[1] = '' + count + badgeData.text[1] = `${count}` badgeData.colorscheme = null badgeData.colorB = makeColorB(color, data) sendBadge(format, badgeData) diff --git a/services/website/website.service.js b/services/website/website.service.js index b2ec5131e2b25fe03967436db81303c42bf6de26..7be5035710543acc66265c6fc362fbc868ea840e 100644 --- a/services/website/website.service.js +++ b/services/website/website.service.js @@ -110,7 +110,7 @@ module.exports = class Website extends LegacyService { const userProtocol = match[11] const userURI = match[12] const format = match[13] - const withProtocolURI = userProtocol + '://' + userURI + const withProtocolURI = `${userProtocol}://${userURI}` const options = { method: 'HEAD', uri: withProtocolURI, diff --git a/services/wheelmap/wheelmap.service.js b/services/wheelmap/wheelmap.service.js index e6f25361ff205ee688f365791f117be6a3729d9f..82937b45ae18beb9b0e065941c54160d0cda1484 100644 --- a/services/wheelmap/wheelmap.service.js +++ b/services/wheelmap/wheelmap.service.js @@ -32,7 +32,7 @@ module.exports = class Wheelmap extends LegacyService { const options = { method: 'GET', json: true, - uri: 'http://wheelmap.org/nodes/' + nodeId + '.json', + uri: `http://wheelmap.org/nodes/${nodeId}.json`, } const badgeData = getBadgeData('wheelmap', data) // eslint-disable-next-line handle-callback-err