diff --git a/core/base-service/base.js b/core/base-service/base.js index fc1f881aac762..6904a113422cb 100644 --- a/core/base-service/base.js +++ b/core/base-service/base.js @@ -47,10 +47,6 @@ const optionalStringWhenNamedLogoPresent = Joi.alternatives().conditional( }, ) -const optionalNumberWhenAnyLogoPresent = Joi.alternatives() - .conditional('namedLogo', { is: Joi.string().required(), then: Joi.number() }) - .conditional('logoSvg', { is: Joi.string().required(), then: Joi.number() }) - const serviceDataSchema = Joi.object({ isError: Joi.boolean(), label: Joi.string().allow(''), @@ -66,7 +62,6 @@ const serviceDataSchema = Joi.object({ logoSvg: Joi.string(), logoColor: optionalStringWhenNamedLogoPresent, logoSize: optionalStringWhenNamedLogoPresent, - logoWidth: optionalNumberWhenAnyLogoPresent, cacheSeconds: Joi.number().integer().min(0), style: Joi.string(), }) diff --git a/core/base-service/coalesce-badge.js b/core/base-service/coalesce-badge.js index 09803310b290f..b988231f4262c 100644 --- a/core/base-service/coalesce-badge.js +++ b/core/base-service/coalesce-badge.js @@ -20,7 +20,7 @@ import toArray from './to-array.js' // 1. When `?logo=` contains a simple-icons logo or contains a base64-encoded // SVG, that logo is used. When a `&logoColor=` is specified, that color is // used (except for the base64-encoded logos). Otherwise the default color -// is used. The appearance of the logo can be customized using `logoWidth`, +// is used. // When `?logo=` is specified, any logo-related parameters specified // dynamically by the service, or by default in the service, are ignored. // 2. The second precedence is the dynamic logo returned by a service. This is @@ -52,11 +52,7 @@ export default function coalesceBadge( colorB: legacyOverrideColor, colorA: legacyOverrideLabelColor, } = overrides - let { - logoWidth: overrideLogoWidth, - color: overrideColor, - labelColor: overrideLabelColor, - } = overrides + let { color: overrideColor, labelColor: overrideLabelColor } = overrides // Only use the legacy properties if the new ones are not provided if (typeof overrideColor === 'undefined') { @@ -73,7 +69,6 @@ export default function coalesceBadge( if (typeof overrideLabelColor === 'number') { overrideLabelColor = `${overrideLabelColor}` } - overrideLogoWidth = +overrideLogoWidth || undefined const { isError, @@ -85,7 +80,6 @@ export default function coalesceBadge( namedLogo: serviceNamedLogo, logoColor: serviceLogoColor, logoSize: serviceLogoSize, - logoWidth: serviceLogoWidth, link: serviceLink, cacheSeconds: serviceCacheSeconds, style: serviceStyle, @@ -131,7 +125,6 @@ export default function coalesceBadge( // If the logo has been overridden it does not make sense to inherit the // original width or position. logoSize = overrideLogoSize - logoWidth = overrideLogoWidth } else { if (serviceLogoSvg) { logoSvgBase64 = svg2base64(serviceLogoSvg) @@ -143,12 +136,11 @@ export default function coalesceBadge( namedLogoColor = coalesce(overrideLogoColor, serviceLogoColor) } logoSize = coalesce(overrideLogoSize, serviceLogoSize) - logoWidth = coalesce(overrideLogoWidth, serviceLogoWidth) } if (namedLogo) { const iconSize = getIconSize(String(namedLogo).toLowerCase()) - if (!logoWidth && iconSize && logoSize === 'auto') { + if (iconSize && logoSize === 'auto') { logoWidth = (iconSize.width / iconSize.height) * DEFAULT_LOGO_HEIGHT } diff --git a/core/base-service/coalesce-badge.spec.js b/core/base-service/coalesce-badge.spec.js index a98f05debd24f..425e45aff0c2d 100644 --- a/core/base-service/coalesce-badge.spec.js +++ b/core/base-service/coalesce-badge.spec.js @@ -185,7 +185,6 @@ describe('coalesceBadge', function () { { namedLogo: 'appveyor', logoColor: 'red', - logoWidth: 100, }, {}, ).logo, @@ -246,20 +245,6 @@ describe('coalesceBadge', function () { }) }) - describe('Logo width', function () { - it('overrides the logoWidth', function () { - expect(coalesceBadge({ logoWidth: 20 }, {}, {})).to.include({ - logoWidth: 20, - }) - }) - - it('applies the logo width', function () { - expect( - coalesceBadge({}, { namedLogo: 'npm', logoWidth: 275 }, {}), - ).to.include({ logoWidth: 275 }) - }) - }) - describe('Links', function () { it('overrides the links', function () { expect( diff --git a/core/base-service/legacy-request-handler.js b/core/base-service/legacy-request-handler.js index 83a78fd3fa6e3..3a44642c1240c 100644 --- a/core/base-service/legacy-request-handler.js +++ b/core/base-service/legacy-request-handler.js @@ -12,7 +12,6 @@ const globalQueryParams = new Set([ 'logo', 'logoColor', 'logoSize', - 'logoWidth', 'link', 'colorA', 'colorB', diff --git a/services/endpoint-common.js b/services/endpoint-common.js index 919667655e2f2..1cc0d7c1d0fe2 100644 --- a/services/endpoint-common.js +++ b/services/endpoint-common.js @@ -36,7 +36,6 @@ const endpointSchema = Joi.object({ logoSvg: Joi.string(), logoColor: optionalStringWhenNamedLogoPresent, logoSize: optionalStringWhenNamedLogoPresent, - logoWidth: optionalNumberWhenAnyLogoPresent, style: Joi.string(), cacheSeconds: Joi.number().integer().min(0), /* @@ -45,6 +44,7 @@ const endpointSchema = Joi.object({ passing it should not throw an error */ logoPosition: optionalNumberWhenAnyLogoPresent, + logoWidth: optionalNumberWhenAnyLogoPresent, }) // `namedLogo` or `logoSvg`; not both. .oxor('namedLogo', 'logoSvg') diff --git a/services/endpoint/endpoint.service.js b/services/endpoint/endpoint.service.js index ba7bdfdcfdf39..45860c6ccdc4f 100644 --- a/services/endpoint/endpoint.service.js +++ b/services/endpoint/endpoint.service.js @@ -101,13 +101,6 @@ The endpoint badge takes a single required query param: url, which Supported for simple-icons logos only. - - logoWidth - - Default: none. Same meaning as the query string. Can be overridden by - the query string. - - style @@ -156,7 +149,6 @@ export default class Endpoint extends BaseJsonService { logoSvg, logoColor, logoSize, - logoWidth, style, cacheSeconds, }) { @@ -170,7 +162,6 @@ export default class Endpoint extends BaseJsonService { logoSvg, logoColor, logoSize, - logoWidth, style, // don't allow the user to set cacheSeconds any shorter than this._cacheLength cacheSeconds: Math.max( diff --git a/services/endpoint/endpoint.tester.js b/services/endpoint/endpoint.tester.js index 4cbaf2747aa7f..464833fafb9b4 100644 --- a/services/endpoint/endpoint.tester.js +++ b/services/endpoint/endpoint.tester.js @@ -118,6 +118,8 @@ t.create('custom svg logo') expect(body).to.include(getSimpleIcon({ name: 'npm' })) }) +// The logoWidth param was removed, but passing it should not +// throw a validation error. It should just do nothing. t.create('logoWidth') .get('.json?url=https://example.com/badge') .intercept(nock => @@ -132,7 +134,6 @@ t.create('logoWidth') .expectBadge({ label: 'hey', message: 'yo', - logoWidth: 30, }) // The logoPosition param was removed, but passing it should not