From b4c448cafab1c05d6afe6b929a8537c3d4883594 Mon Sep 17 00:00:00 2001 From: Tom Sherman Date: Sat, 21 May 2022 12:15:24 +0100 Subject: [PATCH] Add URLPattern (#260) --- package-lock.json | 16 ++++++++++++++-- packages/core/package.json | 3 ++- packages/core/src/plugins/core.ts | 2 ++ packages/core/test/plugins/core.spec.ts | 1 + 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ac7fc32be..4cfd1b4b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8369,6 +8369,11 @@ "node": ">=4" } }, + "node_modules/urlpattern-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-4.0.3.tgz", + "integrity": "sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==" + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -8792,7 +8797,8 @@ "dotenv": "^10.0.0", "kleur": "^4.1.4", "set-cookie-parser": "^2.4.8", - "undici": "4.13.0" + "undici": "4.13.0", + "urlpattern-polyfill": "^4.0.3" }, "devDependencies": { "@miniflare/durable-objects": "2.4.0", @@ -10104,7 +10110,8 @@ "dotenv": "^10.0.0", "kleur": "^4.1.4", "set-cookie-parser": "^2.4.8", - "undici": "4.13.0" + "undici": "4.13.0", + "urlpattern-polyfill": "^4.0.3" } }, "@miniflare/durable-objects": { @@ -15628,6 +15635,11 @@ "prepend-http": "^2.0.0" } }, + "urlpattern-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-4.0.3.tgz", + "integrity": "sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/packages/core/package.json b/packages/core/package.json index 920382edb..26752cc49 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -45,7 +45,8 @@ "dotenv": "^10.0.0", "kleur": "^4.1.4", "set-cookie-parser": "^2.4.8", - "undici": "4.13.0" + "undici": "4.13.0", + "urlpattern-polyfill": "^4.0.3" }, "devDependencies": { "@miniflare/durable-objects": "2.4.0", diff --git a/packages/core/src/plugins/core.ts b/packages/core/src/plugins/core.ts index 5e003b013..8ef5dfb4c 100644 --- a/packages/core/src/plugins/core.ts +++ b/packages/core/src/plugins/core.ts @@ -55,6 +55,7 @@ import { } from "../standards"; import { assertsInRequest } from "../standards/helpers"; import type { BindingsOptions } from "./bindings"; +import { URLPattern } from "urlpattern-polyfill"; const DEFAULT_MODULE_RULES: ModuleRule[] = [ { type: "ESModule", include: ["**/*.mjs"] }, @@ -416,6 +417,7 @@ export class CorePlugin extends Plugin implements CoreOptions { File, URL, URLSearchParams, + URLPattern, ByteLengthQueuingStrategy, CountQueuingStrategy, diff --git a/packages/core/test/plugins/core.spec.ts b/packages/core/test/plugins/core.spec.ts index 82213b0cd..d1240f09c 100644 --- a/packages/core/test/plugins/core.spec.ts +++ b/packages/core/test/plugins/core.spec.ts @@ -314,6 +314,7 @@ test("CorePlugin: setup: includes web standards", async (t) => { t.true(typeof globals.File === "function"); t.true(typeof globals.URL === "function"); t.true(typeof globals.URLSearchParams === "function"); + t.true(typeof globals.URLPattern === "function"); t.true(typeof globals.ByteLengthQueuingStrategy === "function"); t.true(typeof globals.CountQueuingStrategy === "function");