From f463dd299dc6f28d348b8c782304c65f2c569d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Badea=20Sabin-Codru=C8=9B?= Date: Fri, 6 Dec 2024 02:53:34 +0200 Subject: [PATCH] Changed port in playwright config file (#7428) --- .changeset/lovely-kiwis-grab.md | 5 ++++ .../create-cloudflare/templates/svelte/c3.ts | 30 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 .changeset/lovely-kiwis-grab.md diff --git a/.changeset/lovely-kiwis-grab.md b/.changeset/lovely-kiwis-grab.md new file mode 100644 index 000000000000..44a38b5aa350 --- /dev/null +++ b/.changeset/lovely-kiwis-grab.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +Use correct port in playwright config file for generated SvelteKit apps diff --git a/packages/create-cloudflare/templates/svelte/c3.ts b/packages/create-cloudflare/templates/svelte/c3.ts index c50d06b19c27..5e451134ac6a 100644 --- a/packages/create-cloudflare/templates/svelte/c3.ts +++ b/packages/create-cloudflare/templates/svelte/c3.ts @@ -1,3 +1,4 @@ +import { existsSync } from "node:fs"; import { platform } from "node:os"; import { logRaw, updateStatus } from "@cloudflare/cli"; import { blue, brandColor, dim } from "@cloudflare/cli/colors"; @@ -28,6 +29,7 @@ const configure = async (ctx: C3Context) => { }); updateSvelteConfig(); + updatePlaywrightConfig(usesTypescript(ctx)); updateTypeDefinitions(ctx); }; @@ -49,6 +51,34 @@ const updateSvelteConfig = () => { }); }; +const updatePlaywrightConfig = (shouldUseTypescript: boolean) => { + const filePath = `playwright.config.${shouldUseTypescript ? "ts" : "js"}`; + if (!existsSync(filePath)) { + return; + } + + updateStatus(`Changing webServer port in ${blue(filePath)}`); + + transformFile(filePath, { + visitObjectExpression: function (n) { + const portProp = n.node.properties.find((prop) => { + if (!("key" in prop) || !("name" in prop.key)) { + return false; + } + + return prop.key.name === "port"; + }); + + if (!portProp || !("value" in portProp) || !("value" in portProp.value)) { + return this.traverse(n); + } + + portProp.value.value = 8788; + return false; + }, + }); +}; + const updateTypeDefinitions = (ctx: C3Context) => { if (!usesTypescript(ctx)) { return;