From 19149324c29632fd2f6db1995afe080f6317f504 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Fri, 18 Aug 2023 10:53:49 -0700 Subject: [PATCH 001/163] initial wip --- examples/bare-old/README.md | 30 + examples/bare-old/package.json | 26 + examples/bare-old/public/favicon.ico | Bin 0 -> 664 bytes examples/bare-old/src/components/Counter.css | 20 + examples/bare-old/src/components/Counter.tsx | 11 + examples/bare-old/src/entry-client.tsx | 3 + examples/bare-old/src/entry-server.tsx | 3 + examples/bare-old/src/root.css | 40 + examples/bare-old/src/root.tsx | 39 + examples/bare-old/src/routes/[...404].tsx | 19 + examples/bare-old/src/routes/index.tsx | 19 + examples/bare-old/tsconfig.json | 17 + examples/{bare => bare-old}/vite.config.ts | 0 examples/bare/package.json | 23 +- examples/bare/src/entry-client.tsx | 2 +- examples/bare/src/entry-server.tsx | 4 +- examples/bare/src/root.css | 45 +- examples/bare/src/root.tsx | 46 +- examples/bare/src/routes/[...404].tsx | 6 +- examples/bare/src/routes/index.tsx | 4 +- examples/bare/tsconfig.json | 29 +- examples/bare/vite.config.js | 3 + examples/with-vitest/package.json | 2 +- package.json | 4 +- packages/start-aws/README.md | 29 - packages/start-aws/entry-edge.mjs | 67 - packages/start-aws/entry.mjs | 77 - packages/start-aws/index.mjs | 56 - packages/start-aws/package.json | 24 - .../LICENSE.miniflare.md | 9 - packages/start-cloudflare-pages/README.md | 37 - packages/start-cloudflare-pages/dev-server.js | 153 -- packages/start-cloudflare-pages/entry.js | 90 - packages/start-cloudflare-pages/index.d.ts | 14 - packages/start-cloudflare-pages/index.js | 177 -- packages/start-cloudflare-pages/package.json | 34 - .../start-cloudflare-pages/spa-handler.js | 9 - .../LICENSE.miniflare.md | 9 - packages/start-cloudflare-workers/README.md | 25 - .../start-cloudflare-workers/dev-server.js | 153 -- packages/start-cloudflare-workers/entry.js | 104 - packages/start-cloudflare-workers/index.d.ts | 7 - packages/start-cloudflare-workers/index.js | 213 -- .../start-cloudflare-workers/package.json | 35 - packages/start-deno/README.md | 33 - packages/start-deno/entry.js | 74 - packages/start-deno/index.js | 59 - packages/start-deno/package.json | 24 - packages/start-netlify/README.md | 34 - packages/start-netlify/entry-edge.js | 35 - packages/start-netlify/entry.js | 123 -- packages/start-netlify/index.js | 101 - packages/start-netlify/package.json | 27 - .../start-new/entry-client/StartClient.tsx | 46 + packages/start-new/entry-client/index.tsx | 2 + packages/start-new/entry-client/mount.ts | 6 + .../start-new/entry-server/ServerContext.tsx | 6 + .../start-new/entry-server/StartServer.tsx | 61 + packages/start-new/entry-server/handler.tsx | 19 + packages/start-new/entry-server/index.tsx | 2 + packages/start-new/index.js | 105 + packages/start-new/package.json | 48 + packages/start-new/root/FileRoutes.tsx | 27 + packages/start-new/root/Meta.tsx | 11 + packages/start-new/root/index.tsx | 1 + packages/start-new/root/routes.ts | 33 + packages/start-new/tsconfig.json | 16 + packages/start-new/utils/assets.js | 36 + packages/start-new/utils/lazyRoute.jsx | 49 + packages/start-static/README.md | 5 - packages/start-static/entry.js | 35 - packages/start-static/index.d.ts | 1 - packages/start-static/index.js | 77 - packages/start-static/package.json | 27 - packages/start-vercel/README.md | 88 - packages/start-vercel/entry-edge.js | 40 - packages/start-vercel/entry-prerender.js | 114 - packages/start-vercel/entry.js | 108 - packages/start-vercel/index.d.ts | 18 - packages/start-vercel/index.js | 343 --- packages/start-vercel/package.json | 28 - packages/start/package.json | 39 +- pnpm-lock.yaml | 1856 ++++++++++++----- test/template/package.json | 8 +- 84 files changed, 2062 insertions(+), 3420 deletions(-) create mode 100644 examples/bare-old/README.md create mode 100644 examples/bare-old/package.json create mode 100644 examples/bare-old/public/favicon.ico create mode 100644 examples/bare-old/src/components/Counter.css create mode 100644 examples/bare-old/src/components/Counter.tsx create mode 100644 examples/bare-old/src/entry-client.tsx create mode 100644 examples/bare-old/src/entry-server.tsx create mode 100644 examples/bare-old/src/root.css create mode 100644 examples/bare-old/src/root.tsx create mode 100644 examples/bare-old/src/routes/[...404].tsx create mode 100644 examples/bare-old/src/routes/index.tsx create mode 100644 examples/bare-old/tsconfig.json rename examples/{bare => bare-old}/vite.config.ts (100%) create mode 100644 examples/bare/vite.config.js delete mode 100644 packages/start-aws/README.md delete mode 100644 packages/start-aws/entry-edge.mjs delete mode 100644 packages/start-aws/entry.mjs delete mode 100644 packages/start-aws/index.mjs delete mode 100644 packages/start-aws/package.json delete mode 100644 packages/start-cloudflare-pages/LICENSE.miniflare.md delete mode 100644 packages/start-cloudflare-pages/README.md delete mode 100644 packages/start-cloudflare-pages/dev-server.js delete mode 100644 packages/start-cloudflare-pages/entry.js delete mode 100644 packages/start-cloudflare-pages/index.d.ts delete mode 100644 packages/start-cloudflare-pages/index.js delete mode 100644 packages/start-cloudflare-pages/package.json delete mode 100644 packages/start-cloudflare-pages/spa-handler.js delete mode 100644 packages/start-cloudflare-workers/LICENSE.miniflare.md delete mode 100644 packages/start-cloudflare-workers/README.md delete mode 100644 packages/start-cloudflare-workers/dev-server.js delete mode 100644 packages/start-cloudflare-workers/entry.js delete mode 100644 packages/start-cloudflare-workers/index.d.ts delete mode 100644 packages/start-cloudflare-workers/index.js delete mode 100644 packages/start-cloudflare-workers/package.json delete mode 100644 packages/start-deno/README.md delete mode 100644 packages/start-deno/entry.js delete mode 100644 packages/start-deno/index.js delete mode 100644 packages/start-deno/package.json delete mode 100644 packages/start-netlify/README.md delete mode 100644 packages/start-netlify/entry-edge.js delete mode 100644 packages/start-netlify/entry.js delete mode 100644 packages/start-netlify/index.js delete mode 100644 packages/start-netlify/package.json create mode 100644 packages/start-new/entry-client/StartClient.tsx create mode 100644 packages/start-new/entry-client/index.tsx create mode 100644 packages/start-new/entry-client/mount.ts create mode 100644 packages/start-new/entry-server/ServerContext.tsx create mode 100644 packages/start-new/entry-server/StartServer.tsx create mode 100644 packages/start-new/entry-server/handler.tsx create mode 100644 packages/start-new/entry-server/index.tsx create mode 100644 packages/start-new/index.js create mode 100644 packages/start-new/package.json create mode 100644 packages/start-new/root/FileRoutes.tsx create mode 100644 packages/start-new/root/Meta.tsx create mode 100644 packages/start-new/root/index.tsx create mode 100644 packages/start-new/root/routes.ts create mode 100644 packages/start-new/tsconfig.json create mode 100644 packages/start-new/utils/assets.js create mode 100644 packages/start-new/utils/lazyRoute.jsx delete mode 100644 packages/start-static/README.md delete mode 100644 packages/start-static/entry.js delete mode 100644 packages/start-static/index.d.ts delete mode 100644 packages/start-static/index.js delete mode 100644 packages/start-static/package.json delete mode 100644 packages/start-vercel/README.md delete mode 100644 packages/start-vercel/entry-edge.js delete mode 100644 packages/start-vercel/entry-prerender.js delete mode 100644 packages/start-vercel/entry.js delete mode 100644 packages/start-vercel/index.d.ts delete mode 100644 packages/start-vercel/index.js delete mode 100644 packages/start-vercel/package.json diff --git a/examples/bare-old/README.md b/examples/bare-old/README.md new file mode 100644 index 000000000..01282bfab --- /dev/null +++ b/examples/bare-old/README.md @@ -0,0 +1,30 @@ +# SolidStart + +Everything you need to build a Solid project, powered by [`solid-start`](https://start.solidjs.com); + +## Creating a project + +```bash +# create a new project in the current directory +npm init solid@latest + +# create a new project in my-app +npm init solid@latest my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```bash +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +## Building + +Solid apps are built with _adapters_, which optimise your project for deployment to different environments. + +By default, `npm run build` will generate a Node app that you can run with `npm start`. To use a different adapter, add it to the `devDependencies` in `package.json` and specify in your `vite.config.js`. diff --git a/examples/bare-old/package.json b/examples/bare-old/package.json new file mode 100644 index 000000000..b51321a06 --- /dev/null +++ b/examples/bare-old/package.json @@ -0,0 +1,26 @@ +{ + "name": "example-bare-old", + "scripts": { + "dev": "solid-start dev", + "build": "solid-start build", + "start": "solid-start start" + }, + "type": "module", + "devDependencies": { + "@types/node": "^18.16.19", + "esbuild": "^0.14.54", + "postcss": "^8.4.26", + "solid-start-node": "^0.3.0", + "typescript": "^4.9.5", + "vite": "^4.4.6" + }, + "dependencies": { + "@solidjs/meta": "^0.28.5", + "@solidjs/router": "^0.8.2", + "solid-js": "^1.7.11", + "solid-start": "^0.3.3" + }, + "engines": { + "node": ">=18" + } +} diff --git a/examples/bare-old/public/favicon.ico b/examples/bare-old/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fb282da0719ef6ab4c1732df93be6216b0d85520 GIT binary patch literal 664 zcmV;J0%!e+P)m9ebk1R zejT~~6f_`?;`cEd!+`7(hw@%%2;?RN8gX-L?z6cM( zKoG@&w+0}f@Pfvwc+deid)qgE!L$ENKYjViZC_Zcr>L(`2oXUT8f0mRQ(6-=HN_Ai zeBBEz3WP+1Cw`m!49Wf!MnZzp5bH8VkR~BcJ1s-j90TAS2Yo4j!J|KodxYR%3Numw zA?gq6e`5@!W~F$_De3yt&uspo&2yLb$(NwcPPI-4LGc!}HdY%jfq@AFs8LiZ4k(p} zZ!c9o+qbWYs-Mg zgdyTALzJX&7QXHdI_DPTFL33;w}88{e6Zk)MX0kN{3DX9uz#O_L58&XRH$Nvvu;fO zf&)7@?C~$z1K<>j0ga$$MIg+5xN;eQ?1-CA=`^Y169@Ab6!vcaNP=hxfKN%@Ly^R* zK1iv*s1Yl6_dVyz8>ZqYhz6J4|3fQ@2LQeX@^%W(B~8>=MoEmBEGGD1;gHXlpX>!W ym)!leA2L@`cpb^hy)P75=I!`pBYxP7<2VfQ3j76qLgzIA0000 setCount(count() + 1)}> + Clicks: {count()} + + ); +} diff --git a/examples/bare-old/src/entry-client.tsx b/examples/bare-old/src/entry-client.tsx new file mode 100644 index 000000000..942284855 --- /dev/null +++ b/examples/bare-old/src/entry-client.tsx @@ -0,0 +1,3 @@ +import { mount, StartClient } from "solid-start/entry-client"; + +mount(() => , document); diff --git a/examples/bare-old/src/entry-server.tsx b/examples/bare-old/src/entry-server.tsx new file mode 100644 index 000000000..e5cf9c2c7 --- /dev/null +++ b/examples/bare-old/src/entry-server.tsx @@ -0,0 +1,3 @@ +import { createHandler, renderAsync, StartServer } from "solid-start/entry-server"; + +export default createHandler(renderAsync(event => )); diff --git a/examples/bare-old/src/root.css b/examples/bare-old/src/root.css new file mode 100644 index 000000000..5955a5a79 --- /dev/null +++ b/examples/bare-old/src/root.css @@ -0,0 +1,40 @@ +body { + font-family: Gordita, Roboto, Oxygen, Ubuntu, Cantarell, + 'Open Sans', 'Helvetica Neue', sans-serif; +} + +a { + margin-right: 1rem; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h1 { + color: #335d92; + text-transform: uppercase; + font-size: 4rem; + font-weight: 100; + line-height: 1.1; + margin: 4rem auto; + max-width: 14rem; +} + +p { + max-width: 14rem; + margin: 2rem auto; + line-height: 1.35; +} + +@media (min-width: 480px) { + h1 { + max-width: none; + } + + p { + max-width: none; + } +} diff --git a/examples/bare-old/src/root.tsx b/examples/bare-old/src/root.tsx new file mode 100644 index 000000000..f7e50156f --- /dev/null +++ b/examples/bare-old/src/root.tsx @@ -0,0 +1,39 @@ +// @refresh reload +import { Suspense } from "solid-js"; +import { + A, + Body, + ErrorBoundary, + FileRoutes, + Head, + Html, + Meta, + Routes, + Scripts, + Title +} from "solid-start"; +import "./root.css"; + +export default function Root() { + return ( + + + SolidStart - Bare + + + + + + + Index + About + + + + + + + + + ); +} diff --git a/examples/bare-old/src/routes/[...404].tsx b/examples/bare-old/src/routes/[...404].tsx new file mode 100644 index 000000000..108946012 --- /dev/null +++ b/examples/bare-old/src/routes/[...404].tsx @@ -0,0 +1,19 @@ +import { Title } from "solid-start"; +import { HttpStatusCode } from "solid-start/server"; + +export default function NotFound() { + return ( +
+ Not Found + +

Page Not Found

+

+ Visit{" "} + + start.solidjs.com + {" "} + to learn how to build SolidStart apps. +

+
+ ); +} diff --git a/examples/bare-old/src/routes/index.tsx b/examples/bare-old/src/routes/index.tsx new file mode 100644 index 000000000..cb6e01096 --- /dev/null +++ b/examples/bare-old/src/routes/index.tsx @@ -0,0 +1,19 @@ +import { Title } from "solid-start"; +import Counter from "~/components/Counter"; + +export default function Home() { + return ( +
+ Hello World +

Hello world!

+ +

+ Visit{" "} + + start.solidjs.com + {" "} + to learn how to build SolidStart apps. +

+
+ ); +} diff --git a/examples/bare-old/tsconfig.json b/examples/bare-old/tsconfig.json new file mode 100644 index 000000000..d888d620c --- /dev/null +++ b/examples/bare-old/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "jsxImportSource": "solid-js", + "jsx": "preserve", + "strict": true, + "types": ["solid-start/env"], + "baseUrl": "./", + "paths": { + "~/*": ["./src/*"] + } + } +} diff --git a/examples/bare/vite.config.ts b/examples/bare-old/vite.config.ts similarity index 100% rename from examples/bare/vite.config.ts rename to examples/bare-old/vite.config.ts diff --git a/examples/bare/package.json b/examples/bare/package.json index f0eae38b2..19ce0aa88 100644 --- a/examples/bare/package.json +++ b/examples/bare/package.json @@ -1,26 +1,17 @@ { "name": "example-bare", - "scripts": { - "dev": "solid-start dev", - "build": "solid-start build", - "start": "solid-start start" - }, "type": "module", - "devDependencies": { - "@types/node": "^18.16.19", - "esbuild": "^0.14.54", - "postcss": "^8.4.26", - "solid-start-node": "^0.3.0", - "typescript": "^4.9.5", - "vite": "^4.4.6" + "scripts": { + "dev": "vinxi dev", + "build": "vinxi build", + "start": "vinxi start" }, "dependencies": { "@solidjs/meta": "^0.28.5", "@solidjs/router": "^0.8.2", + "autoprefixer": "^10.4.14", "solid-js": "^1.7.11", - "solid-start": "^0.3.3" - }, - "engines": { - "node": ">=18" + "vinxi": "0.0.15", + "@solidjs/start": "workspace:^" } } diff --git a/examples/bare/src/entry-client.tsx b/examples/bare/src/entry-client.tsx index 942284855..20684e847 100644 --- a/examples/bare/src/entry-client.tsx +++ b/examples/bare/src/entry-client.tsx @@ -1,3 +1,3 @@ -import { mount, StartClient } from "solid-start/entry-client"; +import { mount, StartClient } from "@solidjs/start"; mount(() => , document); diff --git a/examples/bare/src/entry-server.tsx b/examples/bare/src/entry-server.tsx index e5cf9c2c7..b2ff998e5 100644 --- a/examples/bare/src/entry-server.tsx +++ b/examples/bare/src/entry-server.tsx @@ -1,3 +1,3 @@ -import { createHandler, renderAsync, StartServer } from "solid-start/entry-server"; +import { createHandler, StartServer } from "@solidjs/start"; -export default createHandler(renderAsync(event => )); +export default createHandler((context) => ); diff --git a/examples/bare/src/root.css b/examples/bare/src/root.css index 5955a5a79..6f7cc3111 100644 --- a/examples/bare/src/root.css +++ b/examples/bare/src/root.css @@ -1,40 +1,7 @@ -body { - font-family: Gordita, Roboto, Oxygen, Ubuntu, Cantarell, - 'Open Sans', 'Helvetica Neue', sans-serif; -} +@tailwind base; +@tailwind components; +@tailwind utilities; -a { - margin-right: 1rem; -} - -main { - text-align: center; - padding: 1em; - margin: 0 auto; -} - -h1 { - color: #335d92; - text-transform: uppercase; - font-size: 4rem; - font-weight: 100; - line-height: 1.1; - margin: 4rem auto; - max-width: 14rem; -} - -p { - max-width: 14rem; - margin: 2rem auto; - line-height: 1.35; -} - -@media (min-width: 480px) { - h1 { - max-width: none; - } - - p { - max-width: none; - } -} +* { + color: black; +} \ No newline at end of file diff --git a/examples/bare/src/root.tsx b/examples/bare/src/root.tsx index f7e50156f..1c6c7201f 100644 --- a/examples/bare/src/root.tsx +++ b/examples/bare/src/root.tsx @@ -1,39 +1,21 @@ // @refresh reload +import { A } from "@solidjs/router"; import { Suspense } from "solid-js"; -import { - A, - Body, - ErrorBoundary, - FileRoutes, - Head, - Html, - Meta, - Routes, - Scripts, - Title -} from "solid-start"; import "./root.css"; -export default function Root() { +export default function App(props) { return ( - - - SolidStart - Bare - - - - - - - Index - About - - - - - - - - + + + + {props.assets} + + + Index + About + {props.children} + {props.scripts} + + ); } diff --git a/examples/bare/src/routes/[...404].tsx b/examples/bare/src/routes/[...404].tsx index 108946012..313fedcc5 100644 --- a/examples/bare/src/routes/[...404].tsx +++ b/examples/bare/src/routes/[...404].tsx @@ -1,11 +1,11 @@ -import { Title } from "solid-start"; -import { HttpStatusCode } from "solid-start/server"; +import { Title } from "@solidjs/meta"; +// import { HttpStatusCode } from "@solidjs/start/server"; export default function NotFound() { return (
Not Found - + {/* */}

Page Not Found

Visit{" "} diff --git a/examples/bare/src/routes/index.tsx b/examples/bare/src/routes/index.tsx index cb6e01096..20c467089 100644 --- a/examples/bare/src/routes/index.tsx +++ b/examples/bare/src/routes/index.tsx @@ -1,5 +1,5 @@ -import { Title } from "solid-start"; -import Counter from "~/components/Counter"; +import { Title } from "@solidjs/meta"; +import Counter from "../components/Counter"; export default function Home() { return ( diff --git a/examples/bare/tsconfig.json b/examples/bare/tsconfig.json index d888d620c..e0808fd3f 100644 --- a/examples/bare/tsconfig.json +++ b/examples/bare/tsconfig.json @@ -1,17 +1,16 @@ { - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "jsxImportSource": "solid-js", - "jsx": "preserve", - "strict": true, - "types": ["solid-start/env"], - "baseUrl": "./", - "paths": { - "~/*": ["./src/*"] - } - } + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + "allowJs": true, + "checkJs": true, + "noEmit": true, + "types": ["vinxi/client"], + "isolatedModules": true + } } diff --git a/examples/bare/vite.config.js b/examples/bare/vite.config.js new file mode 100644 index 000000000..6c55908a9 --- /dev/null +++ b/examples/bare/vite.config.js @@ -0,0 +1,3 @@ +import { defineConfig } from "@solidjs/start"; + +export default defineConfig(); diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index a7fb7ded0..362d81290 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -19,7 +19,7 @@ "@vitest/coverage-c8": "^0.26.3", "@vitest/ui": "^0.26.3", "jsdom": "^20.0.3", - "solid-js": "^1.7.9", + "solid-js": "^1.7.11", "solid-start": "^0.3.0", "solid-start-node": "^0.3.0", "typescript": "^4.9.5", diff --git a/package.json b/package.json index 7658715c6..f4f59deed 100644 --- a/package.json +++ b/package.json @@ -43,12 +43,10 @@ "rimraf": "^3.0.2", "rollup": "^3.26.2", "semver": "^7.5.4", - "solid-js": "^1.7.9", + "solid-js": "^1.7.11", "solid-mdx": "^0.0.6", "solid-start": "workspace:*", - "solid-start-cloudflare-workers": "workspace:*", "solid-start-mdx": "workspace:*", - "solid-start-netlify": "workspace:*", "solid-start-node": "workspace:*", "tailwindcss": "^3.3.3", "tippy.js": "^6.3.7", diff --git a/packages/start-aws/README.md b/packages/start-aws/README.md deleted file mode 100644 index d62267ab7..000000000 --- a/packages/start-aws/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# start-aws - -Adapter for Solid apps that work on AWS Lambda and AWS Lambda@Edge. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. - -## Usage - -Add the adapter in your `vite.config.js` file. By default this deploys to an AWS Lambda Function. - -```js -import solid from "solid-start/vite"; -import aws from "solid-start-aws"; - -export default defineConfig({ - plugins: [solid({ adapter: aws() })] -}); -``` - -To deploy to the edge pass in the edge option. - -```js -import solid from "solid-start/vite"; -import aws from "solid-start-aws"; - -export default defineConfig({ - plugins: [solid({ adapter: aws({ edge: true }) })] -}); -``` diff --git a/packages/start-aws/entry-edge.mjs b/packages/start-aws/entry-edge.mjs deleted file mode 100644 index c04a6dd47..000000000 --- a/packages/start-aws/entry-edge.mjs +++ /dev/null @@ -1,67 +0,0 @@ -import "solid-start/node/globals.js"; -import manifest from "../../dist/client/route-manifest.json"; -import server from "./entry-server"; - -export async function handler(event) { - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return server({ - request, - clientAddress: event.Records[0].cf.request.clientIp, - locals: {}, - env: { manifest }, - fetch: internalFetch - }); - } - - const response = await server({ - request: createRequest(event), - clientAddress: event.Records[0].cf.request.clientIp, - locals: {}, - env: { manifest }, - fetch: internalFetch - }); - - const responseHeaders = {}; - for (const [name, value] of response.headers) { - responseHeaders[name] = [ - { - key: name, - value: value, - }, - ]; - } - - return { - status: response.status, - statusDescription: "OK", - headers: responseHeaders, - body: await response.text(), - }; -} - -function createRequest(event) { - const record = event.Records[0].cf; - - // Build URL - const url = new URL( - record.request.uri, - `https://${record.config.distributionDomainName}` - ); - - // Build headers - const headers = new Headers(); - for (const [key, value] of Object.entries(record.request.headers)) { - headers.append(key, value[0]); - } - - return new Request(url, { - method: record.request.method, - headers, - }); -} diff --git a/packages/start-aws/entry.mjs b/packages/start-aws/entry.mjs deleted file mode 100644 index 9aad1c8a3..000000000 --- a/packages/start-aws/entry.mjs +++ /dev/null @@ -1,77 +0,0 @@ -import { splitCookiesString } from "solid-start/node/fetch.js"; -import "solid-start/node/globals.js"; -import manifest from "../../dist/client/route-manifest.json"; -import server from "./entry-server"; - -export async function handler(event) { - const { requestContext } = event - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return server({ - request, - clientAddress: - requestContext.identity?.sourceIp - ?? requestContext.http?.sourceIp, - locals: {}, - env: { manifest }, - fetch: internalFetch - }); - } - - const response = await server({ - request: createRequest(event), - clientAddress: - requestContext.identity?.sourceIp - ?? requestContext.http?.sourceIp, - locals: {}, - env: { manifest }, - fetch: internalFetch - }); - - const headers = {}; - for (const [name, value] of response.headers) { - headers[name] = value; - } - if (response.headers.has('set-cookie')) { - const header = /** @type {string} */ (response.headers.get('set-cookie')); - // @ts-expect-error - headers['set-cookie'] = splitCookiesString(header); - } - - return { - statusCode: response.status, - headers: headers, - body: await response.text(), - }; -} - -function createRequest(event) { - const url = new URL( - event.rawPath, - `https://${event.requestContext.domainName}` - ); - - const headers = new Headers(); - for (const [key, value] of Object.entries(event.headers)) { - headers.append(key, value); - } - - const init = { - method: event.requestContext.http.method, - headers, - }; - - if (event.httpMethod !== "GET" && event.httpMethod !== "HEAD" && event.body) { - init.body = event.isBase64Encoded - ? Buffer.from(event.body, "base64").toString() - : event.body; - } - - return new Request(url.href, init); -} diff --git a/packages/start-aws/index.mjs b/packages/start-aws/index.mjs deleted file mode 100644 index 0c1b680c9..000000000 --- a/packages/start-aws/index.mjs +++ /dev/null @@ -1,56 +0,0 @@ -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { copyFileSync, renameSync } from "fs"; -import { join } from "path"; -import { rollup } from "rollup"; -import { fileURLToPath } from "url"; - -export default function ({ edge } = {}) { - return { - name: "aws", - start() {}, - async build(config, builder) { - const __dirname = fileURLToPath(new URL(".", import.meta.url)); - - // SSR Edge Function - if (!config.solidOptions.ssr) { - await builder.spaClient(join(config.root, "dist", "client")); - await builder.server(join(config.root, ".solid", "server")); - } else if (config.solidOptions.islands) { - await builder.islandsClient(join(config.root, "dist", "client")); - await builder.server(join(config.root, ".solid", "server")); - } else { - await builder.client(join(config.root, "dist", "client")); - await builder.server(join(config.root, ".solid", "server")); - } - - copyFileSync( - join(__dirname, edge ? "entry-edge.mjs" : "entry.mjs"), - join(config.root, ".solid", "server", "index.mjs") - ); - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "index.mjs"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: ["node", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ] - }); - await bundle.write({ - format: "esm", - dir: join(config.root, "dist", "server") - }); - renameSync( - join(config.root, "dist", "server", "index.js"), - join(config.root, "dist", "server", "index.mjs") - ); - - // closes the bundle - await bundle.close(); - } - }; -} diff --git a/packages/start-aws/package.json b/packages/start-aws/package.json deleted file mode 100644 index 406da20fb..000000000 --- a/packages/start-aws/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "solid-start-aws", - "version": "0.3.3", - "main": "./index.mjs", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "rollup": "^3.26.2", - "terser": "^5.19.0" - }, - "devDependencies": { - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start-cloudflare-pages/LICENSE.miniflare.md b/packages/start-cloudflare-pages/LICENSE.miniflare.md deleted file mode 100644 index 06fb145dc..000000000 --- a/packages/start-cloudflare-pages/LICENSE.miniflare.md +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) 2021 MrBBot - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/start-cloudflare-pages/README.md b/packages/start-cloudflare-pages/README.md deleted file mode 100644 index 6e45370aa..000000000 --- a/packages/start-cloudflare-pages/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# start-cloudflare-pages - -Adapter for Solid apps that work on Cloudflare Pages Functions. - -## Get Started - -Install `solid-start-cloudflare-pages` - -Configure it in your vite config: -```js -import { defineConfig } from "vite"; -import solid from "solid-start/vite"; -import cloudflare from "solid-start-cloudflare-pages"; - -export default defineConfig({ - plugins: [solid({ adapter: cloudflare({}) })] -}); -``` - -On build this will create a `functions` folder with our `[[path]].js` file which handles all the request. It will also `dist/public` folder with all our assets. That is the target folder for our pages application. - -## Build and Deploy - -You can run your app in dev with `npm run dev`. But when you want to build for production you can run `npm run build` and `npm run start` to try it locally. - -The easiest way to deploy is connect your git repo to Cloudflare pages in their [UI console](https://developers.cloudflare.com/pages/get-started/). You can also deploy directly by CLI by: - -```sh -> CLOUDFLARE_ACCOUNT_ID= npx wrangler pages publish dist/public --project-name= -``` - -More info about [direct deploys](https://developers.cloudflare.com/pages/how-to/use-direct-upload-with-continuous-integration/#deploy-with-wrangler). - -## More Info - -More info on configuring a cloudflare Pages Functions can be found -[here](https://developers.cloudflare.com/pages/platform/functions/) diff --git a/packages/start-cloudflare-pages/dev-server.js b/packages/start-cloudflare-pages/dev-server.js deleted file mode 100644 index 40d1ae6c3..000000000 --- a/packages/start-cloudflare-pages/dev-server.js +++ /dev/null @@ -1,153 +0,0 @@ -/*! - * Original code by MrBBot - * MIT Licensedm Copyright (c) 2021 MrBBot, see LICENSE.miniflare.md for details - */ - -import { createRequestListener } from "@miniflare/http-server"; -import { coupleWebSocket } from "@miniflare/web-sockets"; -import assert from "assert"; -import http from "http"; -import net from "net"; -import { URL } from "url"; - -async function writeResponse(response, res) { - var e_1, _a; - const headers = {}; - // eslint-disable-next-line prefer-const - for (let [key, value] of response.headers) { - key = key.toLowerCase(); - if (key === "set-cookie") { - // Multiple Set-Cookie headers should be treated as separate headers - // @ts-expect-error getAll is added to the Headers prototype by - // importing @miniflare/core - headers["set-cookie"] = response.headers.getAll("set-cookie"); - } else { - headers[key] = value; - } - } - // Use body's actual length instead of the Content-Length header if set, - // see https://github.com/cloudflare/miniflare/issues/148. We also might - // need to adjust this later for live reloading so hold onto it. - const contentLengthHeader = response.headers.get("Content-Length"); - const contentLength = contentLengthHeader === null ? null : parseInt(contentLengthHeader); - if (contentLength !== null) headers["content-length"] = contentLength; - res.writeHead(response.status, headers); - // `initialStream` is the stream we'll write the response to. It - // should end up as the first encoder, piping to the next encoder, - // and finally piping to the response: - // - // encoders[0] (initialStream) -> encoders[1] -> res - // - // Not using `pipeline(passThrough, ...encoders, res)` here as that - // gives a premature close error with server sent events. This also - // avoids creating an extra stream even when we're not encoding. - let initialStream = res; - // Response body may be null if empty - if (response.body) { - try { - for (var _b = __asyncValues(response.body), _c; (_c = await _b.next()), !_c.done; ) { - const chunk = _c.value; - if (chunk) initialStream.write(chunk); - } - } catch (e_1_1) { - e_1 = { error: e_1_1 }; - } finally { - try { - if (_c && !_c.done && (_a = _b.return)) await _a.call(_b); - } finally { - if (e_1) throw e_1.error; - } - } - } - initialStream.end(); -} - -export const DEFAULT_PORT = 8787; -const restrictedWebSocketUpgradeHeaders = ["upgrade", "connection", "sec-websocket-accept"]; - -export async function createServer(vite, mf, options) { - var _a, _b; - const listener = createRequestListener(mf); - // Setup HTTP server - const { WebSocketServer } = await import("ws"); - // Setup WebSocket servers - const webSocketServer = new WebSocketServer({ noServer: true }); - // Add custom headers included in response to WebSocket upgrade requests - const extraHeaders = new WeakMap(); - webSocketServer.on("headers", (headers, req) => { - const extra = extraHeaders.get(req); - extraHeaders.delete(req); - if (extra) { - for (const [key, value] of extra) { - if (!restrictedWebSocketUpgradeHeaders.includes(key.toLowerCase())) { - headers.push(`${key}: ${value}`); - } - } - } - }); - (_a = vite.httpServer) === null || _a === void 0 - ? void 0 - : _a.on("upgrade", async (request, socket, head) => { - var _a; - // Only interested in pathname so base URL doesn't matter - const { pathname } = new URL( - (_a = request.url) !== null && _a !== void 0 ? _a : "", - "http://localhost" - ); - if ( - pathname === "/cdn-cgi/mf/reload" || - request.headers["sec-websocket-protocol"] === "vite-hmr" - ) { - // If this is the for live-reload, handle the request ourselves - return; - } else { - // Otherwise, handle the request in the worker - const response = await listener(request); - // Check web socket response was returned - const webSocket = response === null || response === void 0 ? void 0 : response.webSocket; - if ( - (response === null || response === void 0 ? void 0 : response.status) === 101 && - webSocket - ) { - // Accept and couple the Web Socket - extraHeaders.set(request, response.headers); - webSocketServer.handleUpgrade(request, socket, head, ws => { - void coupleWebSocket(ws, webSocket); - webSocketServer.emit("connection", ws, request); - }); - return; - } - // Otherwise, we'll be returning a regular HTTP response - const res = new http.ServerResponse(request); - // `socket` is guaranteed to be an instance of `net.Socket`: - // https://nodejs.org/api/http.html#event-upgrade_1 - assert(socket instanceof net.Socket); - res.assignSocket(socket); - // If no response was provided, or it was an "ok" response, log an error - if (!response || (200 <= response.status && response.status < 300)) { - res.writeHead(500); - res.end(); - mf.log.error( - new TypeError( - "Web Socket request did not return status 101 Switching Protocols response with Web Socket" - ) - ); - return; - } - // Otherwise, send the response as is (e.g. unauthorised), - // always disabling live-reload as this is a WebSocket upgrade - await writeResponse(response, res); - } - }); - const reloadListener = () => { - // Close all existing web sockets on reload - for (const ws of webSocketServer.clients) { - ws.close(1012, "Service Restart"); - } - }; - mf.addEventListener("reload", reloadListener); - (_b = vite.httpServer) === null || _b === void 0 - ? void 0 - : _b.on("close", () => mf.removeEventListener("reload", reloadListener)); - return listener; -} diff --git a/packages/start-cloudflare-pages/entry.js b/packages/start-cloudflare-pages/entry.js deleted file mode 100644 index 38ae51039..000000000 --- a/packages/start-cloudflare-pages/entry.js +++ /dev/null @@ -1,90 +0,0 @@ -import manifest from "../../dist/public/route-manifest.json"; -import handler from "./entry-server"; - -export const onRequestGet = async ({ request, next, env }) => { - // Handle static assets - if (/\.\w+$/.test(new URL(request.url).pathname)) { - let resp = await next(request); - if (resp.status === 200 || resp.status === 304) { - return resp; - } - } - - const clientAddress = request.headers.get('cf-connecting-ip') - - env.manifest = manifest; - env.next = next; - env.getStaticHTML = async path => { - return next(); - }; - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - } - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); -}; - -export const onRequestHead = async ({ request, next, env }) => { - // Handle static assets - if (/\.\w+$/.test(new URL(request.url).pathname)) { - let resp = await next(request); - if (resp.status === 200 || resp.status === 304) { - return resp; - } - } - - env.manifest = manifest; - env.next = next; - env.getStaticHTML = async path => { - return next(); - }; - return handler({ - request: request, - env - }); -}; - -export async function onRequestPost({ request, env }) { - // Allow for POST /_m/33fbce88a9 server function - env.manifest = manifest; - return handler({ - request: request, - env - }); -} - -export async function onRequestDelete({ request, env }) { - // Allow for POST /_m/33fbce88a9 server function - env.manifest = manifest; - return handler({ - request: request, - env - }); -} - -export async function onRequestPatch({ request, env }) { - // Allow for POST /_m/33fbce88a9 server function - env.manifest = manifest; - return handler({ - request: request, - env - }); -} diff --git a/packages/start-cloudflare-pages/index.d.ts b/packages/start-cloudflare-pages/index.d.ts deleted file mode 100644 index 3eb9dd61f..000000000 --- a/packages/start-cloudflare-pages/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { MiniflareOptions } from "miniflare"; - -/** - * Create a Cloudflare Pages adapter. - * @param {MiniflareOptions} props - Options to pass to Miniflare - e.g. when using `solid-start dev`. See https://miniflare.dev/get-started/api - * @example - * // Miniflare will import `.env` from the current working directory. - * import solid from "solid-start/vite" - * import cloudflare from "solid-start-cloudflare-workers" - * solid({ - adapter: cloudflare({ envPath: true }), - }) - */ -export default function (props: MiniflareOptions): import("solid-start/vite").Adapter; diff --git a/packages/start-cloudflare-pages/index.js b/packages/start-cloudflare-pages/index.js deleted file mode 100644 index f3c7a9225..000000000 --- a/packages/start-cloudflare-pages/index.js +++ /dev/null @@ -1,177 +0,0 @@ -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { spawn } from "child_process"; -import { copyFileSync, writeFileSync } from "fs"; -import { Miniflare } from "miniflare"; -import { dirname, join } from "path"; -import { rollup } from "rollup"; -import { fileURLToPath } from "url"; -import { createServer } from "./dev-server.js"; - -export default function (miniflareOptions) { - return { - name: "cloudflare-pages", - async dev(options, vite, dev) { - const mf = new Miniflare({ - script: ` - export default { - fetch: async (request, env) => { - return await serve(request, env, globalThis); - } - } - - export const WebSocketDurableObject = WebSocketDurableObject1; - `, - globals: { - WebSocketDurableObject1: class DO { - state; - env; - promise; - constructor(state, env) { - this.state = state; - this.env = env; - this.promise = this.createProxy(state, env); - } - - async createProxy(state, env) { - const { WebSocketDurableObject } = await vite.ssrLoadModule("~start/entry-server"); - return new WebSocketDurableObject(state, env); - } - - async fetch(request) { - console.log("DURABLE_OBJECT", request.url); - - try { - let dObject = await this.promise; - return await dObject.fetch(request); - } catch (e) { - console.log("error", e); - } - } - }, - serve: async (req, e, g) => { - const { - Request, - Response, - fetch, - crypto, - Headers, - ReadableStream, - WritableStream, - WebSocketPair, - TransformStream - } = g; - Object.assign(globalThis, { - Request, - Response, - fetch, - crypto, - Headers, - ReadableStream, - WritableStream, - TransformStream, - WebSocketPair - }); - - console.log( - "🔥", - req.headers.get("Upgrade") === "websocket" ? "WEBSOCKET" : req.method, - req.url - ); - - if (req.headers.get("Upgrade") === "websocket") { - const url = new URL(req.url); - console.log(url.search); - const durableObjectId = e.DO_WEBSOCKET.idFromName(url.pathname + url.search); - const durableObjectStub = e.DO_WEBSOCKET.get(durableObjectId); - const response = await durableObjectStub.fetch(req); - return response; - } - - try { - return await dev.fetch({ - request: req, - env: e, - clientAddress: req.headers.get("cf-connecting-ip"), - locals: {} - }); - } catch (e) { - console.log("error", e); - return new Response(e.toString(), { status: 500 }); - } - } - }, - modules: true, - kvPersist: true, - ...miniflareOptions - }); - - console.log("🔥", "starting miniflare"); - - return await createServer(vite, mf, {}); - }, - start(config, { port }) { - process.env.PORT = port; - const proc = spawn("node", [ - join(config.root, "node_modules", "wrangler", "bin", "wrangler.js"), - "pages", - "dev", - "./dist/public", - "--port", - process.env.PORT - ]); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - return `http://localhost:${process.env.PORT}`; - }, - async build(config, builder) { - const __dirname = dirname(fileURLToPath(import.meta.url)); - if (!config.solidOptions.ssr) { - await builder.spaClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else if (config.solidOptions.experimental.islands) { - await builder.islandsClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else { - await builder.client(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } - - writeFileSync(join(config.root, "dist", "public", "_headers"), getHeadersFile(), "utf8"); - - copyFileSync(join(__dirname, "entry.js"), join(config.root, ".solid", "server", "server.js")); - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "server.js"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: ["worker", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ] - }); - - // or write the bundle to disk - await bundle.write({ - format: "esm", - inlineDynamicImports: true, - file: join(config.root, "functions", "[[path]].js") - }); - - // closes the bundle - await bundle.close(); - } - }; -} - -/** - * @see https://developers.cloudflare.com/pages/platform/headers/ - */ -// prettier-ignore -const getHeadersFile = () => -` -/assets/* - Cache-Control: public, immutable, max-age=31536000 -`.trim(); diff --git a/packages/start-cloudflare-pages/package.json b/packages/start-cloudflare-pages/package.json deleted file mode 100644 index 070cf5f25..000000000 --- a/packages/start-cloudflare-pages/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "solid-start-cloudflare-pages", - "version": "0.3.3", - "main": "./index.js", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@cloudflare/kv-asset-handler": "^0.2.0", - "@cloudflare/workers-types": "^3.19.0", - "@miniflare/core": "^2.14.0", - "@miniflare/http-server": "^2.14.0", - "@miniflare/shared": "^2.14.0", - "@miniflare/web-sockets": "^2.14.0", - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "@types/ws": "^8.5.5", - "miniflare": "^2.14.0", - "rollup": "^3.26.2", - "terser": "^5.19.0", - "ws": "^8.13.0" - }, - "devDependencies": { - "@types/node": "^18.16.19", - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start-cloudflare-pages/spa-handler.js b/packages/start-cloudflare-pages/spa-handler.js deleted file mode 100644 index 88e3b89a9..000000000 --- a/packages/start-cloudflare-pages/spa-handler.js +++ /dev/null @@ -1,9 +0,0 @@ -export default async function entry({ request, env }) { - // console.log(request.url.toString(), new URL("./index.html", request.url).toString()); - // console.log(env.ASSETS, env); - // const response = await env.ASSETS.fetch(new URL("./index.html", request.url)); - // console.log(response.status, response.headers); - - // return new Response(); - return env.next(); -} diff --git a/packages/start-cloudflare-workers/LICENSE.miniflare.md b/packages/start-cloudflare-workers/LICENSE.miniflare.md deleted file mode 100644 index 06fb145dc..000000000 --- a/packages/start-cloudflare-workers/LICENSE.miniflare.md +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) 2021 MrBBot - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/start-cloudflare-workers/README.md b/packages/start-cloudflare-workers/README.md deleted file mode 100644 index e7bf2dcfd..000000000 --- a/packages/start-cloudflare-workers/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# start-cloudflare-workers - -Adapter for Solid apps that work on Cloudflare Workers. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. - -## Configuration - -This adapter expects to find a [wrangler.toml](https://developers.cloudflare.com/workers/platform/sites/configuration) file in the project root. It will determine where to write static assets and the worker based on the `site.bucket` settings. - -Generate this file using `wrangler` from your project directory - -```sh -$ wrangler init -``` - -Then configure your sites build directory in the config file: - -```toml -main = "./dist/server.js" -[site] -bucket= "./dist/public" -``` - -More info on configuring a cloudflare worker site can be found [here](https://developers.cloudflare.com/workers/platform/sites/start-from-existing) \ No newline at end of file diff --git a/packages/start-cloudflare-workers/dev-server.js b/packages/start-cloudflare-workers/dev-server.js deleted file mode 100644 index 40d1ae6c3..000000000 --- a/packages/start-cloudflare-workers/dev-server.js +++ /dev/null @@ -1,153 +0,0 @@ -/*! - * Original code by MrBBot - * MIT Licensedm Copyright (c) 2021 MrBBot, see LICENSE.miniflare.md for details - */ - -import { createRequestListener } from "@miniflare/http-server"; -import { coupleWebSocket } from "@miniflare/web-sockets"; -import assert from "assert"; -import http from "http"; -import net from "net"; -import { URL } from "url"; - -async function writeResponse(response, res) { - var e_1, _a; - const headers = {}; - // eslint-disable-next-line prefer-const - for (let [key, value] of response.headers) { - key = key.toLowerCase(); - if (key === "set-cookie") { - // Multiple Set-Cookie headers should be treated as separate headers - // @ts-expect-error getAll is added to the Headers prototype by - // importing @miniflare/core - headers["set-cookie"] = response.headers.getAll("set-cookie"); - } else { - headers[key] = value; - } - } - // Use body's actual length instead of the Content-Length header if set, - // see https://github.com/cloudflare/miniflare/issues/148. We also might - // need to adjust this later for live reloading so hold onto it. - const contentLengthHeader = response.headers.get("Content-Length"); - const contentLength = contentLengthHeader === null ? null : parseInt(contentLengthHeader); - if (contentLength !== null) headers["content-length"] = contentLength; - res.writeHead(response.status, headers); - // `initialStream` is the stream we'll write the response to. It - // should end up as the first encoder, piping to the next encoder, - // and finally piping to the response: - // - // encoders[0] (initialStream) -> encoders[1] -> res - // - // Not using `pipeline(passThrough, ...encoders, res)` here as that - // gives a premature close error with server sent events. This also - // avoids creating an extra stream even when we're not encoding. - let initialStream = res; - // Response body may be null if empty - if (response.body) { - try { - for (var _b = __asyncValues(response.body), _c; (_c = await _b.next()), !_c.done; ) { - const chunk = _c.value; - if (chunk) initialStream.write(chunk); - } - } catch (e_1_1) { - e_1 = { error: e_1_1 }; - } finally { - try { - if (_c && !_c.done && (_a = _b.return)) await _a.call(_b); - } finally { - if (e_1) throw e_1.error; - } - } - } - initialStream.end(); -} - -export const DEFAULT_PORT = 8787; -const restrictedWebSocketUpgradeHeaders = ["upgrade", "connection", "sec-websocket-accept"]; - -export async function createServer(vite, mf, options) { - var _a, _b; - const listener = createRequestListener(mf); - // Setup HTTP server - const { WebSocketServer } = await import("ws"); - // Setup WebSocket servers - const webSocketServer = new WebSocketServer({ noServer: true }); - // Add custom headers included in response to WebSocket upgrade requests - const extraHeaders = new WeakMap(); - webSocketServer.on("headers", (headers, req) => { - const extra = extraHeaders.get(req); - extraHeaders.delete(req); - if (extra) { - for (const [key, value] of extra) { - if (!restrictedWebSocketUpgradeHeaders.includes(key.toLowerCase())) { - headers.push(`${key}: ${value}`); - } - } - } - }); - (_a = vite.httpServer) === null || _a === void 0 - ? void 0 - : _a.on("upgrade", async (request, socket, head) => { - var _a; - // Only interested in pathname so base URL doesn't matter - const { pathname } = new URL( - (_a = request.url) !== null && _a !== void 0 ? _a : "", - "http://localhost" - ); - if ( - pathname === "/cdn-cgi/mf/reload" || - request.headers["sec-websocket-protocol"] === "vite-hmr" - ) { - // If this is the for live-reload, handle the request ourselves - return; - } else { - // Otherwise, handle the request in the worker - const response = await listener(request); - // Check web socket response was returned - const webSocket = response === null || response === void 0 ? void 0 : response.webSocket; - if ( - (response === null || response === void 0 ? void 0 : response.status) === 101 && - webSocket - ) { - // Accept and couple the Web Socket - extraHeaders.set(request, response.headers); - webSocketServer.handleUpgrade(request, socket, head, ws => { - void coupleWebSocket(ws, webSocket); - webSocketServer.emit("connection", ws, request); - }); - return; - } - // Otherwise, we'll be returning a regular HTTP response - const res = new http.ServerResponse(request); - // `socket` is guaranteed to be an instance of `net.Socket`: - // https://nodejs.org/api/http.html#event-upgrade_1 - assert(socket instanceof net.Socket); - res.assignSocket(socket); - // If no response was provided, or it was an "ok" response, log an error - if (!response || (200 <= response.status && response.status < 300)) { - res.writeHead(500); - res.end(); - mf.log.error( - new TypeError( - "Web Socket request did not return status 101 Switching Protocols response with Web Socket" - ) - ); - return; - } - // Otherwise, send the response as is (e.g. unauthorised), - // always disabling live-reload as this is a WebSocket upgrade - await writeResponse(response, res); - } - }); - const reloadListener = () => { - // Close all existing web sockets on reload - for (const ws of webSocketServer.clients) { - ws.close(1012, "Service Restart"); - } - }; - mf.addEventListener("reload", reloadListener); - (_b = vite.httpServer) === null || _b === void 0 - ? void 0 - : _b.on("close", () => mf.removeEventListener("reload", reloadListener)); - return listener; -} diff --git a/packages/start-cloudflare-workers/entry.js b/packages/start-cloudflare-workers/entry.js deleted file mode 100644 index 36a99f381..000000000 --- a/packages/start-cloudflare-workers/entry.js +++ /dev/null @@ -1,104 +0,0 @@ -import { getAssetFromKV, MethodNotAllowedError, NotFoundError } from "@cloudflare/kv-asset-handler"; -import manifestJSON from "__STATIC_CONTENT_MANIFEST"; -import manifest from "../../dist/public/route-manifest.json"; -import handler from "./entry-server"; - -/** - * @example - * ```json - * { - * "assets/Counter.e8357007.js": "assets/Counter.e8357007.8f31e4baa4.js", - * "assets/_...404_.68cf6c56.js": "assets/_...404_.68cf6c56.baba7f4d98.js", - * "assets/about.f03466fc.js": "assets/about.f03466fc.390e8a8920.js", - * "assets/entry-client.a6d191bb.js": "assets/entry-client.a6d191bb.530bd80ed6.js", - * "assets/entry-client.b4a47d5a.css": "assets/entry-client.b4a47d5a.5df049b686.css", - * "assets/index.d3e176d7.js": "assets/index.d3e176d7.e02e4320da.js", - * "favicon.ico": "favicon.d2db245add.ico", - * "manifest.json": "manifest.10eaf89c07.json", - * "route-manifest.json": "route-manifest.4ff2febcfe.json", - * "ssr-manifest.json": "ssr-manifest.63eaf33625.json" - * } - * ``` - */ -const assetManifest = JSON.parse(manifestJSON); - -export default { - async fetch(request, env, ctx) { - const url = new URL(request.url); - const pathname = url.pathname; - const clientAddress = request.headers.get("cf-connecting-ip"); - - if (request.headers.get("Upgrade") === "websocket") { - const durableObjectId = env.DO_WEBSOCKET.idFromName(url.pathname + url.search); - const durableObjectStub = env.DO_WEBSOCKET.get(durableObjectId); - const response = await durableObjectStub.fetch(request); - return response; - } - - env.manifest = manifest; - - env.waitUntil = function (promise) { - return ctx.waitUntil(promise); - }; - - env.getStaticAsset = async request => { - const response = await getAssetFromKV( - { - request, - waitUntil: env.waitUntil - }, - { - ASSET_NAMESPACE: env.__STATIC_CONTENT, - ASSET_MANIFEST: assetManifest - } - ); - - // This path comes from Vite at `build.assetsDir` - // or `build.rollupOptions.{entryFileNames,chunkFileNames,assetFileNames}` - // https://github.com/vitejs/vite/blob/07d3fbd21e6b63a12997d201a2deb5b2f2129882/packages/vite/src/node/build.ts#L552 - const isAsset = pathname.startsWith("/assets/"); - - if (isAsset) { - response.headers.set("cache-control", "public, immutable, max-age=31536000"); - } - - return response; - }; - - env.getStaticHTML = async path => { - return await env.getStaticAsset(new Request(new URL(path + ".html", request.url.toString()))); - }; - - try { - return await env.getStaticAsset(request); - } catch (e) { - if (!(e instanceof NotFoundError || e instanceof MethodNotAllowedError)) { - return new Response("An unexpected error occurred", { status: 500 }); - } - } - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - } - - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - } -}; diff --git a/packages/start-cloudflare-workers/index.d.ts b/packages/start-cloudflare-workers/index.d.ts deleted file mode 100644 index c3cd16e5e..000000000 --- a/packages/start-cloudflare-workers/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Miniflare, MiniflareOptions } from "miniflare"; - -export default function ( - props: MiniflareOptions & { - init?: (mf: Miniflare) => void; - } -): import("solid-start/vite").Adapter; diff --git a/packages/start-cloudflare-workers/index.js b/packages/start-cloudflare-workers/index.js deleted file mode 100644 index d55bbce9f..000000000 --- a/packages/start-cloudflare-workers/index.js +++ /dev/null @@ -1,213 +0,0 @@ -/// - -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { spawn } from "child_process"; -import { copyFileSync, readFileSync, writeFileSync } from "fs"; -import { Miniflare } from "miniflare"; -import { dirname, join } from "path"; -import { rollup } from "rollup"; -import { fileURLToPath } from "url"; -import { createServer } from "./dev-server.js"; - -export default function (miniflareOptions = {}) { - return { - name: "cloudflare-workers", - async dev(options, vite, dev) { - if (options.solidOptions.experimental?.websocket) { - if (!miniflareOptions.durableObjects) { - miniflareOptions.durableObjects = {}; - } - miniflareOptions.durableObjects["DO_WEBSOCKET"] = "DO_WEBSOCKET"; - } - let durableObjects = Object.keys(miniflareOptions.durableObjects ?? {}); - let globs = {}; - durableObjects.forEach(obj => { - console.log(obj); - globs[obj + "Proxy"] = class DO { - state; - env; - promise; - constructor(state, env) { - this.state = state; - this.env = env; - this.promise = this.createProxy(state, env); - this.ctx = { - state, - storage: state.storage, - durableObject: this - }; - } - - async createProxy(state, env) { - // const all = await vite.ssrLoadModule("~start/entry-server"); - // return new all[obj](state, env); - } - - async fetch(request) { - console.log("🧬", obj, request.method, request.url); - - try { - const all = await vite.ssrLoadModule("~start/entry-server"); - console.log(all.db.prototype.fetch); - // let dObject = await this.promise; - return await all[obj].prototype.fetch.call(this, request, this.ctx); - } catch (e) { - console.log("error", e); - } - } - }; - }); - - const mf = new Miniflare({ - script: ` - export default { - fetch: async (request, env) => { - return await serve(request, env, globalThis); - } - } - - ${durableObjects.map(obj => `export const ${obj} = ${obj}Proxy;`).join("\n")} - `, - globals: { - ...globs, - serve: async (req, e, g) => { - const { - Request, - Response, - fetch, - crypto, - Headers, - ReadableStream, - WritableStream, - WebSocketPair, - TransformStream - } = g; - Object.assign(globalThis, { - Request, - Response, - fetch, - crypto, - Headers, - ReadableStream, - WritableStream, - TransformStream, - WebSocketPair - }); - - console.log( - "🔥", - req.headers.get("Upgrade") === "websocket" ? "WEBSOCKET" : req.method, - req.url - ); - - if (req.headers.get("Upgrade") === "websocket") { - const url = new URL(req.url); - console.log("WEBSOCKET", url.search); - const durableObjectId = e.DO_WEBSOCKET.idFromName(url.pathname + url.search); - const durableObjectStub = e.DO_WEBSOCKET.get(durableObjectId); - const response = await durableObjectStub.fetch(req); - return response; - } - - try { - return await dev.fetch({ - request: req, - env: e, - clientAddress: req.headers.get("cf-connecting-ip"), - locals: {} - }); - } catch (e) { - console.log("error", e); - return new Response(e.toString(), { status: 500 }); - } - } - }, - modules: true, - kvPersist: true, - compatibilityFlags: ["streams_enable_constructors"], - ...miniflareOptions, - durableObjects: Object.fromEntries(durableObjects.map(obj => [obj, obj])) - }); - - console.log("🔥", "starting miniflare"); - - miniflareOptions.init?.(mf); - - return await createServer(vite, mf, {}); - }, - start(config, { port }) { - process.env.PORT = port; - const proc = spawn("node", [ - join(config.root, "node_modules", "wrangler", "bin", "wrangler.js"), - "dev", - "./dist/server.js", - "--site", - "./dist/public", - "--port", - process.env.PORT - ]); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - return `http://localhost:${process.env.PORT}`; - }, - async build(config, builder) { - const __dirname = dirname(fileURLToPath(import.meta.url)); - - if (!config.solidOptions.ssr) { - await builder.spaClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else if (config.solidOptions.experimental.islands) { - await builder.islandsClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else { - await builder.client(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } - - copyFileSync(join(__dirname, "entry.js"), join(config.root, ".solid", "server", "server.js")); - let durableObjects = Object.keys(config.solidOptions.experimental?.durableObjects || {}); - - if (durableObjects.length > 0) { - let text = readFileSync(join(config.root, ".solid", "server", "server.js"), "utf8"); - durableObjects.forEach(item => { - text += `\n import ${item}Fetch from "./${item}"; - - class ${item} { - ctx; - constructor(state) { - this.ctx = { - state, - storage: state.storage, - durableObject: this - }; - } - async fetch(request) { - return await ${item}Fetch(request, this.ctx); - } - } - - export { ${item} } from "./entry-server";`; - }); - writeFileSync(join(config.root, ".solid", "server", "server.js"), text); - } - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "server.js"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: ["worker", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ] - }); - // or write the bundle to disk - await bundle.write({ format: "esm", dir: join(config.root, "dist") }); - - // closes the bundle - await bundle.close(); - } - }; -} diff --git a/packages/start-cloudflare-workers/package.json b/packages/start-cloudflare-workers/package.json deleted file mode 100644 index 151e908fc..000000000 --- a/packages/start-cloudflare-workers/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "solid-start-cloudflare-workers", - "version": "0.3.3", - "main": "./index.js", - "types": "./index.d.ts", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@cloudflare/kv-asset-handler": "^0.2.0", - "@cloudflare/workers-types": "^3.19.0", - "@miniflare/core": "^2.14.0", - "@miniflare/http-server": "^2.14.0", - "@miniflare/shared": "^2.14.0", - "@miniflare/web-sockets": "^2.14.0", - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "@types/ws": "^8.5.5", - "miniflare": "^2.14.0", - "rollup": "^3.26.2", - "terser": "^5.19.0", - "ws": "^8.13.0" - }, - "devDependencies": { - "@types/node": "^18.16.19", - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start-deno/README.md b/packages/start-deno/README.md deleted file mode 100644 index c6964cc38..000000000 --- a/packages/start-deno/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# solid-start-deno - -Adapter for Solid apps that work on Deno Deploy. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. - -## Configuration - -- [Install Deno](https://deno.land/manual/getting_started/installation) -- Install Deno Deploy CLI - ```bash - deno install --allow-read --allow-write --allow-env --allow-net --allow-run --no-check -r -f https://deno.land/x/deploy/deployctl.ts - ``` - -You also need to add the main entry to your package.json: - -# Deploy - -0. Build your app with SolidStart - -```bash -npm run build -``` - -1. Create a project with `` name on [Deno Deploy](https://deno.land/deploy/). - -2. `cd dist` - -3. Use the [Deno Deploy CLI](https://github.com/denoland/deployctl) to deploy your app. - -```bash -$ project/dist > deployctl deploy --prod --project= --token ./index.js -``` diff --git a/packages/start-deno/entry.js b/packages/start-deno/entry.js deleted file mode 100644 index 712640daf..000000000 --- a/packages/start-deno/entry.js +++ /dev/null @@ -1,74 +0,0 @@ -import { lookup } from "https://deno.land/x/media_types/mod.ts"; -import manifest from "../../dist/public/route-manifest.json"; -import handler from "./entry-server"; - -import { serve } from "https://deno.land/std@0.139.0/http/server.ts"; - -serve( - async (request, connInfo) => { - const { pathname } = new URL(request.url); - console.log(pathname); - - // This is how the server works: - // 1. A request comes in for a specific asset. - // 2. We read the asset from the file system. - // 3. We send the asset back to the client. - - try { - const file = await Deno.readFile(`./public${pathname}`); - const isAsset = pathname.startsWith("/assets/"); - - // Respond to the request with the style.css file. - return new Response(file, { - headers: { - "content-type": lookup(pathname), - ...(isAsset - ? { - "cache-control": "public, immutable, max-age=31536000" - } - : {}) - } - }); - } catch (e) {} - - const env = { - manifest, - getStaticHTML: async path => { - console.log(path); - let text = await Deno.readFile(`./public${path}.html`); - return new Response(text, { - headers: { - "content-type": "text/html" - } - }); - } - } - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return handler({ - request, - clientAddress: connInfo?.remoteAddr?.hostname, - locals: {}, - env, - fetch: internalFetch - }); - } - - return await handler({ - request, - clientAddress: connInfo?.remoteAddr?.hostname, - locals: {}, - env, - fetch: internalFetch - }); - }, - { - port: Number(Deno.env.get("PORT") ?? "8080") - } -); diff --git a/packages/start-deno/index.js b/packages/start-deno/index.js deleted file mode 100644 index 2c3de6ed0..000000000 --- a/packages/start-deno/index.js +++ /dev/null @@ -1,59 +0,0 @@ -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { spawn } from "child_process"; -import { copyFileSync } from "fs"; -import { dirname, join } from "path"; -import { rollup } from "rollup"; -import { fileURLToPath } from "url"; -export default function () { - return { - name: "deno", - start(config, { port }) { - process.env.PORT = port; - const proc = spawn( - "deno", - ["run", "--allow-net", "--allow-env", "--allow-read", "server.js"], - { - cwd: join(process.cwd(), "dist"), - env: process.env - } - ); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - return `http://localhost:${process.env.PORT}`; - }, - async build(config, builder) { - const __dirname = dirname(fileURLToPath(import.meta.url)); - - if (!config.solidOptions.ssr) { - await builder.spaClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else if (config.solidOptions.experimental.islands) { - await builder.islandsClient(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } else { - await builder.client(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - } - - copyFileSync(join(__dirname, "entry.js"), join(config.root, ".solid", "server", "server.js")); - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "server.js"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: ["deno", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ] - }); - // or write the bundle to disk - await bundle.write({ format: "esm", dir: join(config.root, "dist") }); - - // closes the bundle - await bundle.close(); - } - }; -} diff --git a/packages/start-deno/package.json b/packages/start-deno/package.json deleted file mode 100644 index 6553d4de8..000000000 --- a/packages/start-deno/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "solid-start-deno", - "version": "0.3.3", - "main": "./index.js", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "rollup": "^3.26.2", - "terser": "^5.19.0" - }, - "devDependencies": { - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start-netlify/README.md b/packages/start-netlify/README.md deleted file mode 100644 index 1843f72f9..000000000 --- a/packages/start-netlify/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# start-netlify - -Adapter for Solid apps that work on in a Netlify function. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. - -## Edge Functions - -Pass the option `edge` to your adapter to have it deploy to edge functions instead of standard Netlify functions. Edge Functions have support for streaming as well. - -```js -import { defineConfig } from "vite"; -import solid from "solid-start/vite"; -import netlify from "solid-start-netlify"; - -export default defineConfig({ - plugins: [solid({ adapter: netlify({ edge: true }) })] -}); -``` - -## Configuration - -You will be prompted on deploy to choose a publish directory. Type in "netlify". - -Alternatively you can setup your netlify.toml to properly locate the built resources. - -```toml -[build] - publish = "netlify/" -``` - -From here you can run `npm run build` and then `netlify deploy --prod` to deploy. - -**Important** When running edge functions they need to be built first so you can do so by running `netlify build` or adding `--build` to your deploy cli command. diff --git a/packages/start-netlify/entry-edge.js b/packages/start-netlify/entry-edge.js deleted file mode 100644 index fa36f0549..000000000 --- a/packages/start-netlify/entry-edge.js +++ /dev/null @@ -1,35 +0,0 @@ -import manifest from "../../netlify/route-manifest.json"; -import handler from "./entry-server.js"; - -export default (request, context) => { - const env = { - ...context, - manifest, - getStaticHTML: path => context.rewrite(new URL(`${path}.html`, request.url).href) - }, - clientAddress = request.headers.get("x-nf-client-connection-ip"); - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - } - - return handler({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }) -} diff --git a/packages/start-netlify/entry.js b/packages/start-netlify/entry.js deleted file mode 100644 index 02d21c666..000000000 --- a/packages/start-netlify/entry.js +++ /dev/null @@ -1,123 +0,0 @@ -import { splitCookiesString } from "solid-start/node/fetch.js"; -import "solid-start/node/globals.js"; -import manifest from "../../netlify/route-manifest.json"; -import handle from "./entry-server"; - -Response.redirect = function (url, status = 302) { - let response = new Response(null, { status, headers: { Location: url }, counter: 1 }); - - return response; -}; - -export const handler = async function (event, context) { - console.log(`Received new request: ${event.path}`); - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return handle({ - request, - clientAddress: event.headers["x-nf-client-connection-ip"], - locals: {}, - env: { ...context, manifest }, - fetch: internalFetch - }); - } - - const webRes = await handle({ - request: createRequest(event), - clientAddress: event.headers["x-nf-client-connection-ip"], - locals: {}, - env: { ...context, manifest }, - fetch: internalFetch - }); - const headers = {}; - for (const [name, value] of webRes.headers) { - headers[name] = [value]; - } - if (webRes.headers.has('set-cookie')) { - const header = /** @type {string} */ (webRes.headers.get('set-cookie')); - // @ts-expect-error - headers['set-cookie'] = splitCookiesString(header); - } - - return { - statusCode: webRes.status, - statusMessage: webRes.statusText, - multiValueHeaders: headers, - body: await webRes.text() - }; -}; - -/*! - * Original code by Remix Sofware Inc - * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details - * - * Credits to the Remix team: - * https://github.com/remix-run/remix/blob/main/packages/remix-netlify/server.ts - */ -function createRequest(event) { - let url; - - if (process.env.NODE_ENV !== "development") { - url = new URL(event.rawUrl); - } else { - let origin = event.headers.host; - let rawPath = getRawPath(event); - url = new URL(rawPath, `http://${origin}`); - } - - let init = { - method: event.httpMethod, - headers: createHeaders(event.multiValueHeaders) - }; - - if (event.httpMethod !== "GET" && event.httpMethod !== "HEAD" && event.body) { - init.body = event.isBase64Encoded ? Buffer.from(event.body, "base64").toString() : event.body; - } - - return new Request(url.href, init); -} - -function createHeaders(requestHeaders) { - let headers = new Headers(); - - for (const [key, values] of Object.entries(requestHeaders)) { - if (values) { - for (const value of values) { - headers.append(key, value); - } - } - } - - return headers; -} - -// `netlify dev` doesn't return the full url in the event.rawUrl, so we need to create it ourselves -function getRawPath(event) { - let rawPath = event.path; - let searchParams = new URLSearchParams(); - - if (!event.multiValueQueryStringParameters) { - return rawPath; - } - - let paramKeys = Object.keys(event.multiValueQueryStringParameters); - for (let key of paramKeys) { - let values = event.multiValueQueryStringParameters[key]; - if (!values) continue; - for (let val of values) { - searchParams.append(key, val); - } - } - - let rawParams = searchParams.toString(); - - if (rawParams) rawPath += `?${rawParams}`; - - return rawPath; -} diff --git a/packages/start-netlify/index.js b/packages/start-netlify/index.js deleted file mode 100644 index 5a43415ad..000000000 --- a/packages/start-netlify/index.js +++ /dev/null @@ -1,101 +0,0 @@ -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { spawn } from "child_process"; -import { copyFileSync, existsSync, promises } from "fs"; -import { dirname, join } from "path"; -import { rollup } from "rollup"; -import { fileURLToPath } from "url"; - -/*** - * @param {object} options - * @param {boolean} [options.edge] - */ -export default function ({ edge } = {}) { - return { - name: "netlify", - start() { - const proc = spawn("netlify", ["dev"]); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - }, - async build(config, builder) { - const ssrExternal = config?.ssr?.external || []; - const __dirname = dirname(fileURLToPath(import.meta.url)); - if (!config.solidOptions.ssr) { - await builder.spaClient(join(config.root, "netlify")); - await builder.server(join(config.root, ".solid", "server")); - } else if (config.solidOptions.experimental.islands) { - await builder.islandsClient(join(config.root, "netlify")); - await builder.server(join(config.root, ".solid", "server")); - } else { - await builder.client(join(config.root, "netlify")); - await builder.server(join(config.root, ".solid", "server")); - } - - copyFileSync( - join(__dirname, edge ? "entry-edge.js" : "entry.js"), - join(config.root, ".solid", "server", "index.js") - ); - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "index.js"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: edge ? ["deno", "solid"] : ["node", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ], - external: ssrExternal - }); - // or write the bundle to disk - await bundle.write({ - format: "esm", - inlineDynamicImports: true, - file: join(config.root, "netlify", edge ? "edge-functions" : "functions", "index.js") - }); - - // closes the bundle - await bundle.close(); - - await promises.writeFile(join(config.root, "netlify", "_headers"), getHeadersFile(), "utf-8"); - - if (edge) { - const dir = join(config.root, ".netlify", "edge-functions"); - if (!existsSync(dir)) { - await promises.mkdir(dir, { recursive: true }); - } - await promises.writeFile( - join(config.root, ".netlify", "edge-functions", "manifest.json"), - `{ - "functions": [ - { - "function": "index", - "pattern": "^[^.]*$" - } - ], - "version": 1 -}`, - "utf-8" - ); - } else { - await promises.writeFile( - join(config.root, "netlify", "_redirects"), - "/* /.netlify/functions/index 200", - "utf-8" - ); - } - } - }; -} - -/** - * @see https://docs.netlify.com/routing/headers/ - */ -// prettier-ignore -const getHeadersFile = () => -` -/assets/* - Cache-Control: public, immutable, max-age=31536000 -`.trim(); diff --git a/packages/start-netlify/package.json b/packages/start-netlify/package.json deleted file mode 100644 index 1fde6d9df..000000000 --- a/packages/start-netlify/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "solid-start-netlify", - "version": "0.3.3", - "main": "./index.js", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@babel/core": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@rollup/plugin-babel": "^6.0.3", - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "encoding": "^0.1.13", - "rollup": "^3.26.2", - "terser": "^5.19.0" - }, - "devDependencies": { - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*" - } -} diff --git a/packages/start-new/entry-client/StartClient.tsx b/packages/start-new/entry-client/StartClient.tsx new file mode 100644 index 000000000..984bf2089 --- /dev/null +++ b/packages/start-new/entry-client/StartClient.tsx @@ -0,0 +1,46 @@ +// @ts-ignore +import Root from "#start/root"; +import { MetaProvider } from "@solidjs/meta"; +import { Router, Routes } from "@solidjs/router"; +import { createAssets } from "@vinxi/solid"; +import { NoHydration, Suspense } from "solid-js/web"; + +import { ServerContext } from "../entry-server/ServerContext"; +import { FileRoutes, createRoutes } from "../root/FileRoutes"; +import "./mount"; + +const Assets = createAssets( + import.meta.env.MANIFEST["client"].handler, + import.meta.env.MANIFEST["client"], +); + +function Meta() { + return ( + <> + + + + + + ); +} + +const routes = createRoutes(); + +export function StartClient() { + return ( + + + + } scripts={}> + + + + + + + + + + ); +} diff --git a/packages/start-new/entry-client/index.tsx b/packages/start-new/entry-client/index.tsx new file mode 100644 index 000000000..db889e47c --- /dev/null +++ b/packages/start-new/entry-client/index.tsx @@ -0,0 +1,2 @@ +export { mount } from './mount'; +export { StartClient } from './StartClient'; \ No newline at end of file diff --git a/packages/start-new/entry-client/mount.ts b/packages/start-new/entry-client/mount.ts new file mode 100644 index 000000000..40fe8e95a --- /dev/null +++ b/packages/start-new/entry-client/mount.ts @@ -0,0 +1,6 @@ +import { hydrate } from "solid-js/web"; +import "vinxi/runtime/client"; + +export function mount(fn, element) { + return hydrate(fn, element); +} diff --git a/packages/start-new/entry-server/ServerContext.tsx b/packages/start-new/entry-server/ServerContext.tsx new file mode 100644 index 000000000..5e8b95c19 --- /dev/null +++ b/packages/start-new/entry-server/ServerContext.tsx @@ -0,0 +1,6 @@ +import { createContext } from "solid-js"; + +export const ServerContext = createContext<{ + tags: any[]; + routes: any; +}>(); diff --git a/packages/start-new/entry-server/StartServer.tsx b/packages/start-new/entry-server/StartServer.tsx new file mode 100644 index 000000000..bcfe22f90 --- /dev/null +++ b/packages/start-new/entry-server/StartServer.tsx @@ -0,0 +1,61 @@ +// @ts-ignore +import Root from "#start/root"; +import { MetaProvider } from "@solidjs/meta"; +import { Router, Routes } from "@solidjs/router"; +import { renderAsset } from "@vinxi/solid"; +import { join } from "path"; +import { HydrationScript, NoHydration, Suspense } from "solid-js/web"; + +import { FileRoutes } from "../root/FileRoutes"; +import { Meta } from "../root/Meta"; +import { ServerContext } from "./ServerContext"; + +export function StartServer(props) { + const context = props.context; + return ( + + + + + + + + {context.assets.map((m) => renderAsset(m))} + + } + scripts={ + + + + : null; + }, +}; + +export function renderAsset(asset) { + let { tag, attrs: { key, ...attrs } = { key: undefined }, children } = asset; + return assetMap[tag]({ attrs, key, children }); +} + +export const createAssets = (src, manifest) => + lazy(async () => { + const assets = await manifest.inputs[src].assets(); + + const styles = assets.filter((asset) => asset.tag === "style"); + + if (typeof window !== "undefined" && import.meta.hot) { + import.meta.hot.on("css-update", (data) => { + updateStyles(styles, data); + }); + } + + return { + default: function Assets() { + return <>{assets.map((asset) => renderAsset(asset))}; + }, + }; + }); \ No newline at end of file diff --git a/packages/start-new/utils/lazyRoute.jsx b/packages/start-new/utils/lazyRoute.jsx new file mode 100644 index 000000000..ab924996c --- /dev/null +++ b/packages/start-new/utils/lazyRoute.jsx @@ -0,0 +1,49 @@ +/// +import { createComponent, lazy, onCleanup } from "solid-js"; +import { appendStyles, cleanupStyles, updateStyles } from "vinxi/lib/style"; + +import { renderAsset } from "./assets"; + +export default function lazyRoute(component, clientManifest, serverManifest) { + return lazy(async () => { + if (import.meta.env.DEV) { + let manifest = import.meta.env.SSR ? serverManifest : clientManifest; + const { default: Component } = await import( + /* @vite-ignore */ manifest.inputs[component.src].output.path + ); + let assets = await clientManifest.inputs?.[component.src].assets(); + const styles = assets.filter((asset) => asset.tag === "style"); + if (typeof window !== "undefined" && import.meta.hot) { + import.meta.hot.on("css-update", (data) => { + updateStyles(styles, data); + }); + } + + const Comp = (props) => { + if (typeof window !== "undefined") { + appendStyles(styles); + } + + onCleanup(() => { + // remove style tags added by vite when a CSS file is imported + cleanupStyles(styles); + }); + return [ + ...assets.map((asset) => renderAsset(asset)), + createComponent(Component, props), + ]; + }; + return { default: Comp }; + } else { + const { default: Component } = await component.import(); + let assets = await clientManifest.inputs?.[component.src].assets(); + const Comp = (props) => { + return [ + ...assets.map((asset) => renderAsset(asset)), + createComponent(Component, props), + ]; + }; + return { default: Comp }; + } + }); +} diff --git a/packages/start-static/README.md b/packages/start-static/README.md deleted file mode 100644 index 4dd1ae30b..000000000 --- a/packages/start-static/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# start-static - -Adapter for Solid apps that generates a static site. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. \ No newline at end of file diff --git a/packages/start-static/entry.js b/packages/start-static/entry.js deleted file mode 100644 index bbda818c7..000000000 --- a/packages/start-static/entry.js +++ /dev/null @@ -1,35 +0,0 @@ -import { createRequest } from "solid-start/node/fetch.js"; -import "solid-start/node/globals.js"; -import manifest from "../../dist/public/route-manifest.json"; -import handler from "./entry-server.js"; - -const MAX_REDIRECTS = 10; -async function handleRequest(req) { - req.headers = {}; - req.method = "GET"; - const webRes = await handler({ - request: createRequest(req), - env: { manifest } - }); - return webRes; -} - -export default async req => { - let webRes = await handleRequest(req); - if (webRes.status === 200) { - return webRes.text(); - } else if (webRes.status === 302) { - let redirects = 1; - while (redirects < MAX_REDIRECTS) { - webRes = await handleRequest({ url: webRes.headers.get("location") }); - if (webRes.status === 200) { - return webRes.text(); - } else if (webRes.status === 302) { - redirects++; - } else { - return "

Error

"; - } - } - } - return webRes.text(); -}; diff --git a/packages/start-static/index.d.ts b/packages/start-static/index.d.ts deleted file mode 100644 index 11758f872..000000000 --- a/packages/start-static/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function (): import("solid-start/vite").Adapter; diff --git a/packages/start-static/index.js b/packages/start-static/index.js deleted file mode 100644 index 7a593281c..000000000 --- a/packages/start-static/index.js +++ /dev/null @@ -1,77 +0,0 @@ -/// -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { spawn } from "child_process"; -import { copyFileSync } from "fs"; -import { dirname, join, resolve } from "path"; -import { rollup } from "rollup"; -import renderStatic from "solid-ssr/static"; -import { fileURLToPath } from "url"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default function () { - return { - name: "static", - start(config, { port }) { - process.env.PORT = port; - spawn("npx", ["serve", "./dist/public"], { - shell: true, - stdio: "inherit" - }); - return `http://localhost:${process.env.PORT}`; - }, - async build(config, builder) { - if(!config?.solidOptions?.ssr) throw new Error('solid-start-static needs ssr to be enabled for pre-rendering routes at build time'); - const ssrExternal = config?.ssr?.external || []; - await builder.client(join(config.root, "dist", "public")); - await builder.server(join(config.root, ".solid", "server")); - const pathToServer = join(config.root, ".solid", "server", "server.js"); - copyFileSync(join(__dirname, "entry.js"), pathToServer); - const pathToDist = resolve(config.root, "dist", "public"); - - builder.debug(`bundling server with rollup`); - - const bundle = await rollup({ - input: join(config.root, ".solid", "server", "server.js"), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: ["node", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ], - external: ["stream/web", ...ssrExternal] - }); - // or write the bundle to disk - await bundle.write({ format: "esm", dir: join(config.root, "dist") }); - - // closes the bundle - await bundle.close(); - - builder.debug(`bundling server done`); - - await config.solidOptions.router.init(); - const routes = [ - ...config.solidOptions.router - .getFlattenedPageRoutes() - .map(a => a.path) - .filter(a => (a.includes(":") || a.includes("/")) && !a.includes("*")), - "/404", - ...(config.solidOptions.prerenderRoutes || []) - ]; - renderStatic( - routes.map(url => ({ - entry: join(config.root, "dist", "server.js"), - output: join( - pathToDist, - url.endsWith("/") ? `${url.slice(1)}index.html` : `${url.slice(1)}.html` - ), - url - })) - ); - } - }; -} diff --git a/packages/start-static/package.json b/packages/start-static/package.json deleted file mode 100644 index bfae28a56..000000000 --- a/packages/start-static/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "solid-start-static", - "version": "0.3.3", - "main": "./index.js", - "types": "./index.d.ts", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "rollup": "^3.26.2", - "sirv-cli": "2.0.2", - "solid-ssr": "^1.7.2" - }, - "devDependencies": { - "solid-start": "workspace:*", - "terser": "^5.19.0", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start-vercel/README.md b/packages/start-vercel/README.md deleted file mode 100644 index d8f2f8ced..000000000 --- a/packages/start-vercel/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# start-vercel - -Adapter for Solid apps that work on Vercel. - -This is very experimental; the adapter API isn't at all fleshed out, and things will definitely change. - -## Usage - -Add the adapter in your `vite.config.js` file. By default this deploys to a Vercel Function. - -```js -import solid from "solid-start/vite"; -import vercel from "solid-start-vercel"; - -export default defineConfig({ - plugins: [solid({ adapter: vercel() })] -}); -``` - -To deploy to the edge pass in the edge option. - -```js -import solid from "solid-start/vite"; -import vercel from "solid-start-vercel"; - -export default defineConfig({ - plugins: [solid({ adapter: vercel({ edge: true }) })] -}); -``` - -To enable ISR/Prerender, pass in the prerender function. - -```js -import { defineConfig } from "vite" -import solid from "solid-start/vite" -import vercel from "solid-start-vercel" - -export default defineConfig({ - plugins: [ - solid({ - ssr: true, - adapter: vercel({ - prerender: true, - }), - }), - ], -}) - -``` - -You can also set the `expiration` time and/or the `bypassToken`. - -```js -import { defineConfig } from "vite" -import solid from "solid-start/vite" -import vercel from "solid-start-vercel" - -export default defineConfig({ - plugins: [ - solid({ - ssr: true, - adapter: vercel({ - prerender: { - expiration: 60, - bypassToken: "87734ad8259d67c3c11747d3e4e112d0", - }, - }), - }), - ], -}) -``` - - -## Configuration - -You will need to have the [vercel-cli](https://vercel.com/docs/cli) installed globally. - -```bash -> npm i -g vercel -``` - -This adapter makes use of the [Build Output API](https://vercel.com/docs/build-output-api/v3) which you need to enable through the Vercel CLI - -```bash -> vercel env add ENABLE_VC_BUILD -``` - -follow the prompts to set it to `1` for all environments diff --git a/packages/start-vercel/entry-edge.js b/packages/start-vercel/entry-edge.js deleted file mode 100644 index 832f3369b..000000000 --- a/packages/start-vercel/entry-edge.js +++ /dev/null @@ -1,40 +0,0 @@ -import manifest from "../../.vercel/output/static/route-manifest.json"; -import entry from "./entry-server"; - -export default function (request) { - const env = { - manifest, - getStaticHTML: path => - new Response(null, { - headers: { - "x-middleware-rewrite": new URL(`${path}.html`, request.url).href - } - }) - }, - clientAddress = request.headers.get("x-forwarded-for"); - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return entry({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - } - - const response = entry({ - request, - clientAddress, - locals: {}, - env, - fetch: internalFetch - }); - return response; -} diff --git a/packages/start-vercel/entry-prerender.js b/packages/start-vercel/entry-prerender.js deleted file mode 100644 index c14bdefc8..000000000 --- a/packages/start-vercel/entry-prerender.js +++ /dev/null @@ -1,114 +0,0 @@ -import { splitCookiesString } from "solid-start/node/fetch.js"; -import "solid-start/node/globals.js"; -import manifest from "../../.vercel/output/static/route-manifest.json"; -import entry from "./entry-server"; - - -export default async (req, res) => { - console.log(`Received new request: ${req.url}`); - - const env = { - manifest, - getStaticHTML: async (path) => - new Response((await fetch(new URL(`${path}.html`, request.url).href)).body, { - status: 200, - headers: { - "Content-Type": "text/html" - } - }) - } - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return entry({ - request, - clientAddress: req.headers["x-forwarded-for"], - locals: {}, - env, - fetch: internalFetch - }); - } - - let request = createRequest(req) - const webRes = await entry({ - request, - clientAddress: req.headers["x-forwarded-for"], - locals: {}, - env, - fetch: internalFetch - }); - const headers = {}; - for (const [name, value] of webRes.headers) { - headers[name] = [value]; - } - if (webRes.headers.has('set-cookie')) { - const header = /** @type {string} */ (webRes.headers.get('set-cookie')); - // @ts-expect-error - headers['set-cookie'] = splitCookiesString(header); - } - - res.statusMessage = webRes.statusText; - res.writeHead( - webRes.status, - webRes.statusText, - headers - ); - - if (webRes.body) { - res.end(await webRes.text()); - } else { - res.end(); - } -} - -/*! - * Original code by Remix Sofware Inc - * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details - * - * Credits to the Remix team: - * https://github.com/remix-run/remix/blob/main/packages/remix-netlify/server.ts - */ -function createRequest(req) { - let host = req.headers["x-forwarded-host"] || req.headers["host"]; - let protocol = req.headers["x-forwarded-proto"] || "https"; - - const params = new Proxy(new URLSearchParams(req.headers["x-now-route-matches"]), { - get: (searchParams, prop) => searchParams.get(prop), - }) - - const url = new URL(params.path, `${protocol}://${host}`); - - let init = { - method: req.method, - headers: createHeaders(req.headers) - }; - - if (req.method !== "GET" && req.method !== "HEAD") { - init.body = req; - init.duplex = 'half'; - } - - return new Request(url.href, init); -} - -function createHeaders(requestHeaders) { - let headers = new Headers(); - - for (let key in requestHeaders) { - let header = requestHeaders[key]; - if (Array.isArray(header)) { - for (let value of header) { - headers.append(key, value); - } - } else { - headers.append(key, header); - } - } - - return headers; -} diff --git a/packages/start-vercel/entry.js b/packages/start-vercel/entry.js deleted file mode 100644 index 8dfe46fcb..000000000 --- a/packages/start-vercel/entry.js +++ /dev/null @@ -1,108 +0,0 @@ -import { splitCookiesString } from "solid-start/node/fetch.js"; -import "solid-start/node/globals.js"; -import manifest from "../../.vercel/output/static/route-manifest.json"; -import entry from "./entry-server"; - -export default async (req, res) => { - console.log(`Received new request: ${req.url}`); - - const env = { - manifest, - getStaticHTML: async (path) => - new Response((await fetch(new URL(`${path}.html`, request.url).href)).body, { - status: 200, - headers: { - "Content-Type": "text/html" - } - }) - } - - function internalFetch(route, init = {}) { - if (route.startsWith("http")) { - return fetch(route, init); - } - - let url = new URL(route, "http://internal"); - const request = new Request(url.href, init); - return entry({ - request, - clientAddress: req.headers["x-forwarded-for"], - locals: {}, - env, - fetch: internalFetch - }); - } - - let request = createRequest(req) - const webRes = await entry({ - request, - clientAddress: req.headers["x-forwarded-for"], - locals: {}, - env, - fetch: internalFetch - }); - const headers = {}; - for (const [name, value] of webRes.headers) { - headers[name] = [value]; - } - if (webRes.headers.has('set-cookie')) { - const header = /** @type {string} */ (webRes.headers.get('set-cookie')); - // @ts-expect-error - headers['set-cookie'] = splitCookiesString(header); - } - - res.statusMessage = webRes.statusText; - res.writeHead( - webRes.status, - webRes.statusText, - headers - ); - - if (webRes.body) { - res.end(await webRes.text()); - } else { - res.end(); - } -} - -/*! - * Original code by Remix Sofware Inc - * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details - * - * Credits to the Remix team: - * https://github.com/remix-run/remix/blob/main/packages/remix-netlify/server.ts - */ -function createRequest(req) { - let host = req.headers["x-forwarded-host"] || req.headers["host"]; - let protocol = req.headers["x-forwarded-proto"] || "https"; - let url = new URL(req.url, `${protocol}://${host}`); - - let init = { - method: req.method, - headers: createHeaders(req.headers) - }; - - if (req.method !== "GET" && req.method !== "HEAD") { - init.body = req; - init.duplex = 'half'; - } - - return new Request(url.href, init); -} - -function createHeaders(requestHeaders) { - let headers = new Headers(); - - for (let key in requestHeaders) { - let header = requestHeaders[key]; - if (Array.isArray(header)) { - for (let value of header) { - headers.append(key, value); - } - } else { - headers.append(key, header); - } - } - - return headers; -} diff --git a/packages/start-vercel/index.d.ts b/packages/start-vercel/index.d.ts deleted file mode 100644 index 0e5a75267..000000000 --- a/packages/start-vercel/index.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export type PrerenderFunctionConfig = { - expiration: number | false; - group?: number; - bypassToken?: string; - fallback?: string; - allowQuery?: string[]; -}; - -export type SolidStartVercelOptions = { - /** - * @default false - */ - edge?: boolean; - includes?: string | string[]; - excludes?: string | string[]; - prerender?: PrerenderFunctionConfig; -}; -export default function (props?: SolidStartVercelOptions): import("solid-start/vite").Adapter; diff --git a/packages/start-vercel/index.js b/packages/start-vercel/index.js deleted file mode 100644 index 383c6d862..000000000 --- a/packages/start-vercel/index.js +++ /dev/null @@ -1,343 +0,0 @@ -// @ts-check - -import common from "@rollup/plugin-commonjs"; -import json from "@rollup/plugin-json"; -import nodeResolve from "@rollup/plugin-node-resolve"; -import { nodeFileTrace } from "@vercel/nft"; -import { spawn } from "child_process"; -import glob from "fast-glob"; -import { - copyFileSync, - lstatSync, - mkdirSync, - realpathSync, - rmSync, - symlinkSync, - writeFileSync -} from "fs"; -import mm from "micromatch"; -import { dirname, join, relative } from "path"; -import process from "process"; -import { rollup } from "rollup"; -import { fileURLToPath, pathToFileURL } from "url"; -import { normalizePath } from "vite"; - -const emptyDir = dir => { - rmSync(dir, { recursive: true, force: true }); - mkdirSync(dir, { recursive: true }); -}; - -/*** - * @param {object} options - * @param {URL} options.entry - * @param {URL} options.outputDir - * @param {URL} options.workingDir - * @param {string | string[] | undefined} options.includes - * @param {string | string[] | undefined} options.excludes - * @param {URL} options. workingDir - * @param {object} options.cache - * - * @returns {Promise} returns the base directory used for the nft within the outputDir - * Implemtation based on astro vercel adapter https://github.com/withastro/astro/blob/474ecc7be625a0ff2e9bc145af948e75826de025/packages/integrations/vercel/src/lib/nft.ts#L7 - * - */ -const copyDependencies = async ({ entry, outputDir, includes, excludes, workingDir, cache }) => { - let base = entry; - while (fileURLToPath(base) !== fileURLToPath(new URL("../", base))) { - base = new URL("../", base); - } - - const { fileList, warnings, reasons } = await nodeFileTrace([fileURLToPath(entry)], { - cache, - processCwd: fileURLToPath(workingDir), - base: fileURLToPath(base) - }); - - for (const error of warnings) { - if (error.message.startsWith("Failed to resolve dependency")) { - const match = /Cannot find module '(.+?)' loaded from (.+)/.exec(error.message); - const [, module, file] = match ? match : []; - if (fileURLToPath(entry) === file) { - console.warn( - `[solid-start-vercel] The module "${module}" couldn't be resolved. This may not be a problem, but it's worth checking.` - ); - } else { - console.warn( - `[solid-start-vercel] The module "${module}" inside the file "${file}" couldn't be resolved. This may not be a problem, but it's worth checking.` - ); - } - } - } - - if (includes) { - const entries = glob - .sync(includes, { cwd: fileURLToPath(workingDir) }) - .map(p => relative(fileURLToPath(base), fileURLToPath(new URL(p, workingDir)))); - // dedup the entries from what nft finds - for (const entry of entries) { - fileList.add(entry); - } - } - - let results = [...fileList]; - - if (excludes) { - results = mm.not(results, excludes, { dot: true }); - } - - for (const file of results) { - // convert the relative path to absolute path - const source = new URL(file, base); - const target = new URL(file, outputDir); - const stats = lstatSync(source); - - // Create directories recursively - mkdirSync(dirname(fileURLToPath(target)), { - recursive: true - }); - - if (stats.isSymbolicLink()) { - const realPath = realpathSync(source); - const realdest = new URL(relative(fileURLToPath(base), realPath), outputDir); - - symlinkSync( - relative(dirname(fileURLToPath(target)), fileURLToPath(realdest)), - target, - "file" - ); - } else { - copyFileSync(source, target); - } - } - - return base; -}; - -/*** - * @param {object} options - * @param {boolean} [options.edge] - * @param {object} [options.prerender] - * @param {string | string[]} [options.includes] - * @param {string | string[]} [options.excludes] - */ -export default function ({ edge, prerender, includes, excludes } = {}) { - return { - name: "vercel", - async start() { - const proc = await spawn("vercel", ["deploy", "--prebuilt"], {}); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - }, - async build(config, builder) { - const ssrExternal = config?.ssr?.external || []; - // Vercel Build Output API v3 (https://vercel.com/docs/build-output-api/v3) - const __dirname = dirname(fileURLToPath(import.meta.url)); - const workingDir = - config.root === normalizePath(process.cwd()) - ? pathToFileURL(config.root + "/") - : new URL(config.root, pathToFileURL(normalizePath(process.cwd()) + "/")); - const vercelOutputDir = new URL("./.vercel/output/", workingDir); // join(config.root, ".vercel/output"); - const outputDir = new URL("./dist/", workingDir); // join(config.root, ".vercel/output"); - const solidServerDir = new URL("./.solid/server/", workingDir); // join(config.root, "./.solid/server/"); - - // start with fresh directories - emptyDir(vercelOutputDir); - emptyDir(outputDir); - emptyDir(solidServerDir); - - // SSR Edge Function - if (!config.solidOptions.ssr) { - await builder.spaClient(fileURLToPath(new URL("./static/", vercelOutputDir))); // join(outputDir, "static") - await builder.server(fileURLToPath(solidServerDir)); // join(config.root, ".solid", "server") - } else if (config.solidOptions.experimental.islands) { - await builder.islandsClient(fileURLToPath(new URL("./static/", vercelOutputDir))); // join(outputDir, "static") - await builder.server(fileURLToPath(solidServerDir)); // join(config.root, ".solid", "server") - } else { - await builder.client(fileURLToPath(new URL("./static/", vercelOutputDir))); // join(outputDir, "static") - await builder.server(fileURLToPath(solidServerDir)); // join(config.root, ".solid", "server") - } - - const entrypoint = new URL("./server.js", solidServerDir); // join(config.root, ".solid", "server", "server.js"); - - let baseEntrypoint = "entry.js"; - if (edge) baseEntrypoint = "entry-edge.js"; - if (prerender) baseEntrypoint = "entry-prerender.js"; - copyFileSync(join(__dirname, baseEntrypoint), entrypoint); - - const bundle = await rollup({ - input: fileURLToPath(entrypoint), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: edge ? ["worker", "solid"] : ["node", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ], - external: ssrExternal - }); - - const renderFuncEntrypoint = new URL(`./index.${edge ? "mjs" : "cjs"}`, outputDir); // join(renderFuncDir, renderEntrypoint); - const renderFuncDir = new URL("./functions/render.func/", vercelOutputDir); // join(outputDir, "functions/render.func"); - mkdirSync(renderFuncDir, { recursive: true }); - await bundle.write( - edge - ? { - format: "esm", - file: fileURLToPath(renderFuncEntrypoint), // join(renderFuncDir, renderEntrypoint) - inlineDynamicImports: true - } - : { - format: "cjs", - file: fileURLToPath(renderFuncEntrypoint), // join(renderFuncDir, renderEntrypoint) - exports: "auto", - inlineDynamicImports: true - } - ); - await bundle.close(); - - const cache = Object.create(null); - const renderBaseUrl = await copyDependencies({ - entry: renderFuncEntrypoint, - outputDir: renderFuncDir, - includes, - excludes, - workingDir, - cache - }); - const renderConfig = edge - ? { - runtime: "edge", - entrypoint: relative(fileURLToPath(renderBaseUrl), fileURLToPath(renderFuncEntrypoint)) - } - : { - runtime: "nodejs18.x", - handler: relative(fileURLToPath(renderBaseUrl), fileURLToPath(renderFuncEntrypoint)), - launcherType: "Nodejs" - }; - - writeFileSync( - new URL("./.vc-config.json", renderFuncDir), // join(renderFuncDir, ".vc-config.json" - JSON.stringify(renderConfig, null, 2) - ); - rmSync(outputDir, { recursive: true, force: true }); - - // Generate API function - const apiRoutes = config.solidOptions.router.getFlattenedApiRoutes(); - const apiRoutesConfig = apiRoutes.map(route => { - return { - src: route.path - .split("/") - .map(path => - path[0] === ":" - ? `(?<${path.slice(1)}>[^/]+)` - : path[0] === "*" - ? `(?<${path.slice(1)}>.*)` - : path - ) - .join("/"), - dest: "/api" - }; - }); - if (apiRoutes.length > 0) { - let baseEntrypoint = "entry.js"; - if (edge) baseEntrypoint = "entry-edge.js"; - copyFileSync(join(__dirname, baseEntrypoint), entrypoint); - - const bundle = await rollup({ - // Same as render - input: fileURLToPath(entrypoint), - plugins: [ - json(), - nodeResolve({ - preferBuiltins: true, - exportConditions: edge ? ["worker", "solid"] : ["node", "solid"] - }), - common({ strictRequires: true, ...config.build.commonjsOptions }) - ], - external: ssrExternal - }); - - const apiFuncEntrypoint = new URL(`./index.${edge ? "mjs" : "cjs"}`, outputDir); // join(apiFuncDir, apiEntrypoint); - const apiFuncDir = new URL("./functions/api.func/", vercelOutputDir); // join(outputDir, "functions/api.func"); - await bundle.write( - edge - ? { - format: "esm", - file: fileURLToPath(apiFuncEntrypoint), // join(apiFuncDir, apiEntrypoint) - inlineDynamicImports: true - } - : { - format: "cjs", - file: fileURLToPath(apiFuncEntrypoint), // join(apiFuncDir, apiEntrypoint) - exports: "auto", - inlineDynamicImports: true - } - ); - await bundle.close(); - - const apiBaseUrl = await copyDependencies({ - entry: apiFuncEntrypoint, - outputDir: apiFuncDir, - includes, - excludes, - workingDir, - cache - }); - const apiConfig = edge - ? { - runtime: "edge", - entrypoint: relative(fileURLToPath(apiBaseUrl), fileURLToPath(apiFuncEntrypoint)) - } - : { - runtime: "nodejs18.x", - handler: relative(fileURLToPath(apiBaseUrl), fileURLToPath(apiFuncEntrypoint)), - launcherType: "Nodejs" - }; - - writeFileSync(new URL("./.vc-config.json", apiFuncDir), JSON.stringify(apiConfig, null, 2)); // join(apiFuncDir, ".vc-config.json") - rmSync(outputDir, { recursive: true, force: true }); - } - // Routing Config - const outputConfig = { - version: 3, - routes: [ - // https://vercel.com/docs/project-configuration#project-configuration/headers - // https://vercel.com/docs/build-output-api/v3#build-output-configuration/supported-properties/routes/source-route - { - src: "/assets/(.*)", - headers: { "Cache-Control": "public, max-age=31556952, immutable" }, - continue: true - }, - // Serve any matching static assets first - { handle: "filesystem" }, - // Invoke the API function for API routes - ...apiRoutesConfig, - // Invoke the SSR function if not a static asset - { - src: prerender ? "/(?.*)" : "/.*", - dest: prerender ? "/render?path=$path" : "/render" - } - ] - }; - writeFileSync( - new URL("./config.json", vercelOutputDir), - JSON.stringify(outputConfig, null, 2) - ); //join(outputDir, "config.json") - - // prerender config - if (prerender) { - const prerenderConfig = { - expiration: prerender?.expiration ?? false, - group: 1, - bypassToken: prerender?.bypassToken, - allowQuery: ["path"] - }; - writeFileSync( - new URL("./functions/render.prerender-config.json", vercelOutputDir), //join(outputDir, "functions/render.prerender-config.json") - JSON.stringify(prerenderConfig, null, 2) - ); - } - } - }; -} diff --git a/packages/start-vercel/package.json b/packages/start-vercel/package.json deleted file mode 100644 index 0fd8d3872..000000000 --- a/packages/start-vercel/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "solid-start-vercel", - "version": "0.3.3", - "main": "./index.js", - "types": "./index.d.ts", - "type": "module", - "solid": { - "type": "adapter" - }, - "dependencies": { - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.1.0", - "@vercel/nft": "^0.22.6", - "fast-glob": "3.2.12", - "micromatch": "4.0.5", - "rollup": "^3.26.2", - "terser": "^5.19.0" - }, - "devDependencies": { - "solid-start": "workspace:*", - "vite": "^4.4.6" - }, - "peerDependencies": { - "solid-start": "*", - "vite": "*" - } -} diff --git a/packages/start/package.json b/packages/start/package.json index 0a6ca2cc1..64a058cc9 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -4,6 +4,7 @@ "description": "Create Solid apps with low configuration", "license": "MIT", "author": "Ryan Carniato", + "private": true, "homepage": "https://start.solidjs.com/", "bugs": "https://github.com/solidjs/solid-start/issues", "repository": { @@ -100,7 +101,7 @@ "dequal": "^2.0.3", "dotenv": "^16.3.1", "es-module-lexer": "^1.3.0", - "esbuild": "^0.17.19", + "esbuild": "^0.18.14", "esbuild-plugin-solid": "^0.5.0", "fast-glob": "^3.3.0", "get-port": "^6.1.2", @@ -128,14 +129,8 @@ "@types/node": "^18.16.19", "@types/wait-on": "^5.3.1", "jsdom": "^20.0.3", - "solid-js": "^1.7.9", - "solid-start-cloudflare-pages": "workspace:*", - "solid-start-cloudflare-workers": "workspace:*", - "solid-start-deno": "workspace:*", - "solid-start-netlify": "workspace:*", + "solid-js": "^1.7.11", "solid-start-node": "workspace:*", - "solid-start-static": "workspace:*", - "solid-start-vercel": "workspace:*", "solid-testing-library": "^0.3.0", "typescript": "^4.9.5", "vite": "^4.4.6", @@ -145,40 +140,12 @@ "@solidjs/meta": "^0.28.0", "@solidjs/router": "^0.8.2", "solid-js": "^1.6.2", - "solid-start-aws": "*", - "solid-start-cloudflare-pages": "*", - "solid-start-cloudflare-workers": "*", - "solid-start-deno": "*", - "solid-start-netlify": "*", "solid-start-node": "*", - "solid-start-static": "*", - "solid-start-vercel": "*", "vite": "^4.4.6" }, "peerDependenciesMeta": { - "solid-start-aws": { - "optional": true - }, - "solid-start-cloudflare-pages": { - "optional": true - }, - "solid-start-cloudflare-workers": { - "optional": true - }, - "solid-start-deno": { - "optional": true - }, - "solid-start-netlify": { - "optional": true - }, "solid-start-node": { "optional": true - }, - "solid-start-static": { - "optional": true - }, - "solid-start-vercel": { - "optional": true } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 015bf780a..e148ce69a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,10 +26,10 @@ importers: version: 15.1.0(rollup@3.26.2) '@solidjs/meta': specifier: ^0.28.5 - version: 0.28.5(solid-js@1.7.9) + version: 0.28.5(solid-js@1.7.11) '@solidjs/router': specifier: ^0.8.2 - version: 0.8.2(solid-js@1.7.9) + version: 0.8.2(solid-js@1.7.11) '@tailwindcss/typography': specifier: ^0.5.9 version: 0.5.9(tailwindcss@3.3.3) @@ -61,23 +61,17 @@ importers: specifier: ^7.5.4 version: 7.5.4 solid-js: - specifier: ^1.7.9 - version: 1.7.9 + specifier: ^1.7.11 + version: 1.7.11 solid-mdx: specifier: ^0.0.6 - version: 0.0.6(solid-js@1.7.9)(vite@4.4.6) + version: 0.0.6(solid-js@1.7.11)(vite@4.4.6) solid-start: specifier: workspace:* version: link:packages/start - solid-start-cloudflare-workers: - specifier: workspace:* - version: link:packages/start-cloudflare-workers solid-start-mdx: specifier: workspace:* version: link:packages/mdx - solid-start-netlify: - specifier: workspace:* - version: link:packages/start-netlify solid-start-node: specifier: workspace:* version: link:packages/start-node @@ -101,6 +95,27 @@ importers: version: 3.21.4 examples/bare: + dependencies: + '@solidjs/meta': + specifier: ^0.28.5 + version: 0.28.5(solid-js@1.7.11) + '@solidjs/router': + specifier: ^0.8.2 + version: 0.8.2(solid-js@1.7.11) + '@solidjs/start': + specifier: workspace:^ + version: link:../../packages/start-new + autoprefixer: + specifier: ^10.4.14 + version: 10.4.14(postcss@8.4.26) + solid-js: + specifier: ^1.7.11 + version: 1.7.11 + vinxi: + specifier: 0.0.15 + version: 0.0.15(debug@4.3.4)(rollup@3.26.2) + + examples/bare-old: dependencies: '@solidjs/meta': specifier: ^0.28.5 @@ -112,7 +127,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@types/node': @@ -146,7 +161,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@types/babel__core': @@ -189,11 +204,11 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start solid-start-netlify: specifier: ^0.3.0 - version: link:../../packages/start-netlify + version: 0.3.0(solid-start@packages+start) devDependencies: '@iconify/json': specifier: ^2.2.90 @@ -250,7 +265,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start string_decoder: specifier: ^1.3.0 @@ -264,7 +279,7 @@ importers: devDependencies: solid-start-cloudflare-workers: specifier: ^0.3.0 - version: link:../../packages/start-cloudflare-workers + version: 0.3.0(solid-start@packages+start)(vite@4.4.6) solid-start-node: specifier: ^0.3.0 version: link:../../packages/start-node @@ -287,7 +302,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@types/node': @@ -327,7 +342,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@types/babel__core': @@ -373,7 +388,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@types/node': @@ -413,12 +428,12 @@ importers: specifier: ^0.0.6 version: 0.0.6(solid-js@1.7.11)(vite@4.4.6) solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: '@mdx-js/rollup': specifier: ^2.3.0 - version: 2.3.0(rollup@3.26.2) + version: 2.3.0(rollup@3.28.0) solid-start-node: specifier: ^0.3.0 version: link:../../packages/start-node @@ -447,7 +462,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: solid-start-node: @@ -472,7 +487,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start solid-styled: specifier: ^0.8.2 @@ -506,7 +521,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: autoprefixer: @@ -549,7 +564,7 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start solid-start-trpc: specifier: ^0.0.16 @@ -584,13 +599,13 @@ importers: devDependencies: '@solidjs/meta': specifier: ^0.28.5 - version: 0.28.5(solid-js@1.7.9) + version: 0.28.5(solid-js@1.7.11) '@solidjs/router': specifier: ^0.8.2 - version: 0.8.2(solid-js@1.7.9) + version: 0.8.2(solid-js@1.7.11) '@solidjs/testing-library': specifier: ^0.5.2 - version: 0.5.2(solid-js@1.7.9) + version: 0.5.2(solid-js@1.7.11) '@testing-library/jest-dom': specifier: ^5.16.5 version: 5.16.5 @@ -607,8 +622,8 @@ importers: specifier: ^20.0.3 version: 20.0.3 solid-js: - specifier: ^1.7.9 - version: 1.7.9 + specifier: ^1.7.11 + version: 1.7.11 solid-start: specifier: ^0.3.0 version: link:../../packages/start @@ -643,12 +658,12 @@ importers: specifier: ^1.7.11 version: 1.7.11 solid-start: - specifier: ^0.3.2 + specifier: ^0.3.3 version: link:../../packages/start devDependencies: solid-start-cloudflare-workers: specifier: ^0.3.0 - version: link:../../packages/start-cloudflare-workers + version: 0.3.0(solid-start@packages+start)(vite@4.4.6) typescript: specifier: ^4.9.5 version: 4.9.5 @@ -711,7 +726,7 @@ importers: version: 2.3.0 '@mdx-js/rollup': specifier: ^2.3.0 - version: 2.3.0(rollup@3.26.2) + version: 2.3.0(rollup@3.28.0) '@types/mdast': specifier: ^3.0.12 version: 3.0.12 @@ -809,11 +824,11 @@ importers: specifier: ^1.3.0 version: 1.3.0 esbuild: - specifier: ^0.17.19 - version: 0.17.19 + specifier: ^0.18.14 + version: 0.18.20 esbuild-plugin-solid: specifier: ^0.5.0 - version: 0.5.0(esbuild@0.17.19)(solid-js@1.7.9) + version: 0.5.0(esbuild@0.18.20)(solid-js@1.7.11) fast-glob: specifier: ^3.3.0 version: 3.3.0 @@ -847,9 +862,6 @@ importers: sirv: specifier: ^2.0.3 version: 2.0.3 - solid-start-aws: - specifier: '*' - version: link:../start-aws terser: specifier: ^5.19.0 version: 5.19.0 @@ -861,7 +873,7 @@ importers: version: 0.7.33(rollup@3.26.2)(vite@4.4.6) vite-plugin-solid: specifier: ^2.7.0 - version: 2.7.0(solid-js@1.7.9)(vite@4.4.6) + version: 2.7.0(solid-js@1.7.11)(vite@4.4.6) wait-on: specifier: ^6.0.1 version: 6.0.1(debug@4.3.4) @@ -871,10 +883,10 @@ importers: version: 3.19.0 '@solidjs/meta': specifier: ^0.28.5 - version: 0.28.5(solid-js@1.7.9) + version: 0.28.5(solid-js@1.7.11) '@solidjs/router': specifier: ^0.8.2 - version: 0.8.2(solid-js@1.7.9) + version: 0.8.2(solid-js@1.7.11) '@testing-library/jest-dom': specifier: ^5.16.5 version: 5.16.5 @@ -891,32 +903,14 @@ importers: specifier: ^20.0.3 version: 20.0.3 solid-js: - specifier: ^1.7.9 - version: 1.7.9 - solid-start-cloudflare-pages: - specifier: workspace:* - version: link:../start-cloudflare-pages - solid-start-cloudflare-workers: - specifier: workspace:* - version: link:../start-cloudflare-workers - solid-start-deno: - specifier: workspace:* - version: link:../start-deno - solid-start-netlify: - specifier: workspace:* - version: link:../start-netlify + specifier: ^1.7.11 + version: 1.7.11 solid-start-node: specifier: workspace:* version: link:../start-node - solid-start-static: - specifier: workspace:* - version: link:../start-static - solid-start-vercel: - specifier: workspace:* - version: link:../start-vercel solid-testing-library: specifier: ^0.3.0 - version: 0.3.0(solid-js@1.7.9) + version: 0.3.0(solid-js@1.7.11) typescript: specifier: ^4.9.5 version: 4.9.5 @@ -927,202 +921,24 @@ importers: specifier: ^0.20.3 version: 0.20.3(jsdom@20.0.3)(terser@5.19.0) - packages/start-aws: - dependencies: - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 - devDependencies: - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - - packages/start-cloudflare-pages: - dependencies: - '@cloudflare/kv-asset-handler': - specifier: ^0.2.0 - version: 0.2.0 - '@cloudflare/workers-types': - specifier: ^3.19.0 - version: 3.19.0 - '@miniflare/core': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/http-server': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/shared': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/web-sockets': - specifier: ^2.14.0 - version: 2.14.0 - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - '@types/ws': - specifier: ^8.5.5 - version: 8.5.5 - miniflare: - specifier: ^2.14.0 - version: 2.14.0 - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 - ws: - specifier: ^8.13.0 - version: 8.13.0 - devDependencies: - '@types/node': - specifier: ^18.16.19 - version: 18.16.19 - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - - packages/start-cloudflare-workers: - dependencies: - '@cloudflare/kv-asset-handler': - specifier: ^0.2.0 - version: 0.2.0 - '@cloudflare/workers-types': - specifier: ^3.19.0 - version: 3.19.0 - '@miniflare/core': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/http-server': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/shared': - specifier: ^2.14.0 - version: 2.14.0 - '@miniflare/web-sockets': - specifier: ^2.14.0 - version: 2.14.0 - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - '@types/ws': - specifier: ^8.5.5 - version: 8.5.5 - miniflare: - specifier: ^2.14.0 - version: 2.14.0 - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 - ws: - specifier: ^8.13.0 - version: 8.13.0 - devDependencies: - '@types/node': - specifier: ^18.16.19 - version: 18.16.19 - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - - packages/start-deno: - dependencies: - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 - devDependencies: - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - - packages/start-netlify: + packages/start-new: dependencies: - '@babel/core': - specifier: ^7.22.9 - version: 7.22.9 - '@babel/preset-env': - specifier: ^7.22.9 - version: 7.22.9(@babel/core@7.22.9) - '@rollup/plugin-babel': - specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.22.9)(rollup@3.26.2) - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - encoding: - specifier: ^0.1.13 - version: 0.1.13 - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 + vite-plugin-solid: + specifier: ^2.7.0 + version: 2.7.0(solid-js@1.7.11)(vite@4.4.6) devDependencies: - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) + '@solidjs/meta': + specifier: ^0.28.5 + version: 0.28.5(solid-js@1.7.11) + '@solidjs/router': + specifier: ^0.8.2 + version: 0.8.2(solid-js@1.7.11) + solid-js: + specifier: ^1.7.11 + version: 1.7.11 + vinxi: + specifier: 0.0.15 + version: 0.0.15(debug@4.3.4)(rollup@3.26.2) packages/start-node: dependencies: @@ -1158,71 +974,6 @@ importers: specifier: ^4.4.6 version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - packages/start-static: - dependencies: - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - rollup: - specifier: ^3.26.2 - version: 3.26.2 - sirv-cli: - specifier: 2.0.2 - version: 2.0.2 - solid-ssr: - specifier: ^1.7.2 - version: 1.7.2 - devDependencies: - solid-start: - specifier: workspace:* - version: link:../start - terser: - specifier: ^5.19.0 - version: 5.19.0 - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - - packages/start-vercel: - dependencies: - '@rollup/plugin-commonjs': - specifier: ^24.1.0 - version: 24.1.0(rollup@3.26.2) - '@rollup/plugin-json': - specifier: ^6.0.0 - version: 6.0.0(rollup@3.26.2) - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.2) - '@vercel/nft': - specifier: ^0.22.6 - version: 0.22.6 - fast-glob: - specifier: 3.2.12 - version: 3.2.12 - micromatch: - specifier: 4.0.5 - version: 4.0.5 - rollup: - specifier: ^3.26.2 - version: 3.26.2 - terser: - specifier: ^5.19.0 - version: 5.19.0 - devDependencies: - solid-start: - specifier: workspace:* - version: link:../start - vite: - specifier: ^4.4.6 - version: 4.4.6(@types/node@18.16.19)(terser@5.19.0) - test: dependencies: '@playwright/test': @@ -1303,34 +1054,16 @@ importers: version: 0.1.3 '@solidjs/meta': specifier: ^0.28.5 - version: 0.28.5(solid-js@1.7.9) + version: 0.28.5(solid-js@1.7.11) '@solidjs/router': specifier: ^0.8.2 - version: 0.8.2(solid-js@1.7.9) + version: 0.8.2(solid-js@1.7.11) solid-js: - specifier: ^1.7.9 - version: 1.7.9 - solid-start: - specifier: workspace:* - version: link:../../packages/start - solid-start-cloudflare-pages: - specifier: workspace:* - version: link:../../packages/start-cloudflare-pages - solid-start-cloudflare-workers: - specifier: workspace:* - version: link:../../packages/start-cloudflare-workers - solid-start-deno: - specifier: workspace:* - version: link:../../packages/start-deno - solid-start-netlify: - specifier: workspace:* - version: link:../../packages/start-netlify + specifier: ^1.7.11 + version: 1.7.11 solid-start-node: specifier: workspace:* version: link:../../packages/start-node - solid-start-static: - specifier: workspace:* - version: link:../../packages/start-static typescript: specifier: ^4.9.5 version: 4.9.5 @@ -2601,7 +2334,12 @@ packages: dependencies: mime: 3.0.0 - /@cloudflare/workers-types@3.19.0: + /@cloudflare/kv-asset-handler@0.3.0: + resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} + dependencies: + mime: 3.0.0 + + /@cloudflare/workers-types@3.19.0: resolution: {integrity: sha512-0FRcsz7Ea3jT+gc5gKPIYciykm1bbAaTpygdzpCwGt0RL+V83zWnYN30NWDW4rIHj/FHtz+MIuBKS61C8l7AzQ==} /@esbuild-plugins/node-globals-polyfill@0.1.1(esbuild@0.16.3): @@ -2634,7 +2372,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-arm64@0.18.20: @@ -2668,7 +2405,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-arm@0.18.20: @@ -2693,7 +2429,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: false optional: true /@esbuild/android-x64@0.18.20: @@ -2718,7 +2453,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/darwin-arm64@0.18.20: @@ -2743,7 +2477,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@esbuild/darwin-x64@0.18.20: @@ -2768,7 +2501,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -2793,7 +2525,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: false optional: true /@esbuild/freebsd-x64@0.18.20: @@ -2818,7 +2549,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm64@0.18.20: @@ -2843,7 +2573,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-arm@0.18.20: @@ -2868,7 +2597,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ia32@0.18.20: @@ -2911,7 +2639,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-loong64@0.18.20: @@ -2936,7 +2663,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-mips64el@0.18.20: @@ -2961,7 +2687,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-ppc64@0.18.20: @@ -2986,7 +2711,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-riscv64@0.18.20: @@ -3011,7 +2735,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-s390x@0.18.20: @@ -3036,7 +2759,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@esbuild/linux-x64@0.18.20: @@ -3061,7 +2783,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: false optional: true /@esbuild/netbsd-x64@0.18.20: @@ -3086,7 +2807,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: false optional: true /@esbuild/openbsd-x64@0.18.20: @@ -3111,7 +2831,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: false optional: true /@esbuild/sunos-x64@0.18.20: @@ -3136,7 +2855,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-arm64@0.18.20: @@ -3161,7 +2879,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-ia32@0.18.20: @@ -3186,7 +2903,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true /@esbuild/win32-x64@0.18.20: @@ -3231,6 +2947,9 @@ packages: transitivePeerDependencies: - supports-color + /@ioredis/commands@1.2.0: + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -3317,7 +3036,6 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false /@mdx-js/mdx@2.3.0: resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} @@ -3342,14 +3060,14 @@ packages: transitivePeerDependencies: - supports-color - /@mdx-js/rollup@2.3.0(rollup@3.26.2): + /@mdx-js/rollup@2.3.0(rollup@3.28.0): resolution: {integrity: sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==} peerDependencies: rollup: '>=2' dependencies: '@mdx-js/mdx': 2.3.0 - '@rollup/pluginutils': 5.0.2(rollup@3.26.2) - rollup: 3.26.2 + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + rollup: 3.28.0 source-map: 0.7.4 vfile: 5.3.7 transitivePeerDependencies: @@ -3372,7 +3090,7 @@ packages: '@miniflare/shared': 2.14.0 http-cache-semantics: 4.1.1 undici: 5.20.0 - dev: false + dev: true /@miniflare/cli-parser@2.13.0: resolution: {integrity: sha512-Nx1PIfuMZ3mK9Dg/JojWZAjHR16h1pcdCFSqYln/ME7y5ifx+P1E5UkShWUQ1cBlibNaltjbJ2n/7stSAsIGPQ==} @@ -3387,7 +3105,7 @@ packages: dependencies: '@miniflare/shared': 2.14.0 kleur: 4.1.5 - dev: false + dev: true /@miniflare/core@2.13.0: resolution: {integrity: sha512-YJ/C0J3k+7xn4gvlMpvePnM3xC8nOnkweW96cc0IA8kJ1JSmScOO2tZ7rrU1RyDgp6StkAtQBw4yC0wYeFycBw==} @@ -3418,7 +3136,7 @@ packages: set-cookie-parser: 2.6.0 undici: 5.20.0 urlpattern-polyfill: 4.0.3 - dev: false + dev: true /@miniflare/d1@2.13.0: resolution: {integrity: sha512-OslqjO8iTcvzyrC0spByftMboRmHJEyHyTHnlKkjWDGdQQztEOjso2Xj+3I4SZIeUYvbzDRhKLS2QXI9a8LS5A==} @@ -3433,7 +3151,7 @@ packages: dependencies: '@miniflare/core': 2.14.0 '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/durable-objects@2.13.0: resolution: {integrity: sha512-CRGVBPO9vY4Fc3aV+pdPRVVeYIt64vQqvw+BJbyW+TQtqVP2CGQeziJGnCfcONNNKyooZxGyUkHewUypyH+Qhg==} @@ -3452,7 +3170,7 @@ packages: '@miniflare/shared': 2.14.0 '@miniflare/storage-memory': 2.14.0 undici: 5.20.0 - dev: false + dev: true /@miniflare/html-rewriter@2.13.0: resolution: {integrity: sha512-XhN7Icyzvtvu+o/A0hrnSiSmla78seCaNwQ9M1TDHxt352I/ahPX4wtPXs6GbKqY0/i+V6yoG2KGFRQ/j59cQQ==} @@ -3471,7 +3189,7 @@ packages: '@miniflare/shared': 2.14.0 html-rewriter-wasm: 0.4.1 undici: 5.20.0 - dev: false + dev: true /@miniflare/http-server@2.13.0: resolution: {integrity: sha512-aMS/nUMTKP15hKnyZboeuWCiqmNrrCu+XRBY/TxDDl07iXcLpiHGf3oVv+yXxXkWlJHJVCbK7i/nXSNPllRMSw==} @@ -3504,7 +3222,7 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false + dev: true /@miniflare/kv@2.13.0: resolution: {integrity: sha512-J0AS5x3g/YVOmHMxMAZs07nRXRvSo9jyuC0eikTBf+4AABvBIyvVYmdTjYNjCmr8O5smcfWBX5S27HelD3aAAQ==} @@ -3517,7 +3235,7 @@ packages: engines: {node: '>=16.13'} dependencies: '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/queues@2.13.0: resolution: {integrity: sha512-Gf/a6M1mJL03iOvNqh3JNahcBfvEMPHnO28n0gkCoyYWGvddIr9lwCdFIa0qwNJsC1fIDRxhPg8PZ5cQLBMwRA==} @@ -3530,7 +3248,7 @@ packages: engines: {node: '>=16.7'} dependencies: '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/r2@2.13.0: resolution: {integrity: sha512-/5k6GHOYMNV/oBtilV9HDXBkJUrx8oXVigG5vxbnzEGRXyVRmR+Glzu7mFT8JiE94XiEbXHk9Qvu1S5Dej3wBw==} @@ -3546,7 +3264,7 @@ packages: '@miniflare/core': 2.14.0 '@miniflare/shared': 2.14.0 undici: 5.20.0 - dev: false + dev: true /@miniflare/runner-vm@2.13.0: resolution: {integrity: sha512-VmKtF2cA8HmTuLXor1THWY0v+DmaobPct63iLcgWIaUdP3MIvL+9X8HDXFAviCR7bCTe6MKxckHkaOj0IE0aJQ==} @@ -3559,7 +3277,7 @@ packages: engines: {node: '>=16.13'} dependencies: '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/scheduler@2.13.0: resolution: {integrity: sha512-AOaQanoR4NjVEzVGWHnrL15A7aMx+d9AKLJhSDF7KaP+4NrT2Wo2BQuXCpn5oStx3itOdlQpMfqQ139e/I8WhQ==} @@ -3576,7 +3294,7 @@ packages: '@miniflare/core': 2.14.0 '@miniflare/shared': 2.14.0 cron-schedule: 3.0.6 - dev: false + dev: true /@miniflare/shared@2.13.0: resolution: {integrity: sha512-m8YFQzKmbjberrV9hPzNcQjNCXxjTjXUpuNrIGjAJO7g+BDztUHaZbdd26H9maBDlkeiWxA3hf0mDyCT/6MCMA==} @@ -3595,7 +3313,7 @@ packages: kleur: 4.1.5 npx-import: 1.1.4 picomatch: 2.3.1 - dev: false + dev: true /@miniflare/sites@2.13.0: resolution: {integrity: sha512-/tuzIu00o6CF2tkSv01q02MgEShXBSKx85h9jwWvc+6u7prGacAOer0FA1YNRFbE+t9QIfutAkoPGMA9zYf8+Q==} @@ -3612,7 +3330,7 @@ packages: '@miniflare/kv': 2.14.0 '@miniflare/shared': 2.14.0 '@miniflare/storage-file': 2.14.0 - dev: false + dev: true /@miniflare/storage-file@2.13.0: resolution: {integrity: sha512-LuAeAAY5046rq5U1eFLVkz+ppiFEWytWacpkQw92DvVKFFquZcXSj6WPxZF4rSs23WDk+rdcwuLekbb52aDR7A==} @@ -3627,7 +3345,7 @@ packages: dependencies: '@miniflare/shared': 2.14.0 '@miniflare/storage-memory': 2.14.0 - dev: false + dev: true /@miniflare/storage-memory@2.13.0: resolution: {integrity: sha512-FnkYcBNXa/ym1ksNilNZycg9WYYKo6cWKplVBeSthRon3e8QY6t3n7/XRseBUo7O6mhDybVTy4wNCP1R2nBiEw==} @@ -3640,7 +3358,7 @@ packages: engines: {node: '>=16.13'} dependencies: '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/watcher@2.13.0: resolution: {integrity: sha512-teAacWcpMStoBLbLae95IUaL5lPzjPlXa9lhK9CbRaio/KRMibTMRGWrYos3IVGQRZvklvLwcms/nTvgcdb6yw==} @@ -3653,7 +3371,7 @@ packages: engines: {node: '>=16.13'} dependencies: '@miniflare/shared': 2.14.0 - dev: false + dev: true /@miniflare/web-sockets@2.13.0: resolution: {integrity: sha512-+U2/HCf+BetRIgjAnNQjkuN6UeAjQmXifhQC+7CCaX834XJhrKXoR6z2xr2xkg1qj0qQs4D2jWG0KzrO5OUpug==} @@ -3678,7 +3396,13 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false + dev: true + + /@netlify/functions@1.6.0: + resolution: {integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==} + engines: {node: '>=14.0.0'} + dependencies: + is-promise: 4.0.0 /@next/env@13.4.13: resolution: {integrity: sha512-fwz2QgVg08v7ZL7KmbQBLF2PubR/6zQdKBgmHEl3BCyWTEDsAQEijjw2gbFhI1tcKfLdOOJUXntz5vZ4S0Polg==} @@ -3786,6 +3510,114 @@ packages: /@panva/hkdf@1.1.1: resolution: {integrity: sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==} + /@parcel/watcher-android-arm64@2.2.0: + resolution: {integrity: sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-arm64@2.2.0: + resolution: {integrity: sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-x64@2.2.0: + resolution: {integrity: sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.2.0: + resolution: {integrity: sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-glibc@2.2.0: + resolution: {integrity: sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-musl@2.2.0: + resolution: {integrity: sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-glibc@2.2.0: + resolution: {integrity: sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-musl@2.2.0: + resolution: {integrity: sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-wasm@2.3.0-alpha.1: + resolution: {integrity: sha512-wo6065l1MQ6SJPPchYw/q8J+pFL40qBXLu4Td2CXeQ/+mUk8NenNqC75P/P1Cyvpam0kfk91iszd+XL+xKDQww==} + engines: {node: '>= 10.0.0'} + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + napi-wasm: 1.1.0 + + /@parcel/watcher-win32-arm64@2.2.0: + resolution: {integrity: sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-x64@2.2.0: + resolution: {integrity: sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher@2.2.0: + resolution: {integrity: sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==} + engines: {node: '>= 10.0.0'} + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.0.0 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.2.0 + '@parcel/watcher-darwin-arm64': 2.2.0 + '@parcel/watcher-darwin-x64': 2.2.0 + '@parcel/watcher-linux-arm-glibc': 2.2.0 + '@parcel/watcher-linux-arm64-glibc': 2.2.0 + '@parcel/watcher-linux-arm64-musl': 2.2.0 + '@parcel/watcher-linux-x64-glibc': 2.2.0 + '@parcel/watcher-linux-x64-musl': 2.2.0 + '@parcel/watcher-win32-arm64': 2.2.0 + '@parcel/watcher-win32-x64': 2.2.0 + /@playwright/test@1.25.2: resolution: {integrity: sha512-6qPznIR4Fw02OMbqXUPMG6bFFg1hDVNEdihKy0t9K0dmRbus1DyP5Q5XFQhGwEHQkLG5hrSfBuu9CW/foqhQHQ==} engines: {node: '>=14'} @@ -3825,6 +3657,18 @@ packages: requiresBuild: true dev: false + /@rollup/plugin-alias@5.0.0(rollup@3.28.0): + resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.0 + slash: 4.0.0 + /@rollup/plugin-babel@6.0.3(@babel/core@7.22.9)(rollup@3.26.2): resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==} engines: {node: '>=14.0.0'} @@ -3877,6 +3721,37 @@ packages: magic-string: 0.27.0 rollup: 3.26.2 + /@rollup/plugin-commonjs@25.0.4(rollup@3.28.0): + resolution: {integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.27.0 + rollup: 3.28.0 + + /@rollup/plugin-inject@5.0.3(rollup@3.28.0): + resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + estree-walker: 2.0.2 + magic-string: 0.27.0 + rollup: 3.28.0 + /@rollup/plugin-json@4.0.0(rollup@2.78.0): resolution: {integrity: sha512-Z65CtEVWv40+ri4CvmswyhtuUtki9yP5p0UJN/GyCKKyU4jRuDS9CG0ZuV7/XuS7zGkoajyE7E4XBEaC4GW62A==} peerDependencies: @@ -3898,6 +3773,18 @@ packages: '@rollup/pluginutils': 5.0.2(rollup@3.26.2) rollup: 3.26.2 + /@rollup/plugin-json@6.0.0(rollup@3.28.0): + resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + rollup: 3.28.0 + /@rollup/plugin-node-resolve@13.0.2(rollup@2.78.0): resolution: {integrity: sha512-hv+eAMcA2hQ7qvPVcXbtIyc0dtue4jMyA2sCW4IMkrmh+SeDDEHg1MXTv65VPpKdtjvWzN3+4mHAEl4rT+zgzQ==} engines: {node: '>= 10.0.0'} @@ -3930,6 +3817,61 @@ packages: resolve: 1.22.4 rollup: 3.26.2 + /@rollup/plugin-node-resolve@15.1.0(rollup@3.28.0): + resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.4 + rollup: 3.28.0 + + /@rollup/plugin-replace@5.0.2(rollup@3.28.0): + resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + magic-string: 0.27.0 + rollup: 3.28.0 + + /@rollup/plugin-terser@0.4.3(rollup@3.28.0): + resolution: {integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.x || ^3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.0 + serialize-javascript: 6.0.1 + smob: 1.4.0 + terser: 5.19.0 + + /@rollup/plugin-wasm@6.1.3(rollup@3.28.0): + resolution: {integrity: sha512-7ItTTeyauE6lwdDtQWceEHZ9+txbi4RRy0mYPFn9BW7rD7YdgBDu7HTHsLtHrRzJc313RM/1m6GKgV3np/aEaw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.28.0 + /@rollup/pluginutils@3.1.0(rollup@2.78.0): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -3948,7 +3890,6 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - dev: false /@rollup/pluginutils@5.0.2(rollup@3.26.2): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} @@ -3964,6 +3905,20 @@ packages: picomatch: 2.3.1 rollup: 3.26.2 + /@rollup/pluginutils@5.0.2(rollup@3.28.0): + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.28.0 + /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} dependencies: @@ -4007,15 +3962,6 @@ packages: solid-js: '>=1.4.0' dependencies: solid-js: 1.7.11 - dev: false - - /@solidjs/meta@0.28.5(solid-js@1.7.9): - resolution: {integrity: sha512-52luJR6hVNMA1K8Od5OD0d8WVz/svqZG4is8lrDimiUGxdia3DzuLF+pK56dnEzbNt9cA42qVFL134U9LkC9Gg==} - peerDependencies: - solid-js: '>=1.4.0' - dependencies: - solid-js: 1.7.9 - dev: true /@solidjs/router@0.8.2(solid-js@1.7.11): resolution: {integrity: sha512-gUKW+LZqxtX6y/Aw6JKyy4gQ9E7dLqp513oB9pSYJR1HM5c56Pf7eijzyXX+b3WuXig18Cxqah4tMtF0YGu80w==} @@ -4023,24 +3969,15 @@ packages: solid-js: ^1.5.3 dependencies: solid-js: 1.7.11 - dev: false - - /@solidjs/router@0.8.2(solid-js@1.7.9): - resolution: {integrity: sha512-gUKW+LZqxtX6y/Aw6JKyy4gQ9E7dLqp513oB9pSYJR1HM5c56Pf7eijzyXX+b3WuXig18Cxqah4tMtF0YGu80w==} - peerDependencies: - solid-js: ^1.5.3 - dependencies: - solid-js: 1.7.9 - dev: true - /@solidjs/testing-library@0.5.2(solid-js@1.7.9): + /@solidjs/testing-library@0.5.2(solid-js@1.7.11): resolution: {integrity: sha512-GXUiI0Itz/7FfTJrV0RoICS2lL0RE3D1lNSrnuNg9nLC28qKnEQhm9Gfk4gFP9rGVzmsJJJC7yf8kbHMuyR2AA==} engines: {node: '>= 14'} peerDependencies: solid-js: '>=1.0.0' dependencies: '@testing-library/dom': 8.20.1 - solid-js: 1.7.9 + solid-js: 1.7.11 dev: true /@swc/helpers@0.5.1: @@ -4245,6 +4182,11 @@ packages: dependencies: '@types/unist': 2.0.7 + /@types/http-proxy@1.17.11: + resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} + dependencies: + '@types/node': 18.16.19 + /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -4325,7 +4267,7 @@ packages: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: '@types/node': 18.16.19 - dev: false + dev: true /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -4367,8 +4309,8 @@ packages: - supports-color dev: false - /@vercel/nft@0.22.6: - resolution: {integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==} + /@vercel/nft@0.23.1: + resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} engines: {node: '>=14'} hasBin: true dependencies: @@ -4386,7 +4328,6 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: false /@vitest/coverage-c8@0.26.3(@vitest/ui@0.26.3)(jsdom@20.0.3): resolution: {integrity: sha512-sjmVYPozajWY2DawzuvhYX6hEe/LD6p2xv9VmPvh1zzDeNNVCAnyLcvXoaSMQD522x9bqciuyPrlrnh2iNkE/w==} @@ -4454,7 +4395,6 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: false /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -4504,6 +4444,10 @@ packages: uri-js: 4.4.1 dev: true + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -4547,7 +4491,36 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: false + + /arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + /archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 2.3.8 + + /archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} + dependencies: + archiver-utils: 2.1.0 + async: 3.2.4 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.0 /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} @@ -4555,7 +4528,6 @@ packages: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: false /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -4567,6 +4539,9 @@ packages: sprintf-js: 1.0.3 dev: true + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + /aria-query@4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} @@ -4613,7 +4588,9 @@ packages: /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - dev: false + + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -4727,6 +4704,9 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: @@ -4746,7 +4726,13 @@ packages: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 - dev: false + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 /blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} @@ -4788,9 +4774,18 @@ packages: node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4818,6 +4813,23 @@ packages: engines: {node: '>= 0.8'} dev: false + /c12@1.4.2: + resolution: {integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==} + dependencies: + chokidar: 3.5.3 + defu: 6.1.2 + dotenv: 16.3.1 + giget: 1.1.2 + jiti: 1.19.1 + mlly: 1.4.0 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + transitivePeerDependencies: + - supports-color + /c8@7.14.0: resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==} engines: {node: '>=10.12.0'} @@ -4906,6 +4918,10 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + /character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -4984,12 +5000,16 @@ packages: /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: false /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} + /citty@0.1.2: + resolution: {integrity: sha512-Me9nf0/BEmMOnuQzMOVXgpzkMUNbd0Am8lTl/13p0aRGAoLGk5T5sdet/42CrIGmWdG67BgHUhcKK1my1ujUEg==} + dependencies: + consola: 3.2.3 + /cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5002,6 +5022,14 @@ packages: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} dev: true + /clipboardy@3.0.0: + resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + arch: 2.2.0 + execa: 5.1.1 + is-wsl: 2.2.0 + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -5017,7 +5045,10 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: false + + /cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -5039,11 +5070,13 @@ packages: /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - dev: false /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -5068,6 +5101,15 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + /compress-commons@4.1.1: + resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} + engines: {node: '>= 10'} + dependencies: + buffer-crc32: 0.2.13 + crc32-stream: 4.0.2 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -5105,18 +5147,19 @@ packages: - supports-color dev: false - /console-clear@1.1.1: - resolution: {integrity: sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==} - engines: {node: '>=4'} - dev: false + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: false /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /cookie-es@1.0.0: + resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} + /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} @@ -5138,7 +5181,6 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true /coveralls@3.1.1: resolution: {integrity: sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==} @@ -5152,6 +5194,18 @@ packages: request: 2.88.2 dev: true + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + /crc32-stream@4.0.2: + resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} + engines: {node: '>= 10'} + dependencies: + crc-32: 1.2.2 + readable-stream: 3.6.2 + /cron-schedule@3.0.6: resolution: {integrity: sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==} @@ -5353,7 +5407,6 @@ packages: optional: true dependencies: ms: 2.0.0 - dev: false /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -5429,7 +5482,6 @@ packages: /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} - dev: false /define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} @@ -5444,6 +5496,9 @@ packages: object-keys: 1.1.1 dev: true + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + /degit@2.8.4: resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==} engines: {node: '>=8.0.0'} @@ -5456,16 +5511,34 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: false + + /denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + /destr@2.0.1: + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - dev: false /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -5479,6 +5552,12 @@ packages: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true @@ -5570,6 +5649,12 @@ packages: domhandler: 5.0.3 dev: false + /dot-prop@7.2.0: + resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + type-fest: 2.19.0 + /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} @@ -5577,7 +5662,9 @@ packages: /dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} - dev: false + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -5592,7 +5679,6 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} - dev: false /electron-to-chromium@1.4.488: resolution: {integrity: sha512-Dv4sTjiW7t/UWGL+H8ZkgIjtUAVZDgb/PwGWvMsCT7jipzUV/u5skbLXPFKb6iV0tiddVi/bcS2/kUrczeWgIQ==} @@ -5607,7 +5693,6 @@ packages: /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: false /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -5615,6 +5700,11 @@ packages: iconv-lite: 0.6.3 dev: false + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + /entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} dev: false @@ -5642,7 +5732,6 @@ packages: /es-module-lexer@1.3.0: resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} - dev: false /esbuild-android-64@0.14.54: resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} @@ -5932,7 +6021,7 @@ packages: dev: true optional: true - /esbuild-plugin-solid@0.5.0(esbuild@0.17.19)(solid-js@1.7.9): + /esbuild-plugin-solid@0.5.0(esbuild@0.18.20)(solid-js@1.7.11): resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==} peerDependencies: esbuild: '>=0.12' @@ -5941,8 +6030,8 @@ packages: '@babel/core': 7.22.9 '@babel/preset-typescript': 7.22.5(@babel/core@7.22.9) babel-preset-solid: 1.7.7(@babel/core@7.22.9) - esbuild: 0.17.19 - solid-js: 1.7.9 + esbuild: 0.18.20 + solid-js: 1.7.11 transitivePeerDependencies: - supports-color dev: false @@ -6135,7 +6224,6 @@ packages: '@esbuild/win32-arm64': 0.17.19 '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 - dev: false /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} @@ -6172,7 +6260,6 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -6186,6 +6273,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + /escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -6271,6 +6362,13 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + /excerpts@0.0.3: resolution: {integrity: sha512-osE67JikKwTcbZYgEMZrnDFJMto8HDwlYKsjKPyVIkRvOixG6NWqj0hfKkISUwz5R7HOusJEzSqyZmLw565AJQ==} dependencies: @@ -6343,8 +6441,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.0: + resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6352,10 +6450,9 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: false - /fast-glob@3.3.0: - resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6394,7 +6491,6 @@ packages: /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: false /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -6424,6 +6520,10 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true @@ -6438,7 +6538,6 @@ packages: optional: true dependencies: debug: 4.3.4 - dev: false /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -6490,6 +6589,13 @@ packages: /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -6497,14 +6603,12 @@ packages: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 - dev: false /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - dev: false /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -6536,7 +6640,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - dev: false /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -6558,15 +6661,12 @@ packages: has-symbols: 1.0.3 dev: true - /get-port@3.2.0: - resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} - engines: {node: '>=4'} - dev: false + /get-port-please@3.0.1: + resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} /get-port@6.1.2: resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} @@ -6578,6 +6678,20 @@ packages: assert-plus: 1.0.0 dev: true + /giget@1.1.2: + resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} + hasBin: true + dependencies: + colorette: 2.0.20 + defu: 6.1.2 + https-proxy-agent: 5.0.1 + mri: 1.2.0 + node-fetch-native: 1.2.0 + pathe: 1.1.1 + tar: 6.1.15 + transitivePeerDependencies: + - supports-color + /github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: false @@ -6647,6 +6761,16 @@ packages: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true @@ -6665,6 +6789,36 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true + /gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + duplexer: 0.1.2 + + /h3@1.8.0: + resolution: {integrity: sha512-057VY83X7Tg5n4XU2GV9M3dsCWUU4jtw2Lc/r4GjAcf9Jb6GI1mD5F8TCQHUcvLMEgtx6lbfobOFu7Vdmejihg==} + dependencies: + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + iron-webcrypto: 0.8.0 + radix3: 1.1.0 + ufo: 1.2.0 + uncrypto: 0.1.3 + unenv: 1.7.1 + + /h3@1.8.0-rc.2: + resolution: {integrity: sha512-2VSDQOuVElZ7QCSTbti5fTkfyrsOIYSG9SXQQ+xO/dI3O2n2k6cbA1/rapNOJZtC2tO7cN8N/JlGhlUsFh5LoA==} + dependencies: + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + iron-webcrypto: 0.8.0 + radix3: 1.1.0 + ufo: 1.2.0 + uncrypto: 0.1.3 + unenv: 1.7.1 + /har-schema@2.0.0: resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} @@ -6716,7 +6870,6 @@ packages: /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: false /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} @@ -6819,6 +6972,9 @@ packages: space-separated-tokens: 2.0.2 dev: false + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -6864,6 +7020,24 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + /http-graceful-shutdown@3.1.13: + resolution: {integrity: sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==} + engines: {node: '>=4.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -6875,6 +7049,20 @@ packages: - supports-color dev: true + /http-proxy@1.18.1(debug@4.3.4): + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.2(debug@4.3.4) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + /http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + /http-signature@1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} @@ -6912,6 +7100,13 @@ packages: dependencies: safer-buffer: 2.1.2 + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + /immutable@4.3.2: resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} dev: true @@ -6941,6 +7136,25 @@ packages: side-channel: 1.0.4 dev: true + /ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + dependencies: + '@ioredis/commands': 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + + /iron-webcrypto@0.8.0: + resolution: {integrity: sha512-gScdcWHjTGclCU15CIv2r069NoQrys1UeUFFfaO1hL++ytLHkVw7N5nXJmFf3J2LEDMz1PkrvC0m62JEeu1axQ==} + /is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -7020,7 +7234,6 @@ packages: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: false /is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} @@ -7094,6 +7307,13 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + + /is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -7176,7 +7396,9 @@ packages: engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - dev: false + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -7261,7 +7483,6 @@ packages: /jiti@1.19.1: resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true - dev: true /joi@17.9.2: resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} @@ -7291,6 +7512,12 @@ packages: esprima: 4.0.1 dev: true + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + /jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true @@ -7372,7 +7599,6 @@ packages: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 - dev: false /jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} @@ -7393,9 +7619,22 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + /knitwork@1.0.0: + resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} + /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + /lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + dependencies: + readable-stream: 2.3.8 + /lcov-parse@1.0.0: resolution: {integrity: sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==} hasBin: true @@ -7409,10 +7648,26 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /local-access@1.1.0: - resolution: {integrity: sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==} - engines: {node: '>=6'} - dev: false + /listhen@1.3.0: + resolution: {integrity: sha512-QhlP01ReqSXpu8OgBaFQjYMU/4YJTCWLFtoDTxBhitPQWfu0UuBoG2HizMysaRkUEAr/CVxB/20T8ni0zQDPtw==} + hasBin: true + dependencies: + '@parcel/watcher': 2.2.0 + '@parcel/watcher-wasm': 2.3.0-alpha.1 + citty: 0.1.2 + clipboardy: 3.0.0 + consola: 3.2.3 + defu: 6.1.2 + get-port-please: 3.0.1 + h3: 1.8.0 + http-shutdown: 1.2.2 + jiti: 1.19.1 + mlly: 1.4.0 + node-forge: 1.3.1 + pathe: 1.1.1 + ufo: 1.2.0 + untun: 0.1.1 + uqr: 0.1.2 /local-pkg@0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} @@ -7442,7 +7697,9 @@ packages: /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: false + + /lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} /lodash.filter@4.6.0: resolution: {integrity: sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==} @@ -7450,15 +7707,16 @@ packages: /lodash.flatten@4.4.0: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: false /lodash.foreach@4.5.0: resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} dev: false + /lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true /lodash.map@4.6.0: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} @@ -7486,6 +7744,9 @@ packages: resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==} dev: false + /lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -7512,6 +7773,10 @@ packages: dependencies: get-func-name: 2.0.0 + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -7538,12 +7803,17 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: false /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -7970,6 +8240,11 @@ packages: dependencies: mime-db: 1.52.0 + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} @@ -8073,7 +8348,7 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false + dev: true /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -8094,12 +8369,10 @@ packages: engines: {node: '>=8'} dependencies: yallist: 4.0.0 - dev: false /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: false /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -8107,13 +8380,11 @@ packages: dependencies: minipass: 3.3.6 yallist: 4.0.0 - dev: false /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: false /mlly@1.4.0: resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} @@ -8133,11 +8404,13 @@ packages: /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + /mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -8155,6 +8428,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /napi-wasm@1.1.0: + resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} + /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -8225,11 +8501,102 @@ packages: - babel-plugin-macros dev: true + /nitropack-edge@2.6.0-28186311.f8d176b(debug@4.3.4): + resolution: {integrity: sha512-BWyEDW+fNfsCPGeCc74jGlDY6A5efMuwfYb8HCnN0d7W4ROWBYHp63WI90Y4ge4dEklUtlps2hq5FF9V2uFp3g==} + engines: {node: ^14.16.0 || ^16.11.0 || >=17.0.0} + hasBin: true + dependencies: + '@cloudflare/kv-asset-handler': 0.3.0 + '@netlify/functions': 1.6.0 + '@rollup/plugin-alias': 5.0.0(rollup@3.28.0) + '@rollup/plugin-commonjs': 25.0.4(rollup@3.28.0) + '@rollup/plugin-inject': 5.0.3(rollup@3.28.0) + '@rollup/plugin-json': 6.0.0(rollup@3.28.0) + '@rollup/plugin-node-resolve': 15.1.0(rollup@3.28.0) + '@rollup/plugin-replace': 5.0.2(rollup@3.28.0) + '@rollup/plugin-terser': 0.4.3(rollup@3.28.0) + '@rollup/plugin-wasm': 6.1.3(rollup@3.28.0) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@types/http-proxy': 1.17.11 + '@vercel/nft': 0.23.1 + archiver: 5.3.2 + c12: 1.4.2 + chalk: 5.3.0 + chokidar: 3.5.3 + citty: 0.1.2 + consola: 3.2.3 + cookie-es: 1.0.0 + defu: 6.1.2 + destr: 2.0.1 + dot-prop: 7.2.0 + esbuild: 0.18.20 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + fs-extra: 11.1.1 + globby: 13.2.2 + gzip-size: 7.0.0 + h3: 1.8.0 + hookable: 5.5.3 + http-graceful-shutdown: 3.1.13 + http-proxy: 1.18.1(debug@4.3.4) + is-primitive: 3.0.1 + jiti: 1.19.1 + klona: 2.0.6 + knitwork: 1.0.0 + listhen: 1.3.0 + magic-string: 0.30.2 + mime: 3.0.0 + mlly: 1.4.0 + mri: 1.2.0 + node-fetch-native: 1.2.0 + ofetch: 1.1.1 + ohash: 1.1.3 + openapi-typescript: 6.5.0 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + radix3: 1.1.0 + rollup: 3.28.0 + rollup-plugin-visualizer: 5.9.2(rollup@3.28.0) + scule: 1.0.0 + semver: 7.5.4 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + source-map-support: 0.5.21 + std-env: 3.3.3 + ufo: 1.2.0 + uncrypto: 0.1.3 + unenv: 1.7.1 + unimport: 3.1.3(rollup@3.28.0) + unstorage: 1.9.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - debug + - encoding + - idb-keyval + - supports-color + + /node-addon-api@7.0.0: + resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} dev: true + /node-fetch-native@1.2.0: + resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} + /node-fetch@2.6.12: resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} engines: {node: 4.x || >=6.0.0} @@ -8240,7 +8607,6 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: false /node-fetch@3.3.1: resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} @@ -8258,7 +8624,6 @@ packages: /node-gyp-build@4.6.0: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true - dev: false /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} @@ -8269,7 +8634,6 @@ packages: hasBin: true dependencies: abbrev: 1.1.1 - dev: false /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -8302,7 +8666,6 @@ packages: console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - dev: false /nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -8384,6 +8747,16 @@ packages: object-keys: 1.1.1 dev: true + /ofetch@1.1.1: + resolution: {integrity: sha512-SSMoktrp9SNLi20BWfB/BnnKcL0RDigXThD/mZBeQxkIRv1xrd9183MtLdsqRYLYSqW0eTr5t8w8MqjNhvoOQQ==} + dependencies: + destr: 2.0.1 + node-fetch-native: 1.2.0 + ufo: 1.2.0 + + /ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + /oidc-token-hash@5.0.3: resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} engines: {node: ^10.13.0 || >=12.0.0} @@ -8396,6 +8769,12 @@ packages: ee-first: 1.1.1 dev: false + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} @@ -8425,7 +8804,6 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - dev: false /open@9.1.0: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} @@ -8437,6 +8815,17 @@ packages: is-wsl: 2.2.0 dev: false + /openapi-typescript@6.5.0: + resolution: {integrity: sha512-FHrCCZdwNP47OcEPrjHcw7IhRcky3SpTA8lI8q+mvI27ow5UQEvWjGJk7pK0XzmiXjgYKtIoL6+vmL7x3tzvCg==} + hasBin: true + dependencies: + ansi-colors: 4.1.3 + fast-glob: 3.3.1 + js-yaml: 4.1.0 + supports-color: 9.4.0 + undici: 5.23.0 + yargs-parser: 21.1.1 + /openid-client@5.4.3: resolution: {integrity: sha512-sVQOvjsT/sbSfYsQI/9liWQGVZH/Pp3rrtlGEwgk/bbHfrUDZ24DN57lAagIwFtuEu+FM9Ev7r85s8S/yPjimQ==} dependencies: @@ -8507,7 +8896,6 @@ packages: /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: false /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -8531,6 +8919,10 @@ packages: /path-to-regexp@6.2.1: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + /pathe@0.2.0: resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} dev: true @@ -8541,6 +8933,9 @@ packages: /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} dev: true @@ -8967,6 +9362,10 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + /pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + /pretty-format@26.6.2: resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} engines: {node: '>= 10'} @@ -9005,6 +9404,9 @@ packages: '@prisma/engines': 4.16.2 dev: false + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -9037,6 +9439,25 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /radix3@1.1.0: + resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + /rc9@2.1.1: + resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} + dependencies: + defu: 6.1.2 + destr: 2.0.1 + flat: 5.0.2 + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -9066,6 +9487,17 @@ packages: pify: 2.3.0 dev: true + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -9073,7 +9505,11 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false + + /readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + dependencies: + minimatch: 5.1.6 /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -9088,6 +9524,16 @@ packages: indent-string: 4.0.0 strip-indent: 3.0.0 + /redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + /redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + dependencies: + redis-errors: 1.2.0 + /regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -9263,12 +9709,10 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: false /resolve@1.22.4: resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} @@ -9316,7 +9760,22 @@ packages: rollup: 3.26.2 source-map: 0.7.4 yargs: 17.7.2 - dev: false + + /rollup-plugin-visualizer@5.9.2(rollup@3.28.0): + resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + rollup: 3.28.0 + source-map: 0.7.4 + yargs: 17.7.2 /rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} @@ -9356,6 +9815,13 @@ packages: optionalDependencies: fsevents: 2.3.2 + /rollup@3.28.0: + resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + /route-sort@1.0.0: resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==} engines: {node: '>= 6'} @@ -9387,7 +9853,6 @@ packages: /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: false /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -9429,6 +9894,9 @@ packages: loose-envify: 1.4.0 dev: true + /scule@1.0.0: + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} + /selfsigned@2.1.1: resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} engines: {node: '>=10'} @@ -9450,17 +9918,60 @@ packages: dependencies: lru-cache: 6.0.0 + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + /seroval@0.5.1: resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==} engines: {node: '>=10'} + /serve-placeholder@2.0.1: + resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + dependencies: + defu: 6.1.2 + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: false /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -9508,21 +10019,6 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /sirv-cli@2.0.2: - resolution: {integrity: sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - console-clear: 1.1.1 - get-port: 3.2.0 - kleur: 4.1.5 - local-access: 1.1.0 - sade: 1.8.1 - semiver: 1.1.0 - sirv: 2.0.3 - tinydate: 1.3.0 - dev: false - /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -9539,6 +10035,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -9547,6 +10047,9 @@ packages: is-fullwidth-code-point: 4.0.0 dev: false + /smob@1.4.0: + resolution: {integrity: sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==} + /solid-heroicons@3.2.4(solid-js@1.7.11): resolution: {integrity: sha512-u6BMdFLvkJnvUGYzdFcWp1wvJ4hb9Y1zd3AbZ9D3bUmmiy9jBzNZX+RcqBCI2EKRvdQwAb1UB9bkESfqfhayDg==} peerDependencies: @@ -9561,12 +10064,6 @@ packages: csstype: 3.1.0 seroval: 0.5.1 - /solid-js@1.7.9: - resolution: {integrity: sha512-p1orXnauMQmwYULZtuPAXyKNRGEN2qh60kLX4YURa3jvulxAqjlh2kWEljXCtAVR6UZPC16NXdj9ASHcH383Fg==} - dependencies: - csstype: 3.1.0 - seroval: 0.5.1 - /solid-mdx@0.0.6(solid-js@1.7.11)(vite@4.4.6): resolution: {integrity: sha512-SDr+iOqxvB7ktdjrwgKLCLkJK43J+TQjoYmesHxmZHXtn6W+a5NRqWgBcybsSP0noHa2co1plSjuPYU4bdtklQ==} peerDependencies: @@ -9575,31 +10072,66 @@ packages: dependencies: solid-js: 1.7.11 vite: 4.4.6 + + /solid-refresh@0.5.3(solid-js@1.7.11): + resolution: {integrity: sha512-Otg5it5sjOdZbQZJnvo99TEBAr6J7PQ5AubZLNU6szZzg3RQQ5MX04oteBIIGDs0y2Qv8aXKm9e44V8z+UnFdw==} + peerDependencies: + solid-js: ^1.3 + dependencies: + '@babel/generator': 7.22.10 + '@babel/helper-module-imports': 7.22.5 + '@babel/types': 7.22.10 + solid-js: 1.7.11 dev: false - /solid-mdx@0.0.6(solid-js@1.7.9)(vite@4.4.6): - resolution: {integrity: sha512-SDr+iOqxvB7ktdjrwgKLCLkJK43J+TQjoYmesHxmZHXtn6W+a5NRqWgBcybsSP0noHa2co1plSjuPYU4bdtklQ==} + /solid-start-cloudflare-workers@0.3.0(solid-start@packages+start)(vite@4.4.6): + resolution: {integrity: sha512-62u04oxNKj4AscdG11zDPWF/03EdcISV6+1FxXrJNFJOpCdgekGggq+s6jwCI/781BLDNosWN/MqYN0suwZpaA==} peerDependencies: - solid-js: ^1.2.6 + solid-start: '*' vite: '*' dependencies: - solid-js: 1.7.9 + '@cloudflare/kv-asset-handler': 0.2.0 + '@cloudflare/workers-types': 3.19.0 + '@miniflare/core': 2.14.0 + '@miniflare/http-server': 2.14.0 + '@miniflare/shared': 2.14.0 + '@miniflare/web-sockets': 2.14.0 + '@rollup/plugin-commonjs': 24.1.0(rollup@3.26.2) + '@rollup/plugin-json': 6.0.0(rollup@3.26.2) + '@rollup/plugin-node-resolve': 15.1.0(rollup@3.26.2) + '@types/ws': 8.5.5 + miniflare: 2.14.0 + rollup: 3.26.2 + solid-start: link:packages/start + terser: 5.19.0 vite: 4.4.6 + ws: 8.13.0 + transitivePeerDependencies: + - '@miniflare/storage-redis' + - bufferutil + - cron-schedule + - ioredis + - utf-8-validate dev: true - /solid-refresh@0.5.3(solid-js@1.7.9): - resolution: {integrity: sha512-Otg5it5sjOdZbQZJnvo99TEBAr6J7PQ5AubZLNU6szZzg3RQQ5MX04oteBIIGDs0y2Qv8aXKm9e44V8z+UnFdw==} + /solid-start-netlify@0.3.0(solid-start@packages+start): + resolution: {integrity: sha512-Ch2OKGDujiirI0iX3BRWe9t/6eJCzsDzeuDi7I0WFgfmmeQ544zPrLeIRvDbC2z11dQpvEqQBh7IZ4TCKu9+Kg==} peerDependencies: - solid-js: ^1.3 + solid-start: '*' dependencies: - '@babel/generator': 7.22.9 - '@babel/helper-module-imports': 7.22.5 - '@babel/types': 7.22.10 - solid-js: 1.7.9 - dev: false - - /solid-ssr@1.7.2: - resolution: {integrity: sha512-1yxDK8RKYl4FBeaWrc4rRf3JdC7HQtPG+azpujB1k2V3GTexkcUVM8dCxWpiBsozpkfAmrZhjGklpW00N5lIGw==} + '@babel/core': 7.22.9 + '@babel/preset-env': 7.22.9(@babel/core@7.22.9) + '@rollup/plugin-babel': 6.0.3(@babel/core@7.22.9)(rollup@3.26.2) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.26.2) + '@rollup/plugin-json': 6.0.0(rollup@3.26.2) + '@rollup/plugin-node-resolve': 15.1.0(rollup@3.26.2) + encoding: 0.1.13 + rollup: 3.26.2 + solid-start: link:packages/start + terser: 5.19.0 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color dev: false /solid-start-trpc@0.0.16(@trpc/client@10.34.0)(@trpc/server@10.34.0)(solid-js@1.7.11)(solid-start@packages+start): @@ -9642,7 +10174,7 @@ packages: transitivePeerDependencies: - supports-color - /solid-testing-library@0.3.0(solid-js@1.7.9): + /solid-testing-library@0.3.0(solid-js@1.7.11): resolution: {integrity: sha512-6NWVbySNVzyReBm2N6p3eF8bzxRZXHZTAmPix4vFWYol16QWVjNQsEUxvr+ZOutb0yuMZmNuGx3b6WIJYmjwMQ==} engines: {node: '>= 14'} deprecated: This package is now available at @solidjs/testing-library @@ -9650,7 +10182,7 @@ packages: solid-js: '>=1.0.0' dependencies: '@testing-library/dom': 7.31.2 - solid-js: 1.7.9 + solid-js: 1.7.11 dev: true /solid-trpc@0.1.0-sssr.7(@tanstack/solid-query@5.0.0-alpha.20)(@trpc/client@10.34.0)(@trpc/server@10.34.0)(solid-js@1.7.11)(solid-start@packages+start): @@ -9731,14 +10263,20 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: false + /standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} dev: false + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + /std-env@3.3.3: resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} - dev: false /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} @@ -9768,11 +10306,15 @@ packages: strip-ansi: 7.1.0 dev: false + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: false /stringify-entities@4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} @@ -9877,6 +10419,10 @@ packages: dependencies: has-flag: 4.0.0 + /supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -9929,6 +10475,16 @@ packages: - ts-node dev: true + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + /tar@6.1.15: resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} engines: {node: '>=10'} @@ -9939,7 +10495,6 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: false /terser@5.19.0: resolution: {integrity: sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q==} @@ -9983,11 +10538,6 @@ packages: /tinybench@2.5.0: resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} - /tinydate@1.3.0: - resolution: {integrity: sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==} - engines: {node: '>=4'} - dev: false - /tinypool@0.2.4: resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} engines: {node: '>=14.0.0'} @@ -10022,6 +10572,10 @@ packages: dependencies: is-number: 7.0.0 + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + /toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false @@ -10050,7 +10604,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false /tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} @@ -10158,6 +10711,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + /typescript@4.7.4: resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} @@ -10172,6 +10729,9 @@ packages: /ufo@1.2.0: resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + /undici@5.20.0: resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} engines: {node: '>=12.18'} @@ -10185,6 +10745,21 @@ packages: busboy: 1.6.0 dev: false + /undici@5.23.0: + resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==} + engines: {node: '>=14.0'} + dependencies: + busboy: 1.6.0 + + /unenv@1.7.1: + resolution: {integrity: sha512-iINrdDcqoAjGqoIeOW85TIfI13KGgW1VWwqNO/IzcvvZ/JGBApMAQPZhWcKhE5oC/woFSpCSXg5lc7r1UaLPng==} + dependencies: + consola: 3.2.3 + defu: 6.1.2 + mime: 3.0.0 + node-fetch-native: 1.2.0 + pathe: 1.1.1 + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -10219,6 +10794,40 @@ packages: trough: 2.1.0 vfile: 5.3.7 + /unimport@3.1.3(rollup@3.26.2): + resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) + escape-string-regexp: 5.0.0 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.2 + mlly: 1.4.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.3.0 + unplugin: 1.4.0 + transitivePeerDependencies: + - rollup + + /unimport@3.1.3(rollup@3.28.0): + resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + escape-string-regexp: 5.0.0 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.2 + mlly: 1.4.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.3.0 + unplugin: 1.4.0 + transitivePeerDependencies: + - rollup + /unist-util-generated@2.0.1: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} @@ -10288,7 +10897,6 @@ packages: /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - dev: false /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} @@ -10330,11 +10938,71 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 + /unstorage@1.9.0: + resolution: {integrity: sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==} + peerDependencies: + '@azure/app-configuration': ^1.4.1 + '@azure/cosmos': ^3.17.3 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^3.2.3 + '@azure/keyvault-secrets': ^4.7.0 + '@azure/storage-blob': ^12.14.0 + '@capacitor/preferences': ^5.0.0 + '@planetscale/database': ^1.8.0 + '@upstash/redis': ^1.22.0 + '@vercel/kv': ^0.2.2 + idb-keyval: ^6.2.1 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + dependencies: + anymatch: 3.1.3 + chokidar: 3.5.3 + destr: 2.0.1 + h3: 1.8.0 + ioredis: 5.3.2 + listhen: 1.3.0 + lru-cache: 10.0.1 + mri: 1.2.0 + node-fetch-native: 1.2.0 + ofetch: 1.1.1 + ufo: 1.2.0 + transitivePeerDependencies: + - supports-color + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} dev: false + /untun@0.1.1: + resolution: {integrity: sha512-Xyo/3TLi2pMLr8SFSXAHVTEpEtVrqXZTzXkZAglRIairiO+utD6y7bCemYejj7GazEwomMwpNB1Gg3hoehY+zA==} + hasBin: true + dependencies: + citty: 0.1.2 + consola: 3.2.3 + pathe: 1.1.1 + /update-browserslist-db@1.0.11(browserslist@4.21.10): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -10345,6 +11013,9 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -10444,6 +11115,62 @@ packages: unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 + /vinxi@0.0.15(debug@4.3.4)(rollup@3.26.2): + resolution: {integrity: sha512-Y1k9mXf5c16DbHVhjsxikghDNuFA//AVFAiyfxNpFObtZwvToLtIhB0NqsgD7soNztE3FAm4/ziam2RQ4BMSqg==} + hasBin: true + dependencies: + '@babel/core': 7.22.9 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + c12: 1.4.2 + chokidar: 3.5.3 + consola: 3.2.3 + es-module-lexer: 1.3.0 + esbuild: 0.18.20 + fast-glob: 3.3.1 + get-port: 6.1.2 + h3: 1.8.0-rc.2 + http-proxy: 1.18.1(debug@4.3.4) + listhen: 1.3.0 + micromatch: 4.0.5 + mri: 1.2.0 + nitropack: /nitropack-edge@2.6.0-28186311.f8d176b(debug@4.3.4) + node-fetch-native: 1.2.0 + path-to-regexp: 6.2.1 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + rollup-plugin-visualizer: 5.9.2(rollup@3.26.2) + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + ufo: 1.2.0 + unenv: 1.7.1 + unimport: 3.1.3(rollup@3.26.2) + unstorage: 1.9.0 + vite: 4.3.9 + zod: 3.21.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@planetscale/database' + - '@types/node' + - '@upstash/redis' + - '@vercel/kv' + - debug + - encoding + - idb-keyval + - less + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + /vite-node@0.26.3(@types/node@18.16.19): resolution: {integrity: sha512-Te2bq0Bfvq6XiO718I+1EinMjpNYKws6SNHKOmVbILAQimKoZKDd+IZLlkaYcBXPpK3HFe2U80k8Zw+m3w/a2w==} engines: {node: '>=v14.16.0'} @@ -10525,7 +11252,7 @@ packages: - supports-color dev: true - /vite-plugin-solid@2.7.0(solid-js@1.7.9)(vite@4.4.6): + /vite-plugin-solid@2.7.0(solid-js@1.7.11)(vite@4.4.6): resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==} peerDependencies: solid-js: ^1.7.2 @@ -10536,8 +11263,8 @@ packages: '@types/babel__core': 7.20.1 babel-preset-solid: 1.7.7(@babel/core@7.22.9) merge-anything: 5.1.7 - solid-js: 1.7.9 - solid-refresh: 0.5.3(solid-js@1.7.9) + solid-js: 1.7.11 + solid-refresh: 0.5.3(solid-js@1.7.11) vite: 4.4.6(@types/node@18.16.19)(terser@5.19.0) vitefu: 0.2.4(vite@4.4.6) transitivePeerDependencies: @@ -10579,6 +11306,37 @@ packages: fsevents: 2.3.2 dev: true + /vite@4.3.9: + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.17.19 + postcss: 8.4.26 + rollup: 3.28.0 + optionalDependencies: + fsevents: 2.3.2 + /vite@4.4.6: resolution: {integrity: sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -10609,7 +11367,7 @@ packages: dependencies: esbuild: 0.18.20 postcss: 8.4.26 - rollup: 3.26.2 + rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 @@ -10644,7 +11402,7 @@ packages: '@types/node': 18.16.19 esbuild: 0.18.20 postcss: 8.4.26 - rollup: 3.26.2 + rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 @@ -10679,7 +11437,7 @@ packages: '@types/node': 18.16.19 esbuild: 0.18.20 postcss: 8.4.26 - rollup: 3.26.2 + rollup: 3.28.0 terser: 5.19.0 optionalDependencies: fsevents: 2.3.2 @@ -10714,7 +11472,7 @@ packages: dependencies: esbuild: 0.18.20 postcss: 8.4.26 - rollup: 3.26.2 + rollup: 3.28.0 sass: 1.63.6 optionalDependencies: fsevents: 2.3.2 @@ -10942,7 +11700,6 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} @@ -10981,7 +11738,6 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -11033,7 +11789,6 @@ packages: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 - dev: false /wrangler@2.20.0: resolution: {integrity: sha512-UdKJ2LD7qgDxDvll/GkR1HnRP+bcEdqi/HJjDI+7eF4lv9V940jmm3orxCkSEosGyE14q0q6dBRM95+fBI8tdQ==} @@ -11150,7 +11905,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: false /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -11169,6 +11923,14 @@ packages: mustache: 4.2.0 stack-trace: 0.0.10 + /zip-stream@4.1.0: + resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} + engines: {node: '>= 10'} + dependencies: + archiver-utils: 2.1.0 + compress-commons: 4.1.1 + readable-stream: 3.6.2 + /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} diff --git a/test/template/package.json b/test/template/package.json index 95193606e..d412cf023 100644 --- a/test/template/package.json +++ b/test/template/package.json @@ -10,14 +10,8 @@ "@cloudflare/kv-asset-handler": "^0.1.3", "@solidjs/meta": "^0.28.5", "@solidjs/router": "^0.8.2", - "solid-js": "^1.7.9", - "solid-start": "workspace:*", - "solid-start-cloudflare-pages": "workspace:*", - "solid-start-cloudflare-workers": "workspace:*", - "solid-start-deno": "workspace:*", - "solid-start-netlify": "workspace:*", + "solid-js": "^1.7.11", "solid-start-node": "workspace:*", - "solid-start-static": "workspace:*", "typescript": "^4.9.5", "vite": "^4.4.6", "wrangler": "^2.20.0" From 310ef6cbac04b63eecae5560987dcf0812063b79 Mon Sep 17 00:00:00 2001 From: Nikhil Saraf Date: Fri, 18 Aug 2023 23:43:14 +0530 Subject: [PATCH 002/163] fixes --- examples/bare/src/entry-client.tsx | 2 +- examples/bare/src/entry-server.tsx | 2 +- examples/bare/src/root.css | 2 +- packages/start-new/package.json | 1 + pnpm-lock.yaml | 11 +++++++++-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/examples/bare/src/entry-client.tsx b/examples/bare/src/entry-client.tsx index 20684e847..f97f320ae 100644 --- a/examples/bare/src/entry-client.tsx +++ b/examples/bare/src/entry-client.tsx @@ -1,3 +1,3 @@ -import { mount, StartClient } from "@solidjs/start"; +import { mount, StartClient } from "@solidjs/start/entry-client"; mount(() => , document); diff --git a/examples/bare/src/entry-server.tsx b/examples/bare/src/entry-server.tsx index b2ff998e5..16203299b 100644 --- a/examples/bare/src/entry-server.tsx +++ b/examples/bare/src/entry-server.tsx @@ -1,3 +1,3 @@ -import { createHandler, StartServer } from "@solidjs/start"; +import { createHandler, StartServer } from "@solidjs/start/entry-server"; export default createHandler((context) => ); diff --git a/examples/bare/src/root.css b/examples/bare/src/root.css index 6f7cc3111..b1284a358 100644 --- a/examples/bare/src/root.css +++ b/examples/bare/src/root.css @@ -3,5 +3,5 @@ @tailwind utilities; * { - color: black; + color: red; } \ No newline at end of file diff --git a/packages/start-new/package.json b/packages/start-new/package.json index eb5bd0651..a6bbda920 100644 --- a/packages/start-new/package.json +++ b/packages/start-new/package.json @@ -43,6 +43,7 @@ "vinxi": "0.0.15" }, "dependencies": { + "@vinxi/solid": "^0.0.7", "vite-plugin-solid": "^2.7.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e148ce69a..100f93113 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -923,6 +923,9 @@ importers: packages/start-new: dependencies: + '@vinxi/solid': + specifier: ^0.0.7 + version: 0.0.7 vite-plugin-solid: specifier: ^2.7.0 version: 2.7.0(solid-js@1.7.11)(vite@4.4.6) @@ -4329,6 +4332,10 @@ packages: - encoding - supports-color + /@vinxi/solid@0.0.7: + resolution: {integrity: sha512-oY2+LKM0YvKYwgO/yHGpiuEuJuOHaBvELvXQoCWMqwzW2jllj8xPDMk1gaKKnTG4murqaEZBh9GS1x0Eqziasg==} + dev: false + /@vitest/coverage-c8@0.26.3(@vitest/ui@0.26.3)(jsdom@20.0.3): resolution: {integrity: sha512-sjmVYPozajWY2DawzuvhYX6hEe/LD6p2xv9VmPvh1zzDeNNVCAnyLcvXoaSMQD522x9bqciuyPrlrnh2iNkE/w==} dependencies: @@ -11265,7 +11272,7 @@ packages: merge-anything: 5.1.7 solid-js: 1.7.11 solid-refresh: 0.5.3(solid-js@1.7.11) - vite: 4.4.6(@types/node@18.16.19)(terser@5.19.0) + vite: 4.4.6 vitefu: 0.2.4(vite@4.4.6) transitivePeerDependencies: - supports-color @@ -11486,7 +11493,7 @@ packages: vite: optional: true dependencies: - vite: 4.4.6(@types/node@18.16.19)(terser@5.19.0) + vite: 4.4.6 dev: false /vitest@0.20.3(jsdom@20.0.3)(terser@5.19.0): From 08989a91acf0cc5c3a81a79d3c1b54091b60041b Mon Sep 17 00:00:00 2001 From: Nikhil Saraf Date: Sat, 19 Aug 2023 00:21:56 +0530 Subject: [PATCH 003/163] bump vinxi version --- examples/bare/package.json | 4 +- pnpm-lock.yaml | 348 +++++++++++++++++++++++++++++++------ 2 files changed, 300 insertions(+), 52 deletions(-) diff --git a/examples/bare/package.json b/examples/bare/package.json index 19ce0aa88..40bfa778f 100644 --- a/examples/bare/package.json +++ b/examples/bare/package.json @@ -9,9 +9,9 @@ "dependencies": { "@solidjs/meta": "^0.28.5", "@solidjs/router": "^0.8.2", + "@solidjs/start": "workspace:^", "autoprefixer": "^10.4.14", "solid-js": "^1.7.11", - "vinxi": "0.0.15", - "@solidjs/start": "workspace:^" + "vinxi": "0.0.19" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 100f93113..ecb17ac12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,8 +112,8 @@ importers: specifier: ^1.7.11 version: 1.7.11 vinxi: - specifier: 0.0.15 - version: 0.0.15(debug@4.3.4)(rollup@3.26.2) + specifier: 0.0.19 + version: 0.0.19(debug@4.3.4)(rollup@3.26.2) examples/bare-old: dependencies: @@ -940,8 +940,8 @@ importers: specifier: ^1.7.11 version: 1.7.11 vinxi: - specifier: 0.0.15 - version: 0.0.15(debug@4.3.4)(rollup@3.26.2) + specifier: 0.0.19 + version: 0.0.19(debug@4.3.4)(rollup@3.26.2) packages/start-node: dependencies: @@ -2385,6 +2385,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.19.2: + resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-arm@0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -2418,6 +2426,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.19.2: + resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-x64@0.16.3: resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==} engines: {node: '>=12'} @@ -2442,6 +2458,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.19.2: + resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/darwin-arm64@0.16.3: resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==} engines: {node: '>=12'} @@ -2466,6 +2490,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.19.2: + resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/darwin-x64@0.16.3: resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==} engines: {node: '>=12'} @@ -2490,6 +2522,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.19.2: + resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/freebsd-arm64@0.16.3: resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==} engines: {node: '>=12'} @@ -2514,6 +2554,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.19.2: + resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/freebsd-x64@0.16.3: resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==} engines: {node: '>=12'} @@ -2538,6 +2586,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.19.2: + resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/linux-arm64@0.16.3: resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==} engines: {node: '>=12'} @@ -2562,6 +2618,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.19.2: + resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-arm@0.16.3: resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==} engines: {node: '>=12'} @@ -2586,6 +2650,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.19.2: + resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ia32@0.16.3: resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==} engines: {node: '>=12'} @@ -2610,6 +2682,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.19.2: + resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64@0.14.54: resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} @@ -2652,6 +2732,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.19.2: + resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-mips64el@0.16.3: resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==} engines: {node: '>=12'} @@ -2676,6 +2764,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.19.2: + resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ppc64@0.16.3: resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==} engines: {node: '>=12'} @@ -2700,6 +2796,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.19.2: + resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-riscv64@0.16.3: resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==} engines: {node: '>=12'} @@ -2724,6 +2828,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.19.2: + resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-s390x@0.16.3: resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==} engines: {node: '>=12'} @@ -2748,6 +2860,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.19.2: + resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-x64@0.16.3: resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==} engines: {node: '>=12'} @@ -2772,6 +2892,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.19.2: + resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/netbsd-x64@0.16.3: resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==} engines: {node: '>=12'} @@ -2796,6 +2924,14 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.19.2: + resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + /@esbuild/openbsd-x64@0.16.3: resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==} engines: {node: '>=12'} @@ -2820,6 +2956,14 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.19.2: + resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/sunos-x64@0.16.3: resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==} engines: {node: '>=12'} @@ -2844,6 +2988,14 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.19.2: + resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + /@esbuild/win32-arm64@0.16.3: resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==} engines: {node: '>=12'} @@ -2868,6 +3020,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.19.2: + resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-ia32@0.16.3: resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==} engines: {node: '>=12'} @@ -2892,6 +3052,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.19.2: + resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-x64@0.16.3: resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==} engines: {node: '>=12'} @@ -2916,6 +3084,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.19.2: + resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: false @@ -3733,7 +3909,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 @@ -3750,7 +3926,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) estree-walker: 2.0.2 magic-string: 0.27.0 rollup: 3.28.0 @@ -3785,7 +3961,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) rollup: 3.28.0 /@rollup/plugin-node-resolve@13.0.2(rollup@2.78.0): @@ -3829,7 +4005,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 @@ -3846,7 +4022,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) magic-string: 0.27.0 rollup: 3.28.0 @@ -3922,6 +4098,34 @@ packages: picomatch: 2.3.1 rollup: 3.28.0 + /@rollup/pluginutils@5.0.3(rollup@3.26.2): + resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.26.2 + + /@rollup/pluginutils@5.0.3(rollup@3.28.0): + resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.28.0 + /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} dependencies: @@ -4517,11 +4721,26 @@ packages: normalize-path: 3.0.0 readable-stream: 2.3.8 - /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + /archiver-utils@3.0.3: + resolution: {integrity: sha512-fXzpEZTKgBJMWy0eUT0/332CAQnJ27OJd7sGcvNZzxS2Yzg7iITivMhXOm+zUTO4vT8ZqlPCqiaLPmB8qWhWRA==} engines: {node: '>= 10'} dependencies: - archiver-utils: 2.1.0 + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + + /archiver@6.0.0: + resolution: {integrity: sha512-EPGa+bYaxaMiCT8DCbEDqFz8IjeBSExrJzyUOJx2FBkFJ/OZzJuso3lMSk901M50gMqXxTQcumlGajOFlXhVhw==} + engines: {node: '>= 12.0.0'} + dependencies: + archiver-utils: 3.0.3 async: 3.2.4 buffer-crc32: 0.2.13 readable-stream: 3.6.2 @@ -5656,11 +5875,11 @@ packages: domhandler: 5.0.3 dev: false - /dot-prop@7.2.0: - resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /dot-prop@8.0.2: + resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} + engines: {node: '>=16'} dependencies: - type-fest: 2.19.0 + type-fest: 3.13.1 /dotenv@10.0.0: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} @@ -5685,7 +5904,7 @@ packages: dev: true /ee-first@1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} /electron-to-chromium@1.4.488: resolution: {integrity: sha512-Dv4sTjiW7t/UWGL+H8ZkgIjtUAVZDgb/PwGWvMsCT7jipzUV/u5skbLXPFKb6iV0tiddVi/bcS2/kUrczeWgIQ==} @@ -6261,6 +6480,35 @@ packages: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 + /esbuild@0.19.2: + resolution: {integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.2 + '@esbuild/android-arm64': 0.19.2 + '@esbuild/android-x64': 0.19.2 + '@esbuild/darwin-arm64': 0.19.2 + '@esbuild/darwin-x64': 0.19.2 + '@esbuild/freebsd-arm64': 0.19.2 + '@esbuild/freebsd-x64': 0.19.2 + '@esbuild/linux-arm': 0.19.2 + '@esbuild/linux-arm64': 0.19.2 + '@esbuild/linux-ia32': 0.19.2 + '@esbuild/linux-loong64': 0.19.2 + '@esbuild/linux-mips64el': 0.19.2 + '@esbuild/linux-ppc64': 0.19.2 + '@esbuild/linux-riscv64': 0.19.2 + '@esbuild/linux-s390x': 0.19.2 + '@esbuild/linux-x64': 0.19.2 + '@esbuild/netbsd-x64': 0.19.2 + '@esbuild/openbsd-x64': 0.19.2 + '@esbuild/sunos-x64': 0.19.2 + '@esbuild/win32-arm64': 0.19.2 + '@esbuild/win32-ia32': 0.19.2 + '@esbuild/win32-x64': 0.19.2 + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -6802,8 +7050,8 @@ packages: dependencies: duplexer: 0.1.2 - /h3@1.8.0: - resolution: {integrity: sha512-057VY83X7Tg5n4XU2GV9M3dsCWUU4jtw2Lc/r4GjAcf9Jb6GI1mD5F8TCQHUcvLMEgtx6lbfobOFu7Vdmejihg==} + /h3-nightly@1.8.1-1692089733.8af0474: + resolution: {integrity: sha512-/1+YbSAKKcEYcUieF+f2FyIdY5/GmPIxkUrxjsS62RV1oXbUv2rh7wDvyNrKmCawczYlTHBGs0iyTuA7Z8Ifhg==} dependencies: cookie-es: 1.0.0 defu: 6.1.2 @@ -6814,8 +7062,8 @@ packages: uncrypto: 0.1.3 unenv: 1.7.1 - /h3@1.8.0-rc.2: - resolution: {integrity: sha512-2VSDQOuVElZ7QCSTbti5fTkfyrsOIYSG9SXQQ+xO/dI3O2n2k6cbA1/rapNOJZtC2tO7cN8N/JlGhlUsFh5LoA==} + /h3@1.8.0: + resolution: {integrity: sha512-057VY83X7Tg5n4XU2GV9M3dsCWUU4jtw2Lc/r4GjAcf9Jb6GI1mD5F8TCQHUcvLMEgtx6lbfobOFu7Vdmejihg==} dependencies: cookie-es: 1.0.0 defu: 6.1.2 @@ -7037,14 +7285,6 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-graceful-shutdown@3.1.13: - resolution: {integrity: sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==} - engines: {node: '>=4.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -8508,9 +8748,9 @@ packages: - babel-plugin-macros dev: true - /nitropack-edge@2.6.0-28186311.f8d176b(debug@4.3.4): - resolution: {integrity: sha512-BWyEDW+fNfsCPGeCc74jGlDY6A5efMuwfYb8HCnN0d7W4ROWBYHp63WI90Y4ge4dEklUtlps2hq5FF9V2uFp3g==} - engines: {node: ^14.16.0 || ^16.11.0 || >=17.0.0} + /nitropack-edge@2.6.0-28206057.d584781(debug@4.3.4): + resolution: {integrity: sha512-+38eIN7JN9mLW+0pBozFi5/bl71SfBLr/4qDk+mN0HY5WJVJqe6VSkDdkIU/EDg+ygGNnwVrfGEExLpd+/AFqA==} + engines: {node: ^16.11.0 || >=17.0.0} hasBin: true dependencies: '@cloudflare/kv-asset-handler': 0.3.0 @@ -8523,10 +8763,10 @@ packages: '@rollup/plugin-replace': 5.0.2(rollup@3.28.0) '@rollup/plugin-terser': 0.4.3(rollup@3.28.0) '@rollup/plugin-wasm': 6.1.3(rollup@3.28.0) - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) '@types/http-proxy': 1.17.11 '@vercel/nft': 0.23.1 - archiver: 5.3.2 + archiver: 6.0.0 c12: 1.4.2 chalk: 5.3.0 chokidar: 3.5.3 @@ -8535,16 +8775,15 @@ packages: cookie-es: 1.0.0 defu: 6.1.2 destr: 2.0.1 - dot-prop: 7.2.0 - esbuild: 0.18.20 + dot-prop: 8.0.2 + esbuild: 0.19.2 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.1.1 globby: 13.2.2 gzip-size: 7.0.0 - h3: 1.8.0 + h3: /h3-nightly@1.8.1-1692089733.8af0474 hookable: 5.5.3 - http-graceful-shutdown: 3.1.13 http-proxy: 1.18.1(debug@4.3.4) is-primitive: 3.0.1 jiti: 1.19.1 @@ -8570,10 +8809,10 @@ packages: semver: 7.5.4 serve-placeholder: 2.0.1 serve-static: 1.15.0 - source-map-support: 0.5.21 std-env: 3.3.3 ufo: 1.2.0 uncrypto: 0.1.3 + unctx: 2.3.1 unenv: 1.7.1 unimport: 3.1.3(rollup@3.28.0) unstorage: 1.9.0 @@ -10718,9 +10957,9 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} /typescript@4.7.4: resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} @@ -10739,6 +10978,14 @@ packages: /uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + /unctx@2.3.1: + resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} + dependencies: + acorn: 8.10.0 + estree-walker: 3.0.3 + magic-string: 0.30.2 + unplugin: 1.4.0 + /undici@5.20.0: resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} engines: {node: '>=12.18'} @@ -10804,7 +11051,7 @@ packages: /unimport@3.1.3(rollup@3.26.2): resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.2) + '@rollup/pluginutils': 5.0.3(rollup@3.26.2) escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 @@ -10821,7 +11068,7 @@ packages: /unimport@3.1.3(rollup@3.28.0): resolution: {integrity: sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==} dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.28.0) + '@rollup/pluginutils': 5.0.3(rollup@3.28.0) escape-string-regexp: 5.0.0 fast-glob: 3.3.1 local-pkg: 0.4.3 @@ -11122,8 +11369,8 @@ packages: unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - /vinxi@0.0.15(debug@4.3.4)(rollup@3.26.2): - resolution: {integrity: sha512-Y1k9mXf5c16DbHVhjsxikghDNuFA//AVFAiyfxNpFObtZwvToLtIhB0NqsgD7soNztE3FAm4/ziam2RQ4BMSqg==} + /vinxi@0.0.19(debug@4.3.4)(rollup@3.26.2): + resolution: {integrity: sha512-x/5zwNtN8tAaCCoLtsTqXq6nd+wV9IOJbS3qsXpHpRBguL9N4VMbYYU5Thg4MK6djjkIi/JP6/RZCMU21l2d2w==} hasBin: true dependencies: '@babel/core': 7.22.9 @@ -11132,16 +11379,17 @@ packages: c12: 1.4.2 chokidar: 3.5.3 consola: 3.2.3 + defu: 6.1.2 es-module-lexer: 1.3.0 esbuild: 0.18.20 fast-glob: 3.3.1 get-port: 6.1.2 - h3: 1.8.0-rc.2 + h3: 1.8.0 http-proxy: 1.18.1(debug@4.3.4) listhen: 1.3.0 micromatch: 4.0.5 mri: 1.2.0 - nitropack: /nitropack-edge@2.6.0-28186311.f8d176b(debug@4.3.4) + nitropack: /nitropack-edge@2.6.0-28206057.d584781(debug@4.3.4) node-fetch-native: 1.2.0 path-to-regexp: 6.2.1 pathe: 1.1.1 @@ -11272,7 +11520,7 @@ packages: merge-anything: 5.1.7 solid-js: 1.7.11 solid-refresh: 0.5.3(solid-js@1.7.11) - vite: 4.4.6 + vite: 4.4.6(@types/node@18.16.19)(terser@5.19.0) vitefu: 0.2.4(vite@4.4.6) transitivePeerDependencies: - supports-color @@ -11493,7 +11741,7 @@ packages: vite: optional: true dependencies: - vite: 4.4.6 + vite: 4.4.6(@types/node@18.16.19)(terser@5.19.0) dev: false /vitest@0.20.3(jsdom@20.0.3)(terser@5.19.0): From a6d81617d010c5750b73bd7604f57c108447ae47 Mon Sep 17 00:00:00 2001 From: Nikhil Saraf Date: Sat, 19 Aug 2023 00:22:02 +0530 Subject: [PATCH 004/163] add to gitignore --- .gitignore | 3 +++ packages/start-new/package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d07791be6..50f72cfee 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,6 @@ netlify .vercel vite.config.ts.timestamp* + +.nitro +.output diff --git a/packages/start-new/package.json b/packages/start-new/package.json index a6bbda920..fca473d3f 100644 --- a/packages/start-new/package.json +++ b/packages/start-new/package.json @@ -40,7 +40,7 @@ "@solidjs/meta": "^0.28.5", "@solidjs/router": "^0.8.2", "solid-js": "^1.7.11", - "vinxi": "0.0.15" + "vinxi": "0.0.19" }, "dependencies": { "@vinxi/solid": "^0.0.7", From 27fd1656635530d5f550670f95c7ec08ca139995 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Tue, 22 Aug 2023 16:10:15 -0700 Subject: [PATCH 005/163] base ssr looking good --- examples/bare/src/app.css | 39 +++++++ examples/bare/src/app.tsx | 19 ++++ examples/bare/src/entry-client.tsx | 4 +- examples/bare/src/entry-server.tsx | 21 +++- examples/bare/src/root.css | 7 -- examples/bare/src/root.tsx | 21 ---- examples/bare/src/routes/[...404].tsx | 4 +- examples/bare/src/routes/index.tsx | 2 +- examples/bare/tsconfig.json | 5 +- examples/bare/vite.config.js | 2 +- packages/start-new/client/StartClient.tsx | 32 ++++++ .../{entry-client => client}/index.tsx | 0 .../{entry-client => client}/mount.ts | 4 +- packages/start-new/{ => config}/index.js | 10 +- .../start-new/entry-client/StartClient.tsx | 46 -------- .../start-new/entry-server/ServerContext.tsx | 6 - .../start-new/entry-server/StartServer.tsx | 61 ----------- packages/start-new/entry-server/handler.tsx | 19 ---- packages/start-new/entry-server/index.tsx | 2 - packages/start-new/index.tsx | 1 + packages/start-new/package.json | 34 +++--- packages/start-new/root/Meta.tsx | 11 -- packages/start-new/root/index.tsx | 1 - packages/start-new/server/StartServer.tsx | 65 +++++++++++ packages/start-new/server/handler.tsx | 103 ++++++++++++++++++ packages/start-new/server/index.tsx | 3 + packages/start-new/server/types.ts | 51 +++++++++ packages/start-new/shared/ErrorBoundary.tsx | 49 +++++++++ .../start-new/{root => shared}/FileRoutes.tsx | 2 +- packages/start-new/shared/HttpHeader.tsx | 31 ++++++ packages/start-new/shared/HttpStatusCode.tsx | 14 +++ packages/start-new/shared/ServerContext.tsx | 13 +++ packages/start-new/shared/index.tsx | 5 + packages/start-new/{root => shared}/routes.ts | 0 packages/start-new/utils/assets.js | 36 ------ packages/start-new/utils/lazyRoute.jsx | 49 --------- 36 files changed, 476 insertions(+), 296 deletions(-) create mode 100644 examples/bare/src/app.css create mode 100644 examples/bare/src/app.tsx delete mode 100644 examples/bare/src/root.css delete mode 100644 examples/bare/src/root.tsx create mode 100644 packages/start-new/client/StartClient.tsx rename packages/start-new/{entry-client => client}/index.tsx (100%) rename packages/start-new/{entry-client => client}/mount.ts (52%) rename packages/start-new/{ => config}/index.js (88%) delete mode 100644 packages/start-new/entry-client/StartClient.tsx delete mode 100644 packages/start-new/entry-server/ServerContext.tsx delete mode 100644 packages/start-new/entry-server/StartServer.tsx delete mode 100644 packages/start-new/entry-server/handler.tsx delete mode 100644 packages/start-new/entry-server/index.tsx create mode 100644 packages/start-new/index.tsx delete mode 100644 packages/start-new/root/Meta.tsx delete mode 100644 packages/start-new/root/index.tsx create mode 100644 packages/start-new/server/StartServer.tsx create mode 100644 packages/start-new/server/handler.tsx create mode 100644 packages/start-new/server/index.tsx create mode 100644 packages/start-new/server/types.ts create mode 100644 packages/start-new/shared/ErrorBoundary.tsx rename packages/start-new/{root => shared}/FileRoutes.tsx (91%) create mode 100644 packages/start-new/shared/HttpHeader.tsx create mode 100644 packages/start-new/shared/HttpStatusCode.tsx create mode 100644 packages/start-new/shared/ServerContext.tsx create mode 100644 packages/start-new/shared/index.tsx rename packages/start-new/{root => shared}/routes.ts (100%) delete mode 100644 packages/start-new/utils/assets.js delete mode 100644 packages/start-new/utils/lazyRoute.jsx diff --git a/examples/bare/src/app.css b/examples/bare/src/app.css new file mode 100644 index 000000000..8596998a4 --- /dev/null +++ b/examples/bare/src/app.css @@ -0,0 +1,39 @@ +body { + font-family: Gordita, Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; +} + +a { + margin-right: 1rem; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h1 { + color: #335d92; + text-transform: uppercase; + font-size: 4rem; + font-weight: 100; + line-height: 1.1; + margin: 4rem auto; + max-width: 14rem; +} + +p { + max-width: 14rem; + margin: 2rem auto; + line-height: 1.35; +} + +@media (min-width: 480px) { + h1 { + max-width: none; + } + + p { + max-width: none; + } +} diff --git a/examples/bare/src/app.tsx b/examples/bare/src/app.tsx new file mode 100644 index 000000000..1be8ab364 --- /dev/null +++ b/examples/bare/src/app.tsx @@ -0,0 +1,19 @@ +// @refresh reload +import { A, Routes } from "@solidjs/router"; +import { FileRoutes } from "@solidjs/start"; +import { Suspense } from "solid-js"; +import "./app.css"; + +export default function App() { + return ( + <> + Index + About + + + + + + + ); +} diff --git a/examples/bare/src/entry-client.tsx b/examples/bare/src/entry-client.tsx index f97f320ae..e10a0fd99 100644 --- a/examples/bare/src/entry-client.tsx +++ b/examples/bare/src/entry-client.tsx @@ -1,3 +1,3 @@ -import { mount, StartClient } from "@solidjs/start/entry-client"; +import { mount, StartClient } from "@solidjs/start/client"; -mount(() => , document); +mount(() => , document.getElementById("app")); diff --git a/examples/bare/src/entry-server.tsx b/examples/bare/src/entry-server.tsx index 16203299b..c2fff7510 100644 --- a/examples/bare/src/entry-server.tsx +++ b/examples/bare/src/entry-server.tsx @@ -1,3 +1,20 @@ -import { createHandler, StartServer } from "@solidjs/start/entry-server"; +import { createHandler, render, StartServer } from "@solidjs/start/server"; -export default createHandler((context) => ); +function Document(props) { + return ( + + + + {props.assets} + + +
{props.children}
+ {props.scripts} + + + ); +} + +export default createHandler( + render(context => ) +); diff --git a/examples/bare/src/root.css b/examples/bare/src/root.css deleted file mode 100644 index b1284a358..000000000 --- a/examples/bare/src/root.css +++ /dev/null @@ -1,7 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -* { - color: red; -} \ No newline at end of file diff --git a/examples/bare/src/root.tsx b/examples/bare/src/root.tsx deleted file mode 100644 index 1c6c7201f..000000000 --- a/examples/bare/src/root.tsx +++ /dev/null @@ -1,21 +0,0 @@ -// @refresh reload -import { A } from "@solidjs/router"; -import { Suspense } from "solid-js"; -import "./root.css"; - -export default function App(props) { - return ( - - - - {props.assets} - - - Index - About - {props.children} - {props.scripts} - - - ); -} diff --git a/examples/bare/src/routes/[...404].tsx b/examples/bare/src/routes/[...404].tsx index 313fedcc5..4ea71ec7f 100644 --- a/examples/bare/src/routes/[...404].tsx +++ b/examples/bare/src/routes/[...404].tsx @@ -1,11 +1,11 @@ import { Title } from "@solidjs/meta"; -// import { HttpStatusCode } from "@solidjs/start/server"; +import { HttpStatusCode } from "@solidjs/start"; export default function NotFound() { return (
Not Found - {/* */} +

Page Not Found

Visit{" "} diff --git a/examples/bare/src/routes/index.tsx b/examples/bare/src/routes/index.tsx index 20c467089..5d557d819 100644 --- a/examples/bare/src/routes/index.tsx +++ b/examples/bare/src/routes/index.tsx @@ -1,5 +1,5 @@ import { Title } from "@solidjs/meta"; -import Counter from "../components/Counter"; +import Counter from "~/components/Counter"; export default function Home() { return ( diff --git a/examples/bare/tsconfig.json b/examples/bare/tsconfig.json index e0808fd3f..43c5ddad3 100644 --- a/examples/bare/tsconfig.json +++ b/examples/bare/tsconfig.json @@ -11,6 +11,9 @@ "checkJs": true, "noEmit": true, "types": ["vinxi/client"], - "isolatedModules": true + "isolatedModules": true, + "paths": { + "~/*": ["./src/*"] + } } } diff --git a/examples/bare/vite.config.js b/examples/bare/vite.config.js index 6c55908a9..e22f9de81 100644 --- a/examples/bare/vite.config.js +++ b/examples/bare/vite.config.js @@ -1,3 +1,3 @@ -import { defineConfig } from "@solidjs/start"; +import { defineConfig } from "@solidjs/start/config"; export default defineConfig(); diff --git a/packages/start-new/client/StartClient.tsx b/packages/start-new/client/StartClient.tsx new file mode 100644 index 000000000..0a97b81f9 --- /dev/null +++ b/packages/start-new/client/StartClient.tsx @@ -0,0 +1,32 @@ +// @ts-ignore +import App from "#start/app"; +import { MetaProvider } from "@solidjs/meta"; +import { Router } from "@solidjs/router"; +import { PageEvent } from "../server/types"; + +import { createRoutes } from "../shared/FileRoutes"; +import { ServerContext } from "../shared/ServerContext"; +import "./mount"; + +const routes = createRoutes(); + +function Dummy(props) { + return props.children; +} + +export function StartClient() { + return ( + + + + + + + + + + + + + ); +} diff --git a/packages/start-new/entry-client/index.tsx b/packages/start-new/client/index.tsx similarity index 100% rename from packages/start-new/entry-client/index.tsx rename to packages/start-new/client/index.tsx diff --git a/packages/start-new/entry-client/mount.ts b/packages/start-new/client/mount.ts similarity index 52% rename from packages/start-new/entry-client/mount.ts rename to packages/start-new/client/mount.ts index 40fe8e95a..763bef663 100644 --- a/packages/start-new/entry-client/mount.ts +++ b/packages/start-new/client/mount.ts @@ -1,6 +1,6 @@ import { hydrate } from "solid-js/web"; import "vinxi/runtime/client"; -export function mount(fn, element) { - return hydrate(fn, element); +export function mount(fn, el) { + return hydrate(fn, el); } diff --git a/packages/start-new/index.js b/packages/start-new/config/index.js similarity index 88% rename from packages/start-new/index.js rename to packages/start-new/config/index.js index a4702e622..44b5278c0 100644 --- a/packages/start-new/index.js +++ b/packages/start-new/config/index.js @@ -1,9 +1,7 @@ import { join } from "path"; import { createApp } from "vinxi"; import { - BaseFileSystemRouter, - analyzeModule, - cleanPath, + analyzeModule, BaseFileSystemRouter, cleanPath } from "vinxi/file-system-router"; import { config } from "vinxi/lib/plugins/config"; import solid from "vite-plugin-solid"; @@ -72,7 +70,8 @@ export function defineConfig({} = {}) { config("root", { resolve: { alias: { - "#start/root": join(process.cwd(), "src", "root.tsx"), + "#start/app": join(process.cwd(), "src", "app.tsx"), + "~": join(process.cwd(), "src"), }, }, }), @@ -93,7 +92,8 @@ export function defineConfig({} = {}) { config("root", { resolve: { alias: { - "#start/root": join(process.cwd(), "src", "root.tsx"), + "#start/app": join(process.cwd(), "src", "app.tsx"), + "~": join(process.cwd(), "src"), }, }, }), diff --git a/packages/start-new/entry-client/StartClient.tsx b/packages/start-new/entry-client/StartClient.tsx deleted file mode 100644 index 984bf2089..000000000 --- a/packages/start-new/entry-client/StartClient.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// @ts-ignore -import Root from "#start/root"; -import { MetaProvider } from "@solidjs/meta"; -import { Router, Routes } from "@solidjs/router"; -import { createAssets } from "@vinxi/solid"; -import { NoHydration, Suspense } from "solid-js/web"; - -import { ServerContext } from "../entry-server/ServerContext"; -import { FileRoutes, createRoutes } from "../root/FileRoutes"; -import "./mount"; - -const Assets = createAssets( - import.meta.env.MANIFEST["client"].handler, - import.meta.env.MANIFEST["client"], -); - -function Meta() { - return ( - <> - - - - - - ); -} - -const routes = createRoutes(); - -export function StartClient() { - return ( - - - - } scripts={}> - - - - - - - - - - ); -} diff --git a/packages/start-new/entry-server/ServerContext.tsx b/packages/start-new/entry-server/ServerContext.tsx deleted file mode 100644 index 5e8b95c19..000000000 --- a/packages/start-new/entry-server/ServerContext.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { createContext } from "solid-js"; - -export const ServerContext = createContext<{ - tags: any[]; - routes: any; -}>(); diff --git a/packages/start-new/entry-server/StartServer.tsx b/packages/start-new/entry-server/StartServer.tsx deleted file mode 100644 index bcfe22f90..000000000 --- a/packages/start-new/entry-server/StartServer.tsx +++ /dev/null @@ -1,61 +0,0 @@ -// @ts-ignore -import Root from "#start/root"; -import { MetaProvider } from "@solidjs/meta"; -import { Router, Routes } from "@solidjs/router"; -import { renderAsset } from "@vinxi/solid"; -import { join } from "path"; -import { HydrationScript, NoHydration, Suspense } from "solid-js/web"; - -import { FileRoutes } from "../root/FileRoutes"; -import { Meta } from "../root/Meta"; -import { ServerContext } from "./ServerContext"; - -export function StartServer(props) { - const context = props.context; - return ( - - - - - - - - {context.assets.map((m) => renderAsset(m))} - - } - scripts={ - - - - : null; - }, -}; - -export function renderAsset(asset) { - let { tag, attrs: { key, ...attrs } = { key: undefined }, children } = asset; - return assetMap[tag]({ attrs, key, children }); -} - -export const createAssets = (src, manifest) => - lazy(async () => { - const assets = await manifest.inputs[src].assets(); - - const styles = assets.filter((asset) => asset.tag === "style"); - - if (typeof window !== "undefined" && import.meta.hot) { - import.meta.hot.on("css-update", (data) => { - updateStyles(styles, data); - }); - } - - return { - default: function Assets() { - return <>{assets.map((asset) => renderAsset(asset))}; - }, - }; - }); \ No newline at end of file diff --git a/packages/start-new/utils/lazyRoute.jsx b/packages/start-new/utils/lazyRoute.jsx deleted file mode 100644 index ab924996c..000000000 --- a/packages/start-new/utils/lazyRoute.jsx +++ /dev/null @@ -1,49 +0,0 @@ -/// -import { createComponent, lazy, onCleanup } from "solid-js"; -import { appendStyles, cleanupStyles, updateStyles } from "vinxi/lib/style"; - -import { renderAsset } from "./assets"; - -export default function lazyRoute(component, clientManifest, serverManifest) { - return lazy(async () => { - if (import.meta.env.DEV) { - let manifest = import.meta.env.SSR ? serverManifest : clientManifest; - const { default: Component } = await import( - /* @vite-ignore */ manifest.inputs[component.src].output.path - ); - let assets = await clientManifest.inputs?.[component.src].assets(); - const styles = assets.filter((asset) => asset.tag === "style"); - if (typeof window !== "undefined" && import.meta.hot) { - import.meta.hot.on("css-update", (data) => { - updateStyles(styles, data); - }); - } - - const Comp = (props) => { - if (typeof window !== "undefined") { - appendStyles(styles); - } - - onCleanup(() => { - // remove style tags added by vite when a CSS file is imported - cleanupStyles(styles); - }); - return [ - ...assets.map((asset) => renderAsset(asset)), - createComponent(Component, props), - ]; - }; - return { default: Comp }; - } else { - const { default: Component } = await component.import(); - let assets = await clientManifest.inputs?.[component.src].assets(); - const Comp = (props) => { - return [ - ...assets.map((asset) => renderAsset(asset)), - createComponent(Component, props), - ]; - }; - return { default: Comp }; - } - }); -} From e1cddd102084001d637174fec88db2c706272156 Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Tue, 22 Aug 2023 20:54:39 -0700 Subject: [PATCH 006/163] cleanup lock file --- pnpm-lock.yaml | 58 +++++++------------------------------------------- 1 file changed, 8 insertions(+), 50 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 584908520..d26249330 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -828,7 +828,7 @@ importers: version: 0.18.20 esbuild-plugin-solid: specifier: ^0.5.0 - version: 0.5.0(esbuild@0.17.19)(solid-js@1.7.11) + version: 0.5.0(esbuild@0.18.20)(solid-js@1.7.11) fast-glob: specifier: ^3.3.0 version: 3.3.0 @@ -905,18 +905,6 @@ importers: solid-js: specifier: ^1.7.11 version: 1.7.11 - solid-start-cloudflare-pages: - specifier: workspace:* - version: link:../start-cloudflare-pages - solid-start-cloudflare-workers: - specifier: workspace:* - version: link:../start-cloudflare-workers - solid-start-deno: - specifier: workspace:* - version: link:../start-deno - solid-start-netlify: - specifier: workspace:* - version: link:../start-netlify solid-start-node: specifier: workspace:* version: link:../start-node @@ -1076,21 +1064,6 @@ importers: solid-js: specifier: ^1.7.11 version: 1.7.11 - solid-start: - specifier: workspace:* - version: link:../../packages/start - solid-start-cloudflare-pages: - specifier: workspace:* - version: link:../../packages/start-cloudflare-pages - solid-start-cloudflare-workers: - specifier: workspace:* - version: link:../../packages/start-cloudflare-workers - solid-start-deno: - specifier: workspace:* - version: link:../../packages/start-deno - solid-start-netlify: - specifier: workspace:* - version: link:../../packages/start-netlify solid-start-node: specifier: workspace:* version: link:../../packages/start-node @@ -3988,7 +3961,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.0) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) rollup: 3.28.0 /@rollup/plugin-node-resolve@13.0.2(rollup@2.78.0): @@ -4032,7 +4005,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.3(rollup@3.28.0) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 @@ -4197,14 +4170,6 @@ packages: dependencies: solid-js: 1.7.11 - /@solidjs/meta@0.28.5(solid-js@1.7.9): - resolution: {integrity: sha512-52luJR6hVNMA1K8Od5OD0d8WVz/svqZG4is8lrDimiUGxdia3DzuLF+pK56dnEzbNt9cA42qVFL134U9LkC9Gg==} - peerDependencies: - solid-js: '>=1.4.0' - dependencies: - solid-js: 1.7.9 - dev: true - /@solidjs/router@0.8.2(solid-js@1.7.11): resolution: {integrity: sha512-gUKW+LZqxtX6y/Aw6JKyy4gQ9E7dLqp513oB9pSYJR1HM5c56Pf7eijzyXX+b3WuXig18Cxqah4tMtF0YGu80w==} peerDependencies: @@ -6282,7 +6247,7 @@ packages: dev: true optional: true - /esbuild-plugin-solid@0.5.0(esbuild@0.17.19)(solid-js@1.7.11): + /esbuild-plugin-solid@0.5.0(esbuild@0.18.20)(solid-js@1.7.11): resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==} peerDependencies: esbuild: '>=0.12' @@ -6291,7 +6256,7 @@ packages: '@babel/core': 7.22.9 '@babel/preset-typescript': 7.22.5(@babel/core@7.22.9) babel-preset-solid: 1.7.7(@babel/core@7.22.9) - esbuild: 0.17.19 + esbuild: 0.18.20 solid-js: 1.7.11 transitivePeerDependencies: - supports-color @@ -7085,8 +7050,8 @@ packages: dependencies: duplexer: 0.1.2 - /h3-nightly@1.8.1-1692089733.8af0474: - resolution: {integrity: sha512-/1+YbSAKKcEYcUieF+f2FyIdY5/GmPIxkUrxjsS62RV1oXbUv2rh7wDvyNrKmCawczYlTHBGs0iyTuA7Z8Ifhg==} + /h3-nightly@1.8.1-1692554209.a3ad8c2: + resolution: {integrity: sha512-OmbTmQEjtsoTo5nhS0EqohRdm8sqScjpAdO4R4SCo5827Uf8mSF6OqhDmlxcmOKH6pqzbqsOWr7sXWTs7gRc1Q==} dependencies: cookie-es: 1.0.0 defu: 6.1.2 @@ -8817,7 +8782,7 @@ packages: fs-extra: 11.1.1 globby: 13.2.2 gzip-size: 7.0.0 - h3: /h3-nightly@1.8.1-1692089733.8af0474 + h3: /h3-nightly@1.8.1-1692554209.a3ad8c2 hookable: 5.5.3 http-proxy: 1.18.1(debug@4.3.4) is-primitive: 3.0.1 @@ -10345,13 +10310,6 @@ packages: csstype: 3.1.0 seroval: 0.5.1 - /solid-js@1.7.9: - resolution: {integrity: sha512-p1orXnauMQmwYULZtuPAXyKNRGEN2qh60kLX4YURa3jvulxAqjlh2kWEljXCtAVR6UZPC16NXdj9ASHcH383Fg==} - dependencies: - csstype: 3.1.0 - seroval: 0.5.1 - dev: true - /solid-mdx@0.0.6(solid-js@1.7.11)(vite@4.4.6): resolution: {integrity: sha512-SDr+iOqxvB7ktdjrwgKLCLkJK43J+TQjoYmesHxmZHXtn6W+a5NRqWgBcybsSP0noHa2co1plSjuPYU4bdtklQ==} peerDependencies: From d666ced5d7c33108615d7cdc27180c75f150decf Mon Sep 17 00:00:00 2001 From: Ryan Carniato Date: Wed, 23 Aug 2023 12:16:44 -0700 Subject: [PATCH 007/163] update hackernews, fix streaming --- examples/bare-old/src/components/Counter.css | 20 -- examples/bare-old/src/components/Counter.tsx | 11 - examples/bare-old/src/root.css | 40 --- examples/bare-old/src/root.tsx | 39 --- examples/bare-old/src/routes/[...404].tsx | 19 -- examples/bare-old/src/routes/index.tsx | 19 -- examples/bare-old/vite.config.ts | 6 - examples/bare/src/app.tsx | 14 +- examples/hackernews/README.md | 14 +- examples/hackernews/package.json | 21 +- examples/hackernews/src/{root.css => app.css} | 0 examples/hackernews/src/app.tsx | 21 ++ .../hackernews/src/components/comment.tsx | 2 +- examples/hackernews/src/components/nav.tsx | 2 +- examples/hackernews/src/components/story.tsx | 2 +- examples/hackernews/src/entry-client.tsx | 11 +- examples/hackernews/src/entry-server.tsx | 25 +- examples/hackernews/src/lib/api.ts | 2 +- .../hackernews/src/routes/[...stories].tsx | 4 +- .../hackernews/src/routes/stories/[id].tsx | 4 +- examples/hackernews/src/routes/users/[id].tsx | 4 +- examples/hackernews/tsconfig.json | 27 +- examples/hackernews/vite.config.js | 3 + examples/{bare-old => z-hackernews}/README.md | 16 +- .../{bare-old => z-hackernews}/package.json | 5 +- .../public/favicon.ico | Bin .../public/img/android-chrome-192x192.png | Bin 0 -> 9715 bytes .../public/img/android-chrome-512x512.png | Bin 0 -> 34283 bytes .../public/img/apple-touch-icon.png | Bin 0 -> 8999 bytes .../z-hackernews/public/img/favicon-16x16.png | Bin 0 -> 664 bytes .../z-hackernews/public/img/favicon-32x32.png | Bin 0 -> 1456 bytes .../public/img/mstile-150x150.png | Bin 0 -> 7085 bytes .../z-hackernews/public/manifest.webmanifest | 20 ++ examples/z-hackernews/public/robots.txt | 2 + examples/z-hackernews/public/sw.js | 14 + .../z-hackernews/src/components/comment.tsx | 23 ++ examples/z-hackernews/src/components/nav.tsx | 30 ++ .../z-hackernews/src/components/story.tsx | 41 +++ .../z-hackernews/src/components/toggle.tsx | 16 + .../src/entry-client.tsx | 0 .../src/entry-server.tsx | 0 examples/z-hackernews/src/lib/api.ts | 28 ++ examples/z-hackernews/src/root.css | 307 ++++++++++++++++++ .../{hackernews => z-hackernews}/src/root.tsx | 0 .../z-hackernews/src/routes/[...stories].tsx | 69 ++++ .../z-hackernews/src/routes/stories/[id].tsx | 42 +++ .../z-hackernews/src/routes/users/[id].tsx | 46 +++ examples/z-hackernews/src/types.ts | 19 ++ .../{bare-old => z-hackernews}/tsconfig.json | 1 - .../vite.config.ts | 0 packages/start-new/server/handler.tsx | 28 +- pnpm-lock.yaml | 39 +-- 52 files changed, 798 insertions(+), 258 deletions(-) delete mode 100644 examples/bare-old/src/components/Counter.css delete mode 100644 examples/bare-old/src/components/Counter.tsx delete mode 100644 examples/bare-old/src/root.css delete mode 100644 examples/bare-old/src/root.tsx delete mode 100644 examples/bare-old/src/routes/[...404].tsx delete mode 100644 examples/bare-old/src/routes/index.tsx delete mode 100644 examples/bare-old/vite.config.ts rename examples/hackernews/src/{root.css => app.css} (100%) create mode 100644 examples/hackernews/src/app.tsx create mode 100644 examples/hackernews/vite.config.js rename examples/{bare-old => z-hackernews}/README.md (53%) rename examples/{bare-old => z-hackernews}/package.json (82%) rename examples/{bare-old => z-hackernews}/public/favicon.ico (100%) create mode 100644 examples/z-hackernews/public/img/android-chrome-192x192.png create mode 100644 examples/z-hackernews/public/img/android-chrome-512x512.png create mode 100644 examples/z-hackernews/public/img/apple-touch-icon.png create mode 100644 examples/z-hackernews/public/img/favicon-16x16.png create mode 100644 examples/z-hackernews/public/img/favicon-32x32.png create mode 100644 examples/z-hackernews/public/img/mstile-150x150.png create mode 100644 examples/z-hackernews/public/manifest.webmanifest create mode 100644 examples/z-hackernews/public/robots.txt create mode 100644 examples/z-hackernews/public/sw.js create mode 100644 examples/z-hackernews/src/components/comment.tsx create mode 100644 examples/z-hackernews/src/components/nav.tsx create mode 100644 examples/z-hackernews/src/components/story.tsx create mode 100644 examples/z-hackernews/src/components/toggle.tsx rename examples/{bare-old => z-hackernews}/src/entry-client.tsx (100%) rename examples/{bare-old => z-hackernews}/src/entry-server.tsx (100%) create mode 100644 examples/z-hackernews/src/lib/api.ts create mode 100644 examples/z-hackernews/src/root.css rename examples/{hackernews => z-hackernews}/src/root.tsx (100%) create mode 100644 examples/z-hackernews/src/routes/[...stories].tsx create mode 100644 examples/z-hackernews/src/routes/stories/[id].tsx create mode 100644 examples/z-hackernews/src/routes/users/[id].tsx create mode 100644 examples/z-hackernews/src/types.ts rename examples/{bare-old => z-hackernews}/tsconfig.json (94%) rename examples/{hackernews => z-hackernews}/vite.config.ts (100%) diff --git a/examples/bare-old/src/components/Counter.css b/examples/bare-old/src/components/Counter.css deleted file mode 100644 index 8bd0eb340..000000000 --- a/examples/bare-old/src/components/Counter.css +++ /dev/null @@ -1,20 +0,0 @@ -.increment { - font-family: inherit; - font-size: inherit; - padding: 1em 2em; - color: #335d92; - background-color: rgba(68, 107, 158, 0.1); - border-radius: 2em; - border: 2px solid rgba(68, 107, 158, 0); - outline: none; - width: 200px; - font-variant-numeric: tabular-nums; -} - -.increment:focus { - border: 2px solid #335d92; -} - -.increment:active { - background-color: rgba(68, 107, 158, 0.2); -} \ No newline at end of file diff --git a/examples/bare-old/src/components/Counter.tsx b/examples/bare-old/src/components/Counter.tsx deleted file mode 100644 index 55a4e673f..000000000 --- a/examples/bare-old/src/components/Counter.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { createSignal } from "solid-js"; -import "./Counter.css"; - -export default function Counter() { - const [count, setCount] = createSignal(0); - return ( - - ); -} diff --git a/examples/bare-old/src/root.css b/examples/bare-old/src/root.css deleted file mode 100644 index 5955a5a79..000000000 --- a/examples/bare-old/src/root.css +++ /dev/null @@ -1,40 +0,0 @@ -body { - font-family: Gordita, Roboto, Oxygen, Ubuntu, Cantarell, - 'Open Sans', 'Helvetica Neue', sans-serif; -} - -a { - margin-right: 1rem; -} - -main { - text-align: center; - padding: 1em; - margin: 0 auto; -} - -h1 { - color: #335d92; - text-transform: uppercase; - font-size: 4rem; - font-weight: 100; - line-height: 1.1; - margin: 4rem auto; - max-width: 14rem; -} - -p { - max-width: 14rem; - margin: 2rem auto; - line-height: 1.35; -} - -@media (min-width: 480px) { - h1 { - max-width: none; - } - - p { - max-width: none; - } -} diff --git a/examples/bare-old/src/root.tsx b/examples/bare-old/src/root.tsx deleted file mode 100644 index f7e50156f..000000000 --- a/examples/bare-old/src/root.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// @refresh reload -import { Suspense } from "solid-js"; -import { - A, - Body, - ErrorBoundary, - FileRoutes, - Head, - Html, - Meta, - Routes, - Scripts, - Title -} from "solid-start"; -import "./root.css"; - -export default function Root() { - return ( - - - SolidStart - Bare - - - - - - - Index - About - - - - - - - - - ); -} diff --git a/examples/bare-old/src/routes/[...404].tsx b/examples/bare-old/src/routes/[...404].tsx deleted file mode 100644 index 108946012..000000000 --- a/examples/bare-old/src/routes/[...404].tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Title } from "solid-start"; -import { HttpStatusCode } from "solid-start/server"; - -export default function NotFound() { - return ( -

- Not Found - -

Page Not Found

-

- Visit{" "} - - start.solidjs.com - {" "} - to learn how to build SolidStart apps. -

-
- ); -} diff --git a/examples/bare-old/src/routes/index.tsx b/examples/bare-old/src/routes/index.tsx deleted file mode 100644 index cb6e01096..000000000 --- a/examples/bare-old/src/routes/index.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Title } from "solid-start"; -import Counter from "~/components/Counter"; - -export default function Home() { - return ( -
- Hello World -

Hello world!

- -

- Visit{" "} - - start.solidjs.com - {" "} - to learn how to build SolidStart apps. -

-
- ); -} diff --git a/examples/bare-old/vite.config.ts b/examples/bare-old/vite.config.ts deleted file mode 100644 index a1a712626..000000000 --- a/examples/bare-old/vite.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import solid from "solid-start/vite"; -import { defineConfig } from "vite"; - -export default defineConfig({ - plugins: [solid()] -}); diff --git a/examples/bare/src/app.tsx b/examples/bare/src/app.tsx index 1be8ab364..9139ed2ed 100644 --- a/examples/bare/src/app.tsx +++ b/examples/bare/src/app.tsx @@ -1,6 +1,6 @@ // @refresh reload import { A, Routes } from "@solidjs/router"; -import { FileRoutes } from "@solidjs/start"; +import { DefaultErrorBoundary, FileRoutes } from "@solidjs/start"; import { Suspense } from "solid-js"; import "./app.css"; @@ -9,11 +9,13 @@ export default function App() { <> Index About - - - - - + + + + + + + ); } diff --git a/examples/hackernews/README.md b/examples/hackernews/README.md index 762b11ed8..5d7261be2 100644 --- a/examples/hackernews/README.md +++ b/examples/hackernews/README.md @@ -1,12 +1,16 @@ # SolidStart Hackernews Example -Hackernews example powered by [`solid-start`](https://start.solidjs.com); +Everything you need to build a Solid project, powered by [`solid-start`](https://start.solidjs.com); + +## Creating a project ```bash -npm init solid@latest -- --template hackernews -``` +# create a new project in the current directory +npm init solid@latest -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/solidjs/solid-start/tree/main/examples/hackernews) +# create a new project in my-app +npm init solid@latest my-app +``` ## Developing @@ -21,6 +25,6 @@ npm run dev -- --open ## Building -SolidStart apps are built with _adapters_, which optimise your project for deployment to different environments. +Solid apps are built with _adapters_, which optimise your project for deployment to different environments. By default, `npm run build` will generate a Node app that you can run with `npm start`. To use a different adapter, add it to the `devDependencies` in `package.json` and specify in your `vite.config.js`. diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index d6e520287..376212af2 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -1,25 +1,18 @@ { "name": "example-hackernews", - "scripts": { - "dev": "solid-start dev", - "build": "solid-start build", - "start": "solid-start start" - }, "type": "module", - "main": "./dist/index.js", - "devDependencies": { - "@types/babel__core": "^7.20.1", - "@types/node": "^18.16.19", - "esbuild": "^0.14.54", - "solid-start-node": "^0.3.0", - "typescript": "^4.9.5", - "vite": "^4.4.6" + "scripts": { + "dev": "vinxi dev", + "build": "vinxi build", + "start": "vinxi start" }, "dependencies": { "@solidjs/meta": "^0.28.5", "@solidjs/router": "^0.8.2", + "@solidjs/start": "workspace:^", + "autoprefixer": "^10.4.14", "solid-js": "^1.7.11", - "solid-start": "^0.3.4" + "vinxi": "0.0.19" }, "engines": { "node": ">=18" diff --git a/examples/hackernews/src/root.css b/examples/hackernews/src/app.css similarity index 100% rename from examples/hackernews/src/root.css rename to examples/hackernews/src/app.css diff --git a/examples/hackernews/src/app.tsx b/examples/hackernews/src/app.tsx new file mode 100644 index 000000000..f94ef3bf2 --- /dev/null +++ b/examples/hackernews/src/app.tsx @@ -0,0 +1,21 @@ +// @refresh reload +import { Routes } from "@solidjs/router"; +import { DefaultErrorBoundary, FileRoutes } from "@solidjs/start"; +import { Suspense } from "solid-js"; +import "./app.css"; +import Nav from "./components/nav"; + +export default function App() { + return ( + <> +