From 187acc55e0e58638819cada2e10ef3742ac18729 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Fri, 26 Jan 2024 09:45:54 -0800 Subject: [PATCH 1/4] update vinxi, fix #1247, fix #1261 --- .changeset/mean-walls-explode.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/mean-walls-explode.md diff --git a/.changeset/mean-walls-explode.md b/.changeset/mean-walls-explode.md new file mode 100644 index 000000000..a73c616a5 --- /dev/null +++ b/.changeset/mean-walls-explode.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +update vinxi, fix #1247, fix #1261 From a400990d4ebed809e6e2621640332602af301bde Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Fri, 26 Jan 2024 09:47:02 -0800 Subject: [PATCH 2/4] v0.4.11 --- .changeset/mean-walls-explode.md | 5 ---- .changeset/neat-apricots-try.md | 5 ---- .changeset/popular-mirrors-train.md | 5 ---- .changeset/young-icons-peel.md | 5 ---- examples/bare/package.json | 2 +- examples/basic/package.json | 2 +- examples/experiments/package.json | 2 +- examples/hackernews/package.json | 2 +- examples/todomvc/package.json | 2 +- examples/with-auth/package.json | 2 +- examples/with-mdx/package.json | 2 +- examples/with-prisma/package.json | 2 +- examples/with-solid-styled/package.json | 2 +- examples/with-tailwindcss/package.json | 2 +- examples/with-trpc/package.json | 2 +- examples/with-vitest/package.json | 2 +- package.json | 2 +- packages/start/CHANGELOG.md | 10 +++++++ packages/start/package.json | 4 +-- pnpm-lock.yaml | 36 ++++++++++++------------- 20 files changed, 43 insertions(+), 53 deletions(-) delete mode 100644 .changeset/mean-walls-explode.md delete mode 100644 .changeset/neat-apricots-try.md delete mode 100644 .changeset/popular-mirrors-train.md delete mode 100644 .changeset/young-icons-peel.md create mode 100644 packages/start/CHANGELOG.md diff --git a/.changeset/mean-walls-explode.md b/.changeset/mean-walls-explode.md deleted file mode 100644 index a73c616a5..000000000 --- a/.changeset/mean-walls-explode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@solidjs/start": patch ---- - -update vinxi, fix #1247, fix #1261 diff --git a/.changeset/neat-apricots-try.md b/.changeset/neat-apricots-try.md deleted file mode 100644 index d4022aab0..000000000 --- a/.changeset/neat-apricots-try.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@solidjs/start": patch ---- - -fix formData and action issue for cloud runtimes diff --git a/.changeset/popular-mirrors-train.md b/.changeset/popular-mirrors-train.md deleted file mode 100644 index fabed547c..000000000 --- a/.changeset/popular-mirrors-train.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@solidjs/start": patch ---- - -better GET signature diff --git a/.changeset/young-icons-peel.md b/.changeset/young-icons-peel.md deleted file mode 100644 index 13b955d69..000000000 --- a/.changeset/young-icons-peel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@solidjs/start": patch ---- - -GET server functions, response returns, cache to use GET diff --git a/examples/bare/package.json b/examples/bare/package.json index 61f8efab8..11a52c622 100644 --- a/examples/bare/package.json +++ b/examples/bare/package.json @@ -8,7 +8,7 @@ }, "dependencies": { "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "engines": { diff --git a/examples/basic/package.json b/examples/basic/package.json index 6b2798ce0..5c5bffafb 100644 --- a/examples/basic/package.json +++ b/examples/basic/package.json @@ -10,7 +10,7 @@ "@solidjs/meta": "^0.29.2", "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "engines": { diff --git a/examples/experiments/package.json b/examples/experiments/package.json index 9c9fb7b89..c5bfba4a2 100644 --- a/examples/experiments/package.json +++ b/examples/experiments/package.json @@ -10,7 +10,7 @@ "@solidjs/meta": "^0.29.2", "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "engines": { diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index b5819d3f8..5e19d4dc9 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -9,7 +9,7 @@ "dependencies": { "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "engines": { diff --git a/examples/todomvc/package.json b/examples/todomvc/package.json index 3c5047bca..ae1c49b9c 100644 --- a/examples/todomvc/package.json +++ b/examples/todomvc/package.json @@ -9,7 +9,7 @@ "dependencies": { "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "unstorage": "1.10.1", "vinxi": "^0.1.6" }, diff --git a/examples/with-auth/package.json b/examples/with-auth/package.json index dc5744afb..4939df841 100644 --- a/examples/with-auth/package.json +++ b/examples/with-auth/package.json @@ -12,7 +12,7 @@ "dependencies": { "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "unstorage": "1.10.1", "vinxi": "^0.1.6" }, diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index 6f01054b9..bdf47fcc1 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -11,7 +11,7 @@ "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", "@vinxi/plugin-mdx": "^3.6.7", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6", "solid-mdx": "^0.0.7" }, diff --git a/examples/with-prisma/package.json b/examples/with-prisma/package.json index 54eb4a78c..34d92dc80 100644 --- a/examples/with-prisma/package.json +++ b/examples/with-prisma/package.json @@ -14,7 +14,7 @@ "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", "prisma": "^5.7.0", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "engines": { diff --git a/examples/with-solid-styled/package.json b/examples/with-solid-styled/package.json index e1585c29c..b50e82371 100644 --- a/examples/with-solid-styled/package.json +++ b/examples/with-solid-styled/package.json @@ -10,7 +10,7 @@ "@solidjs/meta": "^0.29.2", "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "solid-styled": "^0.8.2", "vinxi": "^0.1.6", "vite-plugin-solid-styled": "^0.8.3" diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index 26d80be52..369a74ad1 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -11,7 +11,7 @@ "@solidjs/start": "^0.4.10", "autoprefixer": "^10.4.14", "postcss": "^8.4.26", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "tailwindcss": "^3.3.3", "vinxi": "^0.1.6" }, diff --git a/examples/with-trpc/package.json b/examples/with-trpc/package.json index 6615e8041..5ef06b0d7 100644 --- a/examples/with-trpc/package.json +++ b/examples/with-trpc/package.json @@ -13,7 +13,7 @@ "@solidjs/meta": "^0.29.2", "@solidjs/router": "^0.10.10", "@solidjs/start": "^0.4.10", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "valibot": "^0.23.0", "vinxi": "^0.1.6" }, diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index 91ebf99e6..6540857e3 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -19,7 +19,7 @@ "@testing-library/user-event": "^14.5.1", "@vitest/ui": "^1.1.0", "jsdom": "^24.0.0", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "typescript": "^5.3.3", "vinxi": "^0.1.6", "vite": "^4.4.9", diff --git a/package.json b/package.json index ed23551e6..af005fa91 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "rimraf": "^3.0.2", "rollup": "^3.28.1", "semver": "^7.5.4", - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "solid-mdx": "^0.0.7", "solid-start-mdx": "workspace:*", "tailwindcss": "^3.3.3", diff --git a/packages/start/CHANGELOG.md b/packages/start/CHANGELOG.md new file mode 100644 index 000000000..6258440a0 --- /dev/null +++ b/packages/start/CHANGELOG.md @@ -0,0 +1,10 @@ +# @solidjs/start + +## 0.4.11 + +### Patch Changes + +- 187acc55: update vinxi, fix #1247, fix #1261 +- 92e8f8f8: fix formData and action issue for cloud runtimes +- 27d60cd2: better GET signature +- 24a4eb2e: GET server functions, response returns, cache to use GET diff --git a/packages/start/package.json b/packages/start/package.json index 4912b45ea..18ee6a25a 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -1,6 +1,6 @@ { "name": "@solidjs/start", - "version": "0.4.10", + "version": "0.4.11", "type": "module", "author": "Ryan Carniato", "publishConfig": { @@ -46,7 +46,7 @@ } }, "devDependencies": { - "solid-js": "^1.8.11", + "solid-js": "^1.8.12", "vinxi": "^0.1.6" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 603446f36..ca40a012e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,7 +79,7 @@ importers: specifier: ^7.5.4 version: 7.5.4 solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 solid-mdx: specifier: ^0.0.7 @@ -115,7 +115,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -133,7 +133,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -151,7 +151,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -166,7 +166,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -181,7 +181,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 unstorage: specifier: 1.10.1 @@ -199,7 +199,7 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 unstorage: specifier: 1.10.1 @@ -227,7 +227,7 @@ importers: specifier: ^3.6.7 version: 3.6.7(@mdx-js/mdx@2.3.0) solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 solid-mdx: specifier: ^0.0.7 @@ -251,7 +251,7 @@ importers: specifier: ^5.7.0 version: 5.7.0 solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -273,11 +273,11 @@ importers: specifier: ^0.4.10 version: link:../../packages/start solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 solid-styled: specifier: ^0.8.2 - version: 0.8.2(@babel/core@7.23.7)(solid-js@1.8.12) + version: 0.8.2(@babel/core@7.22.9)(solid-js@1.8.12) vinxi: specifier: ^0.1.6 version: 0.1.6(@types/node@20.10.1)(debug@4.3.4)(preact@10.19.3)(rollup@3.28.1) @@ -300,7 +300,7 @@ importers: specifier: ^8.4.26 version: 8.4.26 solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 tailwindcss: specifier: ^3.3.3 @@ -330,7 +330,7 @@ importers: specifier: ^10.44.1 version: 10.44.1 solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 valibot: specifier: ^0.23.0 @@ -366,7 +366,7 @@ importers: specifier: ^24.0.0 version: 24.0.0 solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 typescript: specifier: ^5.3.3 @@ -526,7 +526,7 @@ importers: version: 2.9.1(@testing-library/jest-dom@6.1.5)(solid-js@1.8.12)(vite@4.5.0) devDependencies: solid-js: - specifier: ^1.8.11 + specifier: ^1.8.12 version: 1.8.12 vinxi: specifier: ^0.1.6 @@ -8595,7 +8595,7 @@ packages: '@babel/types': 7.23.6 solid-js: 1.8.12 - /solid-styled@0.8.2(@babel/core@7.23.7)(solid-js@1.8.12): + /solid-styled@0.8.2(@babel/core@7.22.9)(solid-js@1.8.12): resolution: {integrity: sha512-/qVzRt2012J69Q43A/7rZAPDIAqzIcghx5xmgfD9lIc2s1yfvdzFtKsFpl4GySn5XbwvHAYlTnkPwJ/Xm5f+og==} engines: {node: '>=12'} peerDependencies: @@ -8605,7 +8605,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.22.9 '@babel/helper-module-imports': 7.22.15 '@babel/traverse': 7.23.7 '@babel/types': 7.23.6 @@ -9901,7 +9901,7 @@ packages: dependencies: '@babel/core': 7.22.9 '@rollup/pluginutils': 5.1.0(rollup@3.28.1) - solid-styled: 0.8.2(@babel/core@7.23.7)(solid-js@1.8.12) + solid-styled: 0.8.2(@babel/core@7.22.9)(solid-js@1.8.12) vite: 4.5.0(@types/node@20.10.1) transitivePeerDependencies: - rollup From 5907d5104ece94dfc2582f0b0f7a43897ba04ae1 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Fri, 26 Jan 2024 10:25:55 -0800 Subject: [PATCH 3/4] fix #1250 update todomvc example not to depend on existing unstorage stash --- examples/todomvc/.data/todos/counter | 1 - examples/todomvc/.data/todos/data | 1 - examples/todomvc/src/lib/api.ts | 74 ++++++++++++++++++---------- 3 files changed, 48 insertions(+), 28 deletions(-) delete mode 100644 examples/todomvc/.data/todos/counter delete mode 100644 examples/todomvc/.data/todos/data diff --git a/examples/todomvc/.data/todos/counter b/examples/todomvc/.data/todos/counter deleted file mode 100644 index c22708346..000000000 --- a/examples/todomvc/.data/todos/counter +++ /dev/null @@ -1 +0,0 @@ -0 \ No newline at end of file diff --git a/examples/todomvc/.data/todos/data b/examples/todomvc/.data/todos/data deleted file mode 100644 index 0637a088a..000000000 --- a/examples/todomvc/.data/todos/data +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/examples/todomvc/src/lib/api.ts b/examples/todomvc/src/lib/api.ts index 398e7f126..27df52a7f 100644 --- a/examples/todomvc/src/lib/api.ts +++ b/examples/todomvc/src/lib/api.ts @@ -11,49 +11,71 @@ const storage = createStorage({ base: "./.data" }) }); -// storage.setItem("todos:data", []); -// storage.setItem("todos:counter", 0); export async function getTodosFn() { - return await storage.getItem("todos:data") as Todo[]; + return ((await storage.getItem("todos:data")) as Todo[]) || []; } export async function addTodoFn(formData: FormData) { const title = formData.get("title") as string; - const [{value: todos}, {value: index}] = await storage.getItems(["todos:data", "todos:counter"]); + let [{ value: todos }, { value: index }] = await storage.getItems([ + "todos:data", + "todos:counter" + ]); + // default value for first write + todos = todos || []; + index = index || 0; await Promise.all([ - storage.setItem("todos:data", [...todos as Todo[], { id: index as number, title, completed: false }]), - storage.setItem("todos:counter", index as number + 1) + storage.setItem("todos:data", [ + ...(todos as Todo[]), + { id: index as number, title, completed: false } + ]), + storage.setItem("todos:counter", (index as number) + 1) ]); } export async function removeTodoFn(id: number) { - const todos = await storage.getItem("todos:data") as Todo[]; - await storage.setItem("todos:data", todos.filter(todo => todo.id !== id)); + const todos = (await storage.getItem("todos:data")) as Todo[]; + await storage.setItem( + "todos:data", + todos.filter(todo => todo.id !== id) + ); } export async function toggleTodoFn(id: number) { - const todos = await storage.getItem("todos:data") as Todo[]; - await storage.setItem("todos:data", todos.map(todo => { - if (todo.id === id) { - todo.completed = !todo.completed; - } - return todo; - })); + const todos = (await storage.getItem("todos:data")) as Todo[]; + await storage.setItem( + "todos:data", + todos.map(todo => { + if (todo.id === id) { + todo.completed = !todo.completed; + } + return todo; + }) + ); } export async function editTodoFn(id: number, formData: FormData) { const title = String(formData.get("title")); - const todos = await storage.getItem("todos:data") as Todo[]; - await storage.setItem("todos:data", todos.map(todo => { - if (todo.id === id) { - todo.title = title; - } - return todo; - })); + const todos = (await storage.getItem("todos:data")) as Todo[]; + await storage.setItem( + "todos:data", + todos.map(todo => { + if (todo.id === id) { + todo.title = title; + } + return todo; + }) + ); } export async function clearCompletedFn() { - const todos = await storage.getItem("todos:data") as Todo[]; - await storage.setItem("todos:data", todos.filter(todo => !todo.completed)); + const todos = (await storage.getItem("todos:data")) as Todo[]; + await storage.setItem( + "todos:data", + todos.filter(todo => !todo.completed) + ); } export async function toggleAllFn(completed: boolean) { - const todos = await storage.getItem("todos:data") as Todo[]; - await storage.setItem("todos:data", todos.map(todo => ({ ...todo, completed }))); + const todos = (await storage.getItem("todos:data")) as Todo[]; + await storage.setItem( + "todos:data", + todos.map(todo => ({ ...todo, completed })) + ); } From 54501ea6d0491f40e043fbafc92783b89e9db0bc Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Fri, 26 Jan 2024 11:19:58 -0800 Subject: [PATCH 4/4] fix #1278 wrong types for onBeforeResponse middleware --- .changeset/hip-hounds-tell.md | 5 +++++ packages/start/server/middleware.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/hip-hounds-tell.md diff --git a/.changeset/hip-hounds-tell.md b/.changeset/hip-hounds-tell.md new file mode 100644 index 000000000..8ee03636f --- /dev/null +++ b/.changeset/hip-hounds-tell.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +fix #1278 wrong types for onBeforeResponse middleware diff --git a/packages/start/server/middleware.ts b/packages/start/server/middleware.ts index 2e0fa8314..0ace18775 100644 --- a/packages/start/server/middleware.ts +++ b/packages/start/server/middleware.ts @@ -53,7 +53,7 @@ type RequestMiddleware = (event: FetchEvent) => Response | Promise | v type ResponseMiddleware = ( event: FetchEvent, - response: Response + response: { body: any } ) => Response | Promise | void | Promise; function wrapRequestMiddleware(onRequest: RequestMiddleware) {