diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index 2937cd44..9d495650 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
- node-version: [18.x, 20.x]
+ node-version: [18.x, 20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
@@ -32,5 +32,7 @@ jobs:
run: pnpm run build:all
- name: Typecheck
run: pnpm run typecheck:all
+ - name: Lint
+ run: pnpm lint
- name: Test
run: pnpm test
diff --git a/.husky/pre-commit b/.husky/pre-commit
deleted file mode 100755
index 6d73d224..00000000
--- a/.husky/pre-commit
+++ /dev/null
@@ -1 +0,0 @@
-pnpm run precommit --
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 98fee578..00000000
--- a/.prettierignore
+++ /dev/null
@@ -1,140 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-.pnpm-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional stylelint cache
-.stylelintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variable files
-.env
-.env.development.local
-.env.test.local
-.env.production.local
-.env.local
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Vercel
-.output
-.vercel
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# vuepress v2.x temp and cache directory
-.temp
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v2
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-# pnpm
-pnpm-lock.yaml
-
-# Local files
-*.local.*
-
-# IDE
-.idea
-
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 31c19fda..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "trailingComma": "all",
- "singleQuote": true,
- "tabWidth": 2
-}
diff --git a/biome.json b/biome.json
new file mode 100644
index 00000000..1c7547fe
--- /dev/null
+++ b/biome.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
+ "files": {
+ "ignore": ["dist/", "package.json"]
+ },
+ "formatter": {
+ "indentWidth": 2,
+ "indentStyle": "space"
+ },
+ "javascript": {
+ "formatter": {
+ "lineWidth": 120
+ }
+ },
+ "vcs": {
+ "enabled": true,
+ "clientKind": "git"
+ },
+ "overrides": [
+ {
+ "include": ["**/*.test.ts"],
+ "linter": {
+ "rules": {
+ "suspicious": { "noExplicitAny": "off" }
+ }
+ }
+ }
+ ]
+}
diff --git a/examples/demo/_api/name/[name].ts b/examples/demo/_api/name/[name].ts
index ad82350a..cb48e79b 100644
--- a/examples/demo/_api/name/[name].ts
+++ b/examples/demo/_api/name/[name].ts
@@ -1,8 +1,5 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('Name: ' + request.query.name);
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send(`Name: ${request.query.name}`);
}
diff --git a/examples/demo/_api/page.ts b/examples/demo/_api/page.ts
index fb8752da..9a7b3a5b 100644
--- a/examples/demo/_api/page.ts
+++ b/examples/demo/_api/page.ts
@@ -1,12 +1,9 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
export const headers = {
- 'X-VitePluginVercel-Test': 'test',
+ "X-VitePluginVercel-Test": "test",
};
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/demo/_api/post.ts b/examples/demo/_api/post.ts
index 0c55a5eb..304aa326 100644
--- a/examples/demo/_api/post.ts
+++ b/examples/demo/_api/post.ts
@@ -1,8 +1,5 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/demo/endpoints/edge.ts b/examples/demo/endpoints/edge.ts
index 301fc75c..22022dac 100644
--- a/examples/demo/endpoints/edge.ts
+++ b/examples/demo/endpoints/edge.ts
@@ -1,11 +1,11 @@
-import { get } from '@vercel/edge-config';
+import { get } from "@vercel/edge-config";
export const edge = true;
export default async function handler() {
- await get('someKey');
+ await get("someKey");
- return new Response('Edge Function: OK', {
+ return new Response("Edge Function: OK", {
status: 200,
});
}
diff --git a/examples/demo/endpoints/og-edge.tsx b/examples/demo/endpoints/og-edge.tsx
index 6e26fdb9..6733b3be 100644
--- a/examples/demo/endpoints/og-edge.tsx
+++ b/examples/demo/endpoints/og-edge.tsx
@@ -1,32 +1,27 @@
-import React from 'react';
-import { ImageResponse } from '@vercel/og';
+import React from "react";
+import { ImageResponse } from "@vercel/og";
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
export const edge = true;
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
+export default async function handler(request: VercelRequest, response: VercelResponse) {
return new ImageResponse(
- (
-
- 👋 Hello
-
- ),
+
+ 👋 Hello
+
,
{
width: 1200,
height: 630,
diff --git a/examples/demo/endpoints/og-node.tsx b/examples/demo/endpoints/og-node.tsx
index 3cbcca0e..396cc6fc 100644
--- a/examples/demo/endpoints/og-node.tsx
+++ b/examples/demo/endpoints/og-node.tsx
@@ -1,52 +1,45 @@
-import React from 'react';
-import { ImageResponse } from '@vercel/og';
+import { readFileSync } from "node:fs";
+import { join } from "node:path";
+import { Readable } from "node:stream";
+import type { ReadableStream } from "node:stream/web";
+import type { VercelRequest, VercelResponse } from "@vercel/node";
+import { ImageResponse } from "@vercel/og";
+import React from "react";
-import type { VercelRequest, VercelResponse } from '@vercel/node';
-import { Readable } from 'node:stream';
-import type { ReadableStream } from 'node:stream/web';
+const font = readFileSync(join(__dirname, "./Roboto-Regular.ttf"));
-import { readFileSync } from 'node:fs';
-import { join } from 'node:path';
-
-const font = readFileSync(join(__dirname, './Roboto-Regular.ttf'));
-
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
+export default async function handler(request: VercelRequest, response: VercelResponse) {
const resp = new ImageResponse(
- (
-
- 👋 Hello
-
- ),
+
+ 👋 Hello
+
,
{
width: 1200,
height: 630,
fonts: [
{
- name: 'Roboto',
+ name: "Roboto",
// Use `fs` (Node.js only) or `fetch` to read the font as Buffer/ArrayBuffer and provide `data` here.
data: font,
weight: 400,
- style: 'normal',
+ style: "normal",
},
],
},
);
- Readable.fromWeb(resp.body as ReadableStream).pipe(response);
+ Readable.fromWeb(resp.body as ReadableStream).pipe(response);
}
diff --git a/examples/demo/package.json b/examples/demo/package.json
index 884114d0..98aae87d 100644
--- a/examples/demo/package.json
+++ b/examples/demo/package.json
@@ -17,29 +17,29 @@
"@mdx-js/mdx": "^3.0.1",
"@mdx-js/react": "^3.0.1",
"@mdx-js/rollup": "^3.0.1",
- "@vercel/edge-config": "^1.1.0",
+ "@vercel/edge-config": "^1.2.1",
"@vercel/og": "^0.6.2",
"@vite-plugin-vercel/vike": "workspace:*",
- "@vitejs/plugin-react-swc": "^3.6.0",
+ "@vitejs/plugin-react-swc": "^3.7.0",
"cross-fetch": "^4.0.0",
"node-fetch": "^3.3.2",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
"typescript": "^5.4.5",
- "vike": "^0.4.178",
- "vite": "^5.2.9",
+ "vike": "^0.4.188",
+ "vite": "^5.4.1",
"vite-plugin-vercel": "workspace:*"
},
"type": "module",
"version": null,
"devDependencies": {
- "@types/node": "^18.19.31",
+ "@types/node": "^18.19.45",
"@types/node-fetch": "^2.6.11",
- "@types/react": "^18.2.79",
- "@types/react-dom": "^18.2.25",
+ "@types/react": "^18.3.3",
+ "@types/react-dom": "^18.3.0",
"@vercel/node": "^3.0.26",
"fast-glob": "^3.3.2",
- "vitest": "^1.5.0",
+ "vitest": "^2.0.5",
"zod": "^3.22.4"
}
}
diff --git a/examples/demo/pages/_error/+Page.tsx b/examples/demo/pages/_error/+Page.tsx
index 8838c466..a02c25f4 100644
--- a/examples/demo/pages/_error/+Page.tsx
+++ b/examples/demo/pages/_error/+Page.tsx
@@ -1,30 +1,30 @@
-import React from 'react';
-import { usePageContext } from '../../renderer/usePageContext';
+import type React from "react";
+import { usePageContext } from "../../renderer/usePageContext";
export default function Page() {
const ctx = usePageContext();
let { is404, abortReason } = ctx;
if (!abortReason) {
- abortReason = is404 ? 'Page not found.' : 'Something went wrong.';
+ abortReason = is404 ? "Page not found." : "Something went wrong.";
}
return (
- {abortReason}
+ {abortReason}
);
}
-function Center({ style, ...props }: any) {
+function Center({ style, ...props }: React.HTMLAttributes) {
return (
+ />
);
}
diff --git a/examples/demo/pages/catch-all/+Page.tsx b/examples/demo/pages/catch-all/+Page.tsx
index 95adbc3c..eb0fd650 100644
--- a/examples/demo/pages/catch-all/+Page.tsx
+++ b/examples/demo/pages/catch-all/+Page.tsx
@@ -1,5 +1,5 @@
-import React from 'react';
-import { Link } from '../../renderer/Link';
+import React from "react";
+import { Link } from "../../renderer/Link";
export default function Page(props: { d: string }) {
return (
diff --git a/examples/demo/pages/catch-all/+config.ts b/examples/demo/pages/catch-all/+config.ts
index 8a22e03f..cd4a03e0 100644
--- a/examples/demo/pages/catch-all/+config.ts
+++ b/examples/demo/pages/catch-all/+config.ts
@@ -1,4 +1,4 @@
-import { Config } from 'vike/types';
+import type { Config } from "vike/types";
export default {
isr: { expiration: 15 },
diff --git a/examples/demo/pages/catch-all/+onBeforePrerenderStart.ts b/examples/demo/pages/catch-all/+onBeforePrerenderStart.ts
index 31db10d2..d4e4dea1 100644
--- a/examples/demo/pages/catch-all/+onBeforePrerenderStart.ts
+++ b/examples/demo/pages/catch-all/+onBeforePrerenderStart.ts
@@ -1,3 +1,3 @@
export default function prerender() {
- return ['/catch-all/a/b/c', '/catch-all/a/d'];
+ return ["/catch-all/a/b/c", "/catch-all/a/d"];
}
diff --git a/examples/demo/pages/catch-all/+onBeforeRender.ts b/examples/demo/pages/catch-all/+onBeforeRender.ts
index f31c47ad..1294f4d7 100644
--- a/examples/demo/pages/catch-all/+onBeforeRender.ts
+++ b/examples/demo/pages/catch-all/+onBeforeRender.ts
@@ -1,4 +1,4 @@
-import { PageContextBuiltInServer } from 'vike/types';
+import { PageContextBuiltInServer } from "vike/types";
// https://vike.dev/onBeforeRender
export default function onBeforeRender() {
diff --git a/examples/demo/pages/catch-all/+route.ts b/examples/demo/pages/catch-all/+route.ts
index 8079e934..6abe2ef2 100644
--- a/examples/demo/pages/catch-all/+route.ts
+++ b/examples/demo/pages/catch-all/+route.ts
@@ -1 +1 @@
-export default '/catch-all/*';
+export default "/catch-all/*";
diff --git a/examples/demo/pages/dynamic/+Page.tsx b/examples/demo/pages/dynamic/+Page.tsx
index 6dccdd93..c485fb11 100644
--- a/examples/demo/pages/dynamic/+Page.tsx
+++ b/examples/demo/pages/dynamic/+Page.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React from "react";
export default function Page(props: { d: string }) {
return (
diff --git a/examples/demo/pages/dynamic/+onBeforeRender.ts b/examples/demo/pages/dynamic/+onBeforeRender.ts
index f31c47ad..1294f4d7 100644
--- a/examples/demo/pages/dynamic/+onBeforeRender.ts
+++ b/examples/demo/pages/dynamic/+onBeforeRender.ts
@@ -1,4 +1,4 @@
-import { PageContextBuiltInServer } from 'vike/types';
+import { PageContextBuiltInServer } from "vike/types";
// https://vike.dev/onBeforeRender
export default function onBeforeRender() {
diff --git a/examples/demo/pages/function/+Page.tsx b/examples/demo/pages/function/+Page.tsx
index dd8e1dea..f00a09da 100644
--- a/examples/demo/pages/function/+Page.tsx
+++ b/examples/demo/pages/function/+Page.tsx
@@ -1,5 +1,5 @@
-import React from 'react';
-import { Link } from '../../renderer/Link';
+import React from "react";
+import { Link } from "../../renderer/Link";
export default function Page(props: { d: string }) {
return (
diff --git a/examples/demo/pages/function/+config.ts b/examples/demo/pages/function/+config.ts
index 831a19fb..d38c660e 100644
--- a/examples/demo/pages/function/+config.ts
+++ b/examples/demo/pages/function/+config.ts
@@ -1,4 +1,4 @@
-import { Config } from 'vike/types';
+import type { Config } from "vike/types";
export default {
// Should warn when building because it's incompatible with route function
diff --git a/examples/demo/pages/function/+onBeforePrerenderStart.ts b/examples/demo/pages/function/+onBeforePrerenderStart.ts
index 2a72dcd4..f17478d9 100644
--- a/examples/demo/pages/function/+onBeforePrerenderStart.ts
+++ b/examples/demo/pages/function/+onBeforePrerenderStart.ts
@@ -1,3 +1,3 @@
export default function prerender() {
- return ['/function/a'];
+ return ["/function/a"];
}
diff --git a/examples/demo/pages/function/+onBeforeRender.ts b/examples/demo/pages/function/+onBeforeRender.ts
index f31c47ad..1294f4d7 100644
--- a/examples/demo/pages/function/+onBeforeRender.ts
+++ b/examples/demo/pages/function/+onBeforeRender.ts
@@ -1,4 +1,4 @@
-import { PageContextBuiltInServer } from 'vike/types';
+import { PageContextBuiltInServer } from "vike/types";
// https://vike.dev/onBeforeRender
export default function onBeforeRender() {
diff --git a/examples/demo/pages/function/+route.ts b/examples/demo/pages/function/+route.ts
index 4f384258..b7ac8bcc 100644
--- a/examples/demo/pages/function/+route.ts
+++ b/examples/demo/pages/function/+route.ts
@@ -1,7 +1,7 @@
-import { PageContextBuiltInServer } from 'vike/types';
+import type { PageContextBuiltInServer } from "vike/types";
export default function (pageContext: PageContextBuiltInServer) {
- if (!pageContext.urlPathname.startsWith('/function/')) return false;
+ if (!pageContext.urlPathname.startsWith("/function/")) return false;
return {
precedence: -1,
};
diff --git a/examples/demo/pages/index/+Page.tsx b/examples/demo/pages/index/+Page.tsx
index ce09e2eb..a5b5d778 100644
--- a/examples/demo/pages/index/+Page.tsx
+++ b/examples/demo/pages/index/+Page.tsx
@@ -1,5 +1,5 @@
-import React from 'react';
-import { Counter } from './Counter.js';
+import React from "react";
+import { Counter } from "./Counter.js";
export default function Page() {
return (
diff --git a/examples/demo/pages/index/Counter.tsx b/examples/demo/pages/index/Counter.tsx
index 46393a1e..9245aaca 100644
--- a/examples/demo/pages/index/Counter.tsx
+++ b/examples/demo/pages/index/Counter.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState } from "react";
export { Counter };
diff --git a/examples/demo/pages/isr/+Page.tsx b/examples/demo/pages/isr/+Page.tsx
index a7efe22f..387704e5 100644
--- a/examples/demo/pages/isr/+Page.tsx
+++ b/examples/demo/pages/isr/+Page.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React from "react";
export default function Page(props: { d: string }) {
return (
diff --git a/examples/demo/pages/isr/+config.ts b/examples/demo/pages/isr/+config.ts
index 8a22e03f..cd4a03e0 100644
--- a/examples/demo/pages/isr/+config.ts
+++ b/examples/demo/pages/isr/+config.ts
@@ -1,4 +1,4 @@
-import { Config } from 'vike/types';
+import type { Config } from "vike/types";
export default {
isr: { expiration: 15 },
diff --git a/examples/demo/pages/named/+Page.tsx b/examples/demo/pages/named/+Page.tsx
index 73be06a3..3ed48bb2 100644
--- a/examples/demo/pages/named/+Page.tsx
+++ b/examples/demo/pages/named/+Page.tsx
@@ -1,8 +1,8 @@
-import React from 'react';
-import { Link } from '../../renderer/Link';
+import React from "react";
+import { Link } from "../../renderer/Link";
function isISR(someId: string) {
- return someId !== 'id-1' && someId !== 'id-2';
+ return someId !== "id-1" && someId !== "id-2";
}
export default function Page(props: { d: string; someId: string }) {
@@ -45,7 +45,7 @@ export default function Page(props: { d: string; someId: string }) {
- {isISR(props.someId) ? 'ISR' : 'Static'}
+ {isISR(props.someId) ? "ISR" : "Static"}
{props.d}
>
diff --git a/examples/demo/pages/named/+config.ts b/examples/demo/pages/named/+config.ts
index 3176521f..0ec3e0d6 100644
--- a/examples/demo/pages/named/+config.ts
+++ b/examples/demo/pages/named/+config.ts
@@ -1,4 +1,4 @@
-import { Config } from 'vike/types';
+import type { Config } from "vike/types";
export default {
isr: true,
diff --git a/examples/demo/pages/named/+onBeforePrerenderStart.ts b/examples/demo/pages/named/+onBeforePrerenderStart.ts
index 84b89bd8..f2012280 100644
--- a/examples/demo/pages/named/+onBeforePrerenderStart.ts
+++ b/examples/demo/pages/named/+onBeforePrerenderStart.ts
@@ -1,3 +1,3 @@
export default function prerender() {
- return ['/named/id-1', '/named/id-2'];
+ return ["/named/id-1", "/named/id-2"];
}
diff --git a/examples/demo/pages/named/+onBeforeRender.ts b/examples/demo/pages/named/+onBeforeRender.ts
index ced6158f..2aa5d273 100644
--- a/examples/demo/pages/named/+onBeforeRender.ts
+++ b/examples/demo/pages/named/+onBeforeRender.ts
@@ -1,4 +1,4 @@
-import { PageContextBuiltInServer } from 'vike/types';
+import type { PageContextBuiltInServer } from "vike/types";
// https://vike.dev/onBeforeRender
export default function onBeforeRender(pageContext: PageContextBuiltInServer) {
diff --git a/examples/demo/pages/named/+route.ts b/examples/demo/pages/named/+route.ts
index b07d9b48..cae48d06 100644
--- a/examples/demo/pages/named/+route.ts
+++ b/examples/demo/pages/named/+route.ts
@@ -1 +1 @@
-export default '/named/@someId';
+export default "/named/@someId";
diff --git a/examples/demo/pages/static/+Page.tsx b/examples/demo/pages/static/+Page.tsx
index d66dd5cd..b5249728 100644
--- a/examples/demo/pages/static/+Page.tsx
+++ b/examples/demo/pages/static/+Page.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React from "react";
export default function Page(props: { d: string }) {
return (
diff --git a/examples/demo/renderer/+config.ts b/examples/demo/renderer/+config.ts
index e919ff2f..cc80dfe2 100644
--- a/examples/demo/renderer/+config.ts
+++ b/examples/demo/renderer/+config.ts
@@ -1,9 +1,9 @@
-import type { Config } from 'vike/types';
-import config from '@vite-plugin-vercel/vike/config';
+import type { Config } from "vike/types";
+import config from "@vite-plugin-vercel/vike/config";
// https://vike.dev/config
export default {
- passToClient: ['pageProps', 'title', 'someAsyncProps'],
+ passToClient: ["pageProps", "title", "someAsyncProps"],
clientRouting: true,
hydrationCanBeAborted: true,
// https://vike.dev/meta
@@ -16,7 +16,7 @@ export default {
onBeforeRenderIsomorph: {
env: { config: true },
effect({ configDefinedAt, configValue }) {
- if (typeof configValue !== 'boolean') {
+ if (typeof configValue !== "boolean") {
throw new Error(`${configDefinedAt} should be a boolean`);
}
if (configValue) {
diff --git a/examples/demo/renderer/+onHydrationEnd.ts b/examples/demo/renderer/+onHydrationEnd.ts
index e832b841..ff8a8c6c 100644
--- a/examples/demo/renderer/+onHydrationEnd.ts
+++ b/examples/demo/renderer/+onHydrationEnd.ts
@@ -1,5 +1,5 @@
export default onHydrationEnd;
function onHydrationEnd() {
- console.log('Hydration finished; page is now interactive.');
+ console.log("Hydration finished; page is now interactive.");
}
diff --git a/examples/demo/renderer/+onPageTransitionEnd.ts b/examples/demo/renderer/+onPageTransitionEnd.ts
index be1e8ac1..eb58c361 100644
--- a/examples/demo/renderer/+onPageTransitionEnd.ts
+++ b/examples/demo/renderer/+onPageTransitionEnd.ts
@@ -1,6 +1,6 @@
export default onPageTransitionEnd;
function onPageTransitionEnd() {
- console.log('Page transition end');
- document.querySelector('body')!.classList.remove('page-is-transitioning');
+ console.log("Page transition end");
+ document.querySelector("body")?.classList.remove("page-is-transitioning");
}
diff --git a/examples/demo/renderer/+onPageTransitionStart.ts b/examples/demo/renderer/+onPageTransitionStart.ts
index 9a88494a..71c05284 100644
--- a/examples/demo/renderer/+onPageTransitionStart.ts
+++ b/examples/demo/renderer/+onPageTransitionStart.ts
@@ -1,6 +1,6 @@
export default onPageTransitionStart;
function onPageTransitionStart() {
- console.log('Page transition start');
- document.querySelector('body')!.classList.add('page-is-transitioning');
+ console.log("Page transition start");
+ document.querySelector("body")?.classList.add("page-is-transitioning");
}
diff --git a/examples/demo/renderer/+onRenderClient.tsx b/examples/demo/renderer/+onRenderClient.tsx
index 6c77e5e3..5eeaf5c6 100644
--- a/examples/demo/renderer/+onRenderClient.tsx
+++ b/examples/demo/renderer/+onRenderClient.tsx
@@ -1,12 +1,12 @@
// https://vike.dev/onRenderClient
export default onRenderClient;
-import './css/index.css';
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import { PageShell } from './PageShell';
-import { getPageTitle } from './getPageTitle';
-import type { PageContextClient } from './types';
+import "./css/index.css";
+import React from "react";
+import ReactDOM from "react-dom/client";
+import { PageShell } from "./PageShell";
+import { getPageTitle } from "./getPageTitle";
+import type { PageContextClient } from "./types";
let root: ReactDOM.Root;
async function onRenderClient(pageContext: PageContextClient) {
@@ -16,7 +16,8 @@ async function onRenderClient(pageContext: PageContextClient) {
);
- const container = document.getElementById('page-view')!;
+ // biome-ignore lint/style/noNonNullAssertion:
+ const container = document.getElementById("page-view")!;
if (pageContext.isHydration) {
root = ReactDOM.hydrateRoot(container, page);
} else {
diff --git a/examples/demo/renderer/+onRenderHtml.tsx b/examples/demo/renderer/+onRenderHtml.tsx
index 4d47cbf4..a5ea549d 100644
--- a/examples/demo/renderer/+onRenderHtml.tsx
+++ b/examples/demo/renderer/+onRenderHtml.tsx
@@ -1,12 +1,12 @@
// https://vike.dev/onRenderHtml
export default onRenderHtml;
-import ReactDOMServer from 'react-dom/server';
-import React from 'react';
-import { escapeInject } from 'vike/server';
-import { PageShell } from './PageShell';
-import { getPageTitle } from './getPageTitle';
-import type { PageContextServer } from './types';
+import ReactDOMServer from "react-dom/server";
+import React from "react";
+import { escapeInject } from "vike/server";
+import { PageShell } from "./PageShell";
+import { getPageTitle } from "./getPageTitle";
+import type { PageContextServer } from "./types";
async function onRenderHtml(pageContext: PageContextServer) {
const { Page, pageProps } = pageContext;
diff --git a/examples/demo/renderer/Link.tsx b/examples/demo/renderer/Link.tsx
index 5da79981..5d523905 100644
--- a/examples/demo/renderer/Link.tsx
+++ b/examples/demo/renderer/Link.tsx
@@ -1,15 +1,14 @@
export { Link };
-import { usePageContext } from './usePageContext';
-import React from 'react';
+import { usePageContext } from "./usePageContext";
+import React from "react";
function Link({ href, children }: { href: string; children: string }) {
const pageContext = usePageContext() as { urlPathname: string }; // TODO
const { urlPathname } = pageContext;
- const isActive =
- href === '/' ? urlPathname === href : urlPathname.startsWith(href);
+ const isActive = href === "/" ? urlPathname === href : urlPathname.startsWith(href);
return (
-
+
{children}
);
diff --git a/examples/demo/renderer/PageShell.tsx b/examples/demo/renderer/PageShell.tsx
index 69234c78..7d8a0129 100644
--- a/examples/demo/renderer/PageShell.tsx
+++ b/examples/demo/renderer/PageShell.tsx
@@ -1,8 +1,8 @@
-import React from 'react';
-import logoUrl from './logo.svg';
-import { PageContextProvider } from './usePageContext';
-import { Link } from './Link';
-import type { PageContext } from './types';
+import React from "react";
+import { Link } from "./Link";
+import logoUrl from "./logo.svg";
+import type { PageContext } from "./types";
+import { PageContextProvider } from "./usePageContext";
export { PageShell };
@@ -41,9 +41,9 @@ function Layout({ children }: { children: React.ReactNode }) {
return (
{children}
@@ -58,10 +58,10 @@ function Sidebar({ children }: { children: React.ReactNode }) {
style={{
padding: 20,
flexShrink: 0,
- display: 'flex',
- flexDirection: 'column',
- lineHeight: '1.8em',
- borderRight: '2px solid #eee',
+ display: "flex",
+ flexDirection: "column",
+ lineHeight: "1.8em",
+ borderRight: "2px solid #eee",
}}
>
{children}
@@ -77,7 +77,7 @@ function Content({ children }: { children: React.ReactNode }) {
style={{
padding: 20,
paddingBottom: 50,
- minHeight: '100vh',
+ minHeight: "100vh",
}}
>
{children}
@@ -95,7 +95,7 @@ function Logo() {
}}
>
-
+
);
diff --git a/examples/demo/renderer/getPageTitle.ts b/examples/demo/renderer/getPageTitle.ts
index 69a3bba8..bdf845df 100644
--- a/examples/demo/renderer/getPageTitle.ts
+++ b/examples/demo/renderer/getPageTitle.ts
@@ -1,6 +1,6 @@
export { getPageTitle };
-import type { PageContext } from './types';
+import type { PageContext } from "./types";
function getPageTitle(pageContext: PageContext): string {
const title =
@@ -9,6 +9,6 @@ function getPageTitle(pageContext: PageContext): string {
// Title defined statically by /pages/some-page/+title.js (or by `export default { title }` in /pages/some-page/+config.js)
// The config 'pageContext.config.title' is a custom config we defined at ./+config.ts
pageContext.config.title ||
- 'Demo';
+ "Demo";
return title;
}
diff --git a/examples/demo/renderer/types.ts b/examples/demo/renderer/types.ts
index e32a424f..317b2681 100644
--- a/examples/demo/renderer/types.ts
+++ b/examples/demo/renderer/types.ts
@@ -12,7 +12,7 @@ import type {
// When using Server Routing
PageContextBuiltInClientWithServerRouting as PageContextBuiltInClient
//*/
-} from 'vike/types';
+} from "vike/types";
type Page = (pageProps: PageProps) => React.ReactElement;
type PageProps = Record;
diff --git a/examples/demo/renderer/usePageContext.tsx b/examples/demo/renderer/usePageContext.tsx
index 6b85162b..2a1b969d 100644
--- a/examples/demo/renderer/usePageContext.tsx
+++ b/examples/demo/renderer/usePageContext.tsx
@@ -1,10 +1,10 @@
-import React, { useContext } from 'react';
-import type { PageContext } from './types';
+import React, { useContext } from "react";
+import type { PageContext } from "./types";
export { PageContextProvider };
export { usePageContext };
-const Context = React.createContext(undefined as any);
+const Context = React.createContext(undefined as unknown as PageContext);
function PageContextProvider({
pageContext,
diff --git a/examples/demo/tests/01-minimal/config.test.ts b/examples/demo/tests/01-minimal/config.test.ts
index 6bcee973..d9a9d138 100644
--- a/examples/demo/tests/01-minimal/config.test.ts
+++ b/examples/demo/tests/01-minimal/config.test.ts
@@ -1,58 +1,52 @@
-import path from 'path';
-import { vercelOutputConfigSchema } from '../../../../packages/vercel/src/schemas/config/config';
-import { expect, it } from 'vitest';
-import { prepareTestJsonFileContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { vercelOutputConfigSchema } from "../../../../packages/vercel/src/schemas/config/config";
+import { expect, it } from "vitest";
+import { prepareTestJsonFileContent, testSchema } from "../common/helpers";
-prepareTestJsonFileContent(
- path.basename(__dirname),
- 'config.json',
- (context) => {
- testSchema(context, vercelOutputConfigSchema);
+prepareTestJsonFileContent(path.basename(__dirname), "config.json", (context) => {
+ testSchema(context, vercelOutputConfigSchema);
- it('should have defaults routes only', function () {
- console.log(context.file);
- expect(context.file).toHaveProperty('routes', [
- {
- src: '^/api/page$',
- headers: { 'X-VitePluginVercel-Test': 'test' },
- continue: true,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(?:(.+)/)?index(?:\\.html)?/?$',
- status: 308,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(.*)\\.html/?$',
- status: 308,
- },
- { handle: 'filesystem' },
- {
- src: '^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/edge/$1',
- check: true,
- },
- {
- check: true,
- src: '^/api/page$',
- dest: '/api/page',
- },
- {
- check: true,
- src: '^/api/post$',
- dest: '/api/post',
- },
- {
- check: true,
- src: '^/api/name(?:/([^/]+?))$',
- dest: '/api/name/[name]?name=$1',
- },
- ]);
- expect(context.file).toHaveProperty('overrides', {});
- expect(Object.keys(context.file as any).sort()).toMatchObject(
- ['version', 'overrides', 'routes'].sort(),
- );
- });
- },
-);
+ it("should have defaults routes only", () => {
+ console.log(context.file);
+ expect(context.file).toHaveProperty("routes", [
+ {
+ src: "^/api/page$",
+ headers: { "X-VitePluginVercel-Test": "test" },
+ continue: true,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(?:(.+)/)?index(?:\\.html)?/?$",
+ status: 308,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(.*)\\.html/?$",
+ status: 308,
+ },
+ { handle: "filesystem" },
+ {
+ src: "^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/edge/$1",
+ check: true,
+ },
+ {
+ check: true,
+ src: "^/api/page$",
+ dest: "/api/page",
+ },
+ {
+ check: true,
+ src: "^/api/post$",
+ dest: "/api/post",
+ },
+ {
+ check: true,
+ src: "^/api/name(?:/([^/]+?))$",
+ dest: "/api/name/[name]?name=$1",
+ },
+ ]);
+ expect(context.file).toHaveProperty("overrides", {});
+ expect(Object.keys(context.file as any).sort()).toMatchObject(["version", "overrides", "routes"].sort());
+ });
+});
diff --git a/examples/demo/tests/01-minimal/fs.test.ts b/examples/demo/tests/01-minimal/fs.test.ts
index bca8f6f3..273c53b6 100644
--- a/examples/demo/tests/01-minimal/fs.test.ts
+++ b/examples/demo/tests/01-minimal/fs.test.ts
@@ -1,19 +1,19 @@
-import { testFs } from '../common/helpers';
-import { describe } from 'vitest';
-import path from 'path';
+import { testFs } from "../common/helpers";
+import { describe } from "vitest";
+import path from "node:path";
-describe('fs', function () {
+describe("fs", () => {
testFs(path.basename(__dirname), [
- '/config.json',
- '/functions/api/name/[name].func/.vc-config.json',
- '/functions/api/name/[name].func/index.mjs',
- '/functions/api/page.func/index.mjs',
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/index.mjs',
- '/functions/api/post.func/.vc-config.json',
- '/functions/edge.func/index.js',
- '/functions/edge.func/.vc-config.json',
- '/static/test.html',
- '/static/tests/common/index.html',
+ "/config.json",
+ "/functions/api/name/[name].func/.vc-config.json",
+ "/functions/api/name/[name].func/index.mjs",
+ "/functions/api/page.func/index.mjs",
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/index.mjs",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/edge.func/index.js",
+ "/functions/edge.func/.vc-config.json",
+ "/static/test.html",
+ "/static/tests/common/index.html",
]);
});
diff --git a/examples/demo/tests/01-minimal/globalSetup.ts b/examples/demo/tests/01-minimal/globalSetup.ts
index b105a6de..59a9db3d 100644
--- a/examples/demo/tests/01-minimal/globalSetup.ts
+++ b/examples/demo/tests/01-minimal/globalSetup.ts
@@ -1,12 +1,12 @@
-import path from 'path';
-import { setup as _setup } from '../common/setup';
-import { teardown as _teardown } from '../common/teardown';
-import react from '@vitejs/plugin-react-swc';
-import vercel from 'vite-plugin-vercel';
+import path from "node:path";
+import { setup as _setup } from "../common/setup";
+import { teardown as _teardown } from "../common/teardown";
+import react from "@vitejs/plugin-react-swc";
+import vercel from "vite-plugin-vercel";
export const setup = _setup(path.basename(__dirname), {
configFile: false,
- mode: 'production',
+ mode: "production",
root: process.cwd(),
plugins: [
react(),
diff --git a/examples/demo/tests/01-minimal/vc-config.test.ts b/examples/demo/tests/01-minimal/vc-config.test.ts
index e1bfe31a..4365ceec 100644
--- a/examples/demo/tests/01-minimal/vc-config.test.ts
+++ b/examples/demo/tests/01-minimal/vc-config.test.ts
@@ -1,39 +1,32 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputVcConfigSchema } from '../../../../packages/vercel/src/schemas/config/vc-config';
-import { prepareTestJsonFilesContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputVcConfigSchema } from "../../../../packages/vercel/src/schemas/config/vc-config";
+import { prepareTestJsonFilesContent, testSchema } from "../common/helpers";
prepareTestJsonFilesContent(
path.basename(__dirname),
- [
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/.vc-config.json',
- ],
+ ["/functions/api/page.func/.vc-config.json", "/functions/api/post.func/.vc-config.json"],
(context) => {
testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
+ it("should have only necessary properties", () => {
expect(context.file).toStrictEqual({
- handler: 'index.mjs',
- launcherType: 'Nodejs',
- runtime: 'nodejs20.x',
+ handler: "index.mjs",
+ launcherType: "Nodejs",
+ runtime: "nodejs20.x",
shouldAddHelpers: true,
});
});
},
);
-prepareTestJsonFilesContent(
- path.basename(__dirname),
- ['/functions/edge.func/.vc-config.json'],
- (context) => {
- testSchema(context, vercelOutputVcConfigSchema);
+prepareTestJsonFilesContent(path.basename(__dirname), ["/functions/edge.func/.vc-config.json"], (context) => {
+ testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
- expect(context.file).toStrictEqual({
- runtime: 'edge',
- entrypoint: 'index.js',
- });
+ it("should have only necessary properties", () => {
+ expect(context.file).toStrictEqual({
+ runtime: "edge",
+ entrypoint: "index.js",
});
- },
-);
+ });
+});
diff --git a/examples/demo/tests/01-minimal/vitest.config.ts b/examples/demo/tests/01-minimal/vitest.config.ts
index 8419e134..ac783576 100644
--- a/examples/demo/tests/01-minimal/vitest.config.ts
+++ b/examples/demo/tests/01-minimal/vitest.config.ts
@@ -1,8 +1,8 @@
-import { defineConfig } from 'vitest/config';
+import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
- globalSetup: 'tests/01-minimal/globalSetup.ts',
+ globalSetup: "tests/01-minimal/globalSetup.ts",
coverage: {
enabled: false,
},
diff --git a/examples/demo/tests/02-additional-endpoints/config.test.ts b/examples/demo/tests/02-additional-endpoints/config.test.ts
index 235d0490..bec1b8f4 100644
--- a/examples/demo/tests/02-additional-endpoints/config.test.ts
+++ b/examples/demo/tests/02-additional-endpoints/config.test.ts
@@ -1,68 +1,62 @@
-import { vercelOutputConfigSchema } from '../../../../packages/vercel/src/schemas/config/config';
-import { prepareTestJsonFileContent, testSchema } from '../common/helpers';
-import { expect, it } from 'vitest';
+import { expect, it } from "vitest";
+import { vercelOutputConfigSchema } from "../../../../packages/vercel/src/schemas/config/config";
+import { prepareTestJsonFileContent, testSchema } from "../common/helpers";
-import path from 'path';
+import path from "node:path";
-prepareTestJsonFileContent(
- path.basename(__dirname),
- 'config.json',
- (context) => {
- testSchema(context, vercelOutputConfigSchema);
+prepareTestJsonFileContent(path.basename(__dirname), "config.json", (context) => {
+ testSchema(context, vercelOutputConfigSchema);
- it('should have defaults routes only', function () {
- expect(context.file).toHaveProperty('routes', [
- {
- src: '^/api/page$',
- headers: { 'X-VitePluginVercel-Test': 'test' },
- continue: true,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(?:(.+)/)?index(?:\\.html)?/?$',
- status: 308,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(.*)\\.html/?$',
- status: 308,
- },
- { handle: 'filesystem' },
- {
- src: '^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/edge/$1',
- check: true,
- },
- {
- check: true,
- src: '^/index2(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/index2/$1',
- },
- {
- check: true,
- src: '^/index3(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/index3/$1',
- },
- {
- check: true,
- src: '^/api/page$',
- dest: '/api/page',
- },
- {
- check: true,
- src: '^/api/post$',
- dest: '/api/post',
- },
- {
- check: true,
- src: '^/api/name(?:/([^/]+?))$',
- dest: '/api/name/[name]?name=$1',
- },
- ]);
- expect(context.file).toHaveProperty('overrides', {});
- expect(Object.keys(context.file as any).sort()).toEqual(
- ['version', 'overrides', 'routes'].sort(),
- );
- });
- },
-);
+ it("should have defaults routes only", () => {
+ expect(context.file).toHaveProperty("routes", [
+ {
+ src: "^/api/page$",
+ headers: { "X-VitePluginVercel-Test": "test" },
+ continue: true,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(?:(.+)/)?index(?:\\.html)?/?$",
+ status: 308,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(.*)\\.html/?$",
+ status: 308,
+ },
+ { handle: "filesystem" },
+ {
+ src: "^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/edge/$1",
+ check: true,
+ },
+ {
+ check: true,
+ src: "^/index2(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/index2/$1",
+ },
+ {
+ check: true,
+ src: "^/index3(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/index3/$1",
+ },
+ {
+ check: true,
+ src: "^/api/page$",
+ dest: "/api/page",
+ },
+ {
+ check: true,
+ src: "^/api/post$",
+ dest: "/api/post",
+ },
+ {
+ check: true,
+ src: "^/api/name(?:/([^/]+?))$",
+ dest: "/api/name/[name]?name=$1",
+ },
+ ]);
+ expect(context.file).toHaveProperty("overrides", {});
+ expect(Object.keys(context.file as any).sort()).toEqual(["version", "overrides", "routes"].sort());
+ });
+});
diff --git a/examples/demo/tests/02-additional-endpoints/fs.test.ts b/examples/demo/tests/02-additional-endpoints/fs.test.ts
index 7a611566..cd12eec8 100644
--- a/examples/demo/tests/02-additional-endpoints/fs.test.ts
+++ b/examples/demo/tests/02-additional-endpoints/fs.test.ts
@@ -1,23 +1,23 @@
-import { testFs } from '../common/helpers';
-import { describe } from 'vitest';
-import path from 'path';
+import { testFs } from "../common/helpers";
+import { describe } from "vitest";
+import path from "node:path";
-describe('fs', function () {
+describe("fs", () => {
testFs(path.basename(__dirname), [
- '/config.json',
- '/functions/api/name/[name].func/.vc-config.json',
- '/functions/api/name/[name].func/index.mjs',
- '/functions/api/page.func/index.mjs',
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/index.mjs',
- '/functions/api/post.func/.vc-config.json',
- '/functions/edge.func/index.js',
- '/functions/edge.func/.vc-config.json',
- '/functions/index2.func/index.mjs',
- '/functions/index2.func/.vc-config.json',
- '/functions/index3.func/index.mjs',
- '/functions/index3.func/.vc-config.json',
- '/static/test.html',
- '/static/tests/common/index.html',
+ "/config.json",
+ "/functions/api/name/[name].func/.vc-config.json",
+ "/functions/api/name/[name].func/index.mjs",
+ "/functions/api/page.func/index.mjs",
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/index.mjs",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/edge.func/index.js",
+ "/functions/edge.func/.vc-config.json",
+ "/functions/index2.func/index.mjs",
+ "/functions/index2.func/.vc-config.json",
+ "/functions/index3.func/index.mjs",
+ "/functions/index3.func/.vc-config.json",
+ "/static/test.html",
+ "/static/tests/common/index.html",
]);
});
diff --git a/examples/demo/tests/02-additional-endpoints/globalSetup.ts b/examples/demo/tests/02-additional-endpoints/globalSetup.ts
index 713c64d7..7723d6bc 100644
--- a/examples/demo/tests/02-additional-endpoints/globalSetup.ts
+++ b/examples/demo/tests/02-additional-endpoints/globalSetup.ts
@@ -1,12 +1,13 @@
-import path from 'path';
-import { setup as _setup } from '../common/setup';
-import { teardown as _teardown } from '../common/teardown';
-import react from '@vitejs/plugin-react-swc';
-import vercel from 'vite-plugin-vercel';
+///
+import path from "node:path";
+import react from "@vitejs/plugin-react-swc";
+import vercel from "vite-plugin-vercel";
+import { setup as _setup } from "../common/setup";
+import { teardown as _teardown } from "../common/teardown";
export const setup = _setup(path.basename(__dirname), {
configFile: false,
- mode: 'production',
+ mode: "production",
root: process.cwd(),
plugins: [
react(),
@@ -17,16 +18,16 @@ export const setup = _setup(path.basename(__dirname), {
vercel: {
additionalEndpoints: [
{
- source: './tests/common/index2.ts',
- destination: 'index2',
+ source: "./tests/common/index2.ts",
+ destination: "index2",
},
{
source: {
contents: 'console.log("hi");',
- sourcefile: 'hi.ts',
- loader: 'ts',
+ sourcefile: "hi.ts",
+ loader: "ts",
},
- destination: 'index3',
+ destination: "index3",
},
],
},
diff --git a/examples/demo/tests/02-additional-endpoints/vc-config.test.ts b/examples/demo/tests/02-additional-endpoints/vc-config.test.ts
index 40bec5c2..ad39fee3 100644
--- a/examples/demo/tests/02-additional-endpoints/vc-config.test.ts
+++ b/examples/demo/tests/02-additional-endpoints/vc-config.test.ts
@@ -1,41 +1,37 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputVcConfigSchema } from '../../../../packages/vercel/src/schemas/config/vc-config';
-import { prepareTestJsonFilesContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputVcConfigSchema } from "../../../../packages/vercel/src/schemas/config/vc-config";
+import { prepareTestJsonFilesContent, testSchema } from "../common/helpers";
prepareTestJsonFilesContent(
path.basename(__dirname),
[
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/.vc-config.json',
- '/functions/index2.func/.vc-config.json',
- '/functions/index3.func/.vc-config.json',
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/index2.func/.vc-config.json",
+ "/functions/index3.func/.vc-config.json",
],
(context) => {
testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
+ it("should have only necessary properties", () => {
expect(context.file).toStrictEqual({
- handler: 'index.mjs',
- launcherType: 'Nodejs',
- runtime: 'nodejs20.x',
+ handler: "index.mjs",
+ launcherType: "Nodejs",
+ runtime: "nodejs20.x",
shouldAddHelpers: true,
});
});
},
);
-prepareTestJsonFilesContent(
- path.basename(__dirname),
- ['/functions/edge.func/.vc-config.json'],
- (context) => {
- testSchema(context, vercelOutputVcConfigSchema);
+prepareTestJsonFilesContent(path.basename(__dirname), ["/functions/edge.func/.vc-config.json"], (context) => {
+ testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
- expect(context.file).toStrictEqual({
- runtime: 'edge',
- entrypoint: 'index.js',
- });
+ it("should have only necessary properties", () => {
+ expect(context.file).toStrictEqual({
+ runtime: "edge",
+ entrypoint: "index.js",
});
- },
-);
+ });
+});
diff --git a/examples/demo/tests/02-additional-endpoints/vitest.config.ts b/examples/demo/tests/02-additional-endpoints/vitest.config.ts
index 20ddc4d0..599aa769 100644
--- a/examples/demo/tests/02-additional-endpoints/vitest.config.ts
+++ b/examples/demo/tests/02-additional-endpoints/vitest.config.ts
@@ -1,8 +1,8 @@
-import { defineConfig } from 'vitest/config';
+import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
- globalSetup: 'tests/02-additional-endpoints/globalSetup.ts',
+ globalSetup: "tests/02-additional-endpoints/globalSetup.ts",
coverage: {
enabled: false,
},
diff --git a/examples/demo/tests/03-prerender/config.test.ts b/examples/demo/tests/03-prerender/config.test.ts
index 17ac0ee7..a30ff1aa 100644
--- a/examples/demo/tests/03-prerender/config.test.ts
+++ b/examples/demo/tests/03-prerender/config.test.ts
@@ -1,59 +1,53 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputConfigSchema } from '../../../../packages/vercel/src/schemas/config/config';
-import { prepareTestJsonFileContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputConfigSchema } from "../../../../packages/vercel/src/schemas/config/config";
+import { prepareTestJsonFileContent, testSchema } from "../common/helpers";
-prepareTestJsonFileContent(
- path.basename(__dirname),
- 'config.json',
- (context) => {
- testSchema(context, vercelOutputConfigSchema);
+prepareTestJsonFileContent(path.basename(__dirname), "config.json", (context) => {
+ testSchema(context, vercelOutputConfigSchema);
- it('should have defaults routes only', function () {
- expect(context.file).toHaveProperty('routes', [
- {
- src: '^/api/page$',
- headers: { 'X-VitePluginVercel-Test': 'test' },
- continue: true,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(?:(.+)/)?index(?:\\.html)?/?$',
- status: 308,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(.*)\\.html/?$',
- status: 308,
- },
- { handle: 'filesystem' },
- {
- src: '^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/edge/$1',
- check: true,
- },
- {
- check: true,
- src: '^/api/page$',
- dest: '/api/page',
- },
- {
- check: true,
- src: '^/api/post$',
- dest: '/api/post',
- },
- {
- check: true,
- src: '^/api/name(?:/([^/]+?))$',
- dest: '/api/name/[name]?name=$1',
- },
- ]);
- expect(context.file).toHaveProperty('overrides', {
- ssr: { path: 'ssr_' },
- });
- expect(Object.keys(context.file as any).sort()).toEqual(
- ['version', 'overrides', 'routes'].sort(),
- );
+ it("should have defaults routes only", () => {
+ expect(context.file).toHaveProperty("routes", [
+ {
+ src: "^/api/page$",
+ headers: { "X-VitePluginVercel-Test": "test" },
+ continue: true,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(?:(.+)/)?index(?:\\.html)?/?$",
+ status: 308,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(.*)\\.html/?$",
+ status: 308,
+ },
+ { handle: "filesystem" },
+ {
+ src: "^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/edge/$1",
+ check: true,
+ },
+ {
+ check: true,
+ src: "^/api/page$",
+ dest: "/api/page",
+ },
+ {
+ check: true,
+ src: "^/api/post$",
+ dest: "/api/post",
+ },
+ {
+ check: true,
+ src: "^/api/name(?:/([^/]+?))$",
+ dest: "/api/name/[name]?name=$1",
+ },
+ ]);
+ expect(context.file).toHaveProperty("overrides", {
+ ssr: { path: "ssr_" },
});
- },
-);
+ expect(Object.keys(context.file as any).sort()).toEqual(["version", "overrides", "routes"].sort());
+ });
+});
diff --git a/examples/demo/tests/03-prerender/fs.test.ts b/examples/demo/tests/03-prerender/fs.test.ts
index 82500cd7..1abdaa64 100644
--- a/examples/demo/tests/03-prerender/fs.test.ts
+++ b/examples/demo/tests/03-prerender/fs.test.ts
@@ -1,17 +1,17 @@
-import { testFs } from '../common/helpers';
-import { describe } from 'vitest';
-import path from 'path';
+import { testFs } from "../common/helpers";
+import { describe } from "vitest";
+import path from "node:path";
-describe('fs', function () {
+describe("fs", () => {
testFs(path.basename(__dirname), [
- '/config.json',
- '/functions/api/name/[name].func/.vc-config.json',
- '/functions/api/name/[name].func/index.mjs',
- '/functions/api/page.func/index.mjs',
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/index.mjs',
- '/functions/api/post.func/.vc-config.json',
- '/functions/edge.func/index.js',
- '/functions/edge.func/.vc-config.json',
+ "/config.json",
+ "/functions/api/name/[name].func/.vc-config.json",
+ "/functions/api/name/[name].func/index.mjs",
+ "/functions/api/page.func/index.mjs",
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/index.mjs",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/edge.func/index.js",
+ "/functions/edge.func/.vc-config.json",
]);
});
diff --git a/examples/demo/tests/03-prerender/globalSetup.ts b/examples/demo/tests/03-prerender/globalSetup.ts
index b4ad15e6..85863307 100644
--- a/examples/demo/tests/03-prerender/globalSetup.ts
+++ b/examples/demo/tests/03-prerender/globalSetup.ts
@@ -1,12 +1,12 @@
-import path from 'path';
-import { setup as _setup } from '../common/setup';
-import { teardown as _teardown } from '../common/teardown';
-import react from '@vitejs/plugin-react-swc';
-import vercel from 'vite-plugin-vercel';
+import path from "node:path";
+import { setup as _setup } from "../common/setup";
+import { teardown as _teardown } from "../common/teardown";
+import react from "@vitejs/plugin-react-swc";
+import vercel from "vite-plugin-vercel";
export const setup = _setup(path.basename(__dirname), {
configFile: false,
- mode: 'production',
+ mode: "production",
root: process.cwd(),
plugins: [
react(),
@@ -18,7 +18,7 @@ export const setup = _setup(path.basename(__dirname), {
prerender() {
return {
ssr: {
- path: 'ssr_',
+ path: "ssr_",
},
};
},
diff --git a/examples/demo/tests/03-prerender/vc-config.test.ts b/examples/demo/tests/03-prerender/vc-config.test.ts
index e1bfe31a..4365ceec 100644
--- a/examples/demo/tests/03-prerender/vc-config.test.ts
+++ b/examples/demo/tests/03-prerender/vc-config.test.ts
@@ -1,39 +1,32 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputVcConfigSchema } from '../../../../packages/vercel/src/schemas/config/vc-config';
-import { prepareTestJsonFilesContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputVcConfigSchema } from "../../../../packages/vercel/src/schemas/config/vc-config";
+import { prepareTestJsonFilesContent, testSchema } from "../common/helpers";
prepareTestJsonFilesContent(
path.basename(__dirname),
- [
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/.vc-config.json',
- ],
+ ["/functions/api/page.func/.vc-config.json", "/functions/api/post.func/.vc-config.json"],
(context) => {
testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
+ it("should have only necessary properties", () => {
expect(context.file).toStrictEqual({
- handler: 'index.mjs',
- launcherType: 'Nodejs',
- runtime: 'nodejs20.x',
+ handler: "index.mjs",
+ launcherType: "Nodejs",
+ runtime: "nodejs20.x",
shouldAddHelpers: true,
});
});
},
);
-prepareTestJsonFilesContent(
- path.basename(__dirname),
- ['/functions/edge.func/.vc-config.json'],
- (context) => {
- testSchema(context, vercelOutputVcConfigSchema);
+prepareTestJsonFilesContent(path.basename(__dirname), ["/functions/edge.func/.vc-config.json"], (context) => {
+ testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
- expect(context.file).toStrictEqual({
- runtime: 'edge',
- entrypoint: 'index.js',
- });
+ it("should have only necessary properties", () => {
+ expect(context.file).toStrictEqual({
+ runtime: "edge",
+ entrypoint: "index.js",
});
- },
-);
+ });
+});
diff --git a/examples/demo/tests/03-prerender/vitest.config.ts b/examples/demo/tests/03-prerender/vitest.config.ts
index 80f750f9..64a22d33 100644
--- a/examples/demo/tests/03-prerender/vitest.config.ts
+++ b/examples/demo/tests/03-prerender/vitest.config.ts
@@ -1,8 +1,8 @@
-import { defineConfig } from 'vitest/config';
+import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
- globalSetup: 'tests/03-prerender/globalSetup.ts',
+ globalSetup: "tests/03-prerender/globalSetup.ts",
coverage: {
enabled: false,
},
diff --git a/examples/demo/tests/04-isr/config.test.ts b/examples/demo/tests/04-isr/config.test.ts
index 0b2f6ef8..9c725f86 100644
--- a/examples/demo/tests/04-isr/config.test.ts
+++ b/examples/demo/tests/04-isr/config.test.ts
@@ -1,58 +1,52 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputConfigSchema } from '../../../../packages/vercel/src/schemas/config/config';
-import { prepareTestJsonFileContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputConfigSchema } from "../../../../packages/vercel/src/schemas/config/config";
+import { prepareTestJsonFileContent, testSchema } from "../common/helpers";
-prepareTestJsonFileContent(
- path.basename(__dirname),
- 'config.json',
- (context) => {
- testSchema(context, vercelOutputConfigSchema);
+prepareTestJsonFileContent(path.basename(__dirname), "config.json", (context) => {
+ testSchema(context, vercelOutputConfigSchema);
- it('should have defaults routes only', function () {
- expect(context.file).toHaveProperty('routes', [
- {
- src: '^/api/page$',
- headers: { 'X-VitePluginVercel-Test': 'test' },
- continue: true,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(?:(.+)/)?index(?:\\.html)?/?$',
- status: 308,
- },
- {
- headers: { Location: '/$1' },
- src: '^/(.*)\\.html/?$',
- status: 308,
- },
- { handle: 'filesystem' },
- {
- src: '^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/edge/$1',
- check: true,
- },
- {
- check: true,
- src: '^/api/page$',
- dest: '/api/page',
- },
- {
- check: true,
- src: '^/api/post$',
- dest: '/api/post',
- },
- {
- check: true,
- src: '^/api/name(?:/([^/]+?))$',
- dest: '/api/name/[name]?name=$1',
- },
- { check: true, dest: 'page1/?__original_path=$1', src: '^(/page1)$' },
- ]);
- expect(context.file).toHaveProperty('overrides', {});
- expect(Object.keys(context.file as any).sort()).toEqual(
- ['version', 'overrides', 'routes'].sort(),
- );
- });
- },
-);
+ it("should have defaults routes only", () => {
+ expect(context.file).toHaveProperty("routes", [
+ {
+ src: "^/api/page$",
+ headers: { "X-VitePluginVercel-Test": "test" },
+ continue: true,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(?:(.+)/)?index(?:\\.html)?/?$",
+ status: 308,
+ },
+ {
+ headers: { Location: "/$1" },
+ src: "^/(.*)\\.html/?$",
+ status: 308,
+ },
+ { handle: "filesystem" },
+ {
+ src: "^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/edge/$1",
+ check: true,
+ },
+ {
+ check: true,
+ src: "^/api/page$",
+ dest: "/api/page",
+ },
+ {
+ check: true,
+ src: "^/api/post$",
+ dest: "/api/post",
+ },
+ {
+ check: true,
+ src: "^/api/name(?:/([^/]+?))$",
+ dest: "/api/name/[name]?name=$1",
+ },
+ { check: true, dest: "page1/?__original_path=$1", src: "^(/page1)$" },
+ ]);
+ expect(context.file).toHaveProperty("overrides", {});
+ expect(Object.keys(context.file as any).sort()).toEqual(["version", "overrides", "routes"].sort());
+ });
+});
diff --git a/examples/demo/tests/04-isr/fs.test.ts b/examples/demo/tests/04-isr/fs.test.ts
index 7bb54539..445e9753 100644
--- a/examples/demo/tests/04-isr/fs.test.ts
+++ b/examples/demo/tests/04-isr/fs.test.ts
@@ -1,20 +1,20 @@
-import { testFs } from '../common/helpers';
-import { describe } from 'vitest';
-import path from 'path';
+import { testFs } from "../common/helpers";
+import { describe } from "vitest";
+import path from "node:path";
-describe('fs', function () {
+describe("fs", () => {
testFs(path.basename(__dirname), [
- '/config.json',
- '/functions/api/name/[name].func/.vc-config.json',
- '/functions/api/name/[name].func/index.mjs',
- '/functions/api/page.func/index.mjs',
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/index.mjs',
- '/functions/api/post.func/.vc-config.json',
- '/functions/edge.func/index.js',
- '/functions/edge.func/.vc-config.json',
- '/functions/page1.func/index.mjs',
- '/functions/page1.func/.vc-config.json',
- '/functions/page1.prerender-config.json',
+ "/config.json",
+ "/functions/api/name/[name].func/.vc-config.json",
+ "/functions/api/name/[name].func/index.mjs",
+ "/functions/api/page.func/index.mjs",
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/index.mjs",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/edge.func/index.js",
+ "/functions/edge.func/.vc-config.json",
+ "/functions/page1.func/index.mjs",
+ "/functions/page1.func/.vc-config.json",
+ "/functions/page1.prerender-config.json",
]);
});
diff --git a/examples/demo/tests/04-isr/globalSetup.ts b/examples/demo/tests/04-isr/globalSetup.ts
index e92fa627..47d49676 100644
--- a/examples/demo/tests/04-isr/globalSetup.ts
+++ b/examples/demo/tests/04-isr/globalSetup.ts
@@ -1,12 +1,12 @@
-import path from 'path';
-import { setup as _setup } from '../common/setup';
-import { teardown as _teardown } from '../common/teardown';
-import react from '@vitejs/plugin-react-swc';
-import vercel from 'vite-plugin-vercel';
+import path from "node:path";
+import { setup as _setup } from "../common/setup";
+import { teardown as _teardown } from "../common/teardown";
+import react from "@vitejs/plugin-react-swc";
+import vercel from "vite-plugin-vercel";
export const setup = _setup(path.basename(__dirname), {
configFile: false,
- mode: 'production',
+ mode: "production",
root: process.cwd(),
plugins: [
react(),
@@ -18,8 +18,8 @@ export const setup = _setup(path.basename(__dirname), {
isr: {
page1: {
expiration: 42,
- route: '/page1',
- symlink: 'api/page',
+ route: "/page1",
+ symlink: "api/page",
},
},
distContainsOnlyStatic: false,
diff --git a/examples/demo/tests/04-isr/prerender.test.ts b/examples/demo/tests/04-isr/prerender.test.ts
index efec7ab7..f0e0ecf9 100644
--- a/examples/demo/tests/04-isr/prerender.test.ts
+++ b/examples/demo/tests/04-isr/prerender.test.ts
@@ -1,19 +1,15 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputPrerenderConfigSchema } from '../../../../packages/vercel/src/schemas/config/prerender-config';
-import { prepareTestJsonFileContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputPrerenderConfigSchema } from "../../../../packages/vercel/src/schemas/config/prerender-config";
+import { prepareTestJsonFileContent, testSchema } from "../common/helpers";
-prepareTestJsonFileContent(
- path.basename(__dirname),
- '/functions/page1.prerender-config.json',
- (context) => {
- testSchema(context, vercelOutputPrerenderConfigSchema);
+prepareTestJsonFileContent(path.basename(__dirname), "/functions/page1.prerender-config.json", (context) => {
+ testSchema(context, vercelOutputPrerenderConfigSchema);
- it('should have only necessary properties', function () {
- expect(Object.keys(context.file as any)).toHaveLength(2);
- expect(context.file).toHaveProperty('expiration', 42);
- expect(context.file).toHaveProperty('group');
- expect((context.file as any).group).toBeTypeOf('number');
- });
- },
-);
+ it("should have only necessary properties", () => {
+ expect(Object.keys(context.file as any)).toHaveLength(2);
+ expect(context.file).toHaveProperty("expiration", 42);
+ expect(context.file).toHaveProperty("group");
+ expect((context.file as any).group).toBeTypeOf("number");
+ });
+});
diff --git a/examples/demo/tests/04-isr/vc-config.test.ts b/examples/demo/tests/04-isr/vc-config.test.ts
index c9ba39a3..4123f8a2 100644
--- a/examples/demo/tests/04-isr/vc-config.test.ts
+++ b/examples/demo/tests/04-isr/vc-config.test.ts
@@ -1,40 +1,36 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputVcConfigSchema } from '../../../../packages/vercel/src/schemas/config/vc-config';
-import { prepareTestJsonFilesContent, testSchema } from '../common/helpers';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputVcConfigSchema } from "../../../../packages/vercel/src/schemas/config/vc-config";
+import { prepareTestJsonFilesContent, testSchema } from "../common/helpers";
prepareTestJsonFilesContent(
path.basename(__dirname),
[
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/.vc-config.json',
- '/functions/page1.func/.vc-config.json',
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/page1.func/.vc-config.json",
],
(context) => {
testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
+ it("should have only necessary properties", () => {
expect(context.file).toStrictEqual({
- handler: 'index.mjs',
- launcherType: 'Nodejs',
- runtime: 'nodejs20.x',
+ handler: "index.mjs",
+ launcherType: "Nodejs",
+ runtime: "nodejs20.x",
shouldAddHelpers: true,
});
});
},
);
-prepareTestJsonFilesContent(
- path.basename(__dirname),
- ['/functions/edge.func/.vc-config.json'],
- (context) => {
- testSchema(context, vercelOutputVcConfigSchema);
+prepareTestJsonFilesContent(path.basename(__dirname), ["/functions/edge.func/.vc-config.json"], (context) => {
+ testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
- expect(context.file).toStrictEqual({
- runtime: 'edge',
- entrypoint: 'index.js',
- });
+ it("should have only necessary properties", () => {
+ expect(context.file).toStrictEqual({
+ runtime: "edge",
+ entrypoint: "index.js",
});
- },
-);
+ });
+});
diff --git a/examples/demo/tests/04-isr/vitest.config.ts b/examples/demo/tests/04-isr/vitest.config.ts
index 1d16a46c..c7e17096 100644
--- a/examples/demo/tests/04-isr/vitest.config.ts
+++ b/examples/demo/tests/04-isr/vitest.config.ts
@@ -1,8 +1,8 @@
-import { defineConfig } from 'vitest/config';
+import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
- globalSetup: 'tests/04-isr/globalSetup.ts',
+ globalSetup: "tests/04-isr/globalSetup.ts",
coverage: {
enabled: false,
},
diff --git a/examples/demo/tests/05-vike/config.test.ts b/examples/demo/tests/05-vike/config.test.ts
index 81d599c6..fb724813 100644
--- a/examples/demo/tests/05-vike/config.test.ts
+++ b/examples/demo/tests/05-vike/config.test.ts
@@ -1,81 +1,75 @@
-import { beforeAll, describe, expect, it } from 'vitest';
-import { vercelOutputConfigSchema } from '../../../../packages/vercel/src/schemas/config/config';
-import { testSchema } from '../common/helpers';
-import { prepareTestJsonFileContent } from './utils';
+import { beforeAll, describe, expect, it } from "vitest";
+import { vercelOutputConfigSchema } from "../../../../packages/vercel/src/schemas/config/config";
+import { testSchema } from "../common/helpers";
+import { prepareTestJsonFileContent } from "./utils";
-prepareTestJsonFileContent('config.json', (context) => {
+prepareTestJsonFileContent("config.json", (context) => {
testSchema(context, vercelOutputConfigSchema);
- it('should have defaults routes only', function () {
+ it("should have defaults routes only", () => {
const expected = [
{
- src: '^/api/page$',
- headers: { 'X-VitePluginVercel-Test': 'test' },
+ src: "^/api/page$",
+ headers: { "X-VitePluginVercel-Test": "test" },
continue: true,
},
{
- headers: { Location: '/$1' },
- src: '^/(?:(.+)/)?index(?:\\.html)?/?$',
+ headers: { Location: "/$1" },
+ src: "^/(?:(.+)/)?index(?:\\.html)?/?$",
status: 308,
},
{
- headers: { Location: '/$1' },
- src: '^/(.*)\\.html/?$',
+ headers: { Location: "/$1" },
+ src: "^/(.*)\\.html/?$",
status: 308,
},
- { handle: 'filesystem' },
+ { handle: "filesystem" },
{
- src: '^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/edge/$1',
+ src: "^/edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/edge/$1",
check: true,
},
{
- src: '^/og-node(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/og-node/$1',
+ src: "^/og-node(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/og-node/$1",
check: true,
},
{
- src: '^/og-edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$',
- dest: '/og-edge/$1',
+ src: "^/og-edge(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))?$",
+ dest: "/og-edge/$1",
check: true,
},
{
check: true,
- src: '^/api/page$',
- dest: '/api/page',
+ src: "^/api/page$",
+ dest: "/api/page",
},
{
check: true,
- src: '^/api/post$',
- dest: '/api/post',
+ src: "^/api/post$",
+ dest: "/api/post",
},
{
check: true,
- src: '^/api/name(?:/([^/]+?))$',
- dest: '/api/name/[name]?name=$1',
+ src: "^/api/name(?:/([^/]+?))$",
+ dest: "/api/name/[name]?name=$1",
},
{
check: true,
- src: '^(/catch-all/.+?(?:/index\\.pageContext\\.json)?)$',
- dest: expect.stringMatching(
- '/pages/catch-all-([^/]+?)/\\?__original_path=\\$1',
- ),
+ src: "^(/catch-all/.+?(?:/index\\.pageContext\\.json)?)$",
+ dest: expect.stringMatching("/pages/catch-all-([^/]+?)/\\?__original_path=\\$1"),
},
{
check: true,
- src: '^(/isr(?:/index\\.pageContext\\.json)?)$',
- dest: expect.stringMatching(
- '/pages/isr-([^/]+?)/\\?__original_path=\\$1',
- ),
+ src: "^(/isr(?:/index\\.pageContext\\.json)?)$",
+ dest: expect.stringMatching("/pages/isr-([^/]+?)/\\?__original_path=\\$1"),
},
{
check: true,
- src: '^(/named/[^/]+(?:/index\\.pageContext\\.json)?)$',
- dest: expect.stringMatching(
- '/pages/named-([^/]+?)/\\?__original_path=\\$1',
- ),
+ src: "^(/named/[^/]+(?:/index\\.pageContext\\.json)?)$",
+ dest: expect.stringMatching("/pages/named-([^/]+?)/\\?__original_path=\\$1"),
},
- { check: true, dest: '/ssr_/?__original_path=$1', src: '^((?!/api).*)$' },
+ { check: true, dest: "/ssr_/?__original_path=$1", src: "^((?!/api).*)$" },
];
expect((context.file as any).routes).toHaveLength(expected.length);
@@ -86,30 +80,28 @@ prepareTestJsonFileContent('config.json', (context) => {
// '404.html': {
// path: '404',
// },
- 'catch-all/a/b/c/index.html': {
- path: 'catch-all/a/b/c',
+ "catch-all/a/b/c/index.html": {
+ path: "catch-all/a/b/c",
},
- 'catch-all/a/d/index.html': {
- path: 'catch-all/a/d',
+ "catch-all/a/d/index.html": {
+ path: "catch-all/a/d",
},
- 'function/a/index.html': {
- path: 'function/a',
+ "function/a/index.html": {
+ path: "function/a",
},
- 'index.html': {
- path: '',
+ "index.html": {
+ path: "",
},
- 'named/id-1/index.html': {
- path: 'named/id-1',
+ "named/id-1/index.html": {
+ path: "named/id-1",
},
- 'named/id-2/index.html': {
- path: 'named/id-2',
+ "named/id-2/index.html": {
+ path: "named/id-2",
},
- 'static/index.html': {
- path: 'static',
+ "static/index.html": {
+ path: "static",
},
});
- expect(Object.keys(context.file as any).sort()).toEqual(
- ['version', 'overrides', 'routes'].sort(),
- );
+ expect(Object.keys(context.file as any).sort()).toEqual(["version", "overrides", "routes"].sort());
});
});
diff --git a/examples/demo/tests/05-vike/fs.test.ts b/examples/demo/tests/05-vike/fs.test.ts
index f37a067f..577a2bfa 100644
--- a/examples/demo/tests/05-vike/fs.test.ts
+++ b/examples/demo/tests/05-vike/fs.test.ts
@@ -1,97 +1,92 @@
-import path from 'path';
-import glob from 'fast-glob';
-import { describe, expect, it } from 'vitest';
+import path from "node:path";
+import glob from "fast-glob";
+import { describe, expect, it } from "vitest";
-describe('fs', function () {
- const buildManifest = require('../../dist/assets.json');
+describe("fs", () => {
+ const buildManifest = require("../../dist/assets.json");
const generatedFiles = Array.from(
new Set(
Object.values(buildManifest)
.filter((e: any): e is any => Boolean(e.file))
- .map((e) => [e.file, ...(e.assets ?? []), ...(e.css ?? [])])
- .flat(1)
- .filter((f) => f.startsWith('assets/')),
+ .flatMap((e) => [e.file, ...(e.assets ?? []), ...(e.css ?? [])])
+ .filter((f) => f.startsWith("assets/")),
),
);
const expected = [
- '/config.json',
- '/functions/api/name/[name].func/.vc-config.json',
- '/functions/api/name/[name].func/index.mjs',
- '/functions/api/page.func/index.mjs',
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/index.mjs',
- '/functions/api/post.func/.vc-config.json',
- '/functions/edge.func/index.js',
- '/functions/edge.func/.vc-config.json',
- '/functions/og-node.func/index.mjs',
- '/functions/og-node.func/.vc-config.json',
- '/functions/og-node.func/noto-sans-v27-latin-regular.ttf',
- '/functions/og-node.func/Roboto-Regular.ttf',
- '/functions/og-node.func/resvg.wasm',
- '/functions/og-node.func/yoga.wasm',
- '/functions/og-edge.func/index.js',
- '/functions/og-edge.func/.vc-config.json',
- '/functions/og-edge.func/noto-sans-v27-latin-regular.ttf',
- '/functions/og-edge.func/resvg.wasm',
- '/functions/og-edge.func/yoga.wasm',
+ "/config.json",
+ "/functions/api/name/[name].func/.vc-config.json",
+ "/functions/api/name/[name].func/index.mjs",
+ "/functions/api/page.func/index.mjs",
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/index.mjs",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/edge.func/index.js",
+ "/functions/edge.func/.vc-config.json",
+ "/functions/og-node.func/index.mjs",
+ "/functions/og-node.func/.vc-config.json",
+ "/functions/og-node.func/noto-sans-v27-latin-regular.ttf",
+ "/functions/og-node.func/Roboto-Regular.ttf",
+ "/functions/og-node.func/resvg.wasm",
+ "/functions/og-node.func/yoga.wasm",
+ "/functions/og-edge.func/index.js",
+ "/functions/og-edge.func/.vc-config.json",
+ "/functions/og-edge.func/noto-sans-v27-latin-regular.ttf",
+ "/functions/og-edge.func/resvg.wasm",
+ "/functions/og-edge.func/yoga.wasm",
// ISR + Static pages
- '/functions/ssr_.func/index.mjs',
- '/functions/ssr_.func/.vc-config.json',
- '/static/404.html',
- '/static/index.html',
- '/static/index.pageContext.json',
- '/static/static/index.html',
- '/static/static/index.pageContext.json',
- '/static/catch-all/a/b/c/index.html',
- '/static/catch-all/a/b/c/index.pageContext.json',
- '/static/catch-all/a/d/index.html',
- '/static/catch-all/a/d/index.pageContext.json',
- '/static/function/a/index.html',
- '/static/function/a/index.pageContext.json',
- '/static/named/id-1/index.html',
- '/static/named/id-1/index.pageContext.json',
- '/static/named/id-2/index.html',
- '/static/named/id-2/index.pageContext.json',
- '/static/test.html',
- new RegExp('/functions/pages/catch-all-([^/]+?)\\.prerender-config\\.json'),
- new RegExp('/functions/pages/catch-all-([^/]+?)\\.func/index\\.mjs'),
- new RegExp(
- '/functions/pages/catch-all-([^/]+?)\\.func/\\.vc-config\\.json',
- ),
- new RegExp('/functions/pages/isr-([^/]+?)\\.prerender-config\\.json'),
- new RegExp('/functions/pages/isr-([^/]+?)\\.func/index\\.mjs'),
- new RegExp('/functions/pages/isr-([^/]+?)\\.func/\\.vc-config\\.json'),
- new RegExp('/functions/pages/named-([^/]+?)\\.prerender-config\\.json'),
- new RegExp('/functions/pages/named-([^/]+?)\\.func/index\\.mjs'),
- new RegExp('/functions/pages/named-([^/]+?)\\.func/\\.vc-config\\.json'),
- ...generatedFiles.map((f) => '/static/' + f),
+ "/functions/ssr_.func/index.mjs",
+ "/functions/ssr_.func/.vc-config.json",
+ "/static/404.html",
+ "/static/index.html",
+ "/static/index.pageContext.json",
+ "/static/static/index.html",
+ "/static/static/index.pageContext.json",
+ "/static/catch-all/a/b/c/index.html",
+ "/static/catch-all/a/b/c/index.pageContext.json",
+ "/static/catch-all/a/d/index.html",
+ "/static/catch-all/a/d/index.pageContext.json",
+ "/static/function/a/index.html",
+ "/static/function/a/index.pageContext.json",
+ "/static/named/id-1/index.html",
+ "/static/named/id-1/index.pageContext.json",
+ "/static/named/id-2/index.html",
+ "/static/named/id-2/index.pageContext.json",
+ "/static/test.html",
+ /\/functions\/pages\/catch-all-([^\/]+?)\.prerender-config\.json/,
+ /\/functions\/pages\/catch-all-([^\/]+?)\.func\/index\.mjs/,
+ /\/functions\/pages\/catch-all-([^\/]+?)\.func\/\.vc-config\.json/,
+ /\/functions\/pages\/isr-([^\/]+?)\.prerender-config\.json/,
+ /\/functions\/pages\/isr-([^\/]+?)\.func\/index\.mjs/,
+ /\/functions\/pages\/isr-([^\/]+?)\.func\/\.vc-config\.json/,
+ /\/functions\/pages\/named-([^\/]+?)\.prerender-config\.json/,
+ /\/functions\/pages\/named-([^\/]+?)\.func\/index\.mjs/,
+ /\/functions\/pages\/named-([^\/]+?)\.func\/\.vc-config\.json/,
+ ...generatedFiles.map((f) => `/static/${f}`),
];
- it(`should generate the right files`, async function () {
- const dir = path.join(__dirname, '../../.vercel/output');
- const entries = await glob(dir + '/**', { dot: true });
- let mappedEntries = entries
- .map((e) => e.replace(dir, ''))
- .filter((e) => !e.startsWith('/_ignore'));
+ it("should generate the right files", async () => {
+ const dir = path.join(__dirname, "../../.vercel/output");
+ const entries = await glob(`${dir}/**`, { dot: true });
+ let mappedEntries = entries.map((e) => e.replace(dir, "")).filter((e) => !e.startsWith("/_ignore"));
mappedEntries = Array.from(new Set(mappedEntries));
expect(entries).toHaveLength(expected.length);
- mappedEntries.forEach((entry) => {
+ for (const entry of mappedEntries) {
expect(entry).toSatisfy((elt: string) => {
for (const exp of expected) {
- if (typeof exp === 'string') {
+ if (typeof exp === "string") {
if (exp === elt) return true;
} else {
const match = elt.match(exp);
if (match) return true;
}
}
- console.error('no match found for', elt);
+ console.error("no match found for", elt);
return false;
});
- });
+ }
});
});
diff --git a/examples/demo/tests/05-vike/prerender.test.ts b/examples/demo/tests/05-vike/prerender.test.ts
index 1202eaab..470e801f 100644
--- a/examples/demo/tests/05-vike/prerender.test.ts
+++ b/examples/demo/tests/05-vike/prerender.test.ts
@@ -1,46 +1,37 @@
-import { expect, it } from 'vitest';
-import { vercelOutputPrerenderConfigSchema } from '../../../../packages/vercel/src/schemas/config/prerender-config';
-import { testSchema } from '../common/helpers';
-import { prepareTestJsonFileContent } from './utils';
+import { expect, it } from "vitest";
+import { vercelOutputPrerenderConfigSchema } from "../../../../packages/vercel/src/schemas/config/prerender-config";
+import { testSchema } from "../common/helpers";
+import { prepareTestJsonFileContent } from "./utils";
-prepareTestJsonFileContent(
- '/functions/pages/catch-all-*.prerender-config.json',
- (context) => {
- testSchema(context, vercelOutputPrerenderConfigSchema);
+prepareTestJsonFileContent("/functions/pages/catch-all-*.prerender-config.json", (context) => {
+ testSchema(context, vercelOutputPrerenderConfigSchema);
- it('should have only necessary properties', function () {
- expect(Object.keys(context.file as any)).toHaveLength(2);
- expect(context.file).toHaveProperty('expiration', 15);
- expect(context.file).toHaveProperty('group');
- expect((context.file as any).group).toBeTypeOf('number');
- });
- },
-);
+ it("should have only necessary properties", () => {
+ expect(Object.keys(context.file as any)).toHaveLength(2);
+ expect(context.file).toHaveProperty("expiration", 15);
+ expect(context.file).toHaveProperty("group");
+ expect((context.file as any).group).toBeTypeOf("number");
+ });
+});
-prepareTestJsonFileContent(
- '/functions/pages/isr-*.prerender-config.json',
- (context) => {
- testSchema(context, vercelOutputPrerenderConfigSchema);
+prepareTestJsonFileContent("/functions/pages/isr-*.prerender-config.json", (context) => {
+ testSchema(context, vercelOutputPrerenderConfigSchema);
- it('should have only necessary properties', function () {
- expect(Object.keys(context.file as any)).toHaveLength(2);
- expect(context.file).toHaveProperty('expiration', 15);
- expect(context.file).toHaveProperty('group');
- expect((context.file as any).group).toBeTypeOf('number');
- });
- },
-);
+ it("should have only necessary properties", () => {
+ expect(Object.keys(context.file as any)).toHaveLength(2);
+ expect(context.file).toHaveProperty("expiration", 15);
+ expect(context.file).toHaveProperty("group");
+ expect((context.file as any).group).toBeTypeOf("number");
+ });
+});
-prepareTestJsonFileContent(
- '/functions/pages/named-*.prerender-config.json',
- (context) => {
- testSchema(context, vercelOutputPrerenderConfigSchema);
+prepareTestJsonFileContent("/functions/pages/named-*.prerender-config.json", (context) => {
+ testSchema(context, vercelOutputPrerenderConfigSchema);
- it('should have only necessary properties', function () {
- expect(Object.keys(context.file as any)).toHaveLength(2);
- expect(context.file).toHaveProperty('expiration', 25);
- expect(context.file).toHaveProperty('group');
- expect((context.file as any).group).toBeTypeOf('number');
- });
- },
-);
+ it("should have only necessary properties", () => {
+ expect(Object.keys(context.file as any)).toHaveLength(2);
+ expect(context.file).toHaveProperty("expiration", 25);
+ expect(context.file).toHaveProperty("group");
+ expect((context.file as any).group).toBeTypeOf("number");
+ });
+});
diff --git a/examples/demo/tests/05-vike/utils.ts b/examples/demo/tests/05-vike/utils.ts
index 614e0590..e848860d 100644
--- a/examples/demo/tests/05-vike/utils.ts
+++ b/examples/demo/tests/05-vike/utils.ts
@@ -1,19 +1,16 @@
-import path from 'path';
-import glob from 'fast-glob';
-import fs from 'fs/promises';
-import { beforeAll, describe } from 'vitest';
-import { TestContext } from '../common/helpers';
+import fs from "node:fs/promises";
+import path from "node:path";
+import glob from "fast-glob";
+import { beforeAll, describe } from "vitest";
+import type { TestContext } from "../common/helpers";
-export function prepareTestJsonFileContent(
- file: string,
- callback: (context: T) => void,
-) {
+export function prepareTestJsonFileContent(file: string, callback: (context: T) => void) {
const context = {
file: undefined,
} as T;
beforeAll(async () => {
- const dest = path.join(__dirname, '../../.vercel/output', file);
+ const dest = path.join(__dirname, "../../.vercel/output", file);
const entries = await glob(dest);
if (entries.length !== 1) {
@@ -21,20 +18,19 @@ export function prepareTestJsonFileContent(
}
const fileContent = await fs.readFile(entries[0], {
- encoding: 'utf-8',
+ encoding: "utf-8",
});
context.file = JSON.parse(fileContent);
});
- describe(file, function () {
+ describe(file, () => {
callback(context);
});
}
-export function prepareTestJsonFilesContent(
- files: string[],
- callback: (context: T) => void,
-) {
- files.forEach((f) => prepareTestJsonFileContent(f, callback));
+export function prepareTestJsonFilesContent(files: string[], callback: (context: T) => void) {
+ for (const f of files) {
+ prepareTestJsonFileContent(f, callback);
+ }
}
diff --git a/examples/demo/tests/05-vike/vc-config.test.ts b/examples/demo/tests/05-vike/vc-config.test.ts
index 552a7e02..8cddb2d9 100644
--- a/examples/demo/tests/05-vike/vc-config.test.ts
+++ b/examples/demo/tests/05-vike/vc-config.test.ts
@@ -1,26 +1,26 @@
-import path from 'path';
-import { expect, it } from 'vitest';
-import { vercelOutputVcConfigSchema } from '../../../../packages/vercel/src/schemas/config/vc-config';
-import { testSchema } from '../common/helpers';
-import { prepareTestJsonFilesContent } from './utils';
+import path from "node:path";
+import { expect, it } from "vitest";
+import { vercelOutputVcConfigSchema } from "../../../../packages/vercel/src/schemas/config/vc-config";
+import { testSchema } from "../common/helpers";
+import { prepareTestJsonFilesContent } from "./utils";
prepareTestJsonFilesContent(
[
- '/functions/api/page.func/.vc-config.json',
- '/functions/api/post.func/.vc-config.json',
- '/functions/ssr_.func/.vc-config.json',
- '/functions/pages/catch-all-*.func/.vc-config.json',
- '/functions/pages/isr-*.func/.vc-config.json',
- '/functions/pages/named-*.func/.vc-config.json',
+ "/functions/api/page.func/.vc-config.json",
+ "/functions/api/post.func/.vc-config.json",
+ "/functions/ssr_.func/.vc-config.json",
+ "/functions/pages/catch-all-*.func/.vc-config.json",
+ "/functions/pages/isr-*.func/.vc-config.json",
+ "/functions/pages/named-*.func/.vc-config.json",
],
(context) => {
testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
+ it("should have only necessary properties", () => {
expect(context.file).toStrictEqual({
- handler: 'index.mjs',
- launcherType: 'Nodejs',
- runtime: 'nodejs20.x',
+ handler: "index.mjs",
+ launcherType: "Nodejs",
+ runtime: "nodejs20.x",
shouldAddHelpers: true,
supportsResponseStreaming: true,
});
@@ -28,16 +28,13 @@ prepareTestJsonFilesContent(
},
);
-prepareTestJsonFilesContent(
- ['/functions/edge.func/.vc-config.json'],
- (context) => {
- testSchema(context, vercelOutputVcConfigSchema);
+prepareTestJsonFilesContent(["/functions/edge.func/.vc-config.json"], (context) => {
+ testSchema(context, vercelOutputVcConfigSchema);
- it('should have only necessary properties', function () {
- expect(context.file).toStrictEqual({
- runtime: 'edge',
- entrypoint: 'index.js',
- });
+ it("should have only necessary properties", () => {
+ expect(context.file).toStrictEqual({
+ runtime: "edge",
+ entrypoint: "index.js",
});
- },
-);
+ });
+});
diff --git a/examples/demo/tests/05-vike/vite.config._test_.js b/examples/demo/tests/05-vike/vite.config._test_.js
index 98997a95..b97429ce 100644
--- a/examples/demo/tests/05-vike/vite.config._test_.js
+++ b/examples/demo/tests/05-vike/vite.config._test_.js
@@ -1,9 +1,9 @@
-import react from '@vitejs/plugin-react';
-import ssr from 'vike/plugin';
-import vercel from 'vite-plugin-vercel';
+import react from "@vitejs/plugin-react";
+import ssr from "vike/plugin";
+import vercel from "vite-plugin-vercel";
export default {
- mode: 'production',
+ mode: "production",
root: process.cwd(),
plugins: [
react(),
@@ -18,8 +18,8 @@ export default {
rewrites: [],
additionalEndpoints: [
{
- source: 'endpoints/edge.ts',
- destination: `edge`,
+ source: "endpoints/edge.ts",
+ destination: "edge",
edge: true,
addRoute: true,
},
diff --git a/examples/demo/tests/05-vike/vitest.config.ts b/examples/demo/tests/05-vike/vitest.config.ts
index 90a72895..4b6a7fe7 100644
--- a/examples/demo/tests/05-vike/vitest.config.ts
+++ b/examples/demo/tests/05-vike/vitest.config.ts
@@ -1,4 +1,4 @@
-import { defineConfig } from 'vitest/config';
+import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
diff --git a/examples/demo/tests/common/helpers.ts b/examples/demo/tests/common/helpers.ts
index 7f1e7a7e..6aaffea4 100644
--- a/examples/demo/tests/common/helpers.ts
+++ b/examples/demo/tests/common/helpers.ts
@@ -1,40 +1,33 @@
-import glob from 'fast-glob';
-import fs from 'fs/promises';
-import path from 'path';
-import { beforeAll, describe, expect, it } from 'vitest';
-import { ZodSchema } from 'zod';
-import { getTmpDir } from './utils';
+import fs from "node:fs/promises";
+import path from "node:path";
+import glob from "fast-glob";
+import { beforeAll, describe, expect, it } from "vitest";
+import type { ZodSchema } from "zod";
+import { getTmpDir } from "./utils";
export interface TestContext {
file: unknown;
}
-export function testFs(
- dirname: string,
- filesOrCallback: Iterable | ((entries: string[]) => void),
-) {
- it(`should generate the right files`, async function () {
+export function testFs(dirname: string, filesOrCallback: Iterable | ((entries: string[]) => void)) {
+ it("should generate the right files", async () => {
const tmpdir = getTmpDir(dirname);
- const entries = await glob(tmpdir + '/**', { dot: true });
- let mappedEntries = entries
- .map((e) => e.replace(tmpdir, ''))
- .filter((e) => !e.startsWith('/_ignore'));
+ const entries = await glob(`${tmpdir}/**`, { dot: true });
+ let mappedEntries = entries.map((e) => e.replace(tmpdir, "")).filter((e) => !e.startsWith("/_ignore"));
mappedEntries = Array.from(new Set(mappedEntries));
- if (typeof filesOrCallback === 'function') {
+ if (typeof filesOrCallback === "function") {
filesOrCallback(mappedEntries);
} else {
- expect(mappedEntries.sort()).toMatchObject(
- Array.from(filesOrCallback).sort(),
- );
+ expect(mappedEntries.sort()).toMatchObject(Array.from(filesOrCallback).sort());
}
});
}
export function testSchema(context: TestContext, schema: ZodSchema) {
- it('should respect schema', function () {
- expect(schema.safeParse(context.file)).not.toHaveProperty('error');
+ it("should respect schema", () => {
+ expect(schema.safeParse(context.file)).not.toHaveProperty("error");
});
}
@@ -43,7 +36,9 @@ export function prepareTestJsonFilesContent(
files: string[],
callback: (context: T) => void,
) {
- files.forEach((f) => prepareTestJsonFileContent(dirname, f, callback));
+ for (const f of files) {
+ prepareTestJsonFileContent(dirname, f, callback);
+ }
}
export function prepareTestJsonFileContent(
@@ -64,13 +59,13 @@ export function prepareTestJsonFileContent(
}
const fileContent = await fs.readFile(entries[0], {
- encoding: 'utf-8',
+ encoding: "utf-8",
});
context.file = JSON.parse(fileContent);
});
- describe(file, function () {
+ describe(file, () => {
callback(context);
});
}
diff --git a/examples/demo/tests/common/index2.ts b/examples/demo/tests/common/index2.ts
index 024d2edb..68f4b0f9 100644
--- a/examples/demo/tests/common/index2.ts
+++ b/examples/demo/tests/common/index2.ts
@@ -1,2 +1,2 @@
// SSR entrypoint
-console.log('hello');
+console.log("hello");
diff --git a/examples/demo/tests/common/setup.ts b/examples/demo/tests/common/setup.ts
index ecc4589b..e4a67be3 100644
--- a/examples/demo/tests/common/setup.ts
+++ b/examples/demo/tests/common/setup.ts
@@ -1,12 +1,12 @@
-import fs from 'fs/promises';
-import os from 'os';
-import path from 'path';
-import type { InlineConfig } from 'vite';
-import { callBuild } from './utils';
+import fs from "node:fs/promises";
+import os from "node:os";
+import path from "node:path";
+import type { InlineConfig } from "vite";
+import { callBuild } from "./utils";
export function setup(displayName: string, inlineConfig: InlineConfig) {
return async () => {
- const tmpdir = path.join(os.tmpdir(), 'vpv-demo-' + displayName);
+ const tmpdir = path.join(os.tmpdir(), `vpv-demo-${displayName}`);
await fs.rm(tmpdir, {
recursive: true,
diff --git a/examples/demo/tests/common/teardown.ts b/examples/demo/tests/common/teardown.ts
index 028e7fde..fc9234d3 100644
--- a/examples/demo/tests/common/teardown.ts
+++ b/examples/demo/tests/common/teardown.ts
@@ -1,10 +1,10 @@
-import path from 'path';
-import os from 'os';
-import fs from 'fs/promises';
+import path from "node:path";
+import os from "node:os";
+import fs from "node:fs/promises";
export function teardown(displayName: string) {
return async () => {
- const tmpdir = path.join(os.tmpdir(), 'vpv-demo-' + displayName);
+ const tmpdir = path.join(os.tmpdir(), `vpv-demo-${displayName}`);
await fs.rm(tmpdir, {
recursive: true,
diff --git a/examples/demo/tests/common/utils.ts b/examples/demo/tests/common/utils.ts
index 31aaa2f3..aa1ad227 100644
--- a/examples/demo/tests/common/utils.ts
+++ b/examples/demo/tests/common/utils.ts
@@ -1,12 +1,12 @@
-import os from 'os';
-import path from 'path';
-import { build, InlineConfig } from 'vite';
+import os from "node:os";
+import path from "node:path";
+import { build, type InlineConfig } from "vite";
export function getTmpDir(displayName: string) {
- return path.join(os.tmpdir(), 'vpv-demo-' + displayName);
+ return path.join(os.tmpdir(), `vpv-demo-${displayName}`);
}
-declare module 'vite' {
+declare module "vite" {
interface BuildOptions {
vitePluginSsr?: {
prerender?:
@@ -34,8 +34,8 @@ export async function callBuild(dirname: string, config: InlineConfig) {
...config.vercel,
additionalEndpoints: [
{
- source: 'endpoints/edge.ts',
- destination: `edge`,
+ source: "endpoints/edge.ts",
+ destination: "edge",
addRoute: true,
},
...(config.vercel?.additionalEndpoints ?? []),
@@ -47,10 +47,10 @@ export async function callBuild(dirname: string, config: InlineConfig) {
...config.build,
rollupOptions: {
input: {
- 'index.html': 'tests/common/index.html',
+ "index.html": "tests/common/index.html",
},
},
},
- logLevel: 'info',
+ logLevel: "info",
});
}
diff --git a/examples/demo/tsconfig.json b/examples/demo/tsconfig.json
index 389e5b40..f066f3f3 100644
--- a/examples/demo/tsconfig.json
+++ b/examples/demo/tsconfig.json
@@ -2,11 +2,11 @@
"compilerOptions": {
"strict": true,
"module": "ES2022",
- "moduleResolution": "Node",
+ "moduleResolution": "Bundler",
"target": "ES2022",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"types": ["vite/client"],
- "jsx": "react",
+ "jsx": "react-jsx",
"skipLibCheck": true,
"esModuleInterop": true
}
diff --git a/examples/demo/vite.config.ts b/examples/demo/vite.config.ts
index 8269e68e..4bb65f86 100644
--- a/examples/demo/vite.config.ts
+++ b/examples/demo/vite.config.ts
@@ -1,7 +1,7 @@
-import react from '@vitejs/plugin-react-swc';
-import ssr from 'vike/plugin';
-import vercel from 'vite-plugin-vercel';
-import { UserConfig } from 'vite';
+import react from "@vitejs/plugin-react-swc";
+import ssr from "vike/plugin";
+import vercel from "vite-plugin-vercel";
+import type { UserConfig } from "vite";
export default {
plugins: [
@@ -15,23 +15,23 @@ export default {
expiration: 25,
additionalEndpoints: [
{
- source: 'endpoints/edge.ts',
- destination: `edge`,
+ source: "endpoints/edge.ts",
+ destination: "edge",
addRoute: true,
},
{
- source: 'endpoints/og-node.tsx',
- destination: `og-node`,
+ source: "endpoints/og-node.tsx",
+ destination: "og-node",
addRoute: true,
},
{
- source: 'endpoints/og-edge.tsx',
- destination: `og-edge`,
+ source: "endpoints/og-edge.tsx",
+ destination: "og-edge",
addRoute: true,
},
],
},
// We manually add a list of dependencies to be pre-bundled, in order to avoid a page reload at dev start which breaks vike's CI
// (The 'react/jsx-runtime' entry is not needed in Vite 3 anymore.)
- optimizeDeps: { include: ['cross-fetch', 'react/jsx-runtime'] },
+ optimizeDeps: { include: ["cross-fetch", "react/jsx-runtime"] },
} as UserConfig;
diff --git a/examples/express/express-entry.ts b/examples/express/express-entry.ts
index bebb9b78..7528c1be 100644
--- a/examples/express/express-entry.ts
+++ b/examples/express/express-entry.ts
@@ -1,69 +1,28 @@
-import { dirname } from 'node:path';
-import { fileURLToPath } from 'node:url';
+import { dirname } from "node:path";
+import { fileURLToPath } from "node:url";
-import { vikeHandler } from './server/vike-handler';
-import { createMiddleware } from '@universal-middleware/express';
-import express from 'express';
+import { createHandler, createMiddleware } from "@universal-middleware/express";
+import express from "express";
+import { vikeHandler } from "./server/vike-handler";
const __filename = globalThis.__filename ?? fileURLToPath(import.meta.url);
const __dirname = globalThis.__dirname ?? dirname(__filename);
const root = __dirname;
-const port = process.env.PORT ? parseInt(process.env.PORT, 10) : 3000;
-const hmrPort = process.env.HMR_PORT
- ? parseInt(process.env.HMR_PORT, 10)
- : 24678;
-
-interface Middleware<
- Context extends Record,
-> {
- (
- request: Request,
- context: Context,
- ): Response | void | Promise | Promise;
-}
-
-export function handlerAdapter<
- Context extends Record,
->(handler: Middleware) {
- return createMiddleware(
- async (context) => {
- const rawRequest = context.platform.request as unknown as Record<
- string,
- unknown
- >;
- rawRequest.context ??= {};
- const response = await handler(
- context.request,
- rawRequest.context as Context,
- );
-
- if (!response) {
- context.passThrough();
- return new Response('', {
- status: 404,
- });
- }
-
- return response;
- },
- {
- alwaysCallNext: false,
- },
- );
-}
+const port = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 3000;
+const hmrPort = process.env.HMR_PORT ? Number.parseInt(process.env.HMR_PORT, 10) : 24678;
export default await startServer();
async function startServer() {
const app = express();
- if (process.env.NODE_ENV === 'production') {
+ if (process.env.NODE_ENV === "production") {
app.use(express.static(`${root}/dist/client`));
} else {
// Instantiate Vite's development server and integrate its middleware to our server.
- // ⚠️ We should instantiate it *only* in development. (It isn't needed in production
+ // ! We should instantiate it *only* in development. (It isn't needed in production
// and would unnecessarily bloat our server in production.)
- const vite = await import('vite');
+ const vite = await import("vite");
const viteDevMiddleware = (
await vite.createServer({
root,
@@ -74,11 +33,11 @@ async function startServer() {
}
app.get(
- '/hello',
- handlerAdapter(() => {
- console.log('HELLO');
- return new Response('Hello');
- }),
+ "/hello",
+ createMiddleware(() => () => {
+ console.log("HELLO");
+ return new Response("Hello");
+ })(),
);
/**
@@ -86,7 +45,7 @@ async function startServer() {
*
* @link {@see https://vike.dev}
**/
- app.all('*', handlerAdapter(vikeHandler));
+ app.all("*", createHandler(() => vikeHandler)());
app.listen(port, () => {
console.log(`Server listening on http://localhost:${port}`);
diff --git a/examples/express/package.json b/examples/express/package.json
index 8314d4d2..1bb60775 100755
--- a/examples/express/package.json
+++ b/examples/express/package.json
@@ -13,19 +13,19 @@
"author": "",
"devDependencies": {
"@types/express": "^4.17.21",
- "@types/node": "^18.19.31",
- "@types/react": "^18.2.79",
- "@types/react-dom": "^18.2.25",
- "@universal-middleware/express": "^0.0.2",
+ "@types/node": "^18.19.45",
+ "@types/react": "^18.3.3",
+ "@types/react-dom": "^18.3.0",
+ "@universal-middleware/express": "^0.2.1",
"@vercel/node": "^3.0.26",
- "@vitejs/plugin-react-swc": "^3.6.0",
+ "@vitejs/plugin-react-swc": "^3.7.0",
"express": "^4.19.2",
- "react": "^18.2.0",
- "tsx": "^4.16.2",
+ "react": "^18.3.1",
+ "tsx": "^4.17.0",
"typescript": "^5.4.5",
- "vike": "^0.4.178",
- "vike-react": "^0.4.16",
- "vite": "^5.2.9"
+ "vike": "^0.4.188",
+ "vike-react": "^0.5.3",
+ "vite": "^5.4.1"
},
"dependencies": {
"vite-plugin-vercel": "workspace:*"
diff --git a/examples/express/pages/+config.ts b/examples/express/pages/+config.ts
index 228e864c..3a2b0a04 100644
--- a/examples/express/pages/+config.ts
+++ b/examples/express/pages/+config.ts
@@ -1,8 +1,8 @@
-import vikeReact from 'vike-react/config';
-import type { Config } from 'vike/types';
+import vikeReact from "vike-react/config";
+import type { Config } from "vike/types";
// Default config (can be overridden by pages)
export default {
- title: 'My Vike App',
+ title: "My Vike App",
extends: vikeReact,
} satisfies Config;
diff --git a/examples/express/pages/index/+Page.tsx b/examples/express/pages/index/+Page.tsx
index ce09e2eb..a5b5d778 100644
--- a/examples/express/pages/index/+Page.tsx
+++ b/examples/express/pages/index/+Page.tsx
@@ -1,5 +1,5 @@
-import React from 'react';
-import { Counter } from './Counter.js';
+import React from "react";
+import { Counter } from "./Counter.js";
export default function Page() {
return (
diff --git a/examples/express/pages/index/Counter.tsx b/examples/express/pages/index/Counter.tsx
index 46393a1e..9245aaca 100644
--- a/examples/express/pages/index/Counter.tsx
+++ b/examples/express/pages/index/Counter.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState } from "react";
export { Counter };
diff --git a/examples/express/server/vike-handler.ts b/examples/express/server/vike-handler.ts
index 3153f9ba..60d71aae 100644
--- a/examples/express/server/vike-handler.ts
+++ b/examples/express/server/vike-handler.ts
@@ -1,9 +1,10 @@
///
-import { renderPage } from 'vike/server';
+import { renderPage } from "vike/server";
-export async function vikeHandler<
- Context extends Record,
->(request: Request, context?: Context): Promise {
+export async function vikeHandler>(
+ request: Request,
+ context?: Context,
+): Promise {
const pageContextInit = { ...context, urlOriginal: request.url };
const pageContext = await renderPage(pageContextInit);
const response = pageContext.httpResponse;
diff --git a/examples/express/tsconfig.json b/examples/express/tsconfig.json
index d0c4a18a..1708c8c3 100755
--- a/examples/express/tsconfig.json
+++ b/examples/express/tsconfig.json
@@ -8,10 +8,10 @@
"sourceMap": true,
"module": "ESNext",
"noEmit": true,
- "moduleResolution": "node",
+ "moduleResolution": "Bundler",
"target": "ES2022",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"types": ["vite/client"],
- "jsx": "react"
+ "jsx": "react-jsx"
}
}
diff --git a/examples/express/vite.config.ts b/examples/express/vite.config.ts
index 00702e47..ab323dbf 100755
--- a/examples/express/vite.config.ts
+++ b/examples/express/vite.config.ts
@@ -1,28 +1,27 @@
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react-swc';
+import react from "@vitejs/plugin-react-swc";
+import vike from "vike/plugin";
+import type { UserConfig } from "vite";
+import vercel from "vite-plugin-vercel";
-import vike from 'vike/plugin';
-import vercel from 'vite-plugin-vercel';
-
-export default defineConfig({
+export default {
plugins: [
react(),
vike(),
vercel({
// You usually want the server to handle all routes
- source: '/.*',
+ source: "/.*",
}),
],
vercel: {
additionalEndpoints: [
{
// entry file to the server. Default export must be a node server or a function
- source: 'express-entry.ts',
+ source: "express-entry.ts",
// replaces default Vike target
- destination: 'ssr_',
+ destination: "ssr_",
// already added by default Vike route
addRoute: false,
},
],
},
-});
+} as UserConfig;
diff --git a/examples/simple/_api/edge.ts b/examples/simple/_api/edge.ts
index 3c838045..5d7ad85d 100644
--- a/examples/simple/_api/edge.ts
+++ b/examples/simple/_api/edge.ts
@@ -1,10 +1,7 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
export const edge = true;
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/simple/_api/endpoint.ts b/examples/simple/_api/endpoint.ts
index 0c55a5eb..304aa326 100644
--- a/examples/simple/_api/endpoint.ts
+++ b/examples/simple/_api/endpoint.ts
@@ -1,8 +1,5 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/simple/_api/headers.ts b/examples/simple/_api/headers.ts
index b1c55074..e22ba5e7 100644
--- a/examples/simple/_api/headers.ts
+++ b/examples/simple/_api/headers.ts
@@ -1,10 +1,7 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
-export const headers = { 'X-VitePluginVercel-Test': 'test' };
+export const headers = { "X-VitePluginVercel-Test": "test" };
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/simple/_api/isr.ts b/examples/simple/_api/isr.ts
index c37999f6..374e2a8b 100644
--- a/examples/simple/_api/isr.ts
+++ b/examples/simple/_api/isr.ts
@@ -1,10 +1,7 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
export const isr = { expiration: 10 };
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- return response.send('OK');
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ return response.send("OK");
}
diff --git a/examples/simple/package.json b/examples/simple/package.json
index 66892aa4..59197005 100644
--- a/examples/simple/package.json
+++ b/examples/simple/package.json
@@ -11,10 +11,10 @@
"keywords": [],
"author": "",
"devDependencies": {
- "@types/node": "^18.19.31",
+ "@types/node": "^18.19.45",
"@vercel/node": "^3.0.26",
"typescript": "^5.4.5",
- "vite": "^5.2.9"
+ "vite": "^5.4.1"
},
"dependencies": {
"vite-plugin-vercel": "workspace:*"
diff --git a/examples/simple/tsconfig.json b/examples/simple/tsconfig.json
index 84050321..e0c6c91d 100644
--- a/examples/simple/tsconfig.json
+++ b/examples/simple/tsconfig.json
@@ -10,7 +10,7 @@
"sourceMap": true,
"module": "ESNext",
"noEmit": true,
- "moduleResolution": "node",
+ "moduleResolution": "Bundler",
"target": "ES2022",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"types": ["vite/client"]
diff --git a/examples/simple/vite.config.ts b/examples/simple/vite.config.ts
index 495ef020..af315856 100644
--- a/examples/simple/vite.config.ts
+++ b/examples/simple/vite.config.ts
@@ -1,5 +1,5 @@
-import { defineConfig } from 'vite';
-import vercel from 'vite-plugin-vercel';
+import { defineConfig } from "vite";
+import vercel from "vite-plugin-vercel";
export default defineConfig({
plugins: [
diff --git a/lint-staged.config.js b/lint-staged.config.js
deleted file mode 100644
index 042a328d..00000000
--- a/lint-staged.config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default {
- '*': 'prettier --ignore-unknown --write',
-};
diff --git a/package.json b/package.json
index 53c24842..bb6220aa 100644
--- a/package.json
+++ b/package.json
@@ -10,20 +10,18 @@
"build:all": "pnpm -r --filter \"./packages/vercel\" build && pnpm -r --filter \"./packages/vike-integration\" build && pnpm -r --filter \"./examples/*\" build",
"build:demo": "pnpm run build:all && cp -rf examples/demo/public examples/demo/.vercel .",
"typecheck:all": "pnpm -r typecheck",
- "prepare": "husky",
- "precommit": "lint-staged",
"test": "pnpm run build:all && pnpm run -r test",
+ "format": "biome format --write .",
+ "lint": "biome lint .",
"prepublishOnly": "pnpm run test && changeset version",
"publish:beta": "changeset pre enter beta && pnpm run prepublishOnly && changeset publish -r --tag beta && changeset pre exit",
"publish:stable": "pnpm run prepublishOnly && changeset publish -r"
},
"devDependencies": {
+ "@biomejs/biome": "^1.8.3",
"@changesets/cli": "^2.27.7",
- "@types/node": "^18.19.31",
+ "@types/node": "^18.19.45",
"cross-env": "^7.0.3",
- "husky": "^9.1.4",
- "lint-staged": "^15.2.8",
- "prettier": "^3.3.3",
"typescript": "^5.5.4"
}
}
diff --git a/packages/vercel/.eslintrc.cjs b/packages/vercel/.eslintrc.cjs
deleted file mode 100644
index 1f60a507..00000000
--- a/packages/vercel/.eslintrc.cjs
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = {
- root: true,
- parser: '@typescript-eslint/parser',
- plugins: ['@typescript-eslint'],
- extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
- ignorePatterns: ['dist'],
-};
diff --git a/packages/vercel/index.d.ts b/packages/vercel/index.d.ts
index 928c790d..f637e50a 100644
--- a/packages/vercel/index.d.ts
+++ b/packages/vercel/index.d.ts
@@ -1,9 +1,9 @@
-import { ViteVercelConfig } from './dist';
+import type { ViteVercelConfig } from "./dist";
-export * from './dist';
-export { default } from './dist';
+export * from "./dist";
+export { default } from "./dist";
-declare module 'vite' {
+declare module "vite" {
export interface UserConfig {
vercel?: ViteVercelConfig;
}
diff --git a/packages/vercel/lint-staged.config.js b/packages/vercel/lint-staged.config.js
deleted file mode 100644
index 58de9fd4..00000000
--- a/packages/vercel/lint-staged.config.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export default {
- '**/*.ts?(x)': [
- () => 'tsc -p tsconfig.json --noEmit',
- 'eslint --max-warnings 0 --ignore-pattern dist',
- ],
- '*': 'prettier --ignore-unknown --write',
-};
diff --git a/packages/vercel/package.json b/packages/vercel/package.json
index 9ea415cd..79ae18ea 100644
--- a/packages/vercel/package.json
+++ b/packages/vercel/package.json
@@ -11,7 +11,8 @@
"exports": {
".": {
"import": "./dist/index.js",
- "require": "./dist/index.cjs"
+ "require": "./dist/index.cjs",
+ "types": "./index.d.ts"
},
"./types": {
"types": "./index.d.ts"
@@ -26,8 +27,7 @@
"build": "tsup",
"dev": "tsup --watch",
"prepack": "rm -rf dist && pnpm build",
- "typecheck": "tsc -p tsconfig.json --noEmit",
- "lint:ts": "eslint . --max-warnings 0 --ignore-pattern dist"
+ "typecheck": "tsc -p tsconfig.json --noEmit"
},
"peerDependencies": {
"@vite-plugin-vercel/vike": "workspace:*",
@@ -43,23 +43,20 @@
}
},
"devDependencies": {
- "@types/node": "^18.19.31",
- "@typescript-eslint/eslint-plugin": "^7.18.0",
- "@typescript-eslint/parser": "^7.18.0",
+ "@types/node": "^18.19.45",
"@vite-plugin-vercel/vike": "workspace:*",
- "eslint": "^8.57.0",
"tsup": "^8.2.4",
"typescript": "^5.5.4",
- "vike": "^0.4.183",
- "vite": "^5.4.0"
+ "vike": "^0.4.188",
+ "vite": "^5.4.1"
},
"dependencies": {
"@brillout/libassert": "^0.5.8",
- "@manypkg/find-root": "^2.2.2",
+ "@manypkg/find-root": "^2.2.3",
"@vercel/build-utils": "^8.3.6",
"@vercel/nft": "^0.27.3",
"@vercel/routing-utils": "^3.1.0",
- "esbuild": "^0.23.0",
+ "esbuild": "^0.23.1",
"fast-glob": "^3.3.2",
"magicast": "^0.3.4",
"zod": "^3.23.8"
diff --git a/packages/vercel/src/assert.ts b/packages/vercel/src/assert.ts
index 252153dc..14f8cf45 100644
--- a/packages/vercel/src/assert.ts
+++ b/packages/vercel/src/assert.ts
@@ -1,11 +1,9 @@
-import { newError } from '@brillout/libassert';
+// @ts-ignore
+import { newError } from "@brillout/libassert";
-const libName = 'vite-plugin-vercel';
+const libName = "vite-plugin-vercel";
-export function assert(
- condition: unknown,
- errorMessage: string,
-): asserts condition {
+export function assert(condition: unknown, errorMessage: string): asserts condition {
if (condition) {
return;
}
diff --git a/packages/vercel/src/build.ts b/packages/vercel/src/build.ts
index 42de2fba..79fb992d 100644
--- a/packages/vercel/src/build.ts
+++ b/packages/vercel/src/build.ts
@@ -1,56 +1,50 @@
-import { ResolvedConfig } from 'vite';
-import glob from 'fast-glob';
-import { builtinModules } from 'module'
-import path, { basename } from 'path';
-import { getOutput, getRoot, pathRelativeTo } from './utils';
-import { build, BuildOptions, type Plugin } from 'esbuild';
-import { VercelOutputIsr, ViteVercelApiEntry } from './types';
-import { assert } from './assert';
-import { vercelOutputVcConfigSchema } from './schemas/config/vc-config';
-import fs, { copyFile } from 'fs/promises';
-import type { Header, Rewrite } from '@vercel/routing-utils';
-import { vercelEndpointExports } from './schemas/exports';
-import { generateCode, loadFile, type ASTNode } from 'magicast';
-import { getNodeVersion } from '@vercel/build-utils';
-import { nodeFileTrace } from '@vercel/nft';
-import { findRoot } from '@manypkg/find-root';
+import fs, { copyFile } from "node:fs/promises";
+import { builtinModules } from "node:module";
+import path, { basename } from "node:path";
+import { findRoot } from "@manypkg/find-root";
+import { getNodeVersion } from "@vercel/build-utils";
+import { nodeFileTrace } from "@vercel/nft";
+import type { Header, Rewrite } from "@vercel/routing-utils";
+import { type BuildOptions, type Plugin, build } from "esbuild";
+import glob from "fast-glob";
+import { type ASTNode, generateCode, loadFile } from "magicast";
+import type { ResolvedConfig } from "vite";
+import { assert } from "./assert";
+import { vercelOutputVcConfigSchema } from "./schemas/config/vc-config";
+import { vercelEndpointExports } from "./schemas/exports";
+import type { VercelOutputIsr, ViteVercelApiEntry } from "./types";
+import { getOutput, getRoot, pathRelativeTo } from "./utils";
export function getAdditionalEndpoints(resolvedConfig: ResolvedConfig) {
return (resolvedConfig.vercel?.additionalEndpoints ?? []).map((e) => ({
...e,
addRoute: e.addRoute ?? true,
// path.resolve removes the trailing slash if any
- destination: path.posix.resolve('/', e.destination) + '.func',
+ destination: `${path.posix.resolve("/", e.destination)}.func`,
}));
}
-export function getEntries(
- resolvedConfig: ResolvedConfig,
-): ViteVercelApiEntry[] {
+export function getEntries(resolvedConfig: ResolvedConfig): ViteVercelApiEntry[] {
const apiEntries = glob
.sync(`${getRoot(resolvedConfig)}/api/**/*.*([a-zA-Z0-9])`)
// from Vercel doc: Files with the underscore prefix are not turned into Serverless Functions.
- .filter((filepath) => !path.basename(filepath).startsWith('_'));
+ .filter((filepath) => !path.basename(filepath).startsWith("_"));
if (apiEntries.length > 0) {
console.warn(
- '@vercel/build is currently force building /api files itself, with no way to disable it. ' +
- 'In order to avoid double compilation, you should temporarily rename /api to /_api while using this plugin. ' +
- '/_api functions are compiled under .vercel/output/functions/api/*.func as if they were in /api.',
+ "@vercel/build is currently force building /api files itself, with no way to disable it. " +
+ "In order to avoid double compilation, you should temporarily rename /api to /_api while using this plugin. " +
+ "/_api functions are compiled under .vercel/output/functions/api/*.func as if they were in /api.",
);
}
const otherApiEntries = glob
.sync(`${getRoot(resolvedConfig)}/_api/**/*.*([a-zA-Z0-9])`)
// from Vercel doc: Files with the underscore prefix are not turned into Serverless Functions.
- .filter((filepath) => !path.basename(filepath).startsWith('_'));
+ .filter((filepath) => !path.basename(filepath).startsWith("_"));
return [...apiEntries, ...otherApiEntries].reduce((entryPoints, filePath) => {
- const outFilePath = pathRelativeTo(
- filePath,
- resolvedConfig,
- filePath.includes('/_api/') ? '_api' : 'api',
- );
+ const outFilePath = pathRelativeTo(filePath, resolvedConfig, filePath.includes("/_api/") ? "_api" : "api");
const parsed = path.posix.parse(outFilePath);
entryPoints.push({
@@ -64,11 +58,11 @@ export function getEntries(
}
const edgeWasmPlugin: Plugin = {
- name: 'edge-wasm-vercel',
+ name: "edge-wasm-vercel",
setup(build) {
build.onResolve({ filter: /\.wasm/ }, (args) => {
return {
- path: args.path.replace(/\.wasm\?module$/i, '.wasm'),
+ path: args.path.replace(/\.wasm\?module$/i, ".wasm"),
external: true,
};
});
@@ -77,7 +71,7 @@ const edgeWasmPlugin: Plugin = {
const vercelOgPlugin = (ctx: { found: boolean; index: string }): Plugin => {
return {
- name: 'vercel-og',
+ name: "vercel-og",
setup(build) {
build.onResolve({ filter: /@vercel\/og/ }, () => {
ctx.found = true;
@@ -94,32 +88,26 @@ const vercelOgPlugin = (ctx: { found: boolean; index: string }): Plugin => {
const standardBuildOptions: BuildOptions = {
bundle: true,
- target: 'es2022',
- format: 'esm',
- platform: 'node',
- logLevel: 'info',
+ target: "es2022",
+ format: "esm",
+ platform: "node",
+ logLevel: "info",
logOverride: {
- 'ignored-bare-import': 'verbose',
- 'require-resolve-not-external': 'verbose',
+ "ignored-bare-import": "verbose",
+ "require-resolve-not-external": "verbose",
},
minify: false,
plugins: [],
define: {
- 'process.env.NODE_ENV': '"production"',
- 'import.meta.env.NODE_ENV': '"production"',
+ "process.env.NODE_ENV": '"production"',
+ "import.meta.env.NODE_ENV": '"production"',
},
};
-export async function buildFn(
- resolvedConfig: ResolvedConfig,
- entry: ViteVercelApiEntry,
- buildOptions?: BuildOptions,
-) {
+export async function buildFn(resolvedConfig: ResolvedConfig, entry: ViteVercelApiEntry, buildOptions?: BuildOptions) {
assert(
entry.destination.length > 0,
- `Endpoint ${
- typeof entry.source === 'string' ? entry.source : '-'
- } does not have build destination`,
+ `Endpoint ${typeof entry.source === "string" ? entry.source : "-"} does not have build destination`,
);
const options = Object.assign({}, standardBuildOptions);
@@ -128,46 +116,28 @@ export async function buildFn(
Object.assign(options, buildOptions);
}
- const filename =
- entry.edge || options.format === 'cjs' ? 'index.js' : 'index.mjs';
- const outfile = path.join(
- getOutput(resolvedConfig, 'functions'),
- entry.destination,
- filename,
- );
+ const filename = entry.edge || options.format === "cjs" ? "index.js" : "index.mjs";
+ const outfile = path.join(getOutput(resolvedConfig, "functions"), entry.destination, filename);
Object.assign(options, { outfile });
if (!options.stdin) {
- if (typeof entry.source === 'string') {
+ if (typeof entry.source === "string") {
options.entryPoints = [entry.source];
} else {
- assert(
- typeof entry.source === 'object',
- `\`{ source }\` must be a string or an object`,
- );
- assert(
- typeof entry.source.contents === 'string',
- `\`{ contents }\` must be a string`,
- );
+ assert(typeof entry.source === "object", "`{ source }` must be a string or an object");
+ assert(typeof entry.source.contents === "string", "`{ contents }` must be a string");
options.stdin = entry.source;
}
}
if (entry.edge) {
- delete options.platform;
- options.external = [...builtinModules, ...builtinModules.map((m) => `node:${m}`)]
- options.conditions = [
- 'edge-light',
- 'worker',
- 'browser',
- 'module',
- 'import',
- 'require',
- ];
+ options.platform = undefined;
+ options.external = [...builtinModules, ...builtinModules.map((m) => `node:${m}`)];
+ options.conditions = ["edge-light", "worker", "browser", "module", "import", "require"];
options.plugins?.push(edgeWasmPlugin);
- options.format = 'esm';
- } else if (options.format === 'esm') {
+ options.format = "esm";
+ } else if (options.format === "esm") {
options.banner = {
js: `import { createRequire as VPV_createRequire } from "node:module";
import { fileURLToPath as VPV_fileURLToPath } from "node:url";
@@ -179,13 +149,13 @@ const __dirname = VPV_dirname(__filename);
};
}
- const ctx = { found: false, index: '' };
- options.plugins!.push(vercelOgPlugin(ctx));
+ const ctx = { found: false, index: "" };
+ options.plugins?.push(vercelOgPlugin(ctx));
const output = await build(options);
// guess some assets dependencies
- if (typeof entry.source == 'string') {
+ if (typeof entry.source === "string") {
let base = resolvedConfig.root;
try {
const dir = await findRoot(resolvedConfig.root);
@@ -198,13 +168,13 @@ const __dirname = VPV_dirname(__filename);
processCwd: resolvedConfig.root,
mixedModules: true,
ignore: [
- '**/node_modules/react{,-dom,-dom-server-turbopack}/**/*.development.js',
- '**/*.d.ts',
- '**/*.map',
- '**/node_modules/webpack5/**/*',
+ "**/node_modules/react{,-dom,-dom-server-turbopack}/**/*.development.js",
+ "**/*.d.ts",
+ "**/*.map",
+ "**/node_modules/webpack5/**/*",
],
async readFile(filepath) {
- if (filepath.endsWith('.ts') || filepath.endsWith('.tsx')) {
+ if (filepath.endsWith(".ts") || filepath.endsWith(".tsx")) {
const result = await build({
...standardBuildOptions,
entryPoints: [entry.source as string],
@@ -215,26 +185,22 @@ const __dirname = VPV_dirname(__filename);
return result.outputFiles[0].text;
}
- return fs.readFile(filepath, 'utf-8');
+ return fs.readFile(filepath, "utf-8");
},
});
for (const file of fileList) {
if (
reasons.has(file) &&
- reasons.get(file)!.type.includes('asset') &&
- !file.endsWith('.js') &&
- !file.endsWith('.cjs') &&
- !file.endsWith('.mjs') &&
- !file.endsWith('package.json')
+ reasons.get(file)?.type.includes("asset") &&
+ !file.endsWith(".js") &&
+ !file.endsWith(".cjs") &&
+ !file.endsWith(".mjs") &&
+ !file.endsWith("package.json")
) {
await copyFile(
path.join(base, file),
- path.join(
- getOutput(resolvedConfig, 'functions'),
- entry.destination,
- basename(file),
- ),
+ path.join(getOutput(resolvedConfig, "functions"), entry.destination, basename(file)),
);
}
}
@@ -257,11 +223,7 @@ export async function writeVcConfig(
streaming?: boolean;
},
): Promise {
- const vcConfig = path.join(
- getOutput(resolvedConfig, 'functions'),
- destination,
- '.vc-config.json',
- );
+ const vcConfig = path.join(getOutput(resolvedConfig, "functions"), destination, ".vc-config.json");
const nodeVersion = await getNodeVersion(getOutput(resolvedConfig));
@@ -271,40 +233,38 @@ export async function writeVcConfig(
vercelOutputVcConfigSchema.parse(
options.edge
? {
- runtime: 'edge',
+ runtime: "edge",
entrypoint: filename,
}
: {
runtime: nodeVersion.runtime,
handler: filename,
maxDuration: resolvedConfig.vercel?.defaultMaxDuration,
- launcherType: 'Nodejs',
+ launcherType: "Nodejs",
shouldAddHelpers: true,
- supportsResponseStreaming:
- options.streaming ??
- resolvedConfig.vercel?.defaultSupportsResponseStreaming,
+ supportsResponseStreaming: options.streaming ?? resolvedConfig.vercel?.defaultSupportsResponseStreaming,
},
),
undefined,
2,
),
- 'utf-8',
+ "utf-8",
);
}
function getSourceAndDestination(destination: string) {
- if (destination.startsWith('api/')) {
- return path.posix.resolve('/', destination);
+ if (destination.startsWith("api/")) {
+ return path.posix.resolve("/", destination);
}
- return path.posix.resolve('/', destination, ':match*');
+ return path.posix.resolve("/", destination, ":match*");
}
const RE_BRACKETS = /^\[([^/]+)\]$/gm;
function replaceBrackets(source: string) {
return source
- .split('/')
- .map((segment) => segment.replace(RE_BRACKETS, ':$1'))
- .join('/');
+ .split("/")
+ .map((segment) => segment.replace(RE_BRACKETS, ":$1"))
+ .join("/");
}
function isPrimitive(test: unknown) {
@@ -349,7 +309,7 @@ export async function buildEndpoints(resolvedConfig: ResolvedConfig): Promise<{
const entries = getEntries(resolvedConfig);
for (const entry of entries) {
- if (typeof entry.source === 'string') {
+ if (typeof entry.source === "string") {
const exports = await extractExports(entry.source);
if (exports) {
@@ -380,7 +340,7 @@ export async function buildEndpoints(resolvedConfig: ResolvedConfig): Promise<{
entry.isr = exports.isr;
}
- if (typeof exports.streaming === 'boolean') {
+ if (typeof exports.streaming === "boolean") {
entry.streaming = exports.streaming;
}
}
@@ -391,28 +351,22 @@ export async function buildEndpoints(resolvedConfig: ResolvedConfig): Promise<{
const isrEntries = entries
.filter((e) => e.isr)
- .map(
- (e) =>
- [
- e.destination.replace(/\.func$/, ''),
- { expiration: e.isr!.expiration },
- ] as const,
- );
+ .map((e) => [e.destination.replace(/\.func$/, ""), { expiration: e.isr?.expiration }] as const);
return {
rewrites: entries
.filter((e) => e.addRoute !== false)
- .map((e) => e.destination.replace(/\.func$/, ''))
+ .map((e) => e.destination.replace(/\.func$/, ""))
.map((destination) => ({
source: replaceBrackets(getSourceAndDestination(destination)),
destination: getSourceAndDestination(destination),
})),
- isr: Object.fromEntries(isrEntries),
+ isr: Object.fromEntries(isrEntries) as Record,
headers: entries
.filter((e) => e.headers)
.map((e) => ({
- source: '/' + e.destination.replace(/\.func$/, ''),
- headers: Object.entries(e.headers!).map(([key, value]) => ({
+ source: `/${e.destination.replace(/\.func$/, "")}`,
+ headers: Object.entries(e.headers ?? {}).map(([key, value]) => ({
key,
value,
})),
diff --git a/packages/vercel/src/config.ts b/packages/vercel/src/config.ts
index 6f72d3c2..ea154fad 100644
--- a/packages/vercel/src/config.ts
+++ b/packages/vercel/src/config.ts
@@ -1,33 +1,30 @@
-import { ResolvedConfig } from 'vite';
-import path from 'path';
-import { getOutput } from './utils';
-import {
- VercelOutputConfig,
- vercelOutputConfigSchema,
-} from './schemas/config/config';
-import fs from 'fs/promises';
+import type { ResolvedConfig } from "vite";
+import path from "node:path";
+import { getOutput } from "./utils";
+import { type VercelOutputConfig, vercelOutputConfigSchema } from "./schemas/config/config";
+import fs from "node:fs/promises";
import {
getTransformedRoutes,
- Header,
+ type Header,
mergeRoutes,
normalizeRoutes,
- Rewrite,
- Route,
-} from '@vercel/routing-utils';
-import { ViteVercelRewrite } from './types';
+ type Rewrite,
+ type Route,
+} from "@vercel/routing-utils";
+import type { ViteVercelRewrite } from "./types";
-function reorderEnforce(arr: T[]) {
+function reorderEnforce(arr: T[]) {
return [
- ...arr.filter((r) => r.enforce === 'pre'),
+ ...arr.filter((r) => r.enforce === "pre"),
...arr.filter((r) => !r.enforce),
- ...arr.filter((r) => r.enforce === 'post'),
+ ...arr.filter((r) => r.enforce === "post"),
];
}
export function getConfig(
resolvedConfig: ResolvedConfig,
rewrites?: ViteVercelRewrite[],
- overrides?: VercelOutputConfig['overrides'],
+ overrides?: VercelOutputConfig["overrides"],
headers?: Header[],
): VercelOutputConfig {
const _rewrites: ViteVercelRewrite[] = [
@@ -40,9 +37,7 @@ export function getConfig(
cleanUrls: resolvedConfig.vercel?.cleanUrls ?? true,
trailingSlash: resolvedConfig.vercel?.trailingSlash,
rewrites: reorderEnforce(_rewrites),
- redirects: resolvedConfig.vercel?.redirects
- ? reorderEnforce(resolvedConfig.vercel?.redirects)
- : undefined,
+ redirects: resolvedConfig.vercel?.redirects ? reorderEnforce(resolvedConfig.vercel?.redirects) : undefined,
headers,
});
@@ -53,14 +48,12 @@ export function getConfig(
if (
resolvedConfig.vercel?.config?.routes &&
resolvedConfig.vercel.config.routes.length > 0 &&
- !resolvedConfig.vercel.config.routes.every(
- (r) => 'continue' in r && r.continue,
- )
+ !resolvedConfig.vercel.config.routes.every((r) => "continue" in r && r.continue)
) {
console.warn(
'Did you forget to add `"continue": true` to your routes? See https://vercel.com/docs/build-output-api/v3/configuration#source-route\n' +
- 'If not, it is discouraged to use `vercel.config.routes` to override routes. ' +
- 'Prefer using `vercel.rewrites` and `vercel.redirects`.',
+ "If not, it is discouraged to use `vercel.config.routes` to override routes. " +
+ "Prefer using `vercel.rewrites` and `vercel.redirects`.",
);
}
@@ -91,8 +84,8 @@ export function getConfig(
userRoutes,
builds: [
{
- use: '@vercel/node',
- entrypoint: 'index.js',
+ use: "@vercel/node",
+ entrypoint: "index.js",
routes: buildRoutes,
},
],
@@ -110,22 +103,18 @@ export function getConfig(
}
export function getConfigDestination(resolvedConfig: ResolvedConfig) {
- return path.join(getOutput(resolvedConfig), 'config.json');
+ return path.join(getOutput(resolvedConfig), "config.json");
}
export async function writeConfig(
resolvedConfig: ResolvedConfig,
rewrites?: Rewrite[],
- overrides?: VercelOutputConfig['overrides'],
+ overrides?: VercelOutputConfig["overrides"],
headers?: Header[],
): Promise {
await fs.writeFile(
getConfigDestination(resolvedConfig),
- JSON.stringify(
- getConfig(resolvedConfig, rewrites, overrides, headers),
- undefined,
- 2,
- ),
- 'utf-8',
+ JSON.stringify(getConfig(resolvedConfig, rewrites, overrides, headers), undefined, 2),
+ "utf-8",
);
}
diff --git a/packages/vercel/src/helpers.ts b/packages/vercel/src/helpers.ts
index 6d33c1e7..31c8bad6 100644
--- a/packages/vercel/src/helpers.ts
+++ b/packages/vercel/src/helpers.ts
@@ -1,5 +1,5 @@
-import fs from 'fs/promises';
-import path from 'path';
+import fs from "node:fs/promises";
+import path from "node:path";
export async function copyDir(src: string, dest: string) {
await fs.mkdir(dest, { recursive: true });
@@ -9,8 +9,6 @@ export async function copyDir(src: string, dest: string) {
const srcPath = path.join(src, entry.name);
const destPath = path.join(dest, entry.name);
- entry.isDirectory()
- ? await copyDir(srcPath, destPath)
- : await fs.copyFile(srcPath, destPath);
+ entry.isDirectory() ? await copyDir(srcPath, destPath) : await fs.copyFile(srcPath, destPath);
}
}
diff --git a/packages/vercel/src/index.ts b/packages/vercel/src/index.ts
index 7d48bfff..e3acb984 100644
--- a/packages/vercel/src/index.ts
+++ b/packages/vercel/src/index.ts
@@ -1,28 +1,28 @@
-import fs from 'fs/promises';
-import type { Plugin, PluginOption, ResolvedConfig } from 'vite';
-import { getOutput, getPublic } from './utils';
-import { writeConfig } from './config';
-import { buildEndpoints } from './build';
-import { buildPrerenderConfigs, execPrerender } from './prerender';
-import path from 'path';
-import type { ViteVercelPrerenderRoute } from './types';
-import { copyDir } from './helpers';
-
-export * from './types';
+import fs from "node:fs/promises";
+import path from "node:path";
+import type { Plugin, PluginOption, ResolvedConfig } from "vite";
+import { buildEndpoints } from "./build";
+import { writeConfig } from "./config";
+import { copyDir } from "./helpers";
+import { buildPrerenderConfigs, execPrerender } from "./prerender";
+import type { ViteVercelPrerenderRoute } from "./types";
+import { getOutput, getPublic } from "./utils";
+
+export * from "./types";
function vercelPluginCleanup(): Plugin {
let resolvedConfig: ResolvedConfig;
return {
- apply: 'build',
- name: 'vite-plugin-vercel:cleanup',
- enforce: 'pre',
+ apply: "build",
+ name: "vite-plugin-vercel:cleanup",
+ enforce: "pre",
configResolved(config) {
resolvedConfig = config;
},
writeBundle: {
- order: 'pre',
+ order: "pre",
sequential: true,
async handler() {
if (!resolvedConfig.build?.ssr) {
@@ -34,31 +34,28 @@ function vercelPluginCleanup(): Plugin {
};
}
+type Writeable = { -readonly [P in keyof T]: T[P] };
+
function vercelPlugin(): Plugin {
- let resolvedConfig: ResolvedConfig;
+ let resolvedConfig: Writeable;
let vikeFound = false;
return {
- apply: 'build',
- name: 'vite-plugin-vercel',
- enforce: 'post',
+ apply: "build",
+ name: "vite-plugin-vercel",
+ enforce: "post",
configResolved(config) {
resolvedConfig = config;
- vikeFound = resolvedConfig.plugins.some((p) =>
- p.name.match('^vite-plugin-ssr:|^vike:'),
- );
-
- if (
- typeof resolvedConfig.vercel?.distContainsOnlyStatic === 'undefined'
- ) {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- (resolvedConfig as any).vercel ??= {};
- resolvedConfig.vercel!.distContainsOnlyStatic = !vikeFound;
+ vikeFound = resolvedConfig.plugins.some((p) => p.name.match("^vite-plugin-ssr:|^vike:"));
+
+ if (typeof resolvedConfig.vercel?.distContainsOnlyStatic === "undefined") {
+ resolvedConfig.vercel ??= {};
+ resolvedConfig.vercel.distContainsOnlyStatic = !vikeFound;
}
},
writeBundle: {
- order: 'post',
+ order: "post",
sequential: true,
async handler() {
if (!resolvedConfig.build?.ssr) {
@@ -110,35 +107,33 @@ async function cleanOutputDirectory(resolvedConfig: ResolvedConfig) {
async function copyDistToStatic(resolvedConfig: ResolvedConfig) {
if (resolvedConfig.vercel?.distContainsOnlyStatic) {
- await copyDir(
- resolvedConfig.build.outDir,
- getOutput(resolvedConfig, 'static'),
- );
+ await copyDir(resolvedConfig.build.outDir, getOutput(resolvedConfig, "static"));
}
}
async function computeStaticHtmlOverrides(
resolvedConfig: ResolvedConfig,
): Promise> {
- const staticAbsolutePath = getOutput(resolvedConfig, 'static');
+ const staticAbsolutePath = getOutput(resolvedConfig, "static");
const files = await getStaticHtmlFiles(staticAbsolutePath);
// public files copied by vite by default https://vitejs.dev/guide/assets.html#the-public-directory
const publicDir = getPublic(resolvedConfig);
const publicFiles = await getStaticHtmlFiles(publicDir);
- files.push(
- ...publicFiles.map((f) => f.replace(publicDir, staticAbsolutePath)),
+ files.push(...publicFiles.map((f) => f.replace(publicDir, staticAbsolutePath)));
+
+ return files.reduce(
+ (acc, curr) => {
+ const relPath = path.relative(staticAbsolutePath, curr);
+ const parsed = path.parse(relPath);
+ const pathJoined = path.join(parsed.dir, parsed.name);
+ acc[relPath] = {
+ path: pathJoined,
+ };
+ return acc;
+ },
+ {} as NonNullable,
);
-
- return files.reduce((acc, curr) => {
- const relPath = path.relative(staticAbsolutePath, curr);
- const parsed = path.parse(relPath);
- const pathJoined = path.join(parsed.dir, parsed.name);
- acc[relPath] = {
- path: pathJoined,
- };
- return acc;
- }, {} as NonNullable);
}
async function getStaticHtmlFiles(src: string) {
@@ -156,7 +151,7 @@ async function getStaticHtmlFiles(src: string) {
entry.isDirectory()
? htmlFiles.push(...(await getStaticHtmlFiles(srcPath)))
- : srcPath.endsWith('.html')
+ : srcPath.endsWith(".html")
? htmlFiles.push(srcPath)
: undefined;
}
@@ -168,24 +163,21 @@ async function getStaticHtmlFiles(src: string) {
* Auto import `@vite-plugin-vercel/vike` if it is part of dependencies.
* Ensures that `vike/plugin` is also present to ensure predictable behavior
*/
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
+
+// biome-ignore lint/suspicious/noExplicitAny:
async function tryImportVpvv(options: any) {
try {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
- await import('vike/plugin');
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ await import("vike/plugin");
// @ts-ignore
- const vpvv = await import('@vite-plugin-vercel/vike');
+ const vpvv = await import("@vite-plugin-vercel/vike");
return vpvv.default(options);
} catch (e) {
try {
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
- await import('vite-plugin-ssr/plugin');
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ await import("vite-plugin-ssr/plugin");
// @ts-ignore
- const vpvv = await import('@vite-plugin-vercel/vike');
+ const vpvv = await import("@vite-plugin-vercel/vike");
return vpvv.default(options);
} catch (e) {
return null;
@@ -198,12 +190,8 @@ async function tryImportVpvv(options: any) {
// FIXME: Could be fixed by:
// - shared-workspace-lockfile=false in .npmrc. See https://pnpm.io/npmrc#shared-workspace-lockfile
// - Moving demo test in dedicated repo, with each a correct package.json
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
+// biome-ignore lint/suspicious/noExplicitAny:
export default function allPlugins(options: any = {}): PluginOption[] {
const { smart, ...rest } = options;
- return [
- vercelPluginCleanup(),
- vercelPlugin(),
- smart !== false ? tryImportVpvv(rest) : null,
- ];
+ return [vercelPluginCleanup(), vercelPlugin(), smart !== false ? tryImportVpvv(rest) : null];
}
diff --git a/packages/vercel/src/prerender.ts b/packages/vercel/src/prerender.ts
index 7e6de2a4..6e26408c 100644
--- a/packages/vercel/src/prerender.ts
+++ b/packages/vercel/src/prerender.ts
@@ -1,14 +1,11 @@
-import type { ResolvedConfig } from 'vite';
-import path from 'path';
-import { getOutput } from './utils';
-import {
- VercelOutputPrerenderConfig,
- vercelOutputPrerenderConfigSchema,
-} from './schemas/config/prerender-config';
-import fs from 'fs/promises';
-import type { VercelOutputIsr, ViteVercelPrerenderRoute } from './types';
-import type { Rewrite } from '@vercel/routing-utils';
-import { copyDir } from './helpers';
+import type { ResolvedConfig } from "vite";
+import path from "node:path";
+import { getOutput } from "./utils";
+import { type VercelOutputPrerenderConfig, vercelOutputPrerenderConfigSchema } from "./schemas/config/prerender-config";
+import fs from "node:fs/promises";
+import type { VercelOutputIsr, ViteVercelPrerenderRoute } from "./types";
+import type { Rewrite } from "@vercel/routing-utils";
+import { copyDir } from "./helpers";
export function execPrerender(
resolvedConfig: ResolvedConfig,
@@ -32,16 +29,9 @@ export async function writePrerenderConfig(
): Promise {
const parsed = path.parse(destination);
- const outfile = path.join(
- getOutput(resolvedConfig, 'functions'),
- parsed.dir,
- parsed.name + '.prerender-config.json',
- );
+ const outfile = path.join(getOutput(resolvedConfig, "functions"), parsed.dir, `${parsed.name}.prerender-config.json`);
- await fs.mkdir(
- path.join(getOutput(resolvedConfig, 'functions'), parsed.dir),
- { recursive: true },
- );
+ await fs.mkdir(path.join(getOutput(resolvedConfig, "functions"), parsed.dir), { recursive: true });
await fs.writeFile(
outfile,
@@ -53,29 +43,17 @@ export async function writePrerenderConfig(
undefined,
2,
),
- 'utf-8',
+ "utf-8",
);
}
-export function getPrerenderSymlinkInfo(
- resolvedConfig: ResolvedConfig,
- destination: string,
- target: string,
-) {
+export function getPrerenderSymlinkInfo(resolvedConfig: ResolvedConfig, destination: string, target: string) {
const parsed = path.parse(destination);
const targetParsed = path.parse(target);
return {
- target: path.join(
- getOutput(resolvedConfig, 'functions'),
- targetParsed.dir,
- targetParsed.name + '.func',
- ),
- link: path.join(
- getOutput(resolvedConfig, 'functions'),
- parsed.dir,
- parsed.name + '.func',
- ),
+ target: path.join(getOutput(resolvedConfig, "functions"), targetParsed.dir, `${targetParsed.name}.func`),
+ link: path.join(getOutput(resolvedConfig, "functions"), parsed.dir, `${parsed.name}.func`),
};
}
@@ -83,11 +61,7 @@ export async function buildPrerenderConfigs(
resolvedConfig: ResolvedConfig,
extractedIsr: Record,
): Promise> {
- const isr = Object.assign(
- {},
- extractedIsr,
- await getIsrConfig(resolvedConfig),
- );
+ const isr = Object.assign({}, extractedIsr, await getIsrConfig(resolvedConfig));
const entries = Object.entries(isr);
const rewrites: Rewrite[] = [];
@@ -95,11 +69,7 @@ export async function buildPrerenderConfigs(
for (const [destination, { symlink, route, ...isr }] of entries) {
await writePrerenderConfig(resolvedConfig, destination, isr);
if (symlink) {
- const info = getPrerenderSymlinkInfo(
- resolvedConfig,
- destination,
- symlink,
- );
+ const info = getPrerenderSymlinkInfo(resolvedConfig, destination, symlink);
// FIXME symlinks are currently broken https://github.com/orgs/vercel/discussions/577#discussioncomment-2767120
// await fs.symlink(
// path.relative(path.dirname(info.link), info.target),
@@ -118,11 +88,9 @@ export async function buildPrerenderConfigs(
return rewrites;
}
-async function getIsrConfig(
- resolvedConfig: ResolvedConfig,
-): Promise> {
+async function getIsrConfig(resolvedConfig: ResolvedConfig): Promise> {
const isr = resolvedConfig.vercel?.isr ?? {};
- if (typeof isr === 'function') {
+ if (typeof isr === "function") {
return await isr();
}
return isr;
diff --git a/packages/vercel/src/schemas/config/config.ts b/packages/vercel/src/schemas/config/config.ts
index 820432d3..ad614682 100644
--- a/packages/vercel/src/schemas/config/config.ts
+++ b/packages/vercel/src/schemas/config/config.ts
@@ -3,34 +3,34 @@
* @see {@link https://vercel.com/docs/build-output-api/v3#build-output-configuration}
*/
-import { z } from 'zod';
+import { z } from "zod";
const HasOrMissing = z
.array(
z.union([
z
.object({
- type: z.literal('host'),
+ type: z.literal("host"),
value: z.string(),
})
.strict(),
z
.object({
- type: z.literal('header'),
+ type: z.literal("header"),
key: z.string(),
value: z.string().optional(),
})
.strict(),
z
.object({
- type: z.literal('cookie'),
+ type: z.literal("cookie"),
key: z.string(),
value: z.string().optional(),
})
.strict(),
z
.object({
- type: z.literal('query'),
+ type: z.literal("query"),
key: z.string(),
value: z.string().optional(),
})
@@ -69,12 +69,12 @@ export const vercelOutputConfigSchema = z
z
.object({
handle: z.union([
- z.literal('rewrite'),
- z.literal('filesystem'),
- z.literal('resource'),
- z.literal('miss'),
- z.literal('hit'),
- z.literal('error'),
+ z.literal("rewrite"),
+ z.literal("filesystem"),
+ z.literal("resource"),
+ z.literal("miss"),
+ z.literal("hit"),
+ z.literal("error"),
]),
src: z.string().optional(),
dest: z.string().optional(),
@@ -86,14 +86,11 @@ export const vercelOutputConfigSchema = z
.optional(),
images: z
.object({
- sizes: z.tuple([
- z.number().int().positive(),
- z.number().int().positive(),
- ]),
+ sizes: z.tuple([z.number().int().positive(), z.number().int().positive()]),
domains: z.array(z.string()).nonempty().optional(),
minimumCacheTTL: z.number().int().positive().optional(),
formats: z
- .union([z.literal('image/avif'), z.literal('image/webp')])
+ .union([z.literal("image/avif"), z.literal("image/webp")])
.array()
.nonempty()
.optional(),
diff --git a/packages/vercel/src/schemas/config/prerender-config.ts b/packages/vercel/src/schemas/config/prerender-config.ts
index aa74fb6f..1f898aba 100644
--- a/packages/vercel/src/schemas/config/prerender-config.ts
+++ b/packages/vercel/src/schemas/config/prerender-config.ts
@@ -3,7 +3,7 @@
* @see {@link https://vercel.com/docs/build-output-api/v3#build-output-configuration}
*/
-import { z } from 'zod';
+import { z } from "zod";
export const vercelOutputPrerenderConfigSchema = z
.object({
@@ -15,6 +15,4 @@ export const vercelOutputPrerenderConfigSchema = z
})
.strict();
-export type VercelOutputPrerenderConfig = z.infer<
- typeof vercelOutputPrerenderConfigSchema
->;
+export type VercelOutputPrerenderConfig = z.infer;
diff --git a/packages/vercel/src/schemas/config/vc-config.ts b/packages/vercel/src/schemas/config/vc-config.ts
index f61bc254..db754265 100644
--- a/packages/vercel/src/schemas/config/vc-config.ts
+++ b/packages/vercel/src/schemas/config/vc-config.ts
@@ -3,11 +3,11 @@
* @see {@link https://vercel.com/docs/build-output-api/v3/primitives#serverless-function-configuration}
*/
-import { z } from 'zod';
+import { z } from "zod";
export const vercelOutputEdgeVcConfigSchema = z
.object({
- runtime: z.literal('edge'),
+ runtime: z.literal("edge"),
entrypoint: z.string(),
envVarsInUse: z.array(z.string()).optional(),
})
@@ -26,15 +26,14 @@ export const vercelOutputServerlessVcConfigSchema = z
})
.strict();
-export const vercelOutputServerlessNodeVcConfigSchema =
- vercelOutputServerlessVcConfigSchema
- .extend({
- launcherType: z.literal('Nodejs'),
- shouldAddHelpers: z.boolean().optional(),
- shouldAddSourcemapSupport: z.boolean().optional(),
- awsLambdaHandler: z.string().optional(),
- })
- .strict();
+export const vercelOutputServerlessNodeVcConfigSchema = vercelOutputServerlessVcConfigSchema
+ .extend({
+ launcherType: z.literal("Nodejs"),
+ shouldAddHelpers: z.boolean().optional(),
+ shouldAddSourcemapSupport: z.boolean().optional(),
+ awsLambdaHandler: z.string().optional(),
+ })
+ .strict();
export const vercelOutputVcConfigSchema = z.union([
vercelOutputEdgeVcConfigSchema,
diff --git a/packages/vercel/src/schemas/exports.ts b/packages/vercel/src/schemas/exports.ts
index eef03af2..1ce49477 100644
--- a/packages/vercel/src/schemas/exports.ts
+++ b/packages/vercel/src/schemas/exports.ts
@@ -1,4 +1,4 @@
-import { z } from 'zod';
+import { z } from "zod";
export const vercelEndpointExports = z.object({
edge: z.boolean().optional(),
diff --git a/packages/vercel/src/types.ts b/packages/vercel/src/types.ts
index 57f4cf99..ddb0ee4d 100644
--- a/packages/vercel/src/types.ts
+++ b/packages/vercel/src/types.ts
@@ -1,18 +1,14 @@
-import type { ResolvedConfig } from 'vite';
-import type { BuildOptions, StdinOptions } from 'esbuild';
-import type { VercelOutputConfig } from './schemas/config/config';
-import type { VercelOutputVcConfig } from './schemas/config/vc-config';
-import type { VercelOutputPrerenderConfig } from './schemas/config/prerender-config';
-import type { Rewrite, Redirect } from '@vercel/routing-utils';
+import type { ResolvedConfig } from "vite";
+import type { BuildOptions, StdinOptions } from "esbuild";
+import type { VercelOutputConfig } from "./schemas/config/config";
+import type { VercelOutputVcConfig } from "./schemas/config/vc-config";
+import type { VercelOutputPrerenderConfig } from "./schemas/config/prerender-config";
+import type { Rewrite, Redirect } from "@vercel/routing-utils";
-export type {
- VercelOutputConfig,
- VercelOutputVcConfig,
- VercelOutputPrerenderConfig,
-};
+export type { VercelOutputConfig, VercelOutputVcConfig, VercelOutputPrerenderConfig };
-export type ViteVercelRewrite = Rewrite & { enforce?: 'pre' | 'post' };
-export type ViteVercelRedirect = Redirect & { enforce?: 'pre' | 'post' };
+export type ViteVercelRewrite = Rewrite & { enforce?: "pre" | "post" };
+export type ViteVercelRedirect = Redirect & { enforce?: "pre" | "post" };
// Vite config for Vercel
@@ -82,7 +78,7 @@ export interface ViteVercelConfig {
* @see {@link https://vercel.com/docs/build-output-api/v3/configuration#configuration}
* @protected
*/
- config?: Partial>;
+ config?: Partial>;
/**
* ISR and SSG pages are mutually exclusive. If a page is found in both, ISR prevails.
* Keys are path relative to .vercel/output/functions directory, either without extension,
@@ -105,9 +101,7 @@ export interface ViteVercelConfig {
*/
isr?:
| Record
- | (() =>
- | Promise>
- | Record);
+ | (() => Promise> | Record);
/**
* Defaults to `.vercel/output`. Mostly useful for testing purpose
* @protected
@@ -130,7 +124,7 @@ export interface VercelOutputIsr extends VercelOutputPrerenderConfig {
/**
* Keys are path relative to .vercel/output/static directory
*/
-export type ViteVercelPrerenderRoute = VercelOutputConfig['overrides'];
+export type ViteVercelPrerenderRoute = VercelOutputConfig["overrides"];
export type ViteVercelPrerenderFn = (
resolvedConfig: ResolvedConfig,
) => ViteVercelPrerenderRoute | Promise;
diff --git a/packages/vercel/src/utils.ts b/packages/vercel/src/utils.ts
index c54460a1..2273874e 100644
--- a/packages/vercel/src/utils.ts
+++ b/packages/vercel/src/utils.ts
@@ -1,5 +1,5 @@
-import { normalizePath, ResolvedConfig, UserConfig } from 'vite';
-import path from 'path';
+import { normalizePath, type ResolvedConfig, type UserConfig } from "vite";
+import path from "node:path";
export function getRoot(config: UserConfig | ResolvedConfig): string {
return normalizePath(config.root || process.cwd());
@@ -7,26 +7,20 @@ export function getRoot(config: UserConfig | ResolvedConfig): string {
export function getOutput(
config: ResolvedConfig,
- suffix?: 'functions' | `functions/${string}.func` | 'static',
+ suffix?: "functions" | `functions/${string}.func` | "static",
): string {
return path.join(
- config.vercel?.outDir ? '' : getRoot(config),
- config.vercel?.outDir ?? '.vercel/output',
- suffix ?? '',
+ config.vercel?.outDir ? "" : getRoot(config),
+ config.vercel?.outDir ?? ".vercel/output",
+ suffix ?? "",
);
}
export function getPublic(config: ResolvedConfig): string {
- return path.join(getRoot(config), config.publicDir || 'public');
+ return path.join(getRoot(config), config.publicDir || "public");
}
-export function pathRelativeTo(
- filePath: string,
- config: UserConfig | ResolvedConfig,
- rel: string,
-): string {
+export function pathRelativeTo(filePath: string, config: UserConfig | ResolvedConfig, rel: string): string {
const root = getRoot(config);
- return normalizePath(
- path.relative(normalizePath(path.join(root, rel)), filePath),
- );
+ return normalizePath(path.relative(normalizePath(path.join(root, rel)), filePath));
}
diff --git a/packages/vercel/tsconfig.json b/packages/vercel/tsconfig.json
index f08dd4e3..a403cde2 100644
--- a/packages/vercel/tsconfig.json
+++ b/packages/vercel/tsconfig.json
@@ -7,6 +7,6 @@
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
- "moduleResolution": "Node"
+ "moduleResolution": "Bundler"
}
}
diff --git a/packages/vercel/tsup.config.ts b/packages/vercel/tsup.config.ts
index c299f6cc..6fc5cd0a 100644
--- a/packages/vercel/tsup.config.ts
+++ b/packages/vercel/tsup.config.ts
@@ -1,14 +1,14 @@
-import { defineConfig } from 'tsup';
+import { defineConfig } from "tsup";
export default defineConfig([
{
- entry: ['./src/index.ts'],
- external: ['esbuild', 'vike'],
- format: ['esm', 'cjs'],
- platform: 'node',
- target: 'node18',
+ entry: ["./src/index.ts"],
+ external: ["esbuild", "vike"],
+ format: ["esm", "cjs"],
+ platform: "node",
+ target: "node18",
dts: {
- entry: './src/index.ts',
+ entry: "./src/index.ts",
},
},
]);
diff --git a/packages/vike-integration/+config.ts b/packages/vike-integration/+config.ts
index b717258d..134856ba 100644
--- a/packages/vike-integration/+config.ts
+++ b/packages/vike-integration/+config.ts
@@ -1,7 +1,7 @@
-import type { Config } from 'vike/types';
+import type { Config } from "vike/types";
export default {
- name: '@vite-plugin-vercel/vike',
+ name: "@vite-plugin-vercel/vike",
meta: {
isr: {
env: { server: true },
diff --git a/packages/vike-integration/config.d.ts b/packages/vike-integration/config.d.ts
index 1dbd50a3..f365f93b 100644
--- a/packages/vike-integration/config.d.ts
+++ b/packages/vike-integration/config.d.ts
@@ -1,4 +1,4 @@
-import 'vike/types';
+import "vike/types";
// When this is imported by a projet ->
// import config from '@vite-plugin-vercel/vike/config'
@@ -15,4 +15,4 @@ declare global {
}
// Help TS's resolver for node10 target
-export * from './dist/+config.h';
+export * from "./dist/+config.h";
diff --git a/packages/vike-integration/config.js b/packages/vike-integration/config.js
index 19724b60..b93cac7e 100644
--- a/packages/vike-integration/config.js
+++ b/packages/vike-integration/config.js
@@ -1 +1 @@
-export default from './dist/+config.h';
+export * from "./dist/+config.js";
diff --git a/packages/vike-integration/helpers.d.ts b/packages/vike-integration/helpers.d.ts
index 28867682..ca298f94 100644
--- a/packages/vike-integration/helpers.d.ts
+++ b/packages/vike-integration/helpers.d.ts
@@ -1,2 +1,2 @@
// Help TS's resolver for node10 target
-export * from './dist/templates/helpers';
+export * from "./dist/templates/helpers";
diff --git a/packages/vike-integration/helpers.js b/packages/vike-integration/helpers.js
index 33ee5b9b..93eb619e 100644
--- a/packages/vike-integration/helpers.js
+++ b/packages/vike-integration/helpers.js
@@ -1 +1 @@
-export * from './dist/templates/helpers';
+export * from "./dist/templates/helpers.js";
diff --git a/packages/vike-integration/package.json b/packages/vike-integration/package.json
index 585c31ba..ef841866 100644
--- a/packages/vike-integration/package.json
+++ b/packages/vike-integration/package.json
@@ -30,12 +30,12 @@
"lint:ts": "eslint . --max-warnings 0 --ignore-pattern dist"
},
"devDependencies": {
- "@types/node": "^18.19.31",
+ "@types/node": "^18.19.45",
"@vercel/node": "^3.2.8",
"tsup": "^8.2.4",
"typescript": "^5.5.4",
- "vike": "^0.4.183",
- "vite": "^5.4.0",
+ "vike": "^0.4.188",
+ "vite": "^5.4.1",
"vite-plugin-vercel": "workspace:*"
},
"dependencies": {
diff --git a/packages/vike-integration/route-regex.ts b/packages/vike-integration/route-regex.ts
index dfe5e5f4..ec77e990 100644
--- a/packages/vike-integration/route-regex.ts
+++ b/packages/vike-integration/route-regex.ts
@@ -1,36 +1,35 @@
export function escapeStringRegexp(str: string) {
- return str.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
+ return str.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
}
function getSegmentRegex(segment: string): string {
- if (segment.startsWith('@')) {
- return '/[^/]+';
- } else if (segment === '*') {
- return '/.+?';
+ if (segment.startsWith("@")) {
+ return "/[^/]+";
}
- return `/` + segment;
+ if (segment === "*") {
+ return "/.+?";
+ }
+ return `/${segment}`;
}
export function getParametrizedRoute(route: string): string {
- const segments = (route.replace(/\/$/, '') || '/').slice(1).split('/');
- return segments.map(getSegmentRegex).join('');
+ const segments = (route.replace(/\/$/, "") || "/").slice(1).split("/");
+ return segments.map(getSegmentRegex).join("");
}
export function getRoutesRegex(normalizedRoutes: string[]): string {
const results = normalizedRoutes.map(getParametrizedRoute);
- return `^(${results.join('|')})(?:/)?$`;
+ return `^(${results.join("|")})(?:/)?$`;
}
-export function getComplementaryRoutesRegex(
- normalizedRoutes: string[],
-): string {
+export function getComplementaryRoutesRegex(normalizedRoutes: string[]): string {
const results = normalizedRoutes.map(getParametrizedRoute);
- return results.map((r) => `(?!${r})`).join('');
+ return results.map((r) => `(?!${r})`).join("");
}
export function getVercelPattern(route: string): string {
- if (route.endsWith('/*')) {
- return route.replace(/\/\*/g, '/:any*');
+ if (route.endsWith("/*")) {
+ return route.replace(/\/\*/g, "/:any*");
}
return route;
}
diff --git a/packages/vike-integration/templates/helpers.ts b/packages/vike-integration/templates/helpers.ts
index 0d4b02ee..b05ade19 100644
--- a/packages/vike-integration/templates/helpers.ts
+++ b/packages/vike-integration/templates/helpers.ts
@@ -1,10 +1,8 @@
-import { VercelRequest, VercelResponse } from '@vercel/node';
-import { parse } from 'querystring';
-import type { renderPage } from 'vike';
+import { parse } from "node:querystring";
+import type { VercelRequest, VercelResponse } from "@vercel/node";
+import type { renderPage } from "vike";
-type HttpResponse = NonNullable<
- Awaited>['httpResponse']
->;
+type HttpResponse = NonNullable>["httpResponse"]>;
/**
* Extract useful pageContext from request to give to renderPage(...).
@@ -16,15 +14,13 @@ export function getDefaultPageContextInit(request: VercelRequest) {
const query: Record = request.query ?? {};
const matches =
// FIXME x-now-route-matches is not definitive https://github.com/orgs/vercel/discussions/577#discussioncomment-2769478
- typeof request.headers['x-now-route-matches'] === 'string'
- ? parse(request.headers['x-now-route-matches'])
- : null;
+ typeof request.headers["x-now-route-matches"] === "string" ? parse(request.headers["x-now-route-matches"]) : null;
const url: string =
- typeof query.__original_path === 'string'
+ typeof query.__original_path === "string"
? query.__original_path
- : matches && typeof matches!['1'] === 'string'
- ? matches['1']
- : request.url!;
+ : matches && typeof matches?.["1"] === "string"
+ ? matches["1"]
+ : request.url ?? "";
return {
url,
urlOriginal: url,
@@ -39,8 +35,8 @@ export function getDefaultPageContextInit(request: VercelRequest) {
*/
export function getDefaultEmptyResponseHandler(response: VercelResponse) {
response.statusCode = 200;
- response.setHeader('content-type', 'text/html; charset=UTF-8');
- return response.end('');
+ response.setHeader("content-type", "text/html; charset=UTF-8");
+ return response.end("");
}
/**
@@ -48,13 +44,10 @@ export function getDefaultEmptyResponseHandler(response: VercelResponse) {
* @param response
* @param httpResponse
*/
-export function getDefaultResponseHandler(
- response: VercelResponse,
- httpResponse: HttpResponse,
-) {
+export function getDefaultResponseHandler(response: VercelResponse, httpResponse: HttpResponse) {
const { statusCode, body, contentType } = httpResponse;
response.statusCode = statusCode;
- response.setHeader('content-type', contentType);
+ response.setHeader("content-type", contentType);
return response.end(body);
}
diff --git a/packages/vike-integration/templates/ssr_.template.ts b/packages/vike-integration/templates/ssr_.template.ts
index eefb3a36..a8a2068f 100644
--- a/packages/vike-integration/templates/ssr_.template.ts
+++ b/packages/vike-integration/templates/ssr_.template.ts
@@ -1,18 +1,11 @@
-import type { VercelRequest, VercelResponse } from '@vercel/node';
-import { renderPage } from 'vike/server';
-import {
- getDefaultEmptyResponseHandler,
- getDefaultPageContextInit,
- getDefaultResponseHandler,
-} from './helpers';
+import type { VercelRequest, VercelResponse } from "@vercel/node";
+import { renderPage } from "vike/server";
+import { getDefaultEmptyResponseHandler, getDefaultPageContextInit, getDefaultResponseHandler } from "./helpers";
-export default async function handler(
- request: VercelRequest,
- response: VercelResponse,
-) {
- console.debug('query', request.query);
- console.debug('url', request.url);
- console.debug('headers', request.headers);
+export default async function handler(request: VercelRequest, response: VercelResponse) {
+ console.debug("query", request.query);
+ console.debug("url", request.url);
+ console.debug("headers", request.headers);
const pageContextInit = getDefaultPageContextInit(request);
const pageContext = await renderPage(pageContextInit);
const { httpResponse } = pageContext;
diff --git a/packages/vike-integration/tsconfig.json b/packages/vike-integration/tsconfig.json
index 7561a934..00f32fa2 100644
--- a/packages/vike-integration/tsconfig.json
+++ b/packages/vike-integration/tsconfig.json
@@ -7,6 +7,6 @@
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
- "moduleResolution": "Node"
+ "moduleResolution": "Bundler"
}
}
diff --git a/packages/vike-integration/tsup.config.ts b/packages/vike-integration/tsup.config.ts
index 88da8172..c73d864d 100644
--- a/packages/vike-integration/tsup.config.ts
+++ b/packages/vike-integration/tsup.config.ts
@@ -1,18 +1,18 @@
-import { defineConfig } from 'tsup';
-import { rename } from 'node:fs/promises';
-import { existsSync } from 'node:fs';
+import { defineConfig } from "tsup";
+import { rename } from "node:fs/promises";
+import { existsSync } from "node:fs";
export default defineConfig([
{
clean: true,
- entry: ['./vike.ts', './templates/helpers.ts', './+config.ts'],
- external: ['esbuild', 'rollup', 'vite', 'vike'],
- format: ['esm'],
+ entry: ["./vike.ts", "./templates/helpers.ts", "./+config.ts"],
+ external: ["esbuild", "rollup", "vite", "vike"],
+ format: ["esm"],
- platform: 'node',
- target: 'node18',
+ platform: "node",
+ target: "node18",
dts: {
- entry: ['./vike.ts', './templates/helpers.ts', './+config.ts'],
+ entry: ["./vike.ts", "./templates/helpers.ts", "./+config.ts"],
},
async onSuccess() {
// rollup-plugin-dts chooses to rename things its way
@@ -23,7 +23,7 @@ export default defineConfig([
// timeout after 5 seconds
while (start + 5000 > Date.now()) {
- if (existsSync('./dist/_config.d.ts')) {
+ if (existsSync("./dist/_config.d.ts")) {
break;
}
await new Promise((resolve) => {
@@ -31,7 +31,7 @@ export default defineConfig([
});
}
- await rename('./dist/_config.d.ts', './dist/+config.d.ts');
+ await rename("./dist/_config.d.ts", "./dist/+config.d.ts");
},
},
]);
diff --git a/packages/vike-integration/vike.ts b/packages/vike-integration/vike.ts
index be446458..a659e284 100644
--- a/packages/vike-integration/vike.ts
+++ b/packages/vike-integration/vike.ts
@@ -1,35 +1,35 @@
-import { prerender as prerenderCli } from 'vike/prerender';
-import fs from 'fs/promises';
-import path from 'path';
-import { fileURLToPath } from 'url';
-import { normalizePath, Plugin, ResolvedConfig, UserConfig } from 'vite';
-import type { PageContextServer } from 'vike/types';
+import fs from "node:fs/promises";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+import { prerender as prerenderCli } from "vike/prerender";
+import type { PageContextServer } from "vike/types";
+import { type Plugin, type ResolvedConfig, type UserConfig, normalizePath } from "vite";
import type {
VercelOutputIsr,
ViteVercelApiEntry,
ViteVercelPrerenderFn,
ViteVercelPrerenderRoute,
-} from 'vite-plugin-vercel';
-import 'vike/__internal/setup';
-import {
- getPagesAndRoutes,
- PageFile,
- PageRoutes,
- route,
-} from 'vike/__internal';
-import { nanoid } from 'nanoid';
-import { getParametrizedRoute } from './route-regex';
-import { newError } from '@brillout/libassert';
-
-const libName = 'vite-plugin-vercel:vike';
-const rendererDestination = 'ssr_';
+} from "vite-plugin-vercel";
+import "vike/__internal/setup";
+// @ts-ignore
+import { newError } from "@brillout/libassert";
+import { nanoid } from "nanoid";
+import { type PageFile, type PageRoutes, getPagesAndRoutes, route } from "vike/__internal";
+import type { ViteVercelConfig } from "vite-plugin-vercel";
+import { getParametrizedRoute } from "./route-regex";
+
+declare module "vite" {
+ export interface UserConfig {
+ vercel?: ViteVercelConfig;
+ }
+}
+
+const libName = "vite-plugin-vercel:vike";
+const rendererDestination = "ssr_";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
-export function assert(
- condition: unknown,
- errorMessage: string,
-): asserts condition {
+export function assert(condition: unknown, errorMessage: string): asserts condition {
if (condition) {
return;
}
@@ -55,9 +55,7 @@ interface MissingPageContextOverrides {
type PageContextForRoute = Parameters[0];
-type PageContext = PageContextServer &
- MissingPageContextOverrides &
- PageContextForRoute;
+type PageContext = PageContextServer & MissingPageContextOverrides & PageContextForRoute;
export function getRoot(config: UserConfig | ResolvedConfig): string {
return normalizePath(config.root || process.cwd());
@@ -66,26 +64,21 @@ export function getRoot(config: UserConfig | ResolvedConfig): string {
function getOutDirRoot(config: ResolvedConfig) {
const outDir = config.build.outDir;
- return outDir.endsWith('/server') || outDir.endsWith('/client')
- ? path.normalize(path.join(outDir, '..'))
- : outDir;
+ return outDir.endsWith("/server") || outDir.endsWith("/client") ? path.normalize(path.join(outDir, "..")) : outDir;
}
export function getOutput(
config: ResolvedConfig,
- suffix?: 'functions' | `functions/${string}.func` | 'static',
+ suffix?: "functions" | `functions/${string}.func` | "static",
): string {
return path.join(
- config.vercel?.outDir ? '' : getRoot(config),
- config.vercel?.outDir ?? '.vercel/output',
- suffix ?? '',
+ config.vercel?.outDir ? "" : getRoot(config),
+ config.vercel?.outDir ?? ".vercel/output",
+ suffix ?? "",
);
}
-export function getOutDir(
- config: ResolvedConfig,
- force?: 'client' | 'server',
-): string {
+export function getOutDir(config: ResolvedConfig, force?: "client" | "server"): string {
const p = path.join(config.root, normalizePath(config.build.outDir));
if (!force) return p;
return path.join(path.dirname(p), force);
@@ -107,31 +100,27 @@ async function copyDir(src: string, dest: string) {
}
}
-function assertIsr(
- resolvedConfig: UserConfig | ResolvedConfig,
- exports: unknown,
-): number | null {
- if (exports === null || typeof exports !== 'object') return null;
- if (!('isr' in exports)) return null;
+function assertIsr(resolvedConfig: UserConfig | ResolvedConfig, exports: unknown): number | null {
+ if (exports === null || typeof exports !== "object") return null;
+ if (!("isr" in exports)) return null;
const isr = (exports as { isr: unknown }).isr;
assert(
- typeof isr === 'boolean' ||
- (typeof isr === 'object' &&
- typeof (isr as Record).expiration === 'number' &&
+ typeof isr === "boolean" ||
+ (typeof isr === "object" &&
+ typeof (isr as Record).expiration === "number" &&
(
isr as {
expiration: number;
}
).expiration > 0),
- ` \`{ expiration }\` must be a positive number`,
+ " `{ expiration }` must be a positive number",
);
if (isr === true) {
assert(
- typeof resolvedConfig.vercel?.expiration === 'number' &&
- resolvedConfig.vercel?.expiration > 0,
- '`export const isr = true;` requires a default positive value for `expiration` in vite config',
+ typeof resolvedConfig.vercel?.expiration === "number" && resolvedConfig.vercel?.expiration > 0,
+ "`export const isr = true;` requires a default positive value for `expiration` in vite config",
);
return resolvedConfig.vercel?.expiration;
@@ -144,16 +133,16 @@ function assertIsr(
).expiration;
}
-function getRouteMatch(myroute: Awaited>): any {
- let routeMatch: any = null;
+function getRouteMatch(myroute: Awaited>): unknown {
+ let routeMatch: unknown = null;
- if ('_routeMatch' in myroute.pageContextAddendum) {
+ if ("_routeMatch" in myroute.pageContextAddendum) {
// Since 0.4.157
routeMatch = myroute.pageContextAddendum._routeMatch;
- } else if ('_routeMatches' in myroute.pageContextAddendum) {
+ } else if ("_routeMatches" in myroute.pageContextAddendum) {
// Before 0.4.145
- routeMatch = (myroute.pageContextAddendum._routeMatches as any[])?.[0];
- } else if ('_debugRouteMatches' in myroute.pageContextAddendum) {
+ routeMatch = (myroute.pageContextAddendum._routeMatches as unknown[])?.[0];
+ } else if ("_debugRouteMatches" in myroute.pageContextAddendum) {
// Between 0.4.145 and 0.4.157 (still in place but prefer using _routeMatch)
routeMatch = myroute.pageContextAddendum._debugRouteMatches?.[0];
}
@@ -187,33 +176,24 @@ export const prerender: ViteVercelPrerenderFn = async (
// if ISR + Filesystem routing -> ISR prevails
if (
- typeof isr === 'number' &&
+ typeof isr === "number" &&
routeMatch &&
- typeof routeMatch !== 'string' &&
- routeMatch.routeType === 'FILESYSTEM'
+ typeof routeMatch !== "string" &&
+ (routeMatch as { routeType: string }).routeType === "FILESYSTEM"
) {
return;
}
}
- const relPath = path.relative(
- getOutDir(resolvedConfig, 'client'),
- filePath,
- );
- const newFilePath = path.join(
- getOutput(resolvedConfig, 'static'),
- relPath,
- );
+ const relPath = path.relative(getOutDir(resolvedConfig, "client"), filePath);
+ const newFilePath = path.join(getOutput(resolvedConfig, "static"), relPath);
const parsed = path.parse(relPath);
- const pathJoined =
- parsed.name === 'index'
- ? parsed.dir
- : path.join(parsed.dir, parsed.name);
+ const pathJoined = parsed.name === "index" ? parsed.dir : path.join(parsed.dir, parsed.name);
- if (relPath.endsWith('.html')) {
+ if (relPath.endsWith(".html")) {
routes[relPath] = {
- path: pathJoined === 'index' ? '' : pathJoined,
+ path: pathJoined === "index" ? "" : pathJoined,
};
}
@@ -228,9 +208,10 @@ export const prerender: ViteVercelPrerenderFn = async (
function getRouteDynamicRoute(pageRoutes: PageRoutes, pageId: string) {
for (const route of pageRoutes) {
if (route.pageId === pageId) {
- if (route.routeType === 'STRING') {
+ if (route.routeType === "STRING") {
return getParametrizedRoute(route.routeString);
- } else if (route.routeType === 'FUNCTION') {
+ }
+ if (route.routeType === "FUNCTION") {
// route.routeType === 'FUNCTION'
return () => {};
}
@@ -242,7 +223,7 @@ function getRouteDynamicRoute(pageRoutes: PageRoutes, pageId: string) {
function getRouteFsRoute(pageRoutes: PageRoutes, pageId: string) {
for (const route of pageRoutes) {
- if (route.pageId === pageId && route.routeType === 'FILESYSTEM') {
+ if (route.pageId === pageId && route.routeType === "FILESYSTEM") {
return route.routeString;
}
}
@@ -250,28 +231,24 @@ function getRouteFsRoute(pageRoutes: PageRoutes, pageId: string) {
return null;
}
-export async function getSsrEndpoint(
- userConfig: UserConfig,
- source?: string,
-): Promise {
- const sourcefile =
- source ?? path.join(__dirname, '..', 'templates', 'ssr_.template.ts');
- const contents = await fs.readFile(sourcefile, 'utf-8');
+export async function getSsrEndpoint(userConfig: UserConfig, source?: string): Promise {
+ const sourcefile = source ?? path.join(__dirname, "..", "templates", "ssr_.template.ts");
+ const contents = await fs.readFile(sourcefile, "utf-8");
const resolveDir = path.dirname(sourcefile);
return {
source: {
contents: contents,
sourcefile,
- loader: sourcefile.endsWith('.ts')
- ? 'ts'
- : sourcefile.endsWith('.tsx')
- ? 'tsx'
- : sourcefile.endsWith('.js')
- ? 'js'
- : sourcefile.endsWith('.jsx')
- ? 'jsx'
- : 'default',
+ loader: sourcefile.endsWith(".ts")
+ ? "ts"
+ : sourcefile.endsWith(".tsx")
+ ? "tsx"
+ : sourcefile.endsWith(".js")
+ ? "js"
+ : sourcefile.endsWith(".jsx")
+ ? "jsx"
+ : "default",
resolveDir,
},
destination: rendererDestination,
@@ -292,7 +269,7 @@ export interface Options {
export function vikeVercelPlugin(options: Options = {}): Plugin {
return {
name: libName,
- apply: 'build',
+ apply: "build",
async config(userConfig): Promise {
// wait for vike second build step with `ssr` flag
if (!userConfig.build?.ssr) return {};
@@ -315,13 +292,13 @@ export function vikeVercelPlugin(options: Options = {}): Plugin {
defaultSupportsResponseStreaming: true,
rewrites: [
{
- source: options.source ? `(${options.source})` : '((?!/api).*)',
+ source: options.source ? `(${options.source})` : "((?!/api).*)",
destination: `/${rendererDestination}/?__original_path=$1`,
- enforce: 'post',
+ enforce: "post",
},
],
},
- } as any;
+ } as UserConfig;
},
} as Plugin;
}
@@ -333,19 +310,16 @@ export function vikeVercelPlugin(options: Options = {}): Plugin {
* @param pageFilesAll
*/
function findPageFile(pageId: string, pageFilesAll: PageFile[]) {
- return pageFilesAll.find(
- (p) => p.pageId === pageId && p.fileType === '.page',
- );
+ return pageFilesAll.find((p) => p.pageId === pageId && p.fileType === ".page");
}
export function vitePluginVercelVikeIsrPlugin(): Plugin {
return {
- name: 'vite-plugin-vercel:vike-isr',
- apply: 'build',
+ name: "vite-plugin-vercel:vike-isr",
+ apply: "build",
async config(userConfig): Promise {
async function getPagesWithConfigs() {
- const { pageFilesAll, allPageIds, pageRoutes, pageConfigs } =
- await getPagesAndRoutes();
+ const { pageFilesAll, allPageIds, pageRoutes, pageConfigs } = await getPagesAndRoutes();
const isLegacy = pageFilesAll.length > 0;
@@ -392,13 +366,11 @@ export function vitePluginVercelVikeIsrPlugin(): Plugin {
};
}
- const route =
- getRouteDynamicRoute(pageRoutes, pageId) ??
- getRouteFsRoute(pageRoutes, pageId);
+ const route = getRouteDynamicRoute(pageRoutes, pageId) ?? getRouteFsRoute(pageRoutes, pageId);
let isr = assertIsr(userConfig, page.config);
// if ISR + Function routing -> warn because ISR is not unsupported in this case
- if (typeof route === 'function' && isr) {
+ if (typeof route === "function" && isr) {
console.warn(
`Page ${pageId}: ISR is not supported when using route function. Remove \`{ isr }\` export or use a route string if possible.`,
);
@@ -410,8 +382,7 @@ export function vitePluginVercelVikeIsrPlugin(): Plugin {
// used for debug purpose
filePath: page.filePath,
isr,
- route:
- typeof route === 'string' ? getParametrizedRoute(route) : null,
+ route: typeof route === "string" ? getParametrizedRoute(route) : null,
};
}),
);
@@ -422,7 +393,7 @@ export function vitePluginVercelVikeIsrPlugin(): Plugin {
isr: async () => {
let userIsr: Record = {};
if (userConfig.vercel?.isr) {
- if (typeof userConfig.vercel.isr === 'function') {
+ if (typeof userConfig.vercel.isr === "function") {
userIsr = await userConfig.vercel.isr();
} else {
userIsr = userConfig.vercel.isr;
@@ -432,16 +403,14 @@ export function vitePluginVercelVikeIsrPlugin(): Plugin {
const pagesWithConfigs = await getPagesWithConfigs();
return pagesWithConfigs
- .filter((p) => typeof p.isr === 'number')
+ .filter((p) => typeof p.isr === "number")
.reduce((acc, cur) => {
- const path =
- cur._pageId.replace(/\/index$/g, '') + '-' + nanoid();
+ const path = `${cur._pageId.replace(/\/index$/g, "")}-${nanoid()}`;
acc[path] = {
+ // biome-ignore lint/style/noNonNullAssertion:
expiration: cur.isr!,
symlink: rendererDestination,
- route: cur.route
- ? cur.route + '(?:\\/index\\.pageContext\\.json)?'
- : undefined,
+ route: cur.route ? `${cur.route}(?:\\/index\\.pageContext\\.json)?` : undefined,
};
return acc;
}, userIsr);
@@ -456,9 +425,9 @@ export function vitePluginVercelVikeCopyStaticAssetsPlugins(): Plugin {
let resolvedConfig: ResolvedConfig;
return {
- apply: 'build',
- name: 'vite-plugin-vercel:vike-copy-static-assets',
- enforce: 'post',
+ apply: "build",
+ name: "vite-plugin-vercel:vike-copy-static-assets",
+ enforce: "post",
configResolved(config) {
resolvedConfig = config;
},
@@ -470,16 +439,9 @@ export function vitePluginVercelVikeCopyStaticAssetsPlugins(): Plugin {
}
async function copyDistClientToOutputStatic(resolvedConfig: ResolvedConfig) {
- await copyDir(
- getOutDir(resolvedConfig, 'client'),
- getOutput(resolvedConfig, 'static'),
- );
+ await copyDir(getOutDir(resolvedConfig, "client"), getOutput(resolvedConfig, "static"));
}
export default function allPlugins(options: Options = {}): Plugin[] {
- return [
- vitePluginVercelVikeIsrPlugin(),
- vikeVercelPlugin(options),
- vitePluginVercelVikeCopyStaticAssetsPlugins(),
- ];
+ return [vitePluginVercelVikeIsrPlugin(), vikeVercelPlugin(options), vitePluginVercelVikeCopyStaticAssetsPlugins()];
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d7eddcb3..5b10b987 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,24 +8,18 @@ importers:
.:
devDependencies:
+ '@biomejs/biome':
+ specifier: ^1.8.3
+ version: 1.8.3
'@changesets/cli':
specifier: ^2.27.7
version: 2.27.7
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
+ specifier: ^18.19.45
+ version: 18.19.45
cross-env:
specifier: ^7.0.3
version: 7.0.3
- husky:
- specifier: ^9.1.4
- version: 9.1.4
- lint-staged:
- specifier: ^15.2.8
- version: 15.2.8
- prettier:
- specifier: ^3.3.3
- version: 3.3.3
typescript:
specifier: ^5.5.4
version: 5.5.4
@@ -37,13 +31,13 @@ importers:
version: 3.0.1
'@mdx-js/react':
specifier: ^3.0.1
- version: 3.0.1(@types/react@18.2.79)(react@18.2.0)
+ version: 3.0.1(@types/react@18.3.3)(react@18.3.1)
'@mdx-js/rollup':
specifier: ^3.0.1
- version: 3.0.1(rollup@4.19.0)
+ version: 3.0.1(rollup@4.21.0)
'@vercel/edge-config':
- specifier: ^1.1.0
- version: 1.1.0(typescript@5.5.4)
+ specifier: ^1.2.1
+ version: 1.2.1
'@vercel/og':
specifier: ^0.6.2
version: 0.6.2
@@ -51,8 +45,8 @@ importers:
specifier: workspace:*
version: link:../../packages/vike-integration
'@vitejs/plugin-react-swc':
- specifier: ^3.6.0
- version: 3.6.0(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^3.7.0
+ version: 3.7.0(vite@5.4.1(@types/node@18.19.45))
cross-fetch:
specifier: ^4.0.0
version: 4.0.0
@@ -60,45 +54,45 @@ importers:
specifier: ^3.3.2
version: 3.3.2
react:
- specifier: ^18.2.0
- version: 18.2.0
+ specifier: ^18.3.1
+ version: 18.3.1
react-dom:
- specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
typescript:
specifier: ^5.4.5
version: 5.5.4
vike:
- specifier: ^0.4.178
- version: 0.4.183(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^0.4.188
+ version: 0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))
vite:
- specifier: ^5.2.9
- version: 5.4.0(@types/node@18.19.31)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@18.19.45)
vite-plugin-vercel:
specifier: workspace:*
version: link:../../packages/vercel
devDependencies:
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
+ specifier: ^18.19.45
+ version: 18.19.45
'@types/node-fetch':
specifier: ^2.6.11
version: 2.6.11
'@types/react':
- specifier: ^18.2.79
- version: 18.2.79
+ specifier: ^18.3.3
+ version: 18.3.3
'@types/react-dom':
- specifier: ^18.2.25
- version: 18.2.25
+ specifier: ^18.3.0
+ version: 18.3.0
'@vercel/node':
specifier: ^3.0.26
- version: 3.2.8(@swc/core@1.4.16)
+ version: 3.2.8(@swc/core@1.7.14)
fast-glob:
specifier: ^3.3.2
version: 3.3.2
vitest:
- specifier: ^1.5.0
- version: 1.5.0(@edge-runtime/vm@3.2.0)(@types/node@18.19.31)
+ specifier: ^2.0.5
+ version: 2.0.5(@edge-runtime/vm@4.0.2)(@types/node@18.19.45)
zod:
specifier: ^3.22.4
version: 3.23.8
@@ -113,44 +107,44 @@ importers:
specifier: ^4.17.21
version: 4.17.21
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
+ specifier: ^18.19.45
+ version: 18.19.45
'@types/react':
- specifier: ^18.2.79
- version: 18.2.79
+ specifier: ^18.3.3
+ version: 18.3.3
'@types/react-dom':
- specifier: ^18.2.25
- version: 18.2.25
+ specifier: ^18.3.0
+ version: 18.3.0
'@universal-middleware/express':
- specifier: ^0.0.2
- version: 0.0.2
+ specifier: ^0.2.1
+ version: 0.2.1
'@vercel/node':
specifier: ^3.0.26
- version: 3.2.8(@swc/core@1.4.16)
+ version: 3.2.8(@swc/core@1.7.14)
'@vitejs/plugin-react-swc':
- specifier: ^3.6.0
- version: 3.6.0(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^3.7.0
+ version: 3.7.0(vite@5.4.1(@types/node@18.19.45))
express:
specifier: ^4.19.2
version: 4.19.2
react:
- specifier: ^18.2.0
- version: 18.2.0
+ specifier: ^18.3.1
+ version: 18.3.1
tsx:
- specifier: ^4.16.2
- version: 4.16.2
+ specifier: ^4.17.0
+ version: 4.17.0
typescript:
specifier: ^5.4.5
version: 5.5.4
vike:
- specifier: ^0.4.178
- version: 0.4.183(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^0.4.188
+ version: 0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))
vike-react:
- specifier: ^0.4.16
- version: 0.4.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vike@0.4.183(vite@5.4.0(@types/node@18.19.31)))(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^0.5.3
+ version: 0.5.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vike@0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45)))
vite:
- specifier: ^5.2.9
- version: 5.4.0(@types/node@18.19.31)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@18.19.45)
examples/simple:
dependencies:
@@ -159,17 +153,17 @@ importers:
version: link:../../packages/vercel
devDependencies:
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
+ specifier: ^18.19.45
+ version: 18.19.45
'@vercel/node':
specifier: ^3.0.26
- version: 3.2.8(@swc/core@1.4.16)
+ version: 3.2.8(@swc/core@1.7.14)
typescript:
specifier: ^5.4.5
version: 5.5.4
vite:
- specifier: ^5.2.9
- version: 5.4.0(@types/node@18.19.31)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@18.19.45)
packages/vercel:
dependencies:
@@ -177,8 +171,8 @@ importers:
specifier: ^0.5.8
version: 0.5.8
'@manypkg/find-root':
- specifier: ^2.2.2
- version: 2.2.2
+ specifier: ^2.2.3
+ version: 2.2.3
'@vercel/build-utils':
specifier: ^8.3.6
version: 8.3.6
@@ -189,8 +183,8 @@ importers:
specifier: ^3.1.0
version: 3.1.0
esbuild:
- specifier: ^0.23.0
- version: 0.23.0
+ specifier: ^0.23.1
+ version: 0.23.1
fast-glob:
specifier: ^3.3.2
version: 3.3.2
@@ -202,32 +196,23 @@ importers:
version: 3.23.8
devDependencies:
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
- '@typescript-eslint/eslint-plugin':
- specifier: ^7.18.0
- version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)
- '@typescript-eslint/parser':
- specifier: ^7.18.0
- version: 7.18.0(eslint@8.57.0)(typescript@5.5.4)
+ specifier: ^18.19.45
+ version: 18.19.45
'@vite-plugin-vercel/vike':
specifier: workspace:*
version: link:../vike-integration
- eslint:
- specifier: ^8.57.0
- version: 8.57.0
tsup:
specifier: ^8.2.4
- version: 8.2.4(@swc/core@1.4.16)(postcss@8.4.41)(tsx@4.16.2)(typescript@5.5.4)(yaml@2.5.0)
+ version: 8.2.4(@swc/core@1.7.14)(postcss@8.4.41)(tsx@4.17.0)(typescript@5.5.4)(yaml@2.5.0)
typescript:
specifier: ^5.5.4
version: 5.5.4
vike:
- specifier: ^0.4.183
- version: 0.4.183(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^0.4.188
+ version: 0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))
vite:
- specifier: ^5.4.0
- version: 5.4.0(@types/node@18.19.31)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@18.19.45)
packages/vike-integration:
dependencies:
@@ -239,32 +224,32 @@ importers:
version: 5.0.7
devDependencies:
'@types/node':
- specifier: ^18.19.31
- version: 18.19.31
+ specifier: ^18.19.45
+ version: 18.19.45
'@vercel/node':
specifier: ^3.2.8
- version: 3.2.8(@swc/core@1.4.16)
+ version: 3.2.8(@swc/core@1.7.14)
tsup:
specifier: ^8.2.4
- version: 8.2.4(@swc/core@1.4.16)(postcss@8.4.41)(tsx@4.16.2)(typescript@5.5.4)(yaml@2.5.0)
+ version: 8.2.4(@swc/core@1.7.14)(postcss@8.4.41)(tsx@4.17.0)(typescript@5.5.4)(yaml@2.5.0)
typescript:
specifier: ^5.5.4
version: 5.5.4
vike:
- specifier: ^0.4.183
- version: 0.4.183(vite@5.4.0(@types/node@18.19.31))
+ specifier: ^0.4.188
+ version: 0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))
vite:
- specifier: ^5.4.0
- version: 5.4.0(@types/node@18.19.31)
+ specifier: ^5.4.1
+ version: 5.4.1(@types/node@18.19.45)
vite-plugin-vercel:
specifier: workspace:*
version: link:../vercel
packages:
- '@aashutoshrathi/word-wrap@1.2.6':
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
'@babel/helper-string-parser@7.24.1':
resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
@@ -287,6 +272,59 @@ packages:
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
engines: {node: '>=6.9.0'}
+ '@biomejs/biome@1.8.3':
+ resolution: {integrity: sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==}
+ engines: {node: '>=14.21.3'}
+ hasBin: true
+
+ '@biomejs/cli-darwin-arm64@1.8.3':
+ resolution: {integrity: sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@biomejs/cli-darwin-x64@1.8.3':
+ resolution: {integrity: sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@biomejs/cli-linux-arm64-musl@1.8.3':
+ resolution: {integrity: sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-arm64@1.8.3':
+ resolution: {integrity: sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64-musl@1.8.3':
+ resolution: {integrity: sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64@1.8.3':
+ resolution: {integrity: sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-win32-arm64@1.8.3':
+ resolution: {integrity: sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@biomejs/cli-win32-x64@1.8.3':
+ resolution: {integrity: sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [win32]
+
'@brillout/import@0.2.3':
resolution: {integrity: sha512-1T8WlD75eeFSMrptGy8jiLHmfHgMmSjWvLOIUvHmSVZt+6k0eQqYUoK4KbmE4T9pVLIfxvZSOm2D68VEqKRHRw==}
@@ -302,8 +340,8 @@ packages:
'@brillout/require-shim@0.1.2':
resolution: {integrity: sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==}
- '@brillout/vite-plugin-server-entry@0.4.6':
- resolution: {integrity: sha512-VmnbkEVNY9pGnr2ICu+5lFnT3Zz4oblWxKZ1D4kutkzljxDOOBld8oWQI1RVup7c5OiG7XOHFJYYZS38BAXiLw==}
+ '@brillout/vite-plugin-server-entry@0.4.8':
+ resolution: {integrity: sha512-bwsQx5y6LYDjDFK8B/ruEbywAR4DI1zrv8zWAPllAAZZWawwxBBgstrxTs/rUjlmqf1hHI2kYOVbO0lt8uHnyA==}
'@changesets/apply-release-plan@7.0.4':
resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==}
@@ -380,15 +418,17 @@ packages:
resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==}
engines: {node: '>=16'}
+ '@edge-runtime/primitives@5.1.0':
+ resolution: {integrity: sha512-bs379S/qL7b9B1fXM3xYe+g2orW7Uy0m8oIudiXLcHQyZLsdd0Gfw9STngFDnaAfAcRN5g+/YEMPSsDqiPm0TQ==}
+ engines: {node: '>=16'}
+
'@edge-runtime/vm@3.2.0':
resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==}
engines: {node: '>=16'}
- '@esbuild/aix-ppc64@0.19.12':
- resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
+ '@edge-runtime/vm@4.0.2':
+ resolution: {integrity: sha512-hhawzuXYjGFtE2gvoeh0ke4ulLCWnaS3e1G/UsNI3BAxDRVxsZkzZhyrp9OM6VMi3bAOgN/de/Zvs/8OMa0Nmg==}
+ engines: {node: '>=16'}
'@esbuild/aix-ppc64@0.21.5':
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
@@ -396,470 +436,290 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.23.0':
- resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==}
+ '@esbuild/aix-ppc64@0.23.1':
+ resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.19.12':
- resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.21.5':
resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.23.0':
- resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==}
+ '@esbuild/android-arm64@0.23.1':
+ resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.19.12':
- resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.21.5':
resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.23.0':
- resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==}
+ '@esbuild/android-arm@0.23.1':
+ resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.19.12':
- resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.21.5':
resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.23.0':
- resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==}
+ '@esbuild/android-x64@0.23.1':
+ resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.19.12':
- resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.21.5':
resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.23.0':
- resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==}
+ '@esbuild/darwin-arm64@0.23.1':
+ resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.19.12':
- resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.21.5':
resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.23.0':
- resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==}
+ '@esbuild/darwin-x64@0.23.1':
+ resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.19.12':
- resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.21.5':
resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.23.0':
- resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==}
+ '@esbuild/freebsd-arm64@0.23.1':
+ resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.19.12':
- resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.21.5':
resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.23.0':
- resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==}
+ '@esbuild/freebsd-x64@0.23.1':
+ resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.19.12':
- resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.21.5':
resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.23.0':
- resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==}
+ '@esbuild/linux-arm64@0.23.1':
+ resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.19.12':
- resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.21.5':
resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.23.0':
- resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==}
+ '@esbuild/linux-arm@0.23.1':
+ resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.19.12':
- resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.21.5':
resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.23.0':
- resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==}
+ '@esbuild/linux-ia32@0.23.1':
+ resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.19.12':
- resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.21.5':
resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.23.0':
- resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==}
+ '@esbuild/linux-loong64@0.23.1':
+ resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.19.12':
- resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.21.5':
resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.23.0':
- resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==}
+ '@esbuild/linux-mips64el@0.23.1':
+ resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.19.12':
- resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.21.5':
resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.23.0':
- resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==}
+ '@esbuild/linux-ppc64@0.23.1':
+ resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.19.12':
- resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.21.5':
resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.23.0':
- resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==}
+ '@esbuild/linux-riscv64@0.23.1':
+ resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.19.12':
- resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.21.5':
resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.23.0':
- resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==}
+ '@esbuild/linux-s390x@0.23.1':
+ resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.19.12':
- resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.21.5':
resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.23.0':
- resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==}
+ '@esbuild/linux-x64@0.23.1':
+ resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.19.12':
- resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.21.5':
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.23.0':
- resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==}
+ '@esbuild/netbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.23.0':
- resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==}
+ '@esbuild/openbsd-arm64@0.23.1':
+ resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.19.12':
- resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.21.5':
resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.23.0':
- resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==}
+ '@esbuild/openbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.19.12':
- resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.21.5':
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.23.0':
- resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==}
+ '@esbuild/sunos-x64@0.23.1':
+ resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.19.12':
- resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.21.5':
resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.23.0':
- resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==}
+ '@esbuild/win32-arm64@0.23.1':
+ resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.19.12':
- resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.21.5':
resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.23.0':
- resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==}
+ '@esbuild/win32-ia32@0.23.1':
+ resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.19.12':
- resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.21.5':
resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.23.0':
- resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==}
+ '@esbuild/win32-x64@0.23.1':
+ resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
- '@eslint-community/regexpp@4.10.0':
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- '@eslint/js@8.57.0':
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
- '@hattip/core@0.0.45':
- resolution: {integrity: sha512-4BK9dPU7sLvmP9sUq048uSaKFvQY2Qa6D0xQteQBIiDYuTdbopcUQLETM1sdkUeUtFxHPwPu/NclfJAC5INarw==}
-
- '@hattip/headers@0.0.45':
- resolution: {integrity: sha512-owgxAt1jdhEcAdDfnlpPa8iQx/swItReYUlo8UFZ0GUCMiWJvnpl6rTdUsS6bCwMK9IJOliivN4dHEY8VKdGQw==}
-
- '@hattip/polyfills@0.0.45':
- resolution: {integrity: sha512-H8a+NVu/rAspycnkLSLVvWu3ei/ndFhA+3KQS1p2YjCcuf4Wuj4EWfScrwgL4d6CR0J+FxqX1P9NDGa4tdJQmQ==}
-
- '@hattip/walk@0.0.45':
- resolution: {integrity: sha512-GYEQN5n2JUzjLl9hdMJ+0mbsfwvldRKMBdxx+l29SxmRhOwyWURDyaSfX7UEkEmmxjbg4YqEoWyYgaAtxeW7Jw==}
- hasBin: true
-
- '@humanwhocodes/config-array@0.11.14':
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
-
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- deprecated: Use @eslint/object-schema instead
-
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@jest/schemas@29.6.3':
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
@@ -872,8 +732,8 @@ packages:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- '@jridgewell/sourcemap-codec@1.4.15':
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
@@ -881,21 +741,18 @@ packages:
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- '@kamilkisiela/fast-url-parser@1.1.4':
- resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==}
-
'@manypkg/find-root@1.1.0':
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
- '@manypkg/find-root@2.2.2':
- resolution: {integrity: sha512-guhclSR8MCzjRHrFdhDBppjqofGbcv5St5PM4DITT9s0mEsxFbsAusp+L5UCsed+Pd6qTi73Sr7EdQS23nmBHA==}
+ '@manypkg/find-root@2.2.3':
+ resolution: {integrity: sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ==}
engines: {node: '>=14.18.0'}
'@manypkg/get-packages@1.1.3':
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
- '@manypkg/tools@1.1.1':
- resolution: {integrity: sha512-lpqC/HVb/fWljyphkEdifkr7vSfxHURnwLwKbJma7KvAkX2dl6xTsKLxwt4EpfxxuHhX7gaFOCCcs9Gqj//lEA==}
+ '@manypkg/tools@1.1.2':
+ resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==}
engines: {node: '>=14.18.0'}
'@mapbox/node-pre-gyp@1.0.11':
@@ -952,83 +809,83 @@ packages:
rollup:
optional: true
- '@rollup/rollup-android-arm-eabi@4.19.0':
- resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==}
+ '@rollup/rollup-android-arm-eabi@4.21.0':
+ resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.19.0':
- resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==}
+ '@rollup/rollup-android-arm64@4.21.0':
+ resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.19.0':
- resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==}
+ '@rollup/rollup-darwin-arm64@4.21.0':
+ resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.19.0':
- resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==}
+ '@rollup/rollup-darwin-x64@4.21.0':
+ resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-linux-arm-gnueabihf@4.19.0':
- resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
+ resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.19.0':
- resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.21.0':
+ resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.19.0':
- resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==}
+ '@rollup/rollup-linux-arm64-gnu@4.21.0':
+ resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.19.0':
- resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==}
+ '@rollup/rollup-linux-arm64-musl@4.21.0':
+ resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.19.0':
- resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==}
+ '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
+ resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.19.0':
- resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==}
+ '@rollup/rollup-linux-riscv64-gnu@4.21.0':
+ resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.19.0':
- resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==}
+ '@rollup/rollup-linux-s390x-gnu@4.21.0':
+ resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.19.0':
- resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==}
+ '@rollup/rollup-linux-x64-gnu@4.21.0':
+ resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.19.0':
- resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==}
+ '@rollup/rollup-linux-x64-musl@4.21.0':
+ resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.19.0':
- resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==}
+ '@rollup/rollup-win32-arm64-msvc@4.21.0':
+ resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.19.0':
- resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==}
+ '@rollup/rollup-win32-ia32-msvc@4.21.0':
+ resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.19.0':
- resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==}
+ '@rollup/rollup-win32-x64-msvc@4.21.0':
+ resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==}
cpu: [x64]
os: [win32]
@@ -1037,74 +894,71 @@ packages:
engines: {node: '>= 8.0.0'}
hasBin: true
- '@sinclair/typebox@0.27.8':
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
-
- '@swc/core-darwin-arm64@1.4.16':
- resolution: {integrity: sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==}
+ '@swc/core-darwin-arm64@1.7.14':
+ resolution: {integrity: sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.4.16':
- resolution: {integrity: sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA==}
+ '@swc/core-darwin-x64@1.7.14':
+ resolution: {integrity: sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.4.16':
- resolution: {integrity: sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ==}
+ '@swc/core-linux-arm-gnueabihf@1.7.14':
+ resolution: {integrity: sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.4.16':
- resolution: {integrity: sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ==}
+ '@swc/core-linux-arm64-gnu@1.7.14':
+ resolution: {integrity: sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-arm64-musl@1.4.16':
- resolution: {integrity: sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ==}
+ '@swc/core-linux-arm64-musl@1.7.14':
+ resolution: {integrity: sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-x64-gnu@1.4.16':
- resolution: {integrity: sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ==}
+ '@swc/core-linux-x64-gnu@1.7.14':
+ resolution: {integrity: sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-linux-x64-musl@1.4.16':
- resolution: {integrity: sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ==}
+ '@swc/core-linux-x64-musl@1.7.14':
+ resolution: {integrity: sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-win32-arm64-msvc@1.4.16':
- resolution: {integrity: sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org==}
+ '@swc/core-win32-arm64-msvc@1.7.14':
+ resolution: {integrity: sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.4.16':
- resolution: {integrity: sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ==}
+ '@swc/core-win32-ia32-msvc@1.7.14':
+ resolution: {integrity: sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.4.16':
- resolution: {integrity: sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA==}
+ '@swc/core-win32-x64-msvc@1.7.14':
+ resolution: {integrity: sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.4.16':
- resolution: {integrity: sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==}
+ '@swc/core@1.7.14':
+ resolution: {integrity: sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==}
engines: {node: '>=10'}
peerDependencies:
- '@swc/helpers': ^0.5.0
+ '@swc/helpers': '*'
peerDependenciesMeta:
'@swc/helpers':
optional: true
@@ -1112,8 +966,8 @@ packages:
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
- '@swc/types@0.1.6':
- resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==}
+ '@swc/types@0.1.12':
+ resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==}
'@ts-morph/common@0.11.1':
resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==}
@@ -1184,8 +1038,8 @@ packages:
'@types/node@16.18.11':
resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==}
- '@types/node@18.19.31':
- resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==}
+ '@types/node@18.19.45':
+ resolution: {integrity: sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA==}
'@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
@@ -1196,11 +1050,11 @@ packages:
'@types/range-parser@1.2.7':
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
- '@types/react-dom@18.2.25':
- resolution: {integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==}
+ '@types/react-dom@18.3.0':
+ resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
- '@types/react@18.2.79':
- resolution: {integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==}
+ '@types/react@18.3.3':
+ resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==}
'@types/semver@7.5.8':
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
@@ -1217,69 +1071,14 @@ packages:
'@types/unist@3.0.2':
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
- '@typescript-eslint/eslint-plugin@7.18.0':
- resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/parser@7.18.0':
- resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/scope-manager@7.18.0':
- resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@typescript-eslint/type-utils@7.18.0':
- resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/types@7.18.0':
- resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@typescript-eslint/typescript-estree@7.18.0':
- resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/utils@7.18.0':
- resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
-
- '@typescript-eslint/visitor-keys@7.18.0':
- resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- '@universal-middleware/express@0.0.2':
- resolution: {integrity: sha512-qw9v/OOpmfcz69369xeDq3u8ZRJhd8l+0B6qo5uCcgUh7zWt5mOl6gPVciIxXuyrlgcHVW86hNoyf7pPLIQGlg==}
+ '@universal-middleware/core@0.2.3':
+ resolution: {integrity: sha512-7dQTpMMApyK1AJ3m+PoZTWOYSUvUDSeOpQYO7yszaF9Wg9YzsAHuy3un0SuvZcxPImho4C/zez7Cd5Ah/cBZwQ==}
+
+ '@universal-middleware/express@0.2.1':
+ resolution: {integrity: sha512-2jJPTviLbFRj5sywjKbVc8q9emdp2gY2GCkZfwN9ZcwrsgUjWSqFS+f1VmI7sdoB/r6LX3oZ4cOoCjuzB59ndw==}
'@vercel/build-utils@8.3.6':
resolution: {integrity: sha512-EPwr8tXu41aoXg9QBiF98clu5AHbKtwbp3SeX/W6c8L0fhLwiT+H/s3WDuOL/UMz0TT3B8JAdY4PZioWNEAf6g==}
@@ -1287,8 +1086,8 @@ packages:
'@vercel/edge-config-fs@0.1.0':
resolution: {integrity: sha512-NRIBwfcS0bUoUbRWlNGetqjvLSwgYH/BqKqDN7vK1g32p7dN96k0712COgaz6VFizAm9b0g6IG6hR6+hc0KCPg==}
- '@vercel/edge-config@1.1.0':
- resolution: {integrity: sha512-es/4BzzKfyUilL5E1knR42MZHJqHMRfqitrnv18gVZZUha9ywrX3qNoCrPsNMJ1HS8xAAz/FJEyel7YFIDfKoQ==}
+ '@vercel/edge-config@1.2.1':
+ resolution: {integrity: sha512-SsRHAe22GfVXsEVJggvTdwsvAWZTrLNuy6lqb4dNE4IibHKKZplnt2s5aCdeVpLTM45xvj/6xaTYkkXCZsqSrw==}
engines: {node: '>=14.6'}
peerDependencies:
'@opentelemetry/api': ^1.7.0
@@ -1317,37 +1116,28 @@ packages:
'@vercel/static-config@3.0.0':
resolution: {integrity: sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==}
- '@vitejs/plugin-react-swc@3.6.0':
- resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==}
+ '@vitejs/plugin-react-swc@3.7.0':
+ resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==}
peerDependencies:
vite: ^4 || ^5
- '@vitest/expect@1.5.0':
- resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==}
-
- '@vitest/runner@1.5.0':
- resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==}
-
- '@vitest/snapshot@1.5.0':
- resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==}
+ '@vitest/expect@2.0.5':
+ resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==}
- '@vitest/spy@1.5.0':
- resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==}
+ '@vitest/pretty-format@2.0.5':
+ resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==}
- '@vitest/utils@1.5.0':
- resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==}
+ '@vitest/runner@2.0.5':
+ resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==}
- '@whatwg-node/events@0.1.1':
- resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==}
- engines: {node: '>=16.0.0'}
+ '@vitest/snapshot@2.0.5':
+ resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==}
- '@whatwg-node/fetch@0.9.18':
- resolution: {integrity: sha512-hqoz6StCW+AjV/3N+vg0s1ah82ptdVUb9nH2ttj3UbySOXUvytWw2yqy8c1cKzyRk6mDD00G47qS3fZI9/gMjg==}
- engines: {node: '>=16.0.0'}
+ '@vitest/spy@2.0.5':
+ resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==}
- '@whatwg-node/node-fetch@0.5.11':
- resolution: {integrity: sha512-LS8tSomZa3YHnntpWt3PP43iFEEl6YeIsvDakczHBKlay5LdkXFr8w7v8H6akpG5nRrzydyB0k1iE2eoL6aKIQ==}
- engines: {node: '>=16.0.0'}
+ '@vitest/utils@2.0.5':
+ resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==}
abbrev@1.1.1:
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
@@ -1370,8 +1160,8 @@ packages:
resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
engines: {node: '>=0.4.0'}
- acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ acorn@8.12.1:
+ resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
engines: {node: '>=0.4.0'}
hasBin: true
@@ -1389,10 +1179,6 @@ packages:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
- ansi-escapes@7.0.0:
- resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
- engines: {node: '>=18'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -1409,10 +1195,6 @@ packages:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
- ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
-
ansi-styles@6.2.1:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
@@ -1448,8 +1230,9 @@ packages:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
- assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
astring@1.8.6:
resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
@@ -1513,10 +1296,6 @@ packages:
peerDependencies:
esbuild: '>=0.18'
- busboy@1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
-
bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
@@ -1529,32 +1308,20 @@ packages:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- chai@4.4.1:
- resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
- engines: {node: '>=4'}
+ chai@5.1.1:
+ resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==}
+ engines: {node: '>=12'}
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
@@ -1570,8 +1337,9 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- check-error@1.0.3:
- resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ check-error@2.1.1:
+ resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
+ engines: {node: '>= 16'}
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
@@ -1588,14 +1356,6 @@ packages:
cjs-module-lexer@1.2.3:
resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
-
- cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
-
code-block-writer@10.1.1:
resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==}
@@ -1619,9 +1379,6 @@ packages:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true
- colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
-
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
@@ -1629,10 +1386,6 @@ packages:
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
-
commander@4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
@@ -1640,9 +1393,6 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- confbox@0.1.7:
- resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
-
consola@3.2.3:
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -1727,13 +1477,10 @@ packages:
decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
- deep-eql@4.1.3:
- resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
engines: {node: '>=6'}
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
-
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -1768,10 +1515,6 @@ packages:
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
@@ -1780,10 +1523,6 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@@ -1812,10 +1551,6 @@ packages:
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
engines: {node: '>=8.6'}
- environment@1.1.0:
- resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
- engines: {node: '>=18'}
-
es-define-property@1.0.0:
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
engines: {node: '>= 0.4'}
@@ -1827,8 +1562,8 @@ packages:
es-module-lexer@1.4.1:
resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
- es-module-lexer@1.5.0:
- resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==}
+ es-module-lexer@1.5.4:
+ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
esbuild-android-64@0.14.47:
resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==}
@@ -1955,18 +1690,13 @@ packages:
engines: {node: '>=12'}
hasBin: true
- esbuild@0.19.12:
- resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
- engines: {node: '>=12'}
- hasBin: true
-
esbuild@0.21.5:
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
engines: {node: '>=12'}
hasBin: true
- esbuild@0.23.0:
- resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==}
+ esbuild@0.23.1:
+ resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
engines: {node: '>=18'}
hasBin: true
@@ -1977,44 +1707,11 @@ packages:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
-
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
- esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
estree-util-attach-comments@3.0.0:
resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
@@ -2036,17 +1733,10 @@ packages:
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- eventemitter3@5.0.1:
- resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
-
execa@5.1.1:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
@@ -2069,9 +1759,6 @@ packages:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
- fast-decode-uri-component@1.0.1:
- resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -2082,12 +1769,6 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
- fast-querystring@1.1.2:
- resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
-
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -2098,10 +1779,6 @@ packages:
fflate@0.7.4:
resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
-
file-uri-to-path@1.0.0:
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
@@ -2124,13 +1801,6 @@ packages:
find-yarn-workspace-root2@1.2.16:
resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
-
- flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
-
foreground-child@3.1.1:
resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
engines: {node: '>=14'}
@@ -2179,10 +1849,6 @@ packages:
engines: {node: '>=10'}
deprecated: This package is no longer supported.
- get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
- engines: {node: '>=18'}
-
get-func-name@2.0.2:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
@@ -2198,17 +1864,13 @@ packages:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
- get-tsconfig@4.7.5:
- resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+ get-tsconfig@4.7.6:
+ resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
glob@10.3.12:
resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2218,10 +1880,6 @@ packages:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Glob versions prior to v9 are no longer supported
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
-
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -2232,17 +1890,10 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
@@ -2293,11 +1944,6 @@ packages:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
- husky@9.1.4:
- resolution: {integrity: sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==}
- engines: {node: '>=18'}
- hasBin: true
-
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -2306,14 +1952,6 @@ packages:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
-
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -2352,14 +1990,6 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
-
- is-fullwidth-code-point@5.0.0:
- resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
- engines: {node: '>=18'}
-
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -2371,10 +2001,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
-
is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
@@ -2419,9 +2045,6 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-tokens@9.0.0:
- resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
-
js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
hasBin: true
@@ -2430,9 +2053,6 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
json-schema-to-ts@1.6.4:
resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==}
@@ -2442,19 +2062,9 @@ packages:
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
lilconfig@3.1.2:
resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
engines: {node: '>=14'}
@@ -2465,15 +2075,6 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- lint-staged@15.2.8:
- resolution: {integrity: sha512-PUWFf2zQzsd9EFU+kM1d7UP+AZDbKFKuj+9JNVTBkhUFhbg4MAt6WfyMMwBfM4lYqd4D2Jwac5iuTu9rVj4zCQ==}
- engines: {node: '>=18.12.0'}
- hasBin: true
-
- listr2@8.2.4:
- resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==}
- engines: {node: '>=18.0.0'}
-
load-tsconfig@0.2.5:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2482,10 +2083,6 @@ packages:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
engines: {node: '>=6'}
- local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
- engines: {node: '>=14'}
-
locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
@@ -2494,19 +2091,12 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
lodash.sortby@4.7.0:
resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
- log-update@6.1.0:
- resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
- engines: {node: '>=18'}
-
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -2514,8 +2104,8 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
- loupe@2.3.7:
- resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+ loupe@3.1.1:
+ resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==}
lru-cache@10.2.0:
resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
@@ -2524,8 +2114,8 @@ packages:
lru-cache@4.1.5:
resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
- magic-string@0.30.10:
- resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+ magic-string@0.30.11:
+ resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
magicast@0.3.4:
resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==}
@@ -2695,10 +2285,6 @@ packages:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
engines: {node: '>=12'}
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
-
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -2727,9 +2313,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- mlly@1.6.1:
- resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
-
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -2760,9 +2343,6 @@ packages:
engines: {node: ^18 || >=20}
hasBin: true
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
@@ -2771,9 +2351,6 @@ packages:
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
engines: {node: '>=10.5.0'}
- node-fetch-native@1.6.4:
- resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
-
node-fetch@2.6.9:
resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
engines: {node: 4.x || >=6.0.0}
@@ -2844,14 +2421,6 @@ packages:
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
engines: {node: '>=12'}
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
-
- optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
-
os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
@@ -2871,10 +2440,6 @@ packages:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
- p-limit@5.0.0:
- resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
- engines: {node: '>=18'}
-
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -2894,10 +2459,6 @@ packages:
pako@0.2.9:
resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
-
parse-css-color@0.2.1:
resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==}
@@ -2951,8 +2512,9 @@ packages:
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ pathval@2.0.0:
+ resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
+ engines: {node: '>= 14.16'}
periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
@@ -2967,11 +2529,6 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
-
pify@4.0.1:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
@@ -2984,9 +2541,6 @@ packages:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
- pkg-types@1.1.0:
- resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
-
postcss-load-config@6.0.1:
resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
engines: {node: '>= 18'}
@@ -3016,24 +2570,11 @@ packages:
resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==}
engines: {node: '>=10'}
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
prettier@2.8.8:
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
- engines: {node: '>=14'}
- hasBin: true
-
- pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
pretty-ms@7.0.1:
resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
engines: {node: '>=10'}
@@ -3067,22 +2608,19 @@ packages:
resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
engines: {node: '>= 0.8'}
- react-dom@18.2.0:
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
peerDependencies:
- react: ^18.2.0
-
- react-is@18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ react: ^18.3.1
- react-streaming@0.3.37:
- resolution: {integrity: sha512-DPYfmyDZsjSJX0jc27bCAWbKR3z1Bh5olu6kDkL8ghL2cg55MtojicDh4Xpn3OwpWIS5RxVX/ss99/pOkAOfIg==}
+ react-streaming@0.3.43:
+ resolution: {integrity: sha512-ULRCEEJu9bhMiupIR96dmE7i1j1+y7K/InE5uuF3AcP0iFFzsqdKLltGqB72ktOhfwn++iyWnzh1PHnKqR/xNw==}
peerDependencies:
react: '>=18'
react-dom: '>=18'
- react@18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
read-yaml-file@1.1.0:
@@ -3113,10 +2651,6 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
@@ -3124,24 +2658,17 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
-
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rollup@4.19.0:
- resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==}
+ rollup@4.21.0:
+ resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -3158,15 +2685,15 @@ packages:
resolution: {integrity: sha512-XU9EELUEZuioT4acLIpCXxHcFzrsC8muvg0MY28d+TlqwxbkTzBmWbw+3+hnCzXT7YZ0Qm8k3eXktDaEu+qmEw==}
engines: {node: '>=16'}
- scheduler@0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
engines: {node: '>=10'}
hasBin: true
@@ -3230,14 +2757,6 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
-
- slice-ansi@7.1.0:
- resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
- engines: {node: '>=18'}
-
source-map-js@1.2.0:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
@@ -3276,14 +2795,6 @@ packages:
std-env@3.7.0:
resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
- streamsearch@1.1.0:
- resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
- engines: {node: '>=10.0.0'}
-
- string-argv@0.3.2:
- resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
- engines: {node: '>=0.6.19'}
-
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3292,10 +2803,6 @@ packages:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
- string-width@7.1.0:
- resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
- engines: {node: '>=18'}
-
string.prototype.codepointat@0.2.1:
resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
@@ -3325,13 +2832,6 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
- strip-literal@2.1.0:
- resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
-
style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
@@ -3347,10 +2847,6 @@ packages:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
@@ -3359,9 +2855,6 @@ packages:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
engines: {node: '>=0.8'}
@@ -3376,15 +2869,19 @@ packages:
tiny-inflate@1.0.3:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
- tinybench@2.8.0:
- resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinypool@1.0.1:
+ resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
- tinypool@0.8.4:
- resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
+ tinyrainbow@1.2.0:
+ resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
engines: {node: '>=14.0.0'}
- tinyspy@2.2.1:
- resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
+ tinyspy@3.0.0:
+ resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==}
engines: {node: '>=14.0.0'}
tmp@0.0.33:
@@ -3423,20 +2920,6 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
-
- ts-essentials@9.4.1:
- resolution: {integrity: sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ==}
- peerDependencies:
- typescript: '>=4.1.0'
- peerDependenciesMeta:
- typescript:
- optional: true
-
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
@@ -3460,9 +2943,6 @@ packages:
ts-toolbelt@6.15.5:
resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==}
- tslib@2.6.3:
- resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
-
tsup@8.2.4:
resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==}
engines: {node: '>=18'}
@@ -3482,23 +2962,11 @@ packages:
typescript:
optional: true
- tsx@4.16.2:
- resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==}
+ tsx@4.17.0:
+ resolution: {integrity: sha512-eN4mnDA5UMKDt4YZixo9tBioibaMBpoxBkD+rIPAjVmYERSG0/dWEY1CEFuV89CgASlKL499q8AhmkMnnjtOJg==}
engines: {node: '>=18.0.0'}
hasBin: true
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
-
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
-
type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
@@ -3513,9 +2981,6 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
-
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
@@ -3561,9 +3026,6 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- urlpattern-polyfill@10.0.0:
- resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==}
-
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -3584,32 +3046,31 @@ packages:
vfile@6.0.1:
resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
- vike-react@0.4.16:
- resolution: {integrity: sha512-lawyL8HHjVgDNwPRp21qsmOLHokGdjElm6zgKaVg0ul5Dcv6JxglaTfqq5P8NU6V8MW4vYd7WqxSpv64iscu4Q==}
+ vike-react@0.5.3:
+ resolution: {integrity: sha512-qiV+Jrn79QBNZfxcyEO7xIfqfXSs3A5T7btfDyq9bUVo7OfKHuI6qHXHDghbUlVujEf/Kn84kYwLIoQhk1JRLQ==}
peerDependencies:
react: '>=18.0.0'
react-dom: '>=18.0.0'
- vike: '>=0.4.178'
- vite: '>=4.3.8'
+ vike: '>=0.4.182'
- vike@0.4.183:
- resolution: {integrity: sha512-582bqksbXiC64UHac6cth0RyovhPySevEqICB5bFBa5PzuqW5t9Q7dnmpeqN1/GNHO8q15Qztn51pcTp0j+U8Q==}
+ vike@0.4.188:
+ resolution: {integrity: sha512-1gY2hNFSPiiDS4FvRcv7Gn5pxjYw7kQbbVhVuncP36RiszOuIkGUqjaATvVK3t2NeULvaLId4rDgV83dda7XEw==}
engines: {node: '>=18.0.0'}
hasBin: true
peerDependencies:
react-streaming: '>=0.3.42'
- vite: '>=4.4.0'
+ vite: '>=5.1.0'
peerDependenciesMeta:
react-streaming:
optional: true
- vite-node@1.5.0:
- resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==}
+ vite-node@2.0.5:
+ resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
- vite@5.4.0:
- resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==}
+ vite@5.4.1:
+ resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -3639,15 +3100,15 @@ packages:
terser:
optional: true
- vitest@1.5.0:
- resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==}
+ vitest@2.0.5:
+ resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 1.5.0
- '@vitest/ui': 1.5.0
+ '@vitest/browser': 2.0.5
+ '@vitest/ui': 2.0.5
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -3693,8 +3154,8 @@ packages:
engines: {node: '>= 8'}
hasBin: true
- why-is-node-running@2.2.2:
- resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
engines: {node: '>=8'}
hasBin: true
@@ -3709,10 +3170,6 @@ packages:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
- wrap-ansi@9.0.0:
- resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
- engines: {node: '>=18'}
-
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
@@ -3735,10 +3192,6 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
-
yoga-wasm-web@0.3.3:
resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
@@ -3750,7 +3203,10 @@ packages:
snapshots:
- '@aashutoshrathi/word-wrap@1.2.6': {}
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
'@babel/helper-string-parser@7.24.1': {}
@@ -3770,6 +3226,41 @@ snapshots:
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
+ '@biomejs/biome@1.8.3':
+ optionalDependencies:
+ '@biomejs/cli-darwin-arm64': 1.8.3
+ '@biomejs/cli-darwin-x64': 1.8.3
+ '@biomejs/cli-linux-arm64': 1.8.3
+ '@biomejs/cli-linux-arm64-musl': 1.8.3
+ '@biomejs/cli-linux-x64': 1.8.3
+ '@biomejs/cli-linux-x64-musl': 1.8.3
+ '@biomejs/cli-win32-arm64': 1.8.3
+ '@biomejs/cli-win32-x64': 1.8.3
+
+ '@biomejs/cli-darwin-arm64@1.8.3':
+ optional: true
+
+ '@biomejs/cli-darwin-x64@1.8.3':
+ optional: true
+
+ '@biomejs/cli-linux-arm64-musl@1.8.3':
+ optional: true
+
+ '@biomejs/cli-linux-arm64@1.8.3':
+ optional: true
+
+ '@biomejs/cli-linux-x64-musl@1.8.3':
+ optional: true
+
+ '@biomejs/cli-linux-x64@1.8.3':
+ optional: true
+
+ '@biomejs/cli-win32-arm64@1.8.3':
+ optional: true
+
+ '@biomejs/cli-win32-x64@1.8.3':
+ optional: true
+
'@brillout/import@0.2.3': {}
'@brillout/json-serializer@0.5.13': {}
@@ -3780,7 +3271,7 @@ snapshots:
'@brillout/require-shim@0.1.2': {}
- '@brillout/vite-plugin-server-entry@0.4.6':
+ '@brillout/vite-plugin-server-entry@0.4.8':
dependencies:
'@brillout/import': 0.2.3
@@ -3799,7 +3290,7 @@ snapshots:
outdent: 0.5.0
prettier: 2.8.8
resolve-from: 5.0.0
- semver: 7.6.2
+ semver: 7.6.3
'@changesets/assemble-release-plan@6.0.3':
dependencies:
@@ -3809,7 +3300,7 @@ snapshots:
'@changesets/should-skip-package': 0.1.0
'@changesets/types': 6.0.0
'@manypkg/get-packages': 1.1.3
- semver: 7.6.2
+ semver: 7.6.3
'@changesets/changelog-git@0.2.0':
dependencies:
@@ -3846,7 +3337,7 @@ snapshots:
p-limit: 2.3.0
preferred-pm: 3.1.3
resolve-from: 5.0.0
- semver: 7.6.2
+ semver: 7.6.3
spawndamnit: 2.0.0
term-size: 2.2.1
@@ -3870,7 +3361,7 @@ snapshots:
'@manypkg/get-packages': 1.1.3
chalk: 2.4.2
fs-extra: 7.0.1
- semver: 7.6.2
+ semver: 7.6.3
'@changesets/get-release-plan@4.0.3':
dependencies:
@@ -3952,274 +3443,160 @@ snapshots:
'@edge-runtime/primitives@4.1.0': {}
+ '@edge-runtime/primitives@5.1.0':
+ optional: true
+
'@edge-runtime/vm@3.2.0':
dependencies:
'@edge-runtime/primitives': 4.1.0
- '@esbuild/aix-ppc64@0.19.12':
+ '@edge-runtime/vm@4.0.2':
+ dependencies:
+ '@edge-runtime/primitives': 5.1.0
optional: true
'@esbuild/aix-ppc64@0.21.5':
optional: true
- '@esbuild/aix-ppc64@0.23.0':
- optional: true
-
- '@esbuild/android-arm64@0.19.12':
+ '@esbuild/aix-ppc64@0.23.1':
optional: true
'@esbuild/android-arm64@0.21.5':
optional: true
- '@esbuild/android-arm64@0.23.0':
- optional: true
-
- '@esbuild/android-arm@0.19.12':
+ '@esbuild/android-arm64@0.23.1':
optional: true
'@esbuild/android-arm@0.21.5':
optional: true
- '@esbuild/android-arm@0.23.0':
- optional: true
-
- '@esbuild/android-x64@0.19.12':
+ '@esbuild/android-arm@0.23.1':
optional: true
'@esbuild/android-x64@0.21.5':
optional: true
- '@esbuild/android-x64@0.23.0':
- optional: true
-
- '@esbuild/darwin-arm64@0.19.12':
+ '@esbuild/android-x64@0.23.1':
optional: true
'@esbuild/darwin-arm64@0.21.5':
optional: true
- '@esbuild/darwin-arm64@0.23.0':
- optional: true
-
- '@esbuild/darwin-x64@0.19.12':
+ '@esbuild/darwin-arm64@0.23.1':
optional: true
'@esbuild/darwin-x64@0.21.5':
optional: true
- '@esbuild/darwin-x64@0.23.0':
- optional: true
-
- '@esbuild/freebsd-arm64@0.19.12':
+ '@esbuild/darwin-x64@0.23.1':
optional: true
'@esbuild/freebsd-arm64@0.21.5':
optional: true
- '@esbuild/freebsd-arm64@0.23.0':
- optional: true
-
- '@esbuild/freebsd-x64@0.19.12':
+ '@esbuild/freebsd-arm64@0.23.1':
optional: true
'@esbuild/freebsd-x64@0.21.5':
optional: true
- '@esbuild/freebsd-x64@0.23.0':
- optional: true
-
- '@esbuild/linux-arm64@0.19.12':
+ '@esbuild/freebsd-x64@0.23.1':
optional: true
'@esbuild/linux-arm64@0.21.5':
optional: true
- '@esbuild/linux-arm64@0.23.0':
- optional: true
-
- '@esbuild/linux-arm@0.19.12':
+ '@esbuild/linux-arm64@0.23.1':
optional: true
'@esbuild/linux-arm@0.21.5':
optional: true
- '@esbuild/linux-arm@0.23.0':
- optional: true
-
- '@esbuild/linux-ia32@0.19.12':
+ '@esbuild/linux-arm@0.23.1':
optional: true
'@esbuild/linux-ia32@0.21.5':
optional: true
- '@esbuild/linux-ia32@0.23.0':
- optional: true
-
- '@esbuild/linux-loong64@0.19.12':
+ '@esbuild/linux-ia32@0.23.1':
optional: true
'@esbuild/linux-loong64@0.21.5':
optional: true
- '@esbuild/linux-loong64@0.23.0':
- optional: true
-
- '@esbuild/linux-mips64el@0.19.12':
+ '@esbuild/linux-loong64@0.23.1':
optional: true
'@esbuild/linux-mips64el@0.21.5':
optional: true
- '@esbuild/linux-mips64el@0.23.0':
- optional: true
-
- '@esbuild/linux-ppc64@0.19.12':
+ '@esbuild/linux-mips64el@0.23.1':
optional: true
'@esbuild/linux-ppc64@0.21.5':
optional: true
- '@esbuild/linux-ppc64@0.23.0':
- optional: true
-
- '@esbuild/linux-riscv64@0.19.12':
+ '@esbuild/linux-ppc64@0.23.1':
optional: true
'@esbuild/linux-riscv64@0.21.5':
optional: true
- '@esbuild/linux-riscv64@0.23.0':
- optional: true
-
- '@esbuild/linux-s390x@0.19.12':
+ '@esbuild/linux-riscv64@0.23.1':
optional: true
'@esbuild/linux-s390x@0.21.5':
optional: true
- '@esbuild/linux-s390x@0.23.0':
- optional: true
-
- '@esbuild/linux-x64@0.19.12':
+ '@esbuild/linux-s390x@0.23.1':
optional: true
'@esbuild/linux-x64@0.21.5':
optional: true
- '@esbuild/linux-x64@0.23.0':
- optional: true
-
- '@esbuild/netbsd-x64@0.19.12':
+ '@esbuild/linux-x64@0.23.1':
optional: true
'@esbuild/netbsd-x64@0.21.5':
optional: true
- '@esbuild/netbsd-x64@0.23.0':
+ '@esbuild/netbsd-x64@0.23.1':
optional: true
- '@esbuild/openbsd-arm64@0.23.0':
- optional: true
-
- '@esbuild/openbsd-x64@0.19.12':
+ '@esbuild/openbsd-arm64@0.23.1':
optional: true
'@esbuild/openbsd-x64@0.21.5':
optional: true
- '@esbuild/openbsd-x64@0.23.0':
- optional: true
-
- '@esbuild/sunos-x64@0.19.12':
+ '@esbuild/openbsd-x64@0.23.1':
optional: true
'@esbuild/sunos-x64@0.21.5':
optional: true
- '@esbuild/sunos-x64@0.23.0':
- optional: true
-
- '@esbuild/win32-arm64@0.19.12':
+ '@esbuild/sunos-x64@0.23.1':
optional: true
'@esbuild/win32-arm64@0.21.5':
optional: true
- '@esbuild/win32-arm64@0.23.0':
- optional: true
-
- '@esbuild/win32-ia32@0.19.12':
+ '@esbuild/win32-arm64@0.23.1':
optional: true
'@esbuild/win32-ia32@0.21.5':
optional: true
- '@esbuild/win32-ia32@0.23.0':
- optional: true
-
- '@esbuild/win32-x64@0.19.12':
- optional: true
-
- '@esbuild/win32-x64@0.21.5':
- optional: true
-
- '@esbuild/win32-x64@0.23.0':
- optional: true
-
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
- dependencies:
- eslint: 8.57.0
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/regexpp@4.10.0': {}
-
- '@eslint/eslintrc@2.1.4':
- dependencies:
- ajv: 6.12.6
- debug: 4.3.6
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@8.57.0': {}
-
- '@fastify/busboy@2.1.1': {}
-
- '@hattip/core@0.0.45': {}
-
- '@hattip/headers@0.0.45':
- dependencies:
- '@hattip/core': 0.0.45
-
- '@hattip/polyfills@0.0.45':
- dependencies:
- '@hattip/core': 0.0.45
- '@whatwg-node/fetch': 0.9.18
- node-fetch-native: 1.6.4
-
- '@hattip/walk@0.0.45':
- dependencies:
- '@hattip/headers': 0.0.45
- cac: 6.7.14
- mime-types: 2.1.35
-
- '@humanwhocodes/config-array@0.11.14':
- dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.6
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
+ '@esbuild/win32-ia32@0.23.1':
+ optional: true
+
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
- '@humanwhocodes/module-importer@1.0.1': {}
+ '@esbuild/win32-x64@0.23.1':
+ optional: true
- '@humanwhocodes/object-schema@2.0.3': {}
+ '@fastify/busboy@2.1.1': {}
'@isaacs/cliui@8.0.2':
dependencies:
@@ -4230,33 +3607,27 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@jest/schemas@29.6.3':
- dependencies:
- '@sinclair/typebox': 0.27.8
-
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
- '@jridgewell/sourcemap-codec@1.4.15': {}
+ '@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping@0.3.9':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
-
- '@kamilkisiela/fast-url-parser@1.1.4': {}
+ '@jridgewell/sourcemap-codec': 1.5.0
'@manypkg/find-root@1.1.0':
dependencies:
@@ -4265,11 +3636,9 @@ snapshots:
find-up: 4.1.0
fs-extra: 8.1.0
- '@manypkg/find-root@2.2.2':
+ '@manypkg/find-root@2.2.3':
dependencies:
- '@manypkg/tools': 1.1.1
- find-up: 4.1.0
- fs-extra: 8.1.0
+ '@manypkg/tools': 1.1.2
'@manypkg/get-packages@1.1.3':
dependencies:
@@ -4280,12 +3649,11 @@ snapshots:
globby: 11.1.0
read-yaml-file: 1.1.0
- '@manypkg/tools@1.1.1':
+ '@manypkg/tools@1.1.2':
dependencies:
- fs-extra: 8.1.0
- globby: 11.1.0
+ fast-glob: 3.3.2
jju: 1.4.0
- read-yaml-file: 1.1.0
+ js-yaml: 4.1.0
'@mapbox/node-pre-gyp@1.0.11':
dependencies:
@@ -4296,7 +3664,7 @@ snapshots:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.6.2
+ semver: 7.6.3
tar: 6.2.1
transitivePeerDependencies:
- encoding
@@ -4330,17 +3698,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@mdx-js/react@3.0.1(@types/react@18.2.79)(react@18.2.0)':
+ '@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1)':
dependencies:
'@types/mdx': 2.0.13
- '@types/react': 18.2.79
- react: 18.2.0
+ '@types/react': 18.3.3
+ react: 18.3.1
- '@mdx-js/rollup@3.0.1(rollup@4.19.0)':
+ '@mdx-js/rollup@3.0.1(rollup@4.21.0)':
dependencies:
'@mdx-js/mdx': 3.0.1
- '@rollup/pluginutils': 5.1.0(rollup@4.19.0)
- rollup: 4.19.0
+ '@rollup/pluginutils': 5.1.0(rollup@4.21.0)
+ rollup: 4.21.0
source-map: 0.7.4
vfile: 6.0.1
transitivePeerDependencies:
@@ -4370,60 +3738,60 @@ snapshots:
estree-walker: 2.0.2
picomatch: 2.3.1
- '@rollup/pluginutils@5.1.0(rollup@4.19.0)':
+ '@rollup/pluginutils@5.1.0(rollup@4.21.0)':
dependencies:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
- rollup: 4.19.0
+ rollup: 4.21.0
- '@rollup/rollup-android-arm-eabi@4.19.0':
+ '@rollup/rollup-android-arm-eabi@4.21.0':
optional: true
- '@rollup/rollup-android-arm64@4.19.0':
+ '@rollup/rollup-android-arm64@4.21.0':
optional: true
- '@rollup/rollup-darwin-arm64@4.19.0':
+ '@rollup/rollup-darwin-arm64@4.21.0':
optional: true
- '@rollup/rollup-darwin-x64@4.19.0':
+ '@rollup/rollup-darwin-x64@4.21.0':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.19.0':
+ '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.19.0':
+ '@rollup/rollup-linux-arm-musleabihf@4.21.0':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.19.0':
+ '@rollup/rollup-linux-arm64-gnu@4.21.0':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.19.0':
+ '@rollup/rollup-linux-arm64-musl@4.21.0':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.19.0':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.19.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.21.0':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.19.0':
+ '@rollup/rollup-linux-s390x-gnu@4.21.0':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.19.0':
+ '@rollup/rollup-linux-x64-gnu@4.21.0':
optional: true
- '@rollup/rollup-linux-x64-musl@4.19.0':
+ '@rollup/rollup-linux-x64-musl@4.21.0':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.19.0':
+ '@rollup/rollup-win32-arm64-msvc@4.21.0':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.19.0':
+ '@rollup/rollup-win32-ia32-msvc@4.21.0':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.19.0':
+ '@rollup/rollup-win32-x64-msvc@4.21.0':
optional: true
'@shuding/opentype.js@1.4.0-beta.0':
@@ -4431,57 +3799,55 @@ snapshots:
fflate: 0.7.4
string.prototype.codepointat: 0.2.1
- '@sinclair/typebox@0.27.8': {}
-
- '@swc/core-darwin-arm64@1.4.16':
+ '@swc/core-darwin-arm64@1.7.14':
optional: true
- '@swc/core-darwin-x64@1.4.16':
+ '@swc/core-darwin-x64@1.7.14':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.4.16':
+ '@swc/core-linux-arm-gnueabihf@1.7.14':
optional: true
- '@swc/core-linux-arm64-gnu@1.4.16':
+ '@swc/core-linux-arm64-gnu@1.7.14':
optional: true
- '@swc/core-linux-arm64-musl@1.4.16':
+ '@swc/core-linux-arm64-musl@1.7.14':
optional: true
- '@swc/core-linux-x64-gnu@1.4.16':
+ '@swc/core-linux-x64-gnu@1.7.14':
optional: true
- '@swc/core-linux-x64-musl@1.4.16':
+ '@swc/core-linux-x64-musl@1.7.14':
optional: true
- '@swc/core-win32-arm64-msvc@1.4.16':
+ '@swc/core-win32-arm64-msvc@1.7.14':
optional: true
- '@swc/core-win32-ia32-msvc@1.4.16':
+ '@swc/core-win32-ia32-msvc@1.7.14':
optional: true
- '@swc/core-win32-x64-msvc@1.4.16':
+ '@swc/core-win32-x64-msvc@1.7.14':
optional: true
- '@swc/core@1.4.16':
+ '@swc/core@1.7.14':
dependencies:
'@swc/counter': 0.1.3
- '@swc/types': 0.1.6
+ '@swc/types': 0.1.12
optionalDependencies:
- '@swc/core-darwin-arm64': 1.4.16
- '@swc/core-darwin-x64': 1.4.16
- '@swc/core-linux-arm-gnueabihf': 1.4.16
- '@swc/core-linux-arm64-gnu': 1.4.16
- '@swc/core-linux-arm64-musl': 1.4.16
- '@swc/core-linux-x64-gnu': 1.4.16
- '@swc/core-linux-x64-musl': 1.4.16
- '@swc/core-win32-arm64-msvc': 1.4.16
- '@swc/core-win32-ia32-msvc': 1.4.16
- '@swc/core-win32-x64-msvc': 1.4.16
+ '@swc/core-darwin-arm64': 1.7.14
+ '@swc/core-darwin-x64': 1.7.14
+ '@swc/core-linux-arm-gnueabihf': 1.7.14
+ '@swc/core-linux-arm64-gnu': 1.7.14
+ '@swc/core-linux-arm64-musl': 1.7.14
+ '@swc/core-linux-x64-gnu': 1.7.14
+ '@swc/core-linux-x64-musl': 1.7.14
+ '@swc/core-win32-arm64-msvc': 1.7.14
+ '@swc/core-win32-ia32-msvc': 1.7.14
+ '@swc/core-win32-x64-msvc': 1.7.14
'@swc/counter@0.1.3': {}
- '@swc/types@0.1.6':
+ '@swc/types@0.1.12':
dependencies:
'@swc/counter': 0.1.3
@@ -4507,11 +3873,11 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
'@types/connect@3.4.38':
dependencies:
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
'@types/debug@4.1.12':
dependencies:
@@ -4525,7 +3891,7 @@ snapshots:
'@types/express-serve-static-core@4.19.5':
dependencies:
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
'@types/qs': 6.9.15
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -4557,14 +3923,14 @@ snapshots:
'@types/node-fetch@2.6.11':
dependencies:
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
form-data: 4.0.0
'@types/node@12.20.55': {}
'@types/node@16.18.11': {}
- '@types/node@18.19.31':
+ '@types/node@18.19.45':
dependencies:
undici-types: 5.26.5
@@ -4574,11 +3940,11 @@ snapshots:
'@types/range-parser@1.2.7': {}
- '@types/react-dom@18.2.25':
+ '@types/react-dom@18.3.0':
dependencies:
- '@types/react': 18.2.79
+ '@types/react': 18.3.3
- '@types/react@18.2.79':
+ '@types/react@18.3.3':
dependencies:
'@types/prop-types': 15.7.12
csstype: 3.1.3
@@ -4588,117 +3954,33 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
'@types/send': 0.17.4
'@types/unist@2.0.10': {}
'@types/unist@3.0.2': {}
- '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)':
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
- '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
- '@typescript-eslint/visitor-keys': 7.18.0
- eslint: 8.57.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.5.4)
- optionalDependencies:
- typescript: 5.5.4
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
- dependencies:
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
- '@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.3.6
- eslint: 8.57.0
- optionalDependencies:
- typescript: 5.5.4
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@7.18.0':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/visitor-keys': 7.18.0
-
- '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
- dependencies:
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
- '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
- debug: 4.3.6
- eslint: 8.57.0
- ts-api-utils: 1.3.0(typescript@5.5.4)
- optionalDependencies:
- typescript: 5.5.4
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@7.18.0': {}
-
- '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/visitor-keys': 7.18.0
- debug: 4.3.6
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.4
- semver: 7.6.2
- ts-api-utils: 1.3.0(typescript@5.5.4)
- optionalDependencies:
- typescript: 5.5.4
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@typescript-eslint/scope-manager': 7.18.0
- '@typescript-eslint/types': 7.18.0
- '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
- eslint: 8.57.0
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@typescript-eslint/visitor-keys@7.18.0':
- dependencies:
- '@typescript-eslint/types': 7.18.0
- eslint-visitor-keys: 3.4.3
-
'@ungap/structured-clone@1.2.0': {}
- '@universal-middleware/express@0.0.2':
+ '@universal-middleware/core@0.2.3': {}
+
+ '@universal-middleware/express@0.2.1':
dependencies:
- '@hattip/core': 0.0.45
- '@hattip/polyfills': 0.0.45
- '@hattip/walk': 0.0.45
+ '@universal-middleware/core': 0.2.3
'@vercel/build-utils@8.3.6': {}
'@vercel/edge-config-fs@0.1.0': {}
- '@vercel/edge-config@1.1.0(typescript@5.5.4)':
+ '@vercel/edge-config@1.2.1':
dependencies:
'@vercel/edge-config-fs': 0.1.0
- ts-essentials: 9.4.1(typescript@5.5.4)
- transitivePeerDependencies:
- - typescript
'@vercel/error-utils@2.0.2': {}
@@ -4706,8 +3988,8 @@ snapshots:
dependencies:
'@mapbox/node-pre-gyp': 1.0.11
'@rollup/pluginutils': 4.2.1
- acorn: 8.11.3
- acorn-import-attributes: 1.9.5(acorn@8.11.3)
+ acorn: 8.12.1
+ acorn-import-attributes: 1.9.5(acorn@8.12.1)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -4720,7 +4002,7 @@ snapshots:
- encoding
- supports-color
- '@vercel/node@3.2.8(@swc/core@1.4.16)':
+ '@vercel/node@3.2.8(@swc/core@1.7.14)':
dependencies:
'@edge-runtime/node-utils': 2.3.0
'@edge-runtime/primitives': 4.1.0
@@ -4739,7 +4021,7 @@ snapshots:
node-fetch: 2.6.9
path-to-regexp: 6.2.1
ts-morph: 12.0.0
- ts-node: 10.9.1(@swc/core@1.4.16)(@types/node@16.18.11)(typescript@4.9.5)
+ ts-node: 10.9.1(@swc/core@1.7.14)(@types/node@16.18.11)(typescript@4.9.5)
typescript: 4.9.5
undici: 5.28.4
transitivePeerDependencies:
@@ -4766,56 +4048,45 @@ snapshots:
json-schema-to-ts: 1.6.4
ts-morph: 12.0.0
- '@vitejs/plugin-react-swc@3.6.0(vite@5.4.0(@types/node@18.19.31))':
+ '@vitejs/plugin-react-swc@3.7.0(vite@5.4.1(@types/node@18.19.45))':
dependencies:
- '@swc/core': 1.4.16
- vite: 5.4.0(@types/node@18.19.31)
+ '@swc/core': 1.7.14
+ vite: 5.4.1(@types/node@18.19.45)
transitivePeerDependencies:
- '@swc/helpers'
- '@vitest/expect@1.5.0':
+ '@vitest/expect@2.0.5':
dependencies:
- '@vitest/spy': 1.5.0
- '@vitest/utils': 1.5.0
- chai: 4.4.1
+ '@vitest/spy': 2.0.5
+ '@vitest/utils': 2.0.5
+ chai: 5.1.1
+ tinyrainbow: 1.2.0
- '@vitest/runner@1.5.0':
+ '@vitest/pretty-format@2.0.5':
dependencies:
- '@vitest/utils': 1.5.0
- p-limit: 5.0.0
- pathe: 1.1.2
+ tinyrainbow: 1.2.0
- '@vitest/snapshot@1.5.0':
+ '@vitest/runner@2.0.5':
dependencies:
- magic-string: 0.30.10
+ '@vitest/utils': 2.0.5
pathe: 1.1.2
- pretty-format: 29.7.0
-
- '@vitest/spy@1.5.0':
- dependencies:
- tinyspy: 2.2.1
- '@vitest/utils@1.5.0':
+ '@vitest/snapshot@2.0.5':
dependencies:
- diff-sequences: 29.6.3
- estree-walker: 3.0.3
- loupe: 2.3.7
- pretty-format: 29.7.0
-
- '@whatwg-node/events@0.1.1': {}
+ '@vitest/pretty-format': 2.0.5
+ magic-string: 0.30.11
+ pathe: 1.1.2
- '@whatwg-node/fetch@0.9.18':
+ '@vitest/spy@2.0.5':
dependencies:
- '@whatwg-node/node-fetch': 0.5.11
- urlpattern-polyfill: 10.0.0
+ tinyspy: 3.0.0
- '@whatwg-node/node-fetch@0.5.11':
+ '@vitest/utils@2.0.5':
dependencies:
- '@kamilkisiela/fast-url-parser': 1.1.4
- '@whatwg-node/events': 0.1.1
- busboy: 1.6.0
- fast-querystring: 1.1.2
- tslib: 2.6.3
+ '@vitest/pretty-format': 2.0.5
+ estree-walker: 3.0.3
+ loupe: 3.1.1
+ tinyrainbow: 1.2.0
abbrev@1.1.1: {}
@@ -4824,17 +4095,17 @@ snapshots:
mime-types: 2.1.35
negotiator: 0.6.3
- acorn-import-attributes@1.9.5(acorn@8.11.3):
+ acorn-import-attributes@1.9.5(acorn@8.12.1):
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.1
- acorn-jsx@5.3.2(acorn@8.11.3):
+ acorn-jsx@5.3.2(acorn@8.12.1):
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.1
acorn-walk@8.3.2: {}
- acorn@8.11.3: {}
+ acorn@8.12.1: {}
agent-base@6.0.2:
dependencies:
@@ -4848,6 +4119,7 @@ snapshots:
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
+ optional: true
ajv@8.6.3:
dependencies:
@@ -4858,10 +4130,6 @@ snapshots:
ansi-colors@4.1.3: {}
- ansi-escapes@7.0.0:
- dependencies:
- environment: 1.1.0
-
ansi-regex@5.0.1: {}
ansi-regex@6.0.1: {}
@@ -4874,8 +4142,6 @@ snapshots:
dependencies:
color-convert: 2.0.1
- ansi-styles@5.2.0: {}
-
ansi-styles@6.2.1: {}
any-promise@1.3.0: {}
@@ -4904,7 +4170,7 @@ snapshots:
array-union@2.1.0: {}
- assertion-error@1.1.0: {}
+ assertion-error@2.0.1: {}
astring@1.8.6: {}
@@ -4964,15 +4230,11 @@ snapshots:
buffer-from@1.1.2: {}
- bundle-require@5.0.0(esbuild@0.23.0):
+ bundle-require@5.0.0(esbuild@0.23.1):
dependencies:
- esbuild: 0.23.0
+ esbuild: 0.23.1
load-tsconfig: 0.2.5
- busboy@1.6.0:
- dependencies:
- streamsearch: 1.1.0
-
bytes@3.1.2: {}
cac@6.7.14: {}
@@ -4985,21 +4247,17 @@ snapshots:
get-intrinsic: 1.2.4
set-function-length: 1.2.2
- callsites@3.1.0: {}
-
camelize@1.0.1: {}
ccount@2.0.1: {}
- chai@4.4.1:
+ chai@5.1.1:
dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.3
- deep-eql: 4.1.3
- get-func-name: 2.0.2
- loupe: 2.3.7
- pathval: 1.1.1
- type-detect: 4.0.8
+ assertion-error: 2.0.1
+ check-error: 2.1.1
+ deep-eql: 5.0.2
+ loupe: 3.1.1
+ pathval: 2.0.0
chalk@2.4.2:
dependencies:
@@ -5007,13 +4265,6 @@ snapshots:
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- chalk@5.3.0: {}
-
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
@@ -5024,9 +4275,7 @@ snapshots:
chardet@0.7.0: {}
- check-error@1.0.3:
- dependencies:
- get-func-name: 2.0.2
+ check-error@2.1.1: {}
chokidar@3.6.0:
dependencies:
@@ -5046,15 +4295,6 @@ snapshots:
cjs-module-lexer@1.2.3: {}
- cli-cursor@5.0.0:
- dependencies:
- restore-cursor: 5.1.0
-
- cli-truncate@4.0.0:
- dependencies:
- slice-ansi: 5.0.0
- string-width: 7.1.0
-
code-block-writer@10.1.1: {}
collapse-white-space@2.1.0: {}
@@ -5073,22 +4313,16 @@ snapshots:
color-support@1.1.3: {}
- colorette@2.0.20: {}
-
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
comma-separated-tokens@2.0.3: {}
- commander@12.1.0: {}
-
commander@4.1.1: {}
concat-map@0.0.1: {}
- confbox@0.1.7: {}
-
consola@3.2.3: {}
console-control-strings@1.1.0: {}
@@ -5157,11 +4391,7 @@ snapshots:
dependencies:
character-entities: 2.0.2
- deep-eql@4.1.3:
- dependencies:
- type-detect: 4.0.8
-
- deep-is@0.1.4: {}
+ deep-eql@5.0.2: {}
define-data-property@1.1.4:
dependencies:
@@ -5187,18 +4417,12 @@ snapshots:
dependencies:
dequal: 2.0.3
- diff-sequences@29.6.3: {}
-
diff@4.0.2: {}
dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
eastasianwidth@0.2.0: {}
edge-runtime@2.5.9:
@@ -5228,8 +4452,6 @@ snapshots:
ansi-colors: 4.1.3
strip-ansi: 6.0.1
- environment@1.1.0: {}
-
es-define-property@1.0.0:
dependencies:
get-intrinsic: 1.2.4
@@ -5238,7 +4460,7 @@ snapshots:
es-module-lexer@1.4.1: {}
- es-module-lexer@1.5.0: {}
+ es-module-lexer@1.5.4: {}
esbuild-android-64@0.14.47:
optional: true
@@ -5323,32 +4545,6 @@ snapshots:
esbuild-windows-64: 0.14.47
esbuild-windows-arm64: 0.14.47
- esbuild@0.19.12:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.12
- '@esbuild/android-arm': 0.19.12
- '@esbuild/android-arm64': 0.19.12
- '@esbuild/android-x64': 0.19.12
- '@esbuild/darwin-arm64': 0.19.12
- '@esbuild/darwin-x64': 0.19.12
- '@esbuild/freebsd-arm64': 0.19.12
- '@esbuild/freebsd-x64': 0.19.12
- '@esbuild/linux-arm': 0.19.12
- '@esbuild/linux-arm64': 0.19.12
- '@esbuild/linux-ia32': 0.19.12
- '@esbuild/linux-loong64': 0.19.12
- '@esbuild/linux-mips64el': 0.19.12
- '@esbuild/linux-ppc64': 0.19.12
- '@esbuild/linux-riscv64': 0.19.12
- '@esbuild/linux-s390x': 0.19.12
- '@esbuild/linux-x64': 0.19.12
- '@esbuild/netbsd-x64': 0.19.12
- '@esbuild/openbsd-x64': 0.19.12
- '@esbuild/sunos-x64': 0.19.12
- '@esbuild/win32-arm64': 0.19.12
- '@esbuild/win32-ia32': 0.19.12
- '@esbuild/win32-x64': 0.19.12
-
esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
@@ -5375,107 +4571,39 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- esbuild@0.23.0:
+ esbuild@0.23.1:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.23.0
- '@esbuild/android-arm': 0.23.0
- '@esbuild/android-arm64': 0.23.0
- '@esbuild/android-x64': 0.23.0
- '@esbuild/darwin-arm64': 0.23.0
- '@esbuild/darwin-x64': 0.23.0
- '@esbuild/freebsd-arm64': 0.23.0
- '@esbuild/freebsd-x64': 0.23.0
- '@esbuild/linux-arm': 0.23.0
- '@esbuild/linux-arm64': 0.23.0
- '@esbuild/linux-ia32': 0.23.0
- '@esbuild/linux-loong64': 0.23.0
- '@esbuild/linux-mips64el': 0.23.0
- '@esbuild/linux-ppc64': 0.23.0
- '@esbuild/linux-riscv64': 0.23.0
- '@esbuild/linux-s390x': 0.23.0
- '@esbuild/linux-x64': 0.23.0
- '@esbuild/netbsd-x64': 0.23.0
- '@esbuild/openbsd-arm64': 0.23.0
- '@esbuild/openbsd-x64': 0.23.0
- '@esbuild/sunos-x64': 0.23.0
- '@esbuild/win32-arm64': 0.23.0
- '@esbuild/win32-ia32': 0.23.0
- '@esbuild/win32-x64': 0.23.0
+ '@esbuild/aix-ppc64': 0.23.1
+ '@esbuild/android-arm': 0.23.1
+ '@esbuild/android-arm64': 0.23.1
+ '@esbuild/android-x64': 0.23.1
+ '@esbuild/darwin-arm64': 0.23.1
+ '@esbuild/darwin-x64': 0.23.1
+ '@esbuild/freebsd-arm64': 0.23.1
+ '@esbuild/freebsd-x64': 0.23.1
+ '@esbuild/linux-arm': 0.23.1
+ '@esbuild/linux-arm64': 0.23.1
+ '@esbuild/linux-ia32': 0.23.1
+ '@esbuild/linux-loong64': 0.23.1
+ '@esbuild/linux-mips64el': 0.23.1
+ '@esbuild/linux-ppc64': 0.23.1
+ '@esbuild/linux-riscv64': 0.23.1
+ '@esbuild/linux-s390x': 0.23.1
+ '@esbuild/linux-x64': 0.23.1
+ '@esbuild/netbsd-x64': 0.23.1
+ '@esbuild/openbsd-arm64': 0.23.1
+ '@esbuild/openbsd-x64': 0.23.1
+ '@esbuild/sunos-x64': 0.23.1
+ '@esbuild/win32-arm64': 0.23.1
+ '@esbuild/win32-ia32': 0.23.1
+ '@esbuild/win32-x64': 0.23.1
escape-html@1.0.3: {}
escape-string-regexp@1.0.5: {}
- escape-string-regexp@4.0.0: {}
-
- eslint-scope@7.2.2:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-visitor-keys@3.4.3: {}
-
- eslint@8.57.0:
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.0
- '@humanwhocodes/config-array': 0.11.14
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.6
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.1
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
-
- espree@9.6.1:
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
-
esprima@4.0.1: {}
- esquery@1.5.0:
- dependencies:
- estraverse: 5.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@5.3.0: {}
-
estree-util-attach-comments@3.0.0:
dependencies:
'@types/estree': 1.0.5
@@ -5506,12 +4634,8 @@ snapshots:
dependencies:
'@types/estree': 1.0.5
- esutils@2.0.3: {}
-
etag@1.8.1: {}
- eventemitter3@5.0.1: {}
-
execa@5.1.1:
dependencies:
cross-spawn: 7.0.3
@@ -5582,8 +4706,6 @@ snapshots:
iconv-lite: 0.4.24
tmp: 0.0.33
- fast-decode-uri-component@1.0.1: {}
-
fast-deep-equal@3.1.3: {}
fast-glob@3.3.2:
@@ -5594,13 +4716,8 @@ snapshots:
merge2: 1.4.1
micromatch: 4.0.7
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
- fast-querystring@1.1.2:
- dependencies:
- fast-decode-uri-component: 1.0.1
+ fast-json-stable-stringify@2.1.0:
+ optional: true
fastq@1.17.1:
dependencies:
@@ -5613,10 +4730,6 @@ snapshots:
fflate@0.7.4: {}
- file-entry-cache@6.0.1:
- dependencies:
- flat-cache: 3.2.0
-
file-uri-to-path@1.0.0: {}
fill-range@7.1.1:
@@ -5650,14 +4763,6 @@ snapshots:
micromatch: 4.0.7
pkg-dir: 4.2.0
- flat-cache@3.2.0:
- dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
-
- flatted@3.3.1: {}
-
foreground-child@3.1.1:
dependencies:
cross-spawn: 7.0.3
@@ -5712,8 +4817,6 @@ snapshots:
strip-ansi: 6.0.1
wide-align: 1.1.5
- get-east-asian-width@1.2.0: {}
-
get-func-name@2.0.2: {}
get-intrinsic@1.2.4:
@@ -5728,7 +4831,7 @@ snapshots:
get-stream@8.0.1: {}
- get-tsconfig@4.7.5:
+ get-tsconfig@4.7.6:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -5736,10 +4839,6 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
glob@10.3.12:
dependencies:
foreground-child: 3.1.1
@@ -5757,10 +4856,6 @@ snapshots:
once: 1.4.0
path-is-absolute: 1.0.1
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
-
globby@11.1.0:
dependencies:
array-union: 2.1.0
@@ -5776,12 +4871,8 @@ snapshots:
graceful-fs@4.2.11: {}
- graphemer@1.4.0: {}
-
has-flag@3.0.0: {}
- has-flag@4.0.0: {}
-
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
@@ -5864,21 +4955,12 @@ snapshots:
human-signals@5.0.0: {}
- husky@9.1.4: {}
-
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
ignore@5.3.1: {}
- import-fresh@3.3.0:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- imurmurhash@0.1.4: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -5909,12 +4991,6 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
- is-fullwidth-code-point@4.0.0: {}
-
- is-fullwidth-code-point@5.0.0:
- dependencies:
- get-east-asian-width: 1.2.0
-
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -5923,8 +4999,6 @@ snapshots:
is-number@7.0.0: {}
- is-path-inside@3.0.3: {}
-
is-plain-obj@4.1.0: {}
is-reference@3.0.2:
@@ -5957,8 +5031,6 @@ snapshots:
js-tokens@4.0.0: {}
- js-tokens@9.0.0: {}
-
js-yaml@3.14.1:
dependencies:
argparse: 1.0.10
@@ -5968,32 +5040,20 @@ snapshots:
dependencies:
argparse: 2.0.1
- json-buffer@3.0.1: {}
-
json-schema-to-ts@1.6.4:
dependencies:
'@types/json-schema': 7.0.15
ts-toolbelt: 6.15.5
- json-schema-traverse@0.4.1: {}
+ json-schema-traverse@0.4.1:
+ optional: true
json-schema-traverse@1.0.0: {}
- json-stable-stringify-without-jsonify@1.0.1: {}
-
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
lilconfig@3.1.2: {}
linebreak@1.1.0:
@@ -6003,30 +5063,6 @@ snapshots:
lines-and-columns@1.2.4: {}
- lint-staged@15.2.8:
- dependencies:
- chalk: 5.3.0
- commander: 12.1.0
- debug: 4.3.6
- execa: 8.0.1
- lilconfig: 3.1.2
- listr2: 8.2.4
- micromatch: 4.0.7
- pidtree: 0.6.0
- string-argv: 0.3.2
- yaml: 2.5.0
- transitivePeerDependencies:
- - supports-color
-
- listr2@8.2.4:
- dependencies:
- cli-truncate: 4.0.0
- colorette: 2.0.20
- eventemitter3: 5.0.1
- log-update: 6.1.0
- rfdc: 1.4.1
- wrap-ansi: 9.0.0
-
load-tsconfig@0.2.5: {}
load-yaml-file@0.2.0:
@@ -6036,11 +5072,6 @@ snapshots:
pify: 4.0.1
strip-bom: 3.0.0
- local-pkg@0.5.0:
- dependencies:
- mlly: 1.6.1
- pkg-types: 1.1.0
-
locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
@@ -6049,27 +5080,17 @@ snapshots:
dependencies:
p-locate: 5.0.0
- lodash.merge@4.6.2: {}
-
lodash.sortby@4.7.0: {}
lodash.startcase@4.4.0: {}
- log-update@6.1.0:
- dependencies:
- ansi-escapes: 7.0.0
- cli-cursor: 5.0.0
- slice-ansi: 7.1.0
- strip-ansi: 7.1.0
- wrap-ansi: 9.0.0
-
longest-streak@3.1.0: {}
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
- loupe@2.3.7:
+ loupe@3.1.1:
dependencies:
get-func-name: 2.0.2
@@ -6080,9 +5101,9 @@ snapshots:
pseudomap: 1.0.2
yallist: 2.1.2
- magic-string@0.30.10:
+ magic-string@0.30.11:
dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/sourcemap-codec': 1.5.0
magicast@0.3.4:
dependencies:
@@ -6268,8 +5289,8 @@ snapshots:
micromark-extension-mdxjs@3.0.0:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
+ acorn: 8.12.1
+ acorn-jsx: 5.3.2(acorn@8.12.1)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
@@ -6430,8 +5451,6 @@ snapshots:
mimic-fn@4.0.0: {}
- mimic-function@5.0.1: {}
-
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -6455,13 +5474,6 @@ snapshots:
mkdirp@1.0.4: {}
- mlly@1.6.1:
- dependencies:
- acorn: 8.11.3
- pathe: 1.1.2
- pkg-types: 1.1.0
- ufo: 1.5.3
-
mri@1.2.0: {}
mrmime@2.0.0: {}
@@ -6482,14 +5494,10 @@ snapshots:
nanoid@5.0.7: {}
- natural-compare@1.4.0: {}
-
negotiator@0.6.3: {}
node-domexception@1.0.0: {}
- node-fetch-native@1.6.4: {}
-
node-fetch@2.6.9:
dependencies:
whatwg-url: 5.0.0
@@ -6547,19 +5555,6 @@ snapshots:
dependencies:
mimic-fn: 4.0.0
- onetime@7.0.0:
- dependencies:
- mimic-function: 5.0.1
-
- optionator@0.9.3:
- dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
os-tmpdir@1.0.2: {}
outdent@0.5.0: {}
@@ -6576,10 +5571,6 @@ snapshots:
dependencies:
yocto-queue: 0.1.0
- p-limit@5.0.0:
- dependencies:
- yocto-queue: 1.0.0
-
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
@@ -6594,10 +5585,6 @@ snapshots:
pako@0.2.9: {}
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
parse-css-color@0.2.1:
dependencies:
color-name: 1.1.4
@@ -6643,7 +5630,7 @@ snapshots:
pathe@1.1.2: {}
- pathval@1.1.1: {}
+ pathval@2.0.0: {}
periscopic@3.1.0:
dependencies:
@@ -6657,8 +5644,6 @@ snapshots:
picomatch@2.3.1: {}
- pidtree@0.6.0: {}
-
pify@4.0.1: {}
pirates@4.0.6: {}
@@ -6667,18 +5652,12 @@ snapshots:
dependencies:
find-up: 4.1.0
- pkg-types@1.1.0:
- dependencies:
- confbox: 0.1.7
- mlly: 1.6.1
- pathe: 1.1.2
-
- postcss-load-config@6.0.1(postcss@8.4.41)(tsx@4.16.2)(yaml@2.5.0):
+ postcss-load-config@6.0.1(postcss@8.4.41)(tsx@4.17.0)(yaml@2.5.0):
dependencies:
lilconfig: 3.1.2
optionalDependencies:
postcss: 8.4.41
- tsx: 4.16.2
+ tsx: 4.17.0
yaml: 2.5.0
postcss-value-parser@4.2.0: {}
@@ -6696,18 +5675,8 @@ snapshots:
path-exists: 4.0.0
which-pm: 2.0.0
- prelude-ls@1.2.1: {}
-
prettier@2.8.8: {}
- prettier@3.3.3: {}
-
- pretty-format@29.7.0:
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.2.0
-
pretty-ms@7.0.1:
dependencies:
parse-ms: 2.1.0
@@ -6738,24 +5707,22 @@ snapshots:
iconv-lite: 0.4.24
unpipe: 1.0.0
- react-dom@18.2.0(react@18.2.0):
+ react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
-
- react-is@18.2.0: {}
+ react: 18.3.1
+ scheduler: 0.23.2
- react-streaming@0.3.37(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@brillout/import': 0.2.3
'@brillout/json-serializer': 0.5.13
'@brillout/picocolors': 1.0.14
isbot-fast: 1.2.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- react@18.2.0:
+ react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -6804,45 +5771,36 @@ snapshots:
require-from-string@2.0.2: {}
- resolve-from@4.0.0: {}
-
resolve-from@5.0.0: {}
resolve-pkg-maps@1.0.0: {}
- restore-cursor@5.1.0:
- dependencies:
- onetime: 7.0.0
- signal-exit: 4.1.0
-
reusify@1.0.4: {}
- rfdc@1.4.1: {}
-
rimraf@3.0.2:
dependencies:
glob: 7.2.3
- rollup@4.19.0:
+ rollup@4.21.0:
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.19.0
- '@rollup/rollup-android-arm64': 4.19.0
- '@rollup/rollup-darwin-arm64': 4.19.0
- '@rollup/rollup-darwin-x64': 4.19.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.19.0
- '@rollup/rollup-linux-arm-musleabihf': 4.19.0
- '@rollup/rollup-linux-arm64-gnu': 4.19.0
- '@rollup/rollup-linux-arm64-musl': 4.19.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0
- '@rollup/rollup-linux-riscv64-gnu': 4.19.0
- '@rollup/rollup-linux-s390x-gnu': 4.19.0
- '@rollup/rollup-linux-x64-gnu': 4.19.0
- '@rollup/rollup-linux-x64-musl': 4.19.0
- '@rollup/rollup-win32-arm64-msvc': 4.19.0
- '@rollup/rollup-win32-ia32-msvc': 4.19.0
- '@rollup/rollup-win32-x64-msvc': 4.19.0
+ '@rollup/rollup-android-arm-eabi': 4.21.0
+ '@rollup/rollup-android-arm64': 4.21.0
+ '@rollup/rollup-darwin-arm64': 4.21.0
+ '@rollup/rollup-darwin-x64': 4.21.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.21.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.21.0
+ '@rollup/rollup-linux-arm64-gnu': 4.21.0
+ '@rollup/rollup-linux-arm64-musl': 4.21.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.21.0
+ '@rollup/rollup-linux-s390x-gnu': 4.21.0
+ '@rollup/rollup-linux-x64-gnu': 4.21.0
+ '@rollup/rollup-linux-x64-musl': 4.21.0
+ '@rollup/rollup-win32-arm64-msvc': 4.21.0
+ '@rollup/rollup-win32-ia32-msvc': 4.21.0
+ '@rollup/rollup-win32-x64-msvc': 4.21.0
fsevents: 2.3.3
run-parallel@1.2.0:
@@ -6866,13 +5824,13 @@ snapshots:
postcss-value-parser: 4.2.0
yoga-wasm-web: 0.3.3
- scheduler@0.23.0:
+ scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
semver@6.3.1: {}
- semver@7.6.2: {}
+ semver@7.6.3: {}
send@0.18.0:
dependencies:
@@ -6949,16 +5907,6 @@ snapshots:
slash@3.0.0: {}
- slice-ansi@5.0.0:
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 4.0.0
-
- slice-ansi@7.1.0:
- dependencies:
- ansi-styles: 6.2.1
- is-fullwidth-code-point: 5.0.0
-
source-map-js@1.2.0: {}
source-map-support@0.5.21:
@@ -6989,10 +5937,6 @@ snapshots:
std-env@3.7.0: {}
- streamsearch@1.1.0: {}
-
- string-argv@0.3.2: {}
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -7005,12 +5949,6 @@ snapshots:
emoji-regex: 9.2.2
strip-ansi: 7.1.0
- string-width@7.1.0:
- dependencies:
- emoji-regex: 10.3.0
- get-east-asian-width: 1.2.0
- strip-ansi: 7.1.0
-
string.prototype.codepointat@0.2.1: {}
string_decoder@1.3.0:
@@ -7036,12 +5974,6 @@ snapshots:
strip-final-newline@3.0.0: {}
- strip-json-comments@3.1.1: {}
-
- strip-literal@2.1.0:
- dependencies:
- js-tokens: 9.0.0
-
style-to-object@0.4.4:
dependencies:
inline-style-parser: 0.1.1
@@ -7064,10 +5996,6 @@ snapshots:
dependencies:
has-flag: 3.0.0
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
tar@6.2.1:
dependencies:
chownr: 2.0.0
@@ -7079,8 +6007,6 @@ snapshots:
term-size@2.2.1: {}
- text-table@0.2.0: {}
-
thenify-all@1.6.0:
dependencies:
thenify: 3.3.1
@@ -7095,11 +6021,13 @@ snapshots:
tiny-inflate@1.0.3: {}
- tinybench@2.8.0: {}
+ tinybench@2.9.0: {}
+
+ tinypool@1.0.1: {}
- tinypool@0.8.4: {}
+ tinyrainbow@1.2.0: {}
- tinyspy@2.2.1: {}
+ tinyspy@3.0.0: {}
tmp@0.0.33:
dependencies:
@@ -7127,14 +6055,6 @@ snapshots:
trough@2.2.0: {}
- ts-api-utils@1.3.0(typescript@5.5.4):
- dependencies:
- typescript: 5.5.4
-
- ts-essentials@9.4.1(typescript@5.5.4):
- optionalDependencies:
- typescript: 5.5.4
-
ts-interface-checker@0.1.13: {}
ts-morph@12.0.0:
@@ -7142,7 +6062,7 @@ snapshots:
'@ts-morph/common': 0.11.1
code-block-writer: 10.1.1
- ts-node@10.9.1(@swc/core@1.4.16)(@types/node@16.18.11)(typescript@4.9.5):
+ ts-node@10.9.1(@swc/core@1.7.14)(@types/node@16.18.11)(typescript@4.9.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -7150,7 +6070,7 @@ snapshots:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 16.18.11
- acorn: 8.11.3
+ acorn: 8.12.1
acorn-walk: 8.3.2
arg: 4.1.3
create-require: 1.1.1
@@ -7160,32 +6080,30 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.4.16
+ '@swc/core': 1.7.14
ts-toolbelt@6.15.5: {}
- tslib@2.6.3: {}
-
- tsup@8.2.4(@swc/core@1.4.16)(postcss@8.4.41)(tsx@4.16.2)(typescript@5.5.4)(yaml@2.5.0):
+ tsup@8.2.4(@swc/core@1.7.14)(postcss@8.4.41)(tsx@4.17.0)(typescript@5.5.4)(yaml@2.5.0):
dependencies:
- bundle-require: 5.0.0(esbuild@0.23.0)
+ bundle-require: 5.0.0(esbuild@0.23.1)
cac: 6.7.14
chokidar: 3.6.0
consola: 3.2.3
debug: 4.3.6
- esbuild: 0.23.0
+ esbuild: 0.23.1
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
picocolors: 1.0.1
- postcss-load-config: 6.0.1(postcss@8.4.41)(tsx@4.16.2)(yaml@2.5.0)
+ postcss-load-config: 6.0.1(postcss@8.4.41)(tsx@4.17.0)(yaml@2.5.0)
resolve-from: 5.0.0
- rollup: 4.19.0
+ rollup: 4.21.0
source-map: 0.8.0-beta.0
sucrase: 3.35.0
tree-kill: 1.2.2
optionalDependencies:
- '@swc/core': 1.4.16
+ '@swc/core': 1.7.14
postcss: 8.4.41
typescript: 5.5.4
transitivePeerDependencies:
@@ -7194,21 +6112,13 @@ snapshots:
- tsx
- yaml
- tsx@4.16.2:
+ tsx@4.17.0:
dependencies:
- esbuild: 0.21.5
- get-tsconfig: 4.7.5
+ esbuild: 0.23.1
+ get-tsconfig: 4.7.6
optionalDependencies:
fsevents: 2.3.3
- type-check@0.4.0:
- dependencies:
- prelude-ls: 1.2.1
-
- type-detect@4.0.8: {}
-
- type-fest@0.20.2: {}
-
type-is@1.6.18:
dependencies:
media-typer: 0.3.0
@@ -7218,8 +6128,6 @@ snapshots:
typescript@5.5.4: {}
- ufo@1.5.3: {}
-
undici-types@5.26.5: {}
undici@5.28.4:
@@ -7281,8 +6189,6 @@ snapshots:
dependencies:
punycode: 2.3.1
- urlpattern-polyfill@10.0.0: {}
-
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
@@ -7302,38 +6208,39 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vike-react@0.4.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vike@0.4.183(vite@5.4.0(@types/node@18.19.31)))(vite@5.4.0(@types/node@18.19.31)):
+ vike-react@0.5.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vike@0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))):
dependencies:
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-streaming: 0.3.37(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- vike: 0.4.183(vite@5.4.0(@types/node@18.19.31))
- vite: 5.4.0(@types/node@18.19.31)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-streaming: 0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ vike: 0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45))
- vike@0.4.183(vite@5.4.0(@types/node@18.19.31)):
+ vike@0.4.188(react-streaming@0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@5.4.1(@types/node@18.19.45)):
dependencies:
'@brillout/import': 0.2.3
'@brillout/json-serializer': 0.5.13
'@brillout/picocolors': 1.0.14
'@brillout/require-shim': 0.1.2
- '@brillout/vite-plugin-server-entry': 0.4.6
- acorn: 8.11.3
+ '@brillout/vite-plugin-server-entry': 0.4.8
+ acorn: 8.12.1
cac: 6.7.14
- es-module-lexer: 1.5.0
- esbuild: 0.19.12
+ es-module-lexer: 1.5.4
+ esbuild: 0.23.1
fast-glob: 3.3.2
- semver: 7.6.2
+ semver: 7.6.3
sirv: 2.0.4
source-map-support: 0.5.21
- vite: 5.4.0(@types/node@18.19.31)
+ vite: 5.4.1(@types/node@18.19.45)
+ optionalDependencies:
+ react-streaming: 0.3.43(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- vite-node@1.5.0(@types/node@18.19.31):
+ vite-node@2.0.5(@types/node@18.19.45):
dependencies:
cac: 6.7.14
debug: 4.3.6
pathe: 1.1.2
- picocolors: 1.0.1
- vite: 5.4.0(@types/node@18.19.31)
+ tinyrainbow: 1.2.0
+ vite: 5.4.1(@types/node@18.19.45)
transitivePeerDependencies:
- '@types/node'
- less
@@ -7345,40 +6252,39 @@ snapshots:
- supports-color
- terser
- vite@5.4.0(@types/node@18.19.31):
+ vite@5.4.1(@types/node@18.19.45):
dependencies:
esbuild: 0.21.5
postcss: 8.4.41
- rollup: 4.19.0
+ rollup: 4.21.0
optionalDependencies:
- '@types/node': 18.19.31
+ '@types/node': 18.19.45
fsevents: 2.3.3
- vitest@1.5.0(@edge-runtime/vm@3.2.0)(@types/node@18.19.31):
+ vitest@2.0.5(@edge-runtime/vm@4.0.2)(@types/node@18.19.45):
dependencies:
- '@vitest/expect': 1.5.0
- '@vitest/runner': 1.5.0
- '@vitest/snapshot': 1.5.0
- '@vitest/spy': 1.5.0
- '@vitest/utils': 1.5.0
- acorn-walk: 8.3.2
- chai: 4.4.1
+ '@ampproject/remapping': 2.3.0
+ '@vitest/expect': 2.0.5
+ '@vitest/pretty-format': 2.0.5
+ '@vitest/runner': 2.0.5
+ '@vitest/snapshot': 2.0.5
+ '@vitest/spy': 2.0.5
+ '@vitest/utils': 2.0.5
+ chai: 5.1.1
debug: 4.3.6
execa: 8.0.1
- local-pkg: 0.5.0
- magic-string: 0.30.10
+ magic-string: 0.30.11
pathe: 1.1.2
- picocolors: 1.0.1
std-env: 3.7.0
- strip-literal: 2.1.0
- tinybench: 2.8.0
- tinypool: 0.8.4
- vite: 5.4.0(@types/node@18.19.31)
- vite-node: 1.5.0(@types/node@18.19.31)
- why-is-node-running: 2.2.2
+ tinybench: 2.9.0
+ tinypool: 1.0.1
+ tinyrainbow: 1.2.0
+ vite: 5.4.1(@types/node@18.19.45)
+ vite-node: 2.0.5(@types/node@18.19.45)
+ why-is-node-running: 2.3.0
optionalDependencies:
- '@edge-runtime/vm': 3.2.0
- '@types/node': 18.19.31
+ '@edge-runtime/vm': 4.0.2
+ '@types/node': 18.19.45
transitivePeerDependencies:
- less
- lightningcss
@@ -7419,7 +6325,7 @@ snapshots:
dependencies:
isexe: 2.0.0
- why-is-node-running@2.2.2:
+ why-is-node-running@2.3.0:
dependencies:
siginfo: 2.0.0
stackback: 0.0.2
@@ -7440,26 +6346,19 @@ snapshots:
string-width: 5.1.2
strip-ansi: 7.1.0
- wrap-ansi@9.0.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 7.1.0
- strip-ansi: 7.1.0
-
wrappy@1.0.2: {}
yallist@2.1.2: {}
yallist@4.0.0: {}
- yaml@2.5.0: {}
+ yaml@2.5.0:
+ optional: true
yn@3.1.1: {}
yocto-queue@0.1.0: {}
- yocto-queue@1.0.0: {}
-
yoga-wasm-web@0.3.3: {}
zod@3.23.8: {}
diff --git a/tsconfig.json b/tsconfig.json
index 2001dd69..572b7f2f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,7 +2,7 @@
"compilerOptions": {
"strict": true,
"module": "ESNext",
- "moduleResolution": "Node",
+ "moduleResolution": "Bundler",
"target": "ES2022",
"lib": ["ESNext"],
"esModuleInterop": true