diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03763f4f..4b957643 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm ci @@ -36,7 +36,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm ci @@ -59,7 +59,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm ci diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 05717462..690e08bd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: if: ${{ steps.release.outputs.pr }} uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies if: ${{ steps.release.outputs.pr }} diff --git a/.metalint/eslint.config.js b/.metalint/eslint.config.js index 4be9d662..b3d56c81 100644 --- a/.metalint/eslint.config.js +++ b/.metalint/eslint.config.js @@ -501,10 +501,7 @@ export default { "jsdoc/no-restricted-syntax": "off", "jsdoc/no-types": "off", "jsdoc/no-undefined-types": [ - // Désactiver cette règle qui remonte des faux-positifs avec les - // tags "@import". - // https://github.com/gajus/eslint-plugin-jsdoc/issues/1244 - "off", + "error", // Ajouter RequestInit (le type du deuxième paramètre de la fonction // fetch) qui est connu de TypeScript, mais qui n'existe pas dans // globales (car il n'est pas dans Node.js, ni dans les diff --git a/.metalint/eslint_node.config.js b/.metalint/eslint_node.config.js index 81e0f9cb..6882562a 100644 --- a/.metalint/eslint_node.config.js +++ b/.metalint/eslint_node.config.js @@ -65,9 +65,9 @@ export default { "n/no-unsupported-features/node-builtins": [ "error", { - // Ignorer les vérifications de fetch() et Response qui sont - // bien disponible dans Node v20, mais en expérimental. - ignores: ["fetch", "Response"], + // Ignorer les vérifications de navigator qui est en + // expérimental dans Node v22. + ignores: ["navigator"], }, ], "n/process-exit-as-throw": "error", diff --git a/package-lock.json b/package-lock.json index 83a887ac..b833fa0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { - "linkedom": "0.18.3" + "linkedom": "0.18.4" }, "devDependencies": { "@prantlf/jsonlint": "14.0.3", @@ -24,25 +24,25 @@ "@types/eslint": "8.56.10", "@types/firefox-webext-browser": "120.0.4", "@types/jsdom": "21.1.7", - "@types/mocha": "10.0.6", + "@types/mocha": "10.0.7", "@types/sinon": "17.0.3", "addons-linter": "6.31.1", "eslint": "8.57.0", "eslint-plugin-array-func": "4.0.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.13", + "eslint-plugin-jsdoc": "48.5.2", "eslint-plugin-mocha": "10.4.3", "eslint-plugin-n": "17.9.0", "eslint-plugin-no-unsanitized": "4.0.2", - "eslint-plugin-promise": "6.2.0", + "eslint-plugin-promise": "6.4.0", "eslint-plugin-regexp": "2.6.0", "eslint-plugin-unicorn": "54.0.0", "htmlhint": "1.1.4", "jsdom": "24.1.0", "markdownlint": "0.34.0", "metalint": "0.17.0", - "mocha": "10.4.0", + "mocha": "10.5.0", "mock-socket": "9.3.1", "npm-package-json-lint": "8.0.0", "prettier": "3.3.2", @@ -50,13 +50,13 @@ "sinon": "18.0.0", "stylelint": "16.6.1", "stylelint-order": "6.0.4", - "typedoc": "0.26.0", - "typescript": "5.5.2", + "typedoc": "0.26.3", + "typescript": "5.5.3", "web-ext": "8.2.0", "yaml-lint": "1.7.0" }, "engines": { - "node": ">=20.6.0" + "node": ">=22" } }, "node_modules/@ampproject/remapping": { @@ -780,9 +780,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.3.tgz", - "integrity": "sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.0.tgz", + "integrity": "sha512-qvBMcOU/uWFCH/VO0MYe0AMs0BGMWAt6FTryMbFIKYtZtVnqTZtT8ktv5o718llkaGZWomJezJZjq3vJDHeJNQ==", "dev": true, "funding": [ { @@ -799,13 +799,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.3.1" + "@csstools/css-tokenizer": "^2.3.2" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.1.tgz", - "integrity": "sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", "dev": true, "funding": [ { @@ -823,9 +823,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.11.tgz", - "integrity": "sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.12.tgz", + "integrity": "sha512-t1/CdyVJzOQUiGUcIBXRzTAkWTFPxiPnoKwowKW2z9Uj78c2bBWI/X94BeVfUwVq1xtCjD7dnO8kS6WONgp8Jw==", "dev": true, "funding": [ { @@ -842,8 +842,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.6.3", - "@csstools/css-tokenizer": "^2.3.1" + "@csstools/css-parser-algorithms": "^2.7.0", + "@csstools/css-tokenizer": "^2.3.2" } }, "node_modules/@csstools/selector-specificity": { @@ -980,9 +980,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "license": "MIT", "engines": { @@ -1439,6 +1439,19 @@ "node": ">=14" } }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/@pnpm/config.env-replace": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", @@ -1518,9 +1531,9 @@ } }, "node_modules/@shikijs/core": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.9.0.tgz", - "integrity": "sha512-cbSoY8P/jgGByG8UOl3jnP/CWg/Qk+1q+eAKWtcrU3pNoILF8wTsLB0jT44qUBV8Ce1SvA9uqcM9Xf+u3fJFBw==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.10.1.tgz", + "integrity": "sha512-qdiJS5a/QGCff7VUFIqd0hDdWly9rDp8lhVmXVrS11aazX8LOTRLHAXkkEeONNsS43EcCd7gax9LLoOz4vlFQA==", "dev": true, "license": "MIT" }, @@ -1779,16 +1792,16 @@ "license": "MIT" }, "node_modules/@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "20.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", - "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "version": "20.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", + "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", "dev": true, "license": "MIT", "dependencies": { @@ -1837,9 +1850,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.1.tgz", - "integrity": "sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", + "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, "license": "MIT", "engines": { @@ -1881,9 +1894,9 @@ } }, "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "license": "MIT", "bin": { @@ -2930,9 +2943,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001636", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", - "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "dev": true, "funding": [ { @@ -3021,16 +3034,10 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -3044,6 +3051,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -4120,9 +4130,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.809", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.809.tgz", - "integrity": "sha512-Xg2vEbpMfkVivK8l9QwbjkLoHSUQouZLC0InWHqKJhNvB1VGoOfdlzbdnl4f1jVGTnxmWV1dP/IwoJRqJP78ug==", + "version": "1.4.816", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", "dev": true, "license": "ISC" }, @@ -4273,6 +4283,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true, + "license": "MIT" + }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", @@ -4508,9 +4525,9 @@ } }, "node_modules/eslint-plugin-es-x": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.7.0.tgz", - "integrity": "sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz", + "integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==", "dev": true, "funding": [ "https://github.com/sponsors/ota-meshi", @@ -4519,7 +4536,7 @@ "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.1.2", - "@eslint-community/regexpp": "^4.6.0", + "@eslint-community/regexpp": "^4.11.0", "eslint-compat-utils": "^0.5.1" }, "engines": { @@ -4649,20 +4666,22 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "48.2.13", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.13.tgz", - "integrity": "sha512-4MzMKN0uMIehmFUVzJxNmjc573HnTKLt7Qrg7QQyXC3JkHBweaVbHwgwG+T3boefD3NyLXRHNOYYPJqmslDvHA==", + "version": "48.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.5.2.tgz", + "integrity": "sha512-VXBJFviQz30rynlOEQ+dNWLmeopjoAgutUVrWOZwm6Ki4EVDm4XkyIqAV/Zhf7FcDr0AG0aGmRn5FxxCtAF0tA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@es-joy/jsdoccomment": "~0.43.1", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.1", - "debug": "^4.3.4", + "debug": "^4.3.5", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", + "parse-imports": "^2.1.0", "semver": "^7.6.2", - "spdx-expression-parse": "^4.0.0" + "spdx-expression-parse": "^4.0.0", + "synckit": "^0.9.0" }, "engines": { "node": ">=18" @@ -4745,9 +4764,9 @@ } }, "node_modules/eslint-plugin-n/node_modules/globals": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.6.0.tgz", - "integrity": "sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==", + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz", + "integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==", "dev": true, "license": "MIT", "engines": { @@ -4768,9 +4787,9 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.2.0.tgz", - "integrity": "sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.4.0.tgz", + "integrity": "sha512-/KWWRaD3fGkVCZsdR0RU53PSthFmoHVhZl+y9+6DqeDLSikLdlUVpVEAmI6iCRR5QyOjBYBqHZV/bdv4DJ4Gtw==", "dev": true, "license": "ISC", "engines": { @@ -6473,9 +6492,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "license": "MIT", "dependencies": { @@ -7459,9 +7478,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true, "license": "MIT" }, @@ -7651,9 +7670,9 @@ "license": "MIT" }, "node_modules/linkedom": { - "version": "0.18.3", - "resolved": "https://registry.npmjs.org/linkedom/-/linkedom-0.18.3.tgz", - "integrity": "sha512-z8i9nX5rbiO3keLJ+rJabVmJ/nCdYzQRONPU0L9c6buYErX5yxb0pQX+sWdX8r0QvpaZrjAtjM0scbX10xYH9Q==", + "version": "0.18.4", + "resolved": "https://registry.npmjs.org/linkedom/-/linkedom-0.18.4.tgz", + "integrity": "sha512-JhLErxMIEOKByMi3fURXgI1fYOzR87L1Cn0+MI9GlMckFrqFZpV1SUGox1jcKtsKN3y6JgclcQf0FzZT//BuGw==", "license": "ISC", "dependencies": { "css-select": "^5.1.0", @@ -8127,9 +8146,9 @@ } }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { @@ -8204,15 +8223,15 @@ } }, "node_modules/mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.0.tgz", + "integrity": "sha512-KoCXMKfW2OMsvCbaJJFPdzg36lI9+tMH7yyXCoKh6PpFo7BAC/xqG7Ct/aitJDrGbIGcN2IT3cx3bZ6PDGaXmA==", "dev": true, "license": "MIT", "dependencies": { "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.3", + "chokidar": "^3.5.3", "debug": "4.3.4", "diff": "5.0.0", "escape-string-regexp": "4.0.0", @@ -8970,9 +8989,9 @@ } }, "node_modules/npm-package-json-lint/node_modules/type-fest": { - "version": "4.20.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz", - "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.21.0.tgz", + "integrity": "sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -9535,6 +9554,20 @@ "node": ">=6" } }, + "node_modules/parse-imports": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.1.1.tgz", + "integrity": "sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "es-module-lexer": "^1.5.3", + "slashes": "^3.0.12" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -9636,9 +9669,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", "dev": true, "license": "ISC", "engines": { @@ -9809,9 +9842,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "funding": [ { @@ -9830,7 +9863,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -10053,9 +10086,9 @@ } }, "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.2.tgz", + "integrity": "sha512-x+NLUpx9SYrcwXtX7ob1gnkSems4i/mGZX5SlYxwIau6RrUSODO89TR/XDGGpn5RPWSYIB+aSfuSlV5+CmbTBg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11237,13 +11270,13 @@ "license": "MIT" }, "node_modules/shiki": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.9.0.tgz", - "integrity": "sha512-i6//Lqgn7+7nZA0qVjoYH0085YdNk4MC+tJV4bo+HgjgRMJ0JmkLZzFAuvVioJqLkcGDK5GAMpghZEZkCnwxpQ==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.10.1.tgz", + "integrity": "sha512-uafV7WCgN4YYrccH6yxpnps6k38sSTlFRrwc4jycWmhWxJIm9dPrk+XkY1hZ2t0I7jmacMNb15Lf2fspa/Y3lg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/core": "1.9.0" + "@shikijs/core": "1.10.1" } }, "node_modules/side-channel": { @@ -11330,6 +11363,13 @@ "node": ">=8" } }, + "node_modules/slashes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", + "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "dev": true, + "license": "ISC" + }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -11996,6 +12036,23 @@ "dev": true, "license": "MIT" }, + "node_modules/synckit": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz", + "integrity": "sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/table": { "version": "6.8.2", "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", @@ -12383,16 +12440,16 @@ } }, "node_modules/typedoc": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.0.tgz", - "integrity": "sha512-OcYevjHsMN8DfpaL0dSBGAEBhOxuBB5Au8QVs9oz9iB0kRStPZwXLFWqh9gwbMUxNjW3yQuIM5GrVVauMJ2Akw==", + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.3.tgz", + "integrity": "sha512-6d2Sw9disvvpdk4K7VNjKr5/3hzijtfQVHRthhDqJgnhMHy1wQz4yPMJVKXElvnZhFr0nkzo+GzjXDTRV5yLpg==", "dev": true, "license": "Apache-2.0", "dependencies": { "lunr": "^2.3.9", "markdown-it": "^14.1.0", - "minimatch": "^9.0.4", - "shiki": "^1.6.5", + "minimatch": "^9.0.5", + "shiki": "^1.9.1", "yaml": "^2.4.5" }, "bin": { @@ -12406,9 +12463,9 @@ } }, "node_modules/typescript": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", - "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -12510,9 +12567,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -12903,6 +12960,28 @@ "node": ">= 10.0.0" } }, + "node_modules/web-ext/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/web-streams-polyfill": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", @@ -13183,9 +13262,9 @@ } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index f488736a..9cdc56c6 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "clean": "node .script/clean.js" }, "dependencies": { - "linkedom": "0.18.3" + "linkedom": "0.18.4" }, "devDependencies": { "@prantlf/jsonlint": "14.0.3", @@ -52,25 +52,25 @@ "@types/eslint": "8.56.10", "@types/firefox-webext-browser": "120.0.4", "@types/jsdom": "21.1.7", - "@types/mocha": "10.0.6", + "@types/mocha": "10.0.7", "@types/sinon": "17.0.3", "addons-linter": "6.31.1", "eslint": "8.57.0", "eslint-plugin-array-func": "4.0.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.13", + "eslint-plugin-jsdoc": "48.5.2", "eslint-plugin-mocha": "10.4.3", "eslint-plugin-n": "17.9.0", "eslint-plugin-no-unsanitized": "4.0.2", - "eslint-plugin-promise": "6.2.0", + "eslint-plugin-promise": "6.4.0", "eslint-plugin-regexp": "2.6.0", "eslint-plugin-unicorn": "54.0.0", "htmlhint": "1.1.4", "jsdom": "24.1.0", "markdownlint": "0.34.0", "metalint": "0.17.0", - "mocha": "10.4.0", + "mocha": "10.5.0", "mock-socket": "9.3.1", "npm-package-json-lint": "8.0.0", "prettier": "3.3.2", @@ -78,13 +78,13 @@ "sinon": "18.0.0", "stylelint": "16.6.1", "stylelint-order": "6.0.4", - "typedoc": "0.26.0", - "typescript": "5.5.2", + "typedoc": "0.26.3", + "typescript": "5.5.3", "web-ext": "8.2.0", "yaml-lint": "1.7.0" }, "engines": { - "node": ">=20.6.0" + "node": ">=22" }, "private": true } diff --git a/src/polyfill/lib/linkedom.js b/src/polyfill/lib/linkedom.js index b6e3eaed..c58313f1 100644 --- a/src/polyfill/lib/linkedom.js +++ b/src/polyfill/lib/linkedom.js @@ -10848,8 +10848,16 @@ class HTMLTimeElement extends HTMLElement { constructor(ownerDocument, localName = 'time') { super(ownerDocument, localName); } + + /** + * @type {string} + */ + get dateTime() { return stringAttribute.get(this, 'datetime'); } + set dateTime(value) { stringAttribute.set(this, 'datetime', value); } } +registerHTMLClass('time', HTMLTimeElement); + /** * @implements globalThis.HTMLFieldSetElement */ diff --git a/test/integration/labeler/twitch.js b/test/integration/labeler/twitch.js index 39f95155..42843fc7 100644 --- a/test/integration/labeler/twitch.js +++ b/test/integration/labeler/twitch.js @@ -66,7 +66,7 @@ describe("Labeler: Twitch", function () { // Récupérer l'URL d'une vidéo en passant par la version mobile, car la // version classique charge le contenu de la page en asynchrone avec des // APIs. - const response = await fetch("https://m.twitch.tv/canardpc/profile"); + const response = await fetch("https://m.twitch.tv/canardpc/videos"); const text = await response.text(); const doc = new DOMParser().parseFromString(text, "text/html"); diff --git a/test/integration/scraper/arte.js b/test/integration/scraper/arte.js index 33a093b3..560fffef 100644 --- a/test/integration/scraper/arte.js +++ b/test/integration/scraper/arte.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Arte", function () { +describe("Scraper: Arte [de/fr]", function () { before(function () { if ( undefined !== config.country && diff --git a/test/integration/scraper/bitchute.js b/test/integration/scraper/bitchute.js index fb4d2145..26994bc4 100644 --- a/test/integration/scraper/bitchute.js +++ b/test/integration/scraper/bitchute.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: BitChute", function () { +describe("Scraper: BitChute [fr]", function () { before(function () { // Désactiver les tests de BitChute en dehors de la France, car ça ne // fonctionne pas dans les autres pays. diff --git a/test/integration/scraper/dmax.js b/test/integration/scraper/dmax.js index 1c6cd78f..efdffc1b 100644 --- a/test/integration/scraper/dmax.js +++ b/test/integration/scraper/dmax.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: DMAX", function () { +describe("Scraper: DMAX [de]", function () { before(function () { if (undefined !== config.country && "de" !== config.country) { // eslint-disable-next-line no-invalid-this diff --git a/test/integration/scraper/goplay.js b/test/integration/scraper/goplay.js index e910aafa..72df63ba 100644 --- a/test/integration/scraper/goplay.js +++ b/test/integration/scraper/goplay.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: GoPlay", function () { +describe("Scraper: GoPlay [be]", function () { before(function () { if (undefined !== config.country && "be" !== config.country) { // eslint-disable-next-line no-invalid-this diff --git a/test/integration/scraper/instagram.js b/test/integration/scraper/instagram.js index 02704dfe..4449d717 100644 --- a/test/integration/scraper/instagram.js +++ b/test/integration/scraper/instagram.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Instagram", function () { +describe("Scraper: Instagram [fr]", function () { before(function () { // Désactiver les tests d'Instagram en dehors de la France, car il faut // être connecté pour consulter les publications dans les autres pays. diff --git a/test/integration/scraper/jv.js b/test/integration/scraper/jv.js index 55fe6131..eec3541d 100644 --- a/test/integration/scraper/jv.js +++ b/test/integration/scraper/jv.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: JV (Jeuxvideo.com)", function () { +describe("Scraper: JV (Jeuxvideo.com) [fr]", function () { before(function () { if (undefined !== config.country && "fr" !== config.country) { // eslint-disable-next-line no-invalid-this diff --git a/test/integration/scraper/ouestfrance.js b/test/integration/scraper/ouestfrance.js index 9bd2c453..ae63e59f 100644 --- a/test/integration/scraper/ouestfrance.js +++ b/test/integration/scraper/ouestfrance.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Ouest-France", function () { +describe("Scraper: Ouest-France [fr]", function () { before(function () { // Désactiver les tests de Ouest-France en dehors de la France, car le // site utilise Ultimedia qui fonctionne seulement en France. diff --git a/test/integration/scraper/reddit.js b/test/integration/scraper/reddit.js index a41b9aad..d1016e4e 100644 --- a/test/integration/scraper/reddit.js +++ b/test/integration/scraper/reddit.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Reddit", function () { +describe("Scraper: Reddit [fr]", function () { before(function () { // Désactiver les tests de Reddit aux États-Unis, car la récupération ne // semble pas fonctionner. diff --git a/test/integration/scraper/rumble.js b/test/integration/scraper/rumble.js index e9eb259a..b3ad1a1c 100644 --- a/test/integration/scraper/rumble.js +++ b/test/integration/scraper/rumble.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Rumble", function () { +describe("Scraper: Rumble [us]", function () { before(function () { // """ // NOTICE TO USERS IN FRANCE diff --git a/test/integration/scraper/tiktok.js b/test/integration/scraper/tiktok.js index aed245d8..ffc746af 100644 --- a/test/integration/scraper/tiktok.js +++ b/test/integration/scraper/tiktok.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: TikTok", function () { +describe("Scraper: TikTok [us]", function () { before(function () { if (undefined !== config.country && "us" === config.country) { // eslint-disable-next-line no-invalid-this diff --git a/test/integration/scraper/ultimedia.js b/test/integration/scraper/ultimedia.js index 07e240fe..730b5c5b 100644 --- a/test/integration/scraper/ultimedia.js +++ b/test/integration/scraper/ultimedia.js @@ -8,7 +8,7 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; import { config } from "../config.js"; -describe("Scraper: Ultimedia", function () { +describe("Scraper: Ultimedia [fr]", function () { before(function () { // Désactiver les tests d'Ultimedia en dehors de la France, car les // pages sont en "maintenance" dans les autres pays. diff --git a/test/integration/scraper/vimeo.js b/test/integration/scraper/vimeo.js index adf48e62..c118ba73 100644 --- a/test/integration/scraper/vimeo.js +++ b/test/integration/scraper/vimeo.js @@ -7,7 +7,9 @@ import assert from "node:assert/strict"; import { extract } from "../../../src/core/scrapers.js"; -describe("Scraper: Vimeo", function () { +// Désactiver les tests, car Vimeo détecte que la requête provient d'un robot et +// il affiche une page de vérification. +describe.skip("Scraper: Vimeo", function () { it("should return undefined when it isn't a video", async function () { const url = new URL("https://vimeo.com/channels"); const context = { depth: false, incognito: false }; @@ -16,7 +18,7 @@ describe("Scraper: Vimeo", function () { assert.equal(file, undefined); }); - it("should return video id [opengraph-vimeo]", async function () { + it("should return video id [ldjson-vimeo]", async function () { const url = new URL("https://vimeo.com/228786490"); const context = { depth: false, incognito: false }; @@ -27,7 +29,7 @@ describe("Scraper: Vimeo", function () { ); }); - it("should return video id when protocol is HTTP [opengraph-vimeo]", async function () { + it("should return video id when protocol is HTTP [ldjson-vimeo]", async function () { const url = new URL("http://vimeo.com/228786490"); const context = { depth: false, incognito: false }; @@ -38,7 +40,7 @@ describe("Scraper: Vimeo", function () { ); }); - it("should return video id from groups video [opengraph-vimeo]", async function () { + it("should return video id from groups video [ldjson-vimeo]", async function () { const url = new URL("https://vimeo.com/groups/motion/videos/93206523"); const context = { depth: false, incognito: false }; @@ -49,7 +51,7 @@ describe("Scraper: Vimeo", function () { ); }); - it("should return video id from unlisted video [opengraph-vimeo]", async function () { + it("should return video id from unlisted video [ldjson-vimeo]", async function () { const url = new URL("https://vimeo.com/304887422/34c51f7a09"); const context = { depth: false, incognito: false };