diff --git a/examples/sentry/.env.example b/examples/sentry/.env.example
new file mode 100644
index 00000000..143d0b45
--- /dev/null
+++ b/examples/sentry/.env.example
@@ -0,0 +1,7 @@
+# Required: Your Sentry DSN (public, safe to expose to the browser)
+PUBLIC_ENV__SENTRY_DSN=https://xxxxx@xxxxx.ingest.sentry.io/xxxxx
+
+# Required for source map upload: Sentry Auth Token
+# Create at https://sentry.io/settings/account/api/auth-tokens/
+# Required scopes: project:read, project:releases, project:write
+SENTRY_AUTH_TOKEN=sntryu_xxxxx
diff --git a/examples/sentry/.gitignore b/examples/sentry/.gitignore
new file mode 100644
index 00000000..c24c6c95
--- /dev/null
+++ b/examples/sentry/.gitignore
@@ -0,0 +1,8 @@
+dist/
+node_modules/
+.DS_Store
+*.log
+.env
+.env.local
+.env.production
+
diff --git a/examples/sentry/README.md b/examples/sentry/README.md
new file mode 100644
index 00000000..a3c628d8
--- /dev/null
+++ b/examples/sentry/README.md
@@ -0,0 +1,62 @@
+# Vike + React + Sentry Example
+
+This example demonstrates how to integrate Sentry error tracking with a Vike + React application.
+
+## Features
+
+- ✅ Client-side error tracking
+- ✅ Server-side error tracking
+- ✅ Automatic error boundaries
+- ✅ Distributed tracing (server → client)
+- ✅ Source map uploads for production debugging
+
+## Setup
+
+1. Install dependencies:
+
+```bash
+pnpm install
+```
+
+2. Configure Sentry DSN in `pages/+config.ts`
+
+3. Run development server:
+
+```bash
+pnpm dev
+```
+
+4. Build for production:
+
+```bash
+pnpm build
+pnpm prod
+```
+
+## Configuration
+
+Edit `pages/+config.ts` to configure Sentry options:
+
+```typescript
+sentry: {
+ dsn: 'YOUR_SENTRY_DSN',
+ environment: 'production',
+ client: {
+ // Client-specific options
+ },
+ server: {
+ // Server-specific options
+ },
+ vitePlugin: {
+ // Sourcemap upload options
+ org: 'your-org',
+ project: 'your-project',
+ authToken: process.env.SENTRY_AUTH_TOKEN
+ }
+}
+```
+
+## Learn More
+
+- [Vike Documentation](https://vike.dev)
+- [Sentry Documentation](https://docs.sentry.io)
diff --git a/examples/sentry/package.json b/examples/sentry/package.json
new file mode 100644
index 00000000..aab59d03
--- /dev/null
+++ b/examples/sentry/package.json
@@ -0,0 +1,26 @@
+{
+ "scripts": {
+ "dev": "vike dev",
+ "build": "vike build",
+ "prod": "vike build && node ./dist/server/index.mjs"
+ },
+ "dependencies": {
+ "@photonjs/hono": "^0.1.7",
+ "@sentry/react": "^10.22.0",
+ "@sentry/node": "^10.22.0",
+ "@sentry/vite-plugin": "^4.6.0",
+ "@types/react": "^19.1.13",
+ "@types/react-dom": "^19.1.9",
+ "@vitejs/plugin-react": "^5.0.3",
+ "hono": "^4.7.14",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "typescript": "^5.9.2",
+ "vike": "^0.4.252",
+ "vike-photon": "^0.1.20",
+ "vike-react": "0.6.10",
+ "vike-react-sentry": "0.1.0",
+ "vite": "^7.1.7"
+ },
+ "type": "module"
+}
diff --git a/examples/sentry/pages/+config.ts b/examples/sentry/pages/+config.ts
new file mode 100644
index 00000000..3ef184e0
--- /dev/null
+++ b/examples/sentry/pages/+config.ts
@@ -0,0 +1,15 @@
+export { config }
+
+import type { Config } from 'vike/types'
+import vikeReact from 'vike-react/config'
+import vikePhoton from 'vike-photon/config'
+import vikeReactSentry from 'vike-react-sentry/config'
+
+const config = {
+ title: 'Vike + React + Sentry Example',
+ extends: [vikeReact, vikePhoton, vikeReactSentry],
+ // Photon configuration
+ photon: {
+ server: '../server/index.ts',
+ },
+} satisfies Config
diff --git a/examples/sentry/pages/index/+Page.tsx b/examples/sentry/pages/index/+Page.tsx
new file mode 100644
index 00000000..af27bad1
--- /dev/null
+++ b/examples/sentry/pages/index/+Page.tsx
@@ -0,0 +1,76 @@
+export { Page }
+
+import { useState } from 'react'
+
+function Page() {
+ const [count, setCount] = useState(0)
+
+ const throwError = () => {
+ throw new Error('This is a test error sent to Sentry!')
+ }
+
+ const throwAsyncError = async () => {
+ await new Promise((resolve) => setTimeout(resolve, 100))
+ throw new Error('This is an async error sent to Sentry!')
+ }
+
+ return (
+
+
Vike + React + Sentry Example
+
+
This example demonstrates Sentry error tracking integration with Vike.
+
+
+
Counter: {count}
+
+
+
+
+
Test Error Tracking
+
Click these buttons to send test errors to Sentry:
+
+
+
+
+
+
+
+
+
+
Configuration
+
+ Edit pages/+config.ts to configure your Sentry DSN and options.
+
+
+ - Client-side errors are automatically captured
+ - Server-side errors are automatically captured
+ - Distributed tracing connects server and client errors
+
+
+
+ )
+}
diff --git a/examples/sentry/server/index.ts b/examples/sentry/server/index.ts
new file mode 100644
index 00000000..a0a826fa
--- /dev/null
+++ b/examples/sentry/server/index.ts
@@ -0,0 +1,13 @@
+import { Hono } from 'hono'
+import { apply, serve } from '@photonjs/hono'
+
+function startServer() {
+ const app = new Hono()
+
+ // Apply Vike and Vike extensions middleware
+ apply(app)
+
+ return serve(app)
+}
+
+export default startServer()
diff --git a/examples/sentry/tsconfig.json b/examples/sentry/tsconfig.json
new file mode 100644
index 00000000..8df2db5f
--- /dev/null
+++ b/examples/sentry/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "strict": true,
+ "module": "ES2020",
+ "moduleResolution": "bundler",
+ "target": "ES2020",
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "types": ["vite/client"],
+ "jsx": "react-jsx",
+ "skipLibCheck": true,
+ "esModuleInterop": true
+ },
+ "include": [
+ "**/*",
+ // Include .test* files
+ // https://github.com/microsoft/TypeScript/issues/49555
+ "**/.*"
+ ]
+}
diff --git a/examples/sentry/vite.config.ts b/examples/sentry/vite.config.ts
new file mode 100644
index 00000000..991ded96
--- /dev/null
+++ b/examples/sentry/vite.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+import vike from 'vike/plugin'
+
+export default defineConfig({
+ plugins: [react(), vike()],
+})
diff --git a/package.json b/package.json
index 885f29f8..78c77856 100644
--- a/package.json
+++ b/package.json
@@ -31,5 +31,10 @@
"playwright-chromium": "^1.57.0",
"prettier": "^3.2.5"
},
- "packageManager": "pnpm@9.4.0"
+ "packageManager": "pnpm@9.4.0",
+ "pnpm": {
+ "overrides": {
+ "vike": "0.4.252-commit-7f781cf"
+ }
+ }
}
diff --git a/packages/vike-react-query/package.json b/packages/vike-react-query/package.json
index 2e9675c2..af5c0157 100644
--- a/packages/vike-react-query/package.json
+++ b/packages/vike-react-query/package.json
@@ -23,7 +23,7 @@
"@tanstack/react-query": ">=5.0.0",
"react": ">=18.0.0",
"react-streaming": ">=0.4.6",
- "vike": ">=0.4.242",
+ "vike": ">=0.4.252",
"vike-react": ">=0.6.8"
},
"devDependencies": {
diff --git a/packages/vike-react-sentry/.gitignore b/packages/vike-react-sentry/.gitignore
new file mode 100644
index 00000000..b0a5c349
--- /dev/null
+++ b/packages/vike-react-sentry/.gitignore
@@ -0,0 +1,2 @@
+/node_modules/
+/dist/
diff --git a/packages/vike-react-sentry/CHANGELOG.md b/packages/vike-react-sentry/CHANGELOG.md
new file mode 100644
index 00000000..c8d9314c
--- /dev/null
+++ b/packages/vike-react-sentry/CHANGELOG.md
@@ -0,0 +1,6 @@
+# Changelog
+
+## 0.1.0
+
+Initial release.
+
diff --git a/packages/vike-react-sentry/README.md b/packages/vike-react-sentry/README.md
new file mode 100644
index 00000000..654a5f07
--- /dev/null
+++ b/packages/vike-react-sentry/README.md
@@ -0,0 +1,200 @@
+
+
+[](https://www.npmjs.com/package/vike-react-sentry)
+
+# `vike-react-sentry`
+
+Integrates [Sentry](https://sentry.io) error tracking and performance monitoring into your [`vike-react`](https://vike.dev/vike-react) app.
+
+Features:
+- Browser and server error tracking
+- Performance monitoring and tracing
+- Automatic source map upload
+- Works out of the box with minimal configuration
+
+
+
+**Table of Contents**
+
+[Installation](#installation)
+[Basic usage](#basic-usage)
+[Example](#example)
+[Customization](#customization)
+[Settings](#settings)
+[Version history](#version-history)
+[See also](#see-also)
+
+
+
+## Installation
+
+1. `npm install vike-react-sentry @sentry/react @sentry/node @sentry/vite-plugin`
+2. Extend `+config.js`:
+ ```js
+ // pages/+config.js
+
+ import vikeReact from 'vike-react/config'
+ import vikeReactSentry from 'vike-react-sentry/config'
+
+ export default {
+ // ...
+ extends: [vikeReact, vikeReactSentry]
+ }
+ ```
+3. Add environment variables to your `.env` file:
+ ```bash
+ # Required: Your Sentry DSN (public, safe to expose to the browser)
+ PUBLIC_ENV__SENTRY_DSN=https://xxxxx@xxxxx.ingest.sentry.io/xxxxx
+
+ # Required for source map upload: Sentry Auth Token
+ # Create at https://sentry.io/settings/account/api/auth-tokens/
+ # Required scopes: project:read, project:releases, project:write
+ SENTRY_AUTH_TOKEN=sntryu_xxxxx
+ ```
+
+> [!NOTE]
+> The `vike-react-sentry` extension requires [`vike-react`](https://vike.dev/vike-react).
+
+
+
+## Basic usage
+
+That's it! With the configuration above, `vike-react-sentry` will automatically:
+- Initialize Sentry on both client and server
+- Track errors and exceptions
+- Instrument Vike hooks using [onHookCall](https://vike.dev/onHookCall)
+- Enable browser tracing for performance monitoring
+- Upload source maps during production builds (when `SENTRY_AUTH_TOKEN` is set)
+
+You can optionally configure Sentry options in your `+config.js`:
+
+```js
+// pages/+config.js
+
+export default {
+ sentry: {
+ tracesSampleRate: 1.0, // Capture 100% of transactions for tracing
+ debug: true, // Enable debug mode during development
+ }
+}
+```
+
+
+
+## Example
+
+See [examples/sentry](https://github.com/vikejs/vike-react/tree/main/examples/sentry) for a full working example.
+
+
+
+## Customization
+
+For advanced customization, you can create Sentry configuration files:
+
+### `+sentry.js` (shared configuration)
+
+```js
+// pages/+sentry.js
+// Environment: client, server
+
+export default (globalContext) => ({
+ tracesSampleRate: 1.0,
+ environment: globalContext.isProduction ? 'production' : 'development',
+})
+```
+
+### `+sentry.client.js` (client-only configuration)
+
+```js
+// pages/+sentry.client.js
+// Environment: client
+
+export default (globalContext) => ({
+ // Client-specific integrations
+ integrations: [
+ // Add custom browser integrations here
+ ],
+})
+```
+
+### `+sentry.server.js` (server-only configuration)
+
+```js
+// pages/+sentry.server.js
+// Environment: server
+
+export default (globalContext) => ({
+ // Server-specific integrations
+ integrations: [
+ // Add custom Node.js integrations here
+ ],
+})
+```
+
+
+
+## Settings
+
+### `sentry`
+
+Sentry SDK configuration options shared between client and server:
+
+```ts
+interface SentryOptions {
+ dsn?: string // Sentry DSN (can also use PUBLIC_ENV__SENTRY_DSN env var)
+ environment?: string // Environment name (e.g., 'production', 'staging')
+ release?: string // Release version
+ debug?: boolean // Enable debug mode
+ sampleRate?: number // Error sample rate (0.0 to 1.0)
+ tracesSampleRate?: number // Transaction sample rate (0.0 to 1.0)
+ enabled?: boolean // Enable/disable Sentry
+ maxBreadcrumbs?: number // Maximum number of breadcrumbs
+ sendDefaultPii?: boolean // Send default PII data
+}
+```
+
+### `sentryVite`
+
+Sentry Vite plugin configuration for source map upload. This is automatically configured when `SENTRY_AUTH_TOKEN` is set, but can be customized:
+
+```js
+// pages/+config.js
+
+export default {
+ sentryVite: {
+ authToken: process.env.SENTRY_AUTH_TOKEN, // Auto-detected from env
+ org: 'your-org', // Auto-detected from DSN
+ project: 'your-project', // Auto-detected from DSN
+ // ... other @sentry/vite-plugin options
+ }
+}
+```
+
+> [!NOTE]
+> When using a **personal auth token** with `SENTRY_AUTH_TOKEN`, `org` and `project` are automatically detected from your DSN using the Sentry API. Organization-scoped tokens don't support the required API permissions, so you'll need to set `SENTRY_PROJECT` manually if using those.
+
+### Environment Variables
+
+| Variable | Description |
+|----------|-------------|
+| `PUBLIC_ENV__SENTRY_DSN` | Your Sentry DSN (required). Public and safe for browser. |
+| `SENTRY_AUTH_TOKEN` | Auth token for source map upload. Create at [Sentry Auth Tokens](https://sentry.io/settings/auth-tokens/). Required scopes: `project:read`, `project:releases`, `project:write`. |
+| `SENTRY_ORG` | Organization slug (optional, auto-detected from DSN). |
+| `SENTRY_PROJECT` | Project slug (optional, auto-detected from DSN). |
+| `SENTRY_URL` | Custom Sentry URL for self-hosted instances. |
+
+
+
+## Version history
+
+See [CHANGELOG.md](https://github.com/vikejs/vike-react/blob/main/packages/vike-react-sentry/CHANGELOG.md).
+
+
+
+## See also
+
+- [Sentry Documentation](https://docs.sentry.io/)
+- [Sentry React SDK](https://docs.sentry.io/platforms/javascript/guides/react/)
+- [Sentry Node SDK](https://docs.sentry.io/platforms/javascript/guides/node/)
+- [Vike Documentation](https://vike.dev)
+- [`vike-react`](https://github.com/vikejs/vike-react/tree/main/packages/vike-react#readme)
diff --git a/packages/vike-react-sentry/package.json b/packages/vike-react-sentry/package.json
new file mode 100644
index 00000000..c5afb31c
--- /dev/null
+++ b/packages/vike-react-sentry/package.json
@@ -0,0 +1,83 @@
+{
+ "name": "vike-react-sentry",
+ "version": "0.1.0",
+ "homepage": "https://github.com/vikejs/vike-react/tree/main/packages/vike-react-sentry#readme",
+ "type": "module",
+ "exports": {
+ "./config": "./dist/integration/+config.js",
+ "./plugin": "./dist/plugin/index.js",
+ "./types": "./dist/types.js",
+ "./__internal/integration/Head": "./dist/integration/Head.js",
+ "./__internal/integration/onCreateGlobalContext.server": "./dist/integration/onCreateGlobalContext.server.js",
+ "./__internal/integration/onCreateGlobalContext.client": "./dist/integration/onCreateGlobalContext.client.js",
+ "./__internal/integration/onHookCall.server": "./dist/integration/onHookCall.server.js",
+ "./__internal/integration/onHookCall.client": "./dist/integration/onHookCall.client.js",
+ "./__internal/integration/onError": "./dist/integration/onError.js"
+ },
+ "scripts": {
+ "dev": "tsc --watch",
+ "build": "rimraf dist/ && tsc",
+ "release": "release-me patch",
+ "release:minor": "release-me minor",
+ "release:commit": "release-me commit"
+ },
+ "peerDependencies": {
+ "@brillout/vite-plugin-server-entry": ">=0.7.0",
+ "@sentry/react": ">=10.0.0",
+ "@sentry/node": ">=10.0.0",
+ "@sentry/vite-plugin": ">=4.0.0",
+ "react": ">=18.0.0",
+ "react-dom": ">=18.0.0",
+ "vike-react": ">=0.6.4"
+ },
+ "devDependencies": {
+ "@brillout/release-me": "^0.4.8",
+ "@brillout/vite-plugin-server-entry": "^0.7.15",
+ "@sentry/react": "^10.22.0",
+ "@sentry/node": "^10.22.0",
+ "@sentry/vite-plugin": "^4.6.0",
+ "@types/node": "^24.0.8",
+ "@types/react": "^19.1.13",
+ "@types/react-dom": "^19.1.9",
+ "@universal-middleware/core": "^0.4.13",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "rimraf": "^5.0.5",
+ "typescript": "^5.9.2",
+ "vike": "^0.4.252",
+ "vike-react": "0.6.10",
+ "vite": "^7.1.7"
+ },
+ "dependencies": {
+ "@universal-middleware/core": "^0.4.13"
+ },
+ "typesVersions": {
+ "*": {
+ "config": [
+ "dist/integration/+config.d.ts"
+ ],
+ "plugin": [
+ "dist/plugin/index.d.ts"
+ ],
+ "types": [
+ "dist/types.d.ts"
+ ],
+ "__internal/integration/onCreateGlobalContext": [
+ "dist/integration/onCreateGlobalContext.d.ts"
+ ],
+ "__internal/integration/client": [
+ "dist/integration/client.d.ts"
+ ],
+ "__internal/integration/onError": [
+ "dist/integration/onError.d.ts"
+ ],
+ "__internal/integration/onHookCall": [
+ "dist/integration/onHookCall.d.ts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "license": "MIT"
+}
diff --git a/packages/vike-react-sentry/src/integration/+config.ts b/packages/vike-react-sentry/src/integration/+config.ts
new file mode 100644
index 00000000..e56ac7dc
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/+config.ts
@@ -0,0 +1,59 @@
+export { config as default }
+
+import type { Config } from 'vike/types'
+import { getViteConfig } from '../plugin/index.js'
+import 'vike-react/config'
+import { SentryOptions } from '../types.js'
+import type { SentryVitePluginOptions } from '@sentry/vite-plugin'
+
+const config = {
+ name: 'vike-react-sentry',
+ require: {
+ 'vike-react': '>=0.6.4',
+ },
+ Head: 'import:vike-react-sentry/__internal/integration/Head:Head',
+ onCreateGlobalContext: [
+ 'import:vike-react-sentry/__internal/integration/onCreateGlobalContext.server:onCreateGlobalContext',
+ 'import:vike-react-sentry/__internal/integration/onCreateGlobalContext.client:onCreateGlobalContext',
+ ],
+ onError: 'import:vike-react-sentry/__internal/integration/onError:onError',
+ onHookCall: [
+ 'import:vike-react-sentry/__internal/integration/onHookCall.server:onHookCall',
+ 'import:vike-react-sentry/__internal/integration/onHookCall.client:onHookCall',
+ ],
+ meta: {
+ sentry: {
+ env: {
+ server: true,
+ client: true,
+ config: true,
+ },
+ global: true,
+ cumulative: true,
+ },
+ sentryVite: {
+ env: {
+ server: false,
+ client: false,
+ config: true,
+ },
+ global: true,
+ cumulative: false,
+ },
+ },
+ vite: getViteConfig,
+} satisfies Config
+
+declare global {
+ namespace Vike {
+ interface Config {
+ sentry?: SentryOptions | ((globalContext: GlobalContext) => SentryOptions)
+ sentryVite?: SentryVitePluginOptions
+ }
+
+ interface ConfigResolved {
+ sentry?: (SentryOptions | ((globalContext: GlobalContext) => SentryOptions))[]
+ sentryVite?: SentryVitePluginOptions
+ }
+ }
+}
diff --git a/packages/vike-react-sentry/src/integration/Head.tsx b/packages/vike-react-sentry/src/integration/Head.tsx
new file mode 100644
index 00000000..0e203e59
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/Head.tsx
@@ -0,0 +1,28 @@
+export { Head }
+
+import React from 'react'
+import * as Sentry from '@sentry/node'
+
+// Inject Sentry trace meta tags into the HTML head for distributed tracing
+// This allows the client-side SDK to continue the trace started on the server
+function Head() {
+ if (!Sentry.getClient()) {
+ return null
+ }
+
+ // Get trace data from Sentry
+ const traceData = Sentry.getTraceData()
+
+ // Return the meta tags as proper React elements
+ // Fields may include:
+ // - sentry-trace: Sentry's proprietary trace header
+ // - baggage: Dynamic sampling context
+ // - traceparent: W3C Trace Context header
+ return (
+ <>
+ {traceData['sentry-trace'] && }
+ {traceData.baggage && }
+ {traceData.traceparent && }
+ >
+ )
+}
diff --git a/packages/vike-react-sentry/src/integration/constants.ts b/packages/vike-react-sentry/src/integration/constants.ts
new file mode 100644
index 00000000..a2aa6ee4
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/constants.ts
@@ -0,0 +1,2 @@
+export const TRACE_DEFAULT_SAMPLE_RATE = 0.2
+export const TRACE_DEFAULT_SAMPLE_RATE_ERROR = 1.0
diff --git a/packages/vike-react-sentry/src/integration/defaults-client.ts b/packages/vike-react-sentry/src/integration/defaults-client.ts
new file mode 100644
index 00000000..d7f26a50
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/defaults-client.ts
@@ -0,0 +1,20 @@
+import { SentryReactOptions } from '../types.js'
+import { resolveDsn } from '../utils/resolveDsn.js'
+import * as SentryReact from '@sentry/react'
+import { TRACE_DEFAULT_SAMPLE_RATE, TRACE_DEFAULT_SAMPLE_RATE_ERROR } from './constants.js'
+
+export const DEFAULT_SENTRY_CLIENT_SETTINGS = (clientConfig: SentryReactOptions) =>
+ ({
+ environment: clientConfig.environment || import.meta.env.MODE || 'production',
+ replaysSessionSampleRate: 0.1,
+ replaysOnErrorSampleRate: 1.0,
+ integrations: [SentryReact.browserTracingIntegration(), SentryReact.replayIntegration()],
+ dsn: resolveDsn(clientConfig.dsn),
+ tracesSampler: (samplingContext) => {
+ const { attributes, inheritOrSampleWith } = samplingContext
+ if (attributes?.hasRecentErrors === true) {
+ return TRACE_DEFAULT_SAMPLE_RATE_ERROR
+ }
+ return inheritOrSampleWith(clientConfig.tracesSampleRate || TRACE_DEFAULT_SAMPLE_RATE)
+ },
+ }) as SentryReactOptions
diff --git a/packages/vike-react-sentry/src/integration/defaults-server.ts b/packages/vike-react-sentry/src/integration/defaults-server.ts
new file mode 100644
index 00000000..81e9ca62
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/defaults-server.ts
@@ -0,0 +1,16 @@
+import { SentryNodeOptions } from '../types.js'
+import { resolveDsn } from '../utils/resolveDsn.js'
+import { TRACE_DEFAULT_SAMPLE_RATE, TRACE_DEFAULT_SAMPLE_RATE_ERROR } from './constants.js'
+
+export const DEFAULT_SENTRY_SERVER_SETTINGS = (serverConfig: SentryNodeOptions) =>
+ ({
+ environment: serverConfig.environment || import.meta.env.MODE || 'production',
+ dsn: resolveDsn(serverConfig.dsn),
+ tracesSampler: (samplingContext) => {
+ const { attributes, inheritOrSampleWith } = samplingContext
+ if (attributes?.hasRecentErrors === true) {
+ return TRACE_DEFAULT_SAMPLE_RATE_ERROR
+ }
+ return inheritOrSampleWith(serverConfig.tracesSampleRate || TRACE_DEFAULT_SAMPLE_RATE)
+ },
+ }) as SentryNodeOptions
diff --git a/packages/vike-react-sentry/src/integration/onCreateGlobalContext.client.ts b/packages/vike-react-sentry/src/integration/onCreateGlobalContext.client.ts
new file mode 100644
index 00000000..d16a2e08
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/onCreateGlobalContext.client.ts
@@ -0,0 +1,23 @@
+export { onCreateGlobalContext }
+
+import * as SentryReact from '@sentry/react'
+import type { GlobalContextClient } from 'vike/types'
+import { assignDeep } from '../utils/assignDeep.js'
+import { SentryOptions } from '../types.js'
+import { DEFAULT_SENTRY_CLIENT_SETTINGS } from './defaults-client.js'
+
+async function onCreateGlobalContext(globalContext: GlobalContextClient): Promise {
+ const clientConfig = (globalContext.config.sentry || []).reverse().reduce((acc, curr) => {
+ if (typeof curr === 'function') {
+ curr = curr(globalContext)
+ }
+ return assignDeep(acc, curr)
+ }, {}) as SentryOptions
+
+ if (!SentryReact.getClient()) {
+ SentryReact.init({
+ ...DEFAULT_SENTRY_CLIENT_SETTINGS(clientConfig),
+ ...clientConfig,
+ })
+ }
+}
diff --git a/packages/vike-react-sentry/src/integration/onCreateGlobalContext.server.ts b/packages/vike-react-sentry/src/integration/onCreateGlobalContext.server.ts
new file mode 100644
index 00000000..e386db2c
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/onCreateGlobalContext.server.ts
@@ -0,0 +1,23 @@
+export { onCreateGlobalContext }
+
+import * as SentryNode from '@sentry/node'
+import type { GlobalContextServer } from 'vike/types'
+import { SentryOptions } from '../types.js'
+import { assignDeep } from '../utils/assignDeep.js'
+import { DEFAULT_SENTRY_SERVER_SETTINGS } from './defaults-server.js'
+
+async function onCreateGlobalContext(globalContext: GlobalContextServer): Promise {
+ const serverConfig = (globalContext.config.sentry || []).reverse().reduce((acc, curr) => {
+ if (typeof curr === 'function') {
+ curr = curr(globalContext)
+ }
+ return assignDeep(acc, curr)
+ }, {}) as SentryOptions
+
+ if (!SentryNode.getClient()) {
+ SentryNode.init({
+ ...DEFAULT_SENTRY_SERVER_SETTINGS(serverConfig),
+ ...serverConfig,
+ })
+ }
+}
diff --git a/packages/vike-react-sentry/src/integration/onError.ts b/packages/vike-react-sentry/src/integration/onError.ts
new file mode 100644
index 00000000..af145818
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/onError.ts
@@ -0,0 +1,17 @@
+import * as Sentry from '@sentry/node'
+import { isErrorSeen } from '../utils/error.js'
+import type { Config } from 'vike/types'
+import { assert } from '../utils/assert.js'
+
+// Handle errors on the server side
+export const onError: Config['onError'] = (error) => {
+ assert(
+ error && typeof error === 'object' && 'getOriginalError' in error && typeof error.getOriginalError === 'function',
+ )
+ const original = error.getOriginalError()
+ if (Sentry.getClient() && !isErrorSeen(original)) {
+ {
+ Sentry.captureException(original)
+ }
+ }
+}
diff --git a/packages/vike-react-sentry/src/integration/onHookCall.client.ts b/packages/vike-react-sentry/src/integration/onHookCall.client.ts
new file mode 100644
index 00000000..f1b8370b
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/onHookCall.client.ts
@@ -0,0 +1,55 @@
+import { Config } from 'vike/types'
+import * as Sentry from '@sentry/react'
+import { markErrorAsSeen, recordError, hasRecentErrors } from '../utils/error.js'
+
+/**
+ * Vike onHookCall configuration for Sentry integration (client-side).
+ * Provides automatic tracing and error capture for all Vike hooks.
+ */
+export const onHookCall: Config['onHookCall'] = async (hook, pageContext) => {
+ if (!Sentry.getClient() || hook.name === 'onError') {
+ return hook.call()
+ }
+
+ // Extract useful context for Sentry
+ const url = pageContext?.urlOriginal ?? 'unknown'
+ const pageId = pageContext?.pageId ?? 'unknown'
+
+ // withScope ensures any error captured during hook execution has Vike context
+ return Sentry.withScope((scope) => {
+ scope.setTag('vike.hook', hook.name)
+ scope.setTag('vike.page', pageId)
+ scope.setContext('vike', {
+ hook: hook.name,
+ filePath: hook.filePath,
+ pageId,
+ url,
+ })
+
+ return Sentry.startSpan(
+ {
+ name: hook.name,
+ op: 'vike.hook',
+ attributes: {
+ 'vike.hook.name': hook.name,
+ 'vike.hook.file': hook.filePath,
+ 'vike.page.id': pageId,
+ 'vike.url': url,
+ hasRecentErrors: hasRecentErrors(),
+ },
+ },
+ async (span) => {
+ try {
+ await hook.call()
+ } catch (error) {
+ markErrorAsSeen(error)
+ recordError()
+ span.setStatus({
+ code: 2,
+ })
+ Sentry.captureException(error)
+ }
+ },
+ )
+ })
+}
diff --git a/packages/vike-react-sentry/src/integration/onHookCall.server.ts b/packages/vike-react-sentry/src/integration/onHookCall.server.ts
new file mode 100644
index 00000000..0cfa2088
--- /dev/null
+++ b/packages/vike-react-sentry/src/integration/onHookCall.server.ts
@@ -0,0 +1,54 @@
+import { Config } from 'vike/types'
+import * as Sentry from '@sentry/node'
+import { hasRecentErrors, markErrorAsSeen } from '../utils/error.js'
+
+/**
+ * Vike onHookCall configuration for Sentry integration.
+ * Provides automatic tracing and error capture for all Vike hooks.
+ */
+export const onHookCall: Config['onHookCall'] = async (hook, pageContext) => {
+ if (!Sentry.getClient() || hook.name === 'onError') {
+ return hook.call()
+ }
+
+ // Extract useful context for Sentry
+ const url = pageContext?.urlOriginal ?? 'unknown'
+ const pageId = pageContext?.pageId ?? 'unknown'
+
+ // withScope ensures any error captured during hook execution has Vike context
+ return Sentry.withScope((scope) => {
+ scope.setTag('vike.hook', hook.name)
+ scope.setTag('vike.page', pageId)
+ scope.setContext('vike', {
+ hook: hook.name,
+ filePath: hook.filePath,
+ pageId,
+ url,
+ })
+
+ return Sentry.startSpan(
+ {
+ name: hook.name,
+ op: 'vike.hook',
+ attributes: {
+ 'vike.hook.name': hook.name,
+ 'vike.hook.file': hook.filePath,
+ 'vike.page.id': pageId,
+ 'vike.url': url,
+ hasRecentErrors: hasRecentErrors(),
+ },
+ },
+ async (span) => {
+ try {
+ await hook.call()
+ } catch (error) {
+ markErrorAsSeen(error)
+ span.setStatus({
+ code: 2,
+ })
+ Sentry.captureException(error)
+ }
+ },
+ )
+ })
+}
diff --git a/packages/vike-react-sentry/src/plugin/index.ts b/packages/vike-react-sentry/src/plugin/index.ts
new file mode 100644
index 00000000..5d3ce647
--- /dev/null
+++ b/packages/vike-react-sentry/src/plugin/index.ts
@@ -0,0 +1,183 @@
+export { getViteConfig }
+
+import { sentryVitePlugin, SentryVitePluginOptions } from '@sentry/vite-plugin'
+import { serverProductionEntryPlugin } from '@brillout/vite-plugin-server-entry/plugin'
+import { getVikeConfig } from 'vike/plugin'
+import type { Plugin, InlineConfig } from 'vite'
+import { assertUsage } from '../utils/assert.js'
+import { assignDeep } from '../utils/assignDeep.js'
+import { SentryOptions } from '../types.js'
+
+// Cache for auto-detected project info to avoid multiple API calls (global to survive module reloads)
+declare global {
+ var __vike_react_sentry_vite_options_promise: Promise | undefined
+}
+
+async function getViteConfig(): Promise {
+ const plugins: Plugin[] = []
+ plugins.push({
+ enforce: 'post',
+ name: 'vike-react-sentry:config-resolver',
+ configResolved() {
+ globalThis.__vike_react_sentry_vite_options_promise ??= (async () => {
+ const vikeConfig = getVikeConfig()
+ const sentryConfigRaw = vikeConfig.config.sentry || []
+
+ const sentryConfig = sentryConfigRaw.toReversed().reduce((acc, curr) => {
+ // skip function configs
+ if (typeof curr === 'function') {
+ curr = {}
+ }
+ return assignDeep(acc, curr)
+ }, {}) as SentryOptions
+
+ // Assumes the client and server uses the same DSN
+ // If different DSNs are needed, we can enable SENTRY_DSN later
+ assertUsage(
+ !process.env['SENTRY_DSN'],
+ 'SENTRY_DSN is not supported. Use PUBLIC_ENV__SENTRY_DSN instead, or set dsn in your sentry config.',
+ )
+ const effectiveDsn = sentryConfig.dsn || process.env['PUBLIC_ENV__SENTRY_DSN']
+ assertUsage(
+ effectiveDsn,
+ 'Sentry DSN is required. Set PUBLIC_ENV__SENTRY_DSN env var, or set dsn in your sentry config.',
+ )
+
+ let vitePluginOptions = vikeConfig.config.sentryVite
+ // Resolve env fallbacks for vitePlugin options (effect doesn't have access to .env file vars)
+ if (vitePluginOptions || process.env['SENTRY_AUTH_TOKEN']) {
+ vitePluginOptions = {
+ ...vitePluginOptions,
+ authToken: vitePluginOptions?.authToken || process.env['SENTRY_AUTH_TOKEN'],
+ org: vitePluginOptions?.org || process.env['SENTRY_ORG'],
+ project: vitePluginOptions?.project || process.env['SENTRY_PROJECT'],
+ url: vitePluginOptions?.url || process.env['SENTRY_URL'],
+ }
+ }
+
+ if (vitePluginOptions && sentryConfig.release) {
+ vitePluginOptions = {
+ ...vitePluginOptions,
+ release: {
+ name: sentryConfig.release,
+ ...vitePluginOptions.release,
+ },
+ }
+ }
+
+ // Auto-detect project and org slug from DSN if not provided
+ if (vitePluginOptions && !vitePluginOptions.project && !vitePluginOptions.org) {
+ const authToken = vitePluginOptions.authToken
+ const sentryUrl = vitePluginOptions.url
+ const projectId = getProjectIdFromDsn(effectiveDsn)
+
+ if (authToken && projectId) {
+ const projectInfo = await getProjectInfoFromApi(authToken, projectId, effectiveDsn, sentryUrl)
+ if (projectInfo) {
+ vitePluginOptions = {
+ ...vitePluginOptions,
+ project: projectInfo.projectSlug,
+ org: projectInfo.orgSlug,
+ }
+ }
+ }
+ }
+
+ // Cache resolved config globally to make it accessible in onCreateGlobalContext
+ return vitePluginOptions
+ })()
+ },
+ })
+
+ if (!globalThis.__vike_react_sentry_vite_options_promise) {
+ return {
+ plugins,
+ }
+ }
+ const vitePluginOptions = await globalThis.__vike_react_sentry_vite_options_promise
+ if (vitePluginOptions) {
+ const sentryPlugins = sentryVitePlugin(vitePluginOptions)
+ plugins.push(...sentryPlugins)
+ }
+
+ plugins.push(
+ ...serverProductionEntryPlugin({
+ getServerProductionEntry: () => {
+ return `
+// vike-react-sentry: Preload OpenTelemetry instrumentation for ESM
+// The actual Sentry.init() with config will be called later via onCreateGlobalContext
+// https://docs.sentry.io/platforms/javascript/guides/node/install/esm-without-import/
+import { preloadOpenTelemetry } from '@sentry/node';
+preloadOpenTelemetry();
+`
+ },
+ libraryName: 'vike-react-sentry',
+ }),
+ )
+
+ return {
+ resolve: {
+ noExternal: 'vike-react-sentry',
+ },
+ plugins,
+ ...(vitePluginOptions && {
+ build: {
+ sourcemap: true,
+ },
+ }),
+ }
+}
+
+/** Parse project ID from DSN. Format: https://{PUBLIC_KEY}@{HOST}/{PROJECT_ID} */
+function getProjectIdFromDsn(dsn: string): string | undefined {
+ const match = dsn.match(/\/(\d+)$/)
+ return match?.[1]
+}
+
+/**
+ * Extract API base URL from DSN
+ * DSN host like "o123.ingest.de.sentry.io" -> "https://de.sentry.io"
+ */
+function getApiUrlFromDsn(dsn: string): string | undefined {
+ try {
+ const url = new URL(dsn)
+ const match = url.hostname.match(/ingest\.(.+)$/)
+ return match ? `https://${match[1]}` : undefined
+ } catch {
+ return undefined
+ }
+}
+
+/** Fetch project and org slug from Sentry API. Results are cached globally. */
+async function getProjectInfoFromApi(
+ authToken: string,
+ projectId: string,
+ dsn: string,
+ url?: string,
+): Promise<{ projectSlug: string; orgSlug: string } | null> {
+ const effectiveUrl = url || getApiUrlFromDsn(dsn) || 'https://sentry.io'
+
+ try {
+ const response = await fetch(`${effectiveUrl}/api/0/projects/`, {
+ headers: { Authorization: `Bearer ${authToken}` },
+ })
+ if (!response.ok) {
+ return null
+ }
+ const projects = (await response.json()) as Array<{
+ id: string
+ slug: string
+ organization: { slug: string }
+ }>
+ const project = projects.find((p) => p.id === projectId)
+ if (!project) {
+ return null
+ }
+ return {
+ projectSlug: project.slug,
+ orgSlug: project.organization.slug,
+ }
+ } catch {
+ return null
+ }
+}
diff --git a/packages/vike-react-sentry/src/types.ts b/packages/vike-react-sentry/src/types.ts
new file mode 100644
index 00000000..ab7b6fb1
--- /dev/null
+++ b/packages/vike-react-sentry/src/types.ts
@@ -0,0 +1,19 @@
+import type * as SentryReact from '@sentry/react'
+import type * as SentryNode from '@sentry/node'
+
+export interface SentryNodeOptions extends SentryNode.NodeOptions {}
+export interface SentryReactOptions extends SentryReact.BrowserOptions {}
+export type SentryOptions = Pick<
+ SentryNodeOptions & SentryReactOptions,
+ | 'dsn'
+ | 'environment'
+ | 'release'
+ | 'debug'
+ | 'sampleRate'
+ | 'tracesSampleRate'
+ | 'enabled'
+ | 'maxBreadcrumbs'
+ | 'sendDefaultPii'
+ | 'replaysSessionSampleRate'
+ | 'replaysOnErrorSampleRate'
+>
diff --git a/packages/vike-react-sentry/src/utils/assert.ts b/packages/vike-react-sentry/src/utils/assert.ts
new file mode 100644
index 00000000..504c011e
--- /dev/null
+++ b/packages/vike-react-sentry/src/utils/assert.ts
@@ -0,0 +1,14 @@
+export { assertUsage }
+export { assert }
+
+function assertUsage(condition: unknown, message: string): asserts condition {
+ if (!condition) {
+ throw new Error(`[vike-react-sentry] ${message}`)
+ }
+}
+
+function assert(condition: unknown, message?: string): asserts condition {
+ if (!condition) {
+ throw new Error(`[vike-react-sentry] ${message}`)
+ }
+}
diff --git a/packages/vike-react-sentry/src/utils/assignDeep.ts b/packages/vike-react-sentry/src/utils/assignDeep.ts
new file mode 100644
index 00000000..ce3f340c
--- /dev/null
+++ b/packages/vike-react-sentry/src/utils/assignDeep.ts
@@ -0,0 +1,32 @@
+// Credits: https://github.com/radashi-org/radashi/blob/main/src/object/assign.ts
+
+export { assignDeep }
+
+function assignDeep(initial: Record, override: Record) {
+ if (!initial || !override) {
+ return initial ?? override ?? {}
+ }
+ for (const key of Object.keys(override)) {
+ initial[key] =
+ isPlainObject(initial[key]) && isPlainObject(override[key])
+ ? assignDeep(initial[key], override[key])
+ : override[key]
+ }
+ return initial
+}
+
+function isPlainObject(value: any): value is object {
+ if (typeof value !== 'object' || value === null) {
+ return false
+ }
+
+ const prototype = Object.getPrototypeOf(value)
+ return (
+ // Fast path for most common objects.
+ prototype === Object.prototype ||
+ // Support objects created without a prototype.
+ prototype === null ||
+ // Support plain objects from other realms.
+ Object.getPrototypeOf(prototype) === null
+ )
+}
diff --git a/packages/vike-react-sentry/src/utils/error.ts b/packages/vike-react-sentry/src/utils/error.ts
new file mode 100644
index 00000000..b7157567
--- /dev/null
+++ b/packages/vike-react-sentry/src/utils/error.ts
@@ -0,0 +1,23 @@
+const seenError = Symbol.for('vike-react-sentry-seen-error')
+
+export const markErrorAsSeen = (error: unknown): void => {
+ if (typeof error === 'object' && error !== null) {
+ ;(error as any)[seenError] = true
+ }
+}
+
+export const isErrorSeen = (error: unknown): boolean => {
+ return typeof error === 'object' && error !== null && Boolean((error as any)[seenError])
+}
+
+// Track recent errors for adaptive sampling
+let lastErrorTimestamp: number | null = null
+const RECENT_ERROR_WINDOW = 5 * 60 * 1000 // 5 minutes
+
+export const hasRecentErrors = (): boolean => {
+ return lastErrorTimestamp !== null && Date.now() - lastErrorTimestamp < RECENT_ERROR_WINDOW
+}
+
+export const recordError = (): void => {
+ lastErrorTimestamp = Date.now()
+}
diff --git a/packages/vike-react-sentry/src/utils/resolveDsn.ts b/packages/vike-react-sentry/src/utils/resolveDsn.ts
new file mode 100644
index 00000000..f14137c0
--- /dev/null
+++ b/packages/vike-react-sentry/src/utils/resolveDsn.ts
@@ -0,0 +1,3 @@
+export function resolveDsn(configDsn: string | undefined): string | undefined {
+ return configDsn || import.meta.env.PUBLIC_ENV__SENTRY_DSN
+}
diff --git a/packages/vike-react-sentry/tsconfig.json b/packages/vike-react-sentry/tsconfig.json
new file mode 100644
index 00000000..d29d2c4b
--- /dev/null
+++ b/packages/vike-react-sentry/tsconfig.json
@@ -0,0 +1,28 @@
+{
+ "include": ["./src"],
+ "exclude": ["**/*.spec.ts"],
+ "compilerOptions": {
+ // Misc
+ "skipLibCheck": true,
+ "noErrorTruncation": true,
+ // Strictness
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ // Resolution
+ "esModuleInterop": true,
+ "moduleResolution": "Node16",
+ // Libs
+ "lib": ["DOM", "DOM.Iterable", "ES2023"],
+ "types": ["vite/client", "vike-react"],
+ // Output
+ "target": "ES2020",
+ "module": "Node16",
+ "outDir": "./dist/",
+ "rootDir": "./src/",
+ "declaration": true,
+ // React
+ "jsx": "react"
+ }
+}
diff --git a/packages/vike-react-zustand/package.json b/packages/vike-react-zustand/package.json
index a731f1a8..0404ba4b 100644
--- a/packages/vike-react-zustand/package.json
+++ b/packages/vike-react-zustand/package.json
@@ -20,7 +20,7 @@
"react": ">=18.0.0",
"react-dom": ">=18.0.0",
"react-streaming": ">=0.3.42",
- "vike": ">=0.4.242",
+ "vike": ">=0.4.252",
"vike-react": ">=0.4.13",
"zustand": ">=5.0.0"
},
diff --git a/packages/vike-react/package.json b/packages/vike-react/package.json
index ba74bb6f..fc77abfa 100644
--- a/packages/vike-react/package.json
+++ b/packages/vike-react/package.json
@@ -32,7 +32,7 @@
"peerDependencies": {
"react": ">=19",
"react-dom": ">=19",
- "vike": ">=0.4.242"
+ "vike": ">=0.4.252"
},
"scripts": {
"dev": "tsc --watch",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 17d15811..3917da1d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,9 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ vike: 0.4.252-commit-7f781cf
+
importers:
.:
@@ -54,8 +57,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -93,8 +96,8 @@ importers:
specifier: ^5.9.3
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -114,8 +117,8 @@ importers:
specifier: ^19.2.1
version: 19.2.1(react@19.2.1)
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -147,8 +150,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -186,8 +189,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -198,6 +201,57 @@ importers:
specifier: ^7.3.0
version: 7.3.0(@types/node@24.0.8)
+ examples/sentry:
+ dependencies:
+ '@photonjs/hono':
+ specifier: ^0.1.7
+ version: 0.1.7(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@sentry/node':
+ specifier: ^10.22.0
+ version: 10.27.0
+ '@sentry/react':
+ specifier: ^10.22.0
+ version: 10.27.0(react@19.2.1)
+ '@sentry/vite-plugin':
+ specifier: ^4.6.0
+ version: 4.6.1
+ '@types/react':
+ specifier: ^19.1.13
+ version: 19.2.7
+ '@types/react-dom':
+ specifier: ^19.1.9
+ version: 19.2.3(@types/react@19.2.7)
+ '@vitejs/plugin-react':
+ specifier: ^5.0.3
+ version: 5.1.1(vite@7.3.0(@types/node@24.0.8))
+ hono:
+ specifier: ^4.7.14
+ version: 4.10.7
+ react:
+ specifier: ^19.2.0
+ version: 19.2.1
+ react-dom:
+ specifier: ^19.2.0
+ version: 19.2.1(react@19.2.1)
+ typescript:
+ specifier: ^5.9.2
+ version: 5.9.3
+ vike:
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ vike-photon:
+ specifier: ^0.1.20
+ version: 0.1.23(@photonjs/core@0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8)))(@photonjs/runtime@0.1.10(hono@4.10.7)(rollup@4.46.2)(vite@7.3.0(@types/node@24.0.8)))(hono@4.10.7)(rollup@4.46.2)(srvx@0.9.6)(vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)))(vite@7.3.0(@types/node@24.0.8))
+ vike-react:
+ specifier: 0.6.10
+ version: 0.6.10(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)))
+ vike-react-sentry:
+ specifier: 0.1.0
+ version: link:../../packages/vike-react-sentry
+ vite:
+ specifier: ^7.1.7
+ version: 7.3.0(@types/node@24.0.8)
+
examples/zustand:
dependencies:
'@types/react':
@@ -222,8 +276,8 @@ importers:
specifier: ^5.9.3
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../../packages/vike-react
@@ -271,8 +325,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vite:
specifier: ^7.3.0
version: 7.3.0(@types/node@24.0.8)
@@ -301,8 +355,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -353,8 +407,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -386,8 +440,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -435,8 +489,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -472,8 +526,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -481,6 +535,58 @@ importers:
specifier: ^7.3.0
version: 7.3.0(@types/node@24.0.8)
+ packages/vike-react-sentry:
+ dependencies:
+ '@universal-middleware/core':
+ specifier: ^0.4.13
+ version: 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ devDependencies:
+ '@brillout/release-me':
+ specifier: ^0.4.8
+ version: 0.4.12(conventional-commits-filter@5.0.0)
+ '@brillout/vite-plugin-server-entry':
+ specifier: ^0.7.15
+ version: 0.7.15
+ '@sentry/node':
+ specifier: ^10.22.0
+ version: 10.27.0
+ '@sentry/react':
+ specifier: ^10.22.0
+ version: 10.27.0(react@19.2.1)
+ '@sentry/vite-plugin':
+ specifier: ^4.6.0
+ version: 4.6.1
+ '@types/node':
+ specifier: ^24.0.8
+ version: 24.0.8
+ '@types/react':
+ specifier: ^19.1.13
+ version: 19.2.7
+ '@types/react-dom':
+ specifier: ^19.1.9
+ version: 19.2.3(@types/react@19.2.7)
+ react:
+ specifier: ^19.2.0
+ version: 19.2.1
+ react-dom:
+ specifier: ^19.2.0
+ version: 19.2.1(react@19.2.1)
+ rimraf:
+ specifier: ^5.0.5
+ version: 5.0.10
+ typescript:
+ specifier: ^5.9.2
+ version: 5.9.3
+ vike:
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ vike-react:
+ specifier: 0.6.10
+ version: 0.6.10(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)))
+ vite:
+ specifier: ^7.1.7
+ version: 7.3.0(@types/node@24.0.8)
+
packages/vike-react-styled-components:
devDependencies:
'@brillout/release-me':
@@ -502,8 +608,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -527,13 +633,13 @@ importers:
version: 5.0.10
styled-jsx:
specifier: ^5.1.6
- version: 5.1.6(react@19.2.1)
+ version: 5.1.6(@babel/core@7.28.5)(react@19.2.1)
typescript:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -584,8 +690,8 @@ importers:
specifier: ^5.9.2
version: 5.9.3
vike:
- specifier: ^0.4.249
- version: 0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ specifier: 0.4.252-commit-7f781cf
+ version: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
vike-react:
specifier: 0.6.15
version: link:../vike-react
@@ -632,6 +738,12 @@ packages:
peerDependencies:
react: '>=16.9.0'
+ '@apm-js-collab/code-transformer@0.8.2':
+ resolution: {integrity: sha512-YRjJjNq5KFSjDUoqu5pFUWrrsvGOxl6c3bu+uMFc9HNNptZ2rNU/TI2nLw4jnhQNtka972Ee2m3uqbvDQtPeCA==}
+
+ '@apm-js-collab/tracing-hooks@0.3.1':
+ resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==}
+
'@apollo/client-react-streaming@0.11.11':
resolution: {integrity: sha512-h7u/D5GDq5mn2BXaWBiK9z+i90mzmBCnOeRt4Iarc1qwTt40Q4u2yEXPw8ma1BywZ2uLJyVuAb6EyA605eqeEQ==}
peerDependencies:
@@ -819,6 +931,9 @@ packages:
'@brillout/picocolors@1.0.29':
resolution: {integrity: sha512-EKkqdFJD+CeP6GfpZNcWcCCXS5o0HFXhwISoN5JnHG/kplVE2MmF23eKtl4JRKU1rkR7s3kFIKiJf15aV/Uodg==}
+ '@brillout/picocolors@1.0.30':
+ resolution: {integrity: sha512-xJjdgyN1H0qh2nB2xlzazIipiDixuUd9oD5msh/Qv5bXJG9j8MSD/m4lREt6Z10ej6FF31b8vB4tdT7lDUbiyA==}
+
'@brillout/release-me@0.4.12':
resolution: {integrity: sha512-0ONZeh7jt+7sZ94bZs0tnGaCQxFTgj7XFybG4jZkQxJJV81DXxzS1WT8aw86j37vO9irw9sShnqJzWE8/aPEqQ==}
hasBin: true
@@ -839,6 +954,9 @@ packages:
'@brillout/vite-plugin-server-entry@0.7.15':
resolution: {integrity: sha512-0ClgcmjkhJoHbI6KhbjZlXMeA9qn/EPLXEVssjCE6IVYnVb4bTYuq635c44n7jV3GkjcgFHCQWBmNw0OAGiUvQ==}
+ '@brillout/vite-plugin-server-entry@0.7.17':
+ resolution: {integrity: sha512-MfvSytYl51J2B+RrHvRXMdRNc1U2lHG/K9Gw05/jdPY2iYU2YQKdEzsPswfEWnt3fd1TrXF27h/fx5DIRn19jw==}
+
'@chakra-ui/react@3.13.0':
resolution: {integrity: sha512-HqFXuVhiQCftQT5+/9F6w0aZufHgvaSr7jJoMP+BUxihF6uaSSW2YHy2eKK4a5SWNLMOnZHYQbUUrC3WSGcYxg==}
peerDependencies:
@@ -886,6 +1004,15 @@ packages:
resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
engines: {node: '>=18'}
+ '@emnapi/core@1.7.1':
+ resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
+
+ '@emnapi/runtime@1.7.1':
+ resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
'@emotion/babel-plugin@11.13.5':
resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
@@ -951,12 +1078,6 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.25.1':
- resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.27.2':
resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
engines: {node: '>=18'}
@@ -969,12 +1090,6 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.25.1':
- resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.27.2':
resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==}
engines: {node: '>=18'}
@@ -987,12 +1102,6 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.25.1':
- resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.27.2':
resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==}
engines: {node: '>=18'}
@@ -1005,12 +1114,6 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.25.1':
- resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.27.2':
resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==}
engines: {node: '>=18'}
@@ -1023,12 +1126,6 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.25.1':
- resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.27.2':
resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==}
engines: {node: '>=18'}
@@ -1041,12 +1138,6 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.1':
- resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.27.2':
resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==}
engines: {node: '>=18'}
@@ -1059,12 +1150,6 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.25.1':
- resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.27.2':
resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==}
engines: {node: '>=18'}
@@ -1077,12 +1162,6 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.1':
- resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.27.2':
resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==}
engines: {node: '>=18'}
@@ -1095,12 +1174,6 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.25.1':
- resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.27.2':
resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==}
engines: {node: '>=18'}
@@ -1113,12 +1186,6 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.25.1':
- resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.27.2':
resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==}
engines: {node: '>=18'}
@@ -1131,12 +1198,6 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.25.1':
- resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.27.2':
resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==}
engines: {node: '>=18'}
@@ -1149,12 +1210,6 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.25.1':
- resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.27.2':
resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==}
engines: {node: '>=18'}
@@ -1167,12 +1222,6 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.25.1':
- resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.27.2':
resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==}
engines: {node: '>=18'}
@@ -1185,12 +1234,6 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.25.1':
- resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.27.2':
resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==}
engines: {node: '>=18'}
@@ -1203,12 +1246,6 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.1':
- resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.27.2':
resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==}
engines: {node: '>=18'}
@@ -1221,12 +1258,6 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.25.1':
- resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.27.2':
resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==}
engines: {node: '>=18'}
@@ -1239,24 +1270,12 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.25.1':
- resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.27.2':
resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.1':
- resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.27.2':
resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==}
engines: {node: '>=18'}
@@ -1269,12 +1288,6 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.1':
- resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.27.2':
resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==}
engines: {node: '>=18'}
@@ -1287,12 +1300,6 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-arm64@0.25.1':
- resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.27.2':
resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==}
engines: {node: '>=18'}
@@ -1305,12 +1312,6 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.1':
- resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.27.2':
resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==}
engines: {node: '>=18'}
@@ -1329,12 +1330,6 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.25.1':
- resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.27.2':
resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==}
engines: {node: '>=18'}
@@ -1347,12 +1342,6 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.25.1':
- resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.27.2':
resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==}
engines: {node: '>=18'}
@@ -1365,12 +1354,6 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.25.1':
- resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.27.2':
resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==}
engines: {node: '>=18'}
@@ -1383,12 +1366,6 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.25.1':
- resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.27.2':
resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==}
engines: {node: '>=18'}
@@ -1419,6 +1396,10 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -1432,9 +1413,20 @@ packages:
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
'@jridgewell/trace-mapping@0.3.30':
resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==}
+ '@mapbox/node-pre-gyp@2.0.3':
+ resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@napi-rs/wasm-runtime@1.0.7':
+ resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==}
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1447,9 +1439,231 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@opentelemetry/api-logs@0.208.0':
+ resolution: {integrity: sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/api@1.9.0':
+ resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
+ engines: {node: '>=8.0.0'}
+
+ '@opentelemetry/context-async-hooks@2.2.0':
+ resolution: {integrity: sha512-qRkLWiUEZNAmYapZ7KGS5C4OmBLcP/H2foXeOEaowYCR0wi89fHejrfYfbuLVCMLp/dWZXKvQusdbUEZjERfwQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/core@2.2.0':
+ resolution: {integrity: sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
+ '@opentelemetry/instrumentation-amqplib@0.55.0':
+ resolution: {integrity: sha512-5ULoU8p+tWcQw5PDYZn8rySptGSLZHNX/7srqo2TioPnAAcvTy6sQFQXsNPrAnyRRtYGMetXVyZUy5OaX1+IfA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-connect@0.52.0':
+ resolution: {integrity: sha512-GXPxfNB5szMbV3I9b7kNWSmQBoBzw7MT0ui6iU/p+NIzVx3a06Ri2cdQO7tG9EKb4aKSLmfX9Cw5cKxXqX6Ohg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-dataloader@0.26.0':
+ resolution: {integrity: sha512-P2BgnFfTOarZ5OKPmYfbXfDFjQ4P9WkQ1Jji7yH5/WwB6Wm/knynAoA1rxbjWcDlYupFkyT0M1j6XLzDzy0aCA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-express@0.57.0':
+ resolution: {integrity: sha512-HAdx/o58+8tSR5iW+ru4PHnEejyKrAy9fYFhlEI81o10nYxrGahnMAHWiSjhDC7UQSY3I4gjcPgSKQz4rm/asg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-fs@0.28.0':
+ resolution: {integrity: sha512-FFvg8fq53RRXVBRHZViP+EMxMR03tqzEGpuq55lHNbVPyFklSVfQBN50syPhK5UYYwaStx0eyCtHtbRreusc5g==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-generic-pool@0.52.0':
+ resolution: {integrity: sha512-ISkNcv5CM2IwvsMVL31Tl61/p2Zm2I2NAsYq5SSBgOsOndT0TjnptjufYVScCnD5ZLD1tpl4T3GEYULLYOdIdQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-graphql@0.56.0':
+ resolution: {integrity: sha512-IPvNk8AFoVzTAM0Z399t34VDmGDgwT6rIqCUug8P9oAGerl2/PEIYMPOl/rerPGu+q8gSWdmbFSjgg7PDVRd3Q==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-hapi@0.55.0':
+ resolution: {integrity: sha512-prqAkRf9e4eEpy4G3UcR32prKE8NLNlA90TdEU1UsghOTg0jUvs40Jz8LQWFEs5NbLbXHYGzB4CYVkCI8eWEVQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-http@0.208.0':
+ resolution: {integrity: sha512-rhmK46DRWEbQQB77RxmVXGyjs6783crXCnFjYQj+4tDH/Kpv9Rbg3h2kaNyp5Vz2emF1f9HOQQvZoHzwMWOFZQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-ioredis@0.56.0':
+ resolution: {integrity: sha512-XSWeqsd3rKSsT3WBz/JKJDcZD4QYElZEa0xVdX8f9dh4h4QgXhKRLorVsVkK3uXFbC2sZKAS2Ds+YolGwD83Dg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-kafkajs@0.18.0':
+ resolution: {integrity: sha512-KCL/1HnZN5zkUMgPyOxfGjLjbXjpd4odDToy+7c+UsthIzVLFf99LnfIBE8YSSrYE4+uS7OwJMhvhg3tWjqMBg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-knex@0.53.0':
+ resolution: {integrity: sha512-xngn5cH2mVXFmiT1XfQ1aHqq1m4xb5wvU6j9lSgLlihJ1bXzsO543cpDwjrZm2nMrlpddBf55w8+bfS4qDh60g==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-koa@0.57.0':
+ resolution: {integrity: sha512-3JS8PU/D5E3q295mwloU2v7c7/m+DyCqdu62BIzWt+3u9utjxC9QS7v6WmUNuoDN3RM+Q+D1Gpj13ERo+m7CGg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.9.0
+
+ '@opentelemetry/instrumentation-lru-memoizer@0.53.0':
+ resolution: {integrity: sha512-LDwWz5cPkWWr0HBIuZUjslyvijljTwmwiItpMTHujaULZCxcYE9eU44Qf/pbVC8TulT0IhZi+RoGvHKXvNhysw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongodb@0.61.0':
+ resolution: {integrity: sha512-OV3i2DSoY5M/pmLk+68xr5RvkHU8DRB3DKMzYJdwDdcxeLs62tLbkmRyqJZsYf3Ht7j11rq35pHOWLuLzXL7pQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mongoose@0.55.0':
+ resolution: {integrity: sha512-5afj0HfF6aM6Nlqgu6/PPHFk8QBfIe3+zF9FGpX76jWPS0/dujoEYn82/XcLSaW5LPUDW8sni+YeK0vTBNri+w==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql2@0.55.0':
+ resolution: {integrity: sha512-0cs8whQG55aIi20gnK8B7cco6OK6N+enNhW0p5284MvqJ5EPi+I1YlWsWXgzv/V2HFirEejkvKiI4Iw21OqDWg==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-mysql@0.54.0':
+ resolution: {integrity: sha512-bqC1YhnwAeWmRzy1/Xf9cDqxNG2d/JDkaxnqF5N6iJKN1eVWI+vg7NfDkf52/Nggp3tl1jcC++ptC61BD6738A==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-pg@0.61.0':
+ resolution: {integrity: sha512-UeV7KeTnRSM7ECHa3YscoklhUtTQPs6V6qYpG283AB7xpnPGCUCUfECFT9jFg6/iZOQTt3FHkB1wGTJCNZEvPw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-redis@0.57.0':
+ resolution: {integrity: sha512-bCxTHQFXzrU3eU1LZnOZQ3s5LURxQPDlU3/upBzlWY77qOI1GZuGofazj3jtzjctMJeBEJhNwIFEgRPBX1kp/Q==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-tedious@0.27.0':
+ resolution: {integrity: sha512-jRtyUJNZppPBjPae4ZjIQ2eqJbcRaRfJkr0lQLHFmOU/no5A6e9s1OHLd5XZyZoBJ/ymngZitanyRRA5cniseA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/instrumentation-undici@0.19.0':
+ resolution: {integrity: sha512-Pst/RhR61A2OoZQZkn6OLpdVpXp6qn3Y92wXa6umfJe9rV640r4bc6SWvw4pPN6DiQqPu2c8gnSSZPDtC6JlpQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.7.0
+
+ '@opentelemetry/instrumentation@0.208.0':
+ resolution: {integrity: sha512-Eju0L4qWcQS+oXxi6pgh7zvE2byogAkcsVv0OjHF/97iOz1N/aKE6etSGowYkie+YA1uo6DNwdSxaaNnLvcRlA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.3.0
+
+ '@opentelemetry/redis-common@0.38.2':
+ resolution: {integrity: sha512-1BCcU93iwSRZvDAgwUxC/DV4T/406SkMfxGqu5ojc3AvNI+I9GhV7v0J1HljsczuuhcnFLYqD5VmwVXfCGHzxA==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+
+ '@opentelemetry/resources@2.2.0':
+ resolution: {integrity: sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/sdk-trace-base@2.2.0':
+ resolution: {integrity: sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.3.0 <1.10.0'
+
+ '@opentelemetry/semantic-conventions@1.38.0':
+ resolution: {integrity: sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==}
+ engines: {node: '>=14'}
+
+ '@opentelemetry/sql-common@0.41.2':
+ resolution: {integrity: sha512-4mhWm3Z8z+i508zQJ7r6Xi7y4mmoJpdvH0fZPFRkWrdp5fq7hhZ2HhYokEOLkfqSMgPR4Z9EyB3DBkbKGOqZiQ==}
+ engines: {node: ^18.19.0 || >=20.6.0}
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+
+ '@oxc-project/types@0.98.0':
+ resolution: {integrity: sha512-Vzmd6FsqVuz5HQVcRC/hrx7Ujo3WEVeQP7C2UNP5uy1hUY4SQvMB+93jxkI1KRHz9a/6cni3glPOtvteN+zpsw==}
+
'@pandacss/is-valid-prop@0.41.0':
resolution: {integrity: sha512-BE6h6CsJk14ugIRrsazJtN3fcg+KDFRat1Bs93YFKH6jd4DOb1yUyVvC70jKqPVvg70zEcV8acZ7VdcU5TLu+w==}
+ '@photonjs/core@0.1.13':
+ resolution: {integrity: sha512-lAYBNK3fpCv3zX2rp980X3cBCCHkapeT8dDptQsM+lZGvWthXd1xN7PgoTCCNl9tiyxh3EIp5FzGi5d78aU1Nw==}
+ peerDependencies:
+ vite: '>=7.1'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ '@photonjs/hono@0.1.7':
+ resolution: {integrity: sha512-ZuSedHVzjiXadLvWmpMk5oIGyr2b7mrDLzX1T/TPICaN4+JPUu5F1Iam28t2lxOZCVF55zD8d1MsT3YhuEEmWQ==}
+ peerDependencies:
+ '@hono/node-server': ^1
+ vite: '>=7.1'
+ peerDependenciesMeta:
+ '@hono/node-server':
+ optional: true
+ vite:
+ optional: true
+
+ '@photonjs/runtime@0.1.10':
+ resolution: {integrity: sha512-aDWUNHkiD/dcmJn2x6Q4+Pl2I4Pa5elIFI/aSgRccIJip1Zle1Eh7s4S6s0k6uF85uD25ux4uViQFkL4QjZZuw==}
+ peerDependencies:
+ vite: '>=7.1'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ '@photonjs/srvx@0.1.7':
+ resolution: {integrity: sha512-gXuTcr/jGRcEq0ocpUi71ytF08OLFfspcXcimnbpY4CD54XxnYQQpAsA3tqvrrzkBL9ll3JbiNCWocbCLdYerg==}
+ peerDependencies:
+ vite: '>=7.1'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -1457,6 +1671,11 @@ packages:
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ '@prisma/instrumentation@6.19.0':
+ resolution: {integrity: sha512-QcuYy25pkXM8BJ37wVFBO7Zh34nyRV1GOb2n3lPkkbRYfl4hWl3PTcImP41P0KrzVXfa/45p6eVCos27x3exIg==}
+ peerDependencies:
+ '@opentelemetry/api': ^1.8
+
'@rc-component/async-validator@5.0.4':
resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==}
engines: {node: '>=14.x'}
@@ -1523,12 +1742,107 @@ packages:
react-redux:
optional: true
- '@rolldown/pluginutils@1.0.0-beta.47':
- resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==}
-
- '@rollup/rollup-android-arm-eabi@4.46.2':
- resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==}
- cpu: [arm]
+ '@rolldown/binding-android-arm64@1.0.0-beta.51':
+ resolution: {integrity: sha512-Ctn8FUXKWWQI9pWC61P1yumS9WjQtelNS9riHwV7oCkknPGaAry4o7eFx2KgoLMnI2BgFJYpW7Im8/zX3BuONg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.51':
+ resolution: {integrity: sha512-EL1aRW2Oq15ShUEkBPsDtLMO8GTqfb/ktM/dFaVzXKQiEE96Ss6nexMgfgQrg8dGnNpndFyffVDb5IdSibsu1g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.51':
+ resolution: {integrity: sha512-uGtYKlFen9pMIPvkHPWZVDtmYhMQi5g5Ddsndg1gf3atScKYKYgs5aDP4DhHeTwGXQglhfBG7lEaOIZ4UAIWww==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.51':
+ resolution: {integrity: sha512-JRoVTQtHYbZj1P07JLiuTuXjiBtIa7ag7/qgKA6CIIXnAcdl4LrOf7nfDuHPJcuRKaP5dzecMgY99itvWfmUFQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.51':
+ resolution: {integrity: sha512-BKATVnpPZ0TYBW9XfDwyd4kPGgvf964HiotIwUgpMrFOFYWqpZ+9ONNzMV4UFAYC7Hb5C2qgYQk/qj2OnAd4RQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.51':
+ resolution: {integrity: sha512-xLd7da5jkfbVsBCm1buIRdWtuXY8+hU3+6ESXY/Tk5X5DPHaifrUblhYDgmA34dQt6WyNC2kfXGgrduPEvDI6Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.51':
+ resolution: {integrity: sha512-EQFXTgHxxTzv3t5EmjUP/DfxzFYx9sMndfLsYaAY4DWF6KsK1fXGYsiupif6qPTViPC9eVmRm78q0pZU/kuIPg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.51':
+ resolution: {integrity: sha512-p5P6Xpa68w3yFaAdSzIZJbj+AfuDnMDqNSeglBXM7UlJT14Q4zwK+rV+8Mhp9MiUb4XFISZtbI/seBprhkQbiQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.51':
+ resolution: {integrity: sha512-sNVVyLa8HB8wkFipdfz1s6i0YWinwpbMWk5hO5S+XAYH2UH67YzUT13gs6wZTKg2x/3gtgXzYnHyF5wMIqoDAw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.51':
+ resolution: {integrity: sha512-e/JMTz9Q8+T3g/deEi8DK44sFWZWGKr9AOCW5e8C8SCVWzAXqYXAG7FXBWBNzWEZK0Rcwo9TQHTQ9Q0gXgdCaA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.51':
+ resolution: {integrity: sha512-We3LWqSu6J9s5Y0MK+N7fUiiu37aBGPG3Pc347EoaROuAwkCS2u9xJ5dpIyLW4B49CIbS3KaPmn4kTgPb3EyPw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.51':
+ resolution: {integrity: sha512-fj56buHRuMM+r/cb6ZYfNjNvO/0xeFybI6cTkTROJatdP4fvmQ1NS8D/Lm10FCSDEOkqIz8hK3TGpbAThbPHsA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.51':
+ resolution: {integrity: sha512-fkqEqaeEx8AySXiDm54b/RdINb3C0VovzJA3osMhZsbn6FoD73H0AOIiaVAtGr6x63hefruVKTX8irAm4Jkt2w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.51':
+ resolution: {integrity: sha512-CWuLG/HMtrVcjKGa0C4GnuxONrku89g0+CsH8nT0SNhOtREXuzwgjIXNJImpE/A/DMf9JF+1Xkrq/YRr+F/rCg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.0-beta.47':
+ resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==}
+
+ '@rolldown/pluginutils@1.0.0-beta.51':
+ resolution: {integrity: sha512-51/8cNXMrqWqX3o8DZidhwz1uYq0BhHDDSfVygAND1Skx5s1TDw3APSSxCMcFFedwgqGcx34gRouwY+m404BBQ==}
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.46.2':
+ resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==}
+ cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.46.2':
@@ -1626,6 +1940,126 @@ packages:
cpu: [x64]
os: [win32]
+ '@sentry-internal/browser-utils@10.27.0':
+ resolution: {integrity: sha512-17tO6AXP+rmVQtLJ3ROQJF2UlFmvMWp7/8RDT5x9VM0w0tY31z8Twc0gw2KA7tcDxa5AaHDUbf9heOf+R6G6ow==}
+ engines: {node: '>=18'}
+
+ '@sentry-internal/feedback@10.27.0':
+ resolution: {integrity: sha512-UecsIDJcv7VBwycge/MDvgSRxzevDdcItE1i0KSwlPz00rVVxLY9kV28PJ4I2E7r6/cIaP9BkbWegCEcv09NuA==}
+ engines: {node: '>=18'}
+
+ '@sentry-internal/replay-canvas@10.27.0':
+ resolution: {integrity: sha512-inhsRYSVBpu3BI1kZphXj6uB59baJpYdyHeIPCiTfdFNBE5tngNH0HS/aedZ1g9zICw290lwvpuyrWJqp4VBng==}
+ engines: {node: '>=18'}
+
+ '@sentry-internal/replay@10.27.0':
+ resolution: {integrity: sha512-tKSzHq1hNzB619Ssrqo25cqdQJ84R3xSSLsUWEnkGO/wcXJvpZy94gwdoS+KmH18BB1iRRRGtnMxZcUkiPSesw==}
+ engines: {node: '>=18'}
+
+ '@sentry/babel-plugin-component-annotate@4.6.1':
+ resolution: {integrity: sha512-aSIk0vgBqv7PhX6/Eov+vlI4puCE0bRXzUG5HdCsHBpAfeMkI8Hva6kSOusnzKqs8bf04hU7s3Sf0XxGTj/1AA==}
+ engines: {node: '>= 14'}
+
+ '@sentry/browser@10.27.0':
+ resolution: {integrity: sha512-G8q362DdKp9y1b5qkQEmhTFzyWTOVB0ps1rflok0N6bVA75IEmSDX1pqJsNuY3qy14VsVHYVwQBJQsNltQLS0g==}
+ engines: {node: '>=18'}
+
+ '@sentry/bundler-plugin-core@4.6.1':
+ resolution: {integrity: sha512-WPeRbnMXm927m4Kr69NTArPfI+p5/34FHftdCRI3LFPMyhZDzz6J3wLy4hzaVUgmMf10eLzmq2HGEMvpQmdynA==}
+ engines: {node: '>= 14'}
+
+ '@sentry/cli-darwin@2.58.2':
+ resolution: {integrity: sha512-MArsb3zLhA2/cbd4rTm09SmTpnEuZCoZOpuZYkrpDw1qzBVJmRFA1W1hGAQ9puzBIk/ubY3EUhhzuU3zN2uD6w==}
+ engines: {node: '>=10'}
+ os: [darwin]
+
+ '@sentry/cli-linux-arm64@2.58.2':
+ resolution: {integrity: sha512-ay3OeObnbbPrt45cjeUyQjsx5ain1laj1tRszWj37NkKu55NZSp4QCg1gGBZ0gBGhckI9nInEsmKtix00alw2g==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux, freebsd, android]
+
+ '@sentry/cli-linux-arm@2.58.2':
+ resolution: {integrity: sha512-HU9lTCzcHqCz/7Mt5n+cv+nFuJdc1hGD2h35Uo92GgxX3/IujNvOUfF+nMX9j6BXH6hUt73R5c0Ycq9+a3Parg==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux, freebsd, android]
+
+ '@sentry/cli-linux-i686@2.58.2':
+ resolution: {integrity: sha512-CN9p0nfDFsAT1tTGBbzOUGkIllwS3hygOUyTK7LIm9z+UHw5uNgNVqdM/3Vg+02ymjkjISNB3/+mqEM5osGXdA==}
+ engines: {node: '>=10'}
+ cpu: [x86, ia32]
+ os: [linux, freebsd, android]
+
+ '@sentry/cli-linux-x64@2.58.2':
+ resolution: {integrity: sha512-oX/LLfvWaJO50oBVOn4ZvG2SDWPq0MN8SV9eg5tt2nviq+Ryltfr7Rtoo+HfV+eyOlx1/ZXhq9Wm7OT3cQuz+A==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux, freebsd, android]
+
+ '@sentry/cli-win32-arm64@2.58.2':
+ resolution: {integrity: sha512-+cl3x2HPVMpoSVGVM1IDWlAEREZrrVQj4xBb0TRKII7g3hUxRsAIcsrr7+tSkie++0FuH4go/b5fGAv51OEF3w==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@sentry/cli-win32-i686@2.58.2':
+ resolution: {integrity: sha512-omFVr0FhzJ8oTJSg1Kf+gjLgzpYklY0XPfLxZ5iiMiYUKwF5uo1RJRdkUOiEAv0IqpUKnmKcmVCLaDxsWclB7Q==}
+ engines: {node: '>=10'}
+ cpu: [x86, ia32]
+ os: [win32]
+
+ '@sentry/cli-win32-x64@2.58.2':
+ resolution: {integrity: sha512-2NAFs9UxVbRztQbgJSP5i8TB9eJQ7xraciwj/93djrSMHSEbJ0vC47TME0iifgvhlHMs5vqETOKJtfbbpQAQFA==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@sentry/cli@2.58.2':
+ resolution: {integrity: sha512-U4u62V4vaTWF+o40Mih8aOpQKqKUbZQt9A3LorIJwaE3tO3XFLRI70eWtW2se1Qmy0RZ74zB14nYcFNFl2t4Rw==}
+ engines: {node: '>= 10'}
+ hasBin: true
+
+ '@sentry/core@10.27.0':
+ resolution: {integrity: sha512-Zc68kdH7tWTDtDbV1zWIbo3Jv0fHAU2NsF5aD2qamypKgfSIMSbWVxd22qZyDBkaX8gWIPm/0Sgx6aRXRBXrYQ==}
+ engines: {node: '>=18'}
+
+ '@sentry/node-core@10.27.0':
+ resolution: {integrity: sha512-Dzo1I64Psb7AkpyKVUlR9KYbl4wcN84W4Wet3xjLmVKMgrCo2uAT70V4xIacmoMH5QLZAx0nGfRy9yRCd4nzBg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.9.0
+ '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/core': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/instrumentation': '>=0.57.1 <1'
+ '@opentelemetry/resources': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/semantic-conventions': ^1.37.0
+
+ '@sentry/node@10.27.0':
+ resolution: {integrity: sha512-1cQZ4+QqV9juW64Jku1SMSz+PoZV+J59lotz4oYFvCNYzex8hRAnDKvNiKW1IVg5mEEkz98mg1fvcUtiw7GTiQ==}
+ engines: {node: '>=18'}
+
+ '@sentry/opentelemetry@10.27.0':
+ resolution: {integrity: sha512-z2vXoicuGiqlRlgL9HaYJgkin89ncMpNQy0Kje6RWyhpzLe8BRgUXlgjux7WrSrcbopDdC1OttSpZsJ/Wjk7fg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@opentelemetry/api': ^1.9.0
+ '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/core': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0
+ '@opentelemetry/semantic-conventions': ^1.37.0
+
+ '@sentry/react@10.27.0':
+ resolution: {integrity: sha512-xoIRBlO1IhLX/O9aQgVYW1F3Qhw8TdkOiZjh6mrPsnCpBLufsQ4aS1nDQi9miZuWeslW0s2zNy0ACBpICZR/sw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: ^16.14.0 || 17.x || 18.x || 19.x
+
+ '@sentry/vite-plugin@4.6.1':
+ resolution: {integrity: sha512-Qvys1y3o8/bfL3ikrHnJS9zxdjt0z3POshdBl3967UcflrTqBmnGNkcVk53SlmtJWIfh85fgmrLvGYwZ2YiqNg==}
+ engines: {node: '>= 14'}
+
'@simple-libs/child-process-utils@1.0.1':
resolution: {integrity: sha512-3nWd8irxvDI6v856wpPCHZ+08iQR0oHTZfzAZmnbsLzf+Sf1odraP6uKOHDZToXq3RPRV/LbqGVlSCogm9cJjg==}
engines: {node: '>=18'}
@@ -1662,6 +2096,9 @@ packages:
react: ^18.0.0
react-dom: ^18.0.0
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
@@ -1680,12 +2117,18 @@ packages:
'@types/chai@5.2.2':
resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
'@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/mysql@2.15.27':
+ resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==}
+
'@types/node@22.15.34':
resolution: {integrity: sha512-8Y6E5WUupYy1Dd0II32BsWAx5MWdcnRd8L84Oys3veg1YrYtNtzgO4CFhiBg6MDSjk7Ay36HYOnU7/tuOzIzcw==}
@@ -1698,6 +2141,12 @@ packages:
'@types/parse-json@4.0.2':
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ '@types/pg-pool@2.0.6':
+ resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==}
+
+ '@types/pg@8.15.6':
+ resolution: {integrity: sha512-NoaMtzhxOrubeL/7UZuNTrejB4MPAJ0RpxZqXQf2qXuVlTPuG6Y8p4u9dKRaue4yjmC7ZhzVO2/Yyyn25znrPQ==}
+
'@types/react-dom@18.3.5':
resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
peerDependencies:
@@ -1714,9 +2163,67 @@ packages:
'@types/stylis@4.2.5':
resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
+ '@types/tedious@4.0.14':
+ resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
+
'@types/use-sync-external-store@0.0.6':
resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
+ '@universal-middleware/cloudflare@0.4.10':
+ resolution: {integrity: sha512-ZY+N0KKoH+H+BB3wsaD5yqTiiFtX7uklPyCBqGLqEijOtZA5ZgFIExfWDjiIUjezUBAbRB8kUZ/WlPITY+hyTg==}
+
+ '@universal-middleware/compress@0.2.34':
+ resolution: {integrity: sha512-zpLaiHHEfx1ouahZ+NKc5UScsiRAsEn+wiwWMH55JAEeUQ73zymw3e1kZg45Tr/oQh8X3PL0YrRKXDdc5Lt8WA==}
+
+ '@universal-middleware/core@0.4.13':
+ resolution: {integrity: sha512-k2zv5/zLWPUBxIZp/QTxkiVkG4EyqO+X6ABszBKg8ZmZpTp5ljd8uiIWdnMpSDDIN72R99RxtaMi0/vXNB75/w==}
+ peerDependencies:
+ '@cloudflare/workers-types': ^4.20251014.0
+ '@hattip/core': ^0.0.49
+ '@types/express': ^4 || ^5
+ '@webroute/route': ^0.8.0
+ elysia: ^1.4.11
+ fastify: ^5.6.1
+ h3: ^1.15.4
+ hono: ^4.10.2
+ srvx: ^0.8 || ^0.9
+ peerDependenciesMeta:
+ '@cloudflare/workers-types':
+ optional: true
+ '@hattip/core':
+ optional: true
+ '@types/express':
+ optional: true
+ '@webroute/route':
+ optional: true
+ elysia:
+ optional: true
+ fastify:
+ optional: true
+ h3:
+ optional: true
+ hono:
+ optional: true
+ srvx:
+ optional: true
+
+ '@universal-middleware/express@0.4.22':
+ resolution: {integrity: sha512-4aIrnK52NJmYKokZnwpWja/vT2m/HoZ8zxQyYLdokkSQdx0B1k1VsmYGeWENvpDQBgLjnfyvDzyaxch6Tib/hA==}
+
+ '@universal-middleware/hono@0.4.17':
+ resolution: {integrity: sha512-NKO42xEv4oQ/fvMg4NN3je+bhBymIHi5mFWjyxAtb5ewbtkCZs9eb+aBNO+Ai1FEy2jQpkBEJMvclW5eohFw9g==}
+
+ '@universal-middleware/sirv@0.1.24':
+ resolution: {integrity: sha512-BshKQ6hsb3mbgIyFguyf6QEjqAFGW2KGLd3j/N1aK2b1bicD2elsWOD5UYSb0b84VHglGmISqOu30FbfMWhMgg==}
+
+ '@universal-middleware/srvx@0.1.1':
+ resolution: {integrity: sha512-nTy4BZvaEI+rFO8sWEVvZrZWwFuqEXlXPNvIBAfl16+nKcorwiwm1x+qzuDrSqLd/kr5LSsGR3/KenTvESS9dQ==}
+
+ '@vercel/nft@0.30.4':
+ resolution: {integrity: sha512-wE6eAGSXScra60N2l6jWvNtVK0m+sh873CpfZW4KI2v8EHuUQp+mSEi4T+IcdPCSEDgCdAS/7bizbhQlkjzrSA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
'@vitejs/plugin-react@5.1.1':
resolution: {integrity: sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1969,11 +2476,29 @@ packages:
'@zag-js/utils@0.82.2':
resolution: {integrity: sha512-tN87VEEoo240O2CzQdHvtBVPF8hHqLdpNzDT+obNIQrRj4wbNQ5Ze3Zwrd6/SoBe7ImKgkwbAlgu4k5+v9sDcA==}
+ abbrev@3.0.1:
+ resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+ peerDependencies:
+ acorn: ^8
+
acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
agent-base@7.1.3:
resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
engines: {node: '>= 14'}
@@ -2004,6 +2529,10 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
aria-query@5.1.3:
resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
@@ -2021,6 +2550,9 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
@@ -2035,6 +2567,13 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
@@ -2095,6 +2634,17 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
+ cjs-module-lexer@1.4.3:
+ resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
classnames@2.5.1:
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
@@ -2122,6 +2672,13 @@ packages:
compute-scroll-into-view@3.1.1:
resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
conventional-changelog-angular@8.0.0:
resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==}
engines: {node: '>=18'}
@@ -2230,6 +2787,10 @@ packages:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
devalue@4.3.3:
resolution: {integrity: sha512-UH8EL6H2ifcY8TbD2QsxwCC/pr5xSwPvv85LrLXVihmHVC3T3YqTCIwnR5ak0yO1KYqlxrPVOA/JVZJYPy2ATg==}
@@ -2240,6 +2801,10 @@ packages:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
engines: {node: '>=8'}
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -2290,11 +2855,6 @@ packages:
engines: {node: '>=18'}
hasBin: true
- esbuild@0.25.1:
- resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.27.2:
resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
engines: {node: '>=18'}
@@ -2308,6 +2868,9 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
@@ -2319,6 +2882,9 @@ packages:
resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==}
engines: {node: '>=12.0.0'}
+ exsolve@1.0.8:
+ resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
+
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
@@ -2345,6 +2911,9 @@ packages:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
+ file-uri-to-path@1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -2352,6 +2921,10 @@ packages:
find-root@1.1.0:
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
@@ -2368,6 +2941,9 @@ packages:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
+ forwarded-parse@2.1.2:
+ resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==}
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -2406,10 +2982,17 @@ packages:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
+ glob@10.5.0:
+ resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==}
+ hasBin: true
+
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
graphql-tag@2.12.6:
resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==}
engines: {node: '>=10'}
@@ -2451,6 +3034,10 @@ packages:
hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ hono@4.10.7:
+ resolution: {integrity: sha512-icXIITfw/07Q88nLSkB9aiUrd8rYzSweK681Kjo/TSggaGbOX4RRyxxm71v+3PC8C/j+4rlxGeoTRxQDkaJkUw==}
+ engines: {node: '>=16.9.0'}
+
hosted-git-info@8.1.0:
resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -2463,6 +3050,10 @@ packages:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
https-proxy-agent@7.0.6:
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
@@ -2482,6 +3073,9 @@ packages:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
+ import-in-the-middle@2.0.0:
+ resolution: {integrity: sha512-yNZhyQYqXpkT0AKq3F3KLasUSK4fHvebNH5hOsKQw2dhGSALvQ4U0BqUc5suziKvydO5u5hgN2hy1RJaho8U5A==}
+
internal-slot@1.1.0:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
@@ -2501,6 +3095,10 @@ packages:
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
engines: {node: '>= 0.4'}
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
is-boolean-object@1.2.2:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
@@ -2627,6 +3225,10 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
@@ -2650,6 +3252,13 @@ packages:
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ magic-string@0.30.8:
+ resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
+ engines: {node: '>=12'}
+
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -2692,6 +3301,13 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@3.1.0:
+ resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
+ engines: {node: '>= 18'}
+
+ module-details-from-path@1.0.4:
+ resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==}
+
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
@@ -2712,17 +3328,39 @@ packages:
engines: {node: '>=10.5.0'}
deprecated: Use your platform's native DOMException instead
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
node-fetch@3.3.2:
resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ node-gyp-build@4.8.4:
+ resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
+ hasBin: true
+
node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+ nopt@8.1.0:
+ resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+ hasBin: true
+
normalize-package-data@7.0.0:
resolution: {integrity: sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==}
engines: {node: ^18.17.0 || >=20.5.0}
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -2757,6 +3395,14 @@ packages:
optimism@0.18.1:
resolution: {integrity: sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==}
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
@@ -2771,6 +3417,10 @@ packages:
parse5@7.2.1:
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -2799,6 +3449,17 @@ packages:
perfect-freehand@1.2.2:
resolution: {integrity: sha512-eh31l019WICQ03pkF3FSzHxB8n07ItqIQ++G5UV8JX0zVOXzgTGCqnRR0jJ2h9U8/2uW4W4mtGJELt9kEV0CFQ==}
+ pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ pg-protocol@1.10.3:
+ resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==}
+
+ pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -2814,6 +3475,9 @@ packages:
resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==}
hasBin: true
+ pkg-types@2.3.0:
+ resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
+
playwright-chromium@1.57.0:
resolution: {integrity: sha512-GCVVTbmIDrZuBxWYoQ70rehRXMb3Q7ccENe63a+rGTWwypeVAgh/DD5o5QQ898oer5pdIv3vGINUlEkHtOZQEw==}
engines: {node: '>=18'}
@@ -2843,6 +3507,22 @@ packages:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
+ postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+
+ postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+
prettier@3.5.3:
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
engines: {node: '>=14'}
@@ -2852,12 +3532,19 @@ packages:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
+
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
proxy-compare@3.0.1:
resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==}
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
proxy-memoize@3.0.1:
resolution: {integrity: sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g==}
@@ -3147,6 +3834,10 @@ packages:
resolution: {integrity: sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==}
engines: {node: '>=0.10.0'}
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
redux-thunk@3.1.0:
resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==}
peerDependencies:
@@ -3162,6 +3853,10 @@ packages:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
+ regexparam@3.0.0:
+ resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==}
+ engines: {node: '>=8'}
+
rehackt@0.1.0:
resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==}
peerDependencies:
@@ -3173,6 +3868,10 @@ packages:
react:
optional: true
+ require-in-the-middle@8.0.1:
+ resolution: {integrity: sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==}
+ engines: {node: '>=9.3.0 || >=8.10.0 <9.0.0'}
+
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
@@ -3186,6 +3885,10 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
resolve@1.22.10:
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
engines: {node: '>= 0.4'}
@@ -3199,6 +3902,11 @@ packages:
resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
hasBin: true
+ rolldown@1.0.0-beta.51:
+ resolution: {integrity: sha512-ZRLgPlS91l4JztLYEZnmMcd3Umcla1hkXJgiEiR4HloRJBBoeaX8qogTu5Jfu36rRMVLndzqYv0h+M5gJAkUfg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup@4.46.2:
resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -3315,9 +4023,17 @@ packages:
spdx-license-ids@3.0.21:
resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
+ srvx@0.9.6:
+ resolution: {integrity: sha512-5L4rT6qQqqb+xcoDoklUgCNdmzqJ6vbcDRwPVGRXewF55IJH0pqh0lQlrJ266ZWTKJ4mfeioqHQJeAYesS+RrQ==}
+ engines: {node: '>=20.16.0'}
+ hasBin: true
+
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ standaloner@0.1.11:
+ resolution: {integrity: sha512-JeLFj5rKTmy3UJj7/oGUVnmFaBIWmJQVP5Hv3s2D6Ju8kVPZYbGxOhMQS45QiEr2V0ngI83d/Vv4Zh62Ojs/rQ==}
+
std-env@3.9.0:
resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
@@ -3395,6 +4111,10 @@ packages:
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ tar@7.5.2:
+ resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==}
+ engines: {node: '>=18'}
+
throttle-debounce@5.0.2:
resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==}
engines: {node: '>=12.22'}
@@ -3421,6 +4141,13 @@ packages:
resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
engines: {node: '>=14.0.0'}
+ tldts-core@7.0.19:
+ resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==}
+
+ tldts@7.0.19:
+ resolution: {integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==}
+ hasBin: true
+
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -3436,10 +4163,21 @@ packages:
resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
engines: {node: '>=6'}
+ tough-cookie@6.0.0:
+ resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==}
+ engines: {node: '>=16'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
tr46@5.1.0:
resolution: {integrity: sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==}
engines: {node: '>=18'}
+ ts-deepmerge@7.0.3:
+ resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==}
+ engines: {node: '>=14.13.1'}
+
ts-invariant@0.10.3:
resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==}
engines: {node: '>=8'}
@@ -3474,6 +4212,9 @@ packages:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
+ unplugin@1.0.1:
+ resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==}
+
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
@@ -3494,20 +4235,44 @@ packages:
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
- vike@0.4.249:
- resolution: {integrity: sha512-ZQpfmIclLCCLD9dsjTOwoczdjHJ7JrGww4b4vg3FpfrFZcSoNcrEtrwgbSqw9lMuYnkbfXPKFxwOf8VVp9Uftw==}
- engines: {node: '>=20.19.0'}
- hasBin: true
+ vike-photon@0.1.23:
+ resolution: {integrity: sha512-QKIKj3AoG9W8jVGlMZTL9cZVvphfGWa9OWXROTTUp90dm8aMv9rU7OWCwz7kPqhKUI2QmUKGhWjgqOESun9ULg==}
peerDependencies:
- react-streaming: '>=0.3.42'
- vite: '>=6.3.0'
+ '@photonjs/cloudflare': '>=0.0.9'
+ '@photonjs/core': ^0.1.0
+ '@photonjs/runtime': ^0.1.0
+ '@photonjs/vercel': ^0.1.1
+ vike: 0.4.252-commit-7f781cf
+ vite: '>=7.1'
peerDependenciesMeta:
- react-streaming:
+ '@photonjs/cloudflare':
+ optional: true
+ '@photonjs/vercel':
optional: true
vite:
optional: true
- vite-node@3.2.4:
+ vike-react@0.6.10:
+ resolution: {integrity: sha512-LzV3ZuFovlzkaWiXO9PQeiW56szVo5rM4h8UJeb58dUpAVzcjxvDoM0Q+2vinJisVrml5Wp+DjN0qWQHUu5UQQ==}
+ peerDependencies:
+ react: '>=19'
+ react-dom: '>=19'
+ vike: 0.4.252-commit-7f781cf
+
+ vike@0.4.252-commit-7f781cf:
+ resolution: {integrity: sha512-EruDmaMPSdSOsos3VZ8HhMYQd88ZP3afks6rKsnx4fV4wfpMpDyXYc9FYOmAzHCwkwaIXEZevku/aa67K5ZQxg==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ react-streaming: '>=0.3.42'
+ vite: '>=6.3.0'
+ peerDependenciesMeta:
+ react-streaming:
+ optional: true
+ vite:
+ optional: true
+
+ vite-node@3.2.4:
resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
@@ -3591,10 +4356,20 @@ packages:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
engines: {node: '>= 8'}
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
+ webpack-sources@3.3.3:
+ resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.5.0:
+ resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+
whatwg-encoding@3.1.1:
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
engines: {node: '>=18'}
@@ -3607,6 +4382,9 @@ packages:
resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
engines: {node: '>=18'}
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
which-boxed-primitive@1.1.1:
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
engines: {node: '>= 0.4'}
@@ -3659,19 +4437,34 @@ packages:
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
+
yaml@1.10.2:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
zen-observable-ts@1.2.5:
resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==}
zen-observable@0.8.15:
resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==}
+ zod@4.1.13:
+ resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==}
+
zustand@5.0.8:
resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==}
engines: {node: '>=12.20.0'}
@@ -3741,6 +4534,16 @@ snapshots:
resize-observer-polyfill: 1.5.1
throttle-debounce: 5.0.2
+ '@apm-js-collab/code-transformer@0.8.2': {}
+
+ '@apm-js-collab/tracing-hooks@0.3.1':
+ dependencies:
+ '@apm-js-collab/code-transformer': 0.8.2
+ debug: 4.4.1
+ module-details-from-path: 1.0.4
+ transitivePeerDependencies:
+ - supports-color
+
'@apollo/client-react-streaming@0.11.11(@apollo/client@3.13.5(@types/react@19.2.7)(graphql@16.10.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(graphql@16.10.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@apollo/client': 3.13.5(@types/react@19.2.7)(graphql@16.10.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -3996,6 +4799,8 @@ snapshots:
'@brillout/picocolors@1.0.29': {}
+ '@brillout/picocolors@1.0.30': {}
+
'@brillout/release-me@0.4.12(conventional-commits-filter@5.0.0)':
dependencies:
'@brillout/picocolors': 1.0.29
@@ -4034,6 +4839,11 @@ snapshots:
'@brillout/import': 0.2.6
'@brillout/picocolors': 1.0.29
+ '@brillout/vite-plugin-server-entry@0.7.17':
+ dependencies:
+ '@brillout/import': 0.2.6
+ '@brillout/picocolors': 1.0.30
+
'@chakra-ui/react@3.13.0(@emotion/react@11.14.0(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@ark-ui/react': 4.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -4077,6 +4887,22 @@ snapshots:
'@csstools/css-tokenizer@3.0.3': {}
+ '@emnapi/core@1.7.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.7.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emotion/babel-plugin@11.13.5':
dependencies:
'@babel/helper-module-imports': 7.27.1
@@ -4160,186 +4986,123 @@ snapshots:
'@esbuild/aix-ppc64@0.23.1':
optional: true
- '@esbuild/aix-ppc64@0.25.1':
- optional: true
-
'@esbuild/aix-ppc64@0.27.2':
optional: true
'@esbuild/android-arm64@0.23.1':
optional: true
- '@esbuild/android-arm64@0.25.1':
- optional: true
-
'@esbuild/android-arm64@0.27.2':
optional: true
'@esbuild/android-arm@0.23.1':
optional: true
- '@esbuild/android-arm@0.25.1':
- optional: true
-
'@esbuild/android-arm@0.27.2':
optional: true
'@esbuild/android-x64@0.23.1':
optional: true
- '@esbuild/android-x64@0.25.1':
- optional: true
-
'@esbuild/android-x64@0.27.2':
optional: true
'@esbuild/darwin-arm64@0.23.1':
optional: true
- '@esbuild/darwin-arm64@0.25.1':
- optional: true
-
'@esbuild/darwin-arm64@0.27.2':
optional: true
'@esbuild/darwin-x64@0.23.1':
optional: true
- '@esbuild/darwin-x64@0.25.1':
- optional: true
-
'@esbuild/darwin-x64@0.27.2':
optional: true
'@esbuild/freebsd-arm64@0.23.1':
optional: true
- '@esbuild/freebsd-arm64@0.25.1':
- optional: true
-
'@esbuild/freebsd-arm64@0.27.2':
optional: true
'@esbuild/freebsd-x64@0.23.1':
optional: true
- '@esbuild/freebsd-x64@0.25.1':
- optional: true
-
'@esbuild/freebsd-x64@0.27.2':
optional: true
'@esbuild/linux-arm64@0.23.1':
optional: true
- '@esbuild/linux-arm64@0.25.1':
- optional: true
-
'@esbuild/linux-arm64@0.27.2':
optional: true
'@esbuild/linux-arm@0.23.1':
optional: true
- '@esbuild/linux-arm@0.25.1':
- optional: true
-
'@esbuild/linux-arm@0.27.2':
optional: true
'@esbuild/linux-ia32@0.23.1':
optional: true
- '@esbuild/linux-ia32@0.25.1':
- optional: true
-
'@esbuild/linux-ia32@0.27.2':
optional: true
'@esbuild/linux-loong64@0.23.1':
optional: true
- '@esbuild/linux-loong64@0.25.1':
- optional: true
-
'@esbuild/linux-loong64@0.27.2':
optional: true
'@esbuild/linux-mips64el@0.23.1':
optional: true
- '@esbuild/linux-mips64el@0.25.1':
- optional: true
-
'@esbuild/linux-mips64el@0.27.2':
optional: true
'@esbuild/linux-ppc64@0.23.1':
optional: true
- '@esbuild/linux-ppc64@0.25.1':
- optional: true
-
'@esbuild/linux-ppc64@0.27.2':
optional: true
'@esbuild/linux-riscv64@0.23.1':
optional: true
- '@esbuild/linux-riscv64@0.25.1':
- optional: true
-
'@esbuild/linux-riscv64@0.27.2':
optional: true
'@esbuild/linux-s390x@0.23.1':
optional: true
- '@esbuild/linux-s390x@0.25.1':
- optional: true
-
'@esbuild/linux-s390x@0.27.2':
optional: true
'@esbuild/linux-x64@0.23.1':
optional: true
- '@esbuild/linux-x64@0.25.1':
- optional: true
-
'@esbuild/linux-x64@0.27.2':
optional: true
- '@esbuild/netbsd-arm64@0.25.1':
- optional: true
-
'@esbuild/netbsd-arm64@0.27.2':
optional: true
'@esbuild/netbsd-x64@0.23.1':
optional: true
- '@esbuild/netbsd-x64@0.25.1':
- optional: true
-
'@esbuild/netbsd-x64@0.27.2':
optional: true
'@esbuild/openbsd-arm64@0.23.1':
optional: true
- '@esbuild/openbsd-arm64@0.25.1':
- optional: true
-
'@esbuild/openbsd-arm64@0.27.2':
optional: true
'@esbuild/openbsd-x64@0.23.1':
optional: true
- '@esbuild/openbsd-x64@0.25.1':
- optional: true
-
'@esbuild/openbsd-x64@0.27.2':
optional: true
@@ -4349,36 +5112,24 @@ snapshots:
'@esbuild/sunos-x64@0.23.1':
optional: true
- '@esbuild/sunos-x64@0.25.1':
- optional: true
-
'@esbuild/sunos-x64@0.27.2':
optional: true
'@esbuild/win32-arm64@0.23.1':
optional: true
- '@esbuild/win32-arm64@0.25.1':
- optional: true
-
'@esbuild/win32-arm64@0.27.2':
optional: true
'@esbuild/win32-ia32@0.23.1':
optional: true
- '@esbuild/win32-ia32@0.25.1':
- optional: true
-
'@esbuild/win32-ia32@0.27.2':
optional: true
'@esbuild/win32-x64@0.23.1':
optional: true
- '@esbuild/win32-x64@0.25.1':
- optional: true
-
'@esbuild/win32-x64@0.27.2':
optional: true
@@ -4414,6 +5165,10 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@isaacs/fs-minipass@4.0.1':
+ dependencies:
+ minipass: 7.1.2
+
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -4428,11 +5183,33 @@ snapshots:
'@jridgewell/sourcemap-codec@1.5.0': {}
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
'@jridgewell/trace-mapping@0.3.30':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
+ '@mapbox/node-pre-gyp@2.0.3':
+ dependencies:
+ consola: 3.4.2
+ detect-libc: 2.1.2
+ https-proxy-agent: 7.0.6
+ node-fetch: 2.7.0
+ nopt: 8.1.0
+ semver: 7.7.1
+ tar: 7.5.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ '@napi-rs/wasm-runtime@1.0.7':
+ dependencies:
+ '@emnapi/core': 1.7.1
+ '@emnapi/runtime': 1.7.1
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -4445,13 +5222,334 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.19.1
+ '@opentelemetry/api-logs@0.208.0':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/api@1.9.0': {}
+
+ '@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+
+ '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/semantic-conventions': 1.38.0
+
+ '@opentelemetry/instrumentation-amqplib@0.55.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-connect@0.52.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@types/connect': 3.4.38
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-dataloader@0.26.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-express@0.57.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-fs@0.28.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-generic-pool@0.52.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-graphql@0.56.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-hapi@0.55.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-http@0.208.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ forwarded-parse: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-ioredis@0.56.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/redis-common': 0.38.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-kafkajs@0.18.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-knex@0.53.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-koa@0.57.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-lru-memoizer@0.53.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-mongodb@0.61.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-mongoose@0.55.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-mysql2@0.55.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-mysql@0.54.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@types/mysql': 2.15.27
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-pg@0.61.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0)
+ '@types/pg': 8.15.6
+ '@types/pg-pool': 2.0.6
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-redis@0.57.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/redis-common': 0.38.2
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-tedious@0.27.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@types/tedious': 4.0.14
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation-undici@0.19.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/api-logs': 0.208.0
+ import-in-the-middle: 2.0.0
+ require-in-the-middle: 8.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@opentelemetry/redis-common@0.38.2': {}
+
+ '@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+
+ '@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+
+ '@opentelemetry/semantic-conventions@1.38.0': {}
+
+ '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+
+ '@oxc-project/types@0.98.0': {}
+
'@pandacss/is-valid-prop@0.41.0': {}
+ '@photonjs/core@0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))':
+ dependencies:
+ '@brillout/vite-plugin-server-entry': 0.7.15
+ '@universal-middleware/cloudflare': 0.4.10(hono@4.10.7)(srvx@0.9.6)
+ '@universal-middleware/compress': 0.2.34
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ '@universal-middleware/express': 0.4.22(hono@4.10.7)(srvx@0.9.6)
+ '@universal-middleware/sirv': 0.1.24
+ estree-walker: 3.0.3
+ ts-deepmerge: 7.0.3
+ zod: 4.1.13
+ optionalDependencies:
+ vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@photonjs/hono@0.1.7(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))':
+ dependencies:
+ '@photonjs/core': 0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@universal-middleware/hono': 0.4.17(hono@4.10.7)(srvx@0.9.6)
+ optionalDependencies:
+ vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@photonjs/runtime@0.1.10(hono@4.10.7)(rollup@4.46.2)(vite@7.3.0(@types/node@24.0.8))':
+ dependencies:
+ '@photonjs/core': 0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@photonjs/srvx': 0.1.7(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ '@universal-middleware/sirv': 0.1.24
+ srvx: 0.9.6
+ standaloner: 0.1.11(rollup@4.46.2)
+ optionalDependencies:
+ vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - encoding
+ - fastify
+ - h3
+ - hono
+ - rollup
+ - supports-color
+
+ '@photonjs/srvx@0.1.7(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))':
+ dependencies:
+ '@photonjs/core': 0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@universal-middleware/srvx': 0.1.1(hono@4.10.7)(srvx@0.9.6)
+ optionalDependencies:
+ vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
'@pkgjs/parseargs@0.11.0':
optional: true
'@polka/url@1.0.0-next.28': {}
+ '@prisma/instrumentation@6.19.0(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ transitivePeerDependencies:
+ - supports-color
+
'@rc-component/async-validator@5.0.4':
dependencies:
'@babel/runtime': 7.26.10
@@ -4530,10 +5628,64 @@ snapshots:
redux-thunk: 3.1.0(redux@5.0.1)
reselect: 5.1.1
optionalDependencies:
- react: 19.2.1
- react-redux: 9.2.0(@types/react@19.2.7)(react@19.2.1)(redux@5.0.1)
-
- '@rolldown/pluginutils@1.0.0-beta.47': {}
+ react: 19.2.1
+ react-redux: 9.2.0(@types/react@19.2.7)(react@19.2.1)(redux@5.0.1)
+
+ '@rolldown/binding-android-arm64@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.51':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.7
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.51':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.0-beta.47': {}
+
+ '@rolldown/pluginutils@1.0.0-beta.51': {}
+
+ '@rollup/pluginutils@5.3.0(rollup@4.46.2)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.46.2
'@rollup/rollup-android-arm-eabi@4.46.2':
optional: true
@@ -4595,6 +5747,174 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.46.2':
optional: true
+ '@sentry-internal/browser-utils@10.27.0':
+ dependencies:
+ '@sentry/core': 10.27.0
+
+ '@sentry-internal/feedback@10.27.0':
+ dependencies:
+ '@sentry/core': 10.27.0
+
+ '@sentry-internal/replay-canvas@10.27.0':
+ dependencies:
+ '@sentry-internal/replay': 10.27.0
+ '@sentry/core': 10.27.0
+
+ '@sentry-internal/replay@10.27.0':
+ dependencies:
+ '@sentry-internal/browser-utils': 10.27.0
+ '@sentry/core': 10.27.0
+
+ '@sentry/babel-plugin-component-annotate@4.6.1': {}
+
+ '@sentry/browser@10.27.0':
+ dependencies:
+ '@sentry-internal/browser-utils': 10.27.0
+ '@sentry-internal/feedback': 10.27.0
+ '@sentry-internal/replay': 10.27.0
+ '@sentry-internal/replay-canvas': 10.27.0
+ '@sentry/core': 10.27.0
+
+ '@sentry/bundler-plugin-core@4.6.1':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@sentry/babel-plugin-component-annotate': 4.6.1
+ '@sentry/cli': 2.58.2
+ dotenv: 16.6.1
+ find-up: 5.0.0
+ glob: 10.5.0
+ magic-string: 0.30.8
+ unplugin: 1.0.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ '@sentry/cli-darwin@2.58.2':
+ optional: true
+
+ '@sentry/cli-linux-arm64@2.58.2':
+ optional: true
+
+ '@sentry/cli-linux-arm@2.58.2':
+ optional: true
+
+ '@sentry/cli-linux-i686@2.58.2':
+ optional: true
+
+ '@sentry/cli-linux-x64@2.58.2':
+ optional: true
+
+ '@sentry/cli-win32-arm64@2.58.2':
+ optional: true
+
+ '@sentry/cli-win32-i686@2.58.2':
+ optional: true
+
+ '@sentry/cli-win32-x64@2.58.2':
+ optional: true
+
+ '@sentry/cli@2.58.2':
+ dependencies:
+ https-proxy-agent: 5.0.1
+ node-fetch: 2.7.0
+ progress: 2.0.3
+ proxy-from-env: 1.1.0
+ which: 2.0.2
+ optionalDependencies:
+ '@sentry/cli-darwin': 2.58.2
+ '@sentry/cli-linux-arm': 2.58.2
+ '@sentry/cli-linux-arm64': 2.58.2
+ '@sentry/cli-linux-i686': 2.58.2
+ '@sentry/cli-linux-x64': 2.58.2
+ '@sentry/cli-win32-arm64': 2.58.2
+ '@sentry/cli-win32-i686': 2.58.2
+ '@sentry/cli-win32-x64': 2.58.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+ '@sentry/core@10.27.0': {}
+
+ '@sentry/node-core@10.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.38.0)':
+ dependencies:
+ '@apm-js-collab/tracing-hooks': 0.3.1
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@sentry/core': 10.27.0
+ '@sentry/opentelemetry': 10.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.38.0)
+ import-in-the-middle: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@sentry/node@10.27.0':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-amqplib': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-connect': 0.52.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-dataloader': 0.26.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-express': 0.57.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-fs': 0.28.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-generic-pool': 0.52.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-graphql': 0.56.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-hapi': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-http': 0.208.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-ioredis': 0.56.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-kafkajs': 0.18.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-knex': 0.53.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-koa': 0.57.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-lru-memoizer': 0.53.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mongodb': 0.61.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mongoose': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mysql': 0.54.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-mysql2': 0.55.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-pg': 0.61.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-redis': 0.57.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-tedious': 0.27.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/instrumentation-undici': 0.19.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@prisma/instrumentation': 6.19.0(@opentelemetry/api@1.9.0)
+ '@sentry/core': 10.27.0
+ '@sentry/node-core': 10.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.38.0)
+ '@sentry/opentelemetry': 10.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.38.0)
+ import-in-the-middle: 2.0.0
+ minimatch: 9.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@sentry/opentelemetry@10.27.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.38.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0)
+ '@opentelemetry/semantic-conventions': 1.38.0
+ '@sentry/core': 10.27.0
+
+ '@sentry/react@10.27.0(react@19.2.1)':
+ dependencies:
+ '@sentry/browser': 10.27.0
+ '@sentry/core': 10.27.0
+ hoist-non-react-statics: 3.3.2
+ react: 19.2.1
+
+ '@sentry/vite-plugin@4.6.1':
+ dependencies:
+ '@sentry/bundler-plugin-core': 4.6.1
+ unplugin: 1.0.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
'@simple-libs/child-process-utils@1.0.1':
dependencies:
'@simple-libs/stream-utils': 1.1.0
@@ -4639,6 +5959,11 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/aria-query@5.0.4': {}
'@types/babel__core@7.20.5':
@@ -4666,10 +5991,18 @@ snapshots:
dependencies:
'@types/deep-eql': 4.0.2
+ '@types/connect@3.4.38':
+ dependencies:
+ '@types/node': 24.0.8
+
'@types/deep-eql@4.0.2': {}
'@types/estree@1.0.8': {}
+ '@types/mysql@2.15.27':
+ dependencies:
+ '@types/node': 24.0.8
+
'@types/node@22.15.34':
dependencies:
undici-types: 6.21.0
@@ -4682,6 +6015,16 @@ snapshots:
'@types/parse-json@4.0.2': {}
+ '@types/pg-pool@2.0.6':
+ dependencies:
+ '@types/pg': 8.15.6
+
+ '@types/pg@8.15.6':
+ dependencies:
+ '@types/node': 24.0.8
+ pg-protocol: 1.10.3
+ pg-types: 2.2.0
+
'@types/react-dom@18.3.5(@types/react@19.2.7)':
dependencies:
'@types/react': 19.2.7
@@ -4696,8 +6039,102 @@ snapshots:
'@types/stylis@4.2.5': {}
+ '@types/tedious@4.0.14':
+ dependencies:
+ '@types/node': 24.0.8
+
'@types/use-sync-external-store@0.0.6': {}
+ '@universal-middleware/cloudflare@0.4.10(hono@4.10.7)(srvx@0.9.6)':
+ dependencies:
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@universal-middleware/compress@0.2.34': {}
+
+ '@universal-middleware/core@0.4.13(hono@4.10.7)(srvx@0.9.6)':
+ dependencies:
+ regexparam: 3.0.0
+ tough-cookie: 6.0.0
+ optionalDependencies:
+ hono: 4.10.7
+ srvx: 0.9.6
+
+ '@universal-middleware/express@0.4.22(hono@4.10.7)(srvx@0.9.6)':
+ dependencies:
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@universal-middleware/hono@0.4.17(hono@4.10.7)(srvx@0.9.6)':
+ dependencies:
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@universal-middleware/sirv@0.1.24':
+ dependencies:
+ mrmime: 2.0.1
+ totalist: 3.0.1
+
+ '@universal-middleware/srvx@0.1.1(hono@4.10.7)(srvx@0.9.6)':
+ dependencies:
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - fastify
+ - h3
+ - hono
+ - srvx
+
+ '@vercel/nft@0.30.4(rollup@4.46.2)':
+ dependencies:
+ '@mapbox/node-pre-gyp': 2.0.3
+ '@rollup/pluginutils': 5.3.0(rollup@4.46.2)
+ acorn: 8.15.0
+ acorn-import-attributes: 1.9.5(acorn@8.15.0)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+ glob: 10.5.0
+ graceful-fs: 4.2.11
+ node-gyp-build: 4.8.4
+ picomatch: 4.0.3
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - rollup
+ - supports-color
+
'@vitejs/plugin-react@5.1.1(vite@7.3.0(@types/node@24.0.8))':
dependencies:
'@babel/core': 7.28.5
@@ -5225,8 +6662,26 @@ snapshots:
'@zag-js/utils@0.82.2': {}
+ abbrev@3.0.1: {}
+
+ acorn-import-attributes@1.9.5(acorn@8.14.1):
+ dependencies:
+ acorn: 8.14.1
+
+ acorn-import-attributes@1.9.5(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
acorn@8.14.1: {}
+ acorn@8.15.0: {}
+
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
agent-base@7.1.3: {}
ansi-regex@5.0.1: {}
@@ -5299,6 +6754,11 @@ snapshots:
- luxon
- moment
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
aria-query@5.1.3:
dependencies:
deep-equal: 2.2.3
@@ -5314,6 +6774,8 @@ snapshots:
assertion-error@2.0.1: {}
+ async-sema@3.1.1: {}
+
asynckit@0.4.0: {}
available-typed-arrays@1.0.7:
@@ -5328,6 +6790,12 @@ snapshots:
balanced-match@1.0.2: {}
+ binary-extensions@2.3.0: {}
+
+ bindings@1.5.0:
+ dependencies:
+ file-uri-to-path: 1.0.0
+
brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
@@ -5399,6 +6867,22 @@ snapshots:
check-error@2.1.1: {}
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chownr@3.0.0: {}
+
+ cjs-module-lexer@1.4.3: {}
+
classnames@2.5.1: {}
client-only@0.0.1: {}
@@ -5422,6 +6906,10 @@ snapshots:
compute-scroll-into-view@3.1.1: {}
+ confbox@0.2.2: {}
+
+ consola@3.4.2: {}
+
conventional-changelog-angular@8.0.0:
dependencies:
compare-func: 2.0.0
@@ -5549,6 +7037,8 @@ snapshots:
delayed-stream@1.0.0: {}
+ detect-libc@2.1.2: {}
+
devalue@4.3.3: {}
dom-accessibility-api@0.5.16: {}
@@ -5557,6 +7047,8 @@ snapshots:
dependencies:
is-obj: 2.0.0
+ dotenv@16.6.1: {}
+
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -5633,34 +7125,6 @@ snapshots:
'@esbuild/win32-ia32': 0.23.1
'@esbuild/win32-x64': 0.23.1
- esbuild@0.25.1:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.1
- '@esbuild/android-arm': 0.25.1
- '@esbuild/android-arm64': 0.25.1
- '@esbuild/android-x64': 0.25.1
- '@esbuild/darwin-arm64': 0.25.1
- '@esbuild/darwin-x64': 0.25.1
- '@esbuild/freebsd-arm64': 0.25.1
- '@esbuild/freebsd-x64': 0.25.1
- '@esbuild/linux-arm': 0.25.1
- '@esbuild/linux-arm64': 0.25.1
- '@esbuild/linux-ia32': 0.25.1
- '@esbuild/linux-loong64': 0.25.1
- '@esbuild/linux-mips64el': 0.25.1
- '@esbuild/linux-ppc64': 0.25.1
- '@esbuild/linux-riscv64': 0.25.1
- '@esbuild/linux-s390x': 0.25.1
- '@esbuild/linux-x64': 0.25.1
- '@esbuild/netbsd-arm64': 0.25.1
- '@esbuild/netbsd-x64': 0.25.1
- '@esbuild/openbsd-arm64': 0.25.1
- '@esbuild/openbsd-x64': 0.25.1
- '@esbuild/sunos-x64': 0.25.1
- '@esbuild/win32-arm64': 0.25.1
- '@esbuild/win32-ia32': 0.25.1
- '@esbuild/win32-x64': 0.25.1
-
esbuild@0.27.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.27.2
@@ -5694,6 +7158,8 @@ snapshots:
escape-string-regexp@4.0.0: {}
+ estree-walker@2.0.2: {}
+
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.8
@@ -5712,6 +7178,8 @@ snapshots:
expect-type@1.2.1: {}
+ exsolve@1.0.8: {}
+
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -5739,12 +7207,19 @@ snapshots:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
+ file-uri-to-path@1.0.0: {}
+
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
find-root@1.1.0: {}
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
@@ -5765,6 +7240,8 @@ snapshots:
dependencies:
fetch-blob: 3.2.0
+ forwarded-parse@2.1.2: {}
+
fsevents@2.3.3:
optional: true
@@ -5809,8 +7286,19 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
+ glob@10.5.0:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
+
gopd@1.2.0: {}
+ graceful-fs@4.2.11: {}
+
graphql-tag@2.12.6(graphql@16.10.0):
dependencies:
graphql: 16.10.0
@@ -5849,6 +7337,8 @@ snapshots:
dependencies:
react-is: 16.13.1
+ hono@4.10.7: {}
+
hosted-git-info@8.1.0:
dependencies:
lru-cache: 10.4.3
@@ -5864,6 +7354,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
@@ -5884,6 +7381,13 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
+ import-in-the-middle@2.0.0:
+ dependencies:
+ acorn: 8.14.1
+ acorn-import-attributes: 1.9.5(acorn@8.14.1)
+ cjs-module-lexer: 1.4.3
+ module-details-from-path: 1.0.4
+
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -5907,6 +7411,10 @@ snapshots:
dependencies:
has-bigints: 1.1.0
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
is-boolean-object@1.2.2:
dependencies:
call-bound: 1.0.4
@@ -6033,6 +7541,10 @@ snapshots:
lines-and-columns@1.2.4: {}
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
@@ -6055,6 +7567,14 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ magic-string@0.30.8:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.0
+
math-intrinsics@1.1.0: {}
meow@13.2.0: {}
@@ -6084,6 +7604,12 @@ snapshots:
minipass@7.1.2: {}
+ minizlib@3.1.0:
+ dependencies:
+ minipass: 7.1.2
+
+ module-details-from-path@1.0.4: {}
+
mrmime@2.0.1: {}
ms@2.1.3: {}
@@ -6094,20 +7620,32 @@ snapshots:
node-domexception@1.0.0: {}
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
node-fetch@3.3.2:
dependencies:
data-uri-to-buffer: 4.0.1
fetch-blob: 3.2.0
formdata-polyfill: 4.0.10
+ node-gyp-build@4.8.4: {}
+
node-releases@2.0.19: {}
+ nopt@8.1.0:
+ dependencies:
+ abbrev: 3.0.1
+
normalize-package-data@7.0.0:
dependencies:
hosted-git-info: 8.1.0
semver: 7.7.1
validate-npm-package-license: 3.0.4
+ normalize-path@3.0.0: {}
+
npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
@@ -6145,6 +7683,14 @@ snapshots:
'@wry/trie': 0.5.0
tslib: 2.8.1
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
package-json-from-dist@1.0.1: {}
parent-module@1.0.1:
@@ -6162,6 +7708,8 @@ snapshots:
dependencies:
entities: 4.5.0
+ path-exists@4.0.0: {}
+
path-key@3.1.1: {}
path-parse@1.0.7: {}
@@ -6181,6 +7729,18 @@ snapshots:
perfect-freehand@1.2.2: {}
+ pg-int8@1.0.1: {}
+
+ pg-protocol@1.10.3: {}
+
+ pg-types@2.2.0:
+ dependencies:
+ pg-int8: 1.0.1
+ postgres-array: 2.0.0
+ postgres-bytea: 1.0.0
+ postgres-date: 1.0.7
+ postgres-interval: 1.2.0
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -6191,6 +7751,12 @@ snapshots:
dependencies:
pngjs: 6.0.0
+ pkg-types@2.3.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.8
+ pathe: 2.0.3
+
playwright-chromium@1.57.0:
dependencies:
playwright-core: 1.57.0
@@ -6215,6 +7781,16 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ postgres-array@2.0.0: {}
+
+ postgres-bytea@1.0.0: {}
+
+ postgres-date@1.0.7: {}
+
+ postgres-interval@1.2.0:
+ dependencies:
+ xtend: 4.0.2
+
prettier@3.5.3: {}
pretty-format@27.5.1:
@@ -6223,6 +7799,8 @@ snapshots:
ansi-styles: 5.2.0
react-is: 17.0.2
+ progress@2.0.3: {}
+
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
@@ -6231,6 +7809,8 @@ snapshots:
proxy-compare@3.0.1: {}
+ proxy-from-env@1.1.0: {}
+
proxy-memoize@3.0.1:
dependencies:
proxy-compare: 3.0.1
@@ -6602,6 +8182,10 @@ snapshots:
react@19.2.1: {}
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
redux-thunk@3.1.0(redux@5.0.1):
dependencies:
redux: 5.0.1
@@ -6619,11 +8203,20 @@ snapshots:
gopd: 1.2.0
set-function-name: 2.0.2
+ regexparam@3.0.0: {}
+
rehackt@0.1.0(@types/react@19.2.7)(react@19.2.1):
optionalDependencies:
'@types/react': 19.2.7
react: 19.2.1
+ require-in-the-middle@8.0.1:
+ dependencies:
+ debug: 4.4.1
+ module-details-from-path: 1.0.4
+ transitivePeerDependencies:
+ - supports-color
+
requires-port@1.0.0: {}
reselect@5.1.1: {}
@@ -6632,6 +8225,8 @@ snapshots:
resolve-from@4.0.0: {}
+ resolve-from@5.0.0: {}
+
resolve@1.22.10:
dependencies:
is-core-module: 2.16.1
@@ -6644,6 +8239,26 @@ snapshots:
dependencies:
glob: 10.4.5
+ rolldown@1.0.0-beta.51:
+ dependencies:
+ '@oxc-project/types': 0.98.0
+ '@rolldown/pluginutils': 1.0.0-beta.51
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-beta.51
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.51
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.51
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.51
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.51
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.51
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.51
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.51
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.51
+ '@rolldown/binding-openharmony-arm64': 1.0.0-beta.51
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.51
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.51
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.51
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.51
+
rollup@4.46.2:
dependencies:
'@types/estree': 1.0.8
@@ -6789,8 +8404,22 @@ snapshots:
spdx-license-ids@3.0.21: {}
+ srvx@0.9.6: {}
+
stackback@0.0.2: {}
+ standaloner@0.1.11(rollup@4.46.2):
+ dependencies:
+ '@vercel/nft': 0.30.4(rollup@4.46.2)
+ acorn: 8.15.0
+ estree-walker: 3.0.3
+ magic-string: 0.30.21
+ rolldown: 1.0.0-beta.51
+ transitivePeerDependencies:
+ - encoding
+ - rollup
+ - supports-color
+
std-env@3.9.0: {}
stop-iteration-iterator@1.1.0:
@@ -6840,10 +8469,12 @@ snapshots:
stylis: 4.3.2
tslib: 2.6.2
- styled-jsx@5.1.6(react@19.2.1):
+ styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.1):
dependencies:
client-only: 0.0.1
react: 19.2.1
+ optionalDependencies:
+ '@babel/core': 7.28.5
stylis@4.2.0: {}
@@ -6861,6 +8492,14 @@ snapshots:
symbol-tree@3.2.4: {}
+ tar@7.5.2:
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.1.0
+ yallist: 5.0.0
+
throttle-debounce@5.0.2: {}
tinybench@2.9.0: {}
@@ -6878,6 +8517,12 @@ snapshots:
tinyspy@4.0.3: {}
+ tldts-core@7.0.19: {}
+
+ tldts@7.0.19:
+ dependencies:
+ tldts-core: 7.0.19
+
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@@ -6893,10 +8538,18 @@ snapshots:
universalify: 0.2.0
url-parse: 1.5.10
+ tough-cookie@6.0.0:
+ dependencies:
+ tldts: 7.0.19
+
+ tr46@0.0.3: {}
+
tr46@5.1.0:
dependencies:
punycode: 2.3.1
+ ts-deepmerge@7.0.3: {}
+
ts-invariant@0.10.3:
dependencies:
tslib: 2.8.1
@@ -6918,6 +8571,13 @@ snapshots:
universalify@0.2.0: {}
+ unplugin@1.0.1:
+ dependencies:
+ acorn: 8.14.1
+ chokidar: 3.6.0
+ webpack-sources: 3.3.3
+ webpack-virtual-modules: 0.5.0
+
update-browserslist-db@1.1.3(browserslist@4.24.4):
dependencies:
browserslist: 4.24.4
@@ -6940,19 +8600,55 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
- vike@0.4.249(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)):
+ vike-photon@0.1.23(@photonjs/core@0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8)))(@photonjs/runtime@0.1.10(hono@4.10.7)(rollup@4.46.2)(vite@7.3.0(@types/node@24.0.8)))(hono@4.10.7)(rollup@4.46.2)(srvx@0.9.6)(vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)))(vite@7.3.0(@types/node@24.0.8)):
+ dependencies:
+ '@brillout/picocolors': 1.0.29
+ '@brillout/vite-plugin-server-entry': 0.7.15
+ '@photonjs/core': 0.1.13(hono@4.10.7)(srvx@0.9.6)(vite@7.3.0(@types/node@24.0.8))
+ '@photonjs/runtime': 0.1.10(hono@4.10.7)(rollup@4.46.2)(vite@7.3.0(@types/node@24.0.8))
+ '@universal-middleware/compress': 0.2.34
+ '@universal-middleware/core': 0.4.13(hono@4.10.7)(srvx@0.9.6)
+ '@universal-middleware/sirv': 0.1.24
+ pkg-types: 2.3.0
+ standaloner: 0.1.11(rollup@4.46.2)
+ vike: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+ optionalDependencies:
+ vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@hattip/core'
+ - '@types/express'
+ - '@webroute/route'
+ - elysia
+ - encoding
+ - fastify
+ - h3
+ - hono
+ - rollup
+ - srvx
+ - supports-color
+
+ vike-react@0.6.10(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))):
+ dependencies:
+ react: 19.2.1
+ react-dom: 19.2.1(react@19.2.1)
+ react-streaming: 0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
+ vike: 0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8))
+
+ vike@0.4.252-commit-7f781cf(react-streaming@0.4.15(react@19.2.1))(vite@7.3.0(@types/node@24.0.8)):
dependencies:
+ '@babel/core': 7.28.5
+ '@babel/types': 7.28.5
'@brillout/import': 0.2.6
'@brillout/json-serializer': 0.5.21
- '@brillout/picocolors': 1.0.29
+ '@brillout/picocolors': 1.0.30
'@brillout/require-shim': 0.1.2
- '@brillout/vite-plugin-server-entry': 0.7.15
- acorn: 8.14.1
+ '@brillout/vite-plugin-server-entry': 0.7.17
cac: 6.7.14
es-module-lexer: 1.7.0
- esbuild: 0.25.1
+ esbuild: 0.27.2
json5: 2.2.3
- magic-string: 0.30.17
+ magic-string: 0.30.21
picomatch: 4.0.3
semver: 7.7.1
sirv: 3.0.1
@@ -6961,6 +8657,8 @@ snapshots:
optionalDependencies:
react-streaming: 0.4.15(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
vite: 7.3.0(@types/node@24.0.8)
+ transitivePeerDependencies:
+ - supports-color
vite-node@3.2.4(@types/node@24.0.8):
dependencies:
@@ -7045,8 +8743,14 @@ snapshots:
web-streams-polyfill@3.3.3: {}
+ webidl-conversions@3.0.1: {}
+
webidl-conversions@7.0.0: {}
+ webpack-sources@3.3.3: {}
+
+ webpack-virtual-modules@0.5.0: {}
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
@@ -7058,6 +8762,11 @@ snapshots:
tr46: 5.1.0
webidl-conversions: 7.0.0
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0
@@ -7112,16 +8821,24 @@ snapshots:
xmlchars@2.2.0: {}
+ xtend@4.0.2: {}
+
yallist@3.1.1: {}
+ yallist@5.0.0: {}
+
yaml@1.10.2: {}
+ yocto-queue@0.1.0: {}
+
zen-observable-ts@1.2.5:
dependencies:
zen-observable: 0.8.15
zen-observable@0.8.15: {}
+ zod@4.1.13: {}
+
zustand@5.0.8(@types/react@19.2.7)(immer@10.1.3)(react@19.2.1)(use-sync-external-store@1.4.0(react@19.2.1)):
optionalDependencies:
'@types/react': 19.2.7
diff --git a/vike-hook-wrapper-issue.md b/vike-hook-wrapper-issue.md
new file mode 100644
index 00000000..cafd08ea
--- /dev/null
+++ b/vike-hook-wrapper-issue.md
@@ -0,0 +1,117 @@
+# Feature Request: Cumulative hook wrapper for instrumentation (Sentry, OpenTelemetry, etc.)
+
+## Problem
+
+When integrating observability tools like Sentry or OpenTelemetry with Vike, we need to wrap hook executions with spans/traces. This is essential for:
+
+- Measuring execution time of `+data`, `+guard`, `+onBeforeRender`, `+onRenderHtml`, etc.
+- Providing users insight into which hooks are slow
+- Proper distributed tracing
+
+### The Challenge
+
+Sentry (and OpenTelemetry) spans work with **async local storage** and depend on the **call stack**. This means we need to actually **wrap** the hook function execution:
+
+```ts
+Sentry.startSpan(
+ {
+ name: "pages/product/+data",
+ op: "vike.hook",
+ attributes: { hookName: "data", pageId, urlOriginal },
+ },
+ async () => {
+ // The actual +data hook runs here
+ return await dataHook(pageContext)
+ },
+);
+```
+
+We cannot use before/after style hooks because the span context is lost.
+
+## Proposed Solution
+
+Add a **cumulative global hook wrapper** to vike:
+
+```ts
+// vike-react-sentry/+config.ts
+import * as Sentry from "@sentry/node"
+
+export default {
+ onWrapHook: (hookInfo, execHook) => {
+ return Sentry.startSpan(
+ {
+ name: hookInfo.hookFilePath, // e.g. "pages/product/+data"
+ op: "vike.hook",
+ attributes: {
+ "vike.hookName": hookInfo.hookName,
+ "vike.pageId": hookInfo.pageId,
+ },
+ },
+ () => execHook()
+ )
+ },
+ meta: {
+ onWrapHook: {
+ env: { server: true, client: true },
+ cumulative: true, // Multiple wrappers compose
+ }
+ }
+}
+```
+
+### Hook Info
+
+The `hookInfo` parameter should include:
+- `hookName`: e.g. `"data"`, `"guard"`, `"onRenderHtml"`, `"onBeforeRender"`
+- `hookFilePath`: e.g. `"pages/product/+data"`, `"vike-react/__internal/integration/onRenderHtml"`
+- `pageContext`: (or relevant subset like `pageId`, `urlOriginal`, `urlPathname`)
+
+### Cumulative Behavior
+
+Multiple wrappers should compose, allowing:
+- `vike-react-sentry` to add Sentry spans
+- User to add custom logging/timing
+- Other extensions to add their instrumentation
+
+```ts
+// All these wrappers compose
+onWrapHook: [sentryWrapper, otelWrapper, loggingWrapper]
+```
+
+### Implementation Location
+
+Vike controls all `+` file exports. When these are loaded and made available via `pageContext.config` or `pageContext.exports`, vike could wrap all callable exports with the wrapper.
+
+This would cover:
+- **Built-in hooks**: `+data`, `+guard`, `+onBeforeRender`, `+onRenderHtml`, etc. (currently in `execHookDirectAsync`)
+- **Custom config functions**: `+ApolloClient`, `+QueryClient`, or any user-defined `+` file that exports a function
+
+When a function is exported from a `+` file and later called (either by vike internally or by extensions via `pageContext.config.X()`), the wrapper would be applied.
+
+## Use Cases
+
+1. **Sentry Integration** (`vike-react-sentry`): Wrap all hooks with Sentry spans
+2. **OpenTelemetry**: Distributed tracing with OTEL spans
+3. **Custom Logging**: Log hook execution times
+4. **Performance Monitoring**: Track slow hooks
+5. **Debugging**: Add context around hook execution
+
+## Expected Result
+
+With this feature, `vike-react-sentry` could provide traces like:
+
+```
+vike:request (150ms)
+├── +guard (5ms)
+├── +data (80ms)
+│ └── db.query (75ms)
+├── +onBeforeRender (10ms)
+└── +onRenderHtml (55ms)
+ └── react:render (50ms)
+```
+
+This gives users great insight into their app's performance and helps identify bottlenecks.
+
+## Related
+
+- vike-react-sentry: https://github.com/vikejs/vike-react/tree/main/packages/vike-react-sentry