From fa1a294bc7791f6a32d1e3fcf36c61c8e27b55d4 Mon Sep 17 00:00:00 2001 From: Giglium Date: Mon, 2 Dec 2024 14:02:40 +0100 Subject: [PATCH] Update browser-extension-url-match dependency - Closes #4 - Add test case to unsure compatibility with future releases --- package-lock.json | 77 +++++++++++++------ package.json | 2 +- .../url.with.port.test.ts/build-1.txt | 10 +++ .../url.with.port.test.ts/build-2.txt | 6 ++ tests/cases/url-with-port/index.js | 1 + tests/cases/url-with-port/meta.js | 5 ++ .../cases/url-with-port/url.with.port.test.ts | 27 +++++++ 7 files changed, 105 insertions(+), 23 deletions(-) create mode 100644 tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-1.txt create mode 100644 tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-2.txt create mode 100644 tests/cases/url-with-port/index.js create mode 100644 tests/cases/url-with-port/meta.js create mode 100644 tests/cases/url-with-port/url.with.port.test.ts diff --git a/package-lock.json b/package-lock.json index 0dabdfd..e5a9dd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "examples/*" ], "dependencies": { - "browser-extension-url-match": "^0.3.3", + "browser-extension-url-match": "^1.0.0", "lodash": "^4.17.21", "mitt": "^3.0.1", "webpack-merge": "^5.9.0" @@ -1815,11 +1815,12 @@ } }, "node_modules/browser-extension-url-match": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-0.3.3.tgz", - "integrity": "sha512-x7uphFW6fxHF8/RfNqUQomZL4KsKgNb3f8ZrLsYsxSVTaOyeg9I3w/8iuQ2I51vVmrtiYiv37Tfq5gQyMN3j2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-1.2.0.tgz", + "integrity": "sha512-+O/t71m1opNU5KG/bJkeNLvXLp0OxlFekjdR8w6waUOyWhkL6+bnQ6dCDoJxc6YF6ZQM0r64ag/d9K4m05ULsg==", + "license": "MIT", "dependencies": { - "fancy-regex": "^0.4.3" + "fancy-regex": "^0.5.4" } }, "node_modules/browserslist": { @@ -1926,9 +1927,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001487", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz", - "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==", + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "funding": [ { "type": "opencollective", @@ -1942,7 +1943,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", @@ -2989,9 +2991,10 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/fancy-regex": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.4.3.tgz", - "integrity": "sha512-c9R6Q7cM8pX5i0ZF3sAjYWPFsjGOUthPWPnkuZgDP8i6bzRtTnSXX5PJeWc34w/C0tbGj/bO3GSmdnEEj4K5PQ==" + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.5.4.tgz", + "integrity": "sha512-O6qfjtMnrPRs+3XOavCxGQDFaMS9K1vEsQMhPowqx2P/h1fDCvK5RUyeWeyDusMH2FkSHAsRE3IbSBMMg53fmw==", + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -7275,6 +7278,21 @@ } } }, + "node_modules/webpack-monkey/node_modules/browser-extension-url-match": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-0.3.3.tgz", + "integrity": "sha512-x7uphFW6fxHF8/RfNqUQomZL4KsKgNb3f8ZrLsYsxSVTaOyeg9I3w/8iuQ2I51vVmrtiYiv37Tfq5gQyMN3j2Q==", + "license": "MIT", + "dependencies": { + "fancy-regex": "^0.4.3" + } + }, + "node_modules/webpack-monkey/node_modules/fancy-regex": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.4.3.tgz", + "integrity": "sha512-c9R6Q7cM8pX5i0ZF3sAjYWPFsjGOUthPWPnkuZgDP8i6bzRtTnSXX5PJeWc34w/C0tbGj/bO3GSmdnEEj4K5PQ==", + "license": "MIT" + }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", @@ -8678,11 +8696,11 @@ } }, "browser-extension-url-match": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-0.3.3.tgz", - "integrity": "sha512-x7uphFW6fxHF8/RfNqUQomZL4KsKgNb3f8ZrLsYsxSVTaOyeg9I3w/8iuQ2I51vVmrtiYiv37Tfq5gQyMN3j2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-1.2.0.tgz", + "integrity": "sha512-+O/t71m1opNU5KG/bJkeNLvXLp0OxlFekjdR8w6waUOyWhkL6+bnQ6dCDoJxc6YF6ZQM0r64ag/d9K4m05ULsg==", "requires": { - "fancy-regex": "^0.4.3" + "fancy-regex": "^0.5.4" } }, "browserslist": { @@ -8748,9 +8766,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001487", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz", - "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==" + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==" }, "chalk": { "version": "4.1.2", @@ -9505,9 +9523,9 @@ } }, "fancy-regex": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.4.3.tgz", - "integrity": "sha512-c9R6Q7cM8pX5i0ZF3sAjYWPFsjGOUthPWPnkuZgDP8i6bzRtTnSXX5PJeWc34w/C0tbGj/bO3GSmdnEEj4K5PQ==" + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.5.4.tgz", + "integrity": "sha512-O6qfjtMnrPRs+3XOavCxGQDFaMS9K1vEsQMhPowqx2P/h1fDCvK5RUyeWeyDusMH2FkSHAsRE3IbSBMMg53fmw==" }, "fast-deep-equal": { "version": "3.1.3", @@ -12399,6 +12417,21 @@ "lodash": "^4.17.21", "mitt": "^3.0.1", "webpack-merge": "^5.9.0" + }, + "dependencies": { + "browser-extension-url-match": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-0.3.3.tgz", + "integrity": "sha512-x7uphFW6fxHF8/RfNqUQomZL4KsKgNb3f8ZrLsYsxSVTaOyeg9I3w/8iuQ2I51vVmrtiYiv37Tfq5gQyMN3j2Q==", + "requires": { + "fancy-regex": "^0.4.3" + } + }, + "fancy-regex": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.4.3.tgz", + "integrity": "sha512-c9R6Q7cM8pX5i0ZF3sAjYWPFsjGOUthPWPnkuZgDP8i6bzRtTnSXX5PJeWc34w/C0tbGj/bO3GSmdnEEj4K5PQ==" + } } }, "webpack-sources": { diff --git a/package.json b/package.json index 4206277..e0d5af6 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ } }, "dependencies": { - "browser-extension-url-match": "^0.3.3", + "browser-extension-url-match": "^1.0.0", "lodash": "^4.17.21", "mitt": "^3.0.1", "webpack-merge": "^5.9.0" diff --git a/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-1.txt b/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-1.txt new file mode 100644 index 0000000..64a27d5 --- /dev/null +++ b/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-1.txt @@ -0,0 +1,10 @@ +// ==UserScript== +// @name Url with port +// @grant GM_addElement +// @include *://localhost/ +// @version 1.0.0 +// ==/UserScript== + +;(() => { + GM_addElement(document.body, "div", { class: "index1" }) +})() diff --git a/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-2.txt b/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-2.txt new file mode 100644 index 0000000..f7d1828 --- /dev/null +++ b/tests/cases/url-with-port/__snapshots__/url.with.port.test.ts/build-2.txt @@ -0,0 +1,6 @@ +// ==UserScript== +// @name Url with port +// @grant GM_addElement +// @include *://localhost/ +// @version 1.0.0 +// ==/UserScript== diff --git a/tests/cases/url-with-port/index.js b/tests/cases/url-with-port/index.js new file mode 100644 index 0000000..1e22dfa --- /dev/null +++ b/tests/cases/url-with-port/index.js @@ -0,0 +1 @@ +const div = GM_addElement(document.body, "div", { class: "index1" }) \ No newline at end of file diff --git a/tests/cases/url-with-port/meta.js b/tests/cases/url-with-port/meta.js new file mode 100644 index 0000000..3ebd398 --- /dev/null +++ b/tests/cases/url-with-port/meta.js @@ -0,0 +1,5 @@ +module.exports = { + name: "Url with port", + version: "1.0.0", + include: ["*://localhost/"], +} diff --git a/tests/cases/url-with-port/url.with.port.test.ts b/tests/cases/url-with-port/url.with.port.test.ts new file mode 100644 index 0000000..04f5f1b --- /dev/null +++ b/tests/cases/url-with-port/url.with.port.test.ts @@ -0,0 +1,27 @@ +import path from "path" +import { monkey } from "../../../src" +import { test } from "../../env" +import { testBuild, withCommonConfig} from "../../utils/webpack" +import { expect } from "@playwright/test" + +const config = withCommonConfig({ + entry: path.resolve(__dirname, "index.js"), + output: { + path: path.resolve(__dirname, "dist"), + }, + devServer: { + host: "localhost" // force host to be localhost because 127.0.0.1 will not match + }, +}) + +test("build", () => testBuild(monkey(config))) + +test("Test url with port in the browser", async ({ page, devServerHot, installDevScript }) => { + const { origin } = await devServerHot(monkey(config)) + + await installDevScript(origin) + + await page.goto(origin) + + await expect(page.locator(".index1")).toBeAttached() +}) \ No newline at end of file