From 287c8f0f91bd479e18397673cbcc57a13f08d4e1 Mon Sep 17 00:00:00 2001 From: OrJDev <91349014+OrJDev@users.noreply.github.com> Date: Sat, 31 Dec 2022 12:15:31 +0200 Subject: [PATCH] feat(solid-start): introduce `@auth/solid-start` package/example (#6158) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add solid framework package and example * solidstart docs * Update 02-oauth-tutorial.mdx * minor docs fixes * Fix sidebar typo * Update sync.yml * Update sidebars.js * minor fixes * fix deps * upgrade auth example * Update root.tsx * Update NavBar.tsx * Update Protected.tsx * protected * move example * Update sidebars.js Co-authored-by: Balázs Orbán Co-authored-by: Nico Domino --- .github/sync.yml | 7 + apps/examples/solid-start/.env.example | 3 + apps/examples/solid-start/.gitignore | 27 + apps/examples/solid-start/README.MD | 37 + apps/examples/solid-start/package.json | 32 + apps/examples/solid-start/postcss.config.cjs | 6 + apps/examples/solid-start/public/favicon.ico | Bin 0 -> 664 bytes .../src/components/NavBar/NavBar.tsx | 72 + .../src/components/NavBar/index.ts | 1 + .../src/components/Protected/Protected.tsx | 37 + .../src/components/Protected/index.ts | 1 + .../solid-start/src/components/index.ts | 2 + .../examples/solid-start/src/entry-client.tsx | 3 + .../examples/solid-start/src/entry-server.tsx | 9 + apps/examples/solid-start/src/env/client.ts | 24 + apps/examples/solid-start/src/env/schema.ts | 15 + apps/examples/solid-start/src/env/server.ts | 24 + apps/examples/solid-start/src/root.css | 3 + apps/examples/solid-start/src/root.tsx | 40 + .../src/routes/api/auth/[...solidauth].ts | 16 + .../examples/solid-start/src/routes/index.tsx | 44 + .../solid-start/src/routes/protected.tsx | 11 + apps/examples/solid-start/tailwind.config.cjs | 8 + apps/examples/solid-start/tsconfig.json | 17 + apps/examples/solid-start/vite.config.ts | 10 + .../getting-started/02-oauth-tutorial.mdx | 2 +- docs/docs/reference/04-solidstart/client.md | 18 + docs/docs/reference/04-solidstart/index.md | 76 + .../docs/reference/04-solidstart/protected.md | 119 ++ docs/docs/reference/index.md | 2 +- docs/sidebars.js | 9 + docs/src/pages/index.js | 37 +- packages/frameworks-solid-start/.gitignore | 7 + packages/frameworks-solid-start/README.MD | 80 + packages/frameworks-solid-start/package.json | 58 + .../scripts/postbuild.js | 16 + packages/frameworks-solid-start/src/client.ts | 102 ++ packages/frameworks-solid-start/src/index.ts | 114 ++ .../tsconfig.eslint.json | 4 + packages/frameworks-solid-start/tsconfig.json | 17 + .../frameworks-solid-start/tsup.config.js | 15 + pnpm-lock.yaml | 1369 +++++++++++++++-- 42 files changed, 2335 insertions(+), 159 deletions(-) create mode 100644 apps/examples/solid-start/.env.example create mode 100644 apps/examples/solid-start/.gitignore create mode 100644 apps/examples/solid-start/README.MD create mode 100644 apps/examples/solid-start/package.json create mode 100644 apps/examples/solid-start/postcss.config.cjs create mode 100644 apps/examples/solid-start/public/favicon.ico create mode 100644 apps/examples/solid-start/src/components/NavBar/NavBar.tsx create mode 100644 apps/examples/solid-start/src/components/NavBar/index.ts create mode 100644 apps/examples/solid-start/src/components/Protected/Protected.tsx create mode 100644 apps/examples/solid-start/src/components/Protected/index.ts create mode 100644 apps/examples/solid-start/src/components/index.ts create mode 100644 apps/examples/solid-start/src/entry-client.tsx create mode 100644 apps/examples/solid-start/src/entry-server.tsx create mode 100644 apps/examples/solid-start/src/env/client.ts create mode 100644 apps/examples/solid-start/src/env/schema.ts create mode 100644 apps/examples/solid-start/src/env/server.ts create mode 100644 apps/examples/solid-start/src/root.css create mode 100644 apps/examples/solid-start/src/root.tsx create mode 100644 apps/examples/solid-start/src/routes/api/auth/[...solidauth].ts create mode 100644 apps/examples/solid-start/src/routes/index.tsx create mode 100644 apps/examples/solid-start/src/routes/protected.tsx create mode 100644 apps/examples/solid-start/tailwind.config.cjs create mode 100644 apps/examples/solid-start/tsconfig.json create mode 100644 apps/examples/solid-start/vite.config.ts create mode 100644 docs/docs/reference/04-solidstart/client.md create mode 100644 docs/docs/reference/04-solidstart/index.md create mode 100644 docs/docs/reference/04-solidstart/protected.md create mode 100644 packages/frameworks-solid-start/.gitignore create mode 100644 packages/frameworks-solid-start/README.MD create mode 100644 packages/frameworks-solid-start/package.json create mode 100644 packages/frameworks-solid-start/scripts/postbuild.js create mode 100644 packages/frameworks-solid-start/src/client.ts create mode 100644 packages/frameworks-solid-start/src/index.ts create mode 100644 packages/frameworks-solid-start/tsconfig.eslint.json create mode 100644 packages/frameworks-solid-start/tsconfig.json create mode 100644 packages/frameworks-solid-start/tsup.config.js diff --git a/.github/sync.yml b/.github/sync.yml index bcf6d249..e6797b8b 100644 --- a/.github/sync.yml +++ b/.github/sync.yml @@ -7,6 +7,13 @@ nextauthjs/sveltekit-auth-example: - .github/FUNDING.yml - LICENSE +nextauthjs/solid-start-auth-example: + - source: apps/examples/solid-start + dest: . + deleteOrphaned: true + - .github/FUNDING.yml + - LICENSE + nextauthjs/next-auth-gatsby-example: - source: apps/playgrounds/gatsby dest: . diff --git a/apps/examples/solid-start/.env.example b/apps/examples/solid-start/.env.example new file mode 100644 index 00000000..7705e50e --- /dev/null +++ b/apps/examples/solid-start/.env.example @@ -0,0 +1,3 @@ +GITHUB_ID= +GITHUB_SECRET= +AUTH_SECRET= \ No newline at end of file diff --git a/apps/examples/solid-start/.gitignore b/apps/examples/solid-start/.gitignore new file mode 100644 index 00000000..bcae3299 --- /dev/null +++ b/apps/examples/solid-start/.gitignore @@ -0,0 +1,27 @@ +dist +.solid +.output +.vercel +.netlify +netlify + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +*.launch +.settings/ + +# Temp +gitignore + +# System Files +.DS_Store +Thumbs.db + +.env + +.vercel diff --git a/apps/examples/solid-start/README.MD b/apps/examples/solid-start/README.MD new file mode 100644 index 00000000..451378cc --- /dev/null +++ b/apps/examples/solid-start/README.MD @@ -0,0 +1,37 @@ +# Create JD App + +This project was created using [Create JD App](https://github.com/OrJDev/create-jd-app) + +## Deploying To Vercel + +### Installing + +```bash +npm install solid-start-vercel@latest -D +``` + +### Adding to vite config + +```ts +import solid from "solid-start/vite"; +import dotenv from "dotenv"; +import { defineConfig } from "vite"; +// @ts-expect-error no typing +import vercel from "solid-start-vercel"; + +export default defineConfig(() => { + dotenv.config(); + return { + plugins: [solid({ ssr: true, adapter: vercel({ edge: false }) })], + }; +}); + +``` + +### Enviroment Variables + +- `ENABLE_VC_BUILD`=`1` . + +### You Are Done + +Create a github repo and push your code to it, then deploy it to vercel (: diff --git a/apps/examples/solid-start/package.json b/apps/examples/solid-start/package.json new file mode 100644 index 00000000..78a9f09c --- /dev/null +++ b/apps/examples/solid-start/package.json @@ -0,0 +1,32 @@ +{ + "name": "my-app", + "scripts": { + "dev": "solid-start dev", + "build": "solid-start build", + "start": "solid-start start", + "lint": "eslint --fix \"**/*.{ts,tsx,js,jsx}\"" + }, + "type": "module", + "devDependencies": { + "autoprefixer": "^10.4.13", + "postcss": "^8.4.19", + "solid-start-node": "^0.2.9", + "solid-start-vercel": "^0.2.9", + "tailwindcss": "^3.2.4", + "typescript": "^4.8.3", + "vite": "^3.1.0" + }, + "dependencies": { + "@auth/core": "^0.1.4", + "@solid-auth/next": "^0.0.19", + "@solidjs/meta": "^0.28.0", + "@solidjs/router": "^0.6.0", + "solid-js": "^1.5.7", + "solid-start": "^0.2.9", + "undici": "5.11.0", + "zod": "^3.19.1" + }, + "engines": { + "node": ">=16" + } +} diff --git a/apps/examples/solid-start/postcss.config.cjs b/apps/examples/solid-start/postcss.config.cjs new file mode 100644 index 00000000..63889e76 --- /dev/null +++ b/apps/examples/solid-start/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; \ No newline at end of file diff --git a/apps/examples/solid-start/public/favicon.ico b/apps/examples/solid-start/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 = () => { + const session = useSession(); + return ( +
+ + +
+ ); +}; + +export default NavBar; + +export const useSession = () => { + return createServerData$( + async (_, { request }) => { + return await getSession(request, authOpts); + }, + { key: () => ["auth_user"] } + ); +}; diff --git a/apps/examples/solid-start/src/components/NavBar/index.ts b/apps/examples/solid-start/src/components/NavBar/index.ts new file mode 100644 index 00000000..3ab07fb6 --- /dev/null +++ b/apps/examples/solid-start/src/components/NavBar/index.ts @@ -0,0 +1 @@ +export { default } from "./NavBar"; diff --git a/apps/examples/solid-start/src/components/Protected/Protected.tsx b/apps/examples/solid-start/src/components/Protected/Protected.tsx new file mode 100644 index 00000000..1faa81c0 --- /dev/null +++ b/apps/examples/solid-start/src/components/Protected/Protected.tsx @@ -0,0 +1,37 @@ +import { type Session } from "@auth/core"; +import { getSession } from "@solid-auth/next"; +import { Component, Show } from "solid-js"; +import { useRouteData } from "solid-start"; +import { createServerData$, redirect } from "solid-start/server"; +import { authOpts } from "~/routes/api/auth/[...solidauth]"; + +const Protected = (Comp: IProtectedComponent) => { + const routeData = () => { + return createServerData$( + async (_, event) => { + const session = await getSession(event.request, authOpts); + if (!session || !session.user) { + throw redirect("/"); + } + return session; + }, + { key: () => ["auth_user"] } + ); + }; + + return { + routeData, + Page: () => { + const session = useRouteData(); + return ( + + {(sess) => } + + ); + }, + }; +}; + +type IProtectedComponent = Component; + +export default Protected; diff --git a/apps/examples/solid-start/src/components/Protected/index.ts b/apps/examples/solid-start/src/components/Protected/index.ts new file mode 100644 index 00000000..a592467a --- /dev/null +++ b/apps/examples/solid-start/src/components/Protected/index.ts @@ -0,0 +1 @@ +export { default } from "./Protected"; diff --git a/apps/examples/solid-start/src/components/index.ts b/apps/examples/solid-start/src/components/index.ts new file mode 100644 index 00000000..93587cb2 --- /dev/null +++ b/apps/examples/solid-start/src/components/index.ts @@ -0,0 +1,2 @@ +export { default as NavBar } from "./NavBar"; +export { default as Protected } from "./Protected"; diff --git a/apps/examples/solid-start/src/entry-client.tsx b/apps/examples/solid-start/src/entry-client.tsx new file mode 100644 index 00000000..94228485 --- /dev/null +++ b/apps/examples/solid-start/src/entry-client.tsx @@ -0,0 +1,3 @@ +import { mount, StartClient } from "solid-start/entry-client"; + +mount(() => , document); diff --git a/apps/examples/solid-start/src/entry-server.tsx b/apps/examples/solid-start/src/entry-server.tsx new file mode 100644 index 00000000..11c445b0 --- /dev/null +++ b/apps/examples/solid-start/src/entry-server.tsx @@ -0,0 +1,9 @@ +import { + StartServer, + createHandler, + renderAsync, +} from "solid-start/entry-server"; + +export default createHandler( + renderAsync((event) => ) +); diff --git a/apps/examples/solid-start/src/env/client.ts b/apps/examples/solid-start/src/env/client.ts new file mode 100644 index 00000000..c68405b7 --- /dev/null +++ b/apps/examples/solid-start/src/env/client.ts @@ -0,0 +1,24 @@ +import type { ZodFormattedError } from "zod"; +import { clientScheme } from "./schema"; + +export const formatErrors = ( + errors: ZodFormattedError, string> +) => + Object.entries(errors) + .map(([name, value]) => { + if (value && "_errors" in value) + return `${name}: ${value._errors.join(", ")}\n`; + }) + .filter(Boolean); + +const env = clientScheme.safeParse(import.meta.env); + +if (env.success === false) { + console.error( + "❌ Invalid environment variables:\n", + ...formatErrors(env.error.format()) + ); + throw new Error("Invalid environment variables"); +} + +export const clientEnv = env.data; diff --git a/apps/examples/solid-start/src/env/schema.ts b/apps/examples/solid-start/src/env/schema.ts new file mode 100644 index 00000000..39fb4947 --- /dev/null +++ b/apps/examples/solid-start/src/env/schema.ts @@ -0,0 +1,15 @@ +import { z } from "zod"; + +export const serverScheme = z.object({ + NODE_ENV: z + .enum(["development", "production", "test"]) + .default("development"), + GITHUB_ID: z.string(), + GITHUB_SECRET: z.string(), + AUTH_SECRET: z.string(), + NEXTAUTH_URL: z.string().optional(), +}); + +export const clientScheme = z.object({ + MODE: z.enum(["development", "production", "test"]).default("development"), +}); diff --git a/apps/examples/solid-start/src/env/server.ts b/apps/examples/solid-start/src/env/server.ts new file mode 100644 index 00000000..9da0527d --- /dev/null +++ b/apps/examples/solid-start/src/env/server.ts @@ -0,0 +1,24 @@ +import { serverScheme } from "./schema"; +import type { ZodFormattedError } from "zod"; + +export const formatErrors = ( + errors: ZodFormattedError, string> +) => + Object.entries(errors) + .map(([name, value]) => { + if (value && "_errors" in value) + return `${name}: ${value._errors.join(", ")}\n`; + }) + .filter(Boolean); + +const env = serverScheme.safeParse(process.env); + +if (env.success === false) { + console.error( + "❌ Invalid environment variables:\n", + ...formatErrors(env.error.format()) + ); + throw new Error("Invalid environment variables"); +} + +export const serverEnv = env.data; diff --git a/apps/examples/solid-start/src/root.css b/apps/examples/solid-start/src/root.css new file mode 100644 index 00000000..b5c61c95 --- /dev/null +++ b/apps/examples/solid-start/src/root.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/apps/examples/solid-start/src/root.tsx b/apps/examples/solid-start/src/root.tsx new file mode 100644 index 00000000..38449654 --- /dev/null +++ b/apps/examples/solid-start/src/root.tsx @@ -0,0 +1,40 @@ +// @refresh reload +import "./root.css"; +import { Suspense } from "solid-js"; +import { + Body, + ErrorBoundary, + FileRoutes, + Head, + Html, + Meta, + Routes, + Scripts, + Title, +} from "solid-start"; +import { NavBar } from "./components"; + +export default function Root() { + return ( + + + Create JD App + + + + + + +
+ + + + + +
+
+ + + + ); +} diff --git a/apps/examples/solid-start/src/routes/api/auth/[...solidauth].ts b/apps/examples/solid-start/src/routes/api/auth/[...solidauth].ts new file mode 100644 index 00000000..6f87be05 --- /dev/null +++ b/apps/examples/solid-start/src/routes/api/auth/[...solidauth].ts @@ -0,0 +1,16 @@ +import { SolidAuth, type SolidAuthConfig } from "@solid-auth/next"; +import GitHub from "@auth/core/providers/github"; +import { serverEnv } from "~/env/server"; +import { type APIEvent } from "solid-start"; + +export const authOpts: SolidAuthConfig = { + providers: [ + GitHub({ + clientId: serverEnv.GITHUB_ID, + clientSecret: serverEnv.GITHUB_SECRET, + }), + ], + debug: false, +}; + +export const { GET, POST } = SolidAuth(authOpts); diff --git a/apps/examples/solid-start/src/routes/index.tsx b/apps/examples/solid-start/src/routes/index.tsx new file mode 100644 index 00000000..b01ef585 --- /dev/null +++ b/apps/examples/solid-start/src/routes/index.tsx @@ -0,0 +1,44 @@ +import { type ParentComponent } from "solid-js"; +import { A, Title, useRouteData } from "solid-start"; +import { createServerData$ } from "solid-start/server"; +import { authOpts } from "./api/auth/[...solidauth]"; +import { getSession } from "@solid-auth/next"; + +export const routeData = () => { + return createServerData$( + async (_, { request }) => { + return await getSession(request, authOpts); + }, + { key: () => ["auth_user"] } + ); +}; +const Home: ParentComponent = () => { + const user = useRouteData(); + return ( + <> + Create JD App +
+

SolidStart Auth Example

+

+ This is an example site to demonstrate how to use{" "} + + SolidStart + {" "} + with{" "} + + SolidStart Auth + {" "} + for authentication. +

+
+ + ); +}; + +export default Home; diff --git a/apps/examples/solid-start/src/routes/protected.tsx b/apps/examples/solid-start/src/routes/protected.tsx new file mode 100644 index 00000000..295b44fc --- /dev/null +++ b/apps/examples/solid-start/src/routes/protected.tsx @@ -0,0 +1,11 @@ +import { Protected } from "~/components"; + +export const { routeData, Page } = Protected((session) => { + return ( +
+

This is a proteced route

+
+ ); +}); + +export default Page; diff --git a/apps/examples/solid-start/tailwind.config.cjs b/apps/examples/solid-start/tailwind.config.cjs new file mode 100644 index 00000000..54331dc9 --- /dev/null +++ b/apps/examples/solid-start/tailwind.config.cjs @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/apps/examples/solid-start/tsconfig.json b/apps/examples/solid-start/tsconfig.json new file mode 100644 index 00000000..9af103b9 --- /dev/null +++ b/apps/examples/solid-start/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "strict": true, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "jsxImportSource": "solid-js", + "jsx": "preserve", + "types": ["vite/client"], + "baseUrl": "./", + "paths": { + "~/*": ["./src/*"] + } + } +} diff --git a/apps/examples/solid-start/vite.config.ts b/apps/examples/solid-start/vite.config.ts new file mode 100644 index 00000000..1a2182e7 --- /dev/null +++ b/apps/examples/solid-start/vite.config.ts @@ -0,0 +1,10 @@ +import solid from "solid-start/vite"; +import { defineConfig } from "vite"; +// @ts-expect-error no typings +import vercel from "solid-start-vercel"; + +export default defineConfig(() => { + return { + plugins: [solid({ ssr: true, adapter: vercel({ edge: false }) })], + }; +}); diff --git a/docs/docs/getting-started/02-oauth-tutorial.mdx b/docs/docs/getting-started/02-oauth-tutorial.mdx index e05f54ea..7c9e384d 100644 --- a/docs/docs/getting-started/02-oauth-tutorial.mdx +++ b/docs/docs/getting-started/02-oauth-tutorial.mdx @@ -14,7 +14,7 @@ We know, authentication is hard. Is a rabbit hole and it's easy to get lost on i The easiest way is to setup Auth.js with an [OAuth](https://en.wikipedia.org/wiki/OAuth) provider. In this tutorial we'll be setting Auth.js in a **Next.js app** to be able to login with **Github**. :::info -Auth.js comes with a long list of [built-in providers](/reference/providers/oauth-builtin) (Google, Facebook, Twitter, etc...) you can also integrate it with your own OAuth service easily by [building a custom provider](/guides/providers/custom-provider). Auth.js can integrate as well with other frameworks like SvelteKit and Gatsby. +Auth.js comes with a long list of [built-in providers](/reference/providers/oauth-builtin) (Google, Facebook, Twitter, etc...) you can also integrate it with your own OAuth service easily by [building a custom provider](/guides/providers/custom-provider). Auth.js can integrate as well with other frameworks like SvelteKit, SolidStart and Gatsby. ::: ## 1. Configuring Auth.js diff --git a/docs/docs/reference/04-solidstart/client.md b/docs/docs/reference/04-solidstart/client.md new file mode 100644 index 00000000..452d003a --- /dev/null +++ b/docs/docs/reference/04-solidstart/client.md @@ -0,0 +1,18 @@ +--- +title: Client +--- + +## Signing in + +```ts +import { signIn } from "@auth/solid-start/client" +signIn() +signIn("provider") // example: signIn("github") +``` + +## Signing out + +```ts +import { signOut } from "@auth/solid-start/client" +signOut() +``` diff --git a/docs/docs/reference/04-solidstart/index.md b/docs/docs/reference/04-solidstart/index.md new file mode 100644 index 00000000..c7a4a4e0 --- /dev/null +++ b/docs/docs/reference/04-solidstart/index.md @@ -0,0 +1,76 @@ +--- +title: SolidStart Auth +--- + +# Getting started + +Recommended to use [create-jd-app](https://github.com/OrJDev/create-jd-app) + +```bash +npm install @auth/solid-start@latest @auth/core@latest +``` + +## Setting It Up + +[Generate auth secret](https://generate-secret.vercel.app/32), then set it as an environment variable: + +``` +AUTH_SECRET=your_auth_secret +``` + +## Creating the api handler + +in this example we are using github so make sure to set the following environment variables: + +``` +GITHUB_ID=your_github_oatuh_id +GITHUB_SECRET=your_github_oatuh_secret +``` + +```ts +// routes/api/auth/[...solidauth].ts +import { SolidAuth, type SolidAuthConfig } from "@auth/solid-start" +import GitHub from "@auth/core/providers/github" + +export const authOpts: SolidAuthConfig = { + providers: [ + GitHub({ + clientId: process.env.GITHUB_ID, + clientSecret: process.env.GITHUB_SECRET, + }), + ], + debug: false, +} + +export const { GET, POST } = SolidAuth(authOpts) +``` + +## Signing in and out + +```ts +import { signIn, signOut } from "@auth/solid-start/client" +const login = () => signIn("github") +const logout = () => signOut() +``` + +## Getting the current session + +```ts +import { getSession } from "@auth/solid-start" +import { createServerData$ } from "solid-start/server" +import { authOpts } from "~/routes/api/auth/[...solidauth]" + +export const useSession = () => { + return createServerData$( + async (_, { request }) => { + return await getSession(request, authOpts) + }, + { key: () => ["auth_user"] } + ) +} + +// useSession returns a resource: +const session = useSession() +const loading = session.loading +const user = () => session()?.user +``` diff --git a/docs/docs/reference/04-solidstart/protected.md b/docs/docs/reference/04-solidstart/protected.md new file mode 100644 index 00000000..52b943d2 --- /dev/null +++ b/docs/docs/reference/04-solidstart/protected.md @@ -0,0 +1,119 @@ +--- +title: Protected +--- + +# Protected Routes + +## When Using SSR + +When using SSR, I recommend creating a `Protected` component that will trigger suspense using the `Show` component. It should look like this: + + +```tsx +// components/Protected.tsx +import { type Session } from "@auth/core"; +import { getSession } from "@auth/solid-start"; +import { Component, Show } from "solid-js"; +import { useRouteData } from "solid-start"; +import { createServerData$, redirect } from "solid-start/server"; +import { authOpts } from "~/routes/api/auth/[...solidauth]"; + +const Protected = (Comp: IProtectedComponent) => { + const routeData = () => { + return createServerData$( + async (_, event) => { + const session = await getSession(event.request, authOpts); + if (!session || !session.user) { + throw redirect("/"); + } + return session; + }, + { key: () => ["auth_user"] } + ); + }; + + return { + routeData, + Page: () => { + const session = useRouteData(); + return ( + + {(sess) => } + + ); + }, + }; +}; + +type IProtectedComponent = Component; + +export default Protected; +``` + +It can be used like this: + + +```tsx +// routes/protected.tsx +import Protected from "~/components/Protected"; + +export const { routeData, Page } = Protected((session) => { + return ( +
+

This is a proteced route

+
+ ); +}); + +export default Page; +``` + +## When Using CSR + +When using CSR, the `Protected` component will not work as expected and will cause the screen to flash, so I had to come up with a tricky solution, we will use a Solid-Start middleare: + +```tsx +// entry-server.tsx +import { Session } from "@auth/core"; +import { getSession } from "@auth/solid-start"; +import { redirect } from "solid-start"; +import { + StartServer, + createHandler, + renderAsync, +} from "solid-start/entry-server"; +import { authOpts } from "./routes/api/auth/[...solidauth]"; + +const protectedPaths = ["/protected"]; // add any route you wish in here + +export default createHandler( + ({ forward }) => { + return async (event) => { + if (protectedPaths.includes(new URL(event.request.url).pathname)) { + const session = await getSession(event.request, authOpts); + if (!session) { + return redirect("/"); + } + } + return forward(event); + }; + }, + renderAsync((event) => ) +); +``` + +And now you can easily create a protected route: + + +```tsx +// routes/protected.tsx +export default () => { + return ( +
+

This is a proteced route

+
+ ); +}; +``` + +**Note: the CSR method should also work when using SSR, the SSR method shouldn't work when using CSR** \ No newline at end of file diff --git a/docs/docs/reference/index.md b/docs/docs/reference/index.md index d8bf28fe..11f2038a 100644 --- a/docs/docs/reference/index.md +++ b/docs/docs/reference/index.md @@ -18,7 +18,7 @@ sidebar_position: 0 - Next.js - SvelteKit -- SolidState +- SolidStart - Remix - Nuxt - Gatsby diff --git a/docs/sidebars.js b/docs/sidebars.js index 1bdeec4a..3c40fb1e 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -53,6 +53,15 @@ module.exports = { }, ], }, + { + type: "category", + label: "@auth/solid-start", + link: { + type: "doc", + id: "reference/solidstart/index", + }, + items: ["reference/solidstart/client", "reference/solidstart/protected"], + }, { type: "category", label: "@auth/nextjs", diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index eba243bf..1af4502a 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -45,7 +45,7 @@ const features = [
  • Use with any modern framework!
    - Next.js, SvelteKit… + Next.js, SolidStart, SvelteKit…
  • Bring Your Own Database - or none! @@ -144,6 +144,15 @@ export default function Home() { > Live Demo (SvelteKit) + + Live Demo (SolidStart) + +
    +
    +

    + SolidStart /routes/api/auth/[...solidauth].ts +

    + + {solidStartCode} + +
    +
    @@ -271,6 +290,22 @@ export const handle = SvelteKitAuth({ }) `.trim() +const solidStartCode = + `import { SolidAuth, type SolidAuthConfig } from "@auth/solid-start"; +import GitHub from "@auth/core/providers/github"; + +export const authOpts: SolidAuthConfig = { + providers: [ + GitHub({ + clientId: process.env.GITHUB_ID, + clientSecret: process.env.GITHUB_SECRET, + }), + ], + debug: false, +}; + +export const { GET, POST } = SolidAuth(authOpts);`.trim() + const nextJsCode = ` import NextAuth from 'next-auth' import GitHub from 'next-auth/providers/github' diff --git a/packages/frameworks-solid-start/.gitignore b/packages/frameworks-solid-start/.gitignore new file mode 100644 index 00000000..e06208d1 --- /dev/null +++ b/packages/frameworks-solid-start/.gitignore @@ -0,0 +1,7 @@ +node_modules +dist +**/*.d.ts +**/*.js +!tsup.config.js +!scripts/**/*.js +.vercel diff --git a/packages/frameworks-solid-start/README.MD b/packages/frameworks-solid-start/README.MD new file mode 100644 index 00000000..91632340 --- /dev/null +++ b/packages/frameworks-solid-start/README.MD @@ -0,0 +1,80 @@ +# Getting started + +Recommended to use [create-jd-app](https://github.com/OrJDev/create-jd-app) + +```bash +npm install @auth/solid-start@latest @auth/core@latest +``` + +## Setting It Up + +[Generate auth secret](https://generate-secret.vercel.app/32), then set it as an environment variable: + +``` +AUTH_SECRET=your_auth_secret +``` + +### On Production + +Don't forget to trust the host. + +``` +AUTH_TRUST_HOST=true +``` + +## Creating the api handler + +in this example we are using github so make sure to set the following environment variables: + +``` +GITHUB_ID=your_github_oatuh_id +GITHUB_SECRET=your_github_oatuh_secret +``` + +```ts +// routes/api/auth/[...solidauth].ts +import { SolidAuth, type SolidAuthConfig } from "@auth/solid-start" +import GitHub from "@auth/core/providers/github" + +export const authOpts: SolidAuthConfig = { + providers: [ + GitHub({ + clientId: process.env.GITHUB_ID, + clientSecret: process.env.GITHUB_SECRET, + }), + ], + debug: false, +} + +export const { GET, POST } = SolidAuth(authOpts) +``` + +## Signing in and out + +```ts +import { signIn, signOut } from "@auth/solid-start/client" +const login = () => signIn("github") +const logout = () => signOut() +``` + +## Getting the current session + +```ts +import { getSession } from "@auth/solid-start" +import { createServerData$ } from "solid-start/server" +import { authOpts } from "~/routes/api/auth/[...solidauth]" + +export const useSession = () => { + return createServerData$( + async (_, { request }) => { + return await getSession(request, authOpts) + }, + { key: () => ["auth_user"] } + ) +} + +// useSession returns a resource: +const session = useSession() +const loading = session.loading +const user = () => session()?.user +``` diff --git a/packages/frameworks-solid-start/package.json b/packages/frameworks-solid-start/package.json new file mode 100644 index 00000000..5766742c --- /dev/null +++ b/packages/frameworks-solid-start/package.json @@ -0,0 +1,58 @@ +{ + "name": "@auth/solid-start", + "description": "Authentication for SolidStart.", + "version": "0.0.1", + "type": "module", + "files": [ + "client.*", + "index.*", + "src" + ], + "exports": { + ".": { + "types": "./index.d.ts", + "import": "./index.js" + }, + "./client": { + "types": "./client.d.ts", + "import": "./client.js" + }, + "./package.json": "./package.json" + }, + "scripts": { + "build": "tsup --config ./tsup.config.js && node scripts/postbuild", + "patch": "npm version patch --no-git-tag-version", + "clean": "rm -rf client.* index.*" + }, + "publishConfig": { + "access": "public" + }, + "devDependencies": { + "@auth/core": "workspace:*", + "@solidjs/meta": "^0.28.0", + "@types/cookie": "0.5.1", + "@types/node": "^18.7.14", + "@types/set-cookie-parser": "^2.4.2", + "next-auth": "workspace:*", + "solid-js": "^1.5.7", + "solid-start": "^0.2.1", + "tsup": "^6.5.0", + "typescript": "^4.8.2" + }, + "peerDependencies": { + "@auth/core": "~0.2.2 || ^0.2.2", + "solid-js": "^1.5.7", + "solid-start": "^0.2.1" + }, + "dependencies": { + "set-cookie-parser": "^2.5.1" + }, + "keywords": [ + "SolidJS", + "SolidStart", + "Auth" + ], + "author": "OrJDev ", + "repository": "https://github.com/nextauthjs/next-auth", + "license": "ISC" +} diff --git a/packages/frameworks-solid-start/scripts/postbuild.js b/packages/frameworks-solid-start/scripts/postbuild.js new file mode 100644 index 00000000..0d12d147 --- /dev/null +++ b/packages/frameworks-solid-start/scripts/postbuild.js @@ -0,0 +1,16 @@ +import path from "path"; +import fs from "fs/promises"; +import { fileURLToPath } from "node:url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +async function main() { + const root = path.join(__dirname, "../"); + const dist = path.join(root, "dist"); + await fs.cp(dist, root, { + recursive: true, + }); +} + +main(); diff --git a/packages/frameworks-solid-start/src/client.ts b/packages/frameworks-solid-start/src/client.ts new file mode 100644 index 00000000..f9c4fcbc --- /dev/null +++ b/packages/frameworks-solid-start/src/client.ts @@ -0,0 +1,102 @@ +import type { + LiteralUnion, + SignInOptions, + SignInAuthorizationParams, + SignOutParams, +} from "next-auth/react" +import type { + BuiltInProviderType, + RedirectableProviderType, +} from "@auth/core/providers" + +/** + * Client-side method to initiate a signin flow + * or send the user to the signin page listing all possible providers. + * Automatically adds the CSRF token to the request. + * + * [Documentation](https://next-auth.js.org/getting-started/client#signin) + */ +export async function signIn< + P extends RedirectableProviderType | undefined = undefined +>( + providerId?: LiteralUnion< + P extends RedirectableProviderType + ? P | BuiltInProviderType + : BuiltInProviderType + >, + options?: SignInOptions, + authorizationParams?: SignInAuthorizationParams +) { + const { callbackUrl = window.location.href, redirect = true } = options ?? {} + + // TODO: Support custom providers + const isCredentials = providerId === "credentials" + const isEmail = providerId === "email" + const isSupportingReturn = isCredentials || isEmail + + // TODO: Handle custom base path + const signInUrl = `/api/auth/${ + isCredentials ? "callback" : "signin" + }/${providerId}` + + const _signInUrl = `${signInUrl}?${new URLSearchParams(authorizationParams)}` + + // TODO: Handle custom base path + const csrfTokenResponse = await fetch("/api/auth/csrf") + const { csrfToken } = await csrfTokenResponse.json() + + const res = await fetch(_signInUrl, { + method: "post", + headers: { + "Content-Type": "application/x-www-form-urlencoded", + "X-Auth-Return-Redirect": "1", + }, + // @ts-expect-error -- ignore + body: new URLSearchParams({ + ...options, + csrfToken, + callbackUrl, + }), + }) + + const data = await res.clone().json() + const error = new URL(data.url).searchParams.get("error") + if (redirect || !isSupportingReturn || !error) { + // TODO: Do not redirect for Credentials and Email providers by default in next major + window.location.href = data.url ?? data.redirect ?? callbackUrl + // If url contains a hash, the browser does not reload the page. We reload manually + if (data.url.includes("#")) window.location.reload() + return + } + return res +} + +/** + * Signs the user out, by removing the session cookie. + * Automatically adds the CSRF token to the request. + * + * [Documentation](https://next-auth.js.org/getting-started/client#signout) + */ +export async function signOut(options?: SignOutParams) { + const { callbackUrl = window.location.href } = options ?? {} + // TODO: Custom base path + const csrfTokenResponse = await fetch("/api/auth/csrf") + const { csrfToken } = await csrfTokenResponse.json() + const res = await fetch(`/api/auth/signout`, { + method: "post", + headers: { + "Content-Type": "application/x-www-form-urlencoded", + "X-Auth-Return-Redirect": "1", + }, + body: new URLSearchParams({ + csrfToken, + callbackUrl, + }), + }) + const data = await res.json() + + const url = data.url ?? data.redirect ?? callbackUrl + window.location.href = url + // If url contains a hash, the browser does not reload the page. We reload manually + if (url.includes("#")) window.location.reload() +} diff --git a/packages/frameworks-solid-start/src/index.ts b/packages/frameworks-solid-start/src/index.ts new file mode 100644 index 00000000..9e1dd2c4 --- /dev/null +++ b/packages/frameworks-solid-start/src/index.ts @@ -0,0 +1,114 @@ +import { Auth } from "@auth/core" +import { Cookie, parseString, splitCookiesString } from "set-cookie-parser" +import { serialize } from "cookie" +import type { AuthAction, AuthConfig, Session } from "@auth/core/types" + +export interface SolidAuthConfig extends AuthConfig { + /** + * Defines the base path for the auth routes. + * @default '/api/auth' + */ + prefix?: string +} + +const actions: AuthAction[] = [ + "providers", + "session", + "csrf", + "signin", + "signout", + "callback", + "verify-request", + "error", +] + +// currently multiple cookies are not supported, so we keep the next-auth.pkce.code_verifier cookie for now: +// because it gets updated anyways +// src: https://github.com/solidjs/solid-start/issues/293 +const getSetCookieCallback = (cook?: string | null): Cookie | undefined => { + if (!cook) return + const splitCookie = splitCookiesString(cook) + for (const cookName of [ + "__Secure-next-auth.session-token", + "next-auth.session-token", + "next-auth.pkce.code_verifier", + "__Secure-next-auth.pkce.code_verifier", + ]) { + const temp = splitCookie.find((e) => e.startsWith(`${cookName}=`)) + if (temp) { + return parseString(temp) + } + } + return parseString(splitCookie?.[0] ?? "") // just return the first cookie if no session token is found +} + +function SolidAuthHandler(prefix: string, authOptions: SolidAuthConfig) { + return async (event: any) => { + const { request } = event + const url = new URL(request.url) + const action = url.pathname + .slice(prefix.length + 1) + .split("/")[0] as AuthAction + + if (!actions.includes(action) || !url.pathname.startsWith(prefix + "/")) { + return + } + + const res = await Auth(request, authOptions) + if (["callback", "signin", "signout"].includes(action)) { + const parsedCookie = getSetCookieCallback( + res.clone().headers.get("Set-Cookie") + ) + if (parsedCookie) { + res.headers.set( + "Set-Cookie", + serialize(parsedCookie.name, parsedCookie.value, parsedCookie as any) + ) + } + } + return res + } +} + +export function SolidAuth(config: SolidAuthConfig) { + const { prefix = "/api/auth", ...authOptions } = config + authOptions.secret ??= process.env.AUTH_SECRET + authOptions.trustHost ??= !!( + process.env.AUTH_TRUST_HOST ?? + process.env.VERCEL ?? + process.env.NODE_ENV !== "production" + ) + const handler = SolidAuthHandler(prefix, authOptions) + return { + async GET(event: any) { + return await handler(event) + }, + async POST(event: any) { + return await handler(event) + }, + } +} + +export type GetSessionResult = Promise + +export async function getSession( + req: Request, + options: AuthConfig +): GetSessionResult { + options.secret ??= process.env.AUTH_SECRET + options.trustHost ??= true + + const url = new URL("/api/auth/session", req.url) + const response = await Auth( + new Request(url, { headers: req.headers }), + options + ) + + const { status = 200 } = response + + const data = await response.json() + + if (!data || !Object.keys(data).length) return null + if (status === 200) return data + throw new Error(data.message) +} diff --git a/packages/frameworks-solid-start/tsconfig.eslint.json b/packages/frameworks-solid-start/tsconfig.eslint.json new file mode 100644 index 00000000..22967bf6 --- /dev/null +++ b/packages/frameworks-solid-start/tsconfig.eslint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["./*.js", "./*.d.ts"] +} diff --git a/packages/frameworks-solid-start/tsconfig.json b/packages/frameworks-solid-start/tsconfig.json new file mode 100644 index 00000000..301217ff --- /dev/null +++ b/packages/frameworks-solid-start/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "declaration": true, + "allowSyntheticDefaultImports": true, + "target": "esnext", + "moduleResolution": "Node", + "strict": false, + "jsx": "preserve", + "jsxImportSource": "solid-js", + "module": "esnext", + "outDir": "./dist", + "rootDir": "./src", + "strictNullChecks": true + }, + "exclude": ["node_modules", "dist"], + "include": ["./src"] +} diff --git a/packages/frameworks-solid-start/tsup.config.js b/packages/frameworks-solid-start/tsup.config.js new file mode 100644 index 00000000..48d3a316 --- /dev/null +++ b/packages/frameworks-solid-start/tsup.config.js @@ -0,0 +1,15 @@ +import { defineConfig } from "tsup"; + +export default defineConfig((options) => ({ + entry: ["src/**/*.ts"], + target: "esnext", + sourcemap: options.watch ? "inline" : false, + clean: true, + minify: false, + keepNames: false, + tsconfig: "./tsconfig.json", + format: ["esm"], + external: ["solid-js", "solid-js/web", "solid-start"], + dts: true, + bundle: false, +})); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc893098..d78767c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -150,6 +150,41 @@ importers: '@types/react': 18.0.26 typescript: 4.9.4 + apps/examples/solid-start: + specifiers: + '@auth/core': ^0.1.4 + '@solid-auth/next': ^0.0.19 + '@solidjs/meta': ^0.28.0 + '@solidjs/router': ^0.6.0 + autoprefixer: ^10.4.13 + postcss: ^8.4.19 + solid-js: ^1.5.7 + solid-start: ^0.2.9 + solid-start-node: ^0.2.9 + solid-start-vercel: ^0.2.9 + tailwindcss: ^3.2.4 + typescript: ^4.8.3 + undici: 5.11.0 + vite: ^3.1.0 + zod: ^3.19.1 + dependencies: + '@auth/core': 0.1.4 + '@solid-auth/next': 0.0.19_ex5p5uzaq2oricr4l45eaiohri + '@solidjs/meta': 0.28.2_solid-js@1.6.6 + '@solidjs/router': 0.6.0_solid-js@1.6.6 + solid-js: 1.6.6 + solid-start: 0.2.9_7g4juq64zsg2futgalxovnqs54 + undici: 5.11.0 + zod: 3.20.2 + devDependencies: + autoprefixer: 10.4.13_postcss@8.4.20 + postcss: 8.4.20 + solid-start-node: 0.2.9_l4ggdbbk3fxijksox3vklu3qfy + solid-start-vercel: 0.2.9_fi524qppwljtc6wispoxrsxhj4 + tailwindcss: 3.2.4_postcss@8.4.20 + typescript: 4.9.4 + vite: 3.2.5 + apps/examples/sveltekit: specifiers: '@auth/core': latest @@ -572,6 +607,33 @@ importers: postcss: 8.4.19 postcss-nested: 6.0.0_postcss@8.4.19 + packages/frameworks-solid-start: + specifiers: + '@auth/core': workspace:* + '@solidjs/meta': ^0.28.0 + '@types/cookie': 0.5.1 + '@types/node': ^18.7.14 + '@types/set-cookie-parser': ^2.4.2 + next-auth: workspace:* + set-cookie-parser: ^2.5.1 + solid-js: ^1.5.7 + solid-start: ^0.2.1 + tsup: ^6.5.0 + typescript: ^4.8.2 + dependencies: + set-cookie-parser: 2.5.1 + devDependencies: + '@auth/core': link:../core + '@solidjs/meta': 0.28.2_solid-js@1.6.6 + '@types/cookie': 0.5.1 + '@types/node': 18.11.10 + '@types/set-cookie-parser': 2.4.2 + next-auth: link:../next-auth + solid-js: 1.6.6 + solid-start: 0.2.8_ol5sfeg2xpjsxxfgzadulo7fdi + tsup: 6.5.0_typescript@4.9.4 + typescript: 4.9.4 + packages/frameworks-sveltekit: specifiers: '@auth/core': workspace:* @@ -877,6 +939,22 @@ packages: - supports-color dev: false + /@auth/core/0.1.4: + resolution: {integrity: sha512-RsGtCWzbimuTUfV0ODE8NDxiJ5iDJAR3Wedj5OgdyZxTlCxSirXKf7+6g+krE6gHG3PoOkkd6xN6QENk+D60xw==} + peerDependencies: + nodemailer: 6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + dependencies: + '@panva/hkdf': 1.0.2 + cookie: 0.5.0 + jose: 4.11.1 + oauth4webapi: 2.0.5 + preact: 10.11.3 + preact-render-to-string: 5.2.3_preact@10.11.3 + dev: false + /@aws-crypto/ie11-detection/2.0.0: resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} dependencies: @@ -1875,7 +1953,7 @@ packages: dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.3 + '@babel/generator': 7.20.5 '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 '@babel/helper-module-transforms': 7.20.2 '@babel/helpers': 7.20.1 @@ -2168,7 +2246,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.0.1 - dev: false /@babel/helper-create-regexp-features-plugin/7.19.0_@babel+core@7.20.2: resolution: {integrity: sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==} @@ -2190,7 +2267,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.2.1 - dev: false /@babel/helper-define-polyfill-provider/0.3.1: resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} @@ -2257,7 +2333,6 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: false /@babel/helper-environment-visitor/7.18.2: resolution: {integrity: sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==} @@ -2315,6 +2390,12 @@ packages: dependencies: '@babel/types': 7.20.5 + /@babel/helper-module-imports/7.16.0: + resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.5 + /@babel/helper-module-imports/7.16.7: resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} engines: {node: '>=6.9.0'} @@ -2423,7 +2504,6 @@ packages: '@babel/types': 7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/helper-replace-supers/7.18.2: resolution: {integrity: sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==} @@ -2642,7 +2722,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.17.12: resolution: {integrity: sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==} @@ -2689,7 +2768,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-async-generator-functions/7.17.12: resolution: {integrity: sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==} @@ -2746,7 +2824,6 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-proposal-class-properties/7.17.12: resolution: {integrity: sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==} @@ -2797,7 +2874,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-proposal-class-static-block/7.18.0: resolution: {integrity: sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==} @@ -2852,7 +2928,6 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-proposal-dynamic-import/7.16.7: resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==} @@ -2895,7 +2970,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-export-namespace-from/7.17.12: resolution: {integrity: sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==} @@ -2938,7 +3012,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-json-strings/7.17.12: resolution: {integrity: sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==} @@ -2981,7 +3054,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-logical-assignment-operators/7.17.12: resolution: {integrity: sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==} @@ -3024,7 +3096,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-nullish-coalescing-operator/7.17.12: resolution: {integrity: sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==} @@ -3067,7 +3138,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-numeric-separator/7.16.7: resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==} @@ -3110,7 +3180,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.9: resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} @@ -3176,7 +3245,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5 '@babel/plugin-transform-parameters': 7.20.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-optional-catch-binding/7.16.7: resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==} @@ -3219,7 +3287,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-optional-chaining/7.17.12: resolution: {integrity: sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==} @@ -3266,7 +3333,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 - dev: false /@babel/plugin-proposal-private-methods/7.17.12: resolution: {integrity: sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==} @@ -3317,7 +3383,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-proposal-private-property-in-object/7.17.12: resolution: {integrity: sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==} @@ -3376,7 +3441,6 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-proposal-unicode-property-regex/7.17.12: resolution: {integrity: sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==} @@ -3419,7 +3483,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.17.12 - dev: false /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.2: resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} @@ -3441,7 +3504,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-syntax-async-generators/7.8.4: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -3557,7 +3619,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.17.12 - dev: false /@babel/plugin-syntax-dynamic-import/7.8.3: resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} @@ -3592,7 +3653,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-syntax-export-namespace-from/7.8.3: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -3627,7 +3687,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.17.12 - dev: false /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.5: resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} @@ -3676,7 +3735,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.20.5: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -4009,7 +4067,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.17.12 - dev: false /@babel/plugin-syntax-top-level-await/7.14.5: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -4115,7 +4172,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-async-to-generator/7.17.12: resolution: {integrity: sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==} @@ -4170,7 +4226,6 @@ packages: '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-block-scoped-functions/7.16.7: resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==} @@ -4209,7 +4264,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-block-scoping/7.18.4: resolution: {integrity: sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==} @@ -4248,7 +4302,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-classes/7.18.4: resolution: {integrity: sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==} @@ -4325,7 +4378,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-computed-properties/7.17.12: resolution: {integrity: sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==} @@ -4364,7 +4416,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-destructuring/7.18.0: resolution: {integrity: sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==} @@ -4403,7 +4454,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-dotall-regex/7.16.7: resolution: {integrity: sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==} @@ -4446,7 +4496,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.17.12 - dev: false /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.2: resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} @@ -4468,7 +4517,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-duplicate-keys/7.17.12: resolution: {integrity: sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==} @@ -4507,7 +4555,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-exponentiation-operator/7.16.7: resolution: {integrity: sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==} @@ -4550,7 +4597,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.5: resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==} @@ -4600,7 +4646,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-function-name/7.16.7: resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==} @@ -4647,7 +4692,6 @@ packages: '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.5 '@babel/helper-function-name': 7.19.0 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-literals/7.17.12: resolution: {integrity: sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==} @@ -4686,7 +4730,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-member-expression-literals/7.16.7: resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==} @@ -4725,7 +4768,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-modules-amd/7.18.0: resolution: {integrity: sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==} @@ -4778,7 +4820,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-modules-commonjs/7.18.2: resolution: {integrity: sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==} @@ -4835,7 +4876,6 @@ packages: '@babel/helper-simple-access': 7.20.2 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-modules-systemjs/7.18.5: resolution: {integrity: sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==} @@ -4896,7 +4936,6 @@ packages: '@babel/helper-validator-identifier': 7.19.1 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-modules-umd/7.18.0: resolution: {integrity: sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==} @@ -4947,7 +4986,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-named-capturing-groups-regex/7.17.12: resolution: {integrity: sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==} @@ -4990,7 +5028,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-new-target/7.18.5: resolution: {integrity: sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==} @@ -5029,7 +5066,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-object-super/7.16.7: resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==} @@ -5080,7 +5116,6 @@ packages: '@babel/helper-replace-supers': 7.19.1 transitivePeerDependencies: - supports-color - dev: false /@babel/plugin-transform-parameters/7.17.12: resolution: {integrity: sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==} @@ -5129,7 +5164,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-property-literals/7.16.7: resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==} @@ -5168,15 +5202,14 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false - /@babel/plugin-transform-react-constant-elements/7.17.12_@babel+core@7.20.2: + /@babel/plugin-transform-react-constant-elements/7.17.12_@babel+core@7.20.5: resolution: {integrity: sha512-maEkX2xs2STuv2Px8QuqxqjhV2LsFobT1elCgyU5704fcyTu9DyD/bJXxD/mrRiVyhpHweOQ00OJ5FKhHq9oEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -5208,7 +5241,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.18.5: resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==} @@ -5238,7 +5270,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.5 - dev: false /@babel/plugin-transform-react-jsx/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==} @@ -5280,7 +5311,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 '@babel/types': 7.20.5 - dev: false /@babel/plugin-transform-react-pure-annotations/7.18.0_@babel+core@7.18.5: resolution: {integrity: sha512-6+0IK6ouvqDn9bmEG7mEyF/pwlJXVj5lwydybpyyH3D0A7Hftk+NCTdYjnLNZksn261xaOV5ksmp20pQEmc2RQ==} @@ -5313,7 +5343,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-regenerator/7.18.0: resolution: {integrity: sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==} @@ -5356,7 +5385,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 regenerator-transform: 0.15.0 - dev: false /@babel/plugin-transform-reserved-words/7.17.12: resolution: {integrity: sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==} @@ -5395,7 +5423,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-runtime/7.18.5: resolution: {integrity: sha512-Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA==} @@ -5501,7 +5528,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-spread/7.17.12: resolution: {integrity: sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==} @@ -5544,7 +5570,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - dev: false /@babel/plugin-transform-sticky-regex/7.16.7: resolution: {integrity: sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==} @@ -5583,7 +5608,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-template-literals/7.18.2: resolution: {integrity: sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==} @@ -5622,7 +5646,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-typeof-symbol/7.17.12: resolution: {integrity: sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==} @@ -5661,7 +5684,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-typescript/7.18.4_@babel+core@7.18.5: resolution: {integrity: sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw==} @@ -5741,7 +5763,6 @@ packages: dependencies: '@babel/core': 7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/plugin-transform-unicode-regex/7.16.7: resolution: {integrity: sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==} @@ -5784,7 +5805,6 @@ packages: '@babel/core': 7.20.5 '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.20.5 '@babel/helper-plugin-utils': 7.20.2 - dev: false /@babel/preset-env/7.18.2: resolution: {integrity: sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==} @@ -6127,7 +6147,6 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: false /@babel/preset-modules/0.1.5: resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} @@ -6178,7 +6197,6 @@ packages: '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.20.5 '@babel/types': 7.18.4 esutils: 2.0.3 - dev: false /@babel/preset-react/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-h5U+rwreXtZaRBEQhW1hOJLMq8XNJBQ/9oymXiCXTuT/0uOwpbT0gUt+sXeOqoXBgNuUKI7TaObVwoEyWkpFgA==} @@ -6223,7 +6241,6 @@ packages: '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.5 '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.20.5 '@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.20.5 - dev: false /@babel/preset-typescript/7.17.12_@babel+core@7.18.5: resolution: {integrity: sha512-S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==} @@ -6265,7 +6282,6 @@ packages: '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /@babel/runtime-corejs3/7.20.1: resolution: {integrity: sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==} @@ -6331,7 +6347,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.3 + '@babel/generator': 7.20.5 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 @@ -6518,7 +6534,7 @@ packages: '@docusaurus/utils-validation': 2.2.0_@docusaurus+types@2.2.0 '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.2.1 - autoprefixer: 10.4.7_postcss@8.4.14 + autoprefixer: 10.4.13_postcss@8.4.20 babel-loader: 8.2.5_jzdsusohi23wobhstm6lj7n7ui babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 @@ -6532,7 +6548,7 @@ packages: core-js: 3.26.0 css-loader: 6.7.1_webpack@5.73.0 css-minimizer-webpack-plugin: 4.0.0_ym7haxui4mhsv4z74sxfalk3f4 - cssnano: 5.1.12_postcss@8.4.14 + cssnano: 5.1.12_postcss@8.4.20 del: 6.1.1 detect-port: 1.3.0 escape-html: 1.0.3 @@ -6546,8 +6562,8 @@ packages: leven: 3.1.0 lodash: 4.17.21 mini-css-extract-plugin: 2.6.1_webpack@5.73.0 - postcss: 8.4.14 - postcss-loader: 7.0.0_mepnsno3xmng6eyses4tepu7bu + postcss: 8.4.20 + postcss-loader: 7.0.0_n5hdb4sd74eqt3xtblrzrc6vly prompts: 2.4.2 react: 18.2.0 react-dev-utils: 12.0.1_webpack@5.73.0 @@ -7251,7 +7267,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm/0.16.4: @@ -7344,13 +7359,20 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64/0.15.16: resolution: {integrity: sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.16.4: @@ -10096,7 +10118,7 @@ packages: '@parcel/source-map': 2.1.1 '@parcel/utils': 2.8.1 nullthrows: 1.1.1 - terser: 5.14.1 + terser: 5.16.1 transitivePeerDependencies: - '@parcel/core' dev: false @@ -10334,7 +10356,6 @@ packages: /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - dev: true /@prisma/client/3.15.2_prisma@3.15.2: resolution: {integrity: sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==} @@ -10412,6 +10433,22 @@ packages: slash: 4.0.0 dev: true + /@rollup/plugin-commonjs/22.0.2_rollup@2.79.1: + resolution: {integrity: sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==} + engines: {node: '>= 12.0.0'} + peerDependencies: + rollup: ^2.68.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 7.2.3 + is-reference: 1.2.1 + magic-string: 0.25.9 + resolve: 1.22.1 + rollup: 2.79.1 + dev: true + /@rollup/plugin-commonjs/23.0.5_rollup@2.79.1: resolution: {integrity: sha512-IwI51j5kCmLMYsErEvZAID/pg7Z1qgyVJ+QIPDDIg1AOPbIGbdTCjuHDWIBCtoF1dvMkXfQv7B2eTadjnLRbmA==} engines: {node: '>=14.0.0'} @@ -10445,6 +10482,15 @@ packages: rollup: 2.79.1 dev: true + /@rollup/plugin-json/4.1.0_rollup@2.79.1: + resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + rollup: 2.79.1 + dev: true + /@rollup/plugin-json/5.0.2_rollup@2.79.1: resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==} engines: {node: '>=14.0.0'} @@ -10458,6 +10504,21 @@ packages: rollup: 2.79.1 dev: true + /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.1: + resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^2.42.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@types/resolve': 1.17.1 + deepmerge: 4.2.2 + is-builtin-module: 3.2.0 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 2.79.1 + dev: true + /@rollup/plugin-node-resolve/15.0.1_rollup@2.79.1: resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} @@ -10502,13 +10563,24 @@ packages: rollup: 2.79.1 dev: true + /@rollup/pluginutils/3.1.0_rollup@2.79.1: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + /@rollup/pluginutils/4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - dev: true /@rollup/pluginutils/5.0.2: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} @@ -10644,6 +10716,33 @@ packages: webpack-sources: 3.2.3 dev: true + /@solid-auth/next/0.0.19_ex5p5uzaq2oricr4l45eaiohri: + resolution: {integrity: sha512-aGcEePidVKh6iYS5JHghv/MFKh1mE0PQUmD8+dHiRRWcnVOF38fyHTz5L5PQCmrl8xE9J8rK3ymVlt0lzw2dQg==} + peerDependencies: + '@auth/core': ~0.1.4 || ^0.1.4 + solid-js: ^1.5.7 + solid-start: ^0.2.1 + dependencies: + '@auth/core': 0.1.4 + set-cookie-parser: 2.5.1 + solid-js: 1.6.6 + solid-start: 0.2.9_7g4juq64zsg2futgalxovnqs54 + dev: false + + /@solidjs/meta/0.28.2_solid-js@1.6.6: + resolution: {integrity: sha512-avlLgBPdk4KVxzRGFlYp/MIJo8B5jVgXPgk6OUnUP8km21Z+ovO+DUd7ZPA7ejv8PBdWi9GE3zCzw8RU2YuV2Q==} + peerDependencies: + solid-js: '>=1.4.0' + dependencies: + solid-js: 1.6.6 + + /@solidjs/router/0.6.0_solid-js@1.6.6: + resolution: {integrity: sha512-7ug2fzXXhvvDBL4CQyMvMM9o3dgBE6PoRh38T8UTmMnYz4rcCfROqSZc9yq+YEC96qWt5OvJgZ1Uj/4EAQXlfA==} + peerDependencies: + solid-js: ^1.5.3 + dependencies: + solid-js: 1.6.6 + /@sqltools/formatter/1.2.3: resolution: {integrity: sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==} dev: true @@ -10801,7 +10900,7 @@ packages: svelte: 3.54.0 svelte-hmr: 0.15.1_svelte@3.54.0 vite: 4.0.1 - vitefu: 0.2.2_vite@4.0.1 + vitefu: 0.2.4_vite@4.0.1 transitivePeerDependencies: - supports-color dev: true @@ -10820,7 +10919,7 @@ packages: svelte: 3.55.0 svelte-hmr: 0.15.1_svelte@3.55.0 vite: 4.0.1 - vitefu: 0.2.2_vite@4.0.1 + vitefu: 0.2.4_vite@4.0.1 transitivePeerDependencies: - supports-color dev: true @@ -10964,11 +11063,11 @@ packages: resolution: {integrity: sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.20.2 - '@babel/plugin-transform-react-constant-elements': 7.17.12_@babel+core@7.20.2 - '@babel/preset-env': 7.20.2_@babel+core@7.20.2 - '@babel/preset-react': 7.18.6_@babel+core@7.20.2 - '@babel/preset-typescript': 7.18.6_@babel+core@7.20.2 + '@babel/core': 7.20.5 + '@babel/plugin-transform-react-constant-elements': 7.17.12_@babel+core@7.20.5 + '@babel/preset-env': 7.20.2_@babel+core@7.20.5 + '@babel/preset-react': 7.18.6_@babel+core@7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 '@svgr/core': 6.2.1 '@svgr/plugin-jsx': 6.2.1_@svgr+core@6.2.1 '@svgr/plugin-svgo': 6.2.0_@svgr+core@6.2.1 @@ -11354,7 +11453,6 @@ packages: /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} - dev: true /@types/cors/2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} @@ -11401,6 +11499,10 @@ packages: '@types/estree': 1.0.0 '@types/json-schema': 7.0.11 + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + /@types/estree/0.0.51: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} @@ -11849,6 +11951,12 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.0 + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 18.11.10 + dev: true + /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -12489,6 +12597,55 @@ packages: resolve: 1.22.1 dev: false + /@vinxi/rollup-plugin-visualizer/5.7.1_rollup@2.79.1: + resolution: {integrity: sha512-gIwdH6B2rh7EoWgtL80yMW/0AM6riSXwNccM7rwMONG5CTVYzHYDQgnccrl40iWHrQLYZI0rvM66EQ1TRB8REA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: ^2.0.0 + dependencies: + nanoid: 3.3.4 + open: 8.4.0 + rollup: 2.79.1 + source-map: 0.7.4 + yargs: 17.5.1 + + /@vinxi/vite-plugin-inspect/0.6.27_rollup@2.79.1: + resolution: {integrity: sha512-EI63vk0wGF3XcUYSWsKSeuzisx8lgUnjLSqk9XHnboSnjhbPZKe/cMrcXUbdNi+ZnK/a3L7+w3y/XMYWW4NHRA==} + engines: {node: '>=14'} + peerDependencies: + vite: ^3.0.0 + dependencies: + '@rollup/pluginutils': 4.2.1 + '@vinxi/rollup-plugin-visualizer': 5.7.1_rollup@2.79.1 + debug: 4.3.4 + kolorist: 1.6.0 + pretty-bytes: 6.0.0 + sirv: 2.0.2 + ufo: 0.8.6 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@vinxi/vite-plugin-inspect/0.6.27_rollup@2.79.1+vite@3.2.5: + resolution: {integrity: sha512-EI63vk0wGF3XcUYSWsKSeuzisx8lgUnjLSqk9XHnboSnjhbPZKe/cMrcXUbdNi+ZnK/a3L7+w3y/XMYWW4NHRA==} + engines: {node: '>=14'} + peerDependencies: + vite: ^3.0.0 + dependencies: + '@rollup/pluginutils': 4.2.1 + '@vinxi/rollup-plugin-visualizer': 5.7.1_rollup@2.79.1 + debug: 4.3.4 + kolorist: 1.6.0 + pretty-bytes: 6.0.0 + sirv: 2.0.2 + ufo: 0.8.6 + vite: 3.2.5 + transitivePeerDependencies: + - rollup + - supports-color + /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.5+vue@3.2.45: resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12849,6 +13006,14 @@ packages: acorn: 8.8.1 dev: false + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + dev: true + /acorn-walk/7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} @@ -12928,8 +13093,10 @@ packages: indent-string: 4.0.0 dev: true - /ajv-formats/2.1.1: + /ajv-formats/2.1.1_ajv@8.11.0: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -13439,7 +13606,7 @@ packages: /axios/0.21.4_debug@3.2.7: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.1 + follow-redirects: 1.15.1_debug@3.2.7 transitivePeerDependencies: - debug dev: false @@ -13460,6 +13627,13 @@ packages: - debug dev: true + /axios/0.25.0_debug@4.3.4: + resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} + dependencies: + follow-redirects: 1.15.1_debug@4.3.4 + transitivePeerDependencies: + - debug + /axobject-query/2.2.0: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: false @@ -13621,6 +13795,17 @@ packages: '@types/babel__traverse': 7.17.1 dev: true + /babel-plugin-jsx-dom-expressions/0.35.8_@babel+core@7.20.5: + resolution: {integrity: sha512-IzObXlDFA80wyEW/IUtCxaUAoJnq4CTpvcvC1xBZBlMpJDwmK6mIYnTZ9xgFyGCrAjC0LxVcqeDQx31gJJ4UJQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-imports': 7.16.0 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 + '@babel/types': 7.20.5 + html-entities: 2.3.2 + /babel-plugin-jsx-pragmatic/1.0.2: resolution: {integrity: sha1-QeK+uGQiNfNLKnqxLKOeByAbjlk=, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.com/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-1.0.2.tgz} dependencies: @@ -13695,7 +13880,6 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: false /babel-plugin-polyfill-corejs3/0.5.2: resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} @@ -13742,7 +13926,6 @@ packages: core-js-compat: 3.26.0 transitivePeerDependencies: - supports-color - dev: false /babel-plugin-polyfill-regenerator/0.3.1: resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} @@ -13785,7 +13968,6 @@ packages: '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5 transitivePeerDependencies: - supports-color - dev: false /babel-plugin-remove-graphql-queries/5.4.0-next.1_vv6unw5m5qjlw6ywqzfxm242oq: resolution: {integrity: sha512-WslI4r2b1wsfyr6ZzPWhqEqhoJ554c3A9kzzXibSIbWfKEDTtGmdhdacAF3ZkpJtGisX1rWvDqQxQFAIlXDNGQ==} @@ -13951,6 +14133,14 @@ packages: - '@babel/core' dev: true + /babel-preset-solid/1.6.6_@babel+core@7.20.5: + resolution: {integrity: sha512-uG6svyjDRmQxLtRyydlJjFkvlOGYEd/xvfUZu58UuzJdiv40lZ34K+EcgbAFD85JPUdlnkr6bbHUpUXP/VK+Jg==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + babel-plugin-jsx-dom-expressions: 0.35.8_@babel+core@7.20.5 + /backo2/1.0.2: resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==} dev: false @@ -14263,6 +14453,16 @@ packages: engines: {node: '>=6'} dev: true + /bundle-require/3.1.2_esbuild@0.15.16: + resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.13' + dependencies: + esbuild: 0.15.16 + load-tsconfig: 0.2.3 + dev: true + /busboy/1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -14292,6 +14492,11 @@ packages: - supports-color dev: true + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + /cacache/15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} @@ -14827,7 +15032,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true /clone-buffer/1.0.0: resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} @@ -15126,7 +15330,6 @@ packages: utils-merge: 1.0.1 transitivePeerDependencies: - supports-color - dev: true /consola/2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} @@ -15371,6 +15574,15 @@ packages: postcss: 8.4.14 dev: true + /css-declaration-sorter/6.3.0_postcss@8.4.20: + resolution: {integrity: sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.20 + dev: true + /css-declaration-sorter/6.3.1_postcss@8.4.20: resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} engines: {node: ^10 || ^12 || >=14} @@ -15574,6 +15786,44 @@ packages: postcss-unique-selectors: 5.1.1_postcss@8.4.14 dev: true + /cssnano-preset-default/5.2.12_postcss@8.4.20: + resolution: {integrity: sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.3.0_postcss@8.4.20 + cssnano-utils: 3.1.0_postcss@8.4.20 + postcss: 8.4.20 + postcss-calc: 8.2.4_postcss@8.4.20 + postcss-colormin: 5.3.0_postcss@8.4.20 + postcss-convert-values: 5.1.2_postcss@8.4.20 + postcss-discard-comments: 5.1.2_postcss@8.4.20 + postcss-discard-duplicates: 5.1.0_postcss@8.4.20 + postcss-discard-empty: 5.1.1_postcss@8.4.20 + postcss-discard-overridden: 5.1.0_postcss@8.4.20 + postcss-merge-longhand: 5.1.6_postcss@8.4.20 + postcss-merge-rules: 5.1.2_postcss@8.4.20 + postcss-minify-font-values: 5.1.0_postcss@8.4.20 + postcss-minify-gradients: 5.1.1_postcss@8.4.20 + postcss-minify-params: 5.1.3_postcss@8.4.20 + postcss-minify-selectors: 5.2.1_postcss@8.4.20 + postcss-normalize-charset: 5.1.0_postcss@8.4.20 + postcss-normalize-display-values: 5.1.0_postcss@8.4.20 + postcss-normalize-positions: 5.1.1_postcss@8.4.20 + postcss-normalize-repeat-style: 5.1.1_postcss@8.4.20 + postcss-normalize-string: 5.1.0_postcss@8.4.20 + postcss-normalize-timing-functions: 5.1.0_postcss@8.4.20 + postcss-normalize-unicode: 5.1.0_postcss@8.4.20 + postcss-normalize-url: 5.1.0_postcss@8.4.20 + postcss-normalize-whitespace: 5.1.1_postcss@8.4.20 + postcss-ordered-values: 5.1.3_postcss@8.4.20 + postcss-reduce-initial: 5.1.0_postcss@8.4.20 + postcss-reduce-transforms: 5.1.0_postcss@8.4.20 + postcss-svgo: 5.1.0_postcss@8.4.20 + postcss-unique-selectors: 5.1.1_postcss@8.4.20 + dev: true + /cssnano-preset-default/5.2.13_postcss@8.4.20: resolution: {integrity: sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -15640,6 +15890,18 @@ packages: yaml: 1.10.2 dev: true + /cssnano/5.1.12_postcss@8.4.20: + resolution: {integrity: sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.12_postcss@8.4.20 + lilconfig: 2.0.5 + postcss: 8.4.20 + yaml: 1.10.2 + dev: true + /cssnano/5.1.14_postcss@8.4.20: resolution: {integrity: sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==} engines: {node: ^10 || ^12 || >=14.0} @@ -15647,7 +15909,7 @@ packages: postcss: ^8.2.15 dependencies: cssnano-preset-default: 5.2.13_postcss@8.4.20 - lilconfig: 2.0.5 + lilconfig: 2.0.6 postcss: 8.4.20 yaml: 1.10.2 @@ -16454,6 +16716,10 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /defined/1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + dev: true + /defu/6.1.1: resolution: {integrity: sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==} dev: true @@ -16514,6 +16780,10 @@ packages: resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} engines: {node: '>= 0.6.0'} + /dequal/2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + /destr/1.2.2: resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} dev: true @@ -16572,6 +16842,16 @@ packages: transitivePeerDependencies: - supports-color + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.1 + minimist: 1.2.6 + dev: true + /devalue/4.2.0: resolution: {integrity: sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==} dev: true @@ -16606,6 +16886,10 @@ packages: - supports-color dev: false + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + /diff-sequences/26.6.2: resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} engines: {node: '>= 10.14.2'} @@ -16637,6 +16921,10 @@ packages: dependencies: path-type: 4.0.0 + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + /dns-equal/1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true @@ -17130,6 +17418,9 @@ packages: /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer/1.1.0: + resolution: {integrity: sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==} + /es-shim-unscopables/1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: @@ -17182,13 +17473,28 @@ packages: es6-symbol: 3.1.3 dev: false + /esbuild-android-64/0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /esbuild-android-64/0.15.16: resolution: {integrity: sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true - dev: true + optional: true + + /esbuild-android-arm64/0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true optional: true /esbuild-android-arm64/0.15.16: @@ -17197,7 +17503,14 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true + optional: true + + /esbuild-darwin-64/0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true optional: true /esbuild-darwin-64/0.15.16: @@ -17206,7 +17519,14 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true + optional: true + + /esbuild-darwin-arm64/0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true /esbuild-darwin-arm64/0.15.16: @@ -17215,7 +17535,14 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true + optional: true + + /esbuild-freebsd-64/0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true optional: true /esbuild-freebsd-64/0.15.16: @@ -17224,7 +17551,14 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true /esbuild-freebsd-arm64/0.15.16: @@ -17233,7 +17567,14 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-32/0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-32/0.15.16: @@ -17242,7 +17583,14 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-64/0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-64/0.15.16: @@ -17251,7 +17599,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-arm/0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-arm/0.15.16: @@ -17260,7 +17615,14 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-arm64/0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-arm64/0.15.16: @@ -17269,7 +17631,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-mips64le/0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-mips64le/0.15.16: @@ -17278,7 +17647,14 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-ppc64le/0.15.16: @@ -17287,7 +17663,14 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-riscv64/0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-riscv64/0.15.16: @@ -17296,7 +17679,14 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-linux-s390x/0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true /esbuild-linux-s390x/0.15.16: @@ -17305,7 +17695,14 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true + optional: true + + /esbuild-netbsd-64/0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true /esbuild-netbsd-64/0.15.16: @@ -17314,7 +17711,14 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true + optional: true + + /esbuild-openbsd-64/0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true /esbuild-openbsd-64/0.15.16: @@ -17323,7 +17727,28 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true + optional: true + + /esbuild-plugin-solid/0.4.2_uvhai5y6odzgl7edjkb2hugsfi: + resolution: {integrity: sha512-T5GphLoud3RumjeNYO3K9WVjWDzVKG5evlS7hUEUI0n9tiCL+CnbvJh3SSwFi3xeeXpZRrnZc1gd6FWQsVobTg==} + peerDependencies: + esbuild: '>=0.12' + solid-js: '>= 1.0' + dependencies: + '@babel/core': 7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + babel-preset-solid: 1.6.6_@babel+core@7.20.5 + esbuild: 0.14.54 + solid-js: 1.6.6 + transitivePeerDependencies: + - supports-color + + /esbuild-sunos-64/0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true /esbuild-sunos-64/0.15.16: @@ -17332,7 +17757,14 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true + optional: true + + /esbuild-windows-32/0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true /esbuild-windows-32/0.15.16: @@ -17341,7 +17773,14 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true + optional: true + + /esbuild-windows-64/0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true optional: true /esbuild-windows-64/0.15.16: @@ -17350,7 +17789,14 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true + optional: true + + /esbuild-windows-arm64/0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true /esbuild-windows-arm64/0.15.16: @@ -17359,9 +17805,36 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true + /esbuild/0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + /esbuild/0.15.16: resolution: {integrity: sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ==} engines: {node: '>=12'} @@ -17390,7 +17863,6 @@ packages: esbuild-windows-32: 0.15.16 esbuild-windows-64: 0.15.16 esbuild-windows-arm64: 0.15.16 - dev: true /esbuild/0.16.4: resolution: {integrity: sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==} @@ -18116,9 +18588,12 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + /estree-walker/2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true /estree-walker/3.0.1: resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==} @@ -18215,7 +18690,7 @@ packages: dependencies: '@apidevtools/json-schema-ref-parser': 9.0.9 ajv: 8.11.0 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1_ajv@8.11.0 body-parser: 1.20.0 content-type: 1.0.4 deep-freeze: 0.0.1 @@ -18610,7 +19085,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true /finalhandler/1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} @@ -18822,6 +19296,19 @@ packages: peerDependenciesMeta: debug: optional: true + dev: true + + /follow-redirects/1.15.1_debug@3.2.7: + resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 3.2.7 + dev: false /follow-redirects/1.15.1_debug@4.3.4: resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} @@ -18833,7 +19320,6 @@ packages: optional: true dependencies: debug: 4.3.4 - dev: true /for-each/0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -19671,6 +20157,10 @@ packages: engines: {node: '>=4'} dev: false + /get-port/6.1.2: + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /get-stdin/5.0.1: resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==} engines: {node: '>=0.12.0'} @@ -19806,6 +20296,17 @@ packages: /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -20442,6 +20943,9 @@ packages: whatwg-encoding: 2.0.0 dev: true + /html-entities/2.3.2: + resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==} + /html-entities/2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} @@ -20460,7 +20964,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.14.1 + terser: 5.16.1 dev: true /html-tags/3.2.0: @@ -20602,7 +21106,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.1 + follow-redirects: 1.15.1_debug@4.3.4 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -21393,6 +21897,10 @@ packages: get-intrinsic: 1.1.3 dev: true + /is-what/4.1.8: + resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==} + engines: {node: '>=12.13'} + /is-whitespace-character/1.0.4: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} dev: true @@ -22662,7 +23170,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/core': 7.20.5 - '@babel/generator': 7.20.3 + '@babel/generator': 7.20.5 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.5 '@babel/traverse': 7.20.1 '@babel/types': 7.20.5 @@ -23018,7 +23526,6 @@ packages: '@sideway/address': 4.1.4 '@sideway/formula': 3.0.0 '@sideway/pinpoint': 2.0.0 - dev: true /joi/17.7.0: resolution: {integrity: sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==} @@ -23046,6 +23553,11 @@ packages: resolution: {integrity: sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==} dev: false + /joycon/3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: true + /js-beautify/1.14.4: resolution: {integrity: sha512-+b4A9c3glceZEmxyIbxDOYB0ZJdReLvyU1077RqKsO4dZx9FUHjTOJn8VHwpg33QoucIykOiYbh7MfqBOghnrA==} engines: {node: '>=10'} @@ -23470,6 +23982,9 @@ packages: resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} dev: true + /kolorist/1.6.0: + resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==} + /kuler/2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} dev: true @@ -23658,6 +24173,11 @@ packages: /lilconfig/2.0.5: resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} engines: {node: '>=10'} + dev: true + + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -23721,6 +24241,11 @@ packages: '@lmdb/lmdb-win32-x64': 2.5.3 dev: false + /load-tsconfig/0.2.3: + resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /loader-runner/4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -23890,6 +24415,10 @@ packages: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} dev: true + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + /lodash.template/4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: @@ -24371,6 +24900,12 @@ packages: yargs-parser: 20.2.9 dev: true + /merge-anything/5.1.4: + resolution: {integrity: sha512-7PWKwGOs5WWcpw+/OvbiFiAvEP6bv/QHiicigpqMGKIqPPAtGhBLR8LFJW+Zu6m9TXiR/a8+AiPlGG0ko1ruoQ==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.8 + /merge-descriptors/1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -24731,12 +25266,10 @@ packages: /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - dev: true /mrmime/1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - dev: true /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -25526,6 +26059,10 @@ packages: resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} dev: false + /oauth4webapi/2.0.5: + resolution: {integrity: sha512-KmoR3KxCwmr9KvL/c/6UVzQnc4CUjo+j8NSgD3bWYlZXpUmyOVw97nDVb0BKZhCcUtGsbll16v8vsnR5JbTZ9A==} + dev: false + /oauth4webapi/2.0.6: resolution: {integrity: sha512-smacvTzkfgWxXTTfjZeKeCwtiZ7/HIgM+PWcgTltAmEbfmJQRfl/nbWktA9tnzSjezvWNg9N96PJomuMi0zkxQ==} dev: false @@ -25637,7 +26174,6 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: true /on-finished/2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -25965,6 +26501,9 @@ packages: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + /parse-multipart-data/1.5.0: + resolution: {integrity: sha512-ck5zaMF0ydjGfejNMnlo5YU2oJ+pT+80Jb1y4ybanT27j+zbVP/jkYmCrUGsEln0Ox/hZmuvgy8Ra7AxbXP2Mw==} + /parse-numeric-range/1.3.0: resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} dev: true @@ -26272,6 +26811,14 @@ packages: engines: {node: '>=12.13.0'} dev: false + /polka/1.0.0-next.22: + resolution: {integrity: sha512-a7tsZy5gFbJr0aUltZS97xCkbPglXuD67AMvTyZX7BTDBH384FWf0ZQF6rPvdutSxnO1vUlXM2zSLf5tCKk5RA==} + engines: {node: '>=8'} + dependencies: + '@polka/url': 1.0.0-next.21 + trouter: 3.2.0 + dev: true + /portfinder/1.0.32: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} @@ -26362,6 +26909,17 @@ packages: postcss-value-parser: 4.2.0 dev: true + /postcss-convert-values/5.1.2_postcss@8.4.20: + resolution: {integrity: sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.20 + postcss-value-parser: 4.2.0 + dev: true + /postcss-convert-values/5.1.3_postcss@8.4.20: resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} @@ -26464,6 +27022,18 @@ packages: enhanced-resolve: 4.5.0 dev: true + /postcss-import/14.1.0_postcss@8.4.20: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.20 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: true + /postcss-import/15.1.0_postcss@8.4.20: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -26476,6 +27046,32 @@ packages: resolve: 1.22.1 dev: true + /postcss-js/4.0.0_postcss@8.4.20: + resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.3.3 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.20 + dev: true + + /postcss-load-config/3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + yaml: 1.10.2 + dev: true + /postcss-load-config/3.1.4_postcss@8.4.14: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -26488,11 +27084,28 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.5 + lilconfig: 2.0.6 postcss: 8.4.14 yaml: 1.10.2 dev: true + /postcss-load-config/3.1.4_postcss@8.4.20: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.20 + yaml: 1.10.2 + dev: true + /postcss-loader/5.3.0_n5hdb4sd74eqt3xtblrzrc6vly: resolution: {integrity: sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==} engines: {node: '>= 10.13.0'} @@ -26507,7 +27120,7 @@ packages: webpack: 5.73.0 dev: false - /postcss-loader/7.0.0_mepnsno3xmng6eyses4tepu7bu: + /postcss-loader/7.0.0_n5hdb4sd74eqt3xtblrzrc6vly: resolution: {integrity: sha512-IDyttebFzTSY6DI24KuHUcBjbAev1i+RyICoPEWcAstZsj03r533uMXtDn506l6/wlsRYiS5XBdx7TpccCsyUg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -26516,7 +27129,7 @@ packages: dependencies: cosmiconfig: 7.0.1 klona: 2.0.5 - postcss: 8.4.14 + postcss: 8.4.20 semver: 7.3.8 webpack: 5.73.0 dev: true @@ -26543,6 +27156,17 @@ packages: stylehacks: 5.1.0_postcss@8.4.14 dev: true + /postcss-merge-longhand/5.1.6_postcss@8.4.20: + resolution: {integrity: sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.20 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.0_postcss@8.4.20 + dev: true + /postcss-merge-longhand/5.1.7_postcss@8.4.20: resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -26566,6 +27190,19 @@ packages: postcss-selector-parser: 6.0.10 dev: true + /postcss-merge-rules/5.1.2_postcss@8.4.20: + resolution: {integrity: sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0_postcss@8.4.20 + postcss: 8.4.20 + postcss-selector-parser: 6.0.10 + dev: true + /postcss-merge-rules/5.1.3_postcss@8.4.20: resolution: {integrity: sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==} engines: {node: ^10 || ^12 || >=14.0} @@ -26632,6 +27269,18 @@ packages: postcss-value-parser: 4.2.0 dev: true + /postcss-minify-params/5.1.3_postcss@8.4.20: + resolution: {integrity: sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + cssnano-utils: 3.1.0_postcss@8.4.20 + postcss: 8.4.20 + postcss-value-parser: 4.2.0 + dev: true + /postcss-minify-params/5.1.4_postcss@8.4.20: resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} @@ -26719,6 +27368,16 @@ packages: postcss-selector-parser: 6.0.10 dev: true + /postcss-nested/6.0.0_postcss@8.4.20: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.20 + postcss-selector-parser: 6.0.10 + dev: true + /postcss-normalize-charset/5.1.0_postcss@8.4.14: resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} @@ -26842,6 +27501,17 @@ packages: postcss-value-parser: 4.2.0 dev: true + /postcss-normalize-unicode/5.1.0_postcss@8.4.20: + resolution: {integrity: sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.20 + postcss-value-parser: 4.2.0 + dev: true + /postcss-normalize-unicode/5.1.1_postcss@8.4.20: resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} @@ -26934,6 +27604,17 @@ packages: postcss: 8.4.14 dev: true + /postcss-reduce-initial/5.1.0_postcss@8.4.20: + resolution: {integrity: sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + postcss: 8.4.20 + dev: true + /postcss-reduce-initial/5.1.1_postcss@8.4.20: resolution: {integrity: sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==} engines: {node: ^10 || ^12 || >=14.0} @@ -27349,7 +28030,6 @@ packages: /pretty-bytes/6.0.0: resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} engines: {node: ^14.13.1 || >=16.0.0} - dev: true /pretty-error/2.1.2: resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==} @@ -27706,7 +28386,6 @@ packages: /quick-lru/5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - dev: false /radix3/1.0.0: resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==} @@ -28228,6 +28907,11 @@ packages: define-properties: 1.1.4 functions-have-names: 1.2.3 + /regexparam/1.3.0: + resolution: {integrity: sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==} + engines: {node: '>=6'} + dev: true + /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -28609,7 +29293,7 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.14.1 + terser: 5.16.1 dev: true /rollup-plugin-visualizer/5.8.3_rollup@2.79.1: @@ -28626,7 +29310,15 @@ packages: rollup: 2.79.1 source-map: 0.7.4 yargs: 17.5.1 - dev: true + + /rollup-route-manifest/1.0.0_rollup@2.79.1: + resolution: {integrity: sha512-3CmcMmCLAzJDUXiO3z6386/Pt8/k9xTZv8gIHyXI8hYGoAInnYdOsFXiGGzQRMy6TXR1jUZme2qbdwjH2nFMjg==} + engines: {node: '>=8'} + peerDependencies: + rollup: '>=2.0.0' + dependencies: + rollup: 2.79.1 + route-sort: 1.0.0 /rollup/2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} @@ -28634,7 +29326,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /rollup/3.7.4: resolution: {integrity: sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==} @@ -28644,6 +29335,10 @@ packages: fsevents: 2.3.2 dev: true + /route-sort/1.0.0: + resolution: {integrity: sha512-SFgmvjoIhp5S4iBEDW3XnbT+7PRuZ55oRuNjY+CDB1SGZkyCG9bqQ3/dhaZTctTBYMAvDxd2Uy9dStuaUfgJqQ==} + engines: {node: '>= 6'} + /router/1.3.7: resolution: {integrity: sha512-bYnD9Vv2287+g3AIll2kHITLtHV5+fldq6hVzaul9RbdGme77mvBY/1cO+ahsgstA2RI6DSg/j4W1TYHm4Lz4g==} engines: {node: '>= 0.8'} @@ -28702,14 +29397,12 @@ packages: resolution: {integrity: sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==} dependencies: tslib: 2.4.1 - dev: true /sade/1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} dependencies: mri: 1.2.0 - dev: true /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -28796,7 +29489,7 @@ packages: dependencies: '@types/json-schema': 7.0.11 ajv: 8.11.0 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1_ajv@8.11.0 ajv-keywords: 5.1.0_ajv@8.11.0 dev: true @@ -29019,7 +29712,6 @@ packages: /set-cookie-parser/2.5.1: resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==} - dev: true /setimmediate/1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -29157,7 +29849,6 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 - dev: true /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -29324,6 +30015,150 @@ packages: smart-buffer: 4.2.0 dev: true + /solid-js/1.6.6: + resolution: {integrity: sha512-5x33mEbPI8QLuywvFjQP4krjWDr8xiYFgZx9KCBH7b0ZzypQCHaUubob7bK6i+1u6nhaAqhWtvXS587Kb8DShA==} + dependencies: + csstype: 3.1.0 + + /solid-refresh/0.4.1_solid-js@1.6.6: + resolution: {integrity: sha512-v3tD/OXQcUyXLrWjPW1dXZyeWwP7/+GQNs8YTL09GBq+5FguA6IejJWUvJDrLIA4M0ho9/5zK2e9n+uy+4488g==} + peerDependencies: + solid-js: ^1.3 + dependencies: + '@babel/generator': 7.20.5 + '@babel/helper-module-imports': 7.18.6 + '@babel/types': 7.20.5 + solid-js: 1.6.6 + + /solid-start-node/0.2.9_l4ggdbbk3fxijksox3vklu3qfy: + resolution: {integrity: sha512-uOVHyM1G6/XLKJe3zQ67D49WxoL4cPy+35rTgCJoRmBIhTk/wrFr+LmJWxszpnAimQ6SHi12ap5feTdNzb/2Zg==} + peerDependencies: + solid-start: '*' + undici: ^5.8.0 + vite: '*' + dependencies: + '@rollup/plugin-commonjs': 22.0.2_rollup@2.79.1 + '@rollup/plugin-json': 4.1.0_rollup@2.79.1 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 + compression: 1.7.4 + polka: 1.0.0-next.22 + rollup: 2.79.1 + sirv: 2.0.2 + solid-start: 0.2.9_7g4juq64zsg2futgalxovnqs54 + terser: 5.16.1 + undici: 5.11.0 + vite: 3.2.5 + transitivePeerDependencies: + - supports-color + dev: true + + /solid-start-vercel/0.2.9_fi524qppwljtc6wispoxrsxhj4: + resolution: {integrity: sha512-HesOviAfkvpy2p9pn3GUgU+2DorvxSX/yBQE0mqz1vnWAzni52gk9LxGBl7TpPcOp3YoZuSPXSGDFLV51kM+iw==} + peerDependencies: + solid-start: '*' + vite: '*' + dependencies: + '@rollup/plugin-commonjs': 22.0.2_rollup@2.79.1 + '@rollup/plugin-json': 4.1.0_rollup@2.79.1 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 + rollup: 2.79.1 + solid-start: 0.2.9_7g4juq64zsg2futgalxovnqs54 + terser: 5.16.1 + vite: 3.2.5 + dev: true + + /solid-start/0.2.8_ol5sfeg2xpjsxxfgzadulo7fdi: + resolution: {integrity: sha512-S9JFes0pW8mnil5rWNw+IO1Q5h7PnLu/5Mc0qy9o8gtL8ZaUwFiynXBik/qYJM5TvruQAkP7ltoSscdAvOyGLQ==} + hasBin: true + peerDependencies: + '@solidjs/meta': ^0.28.0 + '@solidjs/router': ^0.6.0 + solid-js: ^1.6.2 + vite: ^3.0.4 + dependencies: + '@babel/core': 7.20.5 + '@babel/generator': 7.20.5 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 + '@babel/preset-env': 7.20.2_@babel+core@7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + '@babel/template': 7.18.10 + '@solidjs/meta': 0.28.2_solid-js@1.6.6 + '@types/cookie': 0.5.1 + '@vinxi/vite-plugin-inspect': 0.6.27_rollup@2.79.1 + chokidar: 3.5.3 + compression: 1.7.4 + connect: 3.7.0 + debug: 4.3.4 + dequal: 2.0.3 + es-module-lexer: 1.1.0 + esbuild: 0.14.54 + esbuild-plugin-solid: 0.4.2_uvhai5y6odzgl7edjkb2hugsfi + fast-glob: 3.2.12 + get-port: 6.1.2 + parse-multipart-data: 1.5.0 + picocolors: 1.0.0 + rollup: 2.79.1 + rollup-plugin-visualizer: 5.8.3_rollup@2.79.1 + rollup-route-manifest: 1.0.0_rollup@2.79.1 + sade: 1.8.1 + sirv: 2.0.2 + solid-js: 1.6.6 + terser: 5.16.1 + undici: 5.11.0 + vite-plugin-inspect: 0.6.1 + vite-plugin-solid: 2.5.0_solid-js@1.6.6 + wait-on: 6.0.1_debug@4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /solid-start/0.2.9_7g4juq64zsg2futgalxovnqs54: + resolution: {integrity: sha512-t8wxOMvrbT6MGfWYQctD+f0O4KqFxI9zb4Bpj8JucFoHKkWboMYrIpXB0ll/GB3U6hXyxhAi589UwfqcgNrKOw==} + hasBin: true + peerDependencies: + '@solidjs/meta': ^0.28.0 + '@solidjs/router': ^0.6.0 + solid-js: ^1.6.2 + vite: ^3.0.4 + dependencies: + '@babel/core': 7.20.5 + '@babel/generator': 7.20.5 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 + '@babel/preset-env': 7.20.2_@babel+core@7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + '@babel/template': 7.18.10 + '@solidjs/meta': 0.28.2_solid-js@1.6.6 + '@solidjs/router': 0.6.0_solid-js@1.6.6 + '@types/cookie': 0.5.1 + '@vinxi/vite-plugin-inspect': 0.6.27_rollup@2.79.1+vite@3.2.5 + chokidar: 3.5.3 + compression: 1.7.4 + connect: 3.7.0 + debug: 4.3.4 + dequal: 2.0.3 + dotenv: 16.0.3 + es-module-lexer: 1.1.0 + esbuild: 0.14.54 + esbuild-plugin-solid: 0.4.2_uvhai5y6odzgl7edjkb2hugsfi + fast-glob: 3.2.12 + get-port: 6.1.2 + parse-multipart-data: 1.5.0 + picocolors: 1.0.0 + rollup: 2.79.1 + rollup-plugin-visualizer: 5.8.3_rollup@2.79.1 + rollup-route-manifest: 1.0.0_rollup@2.79.1 + sade: 1.8.1 + sirv: 2.0.2 + solid-js: 1.6.6 + terser: 5.16.1 + undici: 5.11.0 + vite: 3.2.5 + vite-plugin-inspect: 0.6.1_vite@3.2.5 + vite-plugin-solid: 2.5.0_solid-js@1.6.6+vite@3.2.5 + wait-on: 6.0.1_debug@4.3.4 + transitivePeerDependencies: + - supports-color + /sorcery/0.10.0: resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} hasBin: true @@ -29381,6 +30216,13 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead @@ -29603,7 +30445,6 @@ packages: /statuses/1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - dev: true /statuses/2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -29927,6 +30768,17 @@ packages: postcss-selector-parser: 6.0.10 dev: true + /stylehacks/5.1.0_postcss@8.4.20: + resolution: {integrity: sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.20 + postcss-selector-parser: 6.0.10 + dev: true + /stylehacks/5.1.1_postcss@8.4.20: resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} @@ -29950,6 +30802,19 @@ packages: readable-stream: 1.1.14 dev: true + /sucrase/3.29.0: + resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} + engines: {node: '>=8'} + hasBin: true + dependencies: + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: true + /sudo-prompt/8.2.5: resolution: {integrity: sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==} dev: false @@ -30265,6 +31130,40 @@ packages: resolution: {integrity: sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==} dev: true + /tailwindcss/3.2.4_postcss@8.4.20: + resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} + engines: {node: '>=12.13.0'} + hasBin: true + peerDependencies: + postcss: ^8.0.9 + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.0.6 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.20 + postcss-import: 14.1.0_postcss@8.4.20 + postcss-js: 4.0.0_postcss@8.4.20 + postcss-load-config: 3.1.4_postcss@8.4.20 + postcss-nested: 6.0.0_postcss@8.4.20 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node + dev: true + /tapable/1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -30405,11 +31304,11 @@ packages: jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.0 - terser: 5.14.1 + terser: 5.16.1 webpack: 5.73.0 - /terser/5.14.1: - resolution: {integrity: sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==} + /terser/5.16.1: + resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -30594,7 +31493,6 @@ packages: /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} - dev: true /tough-cookie/2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} @@ -30631,6 +31529,12 @@ packages: /tr46/0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.1.1 + dev: true + /tr46/2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} @@ -30679,10 +31583,21 @@ packages: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true + /trouter/3.2.0: + resolution: {integrity: sha512-rLLXbhTObLy2MBVjLC+jTnoIKw99n0GuJs9ov10J870vDw5qhTurPzsDrudNtBf5w/CZ9ctZy2p2IMmhGcel2w==} + engines: {node: '>=6'} + dependencies: + regexparam: 1.3.0 + dev: true + /true-case-path/2.2.1: resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} dev: false + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /ts-jest/27.1.5_lvqy56smyn5gszh3zmisfmhukm: resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -30783,6 +31698,42 @@ packages: /tslib/2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + /tsup/6.5.0_typescript@4.9.4: + resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: ^4.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 3.1.2_esbuild@0.15.16 + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4 + esbuild: 0.15.16 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 3.1.4 + resolve-from: 5.0.0 + rollup: 3.7.4 + source-map: 0.8.0-beta.0 + sucrase: 3.29.0 + tree-kill: 1.2.2 + typescript: 4.9.4 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /tsutils/3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -31185,7 +32136,6 @@ packages: /ufo/0.8.6: resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==} - dev: true /ufo/1.0.1: resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} @@ -31238,7 +32188,6 @@ packages: engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 - dev: true /unenv/1.0.0: resolution: {integrity: sha512-vlyi2Rzj4CNlA1JsEXufX+ItkGr3Z5DfLzKniYEneMlBVtuxS+57f1LwTPj2eiBPSPaGHMUVzEnjSCGE7l8JQg==} @@ -31847,6 +32796,70 @@ packages: vscode-uri: 3.0.7 dev: true + /vite-plugin-inspect/0.6.1: + resolution: {integrity: sha512-MQzIgMoPyiPDuHoO6p7QBOrmheBU/ntg0cgtgcnm21S/Xds5oak1CbVLSAvv4fK1ZpetLK+tlJ+2mlFO9fG3SQ==} + engines: {node: '>=14'} + peerDependencies: + vite: ^3.0.0 + dependencies: + '@rollup/pluginutils': 4.2.1 + debug: 4.3.4 + kolorist: 1.6.0 + sirv: 2.0.2 + ufo: 0.8.6 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-inspect/0.6.1_vite@3.2.5: + resolution: {integrity: sha512-MQzIgMoPyiPDuHoO6p7QBOrmheBU/ntg0cgtgcnm21S/Xds5oak1CbVLSAvv4fK1ZpetLK+tlJ+2mlFO9fG3SQ==} + engines: {node: '>=14'} + peerDependencies: + vite: ^3.0.0 + dependencies: + '@rollup/pluginutils': 4.2.1 + debug: 4.3.4 + kolorist: 1.6.0 + sirv: 2.0.2 + ufo: 0.8.6 + vite: 3.2.5 + transitivePeerDependencies: + - supports-color + + /vite-plugin-solid/2.5.0_solid-js@1.6.6: + resolution: {integrity: sha512-VneGd3RyFJvwaiffsqgymeMaofn0IzQLPwDzafTV2f1agoWeeJlk5VrI5WqT9BTtLe69vNNbCJWqLhHr9fOdDw==} + peerDependencies: + solid-js: ^1.3.17 || ^1.4.0 || ^1.5.0 || ^1.6.0 + vite: ^3.0.0 || ^4.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + babel-preset-solid: 1.6.6_@babel+core@7.20.5 + merge-anything: 5.1.4 + solid-js: 1.6.6 + solid-refresh: 0.4.1_solid-js@1.6.6 + vitefu: 0.2.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-solid/2.5.0_solid-js@1.6.6+vite@3.2.5: + resolution: {integrity: sha512-VneGd3RyFJvwaiffsqgymeMaofn0IzQLPwDzafTV2f1agoWeeJlk5VrI5WqT9BTtLe69vNNbCJWqLhHr9fOdDw==} + peerDependencies: + solid-js: ^1.3.17 || ^1.4.0 || ^1.5.0 || ^1.6.0 + vite: ^3.0.0 || ^4.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.5 + babel-preset-solid: 1.6.6_@babel+core@7.20.5 + merge-anything: 5.1.4 + solid-js: 1.6.6 + solid-refresh: 0.4.1_solid-js@1.6.6 + vite: 3.2.5 + vitefu: 0.2.4_vite@3.2.5 + transitivePeerDependencies: + - supports-color + /vite/3.2.5: resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -31878,7 +32891,6 @@ packages: rollup: 2.79.1 optionalDependencies: fsevents: 2.3.2 - dev: true /vite/4.0.1: resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} @@ -31947,10 +32959,29 @@ packages: fsevents: 2.3.2 dev: true - /vitefu/0.2.2_vite@4.0.1: - resolution: {integrity: sha512-8CKEIWPm4B4DUDN+h+hVJa9pyNi7rzc5MYmbxhs1wcMakueGFNWB5/DL30USm9qU3xUPnL4/rrLEAwwFiD1tag==} + /vitefu/0.2.4: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: - vite: ^3.0.0 + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dev: true + + /vitefu/0.2.4_vite@3.2.5: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 3.2.5 + + /vitefu/0.2.4_vite@4.0.1: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 peerDependenciesMeta: vite: optional: true @@ -32145,6 +33176,19 @@ packages: - debug dev: true + /wait-on/6.0.1_debug@4.3.4: + resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + axios: 0.25.0_debug@4.3.4 + joi: 17.6.0 + lodash: 4.17.21 + minimist: 1.2.6 + rxjs: 7.6.0 + transitivePeerDependencies: + - debug + /walker/1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -32186,6 +33230,10 @@ packages: /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + /webidl-conversions/5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} @@ -32458,6 +33506,14 @@ packages: tr46: 0.0.3 webidl-conversions: 3.0.1 + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + /whatwg-url/8.7.0: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} @@ -32763,7 +33819,6 @@ packages: /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true /yaeti/0.0.6: resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} @@ -32807,7 +33862,6 @@ packages: /yargs-parser/21.0.1: resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} engines: {node: '>=12'} - dev: true /yargs/15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} @@ -32850,7 +33904,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.0.1 - dev: true /yeast/0.1.2: resolution: {integrity: sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==} @@ -32892,6 +33945,10 @@ packages: readable-stream: 3.6.0 dev: true + /zod/3.20.2: + resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} + dev: false + /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true