From 68bfc3cf25960f9b43347bd90991e9f353c7b14c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 19:17:59 +0100 Subject: [PATCH] chore(deps): bump webextension-store-meta from 1.1.0 to 1.2.1; test [chromewebstore] (#10094) * chore(deps): bump webextension-store-meta from 1.1.0 to 1.2.1 Bumps [webextension-store-meta](https://github.com/awesome-webextension/webextension-store-meta) from 1.1.0 to 1.2.1. - [Changelog](https://github.com/awesome-webextension/webextension-store-meta/blob/main/CHANGELOG.md) - [Commits](https://github.com/awesome-webextension/webextension-store-meta/commits/v1.2.1) --- 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> * update import * fix the mocked tests I don't love this, but it will do --------- 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> --- package-lock.json | 28 +++++++++++++------ package.json | 2 +- .../chrome-web-store/chrome-web-store-base.js | 2 +- .../chrome-web-store-rating.tester.js | 12 +++++++- .../chrome-web-store-users.tester.js | 12 +++++++- .../chrome-web-store-version.tester.js | 12 +++++++- 6 files changed, 55 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 61d9666048..eeeb46ccf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "semver": "~7.6.0", "simple-icons": "11.12.0", "smol-toml": "1.1.4", - "webextension-store-meta": "^1.1.0", + "webextension-store-meta": "^1.2.1", "xpath": "~0.0.34" }, "devDependencies": { @@ -20553,6 +20553,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -27918,7 +27919,8 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/tree-kill": { "version": "1.2.2", @@ -28491,6 +28493,14 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, + "node_modules/undici": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.13.0.tgz", + "integrity": "sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw==", + "engines": { + "node": ">=18.0" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -29153,16 +29163,16 @@ } }, "node_modules/webextension-store-meta": { - "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==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/webextension-store-meta/-/webextension-store-meta-1.2.1.tgz", + "integrity": "sha512-ZXeprdpOSb7CSuzfuoBquoWfAdKSB4PXcPTM3NyAJ69RbcIy6FBEENO9P7jhH4CGUwnORAp8ja6zfQxXBMbBzw==", "dependencies": { "domhandler": "^4.0.0", "htmlparser2": "^6.1.0", - "node-fetch": "^2.6.1" + "undici": "^6.11.1" }, "engines": { - "node": ">=10.3.0" + "node": ">=18" } }, "node_modules/webextension-store-meta/node_modules/dom-serializer": { @@ -29234,7 +29244,8 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/webpack": { "version": "5.90.3", @@ -29675,6 +29686,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" diff --git a/package.json b/package.json index b25c311d10..e7860dbf74 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "semver": "~7.6.0", "simple-icons": "11.12.0", "smol-toml": "1.1.4", - "webextension-store-meta": "^1.1.0", + "webextension-store-meta": "^1.2.1", "xpath": "~0.0.34" }, "scripts": { diff --git a/services/chrome-web-store/chrome-web-store-base.js b/services/chrome-web-store/chrome-web-store-base.js index 77e917c2b7..cd59da8a89 100644 --- a/services/chrome-web-store/chrome-web-store-base.js +++ b/services/chrome-web-store/chrome-web-store-base.js @@ -1,4 +1,4 @@ -import ChromeWebStore from 'webextension-store-meta/lib/chrome-web-store/index.js' +import { ChromeWebStore } from 'webextension-store-meta/lib/chrome-web-store/index.js' import checkErrorResponse from '../../core/base-service/check-error-response.js' import { BaseService, Inaccessible } from '../index.js' diff --git a/services/chrome-web-store/chrome-web-store-rating.tester.js b/services/chrome-web-store/chrome-web-store-rating.tester.js index 3d4f20c1d5..27948c53d9 100644 --- a/services/chrome-web-store/chrome-web-store-rating.tester.js +++ b/services/chrome-web-store/chrome-web-store-rating.tester.js @@ -1,4 +1,5 @@ import Joi from 'joi' +import { Agent, MockAgent, setGlobalDispatcher } from 'undici' import { isStarRating } from '../test-validators.js' import { ServiceTester } from '../tester.js' @@ -39,7 +40,16 @@ t.create('Stars (not found)') .expectBadge({ label: 'rating', message: 'not found' }) // Keep this "inaccessible" test, since this service does not use BaseService#_request. +const mockAgent = new MockAgent() t.create('Rating (inaccessible)') .get('/rating/alhjnofcnnpeaphgeakdhkebafjcpeae.json') - .networkOff() + // webextension-store-meta uses undici internally, so we can't mock it with nock + .before(function () { + setGlobalDispatcher(mockAgent) + mockAgent.disableNetConnect() + }) + .after(async function () { + await mockAgent.close() + setGlobalDispatcher(new Agent()) + }) .expectBadge({ label: 'rating', message: 'inaccessible' }) diff --git a/services/chrome-web-store/chrome-web-store-users.tester.js b/services/chrome-web-store/chrome-web-store-users.tester.js index 54959019b4..6b02b701d5 100644 --- a/services/chrome-web-store/chrome-web-store-users.tester.js +++ b/services/chrome-web-store/chrome-web-store-users.tester.js @@ -1,3 +1,4 @@ +import { Agent, MockAgent, setGlobalDispatcher } from 'undici' import { isMetric } from '../test-validators.js' import { ServiceTester } from '../tester.js' @@ -22,7 +23,16 @@ t.create('Users (not found)') .expectBadge({ label: 'users', message: 'not found' }) // Keep this "inaccessible" test, since this service does not use BaseService#_request. +const mockAgent = new MockAgent() t.create('Users (inaccessible)') .get('/users/alhjnofcnnpeaphgeakdhkebafjcpeae.json') - .networkOff() + // webextension-store-meta uses undici internally, so we can't mock it with nock + .before(function () { + setGlobalDispatcher(mockAgent) + mockAgent.disableNetConnect() + }) + .after(async function () { + await mockAgent.close() + setGlobalDispatcher(new Agent()) + }) .expectBadge({ label: 'users', message: 'inaccessible' }) diff --git a/services/chrome-web-store/chrome-web-store-version.tester.js b/services/chrome-web-store/chrome-web-store-version.tester.js index cccf0b95e1..f108c7e708 100644 --- a/services/chrome-web-store/chrome-web-store-version.tester.js +++ b/services/chrome-web-store/chrome-web-store-version.tester.js @@ -1,3 +1,4 @@ +import { Agent, MockAgent, setGlobalDispatcher } from 'undici' import { isVPlusDottedVersionAtLeastOne } from '../test-validators.js' import { createServiceTester } from '../tester.js' export const t = await createServiceTester() @@ -12,7 +13,16 @@ t.create('Version (not found)') .expectBadge({ label: 'chrome web store', message: 'not found' }) // Keep this "inaccessible" test, since this service does not use BaseService#_request. +const mockAgent = new MockAgent() t.create('Version (inaccessible)') .get('/alhjnofcnnpeaphgeakdhkebafjcpeae.json') - .networkOff() + // webextension-store-meta uses undici internally, so we can't mock it with nock + .before(function () { + setGlobalDispatcher(mockAgent) + mockAgent.disableNetConnect() + }) + .after(async function () { + await mockAgent.close() + setGlobalDispatcher(new Agent()) + }) .expectBadge({ label: 'chrome web store', message: 'inaccessible' }) -- GitLab