chore(deps): bump webextension-store-meta from 1.0.5 to 1.1.0; run [chromewebstore] (#9972)
* chore(deps): bump webextension-store-meta from 1.0.5 to 1.1.0 Bumps [webextension-store-meta](https://github.com/awesome-webextension/webextension-store-meta) from 1.0.5 to 1.1.0. - [Changelog](https://github.com/awesome-webextension/webextension-store-meta/blob/main/CHANGELOG.md) - [Commits](https://github.com/awesome-webextension/webextension-store-meta/commits) --- updated-dependencies: - dependency-name: webextension-store-meta dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * deprecate price badge `price` and `priceCurrency` fields have been removed * fix formatting on users badge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: chris48s <git@chris-shaw.dev>
This commit is contained in:
10
package-lock.json
generated
10
package-lock.json
generated
@@ -53,7 +53,7 @@
|
||||
"semver": "~7.6.0",
|
||||
"simple-icons": "11.4.0",
|
||||
"smol-toml": "1.1.4",
|
||||
"webextension-store-meta": "^1.0.5",
|
||||
"webextension-store-meta": "^1.1.0",
|
||||
"xpath": "~0.0.34"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -27177,11 +27177,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/webextension-store-meta": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/webextension-store-meta/-/webextension-store-meta-1.0.5.tgz",
|
||||
"integrity": "sha512-gOXAHe0pA8eS14doSYyBiKzs6pXN+oOTocb4iwxXCRNyp+5JVVsWbLq1MCvkgpOKoHdQkeXcY5orTPZewuMTyQ==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/webextension-store-meta/-/webextension-store-meta-1.1.0.tgz",
|
||||
"integrity": "sha512-sEOe3Iir4PB6f/hj9fAAaesUpYLU4XIwySMdOap7JfIhL9O4fmaoTWWuj/TCzOa7UcH/6X8Mq2+HmlAAE7D0zg==",
|
||||
"dependencies": {
|
||||
"domutils": "^2.7.0",
|
||||
"domhandler": "^4.0.0",
|
||||
"htmlparser2": "^6.1.0",
|
||||
"node-fetch": "^2.6.1"
|
||||
},
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"semver": "~7.6.0",
|
||||
"simple-icons": "11.4.0",
|
||||
"smol-toml": "1.1.4",
|
||||
"webextension-store-meta": "^1.0.5",
|
||||
"webextension-store-meta": "^1.1.0",
|
||||
"xpath": "~0.0.34"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,39 +1,10 @@
|
||||
import { currencyFromCode } from '../text-formatters.js'
|
||||
import { NotFound, pathParams } from '../index.js'
|
||||
import BaseChromeWebStoreService from './chrome-web-store-base.js'
|
||||
import { deprecatedService } from '../index.js'
|
||||
|
||||
export default class ChromeWebStorePrice extends BaseChromeWebStoreService {
|
||||
static category = 'funding'
|
||||
static route = { base: 'chrome-web-store/price', pattern: ':storeId' }
|
||||
const ChromeWebStorePrice = deprecatedService({
|
||||
category: 'funding',
|
||||
route: { base: 'chrome-web-store/price', pattern: ':storeId' },
|
||||
label: 'price',
|
||||
dateAdded: new Date('2024-02-18'),
|
||||
})
|
||||
|
||||
static openApi = {
|
||||
'/chrome-web-store/price/{storeId}': {
|
||||
get: {
|
||||
summary: 'Chrome Web Store Price',
|
||||
parameters: pathParams({
|
||||
name: 'storeId',
|
||||
example: 'ogffaloegjglncjfehdfplabnoondfjo',
|
||||
}),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
static defaultBadgeData = { label: 'price' }
|
||||
|
||||
static render({ priceCurrency, price }) {
|
||||
return {
|
||||
message: `${currencyFromCode(priceCurrency) + price}`,
|
||||
color: 'brightgreen',
|
||||
}
|
||||
}
|
||||
|
||||
async handle({ storeId }) {
|
||||
const chromeWebStore = await this.fetch({ storeId })
|
||||
const priceCurrency = chromeWebStore.priceCurrency()
|
||||
const price = chromeWebStore.price()
|
||||
if (priceCurrency == null || price == null) {
|
||||
throw new NotFound({ prettyMessage: 'not found' })
|
||||
}
|
||||
return this.constructor.render({ priceCurrency, price })
|
||||
}
|
||||
}
|
||||
export default ChromeWebStorePrice
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
import Joi from 'joi'
|
||||
import { createServiceTester } from '../tester.js'
|
||||
export const t = await createServiceTester()
|
||||
import { ServiceTester } from '../tester.js'
|
||||
|
||||
t.create('Price')
|
||||
.get('/alhjnofcnnpeaphgeakdhkebafjcpeae.json')
|
||||
.expectBadge({
|
||||
label: 'price',
|
||||
message: Joi.string().regex(/^\$\d+(.\d{1,2})?$/),
|
||||
})
|
||||
export const t = new ServiceTester({
|
||||
id: 'ChromeWebStorePrice',
|
||||
title: 'ChromeWebStorePrice',
|
||||
pathPrefix: '/chrome-web-store/price',
|
||||
})
|
||||
|
||||
t.create('Price (not found)')
|
||||
.get('/invalid-name-of-addon.json')
|
||||
.expectBadge({ label: 'price', message: 'not found' })
|
||||
|
||||
// Keep this "inaccessible" test, since this service does not use BaseService#_request.
|
||||
t.create('Price (inaccessible)')
|
||||
.get('/alhjnofcnnpeaphgeakdhkebafjcpeae.json')
|
||||
.networkOff()
|
||||
.expectBadge({ label: 'price', message: 'inaccessible' })
|
||||
t.create('Price').get('/alhjnofcnnpeaphgeakdhkebafjcpeae.json').expectBadge({
|
||||
label: 'price',
|
||||
message: 'no longer available',
|
||||
})
|
||||
|
||||
@@ -26,7 +26,9 @@ class ChromeWebStoreUsers extends BaseChromeWebStoreService {
|
||||
if (downloads == null) {
|
||||
throw new NotFound({ prettyMessage: 'not found' })
|
||||
}
|
||||
return renderDownloadsBadge({ downloads })
|
||||
return renderDownloadsBadge({
|
||||
downloads: String(downloads.replace(',', '')),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user