From 4c7dabbec9d97de1cca0cc4158ec89a131a34777 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 12:12:43 +0000 Subject: [PATCH 1/8] [c3] fix: update solid template to write app.config.(js/ts) --- .changeset/wet-suns-own.md | 5 +++++ .../templates/solid/js/app.config.js | 10 ++++++++++ .../templates/solid/js/vite.config.js | 12 ------------ .../templates/solid/ts/app.config.ts | 10 ++++++++++ .../templates/solid/ts/vite.config.ts | 12 ------------ 5 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 .changeset/wet-suns-own.md create mode 100644 packages/create-cloudflare/templates/solid/js/app.config.js delete mode 100644 packages/create-cloudflare/templates/solid/js/vite.config.js create mode 100644 packages/create-cloudflare/templates/solid/ts/app.config.ts delete mode 100644 packages/create-cloudflare/templates/solid/ts/vite.config.ts diff --git a/.changeset/wet-suns-own.md b/.changeset/wet-suns-own.md new file mode 100644 index 000000000000..f27fe636b904 --- /dev/null +++ b/.changeset/wet-suns-own.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +fix: update solid C3 template to write an `app.config.(js/ts)` file instead of `vite.config.(js/ts)` diff --git a/packages/create-cloudflare/templates/solid/js/app.config.js b/packages/create-cloudflare/templates/solid/js/app.config.js new file mode 100644 index 000000000000..6de5ad1cb489 --- /dev/null +++ b/packages/create-cloudflare/templates/solid/js/app.config.js @@ -0,0 +1,10 @@ +import { defineConfig } from "@solidjs/start/config"; + +export default defineConfig({ + server: { + preset: "cloudflare-pages", + rollupConfig: { + external: ["node:async_hooks"] + }, + } +}); diff --git a/packages/create-cloudflare/templates/solid/js/vite.config.js b/packages/create-cloudflare/templates/solid/js/vite.config.js deleted file mode 100644 index 84dfd2277f70..000000000000 --- a/packages/create-cloudflare/templates/solid/js/vite.config.js +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; - -export default defineConfig({ - start: { - server: { - preset: "cloudflare-pages", - rollupConfig: { - external: ["node:async_hooks"] - }, - } - } -}); diff --git a/packages/create-cloudflare/templates/solid/ts/app.config.ts b/packages/create-cloudflare/templates/solid/ts/app.config.ts new file mode 100644 index 000000000000..6de5ad1cb489 --- /dev/null +++ b/packages/create-cloudflare/templates/solid/ts/app.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "@solidjs/start/config"; + +export default defineConfig({ + server: { + preset: "cloudflare-pages", + rollupConfig: { + external: ["node:async_hooks"] + }, + } +}); diff --git a/packages/create-cloudflare/templates/solid/ts/vite.config.ts b/packages/create-cloudflare/templates/solid/ts/vite.config.ts deleted file mode 100644 index 84dfd2277f70..000000000000 --- a/packages/create-cloudflare/templates/solid/ts/vite.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; - -export default defineConfig({ - start: { - server: { - preset: "cloudflare-pages", - rollupConfig: { - external: ["node:async_hooks"] - }, - } - } -}); From fb7ff7062000d0e1ed2b0dffe983a7dfa2ad8c90 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 12:34:01 +0000 Subject: [PATCH 2/8] use codemod instead of overriding the file --- .../create-cloudflare/templates/solid/c3.ts | 56 ++++++++++++++++--- .../templates/solid/js/app.config.js | 10 ---- .../templates/solid/ts/app.config.ts | 10 ---- 3 files changed, 48 insertions(+), 28 deletions(-) delete mode 100644 packages/create-cloudflare/templates/solid/js/app.config.js delete mode 100644 packages/create-cloudflare/templates/solid/ts/app.config.ts diff --git a/packages/create-cloudflare/templates/solid/c3.ts b/packages/create-cloudflare/templates/solid/c3.ts index 9516a49221eb..44e66b998c69 100644 --- a/packages/create-cloudflare/templates/solid/c3.ts +++ b/packages/create-cloudflare/templates/solid/c3.ts @@ -1,7 +1,10 @@ -import { logRaw } from "@cloudflare/cli"; +import { logRaw, updateStatus } from "@cloudflare/cli"; +import { blue } from "@cloudflare/cli/colors"; +import { transformFile } from "helpers/codemod"; import { runFrameworkGenerator } from "helpers/command"; -import { compatDateFlag } from "helpers/files"; +import { compatDateFlag, usesTypescript } from "helpers/files"; import { detectPackageManager } from "helpers/packages"; +import * as recast from "recast"; import type { TemplateConfig } from "../../src/templates"; import type { C3Context } from "types"; @@ -14,18 +17,55 @@ const generate = async (ctx: C3Context) => { logRaw(""); }; +const configure = async (ctx: C3Context) => { + usesTypescript(ctx); + const filePath = `app.config.${usesTypescript(ctx) ? "ts" : "js"}`; + + updateStatus(`Updating configuration in ${blue(filePath)}`); + + transformFile(filePath, { + visitCallExpression: function (n) { + const callee = n.node.callee as recast.types.namedTypes.Identifier; + if (callee.name !== "defineConfig") { + return this.traverse(n); + } + + const b = recast.types.builders; + n.node.arguments = [ + b.objectExpression([ + b.objectProperty( + b.identifier("server"), + b.objectExpression([ + b.objectProperty( + b.identifier("preset"), + b.stringLiteral("cloudflare-pages") + ), + b.objectProperty( + b.identifier("rollupConfig"), + b.objectExpression([ + b.objectProperty( + b.identifier("external"), + b.arrayExpression([b.stringLiteral("node:async_hooks")]) + ), + ]) + ), + ]) + ), + ]), + ]; + + return false; + }, + }); +}; + const config: TemplateConfig = { configVersion: 1, id: "solid", displayName: "Solid", platform: "pages", - copyFiles: { - variants: { - js: { path: "./js" }, - ts: { path: "./ts" }, - }, - }, generate, + configure, transformPackageJson: async () => ({ scripts: { "pages:preview": `${npm} run build && npx wrangler pages dev dist ${await compatDateFlag()} --compatibility-flag nodejs_compat`, diff --git a/packages/create-cloudflare/templates/solid/js/app.config.js b/packages/create-cloudflare/templates/solid/js/app.config.js deleted file mode 100644 index 6de5ad1cb489..000000000000 --- a/packages/create-cloudflare/templates/solid/js/app.config.js +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; - -export default defineConfig({ - server: { - preset: "cloudflare-pages", - rollupConfig: { - external: ["node:async_hooks"] - }, - } -}); diff --git a/packages/create-cloudflare/templates/solid/ts/app.config.ts b/packages/create-cloudflare/templates/solid/ts/app.config.ts deleted file mode 100644 index 6de5ad1cb489..000000000000 --- a/packages/create-cloudflare/templates/solid/ts/app.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from "@solidjs/start/config"; - -export default defineConfig({ - server: { - preset: "cloudflare-pages", - rollupConfig: { - external: ["node:async_hooks"] - }, - } -}); From b718f11894b486926be62dae1d2c0a5ffbd724f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 10:56:33 +0000 Subject: [PATCH 3/8] [C3] Bump create-solid in /packages/create-cloudflare/src/frameworks Bumps [create-solid](https://github.com/solidjs-community/solid-cli) from 0.4.10 to 0.5.2. - [Commits](https://github.com/solidjs-community/solid-cli/commits) --- updated-dependencies: - dependency-name: create-solid dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/create-cloudflare/src/frameworks/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/src/frameworks/package.json b/packages/create-cloudflare/src/frameworks/package.json index d77f758a1a55..da6eaacd85b4 100644 --- a/packages/create-cloudflare/src/frameworks/package.json +++ b/packages/create-cloudflare/src/frameworks/package.json @@ -14,7 +14,7 @@ "create-qwik": "1.4.5", "create-react-app": "5.0.1", "create-remix": "2.8.0", - "create-solid": "0.4.10", + "create-solid": "0.5.2", "create-svelte": "6.0.9", "create-vue": "3.9.2", "gatsby": "5.13.3", From ef53fecfd7224662eb763743eaf26babb5591cdd Mon Sep 17 00:00:00 2001 From: Wrangler automated PR updater Date: Mon, 26 Feb 2024 10:56:48 +0000 Subject: [PATCH 4/8] [C3] Update frameworks cli dependencies --- .changeset/c3-frameworks-update-5098.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/c3-frameworks-update-5098.md diff --git a/.changeset/c3-frameworks-update-5098.md b/.changeset/c3-frameworks-update-5098.md new file mode 100644 index 000000000000..871032049c63 --- /dev/null +++ b/.changeset/c3-frameworks-update-5098.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +chore: Bumped `create-solid` from `0.4.10` to `0.5.2` From 613427c61dd49974733955bce467c580de2c8365 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 17:05:57 +0000 Subject: [PATCH 5/8] update C3 solid scripts --- .changeset/cuddly-worms-sin.md | 5 +++++ packages/create-cloudflare/templates/solid/c3.ts | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 .changeset/cuddly-worms-sin.md diff --git a/.changeset/cuddly-worms-sin.md b/.changeset/cuddly-worms-sin.md new file mode 100644 index 000000000000..d3f79742b283 --- /dev/null +++ b/.changeset/cuddly-worms-sin.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +fix: update solid preview and deploy scripts to be aligned with the rest of the frameworks diff --git a/packages/create-cloudflare/templates/solid/c3.ts b/packages/create-cloudflare/templates/solid/c3.ts index 44e66b998c69..4b264c05464a 100644 --- a/packages/create-cloudflare/templates/solid/c3.ts +++ b/packages/create-cloudflare/templates/solid/c3.ts @@ -68,12 +68,13 @@ const config: TemplateConfig = { configure, transformPackageJson: async () => ({ scripts: { - "pages:preview": `${npm} run build && npx wrangler pages dev dist ${await compatDateFlag()} --compatibility-flag nodejs_compat`, - "pages:deploy": `${npm} run build && wrangler pages deploy ./dist`, + preview: `${npm} run build && npx wrangler pages dev dist ${await compatDateFlag()} --compatibility-flag nodejs_compat`, + deploy: `${npm} run build && wrangler pages deploy ./dist`, }, }), devScript: "dev", - previewScript: "pages:preview", + deployScript: "deploy", + previewScript: "preview", compatibilityFlags: ["nodejs_compat"], }; export default config; From 4162632d29bd93e98750660241e62102815e03e9 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 17:13:52 +0000 Subject: [PATCH 6/8] Revert "[C3] Update frameworks cli dependencies" This reverts commit ef53fecfd7224662eb763743eaf26babb5591cdd. --- .changeset/c3-frameworks-update-5098.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .changeset/c3-frameworks-update-5098.md diff --git a/.changeset/c3-frameworks-update-5098.md b/.changeset/c3-frameworks-update-5098.md deleted file mode 100644 index 871032049c63..000000000000 --- a/.changeset/c3-frameworks-update-5098.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"create-cloudflare": patch ---- - -chore: Bumped `create-solid` from `0.4.10` to `0.5.2` From 8bd2b4c393a36bad9021e958c973cbfcfdd56aec Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 17:14:10 +0000 Subject: [PATCH 7/8] Revert "[C3] Bump create-solid in /packages/create-cloudflare/src/frameworks" This reverts commit b718f11894b486926be62dae1d2c0a5ffbd724f4. --- packages/create-cloudflare/src/frameworks/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/src/frameworks/package.json b/packages/create-cloudflare/src/frameworks/package.json index da6eaacd85b4..d77f758a1a55 100644 --- a/packages/create-cloudflare/src/frameworks/package.json +++ b/packages/create-cloudflare/src/frameworks/package.json @@ -14,7 +14,7 @@ "create-qwik": "1.4.5", "create-react-app": "5.0.1", "create-remix": "2.8.0", - "create-solid": "0.5.2", + "create-solid": "0.4.10", "create-svelte": "6.0.9", "create-vue": "3.9.2", "gatsby": "5.13.3", From 439acdc59239cee1e3eb75bb2c7691929768d63c Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 1 Mar 2024 18:37:20 +0000 Subject: [PATCH 8/8] add npm to unsupported PMs for Solid in the c3 e2es --- packages/create-cloudflare/e2e-tests/frameworks.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create-cloudflare/e2e-tests/frameworks.test.ts b/packages/create-cloudflare/e2e-tests/frameworks.test.ts index 39008aaff0c8..a5180cd6a2b1 100644 --- a/packages/create-cloudflare/e2e-tests/frameworks.test.ts +++ b/packages/create-cloudflare/e2e-tests/frameworks.test.ts @@ -220,6 +220,7 @@ const frameworkTests: Record = { ], testCommitMessage: true, timeout: LONG_TIMEOUT, + unsupportedPms: ["npm"], unsupportedOSs: ["win32"], verifyDeploy: { route: "/",