From e0479bbe56cab23a8b48eaa7b8b8217dc6f266f3 Mon Sep 17 00:00:00 2001 From: Yuzuki Aida Date: Sat, 14 Dec 2024 16:21:13 +0900 Subject: [PATCH] Support react-router v7 --- apps/react-router/.dockerignore | 4 + apps/react-router/.eslintrc.cjs | 80 + apps/react-router/.gitignore | 6 + apps/react-router/Dockerfile | 22 + apps/react-router/Dockerfile.bun | 25 + apps/react-router/Dockerfile.pnpm | 26 + apps/react-router/README.md | 100 + apps/react-router/app/app.css | 12 + apps/react-router/app/root.tsx | 77 + apps/react-router/app/routes.ts | 6 + apps/react-router/app/routes/_index.tsx | 41 + apps/react-router/app/routes/blog.$slug.tsx | 12 + apps/react-router/app/welcome/logo-dark.svg | 23 + apps/react-router/app/welcome/logo-light.svg | 23 + apps/react-router/app/welcome/welcome.tsx | 89 + apps/react-router/package.json | 34 + apps/react-router/public/favicon.ico | Bin 0 -> 15086 bytes apps/react-router/react-router.config.ts | 7 + apps/react-router/tailwind.config.ts | 22 + apps/react-router/tsconfig.json | 27 + apps/react-router/vite.config.ts | 15 + packages/web/README.md | 21 +- packages/web/package.json | 13 + packages/web/src/react-router/index.tsx | 18 + packages/web/src/react-router/utils.ts | 9 + packages/web/tsup.config.js | 8 + pnpm-lock.yaml | 1829 ++++++++++++++---- 27 files changed, 2115 insertions(+), 434 deletions(-) create mode 100644 apps/react-router/.dockerignore create mode 100644 apps/react-router/.eslintrc.cjs create mode 100644 apps/react-router/.gitignore create mode 100644 apps/react-router/Dockerfile create mode 100644 apps/react-router/Dockerfile.bun create mode 100644 apps/react-router/Dockerfile.pnpm create mode 100644 apps/react-router/README.md create mode 100644 apps/react-router/app/app.css create mode 100644 apps/react-router/app/root.tsx create mode 100644 apps/react-router/app/routes.ts create mode 100644 apps/react-router/app/routes/_index.tsx create mode 100644 apps/react-router/app/routes/blog.$slug.tsx create mode 100644 apps/react-router/app/welcome/logo-dark.svg create mode 100644 apps/react-router/app/welcome/logo-light.svg create mode 100644 apps/react-router/app/welcome/welcome.tsx create mode 100644 apps/react-router/package.json create mode 100644 apps/react-router/public/favicon.ico create mode 100644 apps/react-router/react-router.config.ts create mode 100644 apps/react-router/tailwind.config.ts create mode 100644 apps/react-router/tsconfig.json create mode 100644 apps/react-router/vite.config.ts create mode 100644 packages/web/src/react-router/index.tsx create mode 100644 packages/web/src/react-router/utils.ts diff --git a/apps/react-router/.dockerignore b/apps/react-router/.dockerignore new file mode 100644 index 0000000..9b8d514 --- /dev/null +++ b/apps/react-router/.dockerignore @@ -0,0 +1,4 @@ +.react-router +build +node_modules +README.md \ No newline at end of file diff --git a/apps/react-router/.eslintrc.cjs b/apps/react-router/.eslintrc.cjs new file mode 100644 index 0000000..ea8ef4f --- /dev/null +++ b/apps/react-router/.eslintrc.cjs @@ -0,0 +1,80 @@ +// ref: https://github.com/remix-run/remix/blob/f99377ab45fcf8f1a119ee817add131775be7d66/templates/remix/.eslintrc.cjs + +/** @type {import('eslint').Linter.Config} */ +module.exports = { + root: true, + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + env: { + browser: true, + commonjs: true, + es6: true, + }, + ignorePatterns: ['!**/.server', '!**/.client'], + + // Base config + extends: ['eslint:recommended'], + + overrides: [ + // React + { + files: ['**/*.{js,jsx,ts,tsx}'], + plugins: ['react', 'jsx-a11y'], + extends: [ + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + 'plugin:jsx-a11y/recommended', + ], + settings: { + react: { + version: 'detect', + }, + formComponents: ['Form'], + linkComponents: [ + { name: 'Link', linkAttribute: 'to' }, + { name: 'NavLink', linkAttribute: 'to' }, + ], + 'import/resolver': { + typescript: {}, + }, + }, + }, + + // Typescript + { + files: ['**/*.{ts,tsx}'], + plugins: ['@typescript-eslint', 'import'], + parser: '@typescript-eslint/parser', + settings: { + 'import/internal-regex': '^~/', + 'import/resolver': { + node: { + extensions: ['.ts', '.tsx'], + }, + typescript: { + alwaysTryTypes: true, + }, + }, + }, + extends: [ + 'plugin:@typescript-eslint/recommended', + 'plugin:import/recommended', + 'plugin:import/typescript', + ], + }, + + // Node + { + files: ['.eslintrc.cjs'], + env: { + node: true, + }, + }, + ], +}; diff --git a/apps/react-router/.gitignore b/apps/react-router/.gitignore new file mode 100644 index 0000000..9b7c041 --- /dev/null +++ b/apps/react-router/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +/node_modules/ + +# React Router +/.react-router/ +/build/ diff --git a/apps/react-router/Dockerfile b/apps/react-router/Dockerfile new file mode 100644 index 0000000..207bf93 --- /dev/null +++ b/apps/react-router/Dockerfile @@ -0,0 +1,22 @@ +FROM node:20-alpine AS development-dependencies-env +COPY . /app +WORKDIR /app +RUN npm ci + +FROM node:20-alpine AS production-dependencies-env +COPY ./package.json package-lock.json /app/ +WORKDIR /app +RUN npm ci --omit=dev + +FROM node:20-alpine AS build-env +COPY . /app/ +COPY --from=development-dependencies-env /app/node_modules /app/node_modules +WORKDIR /app +RUN npm run build + +FROM node:20-alpine +COPY ./package.json package-lock.json /app/ +COPY --from=production-dependencies-env /app/node_modules /app/node_modules +COPY --from=build-env /app/build /app/build +WORKDIR /app +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/apps/react-router/Dockerfile.bun b/apps/react-router/Dockerfile.bun new file mode 100644 index 0000000..973038e --- /dev/null +++ b/apps/react-router/Dockerfile.bun @@ -0,0 +1,25 @@ +FROM oven/bun:1 AS dependencies-env +COPY . /app + +FROM dependencies-env AS development-dependencies-env +COPY ./package.json bun.lockb /app/ +WORKDIR /app +RUN bun i --frozen-lockfile + +FROM dependencies-env AS production-dependencies-env +COPY ./package.json bun.lockb /app/ +WORKDIR /app +RUN bun i --production + +FROM dependencies-env AS build-env +COPY ./package.json bun.lockb /app/ +COPY --from=development-dependencies-env /app/node_modules /app/node_modules +WORKDIR /app +RUN bun run build + +FROM dependencies-env +COPY ./package.json bun.lockb /app/ +COPY --from=production-dependencies-env /app/node_modules /app/node_modules +COPY --from=build-env /app/build /app/build +WORKDIR /app +CMD ["bun", "run", "start"] \ No newline at end of file diff --git a/apps/react-router/Dockerfile.pnpm b/apps/react-router/Dockerfile.pnpm new file mode 100644 index 0000000..57916af --- /dev/null +++ b/apps/react-router/Dockerfile.pnpm @@ -0,0 +1,26 @@ +FROM node:20-alpine AS dependencies-env +RUN npm i -g pnpm +COPY . /app + +FROM dependencies-env AS development-dependencies-env +COPY ./package.json pnpm-lock.yaml /app/ +WORKDIR /app +RUN pnpm i --frozen-lockfile + +FROM dependencies-env AS production-dependencies-env +COPY ./package.json pnpm-lock.yaml /app/ +WORKDIR /app +RUN pnpm i --prod --frozen-lockfile + +FROM dependencies-env AS build-env +COPY ./package.json pnpm-lock.yaml /app/ +COPY --from=development-dependencies-env /app/node_modules /app/node_modules +WORKDIR /app +RUN pnpm build + +FROM dependencies-env +COPY ./package.json pnpm-lock.yaml /app/ +COPY --from=production-dependencies-env /app/node_modules /app/node_modules +COPY --from=build-env /app/build /app/build +WORKDIR /app +CMD ["pnpm", "start"] \ No newline at end of file diff --git a/apps/react-router/README.md b/apps/react-router/README.md new file mode 100644 index 0000000..e0d2066 --- /dev/null +++ b/apps/react-router/README.md @@ -0,0 +1,100 @@ +# Welcome to React Router! + +A modern, production-ready template for building full-stack React applications using React Router. + +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default) + +## Features + +- 🚀 Server-side rendering +- ⚡️ Hot Module Replacement (HMR) +- 📦 Asset bundling and optimization +- 🔄 Data loading and mutations +- 🔒 TypeScript by default +- 🎉 TailwindCSS for styling +- 📖 [React Router docs](https://reactrouter.com/) + +## Getting Started + +### Installation + +Install the dependencies: + +```bash +npm install +``` + +### Development + +Start the development server with HMR: + +```bash +npm run dev +``` + +Your application will be available at `http://localhost:5173`. + +## Building for Production + +Create a production build: + +```bash +npm run build +``` + +## Deployment + +### Docker Deployment + +This template includes three Dockerfiles optimized for different package managers: + +- `Dockerfile` - for npm +- `Dockerfile.pnpm` - for pnpm +- `Dockerfile.bun` - for bun + +To build and run using Docker: + +```bash +# For npm +docker build -t my-app . + +# For pnpm +docker build -f Dockerfile.pnpm -t my-app . + +# For bun +docker build -f Dockerfile.bun -t my-app . + +# Run the container +docker run -p 3000:3000 my-app +``` + +The containerized application can be deployed to any platform that supports Docker, including: + +- AWS ECS +- Google Cloud Run +- Azure Container Apps +- Digital Ocean App Platform +- Fly.io +- Railway + +### DIY Deployment + +If you're familiar with deploying Node applications, the built-in app server is production-ready. + +Make sure to deploy the output of `npm run build` + +``` +├── package.json +├── package-lock.json (or pnpm-lock.yaml, or bun.lockb) +├── build/ +│ ├── client/ # Static assets +│ └── server/ # Server-side code +``` + +## Styling + +This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever CSS framework you prefer. + +--- + +Built with ❤️ using React Router. diff --git a/apps/react-router/app/app.css b/apps/react-router/app/app.css new file mode 100644 index 0000000..303fe15 --- /dev/null +++ b/apps/react-router/app/app.css @@ -0,0 +1,12 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +html, +body { + @apply bg-white dark:bg-gray-950; + + @media (prefers-color-scheme: dark) { + color-scheme: dark; + } +} diff --git a/apps/react-router/app/root.tsx b/apps/react-router/app/root.tsx new file mode 100644 index 0000000..eff0137 --- /dev/null +++ b/apps/react-router/app/root.tsx @@ -0,0 +1,77 @@ +import { + isRouteErrorResponse, + Links, + Meta, + Outlet, + Scripts, + ScrollRestoration, +} from 'react-router'; +import { SpeedInsights } from '@vercel/speed-insights/react-router'; +import type { Route } from './+types/root'; +import stylesheet from './app.css?url'; + +export const links: Route.LinksFunction = () => [ + { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, + { + rel: 'preconnect', + href: 'https://fonts.gstatic.com', + crossOrigin: 'anonymous', + }, + { + rel: 'stylesheet', + href: 'https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap', + }, + { rel: 'stylesheet', href: stylesheet }, +]; + +export function Layout({ children }: { children: React.ReactNode }) { + return ( + + + + + + + + + {children} + + + + + + ); +} + +export default function App() { + return ; +} + +export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { + let message = 'Oops!'; + let details = 'An unexpected error occurred.'; + let stack: string | undefined; + + if (isRouteErrorResponse(error)) { + message = error.status === 404 ? '404' : 'Error'; + details = + error.status === 404 + ? 'The requested page could not be found.' + : error.statusText || details; + } else if (import.meta.env.DEV && error && error instanceof Error) { + details = error.message; + stack = error.stack; + } + + return ( +
+

{message}

+

{details}

+ {stack && ( +
+          {stack}
+        
+ )} +
+ ); +} diff --git a/apps/react-router/app/routes.ts b/apps/react-router/app/routes.ts new file mode 100644 index 0000000..74cd8cd --- /dev/null +++ b/apps/react-router/app/routes.ts @@ -0,0 +1,6 @@ +import { type RouteConfig, index, route } from '@react-router/dev/routes'; + +export default [ + index('routes/_index.tsx'), + route('blog/:slug', 'routes/blog.$slug.tsx'), +] satisfies RouteConfig; diff --git a/apps/react-router/app/routes/_index.tsx b/apps/react-router/app/routes/_index.tsx new file mode 100644 index 0000000..cc73f8c --- /dev/null +++ b/apps/react-router/app/routes/_index.tsx @@ -0,0 +1,41 @@ +import type { MetaFunction } from 'react-router'; + +export const meta: MetaFunction = () => { + return [ + { title: 'New Remix App' }, + { name: 'description', content: 'Welcome to Remix!' }, + ]; +}; + +export default function Index() { + return ( + + ); +} diff --git a/apps/react-router/app/routes/blog.$slug.tsx b/apps/react-router/app/routes/blog.$slug.tsx new file mode 100644 index 0000000..44c0f34 --- /dev/null +++ b/apps/react-router/app/routes/blog.$slug.tsx @@ -0,0 +1,12 @@ +import { Link } from 'react-router'; + +export default function BlogPage() { + return ( +
+

Blog

+

Blog content goes here

+ First post + First second +
+ ); +} diff --git a/apps/react-router/app/welcome/logo-dark.svg b/apps/react-router/app/welcome/logo-dark.svg new file mode 100644 index 0000000..dd82028 --- /dev/null +++ b/apps/react-router/app/welcome/logo-dark.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/react-router/app/welcome/logo-light.svg b/apps/react-router/app/welcome/logo-light.svg new file mode 100644 index 0000000..7328492 --- /dev/null +++ b/apps/react-router/app/welcome/logo-light.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/react-router/app/welcome/welcome.tsx b/apps/react-router/app/welcome/welcome.tsx new file mode 100644 index 0000000..48c7a25 --- /dev/null +++ b/apps/react-router/app/welcome/welcome.tsx @@ -0,0 +1,89 @@ +import logoDark from './logo-dark.svg'; +import logoLight from './logo-light.svg'; + +export function Welcome() { + return ( +
+
+
+
+ React Router + React Router +
+
+
+ +
+
+
+ ); +} + +const resources = [ + { + href: 'https://reactrouter.com/docs', + text: 'React Router Docs', + icon: ( + + + + ), + }, + { + href: 'https://rmx.as/discord', + text: 'Join Discord', + icon: ( + + + + ), + }, +]; diff --git a/apps/react-router/package.json b/apps/react-router/package.json new file mode 100644 index 0000000..8c66d0e --- /dev/null +++ b/apps/react-router/package.json @@ -0,0 +1,34 @@ +{ + "name": "react-router", + "private": true, + "type": "module", + "scripts": { + "build": "cross-env NODE_ENV=production react-router build", + "dev": "react-router dev", + "start": "cross-env NODE_ENV=production react-router-serve ./build/server/index.js", + "typecheck": "react-router typegen && tsc" + }, + "dependencies": { + "@react-router/node": "^7.0.2", + "@react-router/serve": "^7.0.2", + "@vercel/speed-insights": "workspace:1.2.0-canary.1", + "isbot": "^5.1.17", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-router": "^7.0.2" + }, + "devDependencies": { + "@react-router/dev": "^7.0.2", + "@types/node": "^20", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.1", + "autoprefixer": "^10.4.20", + "cross-env": "^7.0.3", + "postcss": "^8.4.49", + "tailwindcss": "^3.4.16", + "typescript": "^5.7.2", + "vite": "^5.4.11", + "vite-plugin-env-compatible": "^2.0.1", + "vite-tsconfig-paths": "^5.1.4" + } +} diff --git a/apps/react-router/public/favicon.ico b/apps/react-router/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5dbdfcddcb14182535f6d32d1c900681321b1aa3 GIT binary patch literal 15086 zcmeI33v3ic7{|AFEmuJ-;v>ep_G*NPi6KM`qNryCe1PIJ8siIN1WZ(7qVa)RVtmC% z)Ch?tN+afMKm;5@rvorJk zcXnoOc4q51HBQnQH_jn!cAg&XI1?PlX>Kl^k8qq0;zkha`kY$Fxt#=KNJAE9CMdpW zqr4#g8`nTw191(+H4xW8Tmyru2I^3=J1G3emPxkPXA=3{vvuvse_WWSshqaqls^-m zgB7q8&Vk*aYRe?sn$n53dGH#%3y%^vxv{pL*-h0Z4bmb_(k6{FL7HWIz(V*HT#IcS z-wE{)+0x1U!RUPt3gB97%p}@oHxF4|6S*+Yw=_tLtxZ~`S=z6J?O^AfU>7qOX`JNBbV&8+bO0%@fhQitKIJ^O^ zpgIa__qD_y07t@DFlBJ)8SP_#^j{6jpaXt{U%=dx!qu=4u7^21lWEYHPPY5U3TcoQ zX_7W+lvZi>TapNk_X>k-KO%MC9iZp>1E`N34gHKd9tK&){jq2~7OsJ>!G0FzxQFw6G zm&Vb(2#-T|rM|n3>uAsG_hnbvUKFf3#ay@u4uTzia~NY%XgCHfx4^To4BDU@)HlV? z@EN=g^ymETa1sQK{kRwyE4Ax8?wT&GvaG@ASO}{&a17&^v`y z!oPdiSiia^oov(Z)QhG2&|FgE{M9_4hJROGbnj>#$~ZF$-G^|zPj*QApltKe?;u;uKHJ~-V!=VLkg7Kgct)l7u39f@%VG8e3f$N-B zAu3a4%ZGf)r+jPAYCSLt73m_J3}p>}6Tx0j(wg4vvKhP!DzgiWANiE;Ppvp}P2W@m z-VbYn+NXFF?6ngef5CfY6ZwKnWvNV4z6s^~yMXw2i5mv}jC$6$46g?G|CPAu{W5qF zDobS=zb2ILX9D827g*NtGe5w;>frjanY{f)hrBP_2ehBt1?`~ypvg_Ot4x1V+43P@Ve8>qd)9NX_jWdLo`Zfy zoeam9)@Dpym{4m@+LNxXBPjPKA7{3a&H+~xQvr>C_A;7=JrfK~$M2pCh>|xLz>W6SCs4qC|#V`)# z)0C|?$o>jzh<|-cpf

K7osU{Xp5PG4-K+L2G=)c3f&}H&M3wo7TlO_UJjQ-Oq&_ zjAc9=nNIYz{c3zxOiS5UfcE1}8#iI4@uy;$Q7>}u`j+OU0N<*Ezx$k{x_27+{s2Eg z`^=rhtIzCm!_UcJ?Db~Lh-=_))PT3{Q0{Mwdq;0>ZL%l3+;B&4!&xm#%HYAK|;b456Iv&&f$VQHf` z>$*K9w8T+paVwc7fLfMlhQ4)*zL_SG{~v4QR;IuX-(oRtYAhWOlh`NLoX0k$RUYMi z2Y!bqpdN}wz8q`-%>&Le@q|jFw92ErW-hma-le?S z-@OZt2EEUm4wLsuEMkt4zlyy29_3S50JAcQHTtgTC{P~%-mvCTzrjXOc|{}N`Cz`W zSj7CrXfa7lcsU0J(0uSX6G`54t^7}+OLM0n(|g4waOQ}bd3%!XLh?NX9|8G_|06Ie zD5F1)w5I~!et7lA{G^;uf7aqT`KE&2qx9|~O;s6t!gb`+zVLJyT2T)l*8l(j literal 0 HcmV?d00001 diff --git a/apps/react-router/react-router.config.ts b/apps/react-router/react-router.config.ts new file mode 100644 index 0000000..4f9a6ed --- /dev/null +++ b/apps/react-router/react-router.config.ts @@ -0,0 +1,7 @@ +import type { Config } from '@react-router/dev/config'; + +export default { + // Config options... + // Server-side render by default, to enable SPA mode set this to `false` + ssr: true, +} satisfies Config; diff --git a/apps/react-router/tailwind.config.ts b/apps/react-router/tailwind.config.ts new file mode 100644 index 0000000..65cbafc --- /dev/null +++ b/apps/react-router/tailwind.config.ts @@ -0,0 +1,22 @@ +import type { Config } from 'tailwindcss'; + +export default { + content: ['./app/**/{**,.client,.server}/**/*.{js,jsx,ts,tsx}'], + theme: { + extend: { + fontFamily: { + sans: [ + '"Inter"', + 'ui-sans-serif', + 'system-ui', + 'sans-serif', + '"Apple Color Emoji"', + '"Segoe UI Emoji"', + '"Segoe UI Symbol"', + '"Noto Color Emoji"', + ], + }, + }, + }, + plugins: [], +} satisfies Config; diff --git a/apps/react-router/tsconfig.json b/apps/react-router/tsconfig.json new file mode 100644 index 0000000..dc391a4 --- /dev/null +++ b/apps/react-router/tsconfig.json @@ -0,0 +1,27 @@ +{ + "include": [ + "**/*", + "**/.server/**/*", + "**/.client/**/*", + ".react-router/types/**/*" + ], + "compilerOptions": { + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "types": ["node", "vite/client"], + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "rootDirs": [".", "./.react-router/types"], + "baseUrl": ".", + "paths": { + "~/*": ["./app/*"] + }, + "esModuleInterop": true, + "verbatimModuleSyntax": true, + "noEmit": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true + } +} diff --git a/apps/react-router/vite.config.ts b/apps/react-router/vite.config.ts new file mode 100644 index 0000000..b3e61c0 --- /dev/null +++ b/apps/react-router/vite.config.ts @@ -0,0 +1,15 @@ +import { reactRouter } from '@react-router/dev/vite'; +import autoprefixer from 'autoprefixer'; +import tailwindcss from 'tailwindcss'; +import { defineConfig } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import env from 'vite-plugin-env-compatible'; + +export default defineConfig({ + css: { + postcss: { + plugins: [tailwindcss, autoprefixer], + }, + }, + plugins: [reactRouter(), tsconfigPaths(), env()], +}); diff --git a/packages/web/README.md b/packages/web/README.md index 7a3443e..672a2b5 100644 --- a/packages/web/README.md +++ b/packages/web/README.md @@ -19,15 +19,16 @@ This package does **not** track data in development mode. It has 1st class integration with: -| Framework | Package | -| --------- | ---------------------------------- | -| Next.js | `@vercel/speed-insights/next` | -| Nuxt | `@vercel/speed-insights/nuxt` | -| Sveltekit | `@vercel/speed-insights/sveltekit` | -| Remix | `@vercel/speed-insights/remix` | -| React | `@vercel/speed-insights/react` | -| Astro | `@vercel/speed-insights/astro` | -| Vue | `@vercel/speed-insights/vue` | +| Framework | Package | +| ------------ | ------------------------------------- | +| Next.js | `@vercel/speed-insights/next` | +| Nuxt | `@vercel/speed-insights/nuxt` | +| Sveltekit | `@vercel/speed-insights/sveltekit` | +| Remix | `@vercel/speed-insights/remix` | +| React | `@vercel/speed-insights/react` | +| React Router | `@vercel/speed-insights/react-router` | +| Astro | `@vercel/speed-insights/astro` | +| Vue | `@vercel/speed-insights/vue` | It also supports other frameworks, vanilla JS and static websites. @@ -37,7 +38,7 @@ It also supports other frameworks, vanilla JS and static websites. 2. Add the `@vercel/speed-insights` package to your project 3. Inject Speed Insights to your app - - If you are using **Next.js**, **React**, **Nuxt** or **Vue** you can use the framework-specific `` component to inject the script into your app. + - If you are using **Next.js**, **React**, **Remix**, **React Router**, **Nuxt** or **Vue** you can use the framework-specific `` component to inject the script into your app. - If you are using **Sveltekit**, you can use the `injectSpeedInsights()` function `@vercel/speed-insights/sveltekit` in your top-level `+layout.js/ts` file. - For other frameworks, you can use the `inject` function add the tracking script to your app. - If you want to use Vercel Speed Insights on a static site without npm, follow the instructions in the [documentation](https://vercel.com/docs/speed-insights/quickstart). diff --git a/packages/web/package.json b/packages/web/package.json index f9c8304..d9f23d3 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -41,6 +41,11 @@ "import": "./dist/remix/index.mjs", "require": "./dist/remix/index.js" }, + "./react-router": { + "browser": "./dist/react-router/index.mjs", + "import": "./dist/react-router/index.mjs", + "require": "./dist/react-router/index.js" + }, "./sveltekit": { "svelte": "./dist/sveltekit/index.mjs", "types": "./dist/sveltekit/index.d.ts" @@ -70,6 +75,9 @@ "remix": [ "dist/remix/index.d.ts" ], + "react-router": [ + "dist/react-router/index.d.ts" + ], "sveltekit": [ "dist/sveltekit/index.d.ts" ], @@ -104,6 +112,7 @@ "next": "^14.0.4", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router": "^7.0.2", "svelte": "^5", "tsup": "7.2.0", "vue": "^3.4.14", @@ -113,6 +122,7 @@ "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "react": "^18 || ^19 || ^19.0.0-rc", + "react-router": "^7", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" @@ -127,6 +137,9 @@ "react": { "optional": true }, + "react-router": { + "optional": true + }, "svelte": { "optional": true }, diff --git a/packages/web/src/react-router/index.tsx b/packages/web/src/react-router/index.tsx new file mode 100644 index 0000000..525b472 --- /dev/null +++ b/packages/web/src/react-router/index.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { SpeedInsights as SpeedInsightsScript } from '../react'; +import type { SpeedInsightsProps } from '../types'; +import { useRoute } from './utils'; + +export function SpeedInsights( + props: Omit, +): JSX.Element { + const route = useRoute(); + + return ( + + ); +} diff --git a/packages/web/src/react-router/utils.ts b/packages/web/src/react-router/utils.ts new file mode 100644 index 0000000..26a606a --- /dev/null +++ b/packages/web/src/react-router/utils.ts @@ -0,0 +1,9 @@ +import { useLocation, useParams } from 'react-router'; +import { computeRoute } from '../utils'; + +export const useRoute = (): string | null => { + const params = useParams(); + const location = useLocation(); + + return computeRoute(location.pathname, params as never); +}; diff --git a/packages/web/tsup.config.js b/packages/web/tsup.config.js index 5506086..e33768f 100644 --- a/packages/web/tsup.config.js +++ b/packages/web/tsup.config.js @@ -47,6 +47,14 @@ export default defineConfig([ external: ['react', '@remix-run/react'], outDir: 'dist/remix', }, + { + ...cfg, + entry: { + index: 'src/react-router/index.tsx', + }, + external: ['react', 'react-router'], + outDir: 'dist/react-router', + }, { ...cfg, entry: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0037024..d5ca8d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,7 +73,7 @@ importers: devDependencies: '@nuxt/devtools': specifier: latest - version: 1.6.0(vite@5.0.11)(vue@3.4.14) + version: 1.6.4(vite@5.0.11)(vue@3.4.14) '@vercel/speed-insights': specifier: workspace:* version: link:../../packages/web @@ -87,6 +87,67 @@ importers: specifier: ^4.2.5 version: 4.2.5(vue@3.4.14) + apps/react-router: + dependencies: + '@react-router/node': + specifier: ^7.0.2 + version: 7.0.2(react-router@7.0.2)(typescript@5.7.2) + '@react-router/serve': + specifier: ^7.0.2 + version: 7.0.2(react-router@7.0.2)(typescript@5.7.2) + '@vercel/speed-insights': + specifier: workspace:1.2.0-canary.1 + version: link:../../packages/web + isbot: + specifier: ^5.1.17 + version: 5.1.17 + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + react-router: + specifier: ^7.0.2 + version: 7.0.2(react-dom@19.0.0)(react@19.0.0) + devDependencies: + '@react-router/dev': + specifier: ^7.0.2 + version: 7.0.2(@react-router/serve@7.0.2)(@types/node@20.11.4)(react-router@7.0.2)(typescript@5.7.2)(vite@5.4.11) + '@types/node': + specifier: ^20 + version: 20.11.4 + '@types/react': + specifier: ^19.0.1 + version: 19.0.1 + '@types/react-dom': + specifier: ^19.0.1 + version: 19.0.1 + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.49) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + postcss: + specifier: ^8.4.49 + version: 8.4.49 + tailwindcss: + specifier: ^3.4.16 + version: 3.4.16 + typescript: + specifier: ^5.7.2 + version: 5.7.2 + vite: + specifier: ^5.4.11 + version: 5.4.11(@types/node@20.11.4) + vite-plugin-env-compatible: + specifier: ^2.0.1 + version: 2.0.1 + vite-tsconfig-paths: + specifier: ^5.1.4 + version: 5.1.4(typescript@5.7.2)(vite@5.4.11) + apps/remix: dependencies: '@remix-run/css-bundle': @@ -158,7 +219,7 @@ importers: version: 5.5.2 vite: specifier: ^5.4.4 - version: 5.4.4(@types/node@20.11.4) + version: 5.4.4 apps/vue: dependencies: @@ -186,7 +247,7 @@ importers: version: 2.5.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@sveltejs/kit': specifier: ^2.7 - version: 2.7.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.4) + version: 2.7.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.11) '@swc/core': specifier: ^1.3.103 version: 1.3.103 @@ -223,6 +284,9 @@ importers: react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) + react-router: + specifier: ^7.0.2 + version: 7.0.2(react-dom@18.2.0)(react@18.2.0) svelte: specifier: ^5 version: 5.0.0 @@ -247,6 +311,11 @@ packages: resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} dev: true + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -974,6 +1043,20 @@ packages: - supports-color dev: true + /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.25.8): + resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.8 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.25.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} @@ -992,8 +1075,6 @@ packages: dependencies: '@babel/core': 7.23.3 '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) - transitivePeerDependencies: - - supports-color dev: true /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3): @@ -1059,8 +1140,6 @@ packages: '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.3) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.3) '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.23.3) - transitivePeerDependencies: - - supports-color dev: true /@babel/preset-typescript@7.23.0(@babel/core@7.23.3): @@ -1079,6 +1158,22 @@ packages: - supports-color dev: true + /@babel/preset-typescript@7.23.0(@babel/core@7.25.8): + resolution: {integrity: sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.25.8 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.25.8) + '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.25.8) + '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.25.8) + transitivePeerDependencies: + - supports-color + dev: true + /@babel/runtime@7.22.15: resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} @@ -2652,7 +2747,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -2828,6 +2923,9 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true + /@mjackson/node-fetch-server@0.2.0: + resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==} + /@netlify/functions@2.4.0: resolution: {integrity: sha512-dIqhdj5u4Lu/8qbYwtYpn8NfvIyPHbSTV2lAP4ocL+iwC9As06AXT0wa/xOpO2vRWJa0IMxdZaqCPnkyHlHiyg==} engines: {node: '>=14.0.0'} @@ -3083,24 +3181,23 @@ packages: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} dev: true - /@nuxt/devtools-kit@1.6.0(magicast@0.3.5)(vite@5.0.11): - resolution: {integrity: sha512-kJ8mVKwTSN3tdEVNy7mxKCiQk9wsG5t3oOrRMWk6IEbTSov+5sOULqQSM/+OWxWsEDmDfA7QlS5sM3Ti9uMRqQ==} + /@nuxt/devtools-kit@1.6.4(magicast@0.3.5)(vite@5.0.11): + resolution: {integrity: sha512-jpLYrXFm8T74j8ZjU6lheghe3gdr7PcNluvh/KOl+t6l7AtsQilkTmCZ4YoaiaWLM+5c5mkc72qd7ECgZb0tCw==} peerDependencies: vite: '*' dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5) - '@nuxt/schema': 3.13.2 + '@nuxt/kit': 3.14.1592(magicast@0.3.5) + '@nuxt/schema': 3.14.1592(magicast@0.3.5) execa: 7.2.0 vite: 5.0.11 transitivePeerDependencies: - magicast - rollup - supports-color - - webpack-sources dev: true - /@nuxt/devtools-wizard@1.6.0: - resolution: {integrity: sha512-n+mzz5NwnKZim0tq1oBi+x1nNXb21fp7QeBl7bYKyDT1eJ0XCxFkVTr/kB/ddkkLYZ+o8TykpeNPa74cN+xAyQ==} + /@nuxt/devtools-wizard@1.6.4: + resolution: {integrity: sha512-YTInHKL3SnRjczZDIhN8kXaiYf8+ddBMU5nwShPxmutcaVQZ8FMiJHRIzyWnS10AxayPKGVzJh3fLF/BiUwgcg==} hasBin: true dependencies: consola: 3.2.3 @@ -3115,34 +3212,34 @@ packages: semver: 7.6.3 dev: true - /@nuxt/devtools@1.6.0(vite@5.0.11)(vue@3.4.14): - resolution: {integrity: sha512-xNorMapzpM8HaW7NnAsEEO38OrmrYBzGvkkqfBU5nNh5XEymmIfCbQc7IA/GIOH9pXOV4gRutCjHCWXHYbOl3A==} + /@nuxt/devtools@1.6.4(vite@5.0.11)(vue@3.4.14): + resolution: {integrity: sha512-uzHFXVEQnmxcbtbcpXjDEyILMp/jJNF1DN2/wSBm0r7UD82qaD2Aa66gX7dTY2+E0HG6aSNkZky3Ck8ehSk8nQ==} hasBin: true peerDependencies: vite: '*' dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(vite@5.0.11) - '@nuxt/devtools-wizard': 1.6.0 - '@nuxt/kit': 3.13.2(magicast@0.3.5) - '@vue/devtools-core': 7.4.4(vite@5.0.11)(vue@3.4.14) - '@vue/devtools-kit': 7.4.4 + '@nuxt/devtools-kit': 1.6.4(magicast@0.3.5)(vite@5.0.11) + '@nuxt/devtools-wizard': 1.6.4 + '@nuxt/kit': 3.14.1592(magicast@0.3.5) + '@vue/devtools-core': 7.6.8(vite@5.0.11)(vue@3.4.14) + '@vue/devtools-kit': 7.6.8 birpc: 0.2.19 consola: 3.2.3 - cronstrue: 2.50.0 + cronstrue: 2.52.0 destr: 2.0.3 error-stack-parser-es: 0.1.5 execa: 7.2.0 fast-npm-meta: 0.2.2 - flatted: 3.3.1 + flatted: 3.3.2 get-port-please: 3.1.2 hookable: 5.5.3 image-meta: 0.2.1 is-installed-globally: 1.0.0 launch-editor: 2.9.1 - local-pkg: 0.5.0 + local-pkg: 0.5.1 magicast: 0.3.5 - nypm: 0.3.12 + nypm: 0.4.1 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -3151,11 +3248,11 @@ packages: scule: 1.3.0 semver: 7.6.3 simple-git: 3.27.0 - sirv: 2.0.4 - tinyglobby: 0.2.9 - unimport: 3.13.1(rollup@4.7.0) + sirv: 3.0.0 + tinyglobby: 0.2.10 + unimport: 3.14.5(rollup@4.24.0) vite: 5.0.11 - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.2)(vite@5.0.11) + vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592)(vite@5.0.11) vite-plugin-vue-inspector: 5.1.3(vite@5.0.11) which: 3.0.1 ws: 8.18.0 @@ -3165,38 +3262,36 @@ packages: - supports-color - utf-8-validate - vue - - webpack-sources dev: true - /@nuxt/kit@3.13.2(magicast@0.3.5): - resolution: {integrity: sha512-KvRw21zU//wdz25IeE1E5m/aFSzhJloBRAQtv+evcFeZvuroIxpIQuUqhbzuwznaUwpiWbmwlcsp5uOWmi4vwA==} + /@nuxt/kit@3.14.1592(magicast@0.3.5): + resolution: {integrity: sha512-r9r8bISBBisvfcNgNL3dSIQHSBe0v5YkX5zwNblIC2T0CIEgxEVoM5rq9O5wqgb5OEydsHTtT2hL57vdv6VT2w==} engines: {node: ^14.18.0 || >=16.10.0} dependencies: - '@nuxt/schema': 3.13.2 - c12: 1.11.2(magicast@0.3.5) + '@nuxt/schema': 3.14.1592(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 destr: 2.0.3 globby: 14.0.2 hash-sum: 2.0.0 - ignore: 5.3.2 - jiti: 1.21.6 + ignore: 6.0.2 + jiti: 2.4.1 klona: 2.0.6 knitwork: 1.1.0 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1 - unimport: 3.13.1(rollup@4.7.0) + unimport: 3.14.5(rollup@4.24.0) untyped: 1.5.1 transitivePeerDependencies: - magicast - rollup - supports-color - - webpack-sources dev: true /@nuxt/kit@3.9.1: @@ -3204,7 +3299,7 @@ packages: engines: {node: ^14.18.0 || >=16.10.0} dependencies: '@nuxt/schema': 3.9.1 - c12: 1.11.2(magicast@0.3.5) + c12: 1.11.2 consola: 3.2.3 defu: 6.1.4 globby: 14.0.2 @@ -3212,26 +3307,26 @@ packages: ignore: 5.3.2 jiti: 1.21.6 knitwork: 1.1.0 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1 - unimport: 3.13.1(rollup@4.7.0) + unimport: 3.14.5(rollup@4.24.0) untyped: 1.5.1 transitivePeerDependencies: - magicast - rollup - supports-color - - webpack-sources dev: true - /@nuxt/schema@3.13.2: - resolution: {integrity: sha512-CCZgpm+MkqtOMDEgF9SWgGPBXlQ01hV/6+2reDEpJuqFPGzV8HYKPBcIFvn7/z5ahtgutHLzjP71Na+hYcqSpw==} + /@nuxt/schema@3.14.1592(magicast@0.3.5): + resolution: {integrity: sha512-A1d/08ueX8stTXNkvGqnr1eEXZgvKn+vj6s7jXhZNWApUSqMgItU4VK28vrrdpKbjIPwq2SwhnGOHUYvN9HwCQ==} engines: {node: ^14.18.0 || >=16.10.0} dependencies: + c12: 2.0.1(magicast@0.3.5) compatx: 0.1.8 consola: 3.2.3 defu: 6.1.4 @@ -3239,15 +3334,15 @@ packages: pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 - std-env: 3.7.0 + std-env: 3.8.0 ufo: 1.5.4 uncrypto: 0.1.3 - unimport: 3.13.1(rollup@4.7.0) + unimport: 3.14.5(rollup@4.24.0) untyped: 1.5.1 transitivePeerDependencies: + - magicast - rollup - supports-color - - webpack-sources dev: true /@nuxt/schema@3.9.1: @@ -3261,21 +3356,20 @@ packages: pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 - std-env: 3.7.0 + std-env: 3.8.0 ufo: 1.5.4 - unimport: 3.13.1(rollup@4.7.0) + unimport: 3.14.5(rollup@4.24.0) untyped: 1.5.1 transitivePeerDependencies: - rollup - supports-color - - webpack-sources dev: true /@nuxt/telemetry@2.5.3: resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} hasBin: true dependencies: - '@nuxt/kit': 3.13.2(magicast@0.3.5) + '@nuxt/kit': 3.14.1592(magicast@0.3.5) ci-info: 4.0.0 consola: 3.2.3 create-require: 1.1.1 @@ -3291,12 +3385,11 @@ packages: parse-git-config: 3.0.0 pathe: 1.1.2 rc9: 2.1.2 - std-env: 3.7.0 + std-env: 3.8.0 transitivePeerDependencies: - magicast - rollup - supports-color - - webpack-sources dev: true /@nuxt/ui-templates@1.3.1: @@ -3310,13 +3403,13 @@ packages: vue: ^3.3.4 dependencies: '@nuxt/kit': 3.9.1 - '@rollup/plugin-replace': 5.0.5(rollup@4.7.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.24.0) '@vitejs/plugin-vue': 5.0.3(vite@5.0.11)(vue@3.4.14) '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.11)(vue@3.4.14) - autoprefixer: 10.4.16(postcss@8.4.47) + autoprefixer: 10.4.20(postcss@8.4.49) clear: 0.1.0 consola: 3.2.3 - cssnano: 6.0.3(postcss@8.4.47) + cssnano: 6.0.3(postcss@8.4.49) defu: 6.1.4 esbuild: 0.19.11 escape-string-regexp: 5.0.0 @@ -3326,20 +3419,20 @@ packages: get-port-please: 3.1.2 h3: 1.10.0 knitwork: 1.1.0 - magic-string: 0.30.12 - mlly: 1.7.2 + magic-string: 0.30.15 + mlly: 1.7.3 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.2.1 - postcss: 8.4.47 - rollup-plugin-visualizer: 5.12.0(rollup@4.7.0) - std-env: 3.7.0 - strip-literal: 2.1.0 + postcss: 8.4.49 + rollup-plugin-visualizer: 5.12.0(rollup@4.24.0) + std-env: 3.8.0 + strip-literal: 2.1.1 ufo: 1.5.4 - unplugin: 1.14.1 + unplugin: 1.16.0 vite: 5.0.11 - vite-node: 1.2.0 + vite-node: 1.6.0(@types/node@20.11.4) vite-plugin-checker: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.11) vue: 3.4.14(typescript@5.3.3) vue-bundle-renderer: 2.0.0 @@ -3363,7 +3456,6 @@ packages: - vls - vti - vue-tsc - - webpack-sources dev: true /@parcel/watcher-android-arm64@2.3.0: @@ -3452,7 +3544,7 @@ packages: engines: {node: '>= 10.0.0'} dependencies: is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.8 napi-wasm: 1.1.0 dev: true bundledDependencies: @@ -3491,7 +3583,7 @@ packages: dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.8 node-addon-api: 7.0.0 optionalDependencies: '@parcel/watcher-android-arm64': 2.3.0 @@ -3541,6 +3633,123 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true + /@react-router/dev@7.0.2(@react-router/serve@7.0.2)(@types/node@20.11.4)(react-router@7.0.2)(typescript@5.7.2)(vite@5.4.11): + resolution: {integrity: sha512-uT9OVTGJAtOHGSvAlES4Y2HLqLQ7pENffUhlS7Is7eEVWQeTfZei/1RXTnNwpLbwAuDEf7DHbINDeVLDdjP92w==} + engines: {node: '>=20.0.0'} + hasBin: true + peerDependencies: + '@react-router/serve': ^7.0.2 + react-router: ^7.0.2 + typescript: ^5.1.0 + vite: ^5.1.0 + wrangler: ^3.28.2 + peerDependenciesMeta: + '@react-router/serve': + optional: true + typescript: + optional: true + wrangler: + optional: true + dependencies: + '@babel/core': 7.25.8 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.8 + '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.25.8) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.25.8) + '@babel/preset-typescript': 7.23.0(@babel/core@7.25.8) + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.8 + '@npmcli/package-json': 4.0.1 + '@react-router/node': 7.0.2(react-router@7.0.2)(typescript@5.7.2) + '@react-router/serve': 7.0.2(react-router@7.0.2)(typescript@5.7.2) + arg: 5.0.2 + babel-dead-code-elimination: 1.0.6 + chokidar: 4.0.1 + dedent: 1.5.3 + es-module-lexer: 1.4.1 + exit-hook: 2.2.1 + fs-extra: 10.1.0 + gunzip-maybe: 1.4.2 + jsesc: 3.0.2 + lodash: 4.17.21 + pathe: 1.1.2 + picocolors: 1.1.1 + picomatch: 2.3.1 + prettier: 2.8.8 + react-refresh: 0.14.0 + react-router: 7.0.2(react-dom@19.0.0)(react@19.0.0) + semver: 7.6.3 + set-cookie-parser: 2.6.0 + typescript: 5.7.2 + valibot: 0.41.0(typescript@5.7.2) + vite: 5.4.11(@types/node@20.11.4) + vite-node: 1.6.0(@types/node@20.11.4) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - bluebird + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + dev: true + + /@react-router/express@7.0.2(express@4.21.2)(react-router@7.0.2)(typescript@5.7.2): + resolution: {integrity: sha512-rhKt/bylEdZNHKzOI8NzP6b27fiJ2zjf59b/boWWOwjuDk6ZEdV1iLa2Nvm55qN1mj2zSx3H/9Tx/ZPHgrGEgw==} + engines: {node: '>=20.0.0'} + peerDependencies: + express: ^4.17.1 + react-router: 7.0.2 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@react-router/node': 7.0.2(react-router@7.0.2)(typescript@5.7.2) + express: 4.21.2 + react-router: 7.0.2(react-dom@19.0.0)(react@19.0.0) + typescript: 5.7.2 + + /@react-router/node@7.0.2(react-router@7.0.2)(typescript@5.7.2): + resolution: {integrity: sha512-6Of5M2wP9QgYlR+boR0ptPjh3UyfaNvPMKQihowTGjAjUZIoNqz4iBn8ClNsLFbT3KQewcnNTHi2p+Ou7S4ZyQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react-router: 7.0.2 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@mjackson/node-fetch-server': 0.2.0 + react-router: 7.0.2(react-dom@19.0.0)(react@19.0.0) + source-map-support: 0.5.21 + stream-slice: 0.1.2 + typescript: 5.7.2 + undici: 6.21.0 + + /@react-router/serve@7.0.2(react-router@7.0.2)(typescript@5.7.2): + resolution: {integrity: sha512-kVoU2aeCRJ7rMWXtzJaFw52DgGhk8SqbgGpVQXIOj2QFN2rqrDz7L/WyIhCeOEztTSBgZxID0qDE7DPdbnHkkQ==} + engines: {node: '>=20.0.0'} + hasBin: true + peerDependencies: + react-router: 7.0.2 + dependencies: + '@react-router/express': 7.0.2(express@4.21.2)(react-router@7.0.2)(typescript@5.7.2) + '@react-router/node': 7.0.2(react-router@7.0.2)(typescript@5.7.2) + compression: 1.7.4 + express: 4.21.2 + get-port: 5.1.1 + morgan: 1.10.0 + react-router: 7.0.2(react-dom@19.0.0)(react@19.0.0) + source-map-support: 0.5.21 + transitivePeerDependencies: + - supports-color + - typescript + /@remix-run/css-bundle@2.5.0: resolution: {integrity: sha512-G57IFEFjte94YMBapbzzFrMnqIAAIf3qUNOsD7PC7VOiLW0AHd75yvq0cDc79zRaRthZhhYb3HkNkE8CsndfHA==} engines: {node: '>=18.0.0'} @@ -3602,10 +3811,10 @@ packages: picocolors: 1.0.0 picomatch: 2.3.1 pidtree: 0.6.0 - postcss: 8.4.32 - postcss-discard-duplicates: 5.1.0(postcss@8.4.32) - postcss-load-config: 4.0.1(postcss@8.4.32) - postcss-modules: 6.0.0(postcss@8.4.32) + postcss: 8.4.49 + postcss-discard-duplicates: 5.1.0(postcss@8.4.49) + postcss-load-config: 4.0.1(postcss@8.4.49) + postcss-modules: 6.0.0(postcss@8.4.49) prettier: 2.8.8 pretty-ms: 7.0.1 react-refresh: 0.14.0 @@ -3792,7 +4001,7 @@ packages: dependencies: web-streams-polyfill: 3.2.1 - /@rollup/plugin-alias@5.1.0(rollup@4.7.0): + /@rollup/plugin-alias@5.1.0(rollup@4.24.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3801,11 +4010,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.7.0 + rollup: 4.24.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.7.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.24.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3814,16 +4023,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.12 - rollup: 4.7.0 + magic-string: 0.30.15 + rollup: 4.24.0 dev: true - /@rollup/plugin-inject@5.0.5(rollup@4.7.0): + /@rollup/plugin-inject@5.0.5(rollup@4.24.0): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3832,13 +4041,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) estree-walker: 2.0.2 - magic-string: 0.30.12 - rollup: 4.7.0 + magic-string: 0.30.15 + rollup: 4.24.0 dev: true - /@rollup/plugin-json@6.0.1(rollup@4.7.0): + /@rollup/plugin-json@6.0.1(rollup@4.24.0): resolution: {integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3847,11 +4056,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) - rollup: 4.7.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) + rollup: 4.24.0 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.7.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.24.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3860,16 +4069,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.4 - rollup: 4.7.0 + resolve: 1.22.9 + rollup: 4.24.0 dev: true - /@rollup/plugin-replace@5.0.5(rollup@4.7.0): + /@rollup/plugin-replace@5.0.5(rollup@4.24.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3878,12 +4087,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) - magic-string: 0.30.12 - rollup: 4.7.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) + magic-string: 0.30.15 + rollup: 4.24.0 dev: true - /@rollup/plugin-terser@0.4.4(rollup@4.7.0): + /@rollup/plugin-terser@0.4.4(rollup@4.24.0): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3892,13 +4101,13 @@ packages: rollup: optional: true dependencies: - rollup: 4.7.0 + rollup: 4.24.0 serialize-javascript: 6.0.1 smob: 1.4.1 terser: 5.24.0 dev: true - /@rollup/plugin-wasm@6.2.2(rollup@4.7.0): + /@rollup/plugin-wasm@6.2.2(rollup@4.24.0): resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3907,8 +4116,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) - rollup: 4.7.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) + rollup: 4.24.0 dev: true /@rollup/pluginutils@4.2.1: @@ -3919,8 +4128,8 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.1.2(rollup@4.7.0): - resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} + /@rollup/pluginutils@5.1.3(rollup@4.24.0): + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -3930,8 +4139,8 @@ packages: dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 4.7.0 + picomatch: 4.0.2 + rollup: 4.24.0 dev: true /@rollup/rollup-android-arm-eabi@4.24.0: @@ -4196,6 +4405,33 @@ packages: - supports-color dev: true + /@sveltejs/kit@2.7.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.11): + resolution: {integrity: sha512-4XyY1SCB/Eyz8E9G7SEBKViysYwVtDftuA7kyQ5bmuFNPWC1KZC4988rMvaJxhH2BbCTsbLPjNOZwiEGXt8/2g==} + engines: {node: '>=18.13'} + hasBin: true + requiresBuild: true + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 + dependencies: + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.0.0)(vite@5.4.11) + '@types/cookie': 0.6.0 + cookie: 0.6.0 + devalue: 5.1.1 + esm-env: 1.0.0 + import-meta-resolve: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.12 + mrmime: 2.0.0 + sade: 1.8.1 + set-cookie-parser: 2.6.0 + sirv: 2.0.4 + svelte: 5.0.0 + tiny-glob: 0.2.9 + vite: 5.4.11(@types/node@20.11.4) + dev: true + /@sveltejs/kit@2.7.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.4): resolution: {integrity: sha512-4XyY1SCB/Eyz8E9G7SEBKViysYwVtDftuA7kyQ5bmuFNPWC1KZC4988rMvaJxhH2BbCTsbLPjNOZwiEGXt8/2g==} engines: {node: '>=18.13'} @@ -4220,7 +4456,23 @@ packages: sirv: 2.0.4 svelte: 5.0.0 tiny-glob: 0.2.9 - vite: 5.4.4(@types/node@20.11.4) + vite: 5.4.4 + dev: true + + /@sveltejs/vite-plugin-svelte-inspector@3.0.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.11): + resolution: {integrity: sha512-hBxSYW/66989cq9dN248omD/ziskSdIV1NqfuueuAI1z6jGcg14k9Zd98pDIEnoA6wC9kWUGuQ6adzBbWwQyRg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^4.0.0-next.0||^4.0.0 + svelte: ^5.0.0-next.96 || ^5.0.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.0.0)(vite@5.4.11) + debug: 4.3.7 + svelte: 5.0.0 + vite: 5.4.11(@types/node@20.11.4) + transitivePeerDependencies: + - supports-color dev: true /@sveltejs/vite-plugin-svelte-inspector@3.0.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.4): @@ -4234,7 +4486,26 @@ packages: '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.0.0)(vite@5.4.4) debug: 4.3.7 svelte: 5.0.0 - vite: 5.4.4(@types/node@20.11.4) + vite: 5.4.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.0.0)(vite@5.4.11): + resolution: {integrity: sha512-kpVJwF+gNiMEsoHaw+FJL76IYiwBikkxYU83+BpqQLdVMff19KeRKLd2wisS8niNBMJ2omv5gG+iGDDwd8jzag==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + svelte: ^5.0.0-next.96 || ^5.0.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 3.0.0(@sveltejs/vite-plugin-svelte@4.0.0)(svelte@5.0.0)(vite@5.4.11) + debug: 4.3.7 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.12 + svelte: 5.0.0 + vite: 5.4.11(@types/node@20.11.4) + vitefu: 1.0.3(vite@5.4.11) transitivePeerDependencies: - supports-color dev: true @@ -4252,7 +4523,7 @@ packages: kleur: 4.1.5 magic-string: 0.30.12 svelte: 5.0.0 - vite: 5.4.4(@types/node@20.11.4) + vite: 5.4.4 vitefu: 1.0.3(vite@5.4.4) transitivePeerDependencies: - supports-color @@ -4638,7 +4909,13 @@ packages: /@types/react-dom@18.2.18: resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} dependencies: - '@types/react': 18.2.48 + '@types/react': 19.0.1 + dev: true + + /@types/react-dom@19.0.1: + resolution: {integrity: sha512-hljHij7MpWPKF6u5vojuyfV0YA4YURsQG7KT6SzV0Zs2BXAtgdTxG6A229Ub/xiWV4w/7JL8fi6aAyjshH4meA==} + dependencies: + '@types/react': 19.0.1 dev: true /@types/react@18.2.48: @@ -4649,6 +4926,12 @@ packages: csstype: 3.1.2 dev: true + /@types/react@19.0.1: + resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} + dependencies: + csstype: 3.1.3 + dev: true + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -5037,7 +5320,7 @@ packages: find-up: 5.0.0 javascript-stringify: 2.1.0 lodash: 4.17.21 - mlly: 1.7.2 + mlly: 1.7.3 outdent: 0.8.0 vite: 4.5.0 vite-node: 0.28.5 @@ -5063,13 +5346,13 @@ packages: dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.13.0 + acorn: 8.14.0 async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 node-gyp-build: 4.7.0 resolve-from: 5.0.0 transitivePeerDependencies: @@ -5276,10 +5559,10 @@ packages: optional: true dependencies: '@babel/types': 7.25.8 - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) '@vue/compiler-sfc': 3.4.14 ast-kit: 0.11.2 - local-pkg: 0.5.0 + local-pkg: 0.5.1 magic-string-ast: 0.3.0 vue: 3.4.14(typescript@5.3.3) transitivePeerDependencies: @@ -5334,7 +5617,7 @@ packages: '@vue/shared': 3.4.14 estree-walker: 2.0.2 magic-string: 0.30.5 - postcss: 8.4.47 + postcss: 8.4.49 source-map-js: 1.2.1 /@vue/compiler-ssr@3.4.14: @@ -5347,26 +5630,26 @@ packages: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: true - /@vue/devtools-core@7.4.4(vite@5.0.11)(vue@3.4.14): - resolution: {integrity: sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==} + /@vue/devtools-core@7.6.8(vite@5.0.11)(vue@3.4.14): + resolution: {integrity: sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==} peerDependencies: vue: ^3.0.0 dependencies: - '@vue/devtools-kit': 7.4.4 - '@vue/devtools-shared': 7.5.2 + '@vue/devtools-kit': 7.6.8 + '@vue/devtools-shared': 7.6.8 mitt: 3.0.1 - nanoid: 3.3.7 + nanoid: 5.0.9 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.0.11) + vite-hot-client: 0.2.4(vite@5.0.11) vue: 3.4.14(typescript@5.3.3) transitivePeerDependencies: - vite dev: true - /@vue/devtools-kit@7.4.4: - resolution: {integrity: sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==} + /@vue/devtools-kit@7.6.8: + resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==} dependencies: - '@vue/devtools-shared': 7.5.2 + '@vue/devtools-shared': 7.6.8 birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 @@ -5375,8 +5658,8 @@ packages: superjson: 2.2.1 dev: true - /@vue/devtools-shared@7.5.2: - resolution: {integrity: sha512-+zmcixnD6TAo+zwm30YuwZckhL9iIi4u+gFwbq9C8zpm3SMndTlEYZtNhAHUhOXB+bCkzyunxw80KQ/T0trF4w==} + /@vue/devtools-shared@7.6.8: + resolution: {integrity: sha512-9MBPO5Z3X1nYGFqTJyohl6Gmf/J7UNN1oicHdyzBVZP4jnhZ4c20MgtaHDIzWmHDHCMYVS5bwKxT3jxh7gOOKA==} dependencies: rfdc: 1.4.1 dev: true @@ -5444,7 +5727,7 @@ packages: /acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 acorn-walk: 8.2.0 dev: true @@ -5462,6 +5745,14 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.13.0 + dev: true + + /acorn-jsx@5.3.2(acorn@8.14.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.14.0 /acorn-typescript@1.4.13(acorn@8.13.0): resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} @@ -5485,6 +5776,12 @@ packages: resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} engines: {node: '>=0.4.0'} hasBin: true + dev: true + + /acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -5739,7 +6036,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.25.8 - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) pathe: 1.1.2 transitivePeerDependencies: - rollup @@ -5750,7 +6047,7 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.25.8 - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) pathe: 1.1.2 transitivePeerDependencies: - rollup @@ -5874,8 +6171,8 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /autoprefixer@10.4.16(postcss@8.4.47): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.20(postcss@8.4.49): + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -5886,7 +6183,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true @@ -5919,6 +6216,17 @@ packages: /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + /babel-dead-code-elimination@1.0.6: + resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} + dependencies: + '@babel/core': 7.25.8 + '@babel/parser': 7.25.8 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.8 + transitivePeerDependencies: + - supports-color + dev: true + /babel-jest@29.7.0(@babel/core@7.25.8): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6064,18 +6372,37 @@ packages: transitivePeerDependencies: - supports-color - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true - - /boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} + /body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.3.0 - cli-boxes: 3.0.0 + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 widest-line: 4.0.1 @@ -6108,6 +6435,12 @@ packages: dependencies: fill-range: 7.0.1 + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + /browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} dependencies: @@ -6199,7 +6532,7 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - /c12@1.11.2(magicast@0.3.5): + /c12@1.11.2: resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==} peerDependencies: magicast: ^0.3.4 @@ -6213,8 +6546,7 @@ packages: dotenv: 16.4.5 giget: 1.2.3 jiti: 1.21.6 - magicast: 0.3.5 - mlly: 1.7.2 + mlly: 1.7.3 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -6230,7 +6562,30 @@ packages: dotenv: 16.4.5 giget: 1.2.3 jiti: 1.21.6 - mlly: 1.7.2 + mlly: 1.7.3 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.2.1 + rc9: 2.1.2 + dev: true + + /c12@2.0.1(magicast@0.3.5): + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + dependencies: + chokidar: 4.0.1 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 2.4.1 + magicast: 0.3.5 + mlly: 1.7.3 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -6261,17 +6616,45 @@ packages: unique-filename: 3.0.0 dev: true + /call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.1 + /call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.6 + set-function-length: 1.2.2 + + /call-bound@1.0.2: + resolution: {integrity: sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + get-intrinsic: 1.2.6 + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -6370,7 +6753,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -6380,6 +6763,13 @@ packages: fsevents: 2.3.3 dev: true + /chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + dependencies: + readdirp: 4.0.2 + dev: true + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -6686,6 +7076,14 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + /cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + /cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + /copy-anything@3.0.5: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} @@ -6747,9 +7145,17 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cronstrue@2.50.0: - resolution: {integrity: sha512-ULYhWIonJzlScCCQrPUG5uMXzXxSixty4djud9SS37DoNxDdkeRocxzHuAo4ImRBUK+mAuU5X9TSwEDccnnuPg==} + /cronstrue@2.52.0: + resolution: {integrity: sha512-NKgHbWkSZXJUcaBHSsyzC8eegD6bBd4O0oCI6XMIJ+y4Bq3v4w7sY3wfWoKPuVlq9pQHRB6od0lmKpIqi8TlKA==} + hasBin: true + dev: true + + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true + dependencies: + cross-spawn: 7.0.3 dev: true /cross-spawn@7.0.3: @@ -6760,13 +7166,13 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /css-declaration-sorter@7.1.1(postcss@8.4.47): + /css-declaration-sorter@7.1.1(postcss@8.4.49): resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true /css-select@5.1.0: @@ -6810,62 +7216,62 @@ packages: hasBin: true dev: true - /cssnano-preset-default@6.0.3(postcss@8.4.47): + /cssnano-preset-default@6.0.3(postcss@8.4.49): resolution: {integrity: sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - css-declaration-sorter: 7.1.1(postcss@8.4.47) - cssnano-utils: 4.0.1(postcss@8.4.47) - postcss: 8.4.47 - postcss-calc: 9.0.1(postcss@8.4.47) - postcss-colormin: 6.0.2(postcss@8.4.47) - postcss-convert-values: 6.0.2(postcss@8.4.47) - postcss-discard-comments: 6.0.1(postcss@8.4.47) - postcss-discard-duplicates: 6.0.1(postcss@8.4.47) - postcss-discard-empty: 6.0.1(postcss@8.4.47) - postcss-discard-overridden: 6.0.1(postcss@8.4.47) - postcss-merge-longhand: 6.0.2(postcss@8.4.47) - postcss-merge-rules: 6.0.3(postcss@8.4.47) - postcss-minify-font-values: 6.0.1(postcss@8.4.47) - postcss-minify-gradients: 6.0.1(postcss@8.4.47) - postcss-minify-params: 6.0.2(postcss@8.4.47) - postcss-minify-selectors: 6.0.2(postcss@8.4.47) - postcss-normalize-charset: 6.0.1(postcss@8.4.47) - postcss-normalize-display-values: 6.0.1(postcss@8.4.47) - postcss-normalize-positions: 6.0.1(postcss@8.4.47) - postcss-normalize-repeat-style: 6.0.1(postcss@8.4.47) - postcss-normalize-string: 6.0.1(postcss@8.4.47) - postcss-normalize-timing-functions: 6.0.1(postcss@8.4.47) - postcss-normalize-unicode: 6.0.2(postcss@8.4.47) - postcss-normalize-url: 6.0.1(postcss@8.4.47) - postcss-normalize-whitespace: 6.0.1(postcss@8.4.47) - postcss-ordered-values: 6.0.1(postcss@8.4.47) - postcss-reduce-initial: 6.0.2(postcss@8.4.47) - postcss-reduce-transforms: 6.0.1(postcss@8.4.47) - postcss-svgo: 6.0.2(postcss@8.4.47) - postcss-unique-selectors: 6.0.2(postcss@8.4.47) - dev: true - - /cssnano-utils@4.0.1(postcss@8.4.47): + css-declaration-sorter: 7.1.1(postcss@8.4.49) + cssnano-utils: 4.0.1(postcss@8.4.49) + postcss: 8.4.49 + postcss-calc: 9.0.1(postcss@8.4.49) + postcss-colormin: 6.0.2(postcss@8.4.49) + postcss-convert-values: 6.0.2(postcss@8.4.49) + postcss-discard-comments: 6.0.1(postcss@8.4.49) + postcss-discard-duplicates: 6.0.1(postcss@8.4.49) + postcss-discard-empty: 6.0.1(postcss@8.4.49) + postcss-discard-overridden: 6.0.1(postcss@8.4.49) + postcss-merge-longhand: 6.0.2(postcss@8.4.49) + postcss-merge-rules: 6.0.3(postcss@8.4.49) + postcss-minify-font-values: 6.0.1(postcss@8.4.49) + postcss-minify-gradients: 6.0.1(postcss@8.4.49) + postcss-minify-params: 6.0.2(postcss@8.4.49) + postcss-minify-selectors: 6.0.2(postcss@8.4.49) + postcss-normalize-charset: 6.0.1(postcss@8.4.49) + postcss-normalize-display-values: 6.0.1(postcss@8.4.49) + postcss-normalize-positions: 6.0.1(postcss@8.4.49) + postcss-normalize-repeat-style: 6.0.1(postcss@8.4.49) + postcss-normalize-string: 6.0.1(postcss@8.4.49) + postcss-normalize-timing-functions: 6.0.1(postcss@8.4.49) + postcss-normalize-unicode: 6.0.2(postcss@8.4.49) + postcss-normalize-url: 6.0.1(postcss@8.4.49) + postcss-normalize-whitespace: 6.0.1(postcss@8.4.49) + postcss-ordered-values: 6.0.1(postcss@8.4.49) + postcss-reduce-initial: 6.0.2(postcss@8.4.49) + postcss-reduce-transforms: 6.0.1(postcss@8.4.49) + postcss-svgo: 6.0.2(postcss@8.4.49) + postcss-unique-selectors: 6.0.2(postcss@8.4.49) + dev: true + + /cssnano-utils@4.0.1(postcss@8.4.49): resolution: {integrity: sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /cssnano@6.0.3(postcss@8.4.47): + /cssnano@6.0.3(postcss@8.4.49): resolution: {integrity: sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.3(postcss@8.4.47) - lilconfig: 3.0.0 - postcss: 8.4.47 + cssnano-preset-default: 6.0.3(postcss@8.4.49) + lilconfig: 3.1.3 + postcss: 8.4.49 dev: true /csso@5.0.5: @@ -6973,8 +7379,8 @@ packages: dev: false optional: true - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -7058,6 +7464,14 @@ packages: clone: 1.0.4 dev: true + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -7159,6 +7573,10 @@ packages: dequal: 2.0.3 dev: false + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7182,7 +7600,6 @@ packages: /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -7248,6 +7665,10 @@ packages: type-fest: 3.13.1 dev: true + /dotenv-expand@5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dev: true + /dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} @@ -7258,11 +7679,24 @@ packages: engines: {node: '>=12'} dev: true + /dotenv@8.2.0: + resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} + engines: {node: '>=8'} + dev: true + /dset@3.1.3: resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} engines: {node: '>=4'} dev: false + /dunder-proto@1.0.0: + resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true @@ -7311,6 +7745,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -7387,6 +7825,14 @@ packages: which-typed-array: 1.1.11 dev: true + /es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + /es-get-iterator@1.1.2: resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} dependencies: @@ -7422,6 +7868,12 @@ packages: /es-module-lexer@1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} @@ -8468,6 +8920,44 @@ packages: transitivePeerDependencies: - supports-color + /express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -8482,7 +8972,7 @@ packages: resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} dependencies: enhanced-resolve: 5.15.0 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 ufo: 1.5.4 dev: true @@ -8568,6 +9058,12 @@ packages: dependencies: to-regex-range: 5.0.1 + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -8582,6 +9078,20 @@ packages: transitivePeerDependencies: - supports-color + /finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -8599,7 +9109,7 @@ packages: /find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} dependencies: - micromatch: 4.0.5 + micromatch: 4.0.8 pkg-dir: 4.2.0 dev: false @@ -8607,13 +9117,13 @@ packages: resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} engines: {node: '>=12.0.0'} dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.3 rimraf: 3.0.2 dev: true - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + /flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} dev: true /flattie@1.1.0: @@ -8716,6 +9226,9 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} @@ -8774,6 +9287,21 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 + /get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.0.0 + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -9007,6 +9535,10 @@ packages: dependencies: get-intrinsic: 1.2.1 + /gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -9075,6 +9607,11 @@ packages: get-intrinsic: 1.2.1 dev: true + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.1 + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} @@ -9083,6 +9620,10 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + /has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} @@ -9103,6 +9644,12 @@ packages: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + /hast-util-from-html@2.0.1: resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} dependencies: @@ -9382,13 +9929,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.32): + /icss-utils@5.1.0(postcss@8.4.49): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 + postcss: 8.4.49 dev: true /ieee754@1.2.1: @@ -9404,6 +9951,11 @@ packages: engines: {node: '>= 4'} dev: true + /ignore@6.0.2: + resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} + engines: {node: '>= 4'} + dev: true + /image-meta@0.2.1: resolution: {integrity: sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==} dev: true @@ -9582,6 +10134,13 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.16.0: + resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -9863,6 +10422,11 @@ packages: engines: {node: '>=12'} dev: false + /isbot@5.1.17: + resolution: {integrity: sha512-/wch8pRKZE+aoVhRX/hYPY1C7dMCeeMyhkQLNLNlYAbGQn9bkvMB8fOUXNnk5I0m4vDYbBJ9ciVtkr9zfBJ7qA==} + engines: {node: '>=18'} + dev: false + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -9967,7 +10531,7 @@ packages: '@types/node': 20.11.4 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.1 + dedent: 1.5.3 is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -10043,7 +10607,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -10134,7 +10698,7 @@ packages: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -10167,7 +10731,7 @@ packages: '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -10219,7 +10783,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.4 + resolve: 1.22.9 resolve.exports: 2.0.2 slash: 3.0.0 dev: true @@ -10390,8 +10954,8 @@ packages: hasBin: true dev: true - /jiti@2.3.3: - resolution: {integrity: sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==} + /jiti@2.4.1: + resolution: {integrity: sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g==} hasBin: true dev: true @@ -10411,8 +10975,8 @@ packages: resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} dev: true - /js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + /js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} dev: true /js-yaml@3.14.1: @@ -10620,8 +11184,8 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + /lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} dev: true @@ -10663,10 +11227,10 @@ packages: h3: 1.10.0 http-shutdown: 1.2.2 jiti: 1.21.6 - mlly: 1.7.2 + mlly: 1.7.3 node-forge: 1.3.1 pathe: 1.1.2 - std-env: 3.7.0 + std-env: 3.8.0 ufo: 1.5.4 untun: 0.1.2 uqr: 0.1.2 @@ -10714,11 +11278,11 @@ packages: engines: {node: '>=14'} dev: true - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + /local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} dependencies: - mlly: 1.7.2 + mlly: 1.7.3 pkg-types: 1.2.1 dev: true @@ -10843,7 +11407,7 @@ packages: resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} engines: {node: '>=16.14.0'} dependencies: - magic-string: 0.30.12 + magic-string: 0.30.15 dev: true /magic-string@0.30.12: @@ -10852,6 +11416,12 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true + /magic-string@0.30.15: + resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -10900,6 +11470,10 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false + /math-intrinsics@1.0.0: + resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} + engines: {node: '>= 0.4'} + /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: @@ -11252,6 +11826,9 @@ packages: /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -11485,8 +12062,8 @@ packages: /micromark-extension-mdxjs@1.0.1: resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) micromark-extension-mdx-expression: 1.0.8 micromark-extension-mdx-jsx: 1.0.5 micromark-extension-mdx-md: 1.0.1 @@ -11498,8 +12075,8 @@ packages: /micromark-extension-mdxjs@3.0.0: resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.0 micromark-extension-mdx-md: 2.0.0 @@ -11875,6 +12452,13 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -11999,16 +12583,16 @@ packages: /mlly@1.5.0: resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 pathe: 1.1.2 pkg-types: 1.2.1 ufo: 1.5.4 dev: true - /mlly@1.7.2: - resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + /mlly@1.7.3: + resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 pathe: 1.1.2 pkg-types: 1.2.1 ufo: 1.5.4 @@ -12072,6 +12656,12 @@ packages: hasBin: true dev: true + /nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} + engines: {node: ^18 || >=20} + hasBin: true + dev: true + /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: false @@ -12203,19 +12793,19 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.0 '@netlify/functions': 2.4.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.7.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.7.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.7.0) - '@rollup/plugin-json': 6.0.1(rollup@4.7.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.7.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.7.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.7.0) - '@rollup/plugin-wasm': 6.2.2(rollup@4.7.0) - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.24.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.24.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.24.0) + '@rollup/plugin-json': 6.0.1(rollup@4.24.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.24.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.24.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.24.0) + '@rollup/plugin-wasm': 6.2.2(rollup@4.24.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.24.3 archiver: 6.0.1 - c12: 1.11.2(magicast@0.3.5) + c12: 1.11.2 chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 @@ -12239,9 +12829,9 @@ packages: klona: 2.0.6 knitwork: 1.1.0 listhen: 1.5.5 - magic-string: 0.30.12 + magic-string: 0.30.15 mime: 3.0.0 - mlly: 1.7.2 + mlly: 1.7.3 mri: 1.2.0 node-fetch-native: 1.6.4 ofetch: 1.3.3 @@ -12252,18 +12842,18 @@ packages: pkg-types: 1.2.1 pretty-bytes: 6.1.1 radix3: 1.1.0 - rollup: 4.7.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.7.0) + rollup: 4.24.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.24.0) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.1 serve-static: 1.15.0 - std-env: 3.7.0 + std-env: 3.8.0 ufo: 1.5.4 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.13.1(rollup@4.7.0) + unimport: 3.14.5(rollup@4.24.0) unstorage: 1.10.1 transitivePeerDependencies: - '@azure/app-configuration' @@ -12281,7 +12871,6 @@ packages: - idb-keyval - magicast - supports-color - - webpack-sources dev: true /nlcst-to-string@3.1.1: @@ -12359,7 +12948,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.9 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -12369,7 +12958,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: hosted-git-info: 6.1.1 - is-core-module: 2.13.0 + is-core-module: 2.16.0 semver: 7.6.3 validate-npm-package-license: 3.0.4 dev: true @@ -12466,7 +13055,7 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.6.0(vite@5.0.11)(vue@3.4.14) + '@nuxt/devtools': 1.6.4(vite@5.0.11)(vue@3.4.14) '@nuxt/kit': 3.9.1 '@nuxt/schema': 3.9.1 '@nuxt/telemetry': 2.5.3 @@ -12555,7 +13144,6 @@ packages: - vls - vti - vue-tsc - - webpack-sources - xml2js dev: true @@ -12587,14 +13175,36 @@ packages: ufo: 1.5.4 dev: true + /nypm@0.4.1: + resolution: {integrity: sha512-1b9mihliBh8UCcKtcGRu//G50iHpjxIQVUqkdhPT/SDVE7KdJKoHXLS0heuYTQCx95dFqiyUbXZB9r8ikn+93g==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + pathe: 1.1.2 + pkg-types: 1.2.1 + tinyexec: 0.3.1 + ufo: 1.5.4 + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + engines: {node: '>= 0.4'} + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} @@ -12959,6 +13569,9 @@ packages: minipass: 7.0.4 dev: true + /path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -13020,6 +13633,11 @@ packages: engines: {node: '>=0.10'} hasBin: true + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -13040,7 +13658,7 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 dev: true @@ -13048,7 +13666,7 @@ packages: resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} dependencies: confbox: 0.1.8 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 dev: true @@ -13062,18 +13680,18 @@ packages: engines: {node: '>=4'} dev: true - /postcss-calc@9.0.1(postcss@8.4.47): + /postcss-calc@9.0.1(postcss@8.4.49): resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.0.13 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin@6.0.2(postcss@8.4.47): + /postcss-colormin@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -13082,67 +13700,89 @@ packages: browserslist: 4.24.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values@6.0.2(postcss@8.4.47): + /postcss-convert-values@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.24.2 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-discard-comments@6.0.1(postcss@8.4.47): + /postcss-discard-comments@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /postcss-discard-duplicates@5.1.0(postcss@8.4.32): + /postcss-discard-duplicates@5.1.0(postcss@8.4.49): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.32 + postcss: 8.4.49 dev: true - /postcss-discard-duplicates@6.0.1(postcss@8.4.47): + /postcss-discard-duplicates@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /postcss-discard-empty@6.0.1(postcss@8.4.47): + /postcss-discard-empty@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /postcss-discard-overridden@6.0.1(postcss@8.4.47): + /postcss-discard-overridden@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 + dev: true + + /postcss-import@15.1.0(postcss@8.4.49): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.9 dev: true - /postcss-load-config@4.0.1(postcss@8.4.32): + /postcss-js@4.0.1(postcss@8.4.49): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + dev: true + + /postcss-load-config@4.0.1(postcss@8.4.49): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -13155,22 +13795,39 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.32 + postcss: 8.4.49 yaml: 2.3.2 dev: true - /postcss-merge-longhand@6.0.2(postcss@8.4.47): + /postcss-load-config@4.0.2(postcss@8.4.49): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.1.3 + postcss: 8.4.49 + yaml: 2.6.1 + dev: true + + /postcss-merge-longhand@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - stylehacks: 6.0.2(postcss@8.4.47) + stylehacks: 6.0.2(postcss@8.4.49) dev: true - /postcss-merge-rules@6.0.3(postcss@8.4.47): + /postcss-merge-rules@6.0.3(postcss@8.4.49): resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -13178,214 +13835,224 @@ packages: dependencies: browserslist: 4.24.2 caniuse-api: 3.0.0 - cssnano-utils: 4.0.1(postcss@8.4.47) - postcss: 8.4.47 - postcss-selector-parser: 6.0.15 + cssnano-utils: 4.0.1(postcss@8.4.49) + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 dev: true - /postcss-minify-font-values@6.0.1(postcss@8.4.47): + /postcss-minify-font-values@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients@6.0.1(postcss@8.4.47): + /postcss-minify-gradients@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: colord: 2.9.3 - cssnano-utils: 4.0.1(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 4.0.1(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params@6.0.2(postcss@8.4.47): + /postcss-minify-params@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.24.2 - cssnano-utils: 4.0.1(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 4.0.1(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-selectors@6.0.2(postcss@8.4.47): + /postcss-minify-selectors@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.0.15 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.32): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.49): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 + postcss: 8.4.49 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.32): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.49): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.32) - postcss: 8.4.32 - postcss-selector-parser: 6.0.13 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.32): + /postcss-modules-scope@3.0.0(postcss@8.4.49): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.13 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.32): + /postcss-modules-values@4.0.0(postcss@8.4.49): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.32) - postcss: 8.4.32 + icss-utils: 5.1.0(postcss@8.4.49) + postcss: 8.4.49 dev: true - /postcss-modules@6.0.0(postcss@8.4.32): + /postcss-modules@6.0.0(postcss@8.4.49): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.32) + icss-utils: 5.1.0(postcss@8.4.49) lodash.camelcase: 4.3.0 - postcss: 8.4.32 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) - postcss-modules-scope: 3.0.0(postcss@8.4.32) - postcss-modules-values: 4.0.0(postcss@8.4.32) + postcss: 8.4.49 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.49) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.49) + postcss-modules-scope: 3.0.0(postcss@8.4.49) + postcss-modules-values: 4.0.0(postcss@8.4.49) string-hash: 1.1.3 dev: true - /postcss-normalize-charset@6.0.1(postcss@8.4.47): + /postcss-nested@6.2.0(postcss@8.4.49): + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + dev: true + + /postcss-normalize-charset@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /postcss-normalize-display-values@6.0.1(postcss@8.4.47): + /postcss-normalize-display-values@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions@6.0.1(postcss@8.4.47): + /postcss-normalize-positions@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style@6.0.1(postcss@8.4.47): + /postcss-normalize-repeat-style@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string@6.0.1(postcss@8.4.47): + /postcss-normalize-string@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions@6.0.1(postcss@8.4.47): + /postcss-normalize-timing-functions@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode@6.0.2(postcss@8.4.47): + /postcss-normalize-unicode@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.24.2 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url@6.0.1(postcss@8.4.47): + /postcss-normalize-url@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace@6.0.1(postcss@8.4.47): + /postcss-normalize-whitespace@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values@6.0.1(postcss@8.4.47): + /postcss-ordered-values@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-utils: 4.0.1(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 4.0.1(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-reduce-initial@6.0.2(postcss@8.4.47): + /postcss-reduce-initial@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: @@ -13393,54 +14060,46 @@ packages: dependencies: browserslist: 4.24.2 caniuse-api: 3.0.0 - postcss: 8.4.47 + postcss: 8.4.49 dev: true - /postcss-reduce-transforms@6.0.1(postcss@8.4.47): + /postcss-reduce-transforms@6.0.1(postcss@8.4.49): resolution: {integrity: sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-svgo@6.0.2(postcss@8.4.47): + /postcss-svgo@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==} engines: {node: ^14 || ^16 || >= 18} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 svgo: 3.2.0 dev: true - /postcss-unique-selectors@6.0.2(postcss@8.4.47): + /postcss-unique-selectors@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.0.15 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 dev: true /postcss-value-parser@4.2.0: @@ -13455,17 +14114,8 @@ packages: picocolors: 1.1.1 source-map-js: 1.2.1 - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.1.1 - source-map-js: 1.2.1 - dev: true - - /postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + /postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -13672,6 +14322,12 @@ packages: dependencies: side-channel: 1.0.4 + /qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.1.0 + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true @@ -13705,6 +14361,15 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + /rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} dependencies: @@ -13732,6 +14397,14 @@ packages: react: 18.2.0 scheduler: 0.23.0 + /react-dom@19.0.0(react@19.0.0): + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + /react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021): resolution: {integrity: sha512-ZXBsP/kTDLI9QopUaUgYJhmmAhO8aKz7DCv2Ui2rA9boCfJ/dRRh6BlVidsyb2dPzG01rItdRFQqwbP+x9s5Rg==} peerDependencies: @@ -13779,17 +14452,62 @@ packages: '@remix-run/router': 1.14.2 react: 18.2.0 + /react-router@7.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + dependencies: + '@types/cookie': 0.6.0 + cookie: 1.0.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + set-cookie-parser: 2.6.0 + turbo-stream: 2.4.0 + dev: true + + /react-router@7.0.2(react-dom@19.0.0)(react@19.0.0): + resolution: {integrity: sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + dependencies: + '@types/cookie': 0.6.0 + cookie: 1.0.2 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + set-cookie-parser: 2.6.0 + turbo-stream: 2.4.0 + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 + /react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + /react@19.0.0-rc-69d4b800-20241021: resolution: {integrity: sha512-dXki4tN+rP+4xhsm65q/QI/19VCZdu5vPcy4h6zaJt20XP8/1r/LCwrLFYuj8hElbNz5AmxW6JtRa7ej0BzZdg==} engines: {node: '>=0.10.0'} dev: false + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -13850,6 +14568,11 @@ packages: dependencies: picomatch: 2.3.1 + /readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + dev: true + /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -14115,6 +14838,15 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.9: + resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==} + hasBin: true + dependencies: + is-core-module: 2.16.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true @@ -14200,7 +14932,7 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.7.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.24.0): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true @@ -14212,7 +14944,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.7.0 + rollup: 4.24.0 source-map: 0.7.4 yargs: 17.7.2 dev: true @@ -14338,6 +15070,9 @@ packages: dependencies: loose-envify: 1.4.0 + /scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + /scheduler@0.25.0-rc-69d4b800-20241021: resolution: {integrity: sha512-S5AYX/YhMAN6u9AXgKYbZP4U4ZklC6R9Q7HmFSBk7d4DLiHVNxvAvlSvuM4nxFkwOk50MnpfTKQ7UWHXDOc9Eg==} dev: false @@ -14399,6 +15134,26 @@ packages: transitivePeerDependencies: - supports-color + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + /serialize-javascript@6.0.1: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: @@ -14422,6 +15177,17 @@ packages: transitivePeerDependencies: - supports-color + /serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + /server-destroy@1.0.1: resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} dev: false @@ -14433,6 +15199,17 @@ packages: /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -14503,6 +15280,32 @@ packages: hast-util-to-html: 9.0.0 dev: false + /side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + + /side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + + /side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -14510,6 +15313,16 @@ packages: get-intrinsic: 1.2.1 object-inspect: 1.12.3 + /side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -14557,6 +15370,15 @@ packages: totalist: 3.0.1 dev: true + /sirv@3.0.0: + resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} + engines: {node: '>=18'} + dependencies: + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: true + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -14706,6 +15528,10 @@ packages: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true + /std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + dev: true + /stdin-discarder@0.1.0: resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -14904,7 +15730,7 @@ packages: /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 dev: true /strip-literal@2.0.0: @@ -14913,10 +15739,10 @@ packages: js-tokens: 8.0.2 dev: true - /strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + /strip-literal@2.1.1: + resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} dependencies: - js-tokens: 9.0.0 + js-tokens: 9.0.1 dev: true /strnum@1.0.5: @@ -14970,15 +15796,15 @@ packages: react: 19.0.0-rc-69d4b800-20241021 dev: false - /stylehacks@6.0.2(postcss@8.4.47): + /stylehacks@6.0.2(postcss@8.4.49): resolution: {integrity: sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: browserslist: 4.24.2 - postcss: 8.4.47 - postcss-selector-parser: 6.0.15 + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 dev: true /sucrase@3.34.0: @@ -14995,6 +15821,20 @@ packages: ts-interface-checker: 0.1.13 dev: true + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + /superjson@2.2.1: resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} engines: {node: '>=16'} @@ -15099,6 +15939,37 @@ packages: tslib: 2.6.2 dev: true + /tailwindcss@3.4.16: + resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.9 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + dev: true + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -15156,7 +16027,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.13.0 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -15205,8 +16076,12 @@ packages: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} dev: true - /tinyglobby@0.2.9: - resolution: {integrity: sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==} + /tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + dev: true + + /tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} dependencies: fdir: 6.4.2(picomatch@4.0.2) @@ -15309,6 +16184,19 @@ packages: typescript: 5.3.3 dev: false + /tsconfck@3.1.4(typescript@5.7.2): + resolution: {integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.7.2 + dev: true + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -15359,7 +16247,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.1(postcss@8.4.49) resolve-from: 5.0.0 rollup: 3.28.1 source-map: 0.8.0-beta.0 @@ -15388,6 +16276,9 @@ packages: dev: false optional: true + /turbo-stream@2.4.0: + resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -15501,6 +16392,11 @@ packages: hasBin: true dev: true + /typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} dev: true @@ -15529,12 +16425,10 @@ packages: /unctx@2.3.1: resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 estree-walker: 3.0.3 - magic-string: 0.30.12 - unplugin: 1.14.1 - transitivePeerDependencies: - - webpack-sources + magic-string: 0.30.15 + unplugin: 1.16.0 dev: true /undici-types@5.26.5: @@ -15547,6 +16441,10 @@ packages: '@fastify/busboy': 2.1.0 dev: true + /undici@6.21.0: + resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} + engines: {node: '>=18.17'} + /unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} dependencies: @@ -15598,46 +16496,45 @@ packages: vfile: 6.0.1 dev: false - /unimport@3.13.1(rollup@4.7.0): - resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==} + /unimport@3.14.5(rollup@4.24.0): + resolution: {integrity: sha512-tn890SwFFZxqaJSKQPPd+yygfKSATbM8BZWW1aCR2TJBTs1SDrmLamBueaFtYsGjHtQaRgqEbQflOjN2iW12gA==} dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) - acorn: 8.13.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) + acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 - local-pkg: 0.5.0 - magic-string: 0.30.12 - mlly: 1.7.2 + local-pkg: 0.5.1 + magic-string: 0.30.15 + mlly: 1.7.3 pathe: 1.1.2 + picomatch: 4.0.2 pkg-types: 1.2.1 scule: 1.3.0 - strip-literal: 2.1.0 - unplugin: 1.14.1 + strip-literal: 2.1.1 + unplugin: 1.16.0 transitivePeerDependencies: - rollup - - webpack-sources dev: true /unimport@3.7.1: resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) - acorn: 8.13.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) + acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 - local-pkg: 0.5.0 - magic-string: 0.30.12 - mlly: 1.7.2 + local-pkg: 0.5.1 + magic-string: 0.30.15 + mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.14.1 + unplugin: 1.16.0 transitivePeerDependencies: - rollup - - webpack-sources dev: true /unique-filename@3.0.0: @@ -15782,42 +16679,36 @@ packages: optional: true dependencies: '@babel/types': 7.25.8 - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) '@vue-macros/common': 1.9.0(vue@3.4.14) ast-walker-scope: 0.5.0 chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.14.1 + unplugin: 1.16.0 vue-router: 4.2.5(vue@3.4.14) yaml: 2.3.2 transitivePeerDependencies: - rollup - vue - - webpack-sources dev: true - /unplugin@1.14.1: - resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} + /unplugin@1.16.0: + resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} engines: {node: '>=14.0.0'} - peerDependencies: - webpack-sources: ^3 - peerDependenciesMeta: - webpack-sources: - optional: true dependencies: - acorn: 8.13.0 + acorn: 8.14.0 webpack-virtual-modules: 0.6.2 dev: true /unplugin@1.6.0: resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 @@ -15916,7 +16807,7 @@ packages: '@babel/standalone': 7.25.8 '@babel/types': 7.25.8 defu: 6.1.4 - jiti: 2.3.3 + jiti: 2.4.1 mri: 1.2.0 scule: 1.3.0 transitivePeerDependencies: @@ -15990,6 +16881,17 @@ packages: convert-source-map: 1.9.0 dev: true + /valibot@0.41.0(typescript@5.7.2): + resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.7.2 + dev: true + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -16044,10 +16946,10 @@ packages: vfile-message: 4.0.2 dev: false - /vite-hot-client@0.2.3(vite@5.0.11): - resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + /vite-hot-client@0.2.4(vite@5.0.11): + resolution: {integrity: sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==} peerDependencies: - vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 dependencies: vite: 5.0.11 dev: true @@ -16059,7 +16961,7 @@ packages: dependencies: cac: 6.7.14 debug: 4.3.7 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 picocolors: 1.1.1 source-map: 0.6.1 @@ -16076,8 +16978,8 @@ packages: - terser dev: true - /vite-node@1.2.0: - resolution: {integrity: sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==} + /vite-node@1.6.0(@types/node@20.11.4): + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -16085,7 +16987,7 @@ packages: debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.4(@types/node@20.11.4) + vite: 5.4.11(@types/node@20.11.4) transitivePeerDependencies: - '@types/node' - less @@ -16151,26 +17053,33 @@ packages: vscode-uri: 3.0.8 dev: true - /vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.2)(vite@5.0.11): - resolution: {integrity: sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==} + /vite-plugin-env-compatible@2.0.1: + resolution: {integrity: sha512-DRrOZTg/W44ojVQQfGSMPEgYQGzp5TeIpt9cpaK35hTOC/b2D7Ffl8/RIgK8vQ0mlnDIUgETcA173bnMEkyzdw==} + dependencies: + dotenv: 8.2.0 + dotenv-expand: 5.1.0 + dev: true + + /vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592)(vite@5.0.11): + resolution: {integrity: sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 peerDependenciesMeta: '@nuxt/kit': optional: true dependencies: '@antfu/utils': 0.7.10 - '@nuxt/kit': 3.13.2(magicast@0.3.5) - '@rollup/pluginutils': 5.1.2(rollup@4.7.0) + '@nuxt/kit': 3.14.1592(magicast@0.3.5) + '@rollup/pluginutils': 5.1.3(rollup@4.24.0) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 open: 10.1.0 perfect-debounce: 1.0.0 picocolors: 1.1.1 - sirv: 2.0.4 + sirv: 3.0.0 vite: 5.0.11 transitivePeerDependencies: - rollup @@ -16190,12 +17099,29 @@ packages: '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.25.8) '@vue/compiler-dom': 3.4.14 kolorist: 1.8.0 - magic-string: 0.30.12 + magic-string: 0.30.15 vite: 5.0.11 transitivePeerDependencies: - supports-color dev: true + /vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.11): + resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + dependencies: + debug: 4.3.7 + globrex: 0.1.2 + tsconfck: 3.1.4(typescript@5.7.2) + vite: 5.4.11(@types/node@20.11.4) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /vite@4.4.11: resolution: {integrity: sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -16225,7 +17151,7 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.31 + postcss: 8.4.49 rollup: 3.28.1 optionalDependencies: fsevents: 2.3.3 @@ -16260,7 +17186,7 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.47 + postcss: 8.4.49 rollup: 3.28.1 optionalDependencies: fsevents: 2.3.3 @@ -16295,13 +17221,13 @@ packages: optional: true dependencies: esbuild: 0.19.11 - postcss: 8.4.47 + postcss: 8.4.49 rollup: 4.7.0 optionalDependencies: fsevents: 2.3.3 - /vite@5.4.4(@types/node@20.11.4): - resolution: {integrity: sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==} + /vite@5.4.11(@types/node@20.11.4): + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -16333,7 +17259,45 @@ packages: dependencies: '@types/node': 20.11.4 esbuild: 0.21.5 - postcss: 8.4.47 + postcss: 8.4.49 + rollup: 4.24.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.4.4: + resolution: {integrity: sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 rollup: 4.24.0 optionalDependencies: fsevents: 2.3.3 @@ -16350,6 +17314,17 @@ packages: vite: 5.0.11 dev: false + /vitefu@1.0.3(vite@5.4.11): + resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.4.11(@types/node@20.11.4) + dev: true + /vitefu@1.0.3(vite@5.4.4): resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} peerDependencies: @@ -16358,7 +17333,7 @@ packages: vite: optional: true dependencies: - vite: 5.4.4(@types/node@20.11.4) + vite: 5.4.4 dev: true /volar-service-css@0.0.29(@volar/language-service@2.0.4): @@ -16853,6 +17828,12 @@ packages: engines: {node: '>= 14'} dev: true + /yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + dev: true + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'}