From 1dbe076cc8f3c708024ec6dfe69c723a42f577ee Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Sun, 19 Apr 2026 16:03:09 +1000 Subject: [PATCH 01/25] Fix Windows compatibility # Conflicts: # packages/framework/src/backend/build/plugins/server-actions-plugin.ts --- .../src/backend/build/plugins/server-actions-plugin.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/framework/src/backend/build/plugins/server-actions-plugin.ts b/packages/framework/src/backend/build/plugins/server-actions-plugin.ts index a875830f..1411cfa1 100644 --- a/packages/framework/src/backend/build/plugins/server-actions-plugin.ts +++ b/packages/framework/src/backend/build/plugins/server-actions-plugin.ts @@ -12,6 +12,7 @@ import { getModuleId } from "../helpers/module.js"; import { pathToLanguage } from "../helpers/languages.js"; import { shouldIgnoreUseServer } from "../helpers/excluded.js"; import { CompiledServerAction } from "../rsc/compiled-server-action.js"; +import { join, sep } from "path"; type ServerAction = { id: string; @@ -43,12 +44,12 @@ export function serverActionsPlugin({ builder }: { builder: RSCBuilder }) { return null; } - const prefix = process.cwd() + "/app/pages"; + const prefix = join(process.cwd(), 'app', 'pages'); if (!path.startsWith(prefix)) { return null; } - let virtualPath = path.substring(prefix.length); + let virtualPath = path.substring(prefix.length).replaceAll(sep, '/'); let contents = await readFile(path, "utf-8"); let hasUseServer = contents.includes("use server"); From 3118eff3d42c031658a74e5bc35ad33d87ee23e4 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Sun, 19 Apr 2026 18:16:20 +1000 Subject: [PATCH 02/25] Publish to NPM instead of GitHub --- .github/workflows/build.yml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b276d814..1c459406 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,10 @@ on: pull_request: branches: ["main"] +permissions: + id-token: write + packages: write + jobs: build-and-publish: name: "Build and Publish" @@ -16,6 +20,11 @@ jobs: with: ref: ${{ github.head_ref }} fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: "24" + registry-url: "https://registry.npmjs.org" - name: Install Dependencies run: | corepack enable @@ -28,12 +37,10 @@ jobs: pnpm lint popd done - - name: Push to GitHub + - name: Push to NPM if: github.event_name != 'pull_request' - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - export PACKAGE_NAMESPACE=$GITHUB_REPOSITORY_OWNER + export PACKAGE_NAMESPACE=$(echo $GITHUB_REPOSITORY_OWNER | tr '[:upper:]' '[:lower:]') PACKAGE_JSON_FILES=$(find . -name package.json -not -path "*/node_modules/*") @@ -50,7 +57,7 @@ jobs: for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".name |= sub(\"eslint-plugin-twofold\"; \"@$PACKAGE_NAMESPACE/eslint-plugin-twofold\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done # rename package references - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".dependencies = (.dependencies // {}) | (to_entries | map({key: (.key | sub(\"@twofold/\"; \"@$PACKAGE_NAMESPACE/\")), value: .value}) | from_entries)" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done + for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".dependencies = (.dependencies // {}) | (to_entries | map({key: (.key | sub(\"@twofold/\"; \"@$PACKAGE_NAMESPACE/\")), value: .value}) | from_entries)" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; cat $PACKAGE_JSON; done # compile and package again # PACKAGE_NAMESPACE is read by compile.js and rewrites imports @@ -61,10 +68,9 @@ jobs: for PACKAGE in packages/*; do pushd $PACKAGE cat >.npmrc < Date: Sun, 19 Apr 2026 19:48:57 +1000 Subject: [PATCH 03/25] Upgrade React libraries to 19.2.5 --- pnpm-lock.yaml | 13001 ++++++++++++++---------------------------- pnpm-workspace.yaml | 6 +- 2 files changed, 4356 insertions(+), 8651 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 444cec84..afab4b63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: "9.0" +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -6,96 +6,106 @@ settings: catalogs: default: - "@types/node": + '@types/node': specifier: ^22.16.5 - version: 22.10.2 - "@types/react": + version: 22.19.17 + '@types/react': specifier: ^19.2.10 - version: 19.2.10 - "@types/react-dom": + version: 19.2.14 + '@types/react-dom': specifier: ^19.2.3 version: 19.2.3 esbuild: specifier: 0.27.2 version: 0.27.2 + react: + specifier: 19.2.5 + version: 19.2.5 + react-dom: + specifier: 19.2.5 + version: 19.2.5 + react-server-dom-webpack: + specifier: 19.2.5 + version: 19.2.5 typescript: specifier: ^5.9.3 version: 5.9.3 importers: + .: devDependencies: - "@changesets/cli": + '@changesets/cli': specifier: ^2.29.7 - version: 2.29.7(@types/node@24.0.15) + version: 2.31.0(@types/node@25.6.0) typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 examples/base-app: dependencies: - "@twofold/framework": + '@twofold/framework': specifier: workspace:* version: link:../../packages/framework client-only: specifier: ^0.0.1 version: 0.0.1 react: - specifier: "catalog:" - version: 19.2.4 + specifier: 'catalog:' + version: 19.2.5 react-dom: - specifier: "catalog:" - version: 19.2.4(react@19.2.4) + specifier: 'catalog:' + version: 19.2.5(react@19.2.5) react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2) server-only: specifier: ^0.0.1 version: 0.0.1 tailwindcss: specifier: ^4.1.14 - version: 4.1.14 + version: 4.2.2 zod: specifier: 4.1.11 version: 4.1.11 devDependencies: - "@types/node": - specifier: "catalog:" - version: 22.10.2 - "@types/react": - specifier: "catalog:" - version: 19.2.10 - "@types/react-dom": - specifier: "catalog:" - version: 19.2.3(@types/react@19.2.10) + '@types/node': + specifier: 'catalog:' + version: 22.19.17 + '@types/react': + specifier: 'catalog:' + version: 19.2.14 + '@types/react-dom': + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.38.0 - version: 9.38.0(jiti@2.6.1) + version: 9.39.4(jiti@2.6.1) eslint-plugin-twofold: specifier: workspace:* version: link:../../packages/eslint-plugin-twofold prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 prettier-plugin-tailwindcss: specifier: ^0.6.14 - version: 0.6.14(prettier@3.6.2) + version: 0.6.14(prettier@3.8.3) typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 examples/kitchen-sink: dependencies: - "@heroicons/react": + '@heroicons/react': specifier: ^2.2.0 - version: 2.2.0(react@19.2.4) - "@radix-ui/react-navigation-menu": + version: 2.2.0(react@19.2.5) + '@radix-ui/react-navigation-menu': specifier: ^1.2.14 - version: 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-toast": + version: 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-toast': specifier: ^1.2.15 - version: 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@twofold/framework": + version: 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@twofold/framework': specifier: workspace:* version: link:../../packages/framework clsx: @@ -103,99 +113,99 @@ importers: version: 2.1.1 marked: specifier: ^16.3.0 - version: 16.3.0 + version: 16.4.2 motion: specifier: ^12.23.22 - version: 12.23.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) open-graph-scraper: specifier: ^6.10.0 - version: 6.10.0 + version: 6.11.0 react: - specifier: "catalog:" - version: 19.2.4 + specifier: 'catalog:' + version: 19.2.5 react-dom: - specifier: "catalog:" - version: 19.2.4(react@19.2.4) + specifier: 'catalog:' + version: 19.2.5(react@19.2.5) react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2) sharp: specifier: ^0.34.4 - version: 0.34.4 + version: 0.34.5 tailwindcss: specifier: ^4.1.14 - version: 4.1.14 + version: 4.2.2 zod: specifier: ^4.1.11 version: 4.1.11 devDependencies: - "@types/node": - specifier: "catalog:" - version: 22.10.2 - "@types/react": - specifier: "catalog:" - version: 19.2.10 - "@types/react-dom": - specifier: "catalog:" - version: 19.2.3(@types/react@19.2.10) + '@types/node': + specifier: 'catalog:' + version: 22.19.17 + '@types/react': + specifier: 'catalog:' + version: 19.2.14 + '@types/react-dom': + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.38.0 - version: 9.38.0(jiti@2.6.1) + version: 9.39.4(jiti@2.6.1) eslint-plugin-twofold: specifier: workspace:* version: link:../../packages/eslint-plugin-twofold nodemon: specifier: ^3.1.10 - version: 3.1.10 + version: 3.1.14 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 prettier-plugin-tailwindcss: specifier: ^0.6.14 - version: 0.6.14(prettier@3.6.2) + version: 0.6.14(prettier@3.8.3) typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 packages/client-component-transforms: dependencies: - "@babel/core": + '@babel/core': specifier: ^7.28.4 - version: 7.28.4 - "@babel/generator": + version: 7.29.0 + '@babel/generator': specifier: ^7.28.3 - version: 7.28.3 - "@babel/types": + version: 7.29.1 + '@babel/types': specifier: ^7.28.4 - version: 7.28.4 + version: 7.29.0 dedent: specifier: ^1.7.0 - version: 1.7.0 + version: 1.7.2 esbuild: - specifier: "catalog:" + specifier: 'catalog:' version: 0.27.2 devDependencies: - "@types/babel__core": + '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 - "@types/babel__generator": + '@types/babel__generator': specifier: ^7.27.0 version: 7.27.0 - "@types/node": - specifier: "catalog:" - version: 22.10.2 + '@types/node': + specifier: 'catalog:' + version: 22.19.17 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.3.0-canary-b061b597-20251212(react@19.3.0-canary-b061b597-20251212))(react@19.3.0-canary-b061b597-20251212)(webpack@5.96.1(esbuild@0.27.2)) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + version: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) packages/create-twofold-app: dependencies: @@ -207,90 +217,90 @@ importers: version: 1.4.0 tar: specifier: ^7.4.3 - version: 7.4.3 + version: 7.5.13 yaml: specifier: ^2.8.0 - version: 2.8.0 + version: 2.8.3 devDependencies: - "@types/node": - specifier: "catalog:" - version: 22.10.2 - "@types/prompts": + '@types/node': + specifier: 'catalog:' + version: 22.19.17 + '@types/prompts': specifier: ^2.4.9 version: 2.4.9 - "@types/signale": + '@types/signale': specifier: ^1.4.7 version: 1.4.7 - "@types/tar": + '@types/tar': specifier: ^6.1.11 version: 6.1.13 esbuild: - specifier: "catalog:" + specifier: 'catalog:' version: 0.27.2 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 packages/eslint-plugin-twofold: dependencies: - "@eslint/js": + '@eslint/js': specifier: ^9.38.0 - version: 9.38.0 + version: 9.39.4 eslint: - specifier: ">=9.12.0" - version: 9.23.0(jiti@2.6.1) + specifier: '>=9.12.0' + version: 9.39.4(jiti@2.6.1) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.23.0(jiti@2.6.1)) + version: 7.37.5(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-hooks: specifier: ^7.0.0 - version: 7.0.0(eslint@9.23.0(jiti@2.6.1)) + version: 7.1.1(eslint@9.39.4(jiti@2.6.1)) globals: specifier: ^16.4.0 - version: 16.4.0 + version: 16.5.0 typescript-eslint: specifier: ^8.46.0 - version: 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) packages/framework: dependencies: - "@babel/core": + '@babel/core': specifier: ^7.28.4 - version: 7.28.4 - "@hattip/adapter-node": + version: 7.29.0 + '@hattip/adapter-node': specifier: ^0.0.49 version: 0.0.49 - "@hattip/compose": + '@hattip/compose': specifier: ^0.0.49 version: 0.0.49 - "@hattip/cookie": + '@hattip/cookie': specifier: ^0.0.49 version: 0.0.49 - "@hattip/headers": + '@hattip/headers': specifier: ^0.0.49 version: 0.0.49 - "@hattip/response": + '@hattip/response': specifier: ^0.0.49 version: 0.0.49 - "@hattip/router": + '@hattip/router': specifier: ^0.0.49 version: 0.0.49 - "@hattip/static": + '@hattip/static': specifier: ^0.0.49 version: 0.0.49 - "@ryanto/esbuild-plugin-tailwind": + '@ryanto/esbuild-plugin-tailwind': specifier: ^0.0.3 - version: 0.0.3(esbuild@0.27.2)(tailwindcss@4.2.0) - "@tailwindcss/node": + version: 0.0.3(esbuild@0.27.2)(tailwindcss@4.2.2) + '@tailwindcss/node': specifier: 4.1.14 version: 4.1.14 - "@tailwindcss/oxide": + '@tailwindcss/oxide': specifier: 4.1.14 version: 4.1.14 - "@twofold/client-component-transforms": + '@twofold/client-component-transforms': specifier: workspace:* version: link:../client-component-transforms - "@twofold/server-function-transforms": + '@twofold/server-function-transforms': specifier: workspace:* version: link:../server-function-transforms babel-plugin-react-compiler: @@ -304,12 +314,12 @@ importers: version: 0.0.1 commander: specifier: ^14.0.1 - version: 14.0.1 + version: 14.0.3 dotenv: specifier: ^17.2.3 - version: 17.2.3 + version: 17.4.2 esbuild: - specifier: "catalog:" + specifier: 'catalog:' version: 0.27.2 etag: specifier: ^1.8.1 @@ -322,28 +332,28 @@ importers: version: 4.1.5 mime-types: specifier: ^3.0.1 - version: 3.0.1 + version: 3.0.2 minimatch: specifier: ^10.0.3 - version: 10.0.3 + version: 10.2.5 picomatch: specifier: ^4.0.3 - version: 4.0.3 + version: 4.0.4 react: - specifier: "catalog:" - version: 19.2.4 + specifier: 'catalog:' + version: 19.2.5 react-dom: - specifier: "catalog:" - version: 19.2.4(react@19.2.4) + specifier: 'catalog:' + version: 19.2.5(react@19.2.5) react-refresh: specifier: ^0.18.0 version: 0.18.0 react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1(esbuild@0.27.2)) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) rolldown: specifier: 1.0.0-beta.53 - version: 1.0.0-beta.53 + version: 1.0.0-beta.53(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) serialize-error: specifier: ^12.0.0 version: 12.0.0 @@ -351,8 +361,8 @@ importers: specifier: ^0.0.1 version: 0.0.1 tailwindcss: - specifier: ">=4.0.0" - version: 4.2.0 + specifier: '>=4.0.0' + version: 4.2.2 urlpattern-polyfill: specifier: 10.1.0 version: 10.1.0 @@ -363,128 +373,128 @@ importers: specifier: 4.1.11 version: 4.1.11 devDependencies: - "@eslint/js": + '@eslint/js': specifier: ^9.37.0 - version: 9.37.0 - "@types/babel__core": + version: 9.39.4 + '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 - "@types/etag": + '@types/etag': specifier: ^1.8.4 version: 1.8.4 - "@types/mime-types": + '@types/mime-types': specifier: ^3.0.1 version: 3.0.1 - "@types/node": - specifier: "catalog:" - version: 22.10.2 - "@types/picomatch": + '@types/node': + specifier: 'catalog:' + version: 22.19.17 + '@types/picomatch': specifier: ^4.0.2 - version: 4.0.2 - "@types/react": - specifier: "catalog:" - version: 19.2.10 - "@types/react-dom": - specifier: "catalog:" - version: 19.2.3(@types/react@19.2.10) + version: 4.0.3 + '@types/react': + specifier: 'catalog:' + version: 19.2.14 + '@types/react-dom': + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.14) cookie: specifier: ^1.0.2 - version: 1.0.2 + version: 1.1.1 eslint: specifier: ^9.38.0 - version: 9.38.0(jiti@2.6.1) + version: 9.39.4(jiti@2.6.1) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@9.38.0(jiti@2.6.1)) + version: 7.37.5(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react-hooks: specifier: ^7.0.0 - version: 7.0.0(eslint@9.38.0(jiti@2.6.1)) + version: 7.1.1(eslint@9.39.4(jiti@2.6.1)) globals: specifier: ^16.4.0 - version: 16.4.0 + version: 16.5.0 nodemon: specifier: ^3.1.10 - version: 3.1.10 + version: 3.1.14 typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 typescript-eslint: specifier: ^8.45.0 - version: 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + version: 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + version: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) packages/server-function-transforms: dependencies: - "@babel/core": + '@babel/core': specifier: ^7.28.4 - version: 7.28.4 - "@babel/generator": + version: 7.29.0 + '@babel/generator': specifier: ^7.28.3 - version: 7.28.3 - "@babel/types": + version: 7.29.1 + '@babel/types': specifier: ^7.28.4 - version: 7.28.4 + version: 7.29.0 esbuild: - specifier: "catalog:" + specifier: 'catalog:' version: 0.27.2 devDependencies: - "@types/babel__core": + '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 - "@types/babel__generator": + '@types/babel__generator': specifier: ^7.27.0 version: 7.27.0 - "@types/node": - specifier: "catalog:" - version: 22.10.2 + '@types/node': + specifier: 'catalog:' + version: 22.19.17 dedent: specifier: ^1.7.0 - version: 1.7.0 + version: 1.7.2 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.3.0-canary-b061b597-20251212(react@19.3.0-canary-b061b597-20251212))(react@19.3.0-canary-b061b597-20251212)(webpack@5.96.1(esbuild@0.27.2)) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + version: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) sites/website: dependencies: - "@headlessui/react": + '@headlessui/react': specifier: ^2.2.9 - version: 2.2.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@heroicons/react": + version: 2.2.10(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@heroicons/react': specifier: ^2.2.0 - version: 2.2.0(react@19.2.4) - "@markdoc/markdoc": + version: 2.2.0(react@19.2.5) + '@markdoc/markdoc': specifier: ^0.5.4 - version: 0.5.4(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-popover": + version: 0.5.7(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-popover': specifier: ^1.1.15 - version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-switch": + version: 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-switch': specifier: ^1.2.6 - version: 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-tabs": + version: 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-tabs': specifier: ^1.1.13 - version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@shikijs/transformers": + version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@shikijs/transformers': specifier: ^3.13.0 - version: 3.13.0 - "@sindresorhus/slugify": + version: 3.23.0 + '@sindresorhus/slugify': specifier: ^3.0.0 version: 3.0.0 - "@tailwindcss/typography": + '@tailwindcss/typography': specifier: ^0.5.19 - version: 0.5.19(tailwindcss@4.2.0) - "@twofold/framework": + version: 0.5.19(tailwindcss@4.2.2) + '@twofold/framework': specifier: workspace:* version: link:../../packages/framework clsx: @@ -492,34 +502,34 @@ importers: version: 2.1.1 dedent: specifier: ^1.7.0 - version: 1.7.0 + version: 1.7.2 dotenv: specifier: ^17.2.3 - version: 17.2.3 + version: 17.4.2 js-yaml: specifier: ^4.1.0 - version: 4.1.0 + version: 4.1.1 motion: specifier: ^12.23.22 - version: 12.23.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) react: - specifier: "catalog:" - version: 19.2.4 + specifier: 'catalog:' + version: 19.2.5 react-dom: - specifier: "catalog:" - version: 19.2.4(react@19.2.4) + specifier: 'catalog:' + version: 19.2.5(react@19.2.5) react-server-dom-webpack: - specifier: "catalog:" - version: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1) + specifier: 'catalog:' + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2) server-only: specifier: ^0.0.1 version: 0.0.1 shiki: specifier: ^3.13.0 - version: 3.13.0 + version: 3.23.0 tailwindcss: specifier: ^4.2.0 - version: 4.2.0 + version: 4.2.2 tiny-invariant: specifier: ^1.3.3 version: 1.3.3 @@ -527,2792 +537,1676 @@ importers: specifier: ^4.1.11 version: 4.1.11 devDependencies: - "@types/js-yaml": + '@types/js-yaml': specifier: ^4.0.9 version: 4.0.9 - "@types/node": - specifier: "catalog:" - version: 22.10.2 - "@types/react": - specifier: "catalog:" - version: 19.2.10 - "@types/react-dom": - specifier: "catalog:" - version: 19.2.3(@types/react@19.2.10) + '@types/node': + specifier: 'catalog:' + version: 22.19.17 + '@types/react': + specifier: 'catalog:' + version: 19.2.14 + '@types/react-dom': + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.14) eslint: specifier: ^9.38.0 - version: 9.38.0(jiti@2.6.1) + version: 9.39.4(jiti@2.6.1) eslint-plugin-twofold: specifier: workspace:* version: link:../../packages/eslint-plugin-twofold nodemon: specifier: ^3.1.9 - version: 3.1.10 + version: 3.1.14 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.8.3 prettier-plugin-tailwindcss: specifier: ^0.7.2 - version: 0.7.2(prettier@3.6.2) + version: 0.7.2(prettier@3.8.3) tsx: specifier: ^4.20.6 - version: 4.20.6 + version: 4.21.0 typescript: - specifier: "catalog:" + specifier: 'catalog:' version: 5.9.3 packages: - "@aashutoshrathi/word-wrap@1.2.6": - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - - "@babel/code-frame@7.27.1": - resolution: - { - integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==, - } - engines: { node: ">=6.9.0" } - - "@babel/compat-data@7.28.0": - resolution: - { - integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==, - } - engines: { node: ">=6.9.0" } - - "@babel/core@7.28.4": - resolution: - { - integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==, - } - engines: { node: ">=6.9.0" } - - "@babel/generator@7.28.3": - resolution: - { - integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-compilation-targets@7.27.2": - resolution: - { - integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-globals@7.28.0": - resolution: - { - integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-module-imports@7.27.1": - resolution: - { - integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-module-transforms@7.28.3": - resolution: - { - integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==, - } - engines: { node: ">=6.9.0" } + + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.0': + resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + engines: {node: '>=6.9.0'} peerDependencies: - "@babel/core": ^7.0.0 - - "@babel/helper-string-parser@7.27.1": - resolution: - { - integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-validator-identifier@7.27.1": - resolution: - { - integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==, - } - engines: { node: ">=6.9.0" } - - "@babel/helper-validator-option@7.27.1": - resolution: - { - integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==, - } - engines: { node: ">=6.9.0" } - - "@babel/helpers@7.28.4": - resolution: - { - integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==, - } - engines: { node: ">=6.9.0" } - - "@babel/parser@7.23.5": - resolution: - { - integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==, - } - engines: { node: ">=6.0.0" } - hasBin: true + '@babel/core': ^7.0.0 - "@babel/parser@7.28.0": - resolution: - { - integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==, - } - engines: { node: ">=6.0.0" } - hasBin: true + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} - "@babel/parser@7.28.4": - resolution: - { - integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==, - } - engines: { node: ">=6.0.0" } + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.2': + resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.2': + resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + engines: {node: '>=6.0.0'} hasBin: true - "@babel/runtime@7.23.5": - resolution: - { - integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==, - } - engines: { node: ">=6.9.0" } - - "@babel/template@7.27.2": - resolution: - { - integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==, - } - engines: { node: ">=6.9.0" } - - "@babel/traverse@7.28.0": - resolution: - { - integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==, - } - engines: { node: ">=6.9.0" } - - "@babel/traverse@7.28.4": - resolution: - { - integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==, - } - engines: { node: ">=6.9.0" } - - "@babel/types@7.28.4": - resolution: - { - integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==, - } - engines: { node: ">=6.9.0" } - - "@changesets/apply-release-plan@7.0.13": - resolution: - { - integrity: sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg==, - } - - "@changesets/assemble-release-plan@6.0.9": - resolution: - { - integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==, - } - - "@changesets/changelog-git@0.2.1": - resolution: - { - integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==, - } - - "@changesets/cli@2.29.7": - resolution: - { - integrity: sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==, - } + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} + + '@changesets/apply-release-plan@7.1.1': + resolution: {integrity: sha512-9qPCm/rLx/xoOFXIHGB229+4GOL76S4MC+7tyOuTsR6+1jYlfFDQORdvwR5hDA6y4FL2BPt3qpbcQIS+dW85LA==} + + '@changesets/assemble-release-plan@6.0.10': + resolution: {integrity: sha512-rSDcqdJ9KbVyjpBIuCidhvZNIiVt1XaIYp73ycVQRIA5n/j6wQaEk0ChRLMUQ1vkxZe51PTQ9OIhbg6HQMW45A==} + + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} + + '@changesets/cli@2.31.0': + resolution: {integrity: sha512-AhI4enNTgHu2IZr6K4WZyf0EPch4XVMn1yOMFmCD9gsfBGqMYaHXls5HyDv6/CL5axVQABz68eG30eCtbr2wFg==} hasBin: true - "@changesets/config@3.1.1": - resolution: - { - integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==, - } - - "@changesets/errors@0.2.0": - resolution: - { - integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==, - } - - "@changesets/get-dependents-graph@2.1.3": - resolution: - { - integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==, - } - - "@changesets/get-release-plan@4.0.13": - resolution: - { - integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==, - } - - "@changesets/get-version-range-type@0.4.0": - resolution: - { - integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==, - } - - "@changesets/git@3.0.4": - resolution: - { - integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==, - } - - "@changesets/logger@0.1.1": - resolution: - { - integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==, - } - - "@changesets/parse@0.4.1": - resolution: - { - integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==, - } - - "@changesets/pre@2.0.2": - resolution: - { - integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==, - } - - "@changesets/read@0.6.5": - resolution: - { - integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==, - } - - "@changesets/should-skip-package@0.1.2": - resolution: - { - integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==, - } - - "@changesets/types@4.1.0": - resolution: - { - integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==, - } - - "@changesets/types@6.1.0": - resolution: - { - integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==, - } - - "@changesets/write@0.4.0": - resolution: - { - integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==, - } - - "@emnapi/core@1.7.1": - resolution: - { - integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==, - } - - "@emnapi/runtime@1.5.0": - resolution: - { - integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==, - } - - "@emnapi/runtime@1.7.1": - resolution: - { - integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==, - } - - "@emnapi/wasi-threads@1.1.0": - resolution: - { - integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==, - } - - "@esbuild/aix-ppc64@0.25.10": - resolution: - { - integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==, - } - engines: { node: ">=18" } + '@changesets/config@3.1.4': + resolution: {integrity: sha512-pf0bvD/v6WI2cRlZ6hzpjtZdSlXDXMAJ+Iz7xfFzV4ZxJ8OGGAON+1qYc99ZPrijnt4xp3VGG7eNvAOGS24V1Q==} + + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + + '@changesets/get-dependents-graph@2.1.4': + resolution: {integrity: sha512-ZsS00x6WvmHq3sQv8oCMwL0f/z3wbXCVuSVTJwCnnmbC/iBdNJGFx1EcbMG4PC6sXRyH69liM4A2WKXzn/kRPg==} + + '@changesets/get-release-plan@4.0.16': + resolution: {integrity: sha512-2K5Om6CrMPm45rtvckfzWo7e9jOVCKLCnXia5eUPaURH7/LWzri7pK1TycdzAuAtehLkW7VPbWLCSExTHmiI6g==} + + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} + + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} + + '@changesets/parse@0.4.3': + resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==} + + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} + + '@changesets/read@0.6.7': + resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==} + + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} + + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} + + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - "@esbuild/aix-ppc64@0.27.2": - resolution: - { - integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==, - } - engines: { node: ">=18" } + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.25.10": - resolution: - { - integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==, - } - engines: { node: ">=18" } + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - "@esbuild/android-arm64@0.27.2": - resolution: - { - integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==, - } - engines: { node: ">=18" } + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - "@esbuild/android-arm@0.25.10": - resolution: - { - integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==, - } - engines: { node: ">=18" } + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} cpu: [arm] os: [android] - "@esbuild/android-arm@0.27.2": - resolution: - { - integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==, - } - engines: { node: ">=18" } + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] - "@esbuild/android-x64@0.25.10": - resolution: - { - integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==, - } - engines: { node: ">=18" } + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} cpu: [x64] os: [android] - "@esbuild/android-x64@0.27.2": - resolution: - { - integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==, - } - engines: { node: ">=18" } + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.25.10": - resolution: - { - integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==, - } - engines: { node: ">=18" } + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - "@esbuild/darwin-arm64@0.27.2": - resolution: - { - integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==, - } - engines: { node: ">=18" } + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.25.10": - resolution: - { - integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==, - } - engines: { node: ">=18" } + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - "@esbuild/darwin-x64@0.27.2": - resolution: - { - integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==, - } - engines: { node: ">=18" } + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.25.10": - resolution: - { - integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + 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" } + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.25.10": - resolution: - { - integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - "@esbuild/freebsd-x64@0.27.2": - resolution: - { - integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.25.10": - resolution: - { - integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - "@esbuild/linux-arm64@0.27.2": - resolution: - { - integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.25.10": - resolution: - { - integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - "@esbuild/linux-arm@0.27.2": - resolution: - { - integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.25.10": - resolution: - { - integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==, - } - engines: { node: ">=18" } + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - "@esbuild/linux-ia32@0.27.2": - resolution: - { - integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==, - } - engines: { node: ">=18" } + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.25.10": - resolution: - { - integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==, - } - engines: { node: ">=18" } + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - "@esbuild/linux-loong64@0.27.2": - resolution: - { - integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==, - } - engines: { node: ">=18" } + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.25.10": - resolution: - { - integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==, - } - engines: { node: ">=18" } + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - "@esbuild/linux-mips64el@0.27.2": - resolution: - { - integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==, - } - engines: { node: ">=18" } + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.25.10": - resolution: - { - integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==, - } - engines: { node: ">=18" } + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - "@esbuild/linux-ppc64@0.27.2": - resolution: - { - integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==, - } - engines: { node: ">=18" } + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.25.10": - resolution: - { - integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==, - } - engines: { node: ">=18" } + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - "@esbuild/linux-riscv64@0.27.2": - resolution: - { - integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==, - } - engines: { node: ">=18" } + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.25.10": - resolution: - { - integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==, - } - engines: { node: ">=18" } + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - "@esbuild/linux-s390x@0.27.2": - resolution: - { - integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==, - } - engines: { node: ">=18" } + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.25.10": - resolution: - { - integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==, - } - engines: { node: ">=18" } + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + 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" } + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - "@esbuild/netbsd-arm64@0.25.10": - resolution: - { - integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - "@esbuild/netbsd-arm64@0.27.2": - resolution: - { - integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - "@esbuild/netbsd-x64@0.25.10": - resolution: - { - integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - "@esbuild/netbsd-x64@0.27.2": - resolution: - { - integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - "@esbuild/openbsd-arm64@0.25.10": - resolution: - { - integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - "@esbuild/openbsd-arm64@0.27.2": - resolution: - { - integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - "@esbuild/openbsd-x64@0.25.10": - resolution: - { - integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + 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" } + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - "@esbuild/openharmony-arm64@0.25.10": - resolution: - { - integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==, - } - engines: { node: ">=18" } + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - "@esbuild/openharmony-arm64@0.27.2": - resolution: - { - integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==, - } - engines: { node: ">=18" } + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - "@esbuild/sunos-x64@0.25.10": - resolution: - { - integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==, - } - engines: { node: ">=18" } + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - "@esbuild/sunos-x64@0.27.2": - resolution: - { - integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==, - } - engines: { node: ">=18" } + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.25.10": - resolution: - { - integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==, - } - engines: { node: ">=18" } + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + 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" } + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.25.10": - resolution: - { - integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==, - } - engines: { node: ">=18" } + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - "@esbuild/win32-ia32@0.27.2": - resolution: - { - integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==, - } - engines: { node: ">=18" } + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.25.10": - resolution: - { - integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==, - } - engines: { node: ">=18" } + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - "@esbuild/win32-x64@0.27.2": - resolution: - { - integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==, - } - engines: { node: ">=18" } + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - "@eslint-community/eslint-utils@4.4.1": - resolution: - { - integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - "@eslint-community/eslint-utils@4.7.0": - resolution: - { - integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - "@eslint-community/eslint-utils@4.9.0": - resolution: - { - integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint/config-array@0.21.2': + resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - "@eslint-community/regexpp@4.12.1": - resolution: - { - integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - - "@eslint/config-array@0.19.2": - resolution: - { - integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/config-array@0.21.1": - resolution: - { - integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/config-helpers@0.2.0": - resolution: - { - integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/config-helpers@0.4.1": - resolution: - { - integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/core@0.12.0": - resolution: - { - integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/core@0.16.0": - resolution: - { - integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/eslintrc@3.3.1": - resolution: - { - integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/js@9.23.0": - resolution: - { - integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/js@9.37.0": - resolution: - { - integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/js@9.38.0": - resolution: - { - integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/object-schema@2.1.6": - resolution: - { - integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/object-schema@2.1.7": - resolution: - { - integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/plugin-kit@0.2.7": - resolution: - { - integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@eslint/plugin-kit@0.4.0": - resolution: - { - integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@floating-ui/core@1.6.9": - resolution: - { - integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==, - } - - "@floating-ui/dom@1.6.13": - resolution: - { - integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==, - } - - "@floating-ui/react-dom@2.1.2": - resolution: - { - integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==, - } + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.5': + resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.4': + resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@floating-ui/core@1.7.5': + resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + + '@floating-ui/dom@1.7.6': + resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + + '@floating-ui/react-dom@2.1.8': + resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==} peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - - "@floating-ui/react@0.26.28": - resolution: - { - integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==, - } + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/react@0.26.28': + resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - - "@floating-ui/utils@0.2.9": - resolution: - { - integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==, - } - - "@hattip/adapter-node@0.0.49": - resolution: - { - integrity: sha512-BE+Y8Q4U0YcH34FZUYU4DssGKOaZLbNL0zK57Z41UZp0m9kS79ZIolBmjjpPhTVpIlRY3Rs+uhXbVXKk7mUcJA==, - } - - "@hattip/compose@0.0.49": - resolution: - { - integrity: sha512-jEJGi6EdHpLJGxpFMqcF2J6cNYKGhkDyepXtR7Esxthk5rWC37lFQEl19rWsYOqByn4zpwq87W8qGgsl940dWQ==, - } - - "@hattip/cookie@0.0.49": - resolution: - { - integrity: sha512-//8E/Iu85JRg4la28Wy2id/WpqFWdYBBmTfOq96MxlI0WNIIsqIAJZ9848tybmO3UGQoAUXCxuYoO3zm1V/I6Q==, - } - - "@hattip/core@0.0.49": - resolution: - { - integrity: sha512-3/ZJtC17cv8m6Sph8+nw4exUp9yhEf2Shi7HK6AHSUSBtaaQXZ9rJBVxTfZj3PGNOR/P49UBXOym/52WYKFTJQ==, - } - - "@hattip/headers@0.0.49": - resolution: - { - integrity: sha512-rrB2lEhTf0+MNVt5WdW184Ky706F1Ze9Aazn/R8c+/FMUYF9yjem2CgXp49csPt3dALsecrnAUOHFiV0LrrHXA==, - } - - "@hattip/polyfills@0.0.49": - resolution: - { - integrity: sha512-5g7W5s6Gq+HDxwULGFQ861yAnEx3yd9V8GDwS96HBZ1nM1u93vN+KTuwXvNsV7Z3FJmCrD/pgU8WakvchclYuA==, - } - - "@hattip/response@0.0.49": - resolution: - { - integrity: sha512-Cnm1cgfsRsHGf7ycSAOVJ5FYxDo3Xe3JCdjxeK7z/sPn178LjqNyAy4reucRhDx7T06mrpidL1UxlqSOZo5jKw==, - } - - "@hattip/router@0.0.49": - resolution: - { - integrity: sha512-DcPTUdEFHATUK71kBgjuz4kNpvGqsIIvp391t5fiERbsR0oAKUSRzpI6rVQGJo3WwX64sFd9eHr7P/h4UgxGYg==, - } - - "@hattip/static@0.0.49": - resolution: - { - integrity: sha512-86+xnm/SJdMvZE4F4pQcfYlysxV9THWfsoNSpkuLaNqEGAxCtm+3w8PMwt01hfsyNUp0vnOLhHwz4WtZgBdzsA==, - } - - "@hattip/walk@0.0.49": - resolution: - { - integrity: sha512-AgJgKLooZyQnzMfoFg5Mo/aHM+HGBC9ExpXIjNqGimYTRgNbL/K7X5EM1kR2JY90BNKk9lo6Usq1T/nWFdT7TQ==, - } + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.11': + resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + + '@hattip/adapter-node@0.0.49': + resolution: {integrity: sha512-BE+Y8Q4U0YcH34FZUYU4DssGKOaZLbNL0zK57Z41UZp0m9kS79ZIolBmjjpPhTVpIlRY3Rs+uhXbVXKk7mUcJA==} + + '@hattip/compose@0.0.49': + resolution: {integrity: sha512-jEJGi6EdHpLJGxpFMqcF2J6cNYKGhkDyepXtR7Esxthk5rWC37lFQEl19rWsYOqByn4zpwq87W8qGgsl940dWQ==} + + '@hattip/cookie@0.0.49': + resolution: {integrity: sha512-//8E/Iu85JRg4la28Wy2id/WpqFWdYBBmTfOq96MxlI0WNIIsqIAJZ9848tybmO3UGQoAUXCxuYoO3zm1V/I6Q==} + + '@hattip/core@0.0.49': + resolution: {integrity: sha512-3/ZJtC17cv8m6Sph8+nw4exUp9yhEf2Shi7HK6AHSUSBtaaQXZ9rJBVxTfZj3PGNOR/P49UBXOym/52WYKFTJQ==} + + '@hattip/headers@0.0.49': + resolution: {integrity: sha512-rrB2lEhTf0+MNVt5WdW184Ky706F1Ze9Aazn/R8c+/FMUYF9yjem2CgXp49csPt3dALsecrnAUOHFiV0LrrHXA==} + + '@hattip/polyfills@0.0.49': + resolution: {integrity: sha512-5g7W5s6Gq+HDxwULGFQ861yAnEx3yd9V8GDwS96HBZ1nM1u93vN+KTuwXvNsV7Z3FJmCrD/pgU8WakvchclYuA==} + + '@hattip/response@0.0.49': + resolution: {integrity: sha512-Cnm1cgfsRsHGf7ycSAOVJ5FYxDo3Xe3JCdjxeK7z/sPn178LjqNyAy4reucRhDx7T06mrpidL1UxlqSOZo5jKw==} + + '@hattip/router@0.0.49': + resolution: {integrity: sha512-DcPTUdEFHATUK71kBgjuz4kNpvGqsIIvp391t5fiERbsR0oAKUSRzpI6rVQGJo3WwX64sFd9eHr7P/h4UgxGYg==} + + '@hattip/static@0.0.49': + resolution: {integrity: sha512-86+xnm/SJdMvZE4F4pQcfYlysxV9THWfsoNSpkuLaNqEGAxCtm+3w8PMwt01hfsyNUp0vnOLhHwz4WtZgBdzsA==} + + '@hattip/walk@0.0.49': + resolution: {integrity: sha512-AgJgKLooZyQnzMfoFg5Mo/aHM+HGBC9ExpXIjNqGimYTRgNbL/K7X5EM1kR2JY90BNKk9lo6Usq1T/nWFdT7TQ==} hasBin: true - "@headlessui/react@2.2.9": - resolution: - { - integrity: sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==, - } - engines: { node: ">=10" } + '@headlessui/react@2.2.10': + resolution: {integrity: sha512-5pVLNK9wlpxTUTy9GpgbX/SdcRh+HBnPktjM2wbiLTH4p+2EPHBO1aoSryUCuKUIItdDWO9ITlhUL8UnUN/oIA==} + engines: {node: '>=10'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc - "@heroicons/react@2.2.0": - resolution: - { - integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==, - } + '@heroicons/react@2.2.0': + resolution: {integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==} peerDependencies: - react: ">= 16 || ^19.0.0-rc" - - "@humanfs/core@0.19.1": - resolution: - { - integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, - } - engines: { node: ">=18.18.0" } - - "@humanfs/node@0.16.6": - resolution: - { - integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, - } - engines: { node: ">=18.18.0" } - - "@humanwhocodes/module-importer@1.0.1": - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - - "@humanwhocodes/retry@0.3.1": - resolution: - { - integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, - } - engines: { node: ">=18.18" } - - "@humanwhocodes/retry@0.4.2": - resolution: - { - integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==, - } - engines: { node: ">=18.18" } - - "@humanwhocodes/retry@0.4.3": - resolution: - { - integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==, - } - engines: { node: ">=18.18" } - - "@img/colour@1.0.0": - resolution: - { - integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==, - } - engines: { node: ">=18" } - - "@img/sharp-darwin-arm64@0.34.4": - resolution: - { - integrity: sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + react: '>= 16 || ^19.0.0-rc' + + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] - "@img/sharp-darwin-x64@0.34.4": - resolution: - { - integrity: sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] - "@img/sharp-libvips-darwin-arm64@1.2.3": - resolution: - { - integrity: sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==, - } + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} cpu: [arm64] os: [darwin] - "@img/sharp-libvips-darwin-x64@1.2.3": - resolution: - { - integrity: sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==, - } + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} cpu: [x64] os: [darwin] - "@img/sharp-libvips-linux-arm64@1.2.3": - resolution: - { - integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==, - } + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] - "@img/sharp-libvips-linux-arm@1.2.3": - resolution: - { - integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==, - } + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] - "@img/sharp-libvips-linux-ppc64@1.2.3": - resolution: - { - integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==, - } + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] - "@img/sharp-libvips-linux-s390x@1.2.3": - resolution: - { - integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==, - } + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] - "@img/sharp-libvips-linux-x64@1.2.3": - resolution: - { - integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==, - } + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] - "@img/sharp-libvips-linuxmusl-arm64@1.2.3": - resolution: - { - integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==, - } + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] - "@img/sharp-libvips-linuxmusl-x64@1.2.3": - resolution: - { - integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==, - } + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] - "@img/sharp-linux-arm64@0.34.4": - resolution: - { - integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - "@img/sharp-linux-arm@0.34.4": - resolution: - { - integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] - "@img/sharp-linux-ppc64@0.34.4": - resolution: - { - integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] - "@img/sharp-linux-s390x@0.34.4": - resolution: - { - integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] + + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] - "@img/sharp-linux-x64@0.34.4": - resolution: - { - integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - "@img/sharp-linuxmusl-arm64@0.34.4": - resolution: - { - integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - "@img/sharp-linuxmusl-x64@0.34.4": - resolution: - { - integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] - "@img/sharp-wasm32@0.34.4": - resolution: - { - integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [wasm32] - "@img/sharp-win32-arm64@0.34.4": - resolution: - { - integrity: sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [win32] - "@img/sharp-win32-ia32@0.34.4": - resolution: - { - integrity: sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ia32] os: [win32] - "@img/sharp-win32-x64@0.34.4": - resolution: - { - integrity: sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [win32] - "@inquirer/external-editor@1.0.2": - resolution: - { - integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==, - } - engines: { node: ">=18" } + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} peerDependencies: - "@types/node": ">=18" + '@types/node': '>=18' peerDependenciesMeta: - "@types/node": + '@types/node': optional: true - "@isaacs/balanced-match@4.0.1": - resolution: - { - integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==, - } - engines: { node: 20 || >=22 } - - "@isaacs/brace-expansion@5.0.0": - resolution: - { - integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==, - } - engines: { node: 20 || >=22 } - - "@isaacs/cliui@8.0.2": - 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.12": - resolution: - { - integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==, - } - - "@jridgewell/remapping@2.3.5": - resolution: - { - integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==, - } - - "@jridgewell/resolve-uri@3.1.2": - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - - "@jridgewell/source-map@0.3.10": - resolution: - { - integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==, - } - - "@jridgewell/sourcemap-codec@1.5.5": - resolution: - { - integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, - } - - "@jridgewell/trace-mapping@0.3.29": - resolution: - { - integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==, - } - - "@kamilkisiela/fast-url-parser@1.1.4": - resolution: - { - integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==, - } - - "@manypkg/find-root@1.1.0": - resolution: - { - integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==, - } - - "@manypkg/get-packages@1.1.3": - resolution: - { - integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==, - } - - "@markdoc/markdoc@0.5.4": - resolution: - { - integrity: sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ==, - } - engines: { node: ">=14.7.0" } + '@internationalized/date@3.12.1': + resolution: {integrity: sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ==} + + '@internationalized/number@3.6.6': + resolution: {integrity: sha512-iFgmQaXHE0vytNfpLZWOC2mEJCBRzcUxt53Xf/yCXG93lRvqas237i3r7X4RKMwO3txiyZD4mQjKAByFv6UGSQ==} + + '@internationalized/string@3.2.8': + resolution: {integrity: sha512-NdbMQUSfXLYIQol5VyMtinm9pZDciiMfN7RtmSuSB78io1hqwJ0naYfxyW6vgxWBkzWymQa/3uLDlbfmshtCaA==} + + '@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==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@kamilkisiela/fast-url-parser@1.1.4': + resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} + + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + + '@markdoc/markdoc@0.5.7': + resolution: {integrity: sha512-NxreNThm7foFgMMQD6zgk7rKkcFMmdC8J5r+Zn4FKoN75F5YjvwdihwF11VhrBfL3CXnD4+YG1VYwvBL+igzvw==} + engines: {node: '>=14.7.0'} peerDependencies: - "@types/react": "*" - react: "*" + '@types/react': '*' + react: '*' peerDependenciesMeta: - "@types/react": + '@types/react': optional: true react: optional: true - "@napi-rs/wasm-runtime@1.1.0": - resolution: - { - integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==, - } - - "@nodelib/fs.scandir@2.1.5": - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - - "@nodelib/fs.stat@2.0.5": - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - - "@nodelib/fs.walk@1.2.8": - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - - "@oxc-project/types@0.101.0": - resolution: - { - integrity: sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ==, - } - - "@pkgjs/parseargs@0.11.0": - resolution: - { - integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, - } - engines: { node: ">=14" } - - "@radix-ui/primitive@1.1.3": - resolution: - { - integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==, - } - - "@radix-ui/react-arrow@1.1.7": - resolution: - { - integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==, - } + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oxc-project/types@0.101.0': + resolution: {integrity: sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ==} + + '@radix-ui/primitive@1.1.3': + resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-collection@1.1.7": - resolution: - { - integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==, - } + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-compose-refs@1.1.2": - resolution: - { - integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==, - } + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-context@1.1.2": - resolution: - { - integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==, - } + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-direction@1.1.1": - resolution: - { - integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==, - } + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-dismissable-layer@1.1.11": - resolution: - { - integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==, - } + '@radix-ui/react-dismissable-layer@1.1.11': + resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-focus-guards@1.1.3": - resolution: - { - integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==, - } + '@radix-ui/react-focus-guards@1.1.3': + resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-focus-scope@1.1.7": - resolution: - { - integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==, - } + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-id@1.1.1": - resolution: - { - integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==, - } + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-navigation-menu@1.2.14": - resolution: - { - integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==, - } + '@radix-ui/react-navigation-menu@1.2.14': + resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-popover@1.1.15": - resolution: - { - integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==, - } + '@radix-ui/react-popover@1.1.15': + resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-popper@1.2.8": - resolution: - { - integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==, - } + '@radix-ui/react-popper@1.2.8': + resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-portal@1.1.9": - resolution: - { - integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==, - } + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-presence@1.1.5": - resolution: - { - integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==, - } + '@radix-ui/react-presence@1.1.5': + resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-primitive@2.1.3": - resolution: - { - integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==, - } + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-roving-focus@1.1.11": - resolution: - { - integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==, - } + '@radix-ui/react-roving-focus@1.1.11': + resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-slot@1.2.3": - resolution: - { - integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==, - } + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-switch@1.2.6": - resolution: - { - integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==, - } + '@radix-ui/react-switch@1.2.6': + resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-tabs@1.1.13": - resolution: - { - integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==, - } + '@radix-ui/react-tabs@1.1.13': + resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-toast@1.2.15": - resolution: - { - integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==, - } + '@radix-ui/react-toast@1.2.15': + resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/react-use-callback-ref@1.1.1": - resolution: - { - integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==, - } + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-controllable-state@1.2.2": - resolution: - { - integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==, - } + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-effect-event@0.0.2": - resolution: - { - integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==, - } + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-escape-keydown@1.1.1": - resolution: - { - integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==, - } + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-layout-effect@1.1.1": - resolution: - { - integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==, - } + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-previous@1.1.1": - resolution: - { - integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==, - } + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-rect@1.1.1": - resolution: - { - integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==, - } + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-use-size@1.1.1": - resolution: - { - integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==, - } + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@radix-ui/react-visually-hidden@1.2.3": - resolution: - { - integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==, - } + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" + '@types/react': '*' + '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - "@types/react-dom": + '@types/react-dom': optional: true - "@radix-ui/rect@1.1.1": - resolution: - { - integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==, - } - - "@react-aria/focus@3.20.4": - resolution: - { - integrity: sha512-E9M/kPYvF1fBZpkRXsKqMhvBVEyTY7vmkHeXLJo6tInKQOjYyYs0VeWlnGnxBjQIAH7J7ZKAORfTFQQHyhoueQ==, - } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - "@react-aria/interactions@3.25.2": - resolution: - { - integrity: sha512-BWyZXBT4P17b9C9HfOIT2glDFMH9nUCfQF7vZ5FEeXNBudH/8OcSbzyBUG4Dg3XPtkOem5LP59ocaizkl32Tvg==, - } + '@react-aria/focus@3.22.0': + resolution: {integrity: sha512-ZfDOVuVhqDsM9mkNji3QUZ/d40JhlVgXrDkrfXylM1035QCrcTHN7m2DpbE95sU2A8EQb4wikvt5jM6K/73BPg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - "@react-aria/ssr@3.9.9": - resolution: - { - integrity: sha512-2P5thfjfPy/np18e5wD4WPt8ydNXhij1jwA8oehxZTFqlgVMGXzcWKxTb4RtJrLFsqPO7RUQTiY8QJk0M4Vy2g==, - } - engines: { node: ">= 12" } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - "@react-aria/utils@3.29.1": - resolution: - { - integrity: sha512-yXMFVJ73rbQ/yYE/49n5Uidjw7kh192WNN9PNQGV0Xoc7EJUlSOxqhnpHmYTyO0EotJ8fdM1fMH8durHjUSI8g==, - } + '@react-aria/interactions@3.28.0': + resolution: {integrity: sha512-OXwdU1EWFdMxmr/K1CXNGJzmNlCClByb+PuCaqUyzBymHPCGVhawirLIon/CrIN5psh3AiWpHSh4H0WeJdVpng==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - "@react-stately/flags@3.1.2": - resolution: - { - integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==, - } - - "@react-stately/utils@3.10.7": - resolution: - { - integrity: sha512-cWvjGAocvy4abO9zbr6PW6taHgF24Mwy/LbQ4TC4Aq3tKdKDntxyD+sh7AkSRfJRT2ccMVaHVv2+FfHThd3PKQ==, - } - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - - "@react-types/shared@3.30.0": - resolution: - { - integrity: sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog==, - } + '@react-types/shared@3.34.0': + resolution: {integrity: sha512-gp6xo/s2lX54AlTjOiqwDnxA7UW79BNvI9dB9pr3LZTzRKCd1ZA+ZbgKw/ReIiWuvvVw/8QFJpnqeeFyLocMcQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - "@rolldown/binding-android-arm64@1.0.0-beta.53": - resolution: - { - integrity: sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-android-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - "@rolldown/binding-darwin-arm64@1.0.0-beta.53": - resolution: - { - integrity: sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - "@rolldown/binding-darwin-x64@1.0.0-beta.53": - resolution: - { - integrity: sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-darwin-x64@1.0.0-beta.53': + resolution: {integrity: sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - "@rolldown/binding-freebsd-x64@1.0.0-beta.53": - resolution: - { - integrity: sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-freebsd-x64@1.0.0-beta.53': + resolution: {integrity: sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - "@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53": - resolution: - { - integrity: sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53': + resolution: {integrity: sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - "@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53": - resolution: - { - integrity: sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53': + resolution: {integrity: sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - "@rolldown/binding-linux-arm64-musl@1.0.0-beta.53": - resolution: - { - integrity: sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.53': + resolution: {integrity: sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - "@rolldown/binding-linux-x64-gnu@1.0.0-beta.53": - resolution: - { - integrity: sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.53': + resolution: {integrity: sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - "@rolldown/binding-linux-x64-musl@1.0.0-beta.53": - resolution: - { - integrity: sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-linux-x64-musl@1.0.0-beta.53': + resolution: {integrity: sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - "@rolldown/binding-openharmony-arm64@1.0.0-beta.53": - resolution: - { - integrity: sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-openharmony-arm64@1.0.0-beta.53': + resolution: {integrity: sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - "@rolldown/binding-wasm32-wasi@1.0.0-beta.53": - resolution: - { - integrity: sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg==, - } - engines: { node: ">=14.0.0" } + '@rolldown/binding-wasm32-wasi@1.0.0-beta.53': + resolution: {integrity: sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg==} + engines: {node: '>=14.0.0'} cpu: [wasm32] - "@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53": - resolution: - { - integrity: sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53': + resolution: {integrity: sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - "@rolldown/binding-win32-x64-msvc@1.0.0-beta.53": - resolution: - { - integrity: sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.53': + resolution: {integrity: sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - "@rolldown/pluginutils@1.0.0-beta.53": - resolution: - { - integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==, - } - - "@rollup/rollup-android-arm-eabi@4.37.0": - resolution: - { - integrity: sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==, - } + '@rolldown/pluginutils@1.0.0-beta.53': + resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} + + '@rollup/rollup-android-arm-eabi@4.60.2': + resolution: {integrity: sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==} cpu: [arm] os: [android] - "@rollup/rollup-android-arm64@4.37.0": - resolution: - { - integrity: sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==, - } + '@rollup/rollup-android-arm64@4.60.2': + resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - "@rollup/rollup-darwin-arm64@4.37.0": - resolution: - { - integrity: sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==, - } + '@rollup/rollup-darwin-arm64@4.60.2': + resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - "@rollup/rollup-darwin-x64@4.37.0": - resolution: - { - integrity: sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==, - } + '@rollup/rollup-darwin-x64@4.60.2': + resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - "@rollup/rollup-freebsd-arm64@4.37.0": - resolution: - { - integrity: sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==, - } + '@rollup/rollup-freebsd-arm64@4.60.2': + resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - "@rollup/rollup-freebsd-x64@4.37.0": - resolution: - { - integrity: sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==, - } + '@rollup/rollup-freebsd-x64@4.60.2': + resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - "@rollup/rollup-linux-arm-gnueabihf@4.37.0": - resolution: - { - integrity: sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==, - } + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': + resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] - "@rollup/rollup-linux-arm-musleabihf@4.37.0": - resolution: - { - integrity: sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==, - } + '@rollup/rollup-linux-arm-musleabihf@4.60.2': + resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] - "@rollup/rollup-linux-arm64-gnu@4.37.0": - resolution: - { - integrity: sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==, - } + '@rollup/rollup-linux-arm64-gnu@4.60.2': + resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] - "@rollup/rollup-linux-arm64-musl@4.37.0": - resolution: - { - integrity: sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==, - } + '@rollup/rollup-linux-arm64-musl@4.60.2': + resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] - "@rollup/rollup-linux-loongarch64-gnu@4.37.0": - resolution: - { - integrity: sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==, - } + '@rollup/rollup-linux-loong64-gnu@4.60.2': + resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.60.2': + resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] - "@rollup/rollup-linux-powerpc64le-gnu@4.37.0": - resolution: - { - integrity: sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==, - } + '@rollup/rollup-linux-ppc64-gnu@4.60.2': + resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.60.2': + resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] - "@rollup/rollup-linux-riscv64-gnu@4.37.0": - resolution: - { - integrity: sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==, - } + '@rollup/rollup-linux-riscv64-gnu@4.60.2': + resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] - "@rollup/rollup-linux-riscv64-musl@4.37.0": - resolution: - { - integrity: sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==, - } + '@rollup/rollup-linux-riscv64-musl@4.60.2': + resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] - "@rollup/rollup-linux-s390x-gnu@4.37.0": - resolution: - { - integrity: sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==, - } + '@rollup/rollup-linux-s390x-gnu@4.60.2': + resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] - "@rollup/rollup-linux-x64-gnu@4.37.0": - resolution: - { - integrity: sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==, - } + '@rollup/rollup-linux-x64-gnu@4.60.2': + resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] - "@rollup/rollup-linux-x64-musl@4.37.0": - resolution: - { - integrity: sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==, - } + '@rollup/rollup-linux-x64-musl@4.60.2': + resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] - "@rollup/rollup-win32-arm64-msvc@4.37.0": - resolution: - { - integrity: sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==, - } + '@rollup/rollup-openbsd-x64@4.60.2': + resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.60.2': + resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.60.2': + resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - "@rollup/rollup-win32-ia32-msvc@4.37.0": - resolution: - { - integrity: sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==, - } + '@rollup/rollup-win32-ia32-msvc@4.60.2': + resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - "@rollup/rollup-win32-x64-msvc@4.37.0": - resolution: - { - integrity: sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==, - } + '@rollup/rollup-win32-x64-gnu@4.60.2': + resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.60.2': + resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - "@ryanto/esbuild-plugin-tailwind@0.0.3": - resolution: - { - integrity: sha512-hC2porLY+0nfqkgJKe8r/kVQqVxZtD7MlXtEGnq6FCZJz+l/tNMvnC8Ps8JfJPwNOJ5Jko1qSdyp6+Xj1sapSw==, - } + '@ryanto/esbuild-plugin-tailwind@0.0.3': + resolution: {integrity: sha512-hC2porLY+0nfqkgJKe8r/kVQqVxZtD7MlXtEGnq6FCZJz+l/tNMvnC8Ps8JfJPwNOJ5Jko1qSdyp6+Xj1sapSw==} peerDependencies: - esbuild: "*" - tailwindcss: ">= 4.0.0" - - "@shikijs/core@3.13.0": - resolution: - { - integrity: sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==, - } - - "@shikijs/engine-javascript@3.13.0": - resolution: - { - integrity: sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==, - } - - "@shikijs/engine-oniguruma@3.13.0": - resolution: - { - integrity: sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==, - } - - "@shikijs/langs@3.13.0": - resolution: - { - integrity: sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==, - } - - "@shikijs/themes@3.13.0": - resolution: - { - integrity: sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==, - } - - "@shikijs/transformers@3.13.0": - resolution: - { - integrity: sha512-833lcuVzcRiG+fXvgslWsM2f4gHpjEgui1ipIknSizRuTgMkNZupiXE5/TVJ6eSYfhNBFhBZKkReKWO2GgYmqA==, - } - - "@shikijs/types@3.13.0": - resolution: - { - integrity: sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==, - } - - "@shikijs/vscode-textmate@10.0.2": - resolution: - { - integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==, - } - - "@sindresorhus/slugify@3.0.0": - resolution: - { - integrity: sha512-SCrKh1zS96q+CuH5GumHcyQEVPsM4Ve8oE0E6tw7AAhGq50K8ojbTUOQnX/j9Mhcv/AXiIsbCfquovyGOo5fGw==, - } - engines: { node: ">=20" } - - "@sindresorhus/transliterate@2.0.0": - resolution: - { - integrity: sha512-lRx63oCHxeJ90DqIgmbxH1PQmiBDY1wVaLzB4hK0d/xS5BrG1iZO3HdCJS/DQJk6GJ8xHDev8OMI7iGxvE1ZUA==, - } - engines: { node: ">=20" } - - "@swc/helpers@0.5.17": - resolution: - { - integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==, - } - - "@tailwindcss/node@4.1.14": - resolution: - { - integrity: sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==, - } - - "@tailwindcss/oxide-android-arm64@4.1.14": - resolution: - { - integrity: sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==, - } - engines: { node: ">= 10" } + esbuild: '*' + tailwindcss: '>= 4.0.0' + + '@shikijs/core@3.23.0': + resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} + + '@shikijs/engine-javascript@3.23.0': + resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==} + + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} + + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} + + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} + + '@shikijs/transformers@3.23.0': + resolution: {integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==} + + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@sindresorhus/slugify@3.0.0': + resolution: {integrity: sha512-SCrKh1zS96q+CuH5GumHcyQEVPsM4Ve8oE0E6tw7AAhGq50K8ojbTUOQnX/j9Mhcv/AXiIsbCfquovyGOo5fGw==} + engines: {node: '>=20'} + + '@sindresorhus/transliterate@2.3.1': + resolution: {integrity: sha512-gVaaGtKYMYAMmI8buULVH3A2TXVJ98QiwGwI7ddrWGuGidGC2uRt4FHs22+8iROJ0QTzju9CuMjlVsrvpqsdhA==} + engines: {node: '>=20'} + + '@swc/helpers@0.5.21': + resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} + + '@tailwindcss/node@4.1.14': + resolution: {integrity: sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==} + + '@tailwindcss/oxide-android-arm64@4.1.14': + resolution: {integrity: sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [android] - "@tailwindcss/oxide-darwin-arm64@4.1.14": - resolution: - { - integrity: sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-darwin-arm64@4.1.14': + resolution: {integrity: sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==} + engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - "@tailwindcss/oxide-darwin-x64@4.1.14": - resolution: - { - integrity: sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-darwin-x64@4.1.14': + resolution: {integrity: sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==} + engines: {node: '>= 10'} cpu: [x64] os: [darwin] - "@tailwindcss/oxide-freebsd-x64@4.1.14": - resolution: - { - integrity: sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-freebsd-x64@4.1.14': + resolution: {integrity: sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==} + engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14": - resolution: - { - integrity: sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14': + resolution: {integrity: sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==} + engines: {node: '>= 10'} cpu: [arm] os: [linux] - "@tailwindcss/oxide-linux-arm64-gnu@4.1.14": - resolution: - { - integrity: sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-linux-arm64-gnu@4.1.14': + resolution: {integrity: sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] - "@tailwindcss/oxide-linux-arm64-musl@4.1.14": - resolution: - { - integrity: sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-linux-arm64-musl@4.1.14': + resolution: {integrity: sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] - "@tailwindcss/oxide-linux-x64-gnu@4.1.14": - resolution: - { - integrity: sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-linux-x64-gnu@4.1.14': + resolution: {integrity: sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] - "@tailwindcss/oxide-linux-x64-musl@4.1.14": - resolution: - { - integrity: sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-linux-x64-musl@4.1.14': + resolution: {integrity: sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] - "@tailwindcss/oxide-wasm32-wasi@4.1.14": - resolution: - { - integrity: sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==, - } - engines: { node: ">=14.0.0" } + '@tailwindcss/oxide-wasm32-wasi@4.1.14': + resolution: {integrity: sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==} + engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: - - "@napi-rs/wasm-runtime" - - "@emnapi/core" - - "@emnapi/runtime" - - "@tybys/wasm-util" - - "@emnapi/wasi-threads" + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' - tslib - "@tailwindcss/oxide-win32-arm64-msvc@4.1.14": - resolution: - { - integrity: sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-win32-arm64-msvc@4.1.14': + resolution: {integrity: sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] - "@tailwindcss/oxide-win32-x64-msvc@4.1.14": - resolution: - { - integrity: sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==, - } - engines: { node: ">= 10" } + '@tailwindcss/oxide-win32-x64-msvc@4.1.14': + resolution: {integrity: sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] - "@tailwindcss/oxide@4.1.14": - resolution: - { - integrity: sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==, - } - engines: { node: ">= 10" } - - "@tailwindcss/typography@0.5.19": - resolution: - { - integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==, - } + '@tailwindcss/oxide@4.1.14': + resolution: {integrity: sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==} + engines: {node: '>= 10'} + + '@tailwindcss/typography@0.5.19': + resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} peerDependencies: - tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' - "@tanstack/react-virtual@3.13.10": - resolution: - { - integrity: sha512-nvrzk4E9mWB4124YdJ7/yzwou7IfHxlSef6ugCFcBfRmsnsma3heciiiV97sBNxyc3VuwtZvmwXd0aB5BpucVw==, - } + '@tanstack/react-virtual@3.13.24': + resolution: {integrity: sha512-aIJvz5OSkhNIhZIpYivrxrPTKYsjW9Uzy+sP/mx0S3sev2HyvPb7xmjbYvokzEpfgYHy/HjzJ2zFAETuUfgCpg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - "@tanstack/virtual-core@3.13.10": - resolution: - { - integrity: sha512-sPEDhXREou5HyZYqSWIqdU580rsF6FGeN7vpzijmP3KTiOGjOMZASz4Y6+QKjiFQwhWrR58OP8izYaNGVxvViA==, - } - - "@tybys/wasm-util@0.10.1": - resolution: - { - integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==, - } - - "@types/babel__core@7.20.5": - resolution: - { - integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, - } - - "@types/babel__generator@7.27.0": - resolution: - { - integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, - } - - "@types/babel__template@7.4.4": - resolution: - { - integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, - } - - "@types/babel__traverse@7.20.4": - resolution: - { - integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==, - } - - "@types/chai@5.2.2": - resolution: - { - integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==, - } - - "@types/deep-eql@4.0.2": - resolution: - { - integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, - } - - "@types/eslint-scope@3.7.7": - resolution: - { - integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==, - } - - "@types/eslint@9.6.1": - resolution: - { - integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==, - } - - "@types/estree@1.0.6": - resolution: - { - integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, - } - - "@types/estree@1.0.8": - resolution: - { - integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, - } - - "@types/etag@1.8.4": - resolution: - { - integrity: sha512-f1z/UMth8gQ6636NBqhFmJ3zES7EuDcUnV6K1gl1osHp+85KPKX+VixYWUpqLkw1fftCagyHJjJOZjZkEi2rHw==, - } - - "@types/hast@3.0.4": - resolution: - { - integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==, - } - - "@types/js-yaml@4.0.9": - resolution: - { - integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==, - } - - "@types/json-schema@7.0.15": - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } - - "@types/linkify-it@3.0.5": - resolution: - { - integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==, - } - - "@types/markdown-it@12.2.3": - resolution: - { - integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==, - } - - "@types/mdast@4.0.4": - resolution: - { - integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==, - } - - "@types/mdurl@1.0.5": - resolution: - { - integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==, - } - - "@types/mime-types@3.0.1": - resolution: - { - integrity: sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==, - } - - "@types/node@12.20.55": - resolution: - { - integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==, - } - - "@types/node@22.10.2": - resolution: - { - integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==, - } - - "@types/node@24.0.15": - resolution: - { - integrity: sha512-oaeTSbCef7U/z7rDeJA138xpG3NuKc64/rZ2qmUFkFJmnMsAPaluIifqyWd8hSSMxyP9oie3dLAqYPblag9KgA==, - } - - "@types/picomatch@4.0.2": - resolution: - { - integrity: sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==, - } - - "@types/prompts@2.4.9": - resolution: - { - integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==, - } - - "@types/react-dom@19.2.3": - resolution: - { - integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==, - } - peerDependencies: - "@types/react": ^19.2.0 - - "@types/react@19.2.10": - resolution: - { - integrity: sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==, - } - - "@types/signale@1.4.7": - resolution: - { - integrity: sha512-nc0j37QupTT7OcYeH3gRE1ZfzUalEUsDKJsJ3IsJr0pjjFZTjtrX1Bsn6Kv56YXI/H9rNSwAkIPRxNlZI8GyQw==, - } - - "@types/tar@6.1.13": - resolution: - { - integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==, - } - - "@types/unist@3.0.3": - resolution: - { - integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==, - } - - "@typescript-eslint/eslint-plugin@8.45.0": - resolution: - { - integrity: sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - "@typescript-eslint/parser": ^8.45.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/eslint-plugin@8.46.2": - resolution: - { - integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - "@typescript-eslint/parser": ^8.46.2 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/parser@8.45.0": - resolution: - { - integrity: sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/parser@8.46.2": - resolution: - { - integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/project-service@8.45.0": - resolution: - { - integrity: sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/project-service@8.46.2": - resolution: - { - integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/scope-manager@8.45.0": - resolution: - { - integrity: sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/scope-manager@8.46.2": - resolution: - { - integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/tsconfig-utils@8.45.0": - resolution: - { - integrity: sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@tanstack/virtual-core@3.14.0': + resolution: {integrity: sha512-JLANqGy/D6k4Ujmh8Tr25lGimuOXNiaVyXaCAZS0W+1390sADdGnyUdSWNIfd49gebtIxGMij4IktRVzrdr12Q==} + + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/etag@1.8.4': + resolution: {integrity: sha512-f1z/UMth8gQ6636NBqhFmJ3zES7EuDcUnV6K1gl1osHp+85KPKX+VixYWUpqLkw1fftCagyHJjJOZjZkEi2rHw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/linkify-it@3.0.5': + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + + '@types/markdown-it@12.2.3': + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + + '@types/mime-types@3.0.1': + resolution: {integrity: sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@22.19.17': + resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} + + '@types/node@25.6.0': + resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + + '@types/picomatch@4.0.3': + resolution: {integrity: sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==} + + '@types/prompts@2.4.9': + resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/tsconfig-utils@8.46.2": - resolution: - { - integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@types/react': ^19.2.0 + + '@types/react@19.2.14': + resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==} + + '@types/signale@1.4.7': + resolution: {integrity: sha512-nc0j37QupTT7OcYeH3gRE1ZfzUalEUsDKJsJ3IsJr0pjjFZTjtrX1Bsn6Kv56YXI/H9rNSwAkIPRxNlZI8GyQw==} + + '@types/tar@6.1.13': + resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@typescript-eslint/eslint-plugin@8.58.2': + resolution: {integrity: sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/type-utils@8.45.0": - resolution: - { - integrity: sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/parser': ^8.58.2 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.58.2': + resolution: {integrity: sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/type-utils@8.46.2": - resolution: - { - integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.58.2': + resolution: {integrity: sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/types@8.45.0": - resolution: - { - integrity: sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/types@8.46.2": - resolution: - { - integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/typescript-estree@8.45.0": - resolution: - { - integrity: sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.58.2': + resolution: {integrity: sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.58.2': + resolution: {integrity: sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/typescript-estree@8.46.2": - resolution: - { - integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.58.2': + resolution: {integrity: sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/utils@8.45.0": - resolution: - { - integrity: sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.58.2': + resolution: {integrity: sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.58.2': + resolution: {integrity: sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/utils@8.46.2": - resolution: - { - integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/utils@8.58.2': + resolution: {integrity: sha512-QZfjHNEzPY8+l0+fIXMvuQ2sJlplB4zgDZvA+NmvZsZv3EQwOcc1DuIU1VJUTWZ/RKouBMhDyNaBMx4sWvrzRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - "@typescript-eslint/visitor-keys@8.45.0": - resolution: - { - integrity: sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@typescript-eslint/visitor-keys@8.46.2": - resolution: - { - integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - "@ungap/structured-clone@1.2.0": - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - - "@vitest/expect@3.2.4": - resolution: - { - integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==, - } - - "@vitest/mocker@3.2.4": - resolution: - { - integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==, - } + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.58.2': + resolution: {integrity: sha512-f1WO2Lx8a9t8DARmcWAUPJbu0G20bJlj8L4z72K00TMeJAoyLr/tHhI/pzYBLrR4dXWkcxO1cWYZEOX8DKHTqA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -3322,800 +2216,398 @@ packages: vite: optional: true - "@vitest/pretty-format@3.2.4": - resolution: - { - integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==, - } - - "@vitest/runner@3.2.4": - resolution: - { - integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==, - } - - "@vitest/snapshot@3.2.4": - resolution: - { - integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==, - } - - "@vitest/spy@3.2.4": - resolution: - { - integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==, - } - - "@vitest/utils@3.2.4": - resolution: - { - integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==, - } - - "@webassemblyjs/ast@1.14.1": - resolution: - { - integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==, - } - - "@webassemblyjs/floating-point-hex-parser@1.13.2": - resolution: - { - integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==, - } - - "@webassemblyjs/helper-api-error@1.13.2": - resolution: - { - integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==, - } - - "@webassemblyjs/helper-buffer@1.14.1": - resolution: - { - integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==, - } - - "@webassemblyjs/helper-numbers@1.13.2": - resolution: - { - integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==, - } - - "@webassemblyjs/helper-wasm-bytecode@1.13.2": - resolution: - { - integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==, - } - - "@webassemblyjs/helper-wasm-section@1.14.1": - resolution: - { - integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==, - } - - "@webassemblyjs/ieee754@1.13.2": - resolution: - { - integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==, - } - - "@webassemblyjs/leb128@1.13.2": - resolution: - { - integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==, - } - - "@webassemblyjs/utf8@1.13.2": - resolution: - { - integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==, - } - - "@webassemblyjs/wasm-edit@1.14.1": - resolution: - { - integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==, - } - - "@webassemblyjs/wasm-gen@1.14.1": - resolution: - { - integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==, - } - - "@webassemblyjs/wasm-opt@1.14.1": - resolution: - { - integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==, - } - - "@webassemblyjs/wasm-parser@1.14.1": - resolution: - { - integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==, - } - - "@webassemblyjs/wast-printer@1.14.1": - resolution: - { - integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==, - } - - "@whatwg-node/fetch@0.9.22": - resolution: - { - integrity: sha512-+RIBffgoaRlWV9cKV6wAX71sbeoU2APOI3G13ZRMkabYHwkvDMeZDTyxJcsMXA5CpieJ7NFXF9Xyu72jwvdzqA==, - } - engines: { node: ">=18.0.0" } - - "@whatwg-node/node-fetch@0.5.27": - resolution: - { - integrity: sha512-0OaMj5W4fzWimRSFq07qFiWfquaUMNB+695GwE76LYKVuah+jwCdzSgsIOtwPkiyJ35w0XGhXmJPiIJCdLwopg==, - } - engines: { node: ">=18.0.0" } - - "@xtuc/ieee754@1.2.0": - resolution: - { - integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, - } - - "@xtuc/long@4.2.2": - resolution: - { - integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, - } + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@whatwg-node/fetch@0.9.23': + resolution: {integrity: sha512-7xlqWel9JsmxahJnYVUj/LLxWcnA93DR4c9xlw3U814jWTiYalryiH1qToik1hOxweKKRLi4haXHM5ycRksPBA==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/node-fetch@0.6.0': + resolution: {integrity: sha512-tcZAhrpx6oVlkEsRngeTEEE7I5/QdLjeEz4IlekabGaESP7+Dkm/6a9KcF1KdCBB7mO9PXtBkwCuTCt8+UPg8Q==} + engines: {node: '>=18.0.0'} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 acorn-jsx@5.3.2: - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn-loose@8.5.2: - resolution: - { - integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==, - } - engines: { node: ">=0.4.0" } - - acorn@8.15.0: - resolution: - { - integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==, - } - engines: { node: ">=0.4.0" } + resolution: {integrity: sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==} + engines: {node: '>=0.4.0'} + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} hasBin: true ajv-formats@2.1.1: - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - ajv-keywords@3.5.2: - resolution: - { - integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==, - } - peerDependencies: - ajv: ^6.9.1 - ajv-keywords@5.1.0: - resolution: - { - integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==, - } + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - ajv@8.17.1: - resolution: - { - integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, - } + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - - ansi-regex@6.1.0: - resolution: - { - integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - - ansi-styles@6.2.1: - resolution: - { - integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - - aria-hidden@1.2.4: - resolution: - { - integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==, - } - engines: { node: ">=10" } - - array-buffer-byte-length@1.0.0: - resolution: - { - integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==, - } - - array-buffer-byte-length@1.0.1: - resolution: - { - integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} array-buffer-byte-length@1.0.2: - resolution: - { - integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==, - } - engines: { node: ">= 0.4" } - - array-includes@3.1.8: - resolution: - { - integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} array.prototype.findlast@1.2.5: - resolution: - { - integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==, - } - engines: { node: ">= 0.4" } - - array.prototype.flat@1.3.2: - resolution: - { - integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} array.prototype.flatmap@1.3.3: - resolution: - { - integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} array.prototype.tosorted@1.1.4: - resolution: - { - integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==, - } - engines: { node: ">= 0.4" } - - arraybuffer.prototype.slice@1.0.2: - resolution: - { - integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==, - } - engines: { node: ">= 0.4" } - - arraybuffer.prototype.slice@1.0.3: - resolution: - { - integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.4: - resolution: - { - integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} assertion-error@2.0.1: - resolution: - { - integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, - } - engines: { node: ">=12" } - - available-typed-arrays@1.0.5: - resolution: - { - integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} available-typed-arrays@1.0.7: - resolution: - { - integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} babel-plugin-react-compiler@19.1.0-rc.3: - resolution: - { - integrity: sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==, - } + resolution: {integrity: sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==} balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.10.20: + resolution: {integrity: sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==} + engines: {node: '>=6.0.0'} + hasBin: true better-path-resolve@1.0.0: - resolution: - { - integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} binary-extensions@2.3.0: - resolution: - { - integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} boolbase@1.0.0: - resolution: - { - integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, - } - - brace-expansion@1.1.12: - resolution: - { - integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==, - } - - brace-expansion@2.0.2: - resolution: - { - integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==, - } + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.14: + resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} + + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: - resolution: - { - integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, - } - engines: { node: ">=8" } - - browserslist@4.25.1: - resolution: - { - integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} busboy@1.6.0: - resolution: - { - integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, - } - engines: { node: ">=10.16.0" } + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} call-bind-apply-helpers@1.0.2: - resolution: - { - integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, - } - engines: { node: ">= 0.4" } - - call-bind@1.0.5: - resolution: - { - integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==, - } - - call-bind@1.0.7: - resolution: - { - integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, - } - engines: { node: ">= 0.4" } - - call-bind@1.0.8: - resolution: - { - integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==, - } - engines: { node: ">= 0.4" } - - call-bound@1.0.3: - resolution: - { - integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} call-bound@1.0.4: - resolution: - { - integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - - caniuse-lite@1.0.30001727: - resolution: - { - integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==, - } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001788: + resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==} ccount@2.0.1: - resolution: - { - integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==, - } - - chai@5.2.0: - resolution: - { - integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} character-entities-html4@2.1.0: - resolution: - { - integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==, - } + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} character-entities-legacy@3.0.0: - resolution: - { - integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==, - } - - chardet@2.1.0: - resolution: - { - integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==, - } - - check-error@2.1.1: - resolution: - { - integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==, - } - engines: { node: ">= 16" } + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + + check-error@2.1.3: + resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} + engines: {node: '>= 16'} cheerio-select@2.1.0: - resolution: - { - integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==, - } - - cheerio@1.1.1: - resolution: - { - integrity: sha512-bTXxVZeOfc3I97S4CSYVjcYvaTp92YOlwEUrVRtYrkuVn7S8/QKnnozVlztPcXlU039S2UxtsjAMyFRbX3V9gQ==, - } - engines: { node: ">=20.18.1" } + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} + engines: {node: '>=20.18.1'} chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: ">= 8.10.0" } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} chokidar@4.0.3: - resolution: - { - integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==, - } - engines: { node: ">= 14.16.0" } + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} chownr@3.0.0: - resolution: - { - integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chrome-trace-event@1.0.4: - resolution: - { - integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==, - } - engines: { node: ">=6.0" } - - ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} client-only@0.0.1: - resolution: - { - integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==, - } + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} clsx@2.1.1: - resolution: - { - integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} comma-separated-tokens@2.0.3: - resolution: - { - integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, - } - - commander@14.0.1: - resolution: - { - integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} commander@2.20.3: - resolution: - { - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, - } + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - - cookie@1.0.2: - resolution: - { - integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} cross-spawn@7.0.6: - resolution: - { - integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} css-select@5.2.2: - resolution: - { - integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==, - } + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} css-what@6.2.2: - resolution: - { - integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} cssesc@3.0.0: - resolution: - { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true csstype@3.2.3: - resolution: - { - integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, - } - - data-view-buffer@1.0.1: - resolution: - { - integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} data-view-buffer@1.0.2: - resolution: - { - integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==, - } - engines: { node: ">= 0.4" } - - data-view-byte-length@1.0.1: - resolution: - { - integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} data-view-byte-length@1.0.2: - resolution: - { - integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==, - } - engines: { node: ">= 0.4" } - - data-view-byte-offset@1.0.0: - resolution: - { - integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} data-view-byte-offset@1.0.1: - resolution: - { - integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==, - } - engines: { node: ">= 0.4" } - - debug@4.3.7: - resolution: - { - integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} - debug@4.4.1: - resolution: - { - integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==, - } - engines: { node: ">=6.0" } + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} peerDependencies: - supports-color: "*" + supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dedent@1.7.0: - resolution: - { - integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==, - } + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -4123,587 +2615,277 @@ packages: optional: true deep-eql@5.0.2: - resolution: - { - integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - - define-data-property@1.1.1: - resolution: - { - integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} define-properties@1.2.1: - resolution: - { - integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dequal@2.0.3: - resolution: - { - integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} detect-indent@6.1.0: - resolution: - { - integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, - } - engines: { node: ">=8" } - - detect-libc@2.0.4: - resolution: - { - integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==, - } - engines: { node: ">=8" } - - detect-libc@2.1.1: - resolution: - { - integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} detect-node-es@1.1.0: - resolution: - { - integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==, - } + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} devlop@1.1.0: - resolution: - { - integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==, - } + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} dir-glob@3.0.1: - resolution: - { - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} doctrine@2.1.0: - resolution: - { - integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dom-serializer@2.0.0: - resolution: - { - integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, - } + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} domelementtype@2.3.0: - resolution: - { - integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, - } + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} domhandler@5.0.3: - resolution: - { - integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} domutils@3.2.2: - resolution: - { - integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==, - } - - dotenv@17.2.3: - resolution: - { - integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dotenv@17.4.2: + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} + engines: {node: '>=12'} dunder-proto@1.0.1: - resolution: - { - integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, - } - engines: { node: ">= 0.4" } - - eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } - - electron-to-chromium@1.5.187: - resolution: - { - integrity: sha512-cl5Jc9I0KGUoOoSbxvTywTa40uspGJt/BDBoDLoxJRSBpWh4FFXBsjNRHfQrONsV/OoEjDfHUmZQa2d6Ze4YgA==, - } - - emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } - - emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.340: + resolution: {integrity: sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==} encoding-sniffer@0.2.1: - resolution: - { - integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==, - } - - enhanced-resolve@5.18.3: - resolution: - { - integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + + enhanced-resolve@5.20.1: + resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} + engines: {node: '>=10.13.0'} enquirer@2.4.1: - resolution: - { - integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} entities@4.5.0: - resolution: - { - integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, - } - engines: { node: ">=0.12" } + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} entities@6.0.1: - resolution: - { - integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==, - } - engines: { node: ">=0.12" } - - error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } - - es-abstract@1.22.3: - resolution: - { - integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==, - } - engines: { node: ">= 0.4" } - - es-abstract@1.23.3: - resolution: - { - integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==, - } - engines: { node: ">= 0.4" } - - es-abstract@1.23.9: - resolution: - { - integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==, - } - engines: { node: ">= 0.4" } - - es-define-property@1.0.0: - resolution: - { - integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} es-define-property@1.0.1: - resolution: - { - integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: ">= 0.4" } - - es-iterator-helpers@1.2.1: - resolution: - { - integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.3.2: + resolution: {integrity: sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==} + engines: {node: '>= 0.4'} es-module-lexer@1.7.0: - resolution: - { - integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, - } - - es-object-atoms@1.0.0: - resolution: - { - integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} es-object-atoms@1.1.1: - resolution: - { - integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==, - } - engines: { node: ">= 0.4" } - - es-set-tostringtag@2.0.2: - resolution: - { - integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==, - } - engines: { node: ">= 0.4" } - - es-set-tostringtag@2.0.3: - resolution: - { - integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: - resolution: - { - integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, - } - engines: { node: ">= 0.4" } - - es-shim-unscopables@1.0.2: - resolution: - { - integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==, - } - - es-to-primitive@1.2.1: - resolution: - { - integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} es-to-primitive@1.3.0: - resolution: - { - integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==, - } - engines: { node: ">= 0.4" } - - esbuild@0.25.10: - resolution: - { - integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==, - } - engines: { node: ">=18" } - hasBin: true + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} esbuild@0.27.2: - resolution: - { - integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: - resolution: - { - integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} escape-string-regexp@5.0.0: - resolution: - { - integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, - } - engines: { node: ">=12" } - - eslint-plugin-react-hooks@7.0.0: - resolution: - { - integrity: sha512-fNXaOwvKwq2+pXiRpXc825Vd63+KM4DLL40Rtlycb8m7fYpp6efrTp1sa6ZbP/Ap58K2bEKFXRmhURE+CJAQWw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 eslint-plugin-react@7.37.5: - resolution: - { - integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} + engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 eslint-scope@5.1.1: - resolution: - { - integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, - } - engines: { node: ">=8.0.0" } - - eslint-scope@8.3.0: - resolution: - { - integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} eslint-scope@8.4.0: - resolution: - { - integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - - eslint-visitor-keys@4.2.0: - resolution: - { - integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} eslint-visitor-keys@4.2.1: - resolution: - { - integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - - eslint@9.23.0: - resolution: - { - integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@9.39.4: + resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: - jiti: "*" + jiti: '*' peerDependenciesMeta: jiti: optional: true - eslint@9.38.0: - resolution: - { - integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - hasBin: true - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true - - espree@10.3.0: - resolution: - { - integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - espree@10.4.0: - resolution: - { - integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true - esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - - esquery@1.6.0: - resolution: - { - integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, - } - engines: { node: ">=0.10" } + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} estraverse@4.3.0: - resolution: - { - integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - - expect-type@1.2.2: - resolution: - { - integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} extendable-error@0.1.7: - resolution: - { - integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==, - } + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: ">=8.6.0" } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - - fast-uri@3.0.6: - resolution: - { - integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==, - } - - fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - - fdir@6.4.6: - resolution: - { - integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==, - } + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -4711,84 +2893,48 @@ packages: optional: true figures@2.0.0: - resolution: - { - integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} file-entry-cache@8.0.0: - resolution: - { - integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, - } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: - resolution: - { - integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} find-up@2.1.0: - resolution: - { - integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} flat-cache@4.0.1: - resolution: - { - integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, - } - engines: { node: ">=16" } - - flatted@3.3.3: - resolution: - { - integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, - } - - for-each@0.3.3: - resolution: - { - integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, - } - - foreground-child@3.3.0: - resolution: - { - integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==, - } - engines: { node: ">=14" } - - framer-motion@12.23.22: - resolution: - { - integrity: sha512-ZgGvdxXCw55ZYvhoZChTlG6pUuehecgvEAJz0BHoC5pQKW1EC5xf1Mul1ej5+ai+pVY0pylyFfdl45qnM1/GsA==, - } + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + framer-motion@12.38.0: + resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} peerDependencies: - "@emotion/is-prop-valid": "*" + '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: - "@emotion/is-prop-valid": + '@emotion/is-prop-valid': optional: true react: optional: true @@ -4796,1247 +2942,627 @@ packages: optional: true fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} fs-extra@8.1.0: - resolution: - { - integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, - } - engines: { node: ">=6 <7 || >=8" } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - - function.prototype.name@1.1.6: - resolution: - { - integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} function.prototype.name@1.1.8: - resolution: - { - integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} functions-have-names@1.2.3: - resolution: - { - integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, - } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: ">=6.9.0" } - - get-intrinsic@1.2.2: - resolution: - { - integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==, - } - - get-intrinsic@1.2.4: - resolution: - { - integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, - } - engines: { node: ">= 0.4" } - - get-intrinsic@1.2.7: - resolution: - { - integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} get-intrinsic@1.3.0: - resolution: - { - integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} get-nonce@1.0.1: - resolution: - { - integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} get-proto@1.0.1: - resolution: - { - integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, - } - engines: { node: ">= 0.4" } - - get-symbol-description@1.0.0: - resolution: - { - integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, - } - engines: { node: ">= 0.4" } - - get-symbol-description@1.0.2: - resolution: - { - integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-symbol-description@1.1.0: - resolution: - { - integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==, - } - engines: { node: ">= 0.4" } - - get-tsconfig@4.10.1: - resolution: - { - integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==, - } + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} glob-to-regexp@0.4.1: - resolution: - { - integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, - } - - glob@10.4.5: - resolution: - { - integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, - } - hasBin: true + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} globals@14.0.0: - resolution: - { - integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, - } - engines: { node: ">=18" } - - globals@16.4.0: - resolution: - { - integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==, - } - engines: { node: ">=18" } - - globalthis@1.0.3: - resolution: - { - integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} globalthis@1.0.4: - resolution: - { - integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: ">=10" } - - gopd@1.0.1: - resolution: - { - integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, - } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} gopd@1.2.0: - resolution: - { - integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, - } - engines: { node: ">= 0.4" } + 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==, - } - - graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - - has-bigints@1.0.2: - resolution: - { - integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, - } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - - has-property-descriptors@1.0.1: - resolution: - { - integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==, - } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } - - has-proto@1.0.1: - resolution: - { - integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==, - } - engines: { node: ">= 0.4" } - - has-proto@1.0.3: - resolution: - { - integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} has-proto@1.2.0: - resolution: - { - integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==, - } - engines: { node: ">= 0.4" } - - has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} has-symbols@1.1.0: - resolution: - { - integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, - } - engines: { node: ">= 0.4" } - - has-tostringtag@1.0.0: - resolution: - { - integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} has-tostringtag@1.0.2: - resolution: - { - integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, - } - engines: { node: ">= 0.4" } - - hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.3: + resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + engines: {node: '>= 0.4'} hast-util-to-html@9.0.5: - resolution: - { - integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==, - } + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} hast-util-whitespace@3.0.0: - resolution: - { - integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==, - } + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} hermes-estree@0.25.1: - resolution: - { - integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==, - } + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} hermes-parser@0.25.1: - resolution: - { - integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==, - } + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} html-void-elements@3.0.0: - resolution: - { - integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==, - } - - htmlparser2@10.0.0: - resolution: - { - integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==, - } - - human-id@4.1.1: - resolution: - { - integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==, - } + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + + human-id@4.1.3: + resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} hasBin: true iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: ">=0.10.0" } - - iconv-lite@0.7.0: - resolution: - { - integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} ignore-by-default@1.0.1: - resolution: - { - integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==, - } + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} ignore@5.3.2: - resolution: - { - integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} ignore@7.0.5: - resolution: - { - integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==, - } - engines: { node: ">= 4" } + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} import-fresh@3.3.1: - resolution: - { - integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - - internal-slot@1.0.6: - resolution: - { - integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==, - } - engines: { node: ">= 0.4" } - - internal-slot@1.0.7: - resolution: - { - integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} internal-slot@1.1.0: - resolution: - { - integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==, - } - engines: { node: ">= 0.4" } - - is-array-buffer@3.0.2: - resolution: - { - integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==, - } - - is-array-buffer@3.0.4: - resolution: - { - integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} is-array-buffer@3.0.5: - resolution: - { - integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } - - is-async-function@2.0.0: - resolution: - { - integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==, - } - engines: { node: ">= 0.4" } - - is-bigint@1.0.4: - resolution: - { - integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} is-bigint@1.1.0: - resolution: - { - integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==, - } - engines: { node: ">= 0.4" } + 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.1.2: - resolution: - { - integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, - } - engines: { node: ">= 0.4" } + 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" } + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} is-callable@1.2.7: - resolution: - { - integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, - } - engines: { node: ">= 0.4" } - - is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - - is-data-view@1.0.1: - resolution: - { - integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} is-data-view@1.0.2: - resolution: - { - integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==, - } - engines: { node: ">= 0.4" } - - is-date-object@1.0.5: - resolution: - { - integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} is-date-object@1.1.0: - resolution: - { - integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - - is-finalizationregistry@1.0.2: - resolution: - { - integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==, - } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-finalizationregistry@1.1.1: - resolution: - { - integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==, - } - engines: { node: ">= 0.4" } - - is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } - - is-generator-function@1.0.10: - resolution: - { - integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} is-map@2.0.3: - resolution: - { - integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, - } - engines: { node: ">= 0.4" } - - is-negative-zero@2.0.2: - resolution: - { - integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} is-negative-zero@2.0.3: - resolution: - { - integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, - } - engines: { node: ">= 0.4" } - - is-number-object@1.0.7: - resolution: - { - integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} is-number-object@1.1.1: - resolution: - { - integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } - - is-regex@1.1.4: - resolution: - { - integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} is-regex@1.2.1: - resolution: - { - integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} is-set@2.0.3: - resolution: - { - integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, - } - engines: { node: ">= 0.4" } - - is-shared-array-buffer@1.0.2: - resolution: - { - integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, - } - - is-shared-array-buffer@1.0.3: - resolution: - { - integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} is-shared-array-buffer@1.0.4: - resolution: - { - integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==, - } - engines: { node: ">= 0.4" } - - is-string@1.0.7: - resolution: - { - integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} is-string@1.1.1: - resolution: - { - integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} is-subdir@1.2.0: - resolution: - { - integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==, - } - engines: { node: ">=4" } - - is-symbol@1.0.4: - resolution: - { - integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} is-symbol@1.1.1: - resolution: - { - integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==, - } - engines: { node: ">= 0.4" } - - is-typed-array@1.1.12: - resolution: - { - integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==, - } - engines: { node: ">= 0.4" } - - is-typed-array@1.1.13: - resolution: - { - integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} is-typed-array@1.1.15: - resolution: - { - integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} is-weakmap@2.0.2: - resolution: - { - integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, - } - engines: { node: ">= 0.4" } - - is-weakref@1.0.2: - resolution: - { - integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, - } + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.1.1: - resolution: - { - integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==, - } - engines: { node: ">= 0.4" } - - is-weakset@2.0.3: - resolution: - { - integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} is-windows@1.0.2: - resolution: - { - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} isarray@2.0.5: - resolution: - { - integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, - } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} iterator.prototype@1.1.5: - resolution: - { - integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==, - } - engines: { node: ">= 0.4" } - - jackspeak@3.4.3: - resolution: - { - integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, - } + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} jest-worker@27.5.1: - resolution: - { - integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, - } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} jiti@2.6.1: - resolution: - { - integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==, - } + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-tokens@9.0.1: - resolution: - { - integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==, - } - - js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true - js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true jsesc@3.1.0: - resolution: - { - integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} hasBin: true json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} json-parse-better-errors@1.0.2: - resolution: - { - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, - } - - json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} jsx-ast-utils@3.3.5: - resolution: - { - integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==, - } - engines: { node: ">=4.0" } + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} kleur@4.1.5: - resolution: - { - integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] lightningcss-darwin-arm64@1.30.1: - resolution: - { - integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] lightningcss-darwin-x64@1.30.1: - resolution: - { - integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] lightningcss-freebsd-x64@1.30.1: - resolution: - { - integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] lightningcss-linux-arm-gnueabihf@1.30.1: - resolution: - { - integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] lightningcss-linux-arm64-gnu@1.30.1: - resolution: - { - integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] lightningcss-linux-arm64-musl@1.30.1: - resolution: - { - integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] lightningcss-linux-x64-gnu@1.30.1: - resolution: - { - integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] lightningcss-linux-x64-musl@1.30.1: - resolution: - { - integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] lightningcss-win32-arm64-msvc@1.30.1: - resolution: - { - integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] lightningcss-win32-x64-msvc@1.30.1: - resolution: - { - integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] lightningcss@1.30.1: - resolution: - { - integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==, - } - engines: { node: ">= 12.0.0" } + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} load-json-file@4.0.0: - resolution: - { - integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, - } - engines: { node: ">=4" } - - loader-runner@4.3.0: - resolution: - { - integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==, - } - engines: { node: ">=6.11.5" } + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + engines: {node: '>=6.11.5'} locate-path@2.0.0: - resolution: - { - integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lodash.startcase@4.4.0: - resolution: - { - integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==, - } + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} loose-envify@1.4.0: - resolution: - { - integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, - } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.4: - resolution: - { - integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==, - } - - lru-cache@10.4.3: - resolution: - { - integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, - } + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } - - magic-string@0.30.19: - resolution: - { - integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==, - } - - marked@16.3.0: - resolution: - { - integrity: sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w==, - } - engines: { node: ">= 20" } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} hasBin: true math-intrinsics@1.1.0: - resolution: - { - integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, - } - engines: { node: ">= 0.4" } - - mdast-util-to-hast@13.2.0: - resolution: - { - integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==, - } + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: ">= 8" } - - micromark-util-character@2.1.0: - resolution: - { - integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==, - } - - micromark-util-encode@2.0.0: - resolution: - { - integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==, - } - - micromark-util-sanitize-uri@2.0.0: - resolution: - { - integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==, - } - - micromark-util-symbol@2.0.0: - resolution: - { - integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==, - } - - micromark-util-types@2.0.0: - resolution: - { - integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==, - } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} micromatch@4.0.8: - resolution: - { - integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, - } - engines: { node: ">=8.6" } + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} mime-db@1.54.0: - resolution: - { - integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==, - } - engines: { node: ">= 0.6" } + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - - mime-types@3.0.1: - resolution: - { - integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==, - } - engines: { node: ">= 0.6" } - - minimatch@10.0.3: - resolution: - { - integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==, - } - engines: { node: 20 || >=22 } - - minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - - minimatch@9.0.5: - resolution: - { - integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, - } - engines: { node: ">=16 || 14 >=14.17" } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} minipass@4.2.8: - resolution: - { - integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==, - } - engines: { node: ">=8" } - - minipass@7.1.2: - resolution: - { - integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, - } - engines: { node: ">=16 || 14 >=14.17" } - - minizlib@3.0.1: - resolution: - { - integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==, - } - engines: { node: ">= 18" } + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} minizlib@3.1.0: - resolution: - { - integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==, - } - engines: { node: ">= 18" } - - mkdirp@3.0.1: - resolution: - { - integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==, - } - engines: { node: ">=10" } - hasBin: true + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + + motion-dom@12.38.0: + resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} + + motion-utils@12.36.0: + resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} - motion-dom@12.23.21: - resolution: - { - integrity: sha512-5xDXx/AbhrfgsQmSE7YESMn4Dpo6x5/DTZ4Iyy4xqDvVHWvFVoV+V2Ri2S/ksx+D40wrZ7gPYiMWshkdoqNgNQ==, - } - - motion-utils@12.23.6: - resolution: - { - integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==, - } - - motion@12.23.22: - resolution: - { - integrity: sha512-iSq6X9vLHbeYwmHvhK//+U74ROaPnZmBuy60XZzqNl0QtZkWfoZyMDHYnpKuWFv0sNMqHgED8aCXk94LCoQPGg==, - } + motion@12.38.0: + resolution: {integrity: sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==} peerDependencies: - "@emotion/is-prop-valid": "*" + '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: - "@emotion/is-prop-valid": + '@emotion/is-prop-valid': optional: true react: optional: true @@ -6044,470 +3570,256 @@ packages: optional: true mri@1.2.0: - resolution: - { - integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} nanoid@3.3.11: - resolution: - { - integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} neo-async@2.6.2: - resolution: - { - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, - } - - node-fetch-native@1.6.4: - resolution: - { - integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==, - } - - node-releases@2.0.19: - resolution: - { - integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==, - } - - nodemon@3.1.10: - resolution: - { - integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-exports-info@1.6.0: + resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} + engines: {node: '>= 0.4'} + + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + + node-releases@2.0.37: + resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} + + nodemon@3.1.14: + resolution: {integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==} + engines: {node: '>=10'} hasBin: true normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} nth-check@2.1.1: - resolution: - { - integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, - } + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: ">=0.10.0" } - - object-inspect@1.13.1: - resolution: - { - integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, - } - - object-inspect@1.13.2: - resolution: - { - integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} object-inspect@1.13.4: - resolution: - { - integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} object-keys@1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: ">= 0.4" } - - object.assign@4.1.5: - resolution: - { - integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} object.assign@4.1.7: - resolution: - { - integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} object.entries@1.1.9: - resolution: - { - integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} object.fromentries@2.0.8: - resolution: - { - integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, - } - engines: { node: ">= 0.4" } - - object.values@1.2.0: - resolution: - { - integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} object.values@1.2.1: - resolution: - { - integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} oniguruma-parser@0.12.1: - resolution: - { - integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==, - } - - oniguruma-to-es@4.3.3: - resolution: - { - integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==, - } - - open-graph-scraper@6.10.0: - resolution: - { - integrity: sha512-JTuaO/mWUPduYCIQvunmsQnfGpSRFUTEh4k5cW2KOafJxTm3Z99z25/c1oO9QnIh2DK7ol5plJAq3EUVy+5xyw==, - } - engines: { node: ">=18.0.0" } - - optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + + oniguruma-to-es@4.3.5: + resolution: {integrity: sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==} + + open-graph-scraper@6.11.0: + resolution: {integrity: sha512-KkO3qMMzJj9KYGtCl19dRtncb+RuBiG/P9BgukcAG4p2w9wSAWTE90vL6/xqth1K9ThkYF/+xfTGrVvU79TJtQ==} + engines: {node: '>=20.0.0'} optionator@0.9.4: - resolution: - { - integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} outdent@0.5.0: - resolution: - { - integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==, - } + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} own-keys@1.0.1: - resolution: - { - integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} p-filter@2.1.0: - resolution: - { - integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} p-limit@1.3.0: - resolution: - { - integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} p-locate@2.0.0: - resolution: - { - integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-map@2.1.0: - resolution: - { - integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} p-try@1.0.0: - resolution: - { - integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: ">=6" } - - package-json-from-dist@1.0.1: - resolution: - { - integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, - } - - package-manager-detector@0.2.2: - resolution: - { - integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==, - } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} parse-json@4.0.0: - resolution: - { - integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} parse5-htmlparser2-tree-adapter@7.1.0: - resolution: - { - integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==, - } + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} parse5-parser-stream@7.1.2: - resolution: - { - integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==, - } + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} parse5@7.3.0: - resolution: - { - integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==, - } + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} path-exists@3.0.0: - resolution: - { - integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - - path-scurry@1.11.1: - resolution: - { - integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, - } - engines: { node: ">=16 || 14 >=14.18" } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} path-type@4.0.0: - resolution: - { - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} pathe@2.0.3: - resolution: - { - integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, - } - - pathval@2.0.0: - resolution: - { - integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==, - } - engines: { node: ">= 14.16" } + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pathval@2.0.1: + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} + engines: {node: '>= 14.16'} picocolors@1.1.1: - resolution: - { - integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, - } - - picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: ">=8.6" } - - picomatch@4.0.3: - resolution: - { - integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} pify@3.0.0: - resolution: - { - integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} pify@4.0.1: - resolution: - { - integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} pkg-conf@2.1.0: - resolution: - { - integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==, - } - engines: { node: ">=4" } - - possible-typed-array-names@1.0.0: - resolution: - { - integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} + engines: {node: '>=4'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} postcss-selector-parser@6.0.10: - resolution: - { - integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==, - } - engines: { node: ">=4" } - - postcss@8.5.3: - resolution: - { - integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + + postcss@8.5.10: + resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} prettier-plugin-tailwindcss@0.6.14: - resolution: - { - integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==, - } - engines: { node: ">=14.21.3" } + resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==} + engines: {node: '>=14.21.3'} peerDependencies: - "@ianvs/prettier-plugin-sort-imports": "*" - "@prettier/plugin-hermes": "*" - "@prettier/plugin-oxc": "*" - "@prettier/plugin-pug": "*" - "@shopify/prettier-plugin-liquid": "*" - "@trivago/prettier-plugin-sort-imports": "*" - "@zackad/prettier-plugin-twig": "*" + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-hermes': '*' + '@prettier/plugin-oxc': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig': '*' prettier: ^3.0 - prettier-plugin-astro: "*" - prettier-plugin-css-order: "*" - prettier-plugin-import-sort: "*" - prettier-plugin-jsdoc: "*" - prettier-plugin-marko: "*" - prettier-plugin-multiline-arrays: "*" - prettier-plugin-organize-attributes: "*" - prettier-plugin-organize-imports: "*" - prettier-plugin-sort-imports: "*" - prettier-plugin-style-order: "*" - prettier-plugin-svelte: "*" + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' peerDependenciesMeta: - "@ianvs/prettier-plugin-sort-imports": + '@ianvs/prettier-plugin-sort-imports': optional: true - "@prettier/plugin-hermes": + '@prettier/plugin-hermes': optional: true - "@prettier/plugin-oxc": + '@prettier/plugin-oxc': optional: true - "@prettier/plugin-pug": + '@prettier/plugin-pug': optional: true - "@shopify/prettier-plugin-liquid": + '@shopify/prettier-plugin-liquid': optional: true - "@trivago/prettier-plugin-sort-imports": + '@trivago/prettier-plugin-sort-imports': optional: true - "@zackad/prettier-plugin-twig": + '@zackad/prettier-plugin-twig': optional: true prettier-plugin-astro: optional: true @@ -6533,43 +3845,40 @@ packages: optional: true prettier-plugin-tailwindcss@0.7.2: - resolution: - { - integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==, - } - engines: { node: ">=20.19" } + resolution: {integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==} + engines: {node: '>=20.19'} peerDependencies: - "@ianvs/prettier-plugin-sort-imports": "*" - "@prettier/plugin-hermes": "*" - "@prettier/plugin-oxc": "*" - "@prettier/plugin-pug": "*" - "@shopify/prettier-plugin-liquid": "*" - "@trivago/prettier-plugin-sort-imports": "*" - "@zackad/prettier-plugin-twig": "*" + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-hermes': '*' + '@prettier/plugin-oxc': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig': '*' prettier: ^3.0 - prettier-plugin-astro: "*" - prettier-plugin-css-order: "*" - prettier-plugin-jsdoc: "*" - prettier-plugin-marko: "*" - prettier-plugin-multiline-arrays: "*" - prettier-plugin-organize-attributes: "*" - prettier-plugin-organize-imports: "*" - prettier-plugin-sort-imports: "*" - prettier-plugin-svelte: "*" + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-svelte: '*' peerDependenciesMeta: - "@ianvs/prettier-plugin-sort-imports": + '@ianvs/prettier-plugin-sort-imports': optional: true - "@prettier/plugin-hermes": + '@prettier/plugin-hermes': optional: true - "@prettier/plugin-oxc": + '@prettier/plugin-oxc': optional: true - "@prettier/plugin-pug": + '@prettier/plugin-pug': optional: true - "@shopify/prettier-plugin-liquid": + '@shopify/prettier-plugin-liquid': optional: true - "@trivago/prettier-plugin-sort-imports": + '@trivago/prettier-plugin-sort-imports': optional: true - "@zackad/prettier-plugin-twig": + '@zackad/prettier-plugin-twig': optional: true prettier-plugin-astro: optional: true @@ -6591,1237 +3900,592 @@ packages: optional: true prettier@2.8.8: - resolution: - { - integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, - } - engines: { node: ">=10.13.0" } + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} hasBin: true - prettier@3.6.2: - resolution: - { - integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==, - } - engines: { node: ">=14" } + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + engines: {node: '>=14'} hasBin: true prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: ">= 6" } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} prop-types@15.8.1: - resolution: - { - integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, - } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@7.0.0: - resolution: - { - integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==, - } + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} pstree.remy@1.1.8: - resolution: - { - integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==, - } + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - - randombytes@2.1.0: - resolution: - { - integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, - } - - react-dom@19.2.4: - resolution: - { - integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-aria@3.48.0: + resolution: {integrity: sha512-jQjd4rBEIMqecBaAKYJbVGK6EqIHLa5znVQ7jwFyK5vCyljoj6KhgtiahmcIPsG5vG5vEDLw+ba+bEWn6A2P4w==} peerDependencies: - react: ^19.2.4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom@19.3.0-canary-b061b597-20251212: - resolution: - { - integrity: sha512-24Nx1NYz7IwVlFJT1LbWy8rwrGTCvWtaKTHqx6UvjFEWh07cXM2ktKYrBEZIWBUsdBoRZuMKrhLqENEU+67Zng==, - } + react-dom@19.2.5: + resolution: {integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==} peerDependencies: - react: 19.3.0-canary-b061b597-20251212 + react: ^19.2.5 react-is@16.13.1: - resolution: - { - integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, - } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} react-refresh@0.18.0: - resolution: - { - integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} + engines: {node: '>=0.10.0'} react-remove-scroll-bar@2.3.8: - resolution: - { - integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - react-remove-scroll@2.6.3: - resolution: - { - integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==, - } - engines: { node: ">=10" } + react-remove-scroll@2.7.2: + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - react-server-dom-webpack@19.2.4: - resolution: - { - integrity: sha512-zEhkWv6RhXDctC2N7yEUHg3751nvFg81ydHj8LTTZuukF/IF1gcOKqqAL6Ds+kS5HtDVACYPik0IvzkgYXPhlQ==, - } - engines: { node: ">=0.10.0" } + react-server-dom-webpack@19.2.5: + resolution: {integrity: sha512-bYhdd2cZJhXHqyJBoloYaJrn8MrL9Egf3ZZVn0OrIODCCORm2goFD7C+xszf6xgfsSJi0rtgB/ichcuHfkJ4yQ==} + engines: {node: '>=0.10.0'} peerDependencies: - react: ^19.2.4 - react-dom: ^19.2.4 + react: ^19.2.5 + react-dom: ^19.2.5 webpack: ^5.59.0 + react-stately@3.46.0: + resolution: {integrity: sha512-OdxhWvHgs2L4OJGIs7hnuTr5WjjMM6enhNEAMRqiekhF8+ITvA2LRwNftOZwcogaoCslGYq5S2VQTQwnm0GbCA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-style-singleton@2.2.3: - resolution: - { - integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - react@19.2.4: - resolution: - { - integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==, - } - engines: { node: ">=0.10.0" } - - react@19.3.0-canary-b061b597-20251212: - resolution: - { - integrity: sha512-uyX1l+NV27T9VYf3+MnvyAhHIwfmN2qvHL2Rb1tiYpLNqQwsq4eQmLlLNyhytj/Uu8GdKOjq6YidJ7IATmF4Vw==, - } - engines: { node: ">=0.10.0" } + react@19.2.5: + resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==} + engines: {node: '>=0.10.0'} read-yaml-file@1.1.0: - resolution: - { - integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: ">=8.10.0" } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} readdirp@4.1.2: - resolution: - { - integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, - } - engines: { node: ">= 14.18.0" } + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} reflect.getprototypeof@1.0.10: - resolution: - { - integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==, - } - engines: { node: ">= 0.4" } - - reflect.getprototypeof@1.0.6: - resolution: - { - integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==, - } - engines: { node: ">= 0.4" } - - regenerator-runtime@0.14.0: - resolution: - { - integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==, - } + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} regex-recursion@6.0.2: - resolution: - { - integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==, - } + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} regex-utilities@2.3.0: - resolution: - { - integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==, - } - - regex@6.0.1: - resolution: - { - integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==, - } - - regexp.prototype.flags@1.5.1: - resolution: - { - integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==, - } - engines: { node: ">= 0.4" } - - regexp.prototype.flags@1.5.2: - resolution: - { - integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} regexp.prototype.flags@1.5.4: - resolution: - { - integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} resolve-from@5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - - resolve@2.0.0-next.5: - resolution: - { - integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==, - } - hasBin: true + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - rimraf@5.0.10: - resolution: - { - integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==, - } + resolve@2.0.0-next.6: + resolution: {integrity: sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==} + engines: {node: '>= 0.4'} hasBin: true + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rolldown@1.0.0-beta.53: - resolution: - { - integrity: sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.37.0: - resolution: - { - integrity: sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } + rollup@4.60.2: + resolution: {integrity: sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - - safe-array-concat@1.1.0: - resolution: - { - integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==, - } - engines: { node: ">=0.4" } - - safe-array-concat@1.1.2: - resolution: - { - integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, - } - engines: { node: ">=0.4" } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} safe-array-concat@1.1.3: - resolution: - { - integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==, - } - engines: { node: ">=0.4" } - - safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} safe-push-apply@1.0.0: - resolution: - { - integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==, - } - engines: { node: ">= 0.4" } - - safe-regex-test@1.0.2: - resolution: - { - integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==, - } - engines: { node: ">= 0.4" } - - safe-regex-test@1.0.3: - resolution: - { - integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} safe-regex-test@1.1.0: - resolution: - { - integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} scheduler@0.27.0: - resolution: - { - integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==, - } - - scheduler@0.28.0-canary-b061b597-20251212: - resolution: - { - integrity: sha512-OoB+E3rH3trChnuR4WEAkyOhhcMzSNS+DC5spVjloQK4J8ksrpTYTeNxut5EPLr8lVkhNAqYpzvmonOEit+fOw==, - } - - schema-utils@3.3.0: - resolution: - { - integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==, - } - engines: { node: ">= 10.13.0" } - - schema-utils@4.3.2: - resolution: - { - integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==, - } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.2: - resolution: - { - integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==, - } - engines: { node: ">=10" } + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} hasBin: true serialize-error@12.0.0: - resolution: - { - integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==, - } - engines: { node: ">=18" } - - serialize-javascript@6.0.2: - resolution: - { - integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==, - } + resolution: {integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==} + engines: {node: '>=18'} server-only@0.0.1: - resolution: - { - integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==, - } - - set-function-length@1.2.0: - resolution: - { - integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} set-function-length@1.2.2: - resolution: - { - integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} set-function-name@2.0.2: - resolution: - { - integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} set-proto@1.0.0: - resolution: - { - integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==, - } - engines: { node: ">= 0.4" } - - sharp@0.34.4: - resolution: - { - integrity: sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==, - } - engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 } + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - - shiki@3.13.0: - resolution: - { - integrity: sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==, - } - - side-channel-list@1.0.0: - resolution: - { - integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@3.23.0: + resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} side-channel-map@1.0.1: - resolution: - { - integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: - { - integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, - } - engines: { node: ">= 0.4" } - - side-channel@1.0.6: - resolution: - { - integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} side-channel@1.1.0: - resolution: - { - integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} signale@1.4.0: - resolution: - { - integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} + engines: {node: '>=6'} simple-update-notifier@2.0.0: - resolution: - { - integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} source-map-js@1.2.1: - resolution: - { - integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} source-map-support@0.5.21: - resolution: - { - integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, - } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} space-separated-tokens@2.0.2: - resolution: - { - integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==, - } + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} spawndamnit@3.0.1: - resolution: - { - integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==, - } + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - std-env@3.9.0: - resolution: - { - integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==, - } + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} streamsearch@1.1.0: - resolution: - { - integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, - } - engines: { node: ">=10.0.0" } - - string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } - - string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} string.prototype.matchall@4.0.12: - resolution: - { - integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} string.prototype.repeat@1.0.0: - resolution: - { - integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==, - } + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} string.prototype.trim@1.2.10: - resolution: - { - integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==, - } - engines: { node: ">= 0.4" } - - string.prototype.trim@1.2.8: - resolution: - { - integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==, - } - engines: { node: ">= 0.4" } - - string.prototype.trim@1.2.9: - resolution: - { - integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, - } - engines: { node: ">= 0.4" } - - string.prototype.trimend@1.0.7: - resolution: - { - integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==, - } - - string.prototype.trimend@1.0.8: - resolution: - { - integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, - } + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} string.prototype.trimend@1.0.9: - resolution: - { - integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==, - } - engines: { node: ">= 0.4" } - - string.prototype.trimstart@1.0.7: - resolution: - { - integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==, - } + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: - resolution: - { - integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} stringify-entities@4.0.4: - resolution: - { - integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==, - } + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - - strip-ansi@7.1.0: - resolution: - { - integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - strip-literal@3.0.0: - resolution: - { - integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==, - } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: ">=4" } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - - tabbable@6.2.0: - resolution: - { - integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==, - } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} tailwindcss@4.1.14: - resolution: - { - integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==, - } - - tailwindcss@4.2.0: - resolution: - { - integrity: sha512-yYzTZ4++b7fNYxFfpnberEEKu43w44aqDMNM9MHMmcKuCH7lL8jJ4yJ7LGHv7rSwiqM0nkiobF9I6cLlpS2P7Q==, - } - - tapable@2.2.2: - resolution: - { - integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==, - } - engines: { node: ">=6" } - - tar@7.4.3: - resolution: - { - integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==, - } - engines: { node: ">=18" } - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - tar@7.5.1: - resolution: - { - integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==, - } - engines: { node: ">=18" } - deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + resolution: {integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==} + + tailwindcss@4.2.2: + resolution: {integrity: sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==} + + tapable@2.3.2: + resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} + engines: {node: '>=6'} + + tar@7.5.13: + resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} + engines: {node: '>=18'} term-size@2.2.1: - resolution: - { - integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==, - } - engines: { node: ">=8" } - - terser-webpack-plugin@5.3.14: - resolution: - { - integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==, - } - engines: { node: ">= 10.13.0" } + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.4.0: + resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} + engines: {node: '>= 10.13.0'} peerDependencies: - "@swc/core": "*" - esbuild: "*" - uglify-js: "*" + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' webpack: ^5.1.0 peerDependenciesMeta: - "@swc/core": + '@swc/core': optional: true esbuild: optional: true uglify-js: optional: true - terser@5.43.1: - resolution: - { - integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==, - } - engines: { node: ">=10" } + terser@5.46.1: + resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==} + engines: {node: '>=10'} hasBin: true tiny-invariant@1.3.3: - resolution: - { - integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==, - } + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} tinybench@2.9.0: - resolution: - { - integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, - } + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@0.3.2: - resolution: - { - integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, - } - - tinyglobby@0.2.14: - resolution: - { - integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} tinypool@1.1.1: - resolution: - { - integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: - resolution: - { - integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==, - } - engines: { node: ">=14.0.0" } - - tinyspy@4.0.3: - resolution: - { - integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} + + tinyspy@4.0.4: + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} + engines: {node: '>=14.0.0'} to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} touch@3.1.1: - resolution: - { - integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==, - } + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true trim-lines@3.0.1: - resolution: - { - integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==, - } - - ts-api-utils@2.1.0: - resolution: - { - integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==, - } - engines: { node: ">=18.12" } + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} peerDependencies: - typescript: ">=4.8.4" + typescript: '>=4.8.4' tslib@2.8.1: - resolution: - { - integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, - } - - tsx@4.20.6: - resolution: - { - integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} hasBin: true type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - - type-fest@4.34.1: - resolution: - { - integrity: sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==, - } - engines: { node: ">=16" } - - typed-array-buffer@1.0.0: - resolution: - { - integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==, - } - engines: { node: ">= 0.4" } - - typed-array-buffer@1.0.2: - resolution: - { - integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} typed-array-buffer@1.0.3: - resolution: - { - integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==, - } - engines: { node: ">= 0.4" } - - typed-array-byte-length@1.0.0: - resolution: - { - integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==, - } - engines: { node: ">= 0.4" } - - typed-array-byte-length@1.0.1: - resolution: - { - integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} typed-array-byte-length@1.0.3: - resolution: - { - integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==, - } - engines: { node: ">= 0.4" } - - typed-array-byte-offset@1.0.0: - resolution: - { - integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==, - } - engines: { node: ">= 0.4" } - - typed-array-byte-offset@1.0.2: - resolution: - { - integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.4: - resolution: - { - integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==, - } - engines: { node: ">= 0.4" } - - typed-array-length@1.0.4: - resolution: - { - integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==, - } - - typed-array-length@1.0.6: - resolution: - { - integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} typed-array-length@1.0.7: - resolution: - { - integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==, - } - engines: { node: ">= 0.4" } - - typescript-eslint@8.45.0: - resolution: - { - integrity: sha512-qzDmZw/Z5beNLUrXfd0HIW6MzIaAV5WNDxmMs9/3ojGOpYavofgNAAD/nC6tGV2PczIi0iw8vot2eAe/sBn7zg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - - typescript-eslint@8.46.2: - resolution: - { - integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==, - } - engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.58.2: + resolution: {integrity: sha512-V8iSng9mRbdZjl54VJ9NKr6ZB+dW0J3TzRXRGcSbLIej9jV86ZRtlYeTKDR/QLxXykocJ5icNzbsl2+5TzIvcQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' typescript@5.9.3: - resolution: - { - integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==, - } - engines: { node: ">=14.17" } + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} hasBin: true - unbox-primitive@1.0.2: - resolution: - { - integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, - } - unbox-primitive@1.1.0: - resolution: - { - integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} undefsafe@2.0.5: - resolution: - { - integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==, - } - - undici-types@6.20.0: - resolution: - { - integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==, - } - - undici-types@7.8.0: - resolution: - { - integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==, - } - - undici@6.21.3: - resolution: - { - integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==, - } - engines: { node: ">=18.17" } - - undici@7.12.0: - resolution: - { - integrity: sha512-GrKEsc3ughskmGA9jevVlIOPMiiAHJ4OFUtaAH+NhfTUSiZ1wMPIQqQvAJUrJspFXJt3EBWgpAeoHEDVT1IBug==, - } - engines: { node: ">=20.18.1" } - - unist-util-is@6.0.0: - resolution: - { - integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==, - } + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici-types@7.19.2: + resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + + undici@7.25.0: + resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} + engines: {node: '>=20.18.1'} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} unist-util-position@5.0.0: - resolution: - { - integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==, - } + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} unist-util-stringify-position@4.0.0: - resolution: - { - integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==, - } - - unist-util-visit-parents@6.0.1: - resolution: - { - integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==, - } - - unist-util-visit@5.0.0: - resolution: - { - integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==, - } + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - - update-browserslist-db@1.1.3: - resolution: - { - integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==, - } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: - browserslist: ">= 4.21.0" + browserslist: '>= 4.21.0' uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} urlpattern-polyfill@10.1.0: - resolution: - { - integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==, - } + resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} use-callback-ref@1.3.3: - resolution: - { - integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true use-sidecar@1.1.3: - resolution: - { - integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} peerDependencies: - "@types/react": "*" + '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: - "@types/react": + '@types/react': optional: true - use-sync-external-store@1.5.0: - resolution: - { - integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==, - } + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - vfile-message@4.0.2: - resolution: - { - integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==, - } + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} vfile@6.0.3: - resolution: - { - integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==, - } + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} vite-node@3.2.4: - resolution: - { - integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.2.3: - resolution: - { - integrity: sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + vite@7.3.2: + resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: ">=1.21.0" - less: "*" + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true jiti: optional: true @@ -7845,2110 +4509,1833 @@ packages: optional: true vitest@3.2.4: - resolution: - { - integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - "@edge-runtime/vm": "*" - "@types/debug": ^4.1.12 - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.2.4 - "@vitest/ui": 3.2.4 - happy-dom: "*" - jsdom: "*" + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 + happy-dom: '*' + jsdom: '*' peerDependenciesMeta: - "@edge-runtime/vm": + '@edge-runtime/vm': optional: true - "@types/debug": + '@types/debug': optional: true - "@types/node": + '@types/node': optional: true - "@vitest/browser": + '@vitest/browser': optional: true - "@vitest/ui": + '@vitest/ui': optional: true happy-dom: optional: true jsdom: optional: true - watchpack@2.4.4: - resolution: - { - integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==, - } - engines: { node: ">=10.13.0" } - - webpack-sources@3.3.3: - resolution: - { - integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==, - } - engines: { node: ">=10.13.0" } - - webpack@5.96.1: - resolution: - { - integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==, - } - engines: { node: ">=10.13.0" } + watchpack@2.5.1: + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} + + webpack-sources@3.3.4: + resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + engines: {node: '>=10.13.0'} + + webpack@5.106.2: + resolution: {integrity: sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==} + engines: {node: '>=10.13.0'} hasBin: true peerDependencies: - webpack-cli: "*" + webpack-cli: '*' peerDependenciesMeta: webpack-cli: optional: true whatwg-encoding@3.1.1: - resolution: - { - integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@4.0.0: - resolution: - { - integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==, - } - engines: { node: ">=18" } - - which-boxed-primitive@1.0.2: - resolution: - { - integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, - } + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} which-boxed-primitive@1.1.1: - resolution: - { - integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==, - } - engines: { node: ">= 0.4" } - - which-builtin-type@1.1.4: - resolution: - { - integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} which-builtin-type@1.2.1: - resolution: - { - integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} which-collection@1.0.2: - resolution: - { - integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, - } - engines: { node: ">= 0.4" } - - which-typed-array@1.1.13: - resolution: - { - integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==, - } - engines: { node: ">= 0.4" } - - which-typed-array@1.1.15: - resolution: - { - integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, - } - engines: { node: ">= 0.4" } - - which-typed-array@1.1.18: - resolution: - { - integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==, - } - engines: { node: ">= 0.4" } + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true why-is-node-running@2.3.0: - resolution: - { - integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true word-wrap@1.2.5: - resolution: - { - integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, - } - engines: { node: ">=0.10.0" } - - wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } - - wrap-ansi@8.1.0: - resolution: - { - integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} xxhash-wasm@1.1.0: - resolution: - { - integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==, - } + resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@5.0.0: - resolution: - { - integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==, - } - engines: { node: ">=18" } - - yaml@2.8.0: - resolution: - { - integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==, - } - engines: { node: ">= 14.6" } + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} hasBin: true yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - - zod-validation-error@3.4.0: - resolution: - { - integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==, - } - engines: { node: ">=18.0.0" } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} peerDependencies: - zod: ^3.18.0 + zod: ^3.25.0 || ^4.0.0 zod@4.1.11: - resolution: - { - integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==, - } + resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} zwitch@2.0.4: - resolution: - { - integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==, - } + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - "@aashutoshrathi/word-wrap@1.2.6": {} - "@babel/code-frame@7.27.1": + '@babel/code-frame@7.29.0': dependencies: - "@babel/helper-validator-identifier": 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - "@babel/compat-data@7.28.0": {} + '@babel/compat-data@7.29.0': {} - "@babel/core@7.28.4": + '@babel/core@7.29.0': dependencies: - "@babel/code-frame": 7.27.1 - "@babel/generator": 7.28.3 - "@babel/helper-compilation-targets": 7.27.2 - "@babel/helper-module-transforms": 7.28.3(@babel/core@7.28.4) - "@babel/helpers": 7.28.4 - "@babel/parser": 7.28.4 - "@babel/template": 7.27.2 - "@babel/traverse": 7.28.4 - "@babel/types": 7.28.4 - "@jridgewell/remapping": 2.3.5 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helpers': 7.29.2 + '@babel/parser': 7.29.2 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@5.5.0) + debug: 4.4.3(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - "@babel/generator@7.28.3": + '@babel/generator@7.29.1': dependencies: - "@babel/parser": 7.28.4 - "@babel/types": 7.28.4 - "@jridgewell/gen-mapping": 0.3.12 - "@jridgewell/trace-mapping": 0.3.29 + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - "@babel/helper-compilation-targets@7.27.2": + '@babel/helper-compilation-targets@7.28.6': dependencies: - "@babel/compat-data": 7.28.0 - "@babel/helper-validator-option": 7.27.1 - browserslist: 4.25.1 + '@babel/compat-data': 7.29.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 - "@babel/helper-globals@7.28.0": {} + '@babel/helper-globals@7.28.0': {} - "@babel/helper-module-imports@7.27.1": + '@babel/helper-module-imports@7.28.6': dependencies: - "@babel/traverse": 7.28.0 - "@babel/types": 7.28.4 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - "@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)": + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: - "@babel/core": 7.28.4 - "@babel/helper-module-imports": 7.27.1 - "@babel/helper-validator-identifier": 7.27.1 - "@babel/traverse": 7.28.4 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - "@babel/helper-string-parser@7.27.1": {} - - "@babel/helper-validator-identifier@7.27.1": {} - - "@babel/helper-validator-option@7.27.1": {} + '@babel/helper-string-parser@7.27.1': {} - "@babel/helpers@7.28.4": - dependencies: - "@babel/template": 7.27.2 - "@babel/types": 7.28.4 - - "@babel/parser@7.23.5": - dependencies: - "@babel/types": 7.28.4 + '@babel/helper-validator-identifier@7.28.5': {} - "@babel/parser@7.28.0": - dependencies: - "@babel/types": 7.28.4 + '@babel/helper-validator-option@7.27.1': {} - "@babel/parser@7.28.4": + '@babel/helpers@7.29.2': dependencies: - "@babel/types": 7.28.4 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 - "@babel/runtime@7.23.5": + '@babel/parser@7.29.2': dependencies: - regenerator-runtime: 0.14.0 + '@babel/types': 7.29.0 - "@babel/template@7.27.2": - dependencies: - "@babel/code-frame": 7.27.1 - "@babel/parser": 7.28.0 - "@babel/types": 7.28.4 + '@babel/runtime@7.29.2': {} - "@babel/traverse@7.28.0": + '@babel/template@7.28.6': dependencies: - "@babel/code-frame": 7.27.1 - "@babel/generator": 7.28.3 - "@babel/helper-globals": 7.28.0 - "@babel/parser": 7.28.4 - "@babel/template": 7.27.2 - "@babel/types": 7.28.4 - debug: 4.4.1(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 - "@babel/traverse@7.28.4": + '@babel/traverse@7.29.0': dependencies: - "@babel/code-frame": 7.27.1 - "@babel/generator": 7.28.3 - "@babel/helper-globals": 7.28.0 - "@babel/parser": 7.28.4 - "@babel/template": 7.27.2 - "@babel/types": 7.28.4 - debug: 4.4.1(supports-color@5.5.0) + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.2 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + debug: 4.4.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color - "@babel/types@7.28.4": + '@babel/types@7.29.0': dependencies: - "@babel/helper-string-parser": 7.27.1 - "@babel/helper-validator-identifier": 7.27.1 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 - "@changesets/apply-release-plan@7.0.13": + '@changesets/apply-release-plan@7.1.1': dependencies: - "@changesets/config": 3.1.1 - "@changesets/get-version-range-type": 0.4.0 - "@changesets/git": 3.0.4 - "@changesets/should-skip-package": 0.1.2 - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/config': 3.1.4 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.2 - - "@changesets/assemble-release-plan@6.0.9": - dependencies: - "@changesets/errors": 0.2.0 - "@changesets/get-dependents-graph": 2.1.3 - "@changesets/should-skip-package": 0.1.2 - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 - semver: 7.7.2 - - "@changesets/changelog-git@0.2.1": - dependencies: - "@changesets/types": 6.1.0 - - "@changesets/cli@2.29.7(@types/node@24.0.15)": - dependencies: - "@changesets/apply-release-plan": 7.0.13 - "@changesets/assemble-release-plan": 6.0.9 - "@changesets/changelog-git": 0.2.1 - "@changesets/config": 3.1.1 - "@changesets/errors": 0.2.0 - "@changesets/get-dependents-graph": 2.1.3 - "@changesets/get-release-plan": 4.0.13 - "@changesets/git": 3.0.4 - "@changesets/logger": 0.1.1 - "@changesets/pre": 2.0.2 - "@changesets/read": 0.6.5 - "@changesets/should-skip-package": 0.1.2 - "@changesets/types": 6.1.0 - "@changesets/write": 0.4.0 - "@inquirer/external-editor": 1.0.2(@types/node@24.0.15) - "@manypkg/get-packages": 1.1.3 + semver: 7.7.4 + + '@changesets/assemble-release-plan@6.0.10': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.4 + + '@changesets/changelog-git@0.2.1': + dependencies: + '@changesets/types': 6.1.0 + + '@changesets/cli@2.31.0(@types/node@25.6.0)': + dependencies: + '@changesets/apply-release-plan': 7.1.1 + '@changesets/assemble-release-plan': 6.0.10 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.4 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.4 + '@changesets/get-release-plan': 4.0.16 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.7 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@25.6.0) + '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 - ci-info: 3.9.0 enquirer: 2.4.1 fs-extra: 7.0.1 mri: 1.2.0 - p-limit: 2.3.0 - package-manager-detector: 0.2.2 + package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.2 + semver: 7.7.4 spawndamnit: 3.0.1 term-size: 2.2.1 transitivePeerDependencies: - - "@types/node" + - '@types/node' - "@changesets/config@3.1.1": + '@changesets/config@3.1.4': dependencies: - "@changesets/errors": 0.2.0 - "@changesets/get-dependents-graph": 2.1.3 - "@changesets/logger": 0.1.1 - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.4 + '@changesets/logger': 0.1.1 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.8 - "@changesets/errors@0.2.0": + '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - "@changesets/get-dependents-graph@2.1.3": + '@changesets/get-dependents-graph@2.1.4': dependencies: - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.2 + semver: 7.7.4 - "@changesets/get-release-plan@4.0.13": + '@changesets/get-release-plan@4.0.16': dependencies: - "@changesets/assemble-release-plan": 6.0.9 - "@changesets/config": 3.1.1 - "@changesets/pre": 2.0.2 - "@changesets/read": 0.6.5 - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/assemble-release-plan': 6.0.10 + '@changesets/config': 3.1.4 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.7 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - "@changesets/get-version-range-type@0.4.0": {} + '@changesets/get-version-range-type@0.4.0': {} - "@changesets/git@3.0.4": + '@changesets/git@3.0.4': dependencies: - "@changesets/errors": 0.2.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 spawndamnit: 3.0.1 - "@changesets/logger@0.1.1": + '@changesets/logger@0.1.1': dependencies: picocolors: 1.1.1 - "@changesets/parse@0.4.1": + '@changesets/parse@0.4.3': dependencies: - "@changesets/types": 6.1.0 - js-yaml: 3.14.1 + '@changesets/types': 6.1.0 + js-yaml: 4.1.1 - "@changesets/pre@2.0.2": + '@changesets/pre@2.0.2': dependencies: - "@changesets/errors": 0.2.0 - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - "@changesets/read@0.6.5": + '@changesets/read@0.6.7': dependencies: - "@changesets/git": 3.0.4 - "@changesets/logger": 0.1.1 - "@changesets/parse": 0.4.1 - "@changesets/types": 6.1.0 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.3 + '@changesets/types': 6.1.0 fs-extra: 7.0.1 p-filter: 2.1.0 picocolors: 1.1.1 - "@changesets/should-skip-package@0.1.2": + '@changesets/should-skip-package@0.1.2': dependencies: - "@changesets/types": 6.1.0 - "@manypkg/get-packages": 1.1.3 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - "@changesets/types@4.1.0": {} + '@changesets/types@4.1.0': {} - "@changesets/types@6.1.0": {} + '@changesets/types@6.1.0': {} - "@changesets/write@0.4.0": + '@changesets/write@0.4.0': dependencies: - "@changesets/types": 6.1.0 + '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 4.1.1 + human-id: 4.1.3 prettier: 2.8.8 - "@emnapi/core@1.7.1": + '@emnapi/core@1.10.0': dependencies: - "@emnapi/wasi-threads": 1.1.0 + '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true - "@emnapi/runtime@1.5.0": + '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - "@emnapi/runtime@1.7.1": + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - "@emnapi/wasi-threads@1.1.0": - dependencies: - tslib: 2.8.1 - optional: true - - "@esbuild/aix-ppc64@0.25.10": + '@esbuild/aix-ppc64@0.27.2': optional: true - "@esbuild/aix-ppc64@0.27.2": + '@esbuild/aix-ppc64@0.27.7': optional: true - "@esbuild/android-arm64@0.25.10": + '@esbuild/android-arm64@0.27.2': optional: true - "@esbuild/android-arm64@0.27.2": + '@esbuild/android-arm64@0.27.7': optional: true - "@esbuild/android-arm@0.25.10": + '@esbuild/android-arm@0.27.2': optional: true - "@esbuild/android-arm@0.27.2": + '@esbuild/android-arm@0.27.7': optional: true - "@esbuild/android-x64@0.25.10": + '@esbuild/android-x64@0.27.2': optional: true - "@esbuild/android-x64@0.27.2": + '@esbuild/android-x64@0.27.7': optional: true - "@esbuild/darwin-arm64@0.25.10": + '@esbuild/darwin-arm64@0.27.2': optional: true - "@esbuild/darwin-arm64@0.27.2": + '@esbuild/darwin-arm64@0.27.7': optional: true - "@esbuild/darwin-x64@0.25.10": + '@esbuild/darwin-x64@0.27.2': optional: true - "@esbuild/darwin-x64@0.27.2": + '@esbuild/darwin-x64@0.27.7': optional: true - "@esbuild/freebsd-arm64@0.25.10": + '@esbuild/freebsd-arm64@0.27.2': optional: true - "@esbuild/freebsd-arm64@0.27.2": + '@esbuild/freebsd-arm64@0.27.7': optional: true - "@esbuild/freebsd-x64@0.25.10": + '@esbuild/freebsd-x64@0.27.2': optional: true - "@esbuild/freebsd-x64@0.27.2": + '@esbuild/freebsd-x64@0.27.7': optional: true - "@esbuild/linux-arm64@0.25.10": + '@esbuild/linux-arm64@0.27.2': optional: true - "@esbuild/linux-arm64@0.27.2": + '@esbuild/linux-arm64@0.27.7': optional: true - "@esbuild/linux-arm@0.25.10": + '@esbuild/linux-arm@0.27.2': optional: true - "@esbuild/linux-arm@0.27.2": + '@esbuild/linux-arm@0.27.7': optional: true - "@esbuild/linux-ia32@0.25.10": + '@esbuild/linux-ia32@0.27.2': optional: true - "@esbuild/linux-ia32@0.27.2": + '@esbuild/linux-ia32@0.27.7': optional: true - "@esbuild/linux-loong64@0.25.10": + '@esbuild/linux-loong64@0.27.2': optional: true - "@esbuild/linux-loong64@0.27.2": + '@esbuild/linux-loong64@0.27.7': optional: true - "@esbuild/linux-mips64el@0.25.10": + '@esbuild/linux-mips64el@0.27.2': optional: true - "@esbuild/linux-mips64el@0.27.2": + '@esbuild/linux-mips64el@0.27.7': optional: true - "@esbuild/linux-ppc64@0.25.10": + '@esbuild/linux-ppc64@0.27.2': optional: true - "@esbuild/linux-ppc64@0.27.2": + '@esbuild/linux-ppc64@0.27.7': optional: true - "@esbuild/linux-riscv64@0.25.10": + '@esbuild/linux-riscv64@0.27.2': optional: true - "@esbuild/linux-riscv64@0.27.2": + '@esbuild/linux-riscv64@0.27.7': optional: true - "@esbuild/linux-s390x@0.25.10": + '@esbuild/linux-s390x@0.27.2': optional: true - "@esbuild/linux-s390x@0.27.2": + '@esbuild/linux-s390x@0.27.7': optional: true - "@esbuild/linux-x64@0.25.10": + '@esbuild/linux-x64@0.27.2': optional: true - "@esbuild/linux-x64@0.27.2": + '@esbuild/linux-x64@0.27.7': optional: true - "@esbuild/netbsd-arm64@0.25.10": + '@esbuild/netbsd-arm64@0.27.2': optional: true - "@esbuild/netbsd-arm64@0.27.2": + '@esbuild/netbsd-arm64@0.27.7': optional: true - "@esbuild/netbsd-x64@0.25.10": + '@esbuild/netbsd-x64@0.27.2': optional: true - "@esbuild/netbsd-x64@0.27.2": + '@esbuild/netbsd-x64@0.27.7': optional: true - "@esbuild/openbsd-arm64@0.25.10": + '@esbuild/openbsd-arm64@0.27.2': optional: true - "@esbuild/openbsd-arm64@0.27.2": + '@esbuild/openbsd-arm64@0.27.7': optional: true - "@esbuild/openbsd-x64@0.25.10": + '@esbuild/openbsd-x64@0.27.2': optional: true - "@esbuild/openbsd-x64@0.27.2": + '@esbuild/openbsd-x64@0.27.7': optional: true - "@esbuild/openharmony-arm64@0.25.10": + '@esbuild/openharmony-arm64@0.27.2': optional: true - "@esbuild/openharmony-arm64@0.27.2": + '@esbuild/openharmony-arm64@0.27.7': optional: true - "@esbuild/sunos-x64@0.25.10": + '@esbuild/sunos-x64@0.27.2': optional: true - "@esbuild/sunos-x64@0.27.2": + '@esbuild/sunos-x64@0.27.7': optional: true - "@esbuild/win32-arm64@0.25.10": + '@esbuild/win32-arm64@0.27.2': optional: true - "@esbuild/win32-arm64@0.27.2": + '@esbuild/win32-arm64@0.27.7': optional: true - "@esbuild/win32-ia32@0.25.10": + '@esbuild/win32-ia32@0.27.2': optional: true - "@esbuild/win32-ia32@0.27.2": + '@esbuild/win32-ia32@0.27.7': optional: true - "@esbuild/win32-x64@0.25.10": + '@esbuild/win32-x64@0.27.2': optional: true - "@esbuild/win32-x64@0.27.2": + '@esbuild/win32-x64@0.27.7': optional: true - "@eslint-community/eslint-utils@4.4.1(eslint@9.23.0(jiti@2.6.1))": - dependencies: - eslint: 9.23.0(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - - "@eslint-community/eslint-utils@4.7.0(eslint@9.38.0(jiti@2.6.1))": - dependencies: - eslint: 9.38.0(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - - "@eslint-community/eslint-utils@4.9.0(eslint@9.23.0(jiti@2.6.1))": - dependencies: - eslint: 9.23.0(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - - "@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@2.6.1))": + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))': dependencies: - eslint: 9.38.0(jiti@2.6.1) + eslint: 9.39.4(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - "@eslint-community/regexpp@4.12.1": {} - - "@eslint/config-array@0.19.2": - dependencies: - "@eslint/object-schema": 2.1.6 - debug: 4.4.1(supports-color@5.5.0) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@eslint-community/regexpp@4.12.2': {} - "@eslint/config-array@0.21.1": + '@eslint/config-array@0.21.2': dependencies: - "@eslint/object-schema": 2.1.7 - debug: 4.4.1(supports-color@5.5.0) - minimatch: 3.1.2 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3(supports-color@5.5.0) + minimatch: 3.1.5 transitivePeerDependencies: - supports-color - "@eslint/config-helpers@0.2.0": {} - - "@eslint/config-helpers@0.4.1": - dependencies: - "@eslint/core": 0.16.0 - - "@eslint/core@0.12.0": + '@eslint/config-helpers@0.4.2': dependencies: - "@types/json-schema": 7.0.15 + '@eslint/core': 0.17.0 - "@eslint/core@0.16.0": + '@eslint/core@0.17.0': dependencies: - "@types/json-schema": 7.0.15 + '@types/json-schema': 7.0.15 - "@eslint/eslintrc@3.3.1": + '@eslint/eslintrc@3.3.5': dependencies: - ajv: 6.12.6 - debug: 4.4.1(supports-color@5.5.0) + ajv: 6.14.0 + debug: 4.4.3(supports-color@5.5.0) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 + js-yaml: 4.1.1 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - "@eslint/js@9.23.0": {} - - "@eslint/js@9.37.0": {} - - "@eslint/js@9.38.0": {} - - "@eslint/object-schema@2.1.6": {} - - "@eslint/object-schema@2.1.7": {} + '@eslint/js@9.39.4': {} - "@eslint/plugin-kit@0.2.7": - dependencies: - "@eslint/core": 0.12.0 - levn: 0.4.1 + '@eslint/object-schema@2.1.7': {} - "@eslint/plugin-kit@0.4.0": + '@eslint/plugin-kit@0.4.1': dependencies: - "@eslint/core": 0.16.0 + '@eslint/core': 0.17.0 levn: 0.4.1 - "@floating-ui/core@1.6.9": + '@floating-ui/core@1.7.5': dependencies: - "@floating-ui/utils": 0.2.9 + '@floating-ui/utils': 0.2.11 - "@floating-ui/dom@1.6.13": + '@floating-ui/dom@1.7.6': dependencies: - "@floating-ui/core": 1.6.9 - "@floating-ui/utils": 0.2.9 + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 - "@floating-ui/react-dom@2.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@floating-ui/react-dom@2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@floating-ui/dom": 1.6.13 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@floating-ui/dom': 1.7.6 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) - "@floating-ui/react@0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@floating-ui/react@0.26.28(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@floating-ui/react-dom": 2.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@floating-ui/utils": 0.2.9 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - tabbable: 6.2.0 + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@floating-ui/utils': 0.2.11 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + tabbable: 6.4.0 - "@floating-ui/utils@0.2.9": {} + '@floating-ui/utils@0.2.11': {} - "@hattip/adapter-node@0.0.49": + '@hattip/adapter-node@0.0.49': dependencies: - "@hattip/core": 0.0.49 - "@hattip/polyfills": 0.0.49 - "@hattip/walk": 0.0.49 + '@hattip/core': 0.0.49 + '@hattip/polyfills': 0.0.49 + '@hattip/walk': 0.0.49 - "@hattip/compose@0.0.49": + '@hattip/compose@0.0.49': dependencies: - "@hattip/core": 0.0.49 + '@hattip/core': 0.0.49 - "@hattip/cookie@0.0.49": + '@hattip/cookie@0.0.49': dependencies: - "@hattip/compose": 0.0.49 - "@hattip/core": 0.0.49 - cookie: 1.0.2 + '@hattip/compose': 0.0.49 + '@hattip/core': 0.0.49 + cookie: 1.1.1 - "@hattip/core@0.0.49": {} + '@hattip/core@0.0.49': {} - "@hattip/headers@0.0.49": + '@hattip/headers@0.0.49': dependencies: - "@hattip/core": 0.0.49 + '@hattip/core': 0.0.49 - "@hattip/polyfills@0.0.49": + '@hattip/polyfills@0.0.49': dependencies: - "@hattip/core": 0.0.49 - "@whatwg-node/fetch": 0.9.22 - node-fetch-native: 1.6.4 + '@hattip/core': 0.0.49 + '@whatwg-node/fetch': 0.9.23 + node-fetch-native: 1.6.7 - "@hattip/response@0.0.49": + '@hattip/response@0.0.49': dependencies: - "@hattip/core": 0.0.49 + '@hattip/core': 0.0.49 - "@hattip/router@0.0.49": + '@hattip/router@0.0.49': dependencies: - "@hattip/compose": 0.0.49 - "@hattip/core": 0.0.49 + '@hattip/compose': 0.0.49 + '@hattip/core': 0.0.49 - "@hattip/static@0.0.49": + '@hattip/static@0.0.49': dependencies: - "@hattip/headers": 0.0.49 + '@hattip/headers': 0.0.49 - "@hattip/walk@0.0.49": + '@hattip/walk@0.0.49': dependencies: - "@hattip/headers": 0.0.49 + '@hattip/headers': 0.0.49 cac: 6.7.14 mime-types: 2.1.35 - "@headlessui/react@2.2.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@headlessui/react@2.2.10(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@floating-ui/react": 0.26.28(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@react-aria/focus": 3.20.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@react-aria/interactions": 3.25.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@tanstack/react-virtual": 3.13.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - use-sync-external-store: 1.5.0(react@19.2.4) + '@floating-ui/react': 0.26.28(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@react-aria/focus': 3.22.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@react-aria/interactions': 3.28.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-virtual': 3.13.24(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + use-sync-external-store: 1.6.0(react@19.2.5) - "@heroicons/react@2.2.0(react@19.2.4)": + '@heroicons/react@2.2.0(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 - "@humanfs/core@0.19.1": {} - - "@humanfs/node@0.16.6": + '@humanfs/core@0.19.2': dependencies: - "@humanfs/core": 0.19.1 - "@humanwhocodes/retry": 0.3.1 + '@humanfs/types': 0.15.0 - "@humanwhocodes/module-importer@1.0.1": {} + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 - "@humanwhocodes/retry@0.3.1": {} + '@humanfs/types@0.15.0': {} - "@humanwhocodes/retry@0.4.2": {} + '@humanwhocodes/module-importer@1.0.1': {} - "@humanwhocodes/retry@0.4.3": {} + '@humanwhocodes/retry@0.4.3': {} - "@img/colour@1.0.0": {} + '@img/colour@1.1.0': {} - "@img/sharp-darwin-arm64@0.34.4": + '@img/sharp-darwin-arm64@0.34.5': optionalDependencies: - "@img/sharp-libvips-darwin-arm64": 1.2.3 + '@img/sharp-libvips-darwin-arm64': 1.2.4 optional: true - "@img/sharp-darwin-x64@0.34.4": + '@img/sharp-darwin-x64@0.34.5': optionalDependencies: - "@img/sharp-libvips-darwin-x64": 1.2.3 + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.2.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.2.4': optional: true - "@img/sharp-libvips-darwin-arm64@1.2.3": + '@img/sharp-libvips-linux-arm64@1.2.4': optional: true - "@img/sharp-libvips-darwin-x64@1.2.3": + '@img/sharp-libvips-linux-arm@1.2.4': optional: true - "@img/sharp-libvips-linux-arm64@1.2.3": + '@img/sharp-libvips-linux-ppc64@1.2.4': optional: true - "@img/sharp-libvips-linux-arm@1.2.3": + '@img/sharp-libvips-linux-riscv64@1.2.4': optional: true - "@img/sharp-libvips-linux-ppc64@1.2.3": + '@img/sharp-libvips-linux-s390x@1.2.4': optional: true - "@img/sharp-libvips-linux-s390x@1.2.3": + '@img/sharp-libvips-linux-x64@1.2.4': optional: true - "@img/sharp-libvips-linux-x64@1.2.3": + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': optional: true - "@img/sharp-libvips-linuxmusl-arm64@1.2.3": + '@img/sharp-libvips-linuxmusl-x64@1.2.4': optional: true - "@img/sharp-libvips-linuxmusl-x64@1.2.3": + '@img/sharp-linux-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.4 optional: true - "@img/sharp-linux-arm64@0.34.4": + '@img/sharp-linux-arm@0.34.5': optionalDependencies: - "@img/sharp-libvips-linux-arm64": 1.2.3 + '@img/sharp-libvips-linux-arm': 1.2.4 optional: true - "@img/sharp-linux-arm@0.34.4": + '@img/sharp-linux-ppc64@0.34.5': optionalDependencies: - "@img/sharp-libvips-linux-arm": 1.2.3 + '@img/sharp-libvips-linux-ppc64': 1.2.4 optional: true - "@img/sharp-linux-ppc64@0.34.4": + '@img/sharp-linux-riscv64@0.34.5': optionalDependencies: - "@img/sharp-libvips-linux-ppc64": 1.2.3 + '@img/sharp-libvips-linux-riscv64': 1.2.4 optional: true - "@img/sharp-linux-s390x@0.34.4": + '@img/sharp-linux-s390x@0.34.5': optionalDependencies: - "@img/sharp-libvips-linux-s390x": 1.2.3 + '@img/sharp-libvips-linux-s390x': 1.2.4 optional: true - "@img/sharp-linux-x64@0.34.4": + '@img/sharp-linux-x64@0.34.5': optionalDependencies: - "@img/sharp-libvips-linux-x64": 1.2.3 + '@img/sharp-libvips-linux-x64': 1.2.4 optional: true - "@img/sharp-linuxmusl-arm64@0.34.4": + '@img/sharp-linuxmusl-arm64@0.34.5': optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64": 1.2.3 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 optional: true - "@img/sharp-linuxmusl-x64@0.34.4": + '@img/sharp-linuxmusl-x64@0.34.5': optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64": 1.2.3 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 optional: true - "@img/sharp-wasm32@0.34.4": + '@img/sharp-wasm32@0.34.5': dependencies: - "@emnapi/runtime": 1.5.0 + '@emnapi/runtime': 1.10.0 optional: true - "@img/sharp-win32-arm64@0.34.4": + '@img/sharp-win32-arm64@0.34.5': optional: true - "@img/sharp-win32-ia32@0.34.4": + '@img/sharp-win32-ia32@0.34.5': optional: true - "@img/sharp-win32-x64@0.34.4": + '@img/sharp-win32-x64@0.34.5': optional: true - "@inquirer/external-editor@1.0.2(@types/node@24.0.15)": + '@inquirer/external-editor@1.0.3(@types/node@25.6.0)': dependencies: - chardet: 2.1.0 - iconv-lite: 0.7.0 + chardet: 2.1.1 + iconv-lite: 0.7.2 optionalDependencies: - "@types/node": 24.0.15 + '@types/node': 25.6.0 - "@isaacs/balanced-match@4.0.1": {} + '@internationalized/date@3.12.1': + dependencies: + '@swc/helpers': 0.5.21 - "@isaacs/brace-expansion@5.0.0": + '@internationalized/number@3.6.6': dependencies: - "@isaacs/balanced-match": 4.0.1 + '@swc/helpers': 0.5.21 - "@isaacs/cliui@8.0.2": + '@internationalized/string@3.2.8': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@swc/helpers': 0.5.21 - "@isaacs/fs-minipass@4.0.1": + '@isaacs/fs-minipass@4.0.1': dependencies: - minipass: 7.1.2 + minipass: 7.1.3 - "@jridgewell/gen-mapping@0.3.12": + '@jridgewell/gen-mapping@0.3.13': dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 - "@jridgewell/trace-mapping": 0.3.29 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/remapping@2.3.5": + '@jridgewell/remapping@2.3.5': dependencies: - "@jridgewell/gen-mapping": 0.3.12 - "@jridgewell/trace-mapping": 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/resolve-uri@3.1.2": {} + '@jridgewell/resolve-uri@3.1.2': {} - "@jridgewell/source-map@0.3.10": + '@jridgewell/source-map@0.3.11': dependencies: - "@jridgewell/gen-mapping": 0.3.12 - "@jridgewell/trace-mapping": 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - "@jridgewell/sourcemap-codec@1.5.5": {} + '@jridgewell/sourcemap-codec@1.5.5': {} - "@jridgewell/trace-mapping@0.3.29": + '@jridgewell/trace-mapping@0.3.31': dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - "@kamilkisiela/fast-url-parser@1.1.4": {} + '@kamilkisiela/fast-url-parser@1.1.4': {} - "@manypkg/find-root@1.1.0": + '@manypkg/find-root@1.1.0': dependencies: - "@babel/runtime": 7.23.5 - "@types/node": 12.20.55 + '@babel/runtime': 7.29.2 + '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 - "@manypkg/get-packages@1.1.3": + '@manypkg/get-packages@1.1.3': dependencies: - "@babel/runtime": 7.23.5 - "@changesets/types": 4.1.0 - "@manypkg/find-root": 1.1.0 + '@babel/runtime': 7.29.2 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - "@markdoc/markdoc@0.5.4(@types/react@19.2.10)(react@19.2.4)": + '@markdoc/markdoc@0.5.7(@types/react@19.2.14)(react@19.2.5)': optionalDependencies: - "@types/linkify-it": 3.0.5 - "@types/markdown-it": 12.2.3 - "@types/react": 19.2.10 - react: 19.2.4 + '@types/linkify-it': 3.0.5 + '@types/markdown-it': 12.2.3 + '@types/react': 19.2.14 + react: 19.2.5 - "@napi-rs/wasm-runtime@1.1.0": + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - "@emnapi/core": 1.7.1 - "@emnapi/runtime": 1.7.1 - "@tybys/wasm-util": 0.10.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.1 optional: true - "@nodelib/fs.scandir@2.1.5": + '@nodelib/fs.scandir@2.1.5': dependencies: - "@nodelib/fs.stat": 2.0.5 + '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - "@nodelib/fs.stat@2.0.5": {} + '@nodelib/fs.stat@2.0.5': {} - "@nodelib/fs.walk@1.2.8": + '@nodelib/fs.walk@1.2.8': dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 - "@oxc-project/types@0.101.0": {} - - "@pkgjs/parseargs@0.11.0": - optional: true + '@oxc-project/types@0.101.0': {} - "@radix-ui/primitive@1.1.3": {} + '@radix-ui/primitive@1.1.3': {} - "@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-slot": 1.2.3(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-context@1.1.2(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-direction@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-escape-keydown": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-id@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 - - "@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-collection": 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-direction": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-dismissable-layer": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-id": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-presence": 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-previous": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-visually-hidden": 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + + '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) - - "@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-dismissable-layer": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-focus-guards": 1.1.3(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-focus-scope": 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-id": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-popper": 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-portal": 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-presence": 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-slot": 1.2.3(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - aria-hidden: 1.2.4 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - react-remove-scroll: 2.6.3(@types/react@19.2.10)(react@19.2.4) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + aria-hidden: 1.2.6 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) - - "@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@floating-ui/react-dom": 2.1.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-arrow": 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-rect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-size": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/rect": 1.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/rect': 1.1.1 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-slot": 1.2.3(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) - - "@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-collection": 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-direction": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-id": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-slot@1.2.3(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 - - "@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-previous": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-size": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) - - "@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-direction": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-id": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-presence": 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-roving-focus": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) - - "@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@radix-ui/primitive": 1.1.3 - "@radix-ui/react-collection": 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-compose-refs": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-context": 1.1.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-dismissable-layer": 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-portal": 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-presence": 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-controllable-state": 1.2.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-visually-hidden": 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-use-effect-event": 0.0.2(@types/react@19.2.10)(react@19.2.4) - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.5) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-use-callback-ref": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-previous@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - react: 19.2.4 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-rect@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/rect": 1.1.1 - react: 19.2.4 + '@radix-ui/rect': 1.1.1 + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-use-size@1.1.1(@types/react@19.2.10)(react@19.2.4)": + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.5)': dependencies: - "@radix-ui/react-use-layout-effect": 1.1.1(@types/react@19.2.10)(react@19.2.4) - react: 19.2.4 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.5 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@radix-ui/react-primitive": 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 - "@types/react-dom": 19.2.3(@types/react@19.2.10) + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) - "@radix-ui/rect@1.1.1": {} + '@radix-ui/rect@1.1.1': {} - "@react-aria/focus@3.20.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@react-aria/focus@3.22.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@react-aria/interactions": 3.25.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@react-aria/utils": 3.29.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@react-types/shared": 3.30.0(react@19.2.4) - "@swc/helpers": 0.5.17 - clsx: 2.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@swc/helpers': 0.5.21 + react: 19.2.5 + react-aria: 3.48.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react-dom: 19.2.5(react@19.2.5) - "@react-aria/interactions@3.25.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@react-aria/interactions@3.28.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@react-aria/ssr": 3.9.9(react@19.2.4) - "@react-aria/utils": 3.29.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - "@react-stately/flags": 3.1.2 - "@react-types/shared": 3.30.0(react@19.2.4) - "@swc/helpers": 0.5.17 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@react-types/shared': 3.34.0(react@19.2.5) + '@swc/helpers': 0.5.21 + react: 19.2.5 + react-aria: 3.48.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + react-dom: 19.2.5(react@19.2.5) - "@react-aria/ssr@3.9.9(react@19.2.4)": + '@react-types/shared@3.34.0(react@19.2.5)': dependencies: - "@swc/helpers": 0.5.17 - react: 19.2.4 + react: 19.2.5 - "@react-aria/utils@3.29.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": - dependencies: - "@react-aria/ssr": 3.9.9(react@19.2.4) - "@react-stately/flags": 3.1.2 - "@react-stately/utils": 3.10.7(react@19.2.4) - "@react-types/shared": 3.30.0(react@19.2.4) - "@swc/helpers": 0.5.17 - clsx: 2.1.1 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@rolldown/binding-android-arm64@1.0.0-beta.53': + optional: true - "@react-stately/flags@3.1.2": - dependencies: - "@swc/helpers": 0.5.17 + '@rolldown/binding-darwin-arm64@1.0.0-beta.53': + optional: true - "@react-stately/utils@3.10.7(react@19.2.4)": - dependencies: - "@swc/helpers": 0.5.17 - react: 19.2.4 + '@rolldown/binding-darwin-x64@1.0.0-beta.53': + optional: true - "@react-types/shared@3.30.0(react@19.2.4)": - dependencies: - react: 19.2.4 + '@rolldown/binding-freebsd-x64@1.0.0-beta.53': + optional: true - "@rolldown/binding-android-arm64@1.0.0-beta.53": + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53': optional: true - "@rolldown/binding-darwin-arm64@1.0.0-beta.53": + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53': optional: true - "@rolldown/binding-darwin-x64@1.0.0-beta.53": + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.53': optional: true - "@rolldown/binding-freebsd-x64@1.0.0-beta.53": + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.53': optional: true - "@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53": + '@rolldown/binding-linux-x64-musl@1.0.0-beta.53': optional: true - "@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53": + '@rolldown/binding-openharmony-arm64@1.0.0-beta.53': optional: true - "@rolldown/binding-linux-arm64-musl@1.0.0-beta.53": + '@rolldown/binding-wasm32-wasi@1.0.0-beta.53(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true - "@rolldown/binding-linux-x64-gnu@1.0.0-beta.53": + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53': optional: true - "@rolldown/binding-linux-x64-musl@1.0.0-beta.53": + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.53': optional: true - "@rolldown/binding-openharmony-arm64@1.0.0-beta.53": + '@rolldown/pluginutils@1.0.0-beta.53': {} + + '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - "@rolldown/binding-wasm32-wasi@1.0.0-beta.53": - dependencies: - "@napi-rs/wasm-runtime": 1.1.0 + '@rollup/rollup-android-arm64@4.60.2': optional: true - "@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53": + '@rollup/rollup-darwin-arm64@4.60.2': optional: true - "@rolldown/binding-win32-x64-msvc@1.0.0-beta.53": + '@rollup/rollup-darwin-x64@4.60.2': optional: true - "@rolldown/pluginutils@1.0.0-beta.53": {} + '@rollup/rollup-freebsd-arm64@4.60.2': + optional: true - "@rollup/rollup-android-arm-eabi@4.37.0": + '@rollup/rollup-freebsd-x64@4.60.2': optional: true - "@rollup/rollup-android-arm64@4.37.0": + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - "@rollup/rollup-darwin-arm64@4.37.0": + '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - "@rollup/rollup-darwin-x64@4.37.0": + '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - "@rollup/rollup-freebsd-arm64@4.37.0": + '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - "@rollup/rollup-freebsd-x64@4.37.0": + '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - "@rollup/rollup-linux-arm-gnueabihf@4.37.0": + '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - "@rollup/rollup-linux-arm-musleabihf@4.37.0": + '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - "@rollup/rollup-linux-arm64-gnu@4.37.0": + '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - "@rollup/rollup-linux-arm64-musl@4.37.0": + '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - "@rollup/rollup-linux-loongarch64-gnu@4.37.0": + '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - "@rollup/rollup-linux-powerpc64le-gnu@4.37.0": + '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - "@rollup/rollup-linux-riscv64-gnu@4.37.0": + '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - "@rollup/rollup-linux-riscv64-musl@4.37.0": + '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - "@rollup/rollup-linux-s390x-gnu@4.37.0": + '@rollup/rollup-openbsd-x64@4.60.2': optional: true - "@rollup/rollup-linux-x64-gnu@4.37.0": + '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - "@rollup/rollup-linux-x64-musl@4.37.0": + '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - "@rollup/rollup-win32-arm64-msvc@4.37.0": + '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - "@rollup/rollup-win32-ia32-msvc@4.37.0": + '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - "@rollup/rollup-win32-x64-msvc@4.37.0": + '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - "@ryanto/esbuild-plugin-tailwind@0.0.3(esbuild@0.27.2)(tailwindcss@4.2.0)": + '@ryanto/esbuild-plugin-tailwind@0.0.3(esbuild@0.27.2)(tailwindcss@4.2.2)': dependencies: - "@tailwindcss/node": 4.1.14 - "@tailwindcss/oxide": 4.1.14 + '@tailwindcss/node': 4.1.14 + '@tailwindcss/oxide': 4.1.14 esbuild: 0.27.2 - lightningcss: 1.30.1 - tailwindcss: 4.2.0 + lightningcss: 1.32.0 + tailwindcss: 4.2.2 - "@shikijs/core@3.13.0": + '@shikijs/core@3.23.0': dependencies: - "@shikijs/types": 3.13.0 - "@shikijs/vscode-textmate": 10.0.2 - "@types/hast": 3.0.4 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - "@shikijs/engine-javascript@3.13.0": + '@shikijs/engine-javascript@3.23.0': dependencies: - "@shikijs/types": 3.13.0 - "@shikijs/vscode-textmate": 10.0.2 - oniguruma-to-es: 4.3.3 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.5 - "@shikijs/engine-oniguruma@3.13.0": + '@shikijs/engine-oniguruma@3.23.0': dependencies: - "@shikijs/types": 3.13.0 - "@shikijs/vscode-textmate": 10.0.2 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 - "@shikijs/langs@3.13.0": + '@shikijs/langs@3.23.0': dependencies: - "@shikijs/types": 3.13.0 + '@shikijs/types': 3.23.0 - "@shikijs/themes@3.13.0": + '@shikijs/themes@3.23.0': dependencies: - "@shikijs/types": 3.13.0 + '@shikijs/types': 3.23.0 - "@shikijs/transformers@3.13.0": + '@shikijs/transformers@3.23.0': dependencies: - "@shikijs/core": 3.13.0 - "@shikijs/types": 3.13.0 + '@shikijs/core': 3.23.0 + '@shikijs/types': 3.23.0 - "@shikijs/types@3.13.0": + '@shikijs/types@3.23.0': dependencies: - "@shikijs/vscode-textmate": 10.0.2 - "@types/hast": 3.0.4 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - "@shikijs/vscode-textmate@10.0.2": {} + '@shikijs/vscode-textmate@10.0.2': {} - "@sindresorhus/slugify@3.0.0": + '@sindresorhus/slugify@3.0.0': dependencies: - "@sindresorhus/transliterate": 2.0.0 + '@sindresorhus/transliterate': 2.3.1 escape-string-regexp: 5.0.0 - "@sindresorhus/transliterate@2.0.0": {} + '@sindresorhus/transliterate@2.3.1': {} - "@swc/helpers@0.5.17": + '@swc/helpers@0.5.21': dependencies: tslib: 2.8.1 - "@tailwindcss/node@4.1.14": + '@tailwindcss/node@4.1.14': dependencies: - "@jridgewell/remapping": 2.3.5 - enhanced-resolve: 5.18.3 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.20.1 jiti: 2.6.1 lightningcss: 1.30.1 - magic-string: 0.30.19 + magic-string: 0.30.21 source-map-js: 1.2.1 tailwindcss: 4.1.14 - "@tailwindcss/oxide-android-arm64@4.1.14": + '@tailwindcss/oxide-android-arm64@4.1.14': optional: true - "@tailwindcss/oxide-darwin-arm64@4.1.14": + '@tailwindcss/oxide-darwin-arm64@4.1.14': optional: true - "@tailwindcss/oxide-darwin-x64@4.1.14": + '@tailwindcss/oxide-darwin-x64@4.1.14': optional: true - "@tailwindcss/oxide-freebsd-x64@4.1.14": + '@tailwindcss/oxide-freebsd-x64@4.1.14': optional: true - "@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14": + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.14': optional: true - "@tailwindcss/oxide-linux-arm64-gnu@4.1.14": + '@tailwindcss/oxide-linux-arm64-gnu@4.1.14': optional: true - "@tailwindcss/oxide-linux-arm64-musl@4.1.14": + '@tailwindcss/oxide-linux-arm64-musl@4.1.14': optional: true - "@tailwindcss/oxide-linux-x64-gnu@4.1.14": + '@tailwindcss/oxide-linux-x64-gnu@4.1.14': optional: true - "@tailwindcss/oxide-linux-x64-musl@4.1.14": + '@tailwindcss/oxide-linux-x64-musl@4.1.14': optional: true - "@tailwindcss/oxide-wasm32-wasi@4.1.14": + '@tailwindcss/oxide-wasm32-wasi@4.1.14': optional: true - "@tailwindcss/oxide-win32-arm64-msvc@4.1.14": + '@tailwindcss/oxide-win32-arm64-msvc@4.1.14': optional: true - "@tailwindcss/oxide-win32-x64-msvc@4.1.14": + '@tailwindcss/oxide-win32-x64-msvc@4.1.14': optional: true - "@tailwindcss/oxide@4.1.14": + '@tailwindcss/oxide@4.1.14': dependencies: - detect-libc: 2.0.4 - tar: 7.5.1 + detect-libc: 2.1.2 + tar: 7.5.13 optionalDependencies: - "@tailwindcss/oxide-android-arm64": 4.1.14 - "@tailwindcss/oxide-darwin-arm64": 4.1.14 - "@tailwindcss/oxide-darwin-x64": 4.1.14 - "@tailwindcss/oxide-freebsd-x64": 4.1.14 - "@tailwindcss/oxide-linux-arm-gnueabihf": 4.1.14 - "@tailwindcss/oxide-linux-arm64-gnu": 4.1.14 - "@tailwindcss/oxide-linux-arm64-musl": 4.1.14 - "@tailwindcss/oxide-linux-x64-gnu": 4.1.14 - "@tailwindcss/oxide-linux-x64-musl": 4.1.14 - "@tailwindcss/oxide-wasm32-wasi": 4.1.14 - "@tailwindcss/oxide-win32-arm64-msvc": 4.1.14 - "@tailwindcss/oxide-win32-x64-msvc": 4.1.14 - - "@tailwindcss/typography@0.5.19(tailwindcss@4.2.0)": + '@tailwindcss/oxide-android-arm64': 4.1.14 + '@tailwindcss/oxide-darwin-arm64': 4.1.14 + '@tailwindcss/oxide-darwin-x64': 4.1.14 + '@tailwindcss/oxide-freebsd-x64': 4.1.14 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.14 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.14 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.14 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.14 + '@tailwindcss/oxide-linux-x64-musl': 4.1.14 + '@tailwindcss/oxide-wasm32-wasi': 4.1.14 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.14 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.14 + + '@tailwindcss/typography@0.5.19(tailwindcss@4.2.2)': dependencies: postcss-selector-parser: 6.0.10 - tailwindcss: 4.2.0 + tailwindcss: 4.2.2 - "@tanstack/react-virtual@3.13.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)": + '@tanstack/react-virtual@3.13.24(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: - "@tanstack/virtual-core": 3.13.10 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + '@tanstack/virtual-core': 3.14.0 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) - "@tanstack/virtual-core@3.13.10": {} + '@tanstack/virtual-core@3.14.0': {} - "@tybys/wasm-util@0.10.1": + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true - "@types/babel__core@7.20.5": + '@types/babel__core@7.20.5': dependencies: - "@babel/parser": 7.23.5 - "@babel/types": 7.28.4 - "@types/babel__generator": 7.27.0 - "@types/babel__template": 7.4.4 - "@types/babel__traverse": 7.20.4 + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 - "@types/babel__generator@7.27.0": + '@types/babel__generator@7.27.0': dependencies: - "@babel/types": 7.28.4 + '@babel/types': 7.29.0 - "@types/babel__template@7.4.4": + '@types/babel__template@7.4.4': dependencies: - "@babel/parser": 7.23.5 - "@babel/types": 7.28.4 + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 - "@types/babel__traverse@7.20.4": + '@types/babel__traverse@7.28.0': dependencies: - "@babel/types": 7.28.4 + '@babel/types': 7.29.0 - "@types/chai@5.2.2": + '@types/chai@5.2.3': dependencies: - "@types/deep-eql": 4.0.2 + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 - "@types/deep-eql@4.0.2": {} + '@types/deep-eql@4.0.2': {} - "@types/eslint-scope@3.7.7": + '@types/eslint-scope@3.7.7': dependencies: - "@types/eslint": 9.6.1 - "@types/estree": 1.0.8 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 - "@types/eslint@9.6.1": + '@types/eslint@9.6.1': dependencies: - "@types/estree": 1.0.8 - "@types/json-schema": 7.0.15 - - "@types/estree@1.0.6": {} + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 - "@types/estree@1.0.8": {} + '@types/estree@1.0.8': {} - "@types/etag@1.8.4": + '@types/etag@1.8.4': dependencies: - "@types/node": 24.0.15 + '@types/node': 22.19.17 - "@types/hast@3.0.4": + '@types/hast@3.0.4': dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 - "@types/js-yaml@4.0.9": {} + '@types/js-yaml@4.0.9': {} - "@types/json-schema@7.0.15": {} + '@types/json-schema@7.0.15': {} - "@types/linkify-it@3.0.5": + '@types/linkify-it@3.0.5': optional: true - "@types/markdown-it@12.2.3": + '@types/markdown-it@12.2.3': dependencies: - "@types/linkify-it": 3.0.5 - "@types/mdurl": 1.0.5 + '@types/linkify-it': 3.0.5 + '@types/mdurl': 2.0.0 optional: true - "@types/mdast@4.0.4": + '@types/mdast@4.0.4': dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 - "@types/mdurl@1.0.5": + '@types/mdurl@2.0.0': optional: true - "@types/mime-types@3.0.1": {} + '@types/mime-types@3.0.1': {} - "@types/node@12.20.55": {} + '@types/node@12.20.55': {} - "@types/node@22.10.2": + '@types/node@22.19.17': dependencies: - undici-types: 6.20.0 + undici-types: 6.21.0 - "@types/node@24.0.15": + '@types/node@25.6.0': dependencies: - undici-types: 7.8.0 + undici-types: 7.19.2 - "@types/picomatch@4.0.2": {} + '@types/picomatch@4.0.3': {} - "@types/prompts@2.4.9": + '@types/prompts@2.4.9': dependencies: - "@types/node": 22.10.2 + '@types/node': 22.19.17 kleur: 3.0.3 - "@types/react-dom@19.2.3(@types/react@19.2.10)": + '@types/react-dom@19.2.3(@types/react@19.2.14)': dependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - "@types/react@19.2.10": + '@types/react@19.2.14': dependencies: csstype: 3.2.3 - "@types/signale@1.4.7": + '@types/signale@1.4.7': dependencies: - "@types/node": 22.10.2 + '@types/node': 22.19.17 - "@types/tar@6.1.13": + '@types/tar@6.1.13': dependencies: - "@types/node": 22.10.2 + '@types/node': 22.19.17 minipass: 4.2.8 - "@types/unist@3.0.3": {} - - "@typescript-eslint/eslint-plugin@8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)": - dependencies: - "@eslint-community/regexpp": 4.12.1 - "@typescript-eslint/parser": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/scope-manager": 8.45.0 - "@typescript-eslint/type-utils": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/utils": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.45.0 - eslint: 9.38.0(jiti@2.6.1) - graphemer: 1.4.0 - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color + '@types/unist@3.0.3': {} - "@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@eslint-community/regexpp": 4.12.1 - "@typescript-eslint/parser": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/scope-manager": 8.46.2 - "@typescript-eslint/type-utils": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/utils": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.46.2 - eslint: 9.23.0(jiti@2.6.1) - graphemer: 1.4.0 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.58.2 + '@typescript-eslint/type-utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.58.2 + eslint: 9.39.4(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - "@typescript-eslint/parser@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)": - dependencies: - "@typescript-eslint/scope-manager": 8.45.0 - "@typescript-eslint/types": 8.45.0 - "@typescript-eslint/typescript-estree": 8.45.0(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.45.0 - debug: 4.4.1(supports-color@5.5.0) - eslint: 9.38.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - "@typescript-eslint/parser@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)": - dependencies: - "@typescript-eslint/scope-manager": 8.46.2 - "@typescript-eslint/types": 8.46.2 - "@typescript-eslint/typescript-estree": 8.46.2(typescript@5.9.3) - "@typescript-eslint/visitor-keys": 8.46.2 - debug: 4.4.1(supports-color@5.5.0) - eslint: 9.23.0(jiti@2.6.1) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.45.0(typescript@5.9.3)": + '@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@typescript-eslint/tsconfig-utils": 8.45.0(typescript@5.9.3) - "@typescript-eslint/types": 8.45.0 - debug: 4.4.1(supports-color@5.5.0) + '@typescript-eslint/scope-manager': 8.58.2 + '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.58.2 + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.46.2(typescript@5.9.3)": + '@typescript-eslint/project-service@8.58.2(typescript@5.9.3)': dependencies: - "@typescript-eslint/tsconfig-utils": 8.46.2(typescript@5.9.3) - "@typescript-eslint/types": 8.46.2 - debug: 4.4.1(supports-color@5.5.0) + '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@5.9.3) + '@typescript-eslint/types': 8.58.2 + debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.45.0": - dependencies: - "@typescript-eslint/types": 8.45.0 - "@typescript-eslint/visitor-keys": 8.45.0 - - "@typescript-eslint/scope-manager@8.46.2": - dependencies: - "@typescript-eslint/types": 8.46.2 - "@typescript-eslint/visitor-keys": 8.46.2 - - "@typescript-eslint/tsconfig-utils@8.45.0(typescript@5.9.3)": - dependencies: - typescript: 5.9.3 - - "@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)": - dependencies: - typescript: 5.9.3 - - "@typescript-eslint/type-utils@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/scope-manager@8.58.2': dependencies: - "@typescript-eslint/types": 8.45.0 - "@typescript-eslint/typescript-estree": 8.45.0(typescript@5.9.3) - "@typescript-eslint/utils": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.1(supports-color@5.5.0) - eslint: 9.38.0(jiti@2.6.1) - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/visitor-keys': 8.58.2 - "@typescript-eslint/type-utils@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/tsconfig-utils@8.58.2(typescript@5.9.3)': dependencies: - "@typescript-eslint/types": 8.46.2 - "@typescript-eslint/typescript-estree": 8.46.2(typescript@5.9.3) - "@typescript-eslint/utils": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.1(supports-color@5.5.0) - eslint: 9.23.0(jiti@2.6.1) - ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - "@typescript-eslint/types@8.45.0": {} - - "@typescript-eslint/types@8.46.2": {} - "@typescript-eslint/typescript-estree@8.45.0(typescript@5.9.3)": + '@typescript-eslint/type-utils@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@typescript-eslint/project-service": 8.45.0(typescript@5.9.3) - "@typescript-eslint/tsconfig-utils": 8.45.0(typescript@5.9.3) - "@typescript-eslint/types": 8.45.0 - "@typescript-eslint/visitor-keys": 8.45.0 - debug: 4.4.1(supports-color@5.5.0) - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.3) + '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.4(jiti@2.6.1) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)": - dependencies: - "@typescript-eslint/project-service": 8.46.2(typescript@5.9.3) - "@typescript-eslint/tsconfig-utils": 8.46.2(typescript@5.9.3) - "@typescript-eslint/types": 8.46.2 - "@typescript-eslint/visitor-keys": 8.46.2 - debug: 4.4.1(supports-color@5.5.0) - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@8.58.2': {} - "@typescript-eslint/utils@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/typescript-estree@8.58.2(typescript@5.9.3)': dependencies: - "@eslint-community/eslint-utils": 4.7.0(eslint@9.38.0(jiti@2.6.1)) - "@typescript-eslint/scope-manager": 8.45.0 - "@typescript-eslint/types": 8.45.0 - "@typescript-eslint/typescript-estree": 8.45.0(typescript@5.9.3) - eslint: 9.38.0(jiti@2.6.1) + '@typescript-eslint/project-service': 8.58.2(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@5.9.3) + '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/visitor-keys': 8.58.2 + debug: 4.4.3(supports-color@5.5.0) + minimatch: 10.2.5 + semver: 7.7.4 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3)": + '@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - "@eslint-community/eslint-utils": 4.9.0(eslint@9.23.0(jiti@2.6.1)) - "@typescript-eslint/scope-manager": 8.46.2 - "@typescript-eslint/types": 8.46.2 - "@typescript-eslint/typescript-estree": 8.46.2(typescript@5.9.3) - eslint: 9.23.0(jiti@2.6.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.58.2 + '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) + eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/visitor-keys@8.45.0": - dependencies: - "@typescript-eslint/types": 8.45.0 - eslint-visitor-keys: 4.2.1 - - "@typescript-eslint/visitor-keys@8.46.2": + '@typescript-eslint/visitor-keys@8.58.2': dependencies: - "@typescript-eslint/types": 8.46.2 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.58.2 + eslint-visitor-keys: 5.0.1 - "@ungap/structured-clone@1.2.0": {} + '@ungap/structured-clone@1.3.0': {} - "@vitest/expect@3.2.4": + '@vitest/expect@3.2.4': dependencies: - "@types/chai": 5.2.2 - "@vitest/spy": 3.2.4 - "@vitest/utils": 3.2.4 - chai: 5.2.0 + '@types/chai': 5.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 tinyrainbow: 2.0.0 - "@vitest/mocker@3.2.4(vite@6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0))": + '@vitest/mocker@3.2.4(vite@7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - "@vitest/spy": 3.2.4 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.19 + magic-string: 0.30.21 optionalDependencies: - vite: 6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) - "@vitest/pretty-format@3.2.4": + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - "@vitest/runner@3.2.4": + '@vitest/runner@3.2.4': dependencies: - "@vitest/utils": 3.2.4 + '@vitest/utils': 3.2.4 pathe: 2.0.3 - strip-literal: 3.0.0 + strip-literal: 3.1.0 - "@vitest/snapshot@3.2.4": + '@vitest/snapshot@3.2.4': dependencies: - "@vitest/pretty-format": 3.2.4 - magic-string: 0.30.19 + '@vitest/pretty-format': 3.2.4 + magic-string: 0.30.21 pathe: 2.0.3 - "@vitest/spy@3.2.4": + '@vitest/spy@3.2.4': dependencies: - tinyspy: 4.0.3 + tinyspy: 4.0.4 - "@vitest/utils@3.2.4": + '@vitest/utils@3.2.4': dependencies: - "@vitest/pretty-format": 3.2.4 - loupe: 3.1.4 + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.1 tinyrainbow: 2.0.0 - "@webassemblyjs/ast@1.14.1": + '@webassemblyjs/ast@1.14.1': dependencies: - "@webassemblyjs/helper-numbers": 1.13.2 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - "@webassemblyjs/floating-point-hex-parser@1.13.2": {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - "@webassemblyjs/helper-api-error@1.13.2": {} + '@webassemblyjs/helper-api-error@1.13.2': {} - "@webassemblyjs/helper-buffer@1.14.1": {} + '@webassemblyjs/helper-buffer@1.14.1': {} - "@webassemblyjs/helper-numbers@1.13.2": + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.13.2 - "@webassemblyjs/helper-api-error": 1.13.2 - "@xtuc/long": 4.2.2 + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 - "@webassemblyjs/helper-wasm-bytecode@1.13.2": {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - "@webassemblyjs/helper-wasm-section@1.14.1": + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/wasm-gen": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - "@webassemblyjs/ieee754@1.13.2": + '@webassemblyjs/ieee754@1.13.2': dependencies: - "@xtuc/ieee754": 1.2.0 + '@xtuc/ieee754': 1.2.0 - "@webassemblyjs/leb128@1.13.2": + '@webassemblyjs/leb128@1.13.2': dependencies: - "@xtuc/long": 4.2.2 + '@xtuc/long': 4.2.2 - "@webassemblyjs/utf8@1.13.2": {} + '@webassemblyjs/utf8@1.13.2': {} - "@webassemblyjs/wasm-edit@1.14.1": + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/helper-wasm-section": 1.14.1 - "@webassemblyjs/wasm-gen": 1.14.1 - "@webassemblyjs/wasm-opt": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 - "@webassemblyjs/wast-printer": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - "@webassemblyjs/wasm-gen@1.14.1": + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/ieee754": 1.13.2 - "@webassemblyjs/leb128": 1.13.2 - "@webassemblyjs/utf8": 1.13.2 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - "@webassemblyjs/wasm-opt@1.14.1": + '@webassemblyjs/wasm-opt@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-buffer": 1.14.1 - "@webassemblyjs/wasm-gen": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - "@webassemblyjs/wasm-parser@1.14.1": + '@webassemblyjs/wasm-parser@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/helper-api-error": 1.13.2 - "@webassemblyjs/helper-wasm-bytecode": 1.13.2 - "@webassemblyjs/ieee754": 1.13.2 - "@webassemblyjs/leb128": 1.13.2 - "@webassemblyjs/utf8": 1.13.2 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - "@webassemblyjs/wast-printer@1.14.1": + '@webassemblyjs/wast-printer@1.14.1': dependencies: - "@webassemblyjs/ast": 1.14.1 - "@xtuc/long": 4.2.2 + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 - "@whatwg-node/fetch@0.9.22": + '@whatwg-node/fetch@0.9.23': dependencies: - "@whatwg-node/node-fetch": 0.5.27 + '@whatwg-node/node-fetch': 0.6.0 urlpattern-polyfill: 10.1.0 - "@whatwg-node/node-fetch@0.5.27": + '@whatwg-node/node-fetch@0.6.0': dependencies: - "@kamilkisiela/fast-url-parser": 1.1.4 + '@kamilkisiela/fast-url-parser': 1.1.4 busboy: 1.6.0 fast-querystring: 1.1.2 tslib: 2.8.1 - "@xtuc/ieee754@1.2.0": {} + '@xtuc/ieee754@1.2.0': {} - "@xtuc/long@4.2.2": {} + '@xtuc/long@4.2.2': {} + + acorn-import-phases@1.0.4(acorn@8.16.0): + dependencies: + acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 acorn-loose@8.5.2: dependencies: - acorn: 8.15.0 + acorn: 8.16.0 - acorn@8.15.0: {} + acorn@8.16.0: {} - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv-keywords@3.5.2(ajv@6.12.6): + ajv-keywords@5.1.0(ajv@8.18.0): dependencies: - ajv: 6.12.6 - - ajv-keywords@5.1.0(ajv@8.17.1): - dependencies: - ajv: 8.17.1 + ajv: 8.18.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -9956,8 +6343,6 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} - ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -9966,12 +6351,10 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@6.2.1: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 argparse@1.0.10: dependencies: @@ -9979,112 +6362,87 @@ snapshots: argparse@2.0.1: {} - aria-hidden@1.2.4: + aria-hidden@1.2.6: dependencies: tslib: 2.8.1 - array-buffer-byte-length@1.0.0: - dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-buffer-byte-length@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-includes@3.1.8: + array-includes@3.1.9: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - - array-union@2.1.0: {} + es-abstract: 1.24.2 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + + array-union@2.1.0: {} array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 - array.prototype.flat@1.3.2: + array.prototype.flat@1.3.3: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.2 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 array.prototype.flatmap@1.3.3: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.9 - es-shim-unscopables: 1.0.2 + es-abstract: 1.24.2 + es-shim-unscopables: 1.1.0 array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.2: - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.2 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + es-shim-unscopables: 1.1.0 arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.2 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 assertion-error@2.0.1: {} - available-typed-arrays@1.0.5: {} + async-function@1.0.0: {} available-typed-arrays@1.0.7: dependencies: - possible-typed-array-names: 1.0.0 + possible-typed-array-names: 1.1.0 babel-plugin-react-compiler@19.1.0-rc.3: dependencies: - "@babel/types": 7.28.4 + '@babel/types': 7.29.0 balanced-match@1.0.2: {} + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.10.20: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -10093,25 +6451,26 @@ snapshots: boolbase@1.0.0: {} - brace-expansion@1.1.12: + brace-expansion@1.1.14: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: + brace-expansion@5.0.5: dependencies: - balanced-match: 1.0.2 + balanced-match: 4.0.4 braces@3.0.3: dependencies: fill-range: 7.1.1 - browserslist@4.25.1: + browserslist@4.28.2: dependencies: - caniuse-lite: 1.0.30001727 - electron-to-chromium: 1.5.187 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.1) + baseline-browser-mapping: 2.10.20 + caniuse-lite: 1.0.30001788 + electron-to-chromium: 1.5.340 + node-releases: 2.0.37 + update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -10126,32 +6485,13 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.5: - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.2.0 - - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.0 - get-intrinsic: 1.2.4 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 set-function-length: 1.2.2 - call-bound@1.0.3: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.2.7 - call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 @@ -10159,17 +6499,17 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001727: {} + caniuse-lite@1.0.30001788: {} ccount@2.0.1: {} - chai@5.2.0: + chai@5.3.3: dependencies: assertion-error: 2.0.1 - check-error: 2.1.1 + check-error: 2.1.3 deep-eql: 5.0.2 - loupe: 3.1.4 - pathval: 2.0.0 + loupe: 3.2.1 + pathval: 2.0.1 chalk@2.4.2: dependencies: @@ -10186,9 +6526,9 @@ snapshots: character-entities-legacy@3.0.0: {} - chardet@2.1.0: {} + chardet@2.1.1: {} - check-error@2.1.1: {} + check-error@2.1.3: {} cheerio-select@2.1.0: dependencies: @@ -10199,18 +6539,18 @@ snapshots: domhandler: 5.0.3 domutils: 3.2.2 - cheerio@1.1.1: + cheerio@1.2.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 domutils: 3.2.2 encoding-sniffer: 0.2.1 - htmlparser2: 10.0.0 + htmlparser2: 10.1.0 parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.12.0 + undici: 7.25.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -10233,8 +6573,6 @@ snapshots: chrome-trace-event@1.0.4: {} - ci-info@3.9.0: {} - client-only@0.0.1: {} clsx@2.1.1: {} @@ -10253,7 +6591,7 @@ snapshots: comma-separated-tokens@2.0.3: {} - commander@14.0.1: {} + commander@14.0.3: {} commander@2.20.3: {} @@ -10261,7 +6599,7 @@ snapshots: convert-source-map@2.0.0: {} - cookie@1.0.2: {} + cookie@1.1.1: {} cross-spawn@7.0.6: dependencies: @@ -10283,83 +6621,53 @@ snapshots: csstype@3.2.3: {} - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-buffer@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-byte-length@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-byte-offset@1.0.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - debug@4.3.7: - dependencies: - ms: 2.1.3 - - debug@4.4.1(supports-color@5.5.0): + debug@4.4.3(supports-color@5.5.0): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 5.5.0 - dedent@1.7.0: {} + dedent@1.7.2: {} deep-eql@5.0.2: {} deep-is@0.1.4: {} - define-data-property@1.1.1: - dependencies: - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - define-data-property@1.1.4: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.2.0 define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dequal@2.0.3: {} detect-indent@6.1.0: {} - detect-libc@2.0.4: {} - - detect-libc@2.1.1: {} + detect-libc@2.1.2: {} detect-node-es@1.1.0: {} @@ -10393,7 +6701,7 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - dotenv@17.2.3: {} + dotenv@17.4.2: {} dunder-proto@1.0.1: dependencies: @@ -10401,23 +6709,17 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - eastasianwidth@0.2.0: {} - - electron-to-chromium@1.5.187: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} + electron-to-chromium@1.5.340: {} encoding-sniffer@0.2.1: dependencies: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 - enhanced-resolve@5.18.3: + enhanced-resolve@5.20.1: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.2 + tapable: 2.3.2 enquirer@2.4.1: dependencies: @@ -10428,118 +6730,29 @@ snapshots: entities@6.0.1: {} - error-ex@1.3.2: + entities@7.0.1: {} + + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 - es-abstract@1.22.3: - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.1.0 - safe-regex-test: 1.0.2 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 - - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-abstract@1.23.9: + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 data-view-buffer: 1.0.2 data-view-byte-length: 1.0.2 data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 get-proto: 1.0.1 get-symbol-description: 1.1.0 globalthis: 1.0.4 @@ -10547,12 +6760,14 @@ snapshots: has-property-descriptors: 1.0.2 has-proto: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.3 internal-slot: 1.1.0 is-array-buffer: 3.0.5 is-callable: 1.2.7 is-data-view: 1.0.2 + is-negative-zero: 2.0.3 is-regex: 1.2.1 + is-set: 2.0.3 is-shared-array-buffer: 1.0.4 is-string: 1.1.1 is-typed-array: 1.1.15 @@ -10567,6 +6782,7 @@ snapshots: safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 string.prototype.trim: 1.2.10 string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 @@ -10575,26 +6791,22 @@ snapshots: typed-array-byte-offset: 1.0.4 typed-array-length: 1.0.7 unbox-primitive: 1.1.0 - which-typed-array: 1.1.18 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 + which-typed-array: 1.1.20 es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-iterator-helpers@1.2.1: + es-iterator-helpers@1.3.2: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 + es-set-tostringtag: 2.1.0 function-bind: 1.1.2 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 globalthis: 1.0.4 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -10602,110 +6814,90 @@ snapshots: has-symbols: 1.1.0 internal-slot: 1.1.0 iterator.prototype: 1.1.5 - safe-array-concat: 1.1.3 + math-intrinsics: 1.1.0 es-module-lexer@1.7.0: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 + es-module-lexer@2.0.0: {} es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.0.2: - dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.2 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.3 - es-shim-unscopables@1.0.2: + es-shim-unscopables@1.1.0: dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + hasown: 2.0.3 es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - - esbuild@0.25.10: - optionalDependencies: - "@esbuild/aix-ppc64": 0.25.10 - "@esbuild/android-arm": 0.25.10 - "@esbuild/android-arm64": 0.25.10 - "@esbuild/android-x64": 0.25.10 - "@esbuild/darwin-arm64": 0.25.10 - "@esbuild/darwin-x64": 0.25.10 - "@esbuild/freebsd-arm64": 0.25.10 - "@esbuild/freebsd-x64": 0.25.10 - "@esbuild/linux-arm": 0.25.10 - "@esbuild/linux-arm64": 0.25.10 - "@esbuild/linux-ia32": 0.25.10 - "@esbuild/linux-loong64": 0.25.10 - "@esbuild/linux-mips64el": 0.25.10 - "@esbuild/linux-ppc64": 0.25.10 - "@esbuild/linux-riscv64": 0.25.10 - "@esbuild/linux-s390x": 0.25.10 - "@esbuild/linux-x64": 0.25.10 - "@esbuild/netbsd-arm64": 0.25.10 - "@esbuild/netbsd-x64": 0.25.10 - "@esbuild/openbsd-arm64": 0.25.10 - "@esbuild/openbsd-x64": 0.25.10 - "@esbuild/openharmony-arm64": 0.25.10 - "@esbuild/sunos-x64": 0.25.10 - "@esbuild/win32-arm64": 0.25.10 - "@esbuild/win32-ia32": 0.25.10 - "@esbuild/win32-x64": 0.25.10 + is-date-object: 1.1.0 + is-symbol: 1.1.1 esbuild@0.27.2: optionalDependencies: - "@esbuild/aix-ppc64": 0.27.2 - "@esbuild/android-arm": 0.27.2 - "@esbuild/android-arm64": 0.27.2 - "@esbuild/android-x64": 0.27.2 - "@esbuild/darwin-arm64": 0.27.2 - "@esbuild/darwin-x64": 0.27.2 - "@esbuild/freebsd-arm64": 0.27.2 - "@esbuild/freebsd-x64": 0.27.2 - "@esbuild/linux-arm": 0.27.2 - "@esbuild/linux-arm64": 0.27.2 - "@esbuild/linux-ia32": 0.27.2 - "@esbuild/linux-loong64": 0.27.2 - "@esbuild/linux-mips64el": 0.27.2 - "@esbuild/linux-ppc64": 0.27.2 - "@esbuild/linux-riscv64": 0.27.2 - "@esbuild/linux-s390x": 0.27.2 - "@esbuild/linux-x64": 0.27.2 - "@esbuild/netbsd-arm64": 0.27.2 - "@esbuild/netbsd-x64": 0.27.2 - "@esbuild/openbsd-arm64": 0.27.2 - "@esbuild/openbsd-x64": 0.27.2 - "@esbuild/openharmony-arm64": 0.27.2 - "@esbuild/sunos-x64": 0.27.2 - "@esbuild/win32-arm64": 0.27.2 - "@esbuild/win32-ia32": 0.27.2 - "@esbuild/win32-x64": 0.27.2 + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 + + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 escalade@3.2.0: {} @@ -10715,68 +6907,35 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-plugin-react-hooks@7.0.0(eslint@9.23.0(jiti@2.6.1)): - dependencies: - "@babel/core": 7.28.4 - "@babel/parser": 7.28.4 - eslint: 9.23.0(jiti@2.6.1) - hermes-parser: 0.25.1 - zod: 4.1.11 - zod-validation-error: 3.4.0(zod@4.1.11) - transitivePeerDependencies: - - supports-color - - eslint-plugin-react-hooks@7.0.0(eslint@9.38.0(jiti@2.6.1)): + eslint-plugin-react-hooks@7.1.1(eslint@9.39.4(jiti@2.6.1)): dependencies: - "@babel/core": 7.28.4 - "@babel/parser": 7.28.4 - eslint: 9.38.0(jiti@2.6.1) + '@babel/core': 7.29.0 + '@babel/parser': 7.29.2 + eslint: 9.39.4(jiti@2.6.1) hermes-parser: 0.25.1 zod: 4.1.11 - zod-validation-error: 3.4.0(zod@4.1.11) + zod-validation-error: 4.0.2(zod@4.1.11) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.23.0(jiti@2.6.1)): + eslint-plugin-react@7.37.5(eslint@9.39.4(jiti@2.6.1)): dependencies: - array-includes: 3.1.8 + array-includes: 3.1.9 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.2.1 - eslint: 9.23.0(jiti@2.6.1) + es-iterator-helpers: 1.3.2 + eslint: 9.39.4(jiti@2.6.1) estraverse: 5.3.0 - hasown: 2.0.2 + hasown: 2.0.3 jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 + minimatch: 3.1.5 object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.12 - string.prototype.repeat: 1.0.0 - - eslint-plugin-react@7.37.5(eslint@9.38.0(jiti@2.6.1)): - dependencies: - array-includes: 3.1.8 - array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.3 - array.prototype.tosorted: 1.1.4 - doctrine: 2.1.0 - es-iterator-helpers: 1.2.1 - eslint: 9.38.0(jiti@2.6.1) - estraverse: 5.3.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.9 - object.fromentries: 2.0.8 - object.values: 1.2.1 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.6 semver: 6.3.1 string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 @@ -10786,11 +6945,6 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@8.3.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 @@ -10798,75 +6952,33 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} - eslint@9.23.0(jiti@2.6.1): - dependencies: - "@eslint-community/eslint-utils": 4.4.1(eslint@9.23.0(jiti@2.6.1)) - "@eslint-community/regexpp": 4.12.1 - "@eslint/config-array": 0.19.2 - "@eslint/config-helpers": 0.2.0 - "@eslint/core": 0.12.0 - "@eslint/eslintrc": 3.3.1 - "@eslint/js": 9.23.0 - "@eslint/plugin-kit": 0.2.7 - "@humanfs/node": 0.16.6 - "@humanwhocodes/module-importer": 1.0.1 - "@humanwhocodes/retry": 0.4.2 - "@types/estree": 1.0.6 - "@types/json-schema": 7.0.15 - ajv: 6.12.6 + eslint-visitor-keys@5.0.1: {} + + eslint@9.39.4(jiti@2.6.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.2 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.5 + '@eslint/js': 9.39.4 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.7 - escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - optionalDependencies: - jiti: 2.6.1 - transitivePeerDependencies: - - supports-color - - eslint@9.38.0(jiti@2.6.1): - dependencies: - "@eslint-community/eslint-utils": 4.9.0(eslint@9.38.0(jiti@2.6.1)) - "@eslint-community/regexpp": 4.12.1 - "@eslint/config-array": 0.21.1 - "@eslint/config-helpers": 0.4.1 - "@eslint/core": 0.16.0 - "@eslint/eslintrc": 3.3.1 - "@eslint/js": 9.38.0 - "@eslint/plugin-kit": 0.4.0 - "@humanfs/node": 0.16.6 - "@humanwhocodes/module-importer": 1.0.1 - "@humanwhocodes/retry": 0.4.3 - "@types/estree": 1.0.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@5.5.0) + debug: 4.4.3(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -10877,7 +6989,7 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -10885,25 +6997,15 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.3.0: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.0 - espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} - esquery@1.5.0: - dependencies: - estraverse: 5.3.0 - - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -10917,7 +7019,7 @@ snapshots: estree-walker@3.0.3: dependencies: - "@types/estree": 1.0.8 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -10925,7 +7027,7 @@ snapshots: events@3.3.0: {} - expect-type@1.2.2: {} + expect-type@1.3.0: {} extendable-error@0.1.7: {} @@ -10933,10 +7035,10 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: - "@nodelib/fs.stat": 2.0.5 - "@nodelib/fs.walk": 1.2.8 + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.8 @@ -10949,15 +7051,15 @@ snapshots: dependencies: fast-decode-uri-component: 1.0.1 - fast-uri@3.0.6: {} + fast-uri@3.1.0: {} - fastq@1.17.1: + fastq@1.20.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 figures@2.0.0: dependencies: @@ -10987,28 +7089,23 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.3 + flatted: 3.4.2 keyv: 4.5.4 - flatted@3.3.3: {} + flatted@3.4.2: {} - for-each@0.3.3: + for-each@0.3.5: dependencies: is-callable: 1.2.7 - foreground-child@3.3.0: + framer-motion@12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - framer-motion@12.23.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - motion-dom: 12.23.21 - motion-utils: 12.23.6 + motion-dom: 12.38.0 + motion-utils: 12.36.0 tslib: 2.8.1 optionalDependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) fs-extra@7.0.1: dependencies: @@ -11027,53 +7124,20 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - function.prototype.name@1.1.8: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 functions-have-names: 1.2.3 - hasown: 2.0.2 + hasown: 2.0.3 is-callable: 1.2.7 functions-have-names@1.2.3: {} - gensync@1.0.0-beta.2: {} - - get-intrinsic@1.2.2: - dependencies: - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 + generator-function@2.0.1: {} - get-intrinsic@1.2.7: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 + gensync@1.0.0-beta.2: {} get-intrinsic@1.3.0: dependencies: @@ -11085,7 +7149,7 @@ snapshots: get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.3 math-intrinsics: 1.1.0 get-nonce@1.0.1: {} @@ -11093,26 +7157,15 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 - - get-symbol-description@1.0.0: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 + es-object-atoms: 1.1.1 get-symbol-description@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 - get-tsconfig@4.10.1: + get-tsconfig@4.14.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -11126,102 +7179,69 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - globals@14.0.0: {} - globals@16.4.0: {} - - globalthis@1.0.3: - dependencies: - define-properties: 1.2.1 + globals@16.5.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.2.0 globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.2 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - gopd@1.2.0: {} graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - - has-bigints@1.0.2: {} + has-bigints@1.1.0: {} has-flag@3.0.0: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.1: {} - - has-proto@1.0.3: {} + es-define-property: 1.0.1 has-proto@1.2.0: dependencies: dunder-proto: 1.0.1 - has-symbols@1.0.3: {} - has-symbols@1.1.0: {} - has-tostringtag@1.0.0: - dependencies: - has-symbols: 1.0.3 - has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 - hasown@2.0.2: + hasown@2.0.3: dependencies: function-bind: 1.1.2 hast-util-to-html@9.0.5: dependencies: - "@types/hast": 3.0.4 - "@types/unist": 3.0.3 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 ccount: 2.0.1 comma-separated-tokens: 2.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - property-information: 7.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 hast-util-whitespace@3.0.0: dependencies: - "@types/hast": 3.0.4 + '@types/hast': 3.0.4 hermes-estree@0.25.1: {} @@ -11231,20 +7251,20 @@ snapshots: html-void-elements@3.0.0: {} - htmlparser2@10.0.0: + htmlparser2@10.1.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.2.2 - entities: 6.0.1 + entities: 7.0.1 - human-id@4.1.1: {} + human-id@4.1.3: {} iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.0: + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -11261,109 +7281,71 @@ snapshots: imurmurhash@0.1.4: {} - internal-slot@1.0.6: - dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.2 - side-channel: 1.0.6 - - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.2 + hasown: 2.0.3 side-channel: 1.1.0 - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - get-intrinsic: 1.2.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-arrayish@0.2.1: {} - is-async-function@2.0.0: + is-async-function@2.1.1: dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 has-tostringtag: 1.0.2 - - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 + safe-regex-test: 1.1.0 is-bigint@1.1.0: dependencies: - has-bigints: 1.0.2 + has-bigints: 1.1.0 is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-boolean-object@1.2.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-callable@1.2.7: {} - is-core-module@2.13.1: - dependencies: - hasown: 2.0.2 - - is-data-view@1.0.1: + is-core-module@2.16.1: dependencies: - is-typed-array: 1.1.13 + hasown: 2.0.3 is-data-view@1.0.2: dependencies: - call-bound: 1.0.3 - get-intrinsic: 1.2.7 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-typed-array: 1.1.15 - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-date-object@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-finalizationregistry@1.1.1: dependencies: - call-bound: 1.0.3 - - is-fullwidth-code-point@3.0.0: {} + call-bound: 1.0.4 - is-generator-function@1.0.10: + is-generator-function@1.1.2: dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -11371,96 +7353,57 @@ snapshots: is-map@2.0.3: {} - is-negative-zero@2.0.2: {} - is-negative-zero@2.0.3: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number-object@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-number@7.0.0: {} - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.0 - is-regex@1.2.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.3 is-set@2.0.3: {} - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.5 - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-shared-array-buffer@1.0.4: dependencies: - call-bound: 1.0.3 - - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 + call-bound: 1.0.4 is-string@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - is-symbol@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-typed-array@1.1.12: - dependencies: - which-typed-array: 1.1.13 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.18 + which-typed-array: 1.1.20 is-weakmap@2.0.2: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - is-weakref@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 - is-weakset@2.0.3: + is-weakset@2.0.4: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-windows@1.0.2: {} @@ -11471,21 +7414,15 @@ snapshots: iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.7 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 get-proto: 1.0.1 has-symbols: 1.1.0 set-function-name: 2.0.2 - jackspeak@3.4.3: - dependencies: - "@isaacs/cliui": 8.0.2 - optionalDependencies: - "@pkgjs/parseargs": 0.11.0 - jest-worker@27.5.1: dependencies: - "@types/node": 24.0.15 + '@types/node': 25.6.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11495,12 +7432,12 @@ snapshots: js-tokens@9.0.1: {} - js-yaml@3.14.1: + js-yaml@3.14.2: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -11510,8 +7447,6 @@ snapshots: json-parse-better-errors@1.0.2: {} - json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -11526,10 +7461,10 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.8 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 keyv@4.5.4: dependencies: @@ -11544,39 +7479,72 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-android-arm64@1.32.0: + optional: true + lightningcss-darwin-arm64@1.30.1: optional: true + lightningcss-darwin-arm64@1.32.0: + optional: true + lightningcss-darwin-x64@1.30.1: optional: true + lightningcss-darwin-x64@1.32.0: + optional: true + lightningcss-freebsd-x64@1.30.1: optional: true + lightningcss-freebsd-x64@1.32.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.30.1: optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + lightningcss-linux-arm64-gnu@1.30.1: optional: true + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + lightningcss-linux-arm64-musl@1.30.1: optional: true + lightningcss-linux-arm64-musl@1.32.0: + optional: true + lightningcss-linux-x64-gnu@1.30.1: optional: true + lightningcss-linux-x64-gnu@1.32.0: + optional: true + lightningcss-linux-x64-musl@1.30.1: optional: true + lightningcss-linux-x64-musl@1.32.0: + optional: true + lightningcss-win32-arm64-msvc@1.30.1: optional: true + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + lightningcss-win32-x64-msvc@1.30.1: optional: true + lightningcss-win32-x64-msvc@1.32.0: + optional: true + lightningcss@1.30.1: dependencies: - detect-libc: 2.0.4 + detect-libc: 2.1.2 optionalDependencies: lightningcss-darwin-arm64: 1.30.1 lightningcss-darwin-x64: 1.30.1 @@ -11589,6 +7557,22 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.1 lightningcss-win32-x64-msvc: 1.30.1 + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -11596,7 +7580,7 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 - loader-runner@4.3.0: {} + loader-runner@4.3.1: {} locate-path@2.0.0: dependencies: @@ -11619,59 +7603,57 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.4: {} - - lru-cache@10.4.3: {} + loupe@3.2.1: {} lru-cache@5.1.1: dependencies: yallist: 3.1.1 - magic-string@0.30.19: + magic-string@0.30.21: dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/sourcemap-codec': 1.5.5 - marked@16.3.0: {} + marked@16.4.2: {} math-intrinsics@1.1.0: {} - mdast-util-to-hast@13.2.0: + mdast-util-to-hast@13.2.1: dependencies: - "@types/hast": 3.0.4 - "@types/mdast": 4.0.4 - "@ungap/structured-clone": 1.2.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 merge-stream@2.0.0: {} merge2@1.4.1: {} - micromark-util-character@2.1.0: + micromark-util-character@2.1.1: dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - micromark-util-encode@2.0.0: {} + micromark-util-encode@2.0.1: {} - micromark-util-sanitize-uri@2.0.0: + micromark-util-sanitize-uri@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.0: {} + micromark-util-types@2.0.2: {} micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 mime-db@1.52.0: {} @@ -11681,50 +7663,39 @@ snapshots: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: + mime-types@3.0.2: dependencies: mime-db: 1.54.0 - minimatch@10.0.3: - dependencies: - "@isaacs/brace-expansion": 5.0.0 - - minimatch@3.1.2: + minimatch@10.2.5: dependencies: - brace-expansion: 1.1.12 + brace-expansion: 5.0.5 - minimatch@9.0.5: + minimatch@3.1.5: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 1.1.14 minipass@4.2.8: {} - minipass@7.1.2: {} - - minizlib@3.0.1: - dependencies: - minipass: 7.1.2 - rimraf: 5.0.10 + minipass@7.1.3: {} minizlib@3.1.0: dependencies: - minipass: 7.1.2 - - mkdirp@3.0.1: {} + minipass: 7.1.3 - motion-dom@12.23.21: + motion-dom@12.38.0: dependencies: - motion-utils: 12.23.6 + motion-utils: 12.36.0 - motion-utils@12.23.6: {} + motion-utils@12.36.0: {} - motion@12.23.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + motion@12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: - framer-motion: 12.23.22(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + framer-motion: 12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) tslib: 2.8.1 optionalDependencies: - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) mri@1.2.0: {} @@ -11736,18 +7707,25 @@ snapshots: neo-async@2.6.2: {} - node-fetch-native@1.6.4: {} + node-exports-info@1.6.0: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + + node-fetch-native@1.6.7: {} - node-releases@2.0.19: {} + node-releases@2.0.37: {} - nodemon@3.1.10: + nodemon@3.1.14: dependencies: chokidar: 3.6.0 - debug: 4.4.1(supports-color@5.5.0) + debug: 4.4.3(supports-color@5.5.0) ignore-by-default: 1.0.1 - minimatch: 3.1.2 + minimatch: 10.2.5 pstree.remy: 1.1.8 - semver: 7.7.2 + semver: 7.7.4 simple-update-notifier: 2.0.0 supports-color: 5.5.0 touch: 3.1.1 @@ -11761,80 +7739,54 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.1: {} - - object-inspect@1.13.2: {} - object-inspect@1.13.4: {} object-keys@1.1.1: {} - object.assign@4.1.5: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - object.assign@4.1.7: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 object.entries@1.1.9: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-abstract: 1.24.2 + es-object-atoms: 1.1.1 object.values@1.2.1: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 oniguruma-parser@0.12.1: {} - oniguruma-to-es@4.3.3: + oniguruma-to-es@4.3.5: dependencies: oniguruma-parser: 0.12.1 - regex: 6.0.1 + regex: 6.1.0 regex-recursion: 6.0.2 - open-graph-scraper@6.10.0: + open-graph-scraper@6.11.0: dependencies: - chardet: 2.1.0 - cheerio: 1.1.1 - iconv-lite: 0.6.3 - undici: 6.21.3 - - optionator@0.9.3: - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 + chardet: 2.1.1 + cheerio: 1.2.0 + iconv-lite: 0.7.2 + undici: 7.25.0 optionator@0.9.4: dependencies: @@ -11849,7 +7801,7 @@ snapshots: own-keys@1.0.1: dependencies: - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 @@ -11887,9 +7839,9 @@ snapshots: p-try@2.2.0: {} - package-json-from-dist@1.0.1: {} - - package-manager-detector@0.2.2: {} + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.11 parent-module@1.0.1: dependencies: @@ -11897,7 +7849,7 @@ snapshots: parse-json@4.0.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-better-errors: 1.0.2 parse5-htmlparser2-tree-adapter@7.1.0: @@ -11921,22 +7873,17 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - path-type@4.0.0: {} pathe@2.0.3: {} - pathval@2.0.0: {} + pathval@2.0.1: {} picocolors@1.1.1: {} - picomatch@2.3.1: {} + picomatch@2.3.2: {} - picomatch@4.0.3: {} + picomatch@4.0.4: {} pify@3.0.0: {} @@ -11947,14 +7894,14 @@ snapshots: find-up: 2.1.0 load-json-file: 4.0.0 - possible-typed-array-names@1.0.0: {} + possible-typed-array-names@1.1.0: {} postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.3: + postcss@8.5.10: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -11962,17 +7909,17 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.14(prettier@3.6.2): + prettier-plugin-tailwindcss@0.6.14(prettier@3.8.3): dependencies: - prettier: 3.6.2 + prettier: 3.8.3 - prettier-plugin-tailwindcss@0.7.2(prettier@3.6.2): + prettier-plugin-tailwindcss@0.7.2(prettier@3.8.3): dependencies: - prettier: 3.6.2 + prettier: 3.8.3 prettier@2.8.8: {} - prettier@3.6.2: {} + prettier@3.8.3: {} prompts@2.4.2: dependencies: @@ -11985,152 +7932,133 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - property-information@7.0.0: {} + property-information@7.1.0: {} pstree.remy@1.1.8: {} punycode@2.3.1: {} + quansync@0.2.11: {} + queue-microtask@1.2.3: {} - randombytes@2.1.0: + react-aria@3.48.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: - safe-buffer: 5.2.1 + '@internationalized/date': 3.12.1 + '@internationalized/number': 3.6.6 + '@internationalized/string': 3.2.8 + '@react-types/shared': 3.34.0(react@19.2.5) + '@swc/helpers': 0.5.21 + aria-hidden: 1.2.6 + clsx: 2.1.1 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + react-stately: 3.46.0(react@19.2.5) + use-sync-external-store: 1.6.0(react@19.2.5) - react-dom@19.2.4(react@19.2.4): + react-dom@19.2.5(react@19.2.5): dependencies: - react: 19.2.4 + react: 19.2.5 scheduler: 0.27.0 - react-dom@19.3.0-canary-b061b597-20251212(react@19.3.0-canary-b061b597-20251212): - dependencies: - react: 19.3.0-canary-b061b597-20251212 - scheduler: 0.28.0-canary-b061b597-20251212 - react-is@16.13.1: {} react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.10)(react@19.2.4): + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.5): dependencies: - react: 19.2.4 - react-style-singleton: 2.2.3(@types/react@19.2.10)(react@19.2.4) + react: 19.2.5 + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.5) tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - react-remove-scroll@2.6.3(@types/react@19.2.10)(react@19.2.4): + react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.5): dependencies: - react: 19.2.4 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.10)(react@19.2.4) - react-style-singleton: 2.2.3(@types/react@19.2.10)(react@19.2.4) + react: 19.2.5 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.5) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.5) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.10)(react@19.2.4) - use-sidecar: 1.1.3(@types/react@19.2.10)(react@19.2.4) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.5) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.5) optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1(esbuild@0.27.2)): + react-server-dom-webpack@19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)): dependencies: acorn-loose: 8.5.2 neo-async: 2.6.2 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - webpack: 5.96.1(esbuild@0.27.2) - webpack-sources: 3.3.3 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + webpack: 5.106.2(esbuild@0.27.2) + webpack-sources: 3.3.4 - react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.96.1): + react-server-dom-webpack@19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2): dependencies: acorn-loose: 8.5.2 neo-async: 2.6.2 - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - webpack: 5.96.1 - webpack-sources: 3.3.3 + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + webpack: 5.106.2 + webpack-sources: 3.3.4 - react-server-dom-webpack@19.2.4(react-dom@19.3.0-canary-b061b597-20251212(react@19.3.0-canary-b061b597-20251212))(react@19.3.0-canary-b061b597-20251212)(webpack@5.96.1(esbuild@0.27.2)): + react-stately@3.46.0(react@19.2.5): dependencies: - acorn-loose: 8.5.2 - neo-async: 2.6.2 - react: 19.3.0-canary-b061b597-20251212 - react-dom: 19.3.0-canary-b061b597-20251212(react@19.3.0-canary-b061b597-20251212) - webpack: 5.96.1(esbuild@0.27.2) - webpack-sources: 3.3.3 + '@internationalized/date': 3.12.1 + '@internationalized/number': 3.6.6 + '@internationalized/string': 3.2.8 + '@react-types/shared': 3.34.0(react@19.2.5) + '@swc/helpers': 0.5.21 + react: 19.2.5 + use-sync-external-store: 1.6.0(react@19.2.5) - react-style-singleton@2.2.3(@types/react@19.2.10)(react@19.2.4): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.5): dependencies: get-nonce: 1.0.1 - react: 19.2.4 + react: 19.2.5 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.10 - - react@19.2.4: {} + '@types/react': 19.2.14 - react@19.3.0-canary-b061b597-20251212: {} + react@19.2.5: {} read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 - js-yaml: 3.14.1 + js-yaml: 3.14.2 pify: 4.0.1 strip-bom: 3.0.0 readdirp@3.6.0: dependencies: - picomatch: 2.3.1 + picomatch: 2.3.2 readdirp@4.1.2: {} reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.7 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 - - regenerator-runtime@0.14.0: {} - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@6.0.1: + regex@6.1.0: dependencies: regex-utilities: 2.3.0 - regexp.prototype.flags@1.5.1: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.2 - - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - regexp.prototype.flags@1.5.4: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 es-errors: 1.3.0 get-proto: 1.0.1 @@ -12145,111 +8073,90 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@2.0.0-next.5: + resolve@2.0.0-next.6: dependencies: - is-core-module: 2.13.1 + es-errors: 1.3.0 + is-core-module: 2.16.1 + node-exports-info: 1.6.0 + object-keys: 1.1.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - reusify@1.0.4: {} + reusify@1.1.0: {} - rimraf@5.0.10: + rolldown@1.0.0-beta.53(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: - glob: 10.4.5 + '@oxc-project/types': 0.101.0 + '@rolldown/pluginutils': 1.0.0-beta.53 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.53 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.53 + '@rolldown/binding-darwin-x64': 1.0.0-beta.53 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.53 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.53 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.53 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.53 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.53 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.53 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.53 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.53(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.53 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.53 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - rolldown@1.0.0-beta.53: + rollup@4.60.2: dependencies: - "@oxc-project/types": 0.101.0 - "@rolldown/pluginutils": 1.0.0-beta.53 + '@types/estree': 1.0.8 optionalDependencies: - "@rolldown/binding-android-arm64": 1.0.0-beta.53 - "@rolldown/binding-darwin-arm64": 1.0.0-beta.53 - "@rolldown/binding-darwin-x64": 1.0.0-beta.53 - "@rolldown/binding-freebsd-x64": 1.0.0-beta.53 - "@rolldown/binding-linux-arm-gnueabihf": 1.0.0-beta.53 - "@rolldown/binding-linux-arm64-gnu": 1.0.0-beta.53 - "@rolldown/binding-linux-arm64-musl": 1.0.0-beta.53 - "@rolldown/binding-linux-x64-gnu": 1.0.0-beta.53 - "@rolldown/binding-linux-x64-musl": 1.0.0-beta.53 - "@rolldown/binding-openharmony-arm64": 1.0.0-beta.53 - "@rolldown/binding-wasm32-wasi": 1.0.0-beta.53 - "@rolldown/binding-win32-arm64-msvc": 1.0.0-beta.53 - "@rolldown/binding-win32-x64-msvc": 1.0.0-beta.53 - - rollup@4.37.0: - dependencies: - "@types/estree": 1.0.6 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.37.0 - "@rollup/rollup-android-arm64": 4.37.0 - "@rollup/rollup-darwin-arm64": 4.37.0 - "@rollup/rollup-darwin-x64": 4.37.0 - "@rollup/rollup-freebsd-arm64": 4.37.0 - "@rollup/rollup-freebsd-x64": 4.37.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.37.0 - "@rollup/rollup-linux-arm-musleabihf": 4.37.0 - "@rollup/rollup-linux-arm64-gnu": 4.37.0 - "@rollup/rollup-linux-arm64-musl": 4.37.0 - "@rollup/rollup-linux-loongarch64-gnu": 4.37.0 - "@rollup/rollup-linux-powerpc64le-gnu": 4.37.0 - "@rollup/rollup-linux-riscv64-gnu": 4.37.0 - "@rollup/rollup-linux-riscv64-musl": 4.37.0 - "@rollup/rollup-linux-s390x-gnu": 4.37.0 - "@rollup/rollup-linux-x64-gnu": 4.37.0 - "@rollup/rollup-linux-x64-musl": 4.37.0 - "@rollup/rollup-win32-arm64-msvc": 4.37.0 - "@rollup/rollup-win32-ia32-msvc": 4.37.0 - "@rollup/rollup-win32-x64-msvc": 4.37.0 + '@rollup/rollup-android-arm-eabi': 4.60.2 + '@rollup/rollup-android-arm64': 4.60.2 + '@rollup/rollup-darwin-arm64': 4.60.2 + '@rollup/rollup-darwin-x64': 4.60.2 + '@rollup/rollup-freebsd-arm64': 4.60.2 + '@rollup/rollup-freebsd-x64': 4.60.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.2 + '@rollup/rollup-linux-arm-musleabihf': 4.60.2 + '@rollup/rollup-linux-arm64-gnu': 4.60.2 + '@rollup/rollup-linux-arm64-musl': 4.60.2 + '@rollup/rollup-linux-loong64-gnu': 4.60.2 + '@rollup/rollup-linux-loong64-musl': 4.60.2 + '@rollup/rollup-linux-ppc64-gnu': 4.60.2 + '@rollup/rollup-linux-ppc64-musl': 4.60.2 + '@rollup/rollup-linux-riscv64-gnu': 4.60.2 + '@rollup/rollup-linux-riscv64-musl': 4.60.2 + '@rollup/rollup-linux-s390x-gnu': 4.60.2 + '@rollup/rollup-linux-x64-gnu': 4.60.2 + '@rollup/rollup-linux-x64-musl': 4.60.2 + '@rollup/rollup-openbsd-x64': 4.60.2 + '@rollup/rollup-openharmony-arm64': 4.60.2 + '@rollup/rollup-win32-arm64-msvc': 4.60.2 + '@rollup/rollup-win32-ia32-msvc': 4.60.2 + '@rollup/rollup-win32-x64-gnu': 4.60.2 + '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.0: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - isarray: 2.0.5 - - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-array-concat@1.1.3: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - get-intrinsic: 1.2.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 isarray: 2.0.5 - safe-regex-test@1.0.2: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-regex: 1.1.4 - - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safe-regex-test@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-regex: 1.2.1 @@ -12257,50 +8164,30 @@ snapshots: scheduler@0.27.0: {} - scheduler@0.28.0-canary-b061b597-20251212: {} - - schema-utils@3.3.0: - dependencies: - "@types/json-schema": 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - schema-utils@4.3.2: + schema-utils@4.3.3: dependencies: - "@types/json-schema": 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + '@types/json-schema': 7.0.15 + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) + ajv-keywords: 5.1.0(ajv@8.18.0) semver@6.3.1: {} - semver@7.7.2: {} + semver@7.7.4: {} serialize-error@12.0.0: dependencies: - type-fest: 4.34.1 - - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 + type-fest: 4.41.0 server-only@0.0.1: {} - set-function-length@1.2.0: - dependencies: - define-data-property: 1.1.1 - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -12314,36 +8201,38 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 - sharp@0.34.4: + sharp@0.34.5: dependencies: - "@img/colour": 1.0.0 - detect-libc: 2.1.1 - semver: 7.7.2 + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.7.4 optionalDependencies: - "@img/sharp-darwin-arm64": 0.34.4 - "@img/sharp-darwin-x64": 0.34.4 - "@img/sharp-libvips-darwin-arm64": 1.2.3 - "@img/sharp-libvips-darwin-x64": 1.2.3 - "@img/sharp-libvips-linux-arm": 1.2.3 - "@img/sharp-libvips-linux-arm64": 1.2.3 - "@img/sharp-libvips-linux-ppc64": 1.2.3 - "@img/sharp-libvips-linux-s390x": 1.2.3 - "@img/sharp-libvips-linux-x64": 1.2.3 - "@img/sharp-libvips-linuxmusl-arm64": 1.2.3 - "@img/sharp-libvips-linuxmusl-x64": 1.2.3 - "@img/sharp-linux-arm": 0.34.4 - "@img/sharp-linux-arm64": 0.34.4 - "@img/sharp-linux-ppc64": 0.34.4 - "@img/sharp-linux-s390x": 0.34.4 - "@img/sharp-linux-x64": 0.34.4 - "@img/sharp-linuxmusl-arm64": 0.34.4 - "@img/sharp-linuxmusl-x64": 0.34.4 - "@img/sharp-wasm32": 0.34.4 - "@img/sharp-win32-arm64": 0.34.4 - "@img/sharp-win32-ia32": 0.34.4 - "@img/sharp-win32-x64": 0.34.4 + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 shebang-command@2.0.0: dependencies: @@ -12351,49 +8240,42 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.13.0: + shiki@3.23.0: dependencies: - "@shikijs/core": 3.13.0 - "@shikijs/engine-javascript": 3.13.0 - "@shikijs/engine-oniguruma": 3.13.0 - "@shikijs/langs": 3.13.0 - "@shikijs/themes": 3.13.0 - "@shikijs/types": 3.13.0 - "@shikijs/vscode-textmate": 10.0.2 - "@types/hast": 3.0.4 + '@shikijs/core': 3.23.0 + '@shikijs/engine-javascript': 3.23.0 + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 side-channel-map@1.0.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-weakmap@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.7 + get-intrinsic: 1.3.0 object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.2 - side-channel@1.1.0: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -12409,7 +8291,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.4 sisteransi@1.0.5: {} @@ -12435,31 +8317,24 @@ snapshots: stackback@0.0.2: {} - std-env@3.9.0: {} + std-env@3.10.0: {} - streamsearch@1.1.0: {} - - string-width@4.2.3: + stop-iteration-iterator@1.1.0: dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + es-errors: 1.3.0 + internal-slot: 1.1.0 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + streamsearch@1.1.0: {} string.prototype.matchall@4.0.12: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.7 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 gopd: 1.2.0 has-symbols: 1.1.0 internal-slot: 1.1.0 @@ -12470,61 +8345,30 @@ snapshots: string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.2 string.prototype.trim@1.2.10: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 + call-bind: 1.0.9 + call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-abstract: 1.24.2 + es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 - string.prototype.trim@1.2.8: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.7: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - string.prototype.trimend@1.0.9: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.7: - dependencies: - call-bind: 1.0.5 + call-bind: 1.0.9 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.1.1 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 stringify-entities@4.0.4: dependencies: @@ -12535,15 +8379,11 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - strip-bom@3.0.0: {} strip-json-comments@3.1.1: {} - strip-literal@3.0.0: + strip-literal@3.1.0: dependencies: js-tokens: 9.0.1 @@ -12561,57 +8401,46 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tabbable@6.2.0: {} + tabbable@6.4.0: {} tailwindcss@4.1.14: {} - tailwindcss@4.2.0: {} - - tapable@2.2.2: {} + tailwindcss@4.2.2: {} - tar@7.4.3: - dependencies: - "@isaacs/fs-minipass": 4.0.1 - chownr: 3.0.0 - minipass: 7.1.2 - minizlib: 3.0.1 - mkdirp: 3.0.1 - yallist: 5.0.0 + tapable@2.3.2: {} - tar@7.5.1: + tar@7.5.13: dependencies: - "@isaacs/fs-minipass": 4.0.1 + '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 - minipass: 7.1.2 + minipass: 7.1.3 minizlib: 3.1.0 yallist: 5.0.0 term-size@2.2.1: {} - terser-webpack-plugin@5.3.14(esbuild@0.27.2)(webpack@5.96.1(esbuild@0.27.2)): + terser-webpack-plugin@5.4.0(esbuild@0.27.2)(webpack@5.106.2(esbuild@0.27.2)): dependencies: - "@jridgewell/trace-mapping": 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 - schema-utils: 4.3.2 - serialize-javascript: 6.0.2 - terser: 5.43.1 - webpack: 5.96.1(esbuild@0.27.2) + schema-utils: 4.3.3 + terser: 5.46.1 + webpack: 5.106.2(esbuild@0.27.2) optionalDependencies: esbuild: 0.27.2 - terser-webpack-plugin@5.3.14(webpack@5.96.1): + terser-webpack-plugin@5.4.0(webpack@5.106.2): dependencies: - "@jridgewell/trace-mapping": 0.3.29 + '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 - schema-utils: 4.3.2 - serialize-javascript: 6.0.2 - terser: 5.43.1 - webpack: 5.96.1 + schema-utils: 4.3.3 + terser: 5.46.1 + webpack: 5.106.2 - terser@5.43.1: + terser@5.46.1: dependencies: - "@jridgewell/source-map": 0.3.10 - acorn: 8.15.0 + '@jridgewell/source-map': 0.3.11 + acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -12621,16 +8450,16 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.14: + tinyglobby@0.2.16: dependencies: - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 tinypool@1.1.1: {} tinyrainbow@2.0.0: {} - tinyspy@4.0.3: {} + tinyspy@4.0.4: {} to-regex-range@5.0.1: dependencies: @@ -12640,16 +8469,16 @@ snapshots: trim-lines@3.0.1: {} - ts-api-utils@2.1.0(typescript@5.9.3): + ts-api-utils@2.5.0(typescript@5.9.3): dependencies: typescript: 5.9.3 tslib@2.8.1: {} - tsx@4.20.6: + tsx@4.21.0: dependencies: - esbuild: 0.25.10 - get-tsconfig: 4.10.1 + esbuild: 0.27.7 + get-tsconfig: 4.14.0 optionalDependencies: fsevents: 2.3.3 @@ -12657,176 +8486,97 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@4.34.1: {} - - typed-array-buffer@1.0.0: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 + type-fest@4.41.0: {} typed-array-buffer@1.0.3: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-typed-array: 1.1.15 - typed-array-byte-length@1.0.0: - dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 + call-bind: 1.0.9 + for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 - typed-array-byte-offset@1.0.0: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 + call-bind: 1.0.9 + for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.4: - dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - is-typed-array: 1.1.12 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typed-array-length@1.0.7: dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 + call-bind: 1.0.9 + for-each: 0.3.5 gopd: 1.2.0 is-typed-array: 1.1.15 - possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.6 - - typescript-eslint@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3): - dependencies: - "@typescript-eslint/eslint-plugin": 8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/parser": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/typescript-estree": 8.45.0(typescript@5.9.3) - "@typescript-eslint/utils": 8.45.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.38.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 - typescript-eslint@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): dependencies: - "@typescript-eslint/eslint-plugin": 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/parser": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - "@typescript-eslint/typescript-estree": 8.46.2(typescript@5.9.3) - "@typescript-eslint/utils": 8.46.2(eslint@9.23.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.23.0(jiti@2.6.1) + '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color typescript@5.9.3: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - unbox-primitive@1.1.0: dependencies: - call-bound: 1.0.3 - has-bigints: 1.0.2 + call-bound: 1.0.4 + has-bigints: 1.1.0 has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 undefsafe@2.0.5: {} - undici-types@6.20.0: {} - - undici-types@7.8.0: {} + undici-types@6.21.0: {} - undici@6.21.3: {} + undici-types@7.19.2: {} - undici@7.12.0: {} + undici@7.25.0: {} - unist-util-is@6.0.0: + unist-util-is@6.0.1: dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 unist-util-position@5.0.0: dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 unist-util-stringify-position@4.0.0: dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 - unist-util-visit-parents@6.0.1: + unist-util-visit-parents@6.0.2: dependencies: - "@types/unist": 3.0.3 - unist-util-is: 6.0.0 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: - "@types/unist": 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 universalify@0.1.2: {} - update-browserslist-db@1.1.3(browserslist@4.25.1): + update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: - browserslist: 4.25.1 + browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 @@ -12836,46 +8586,46 @@ snapshots: urlpattern-polyfill@10.1.0: {} - use-callback-ref@1.3.3(@types/react@19.2.10)(react@19.2.4): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.5): dependencies: - react: 19.2.4 + react: 19.2.5 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.2.10)(react@19.2.4): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.5): dependencies: detect-node-es: 1.1.0 - react: 19.2.4 + react: 19.2.5 tslib: 2.8.1 optionalDependencies: - "@types/react": 19.2.10 + '@types/react': 19.2.14 - use-sync-external-store@1.5.0(react@19.2.4): + use-sync-external-store@1.6.0(react@19.2.5): dependencies: - react: 19.2.4 + react: 19.2.5 util-deprecate@1.0.2: {} - vfile-message@4.0.2: + vfile-message@4.0.3: dependencies: - "@types/unist": 3.0.3 + '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 vfile@6.0.3: dependencies: - "@types/unist": 3.0.3 - vfile-message: 4.0.2 + '@types/unist': 3.0.3 + vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: cac: 6.7.14 - debug: 4.4.1(supports-color@5.5.0) + debug: 4.4.3(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) transitivePeerDependencies: - - "@types/node" + - '@types/node' - jiti - less - lightningcss @@ -12888,47 +8638,50 @@ snapshots: - tsx - yaml - vite@6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0): + vite@7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: - esbuild: 0.25.10 - postcss: 8.5.3 - rollup: 4.37.0 + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + postcss: 8.5.10 + rollup: 4.60.2 + tinyglobby: 0.2.16 optionalDependencies: - "@types/node": 22.10.2 + '@types/node': 22.19.17 fsevents: 2.3.3 jiti: 2.6.1 - lightningcss: 1.30.1 - terser: 5.43.1 - tsx: 4.20.6 - yaml: 2.8.0 - - vitest@3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0): - dependencies: - "@types/chai": 5.2.2 - "@vitest/expect": 3.2.4 - "@vitest/mocker": 3.2.4(vite@6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0)) - "@vitest/pretty-format": 3.2.4 - "@vitest/runner": 3.2.4 - "@vitest/snapshot": 3.2.4 - "@vitest/spy": 3.2.4 - "@vitest/utils": 3.2.4 - chai: 5.2.0 - debug: 4.4.1(supports-color@5.5.0) - expect-type: 1.2.2 - magic-string: 0.30.19 + lightningcss: 1.32.0 + terser: 5.46.1 + tsx: 4.21.0 + yaml: 2.8.3 + + vitest@3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): + dependencies: + '@types/chai': 5.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + debug: 4.4.3(supports-color@5.5.0) + expect-type: 1.3.0 + magic-string: 0.30.21 pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.9.0 + picomatch: 4.0.4 + std-env: 3.10.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.16 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.2.3(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-node: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: - "@types/node": 22.10.2 + '@types/node': 22.19.17 transitivePeerDependencies: - jiti - less @@ -12943,70 +8696,72 @@ snapshots: - tsx - yaml - watchpack@2.4.4: + watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - webpack-sources@3.3.3: {} + webpack-sources@3.3.4: {} - webpack@5.96.1: + webpack@5.106.2: dependencies: - "@types/eslint-scope": 3.7.7 - "@types/estree": 1.0.8 - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/wasm-edit": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 - acorn: 8.15.0 - browserslist: 4.25.1 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.16.0 + acorn-import-phases: 1.0.4(acorn@8.16.0) + browserslist: 4.28.2 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.3 - es-module-lexer: 1.7.0 + enhanced-resolve: 5.20.1 + es-module-lexer: 2.0.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 + loader-runner: 4.3.1 + mime-db: 1.54.0 neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(webpack@5.96.1) - watchpack: 2.4.4 - webpack-sources: 3.3.3 + schema-utils: 4.3.3 + tapable: 2.3.2 + terser-webpack-plugin: 5.4.0(webpack@5.106.2) + watchpack: 2.5.1 + webpack-sources: 3.3.4 transitivePeerDependencies: - - "@swc/core" + - '@swc/core' - esbuild - uglify-js - webpack@5.96.1(esbuild@0.27.2): - dependencies: - "@types/eslint-scope": 3.7.7 - "@types/estree": 1.0.8 - "@webassemblyjs/ast": 1.14.1 - "@webassemblyjs/wasm-edit": 1.14.1 - "@webassemblyjs/wasm-parser": 1.14.1 - acorn: 8.15.0 - browserslist: 4.25.1 + webpack@5.106.2(esbuild@0.27.2): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.16.0 + acorn-import-phases: 1.0.4(acorn@8.16.0) + browserslist: 4.28.2 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.3 - es-module-lexer: 1.7.0 + enhanced-resolve: 5.20.1 + es-module-lexer: 2.0.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 + loader-runner: 4.3.1 + mime-db: 1.54.0 neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(esbuild@0.27.2)(webpack@5.96.1(esbuild@0.27.2)) - watchpack: 2.4.4 - webpack-sources: 3.3.3 + schema-utils: 4.3.3 + tapable: 2.3.2 + terser-webpack-plugin: 5.4.0(esbuild@0.27.2)(webpack@5.106.2(esbuild@0.27.2)) + watchpack: 2.5.1 + webpack-sources: 3.3.4 transitivePeerDependencies: - - "@swc/core" + - '@swc/core' - esbuild - uglify-js @@ -13016,14 +8771,6 @@ snapshots: whatwg-mimetype@4.0.0: {} - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 @@ -13032,66 +8779,36 @@ snapshots: is-string: 1.1.1 is-symbol: 1.1.1 - which-builtin-type@1.1.4: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - which-builtin-type@1.2.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.0.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.0.10 + is-generator-function: 1.1.2 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.18 + which-typed-array: 1.1.20 which-collection@1.0.2: dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 - is-weakset: 2.0.3 - - which-typed-array@1.1.13: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 + is-weakset: 2.0.4 - which-typed-array@1.1.18: + which-typed-array@1.1.20: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.3 - for-each: 0.3.3 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -13106,29 +8823,17 @@ snapshots: word-wrap@1.2.5: {} - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - xxhash-wasm@1.1.0: {} yallist@3.1.1: {} yallist@5.0.0: {} - yaml@2.8.0: {} + yaml@2.8.3: {} yocto-queue@0.1.0: {} - zod-validation-error@3.4.0(zod@4.1.11): + zod-validation-error@4.0.2(zod@4.1.11): dependencies: zod: 4.1.11 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3ec97e4f..c4da2772 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -8,9 +8,9 @@ catalog: "@types/react": ^19.2.10 "@types/react-dom": ^19.2.3 esbuild: 0.27.2 - react: 19.2.4 - react-dom: 19.2.4 - react-server-dom-webpack: 19.2.4 + react: 19.2.5 + react-dom: 19.2.5 + react-server-dom-webpack: 19.2.5 typescript: ^5.9.3 onlyBuiltDependencies: From f741fad193dbb214afce91ade89780e8422516ef Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Sun, 19 Apr 2026 19:58:24 +1000 Subject: [PATCH 04/25] Try to fix package redirects --- .github/workflows/build.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c459406..b4a3bf75 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,11 +57,20 @@ jobs: for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".name |= sub(\"eslint-plugin-twofold\"; \"@$PACKAGE_NAMESPACE/eslint-plugin-twofold\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done # rename package references - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".dependencies = (.dependencies // {}) | (to_entries | map({key: (.key | sub(\"@twofold/\"; \"@$PACKAGE_NAMESPACE/\")), value: .value}) | from_entries)" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; cat $PACKAGE_JSON; done + for PACKAGE_JSON in $PACKAGE_JSON_FILES; do + if [[ "$PACKAGE_JSON" == "./package.json" ]]; then + continue + fi + jq ".dependencies |= (to_entries | map({key: (.key | sub(\"@twofold/\"; \"@$PACKAGE_NAMESPACE/\")), value: .value}) | from_entries)" $PACKAGE_JSON > $PACKAGE_JSON.tmp; + mv $PACKAGE_JSON.tmp $PACKAGE_JSON; + cat $PACKAGE_JSON; + done # compile and package again # PACKAGE_NAMESPACE is read by compile.js and rewrites imports # in built code once compiled + git clean -xdf + pnpm install --no-frozen-lockfile pnpm compile # publish packages From 1d6a1a35d4c42a80263016d2f112fef2ae52afe8 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Sun, 19 Apr 2026 20:06:35 +1000 Subject: [PATCH 05/25] Directly rename all package references Trying to rename packages as part of the build step isn't working. --- .changeset/config.json | 2 +- .github/workflows/build.yml | 47 +- Dockerfile | 4 +- audit.log | 1502 +++++++++++++++++ examples/base-app/app/components/toaster.tsx | 2 +- examples/base-app/app/pages/layout.tsx | 4 +- examples/base-app/config/application.ts | 2 +- examples/base-app/eslint.config.js | 2 +- examples/base-app/package.json | 4 +- examples/base-app/tsconfig.json | 2 +- examples/kitchen-sink/app/auth.ts | 8 +- .../kitchen-sink/app/pages/auth/Control.tsx | 2 +- .../kitchen-sink/app/pages/auth/cookie.ts | 4 +- .../app/pages/auth/index.page.tsx | 2 +- .../auth/protected/action/protectedAction.tsx | 2 +- .../app/pages/auth/protected/api/index.api.ts | 4 +- .../app/pages/auth/protected/layout.tsx | 2 +- .../pages/auth/protected/page/index.page.tsx | 2 +- .../unprotected/action/unprotectedAction.tsx | 2 +- .../protected/unprotected/api/index.api.ts | 4 +- .../protected/unprotected/page/index.page.tsx | 2 +- .../error-handling/boundary/index.page.tsx | 2 +- .../boundary/unexpected.error.tsx | 4 +- .../client-components/layout.tsx | 2 +- .../error-handling/middleware/layout.tsx | 2 +- .../app/pages/error-handling/rsc/layout.tsx | 2 +- .../error-handling/server-actions/layout.tsx | 2 +- .../app/pages/error-handling/ssr/layout.tsx | 2 +- .../app/pages/http/api/basic.api.ts | 2 +- .../app/pages/http/api/cookies.api.ts | 4 +- .../app/pages/http/api/layout.tsx | 2 +- .../app/pages/http/api/nested/$id.api.ts | 2 +- .../app/pages/http/api/not-found.api.ts | 2 +- .../app/pages/http/api/redirect.api.ts | 2 +- .../app/pages/http/api/request-info.api.ts | 2 +- .../app/pages/http/api/unauthorized.api.ts | 2 +- .../app/pages/http/cookies.page.tsx | 2 +- .../app/pages/http/encrypted-cookies.page.tsx | 2 +- .../app/pages/http/middleware/index.page.tsx | 2 +- .../app/pages/http/middleware/layout.tsx | 2 +- .../pages/http/request-forwarding.page.tsx | 2 +- examples/kitchen-sink/app/pages/layout.tsx | 4 +- examples/kitchen-sink/app/pages/nav.tsx | 4 +- .../pages/routing/dynamic/$$wildcard.page.tsx | 2 +- .../app/pages/routing/dynamic/$slug.page.tsx | 2 +- .../app/pages/routing/dynamic/layout.tsx | 4 +- .../nested/$folder/$$wildcard.page.tsx | 2 +- .../dynamic/nested/$folder/$file.page.tsx | 2 +- .../routing/dynamic/nested/$folder/layout.tsx | 2 +- .../pages/routing/fragments/client-path.tsx | 2 +- .../pages/routing/fragments/index.page.tsx | 2 +- .../routing/fragments/refresh-button.tsx | 2 +- .../pages/routing/masking/$number.page.tsx | 6 +- .../app/pages/routing/masking/index.page.tsx | 4 +- .../app/pages/routing/masking/nav-button.tsx | 2 +- .../pages/routing/masking/refresh-page.tsx | 2 +- .../pages/routing/navigation/ending.page.tsx | 2 +- .../app/pages/routing/navigation/layout.tsx | 2 +- .../navigation/link-with-transition.tsx | 4 +- .../routing/nested-layouts/index.page.tsx | 2 +- .../nested-layouts/level-2/index.page.tsx | 2 +- .../custom-not-found.page.tsx | 2 +- .../(custom-not-found)/not-found.error.tsx | 2 +- .../not-found/action-calls-not-found.page.tsx | 2 +- .../async-middleware-not-found.page.tsx | 2 +- .../async-page-calls-not-found.page.tsx | 2 +- .../not-found/delayed-not-found.page.tsx | 2 +- .../app/pages/routing/not-found/layout.tsx | 2 +- .../middleware-calls-not-found.page.tsx | 2 +- .../not-found/not-found-after-action.page.tsx | 2 +- ...not-found-middleware-after-action.page.tsx | 2 +- .../not-found/page-calls-not-found.page.tsx | 2 +- .../not-found/suspended-not-found.page.tsx | 2 +- .../parallel-rendering/(layout)/layout.tsx | 2 +- .../routing/parallel-rendering/layout.tsx | 2 +- .../pathless/(pathless)/$$wildcard.page.tsx | 2 +- .../pathless/(pathless)/$dynamic.page.tsx | 2 +- .../routing/pathless/(pathless)/layout.tsx | 4 +- .../(pathless)/subroute/$dynamic.page.tsx | 2 +- .../app/pages/routing/props/$slug.page.tsx | 2 +- .../app/pages/routing/props/index.page.tsx | 2 +- .../app/pages/routing/props/layout.tsx | 4 +- .../action-redirect-not-found.page.tsx | 2 +- ...action-redirect-to-another-domain.page.tsx | 2 +- .../redirects/action-redirect.page.tsx | 2 +- .../redirects/async-page-redirect.page.tsx | 2 +- .../redirects/delayed-page-redirect.page.tsx | 2 +- .../pages/routing/redirects/ending.page.tsx | 2 +- .../app/pages/routing/redirects/layout.tsx | 2 +- .../redirects/middleware-redirect.page.tsx | 2 +- .../routing/redirects/page-redirect.page.tsx | 2 +- .../redirects/permanent-redirect.page.tsx | 2 +- .../redirect-in-render-after-action.page.tsx | 2 +- .../redirects/redirect-not-found.page.tsx | 2 +- .../redirect-to-another-domain.page.tsx | 2 +- .../redirects/suspended-redirect.page.tsx | 2 +- .../routing/redirects/uas-redirect-actions.ts | 2 +- .../routing/scroll-position/html.page.tsx | 2 +- .../pages/routing/scroll-position/layout.tsx | 2 +- .../suspense-blocking.page.tsx | 2 +- .../suspense-boundary.page.tsx | 2 +- .../routing/scroll-position/text.page.tsx | 2 +- .../search-params/client-side-params.tsx | 2 +- .../routing/search-params/index.page.tsx | 4 +- .../search-params/verify-search-params.tsx | 2 +- .../custom-unauthorized.page.tsx | 2 +- .../unauthorized.error.tsx | 2 +- .../action-calls-unauthorized.page.tsx | 2 +- .../unauthorized/async-unauthorized.page.tsx | 2 +- .../app/pages/routing/unauthorized/layout.tsx | 4 +- .../middleware-calls-unauthorized.page.tsx | 2 +- .../page-calls-unauthorized.page.tsx | 2 +- .../suspended-unauthorized.page.tsx | 2 +- .../use-optimistic-route/index.page.tsx | 2 +- .../use-optimistic-route/route-info.tsx | 4 +- .../use-optimistic-route/slow.page.tsx | 2 +- .../pages/routing/use-router/router-info.tsx | 2 +- .../flash-messages/client-form.tsx | 2 +- .../flash-messages/end.page.tsx | 2 +- .../flash-messages/index.page.tsx | 4 +- .../flash-messages/object-flash.tsx | 2 +- .../pages/server-actions/mpa/index.page.tsx | 6 +- examples/kitchen-sink/app/pages/toaster.tsx | 2 +- .../app/pages/uis/login/action.ts | 4 +- .../app/pages/uis/login/dashboard.page.tsx | 4 +- .../app/pages/uis/login/index.page.tsx | 4 +- examples/kitchen-sink/config/application.ts | 2 +- examples/kitchen-sink/eslint.config.js | 2 +- examples/kitchen-sink/package.json | 4 +- examples/kitchen-sink/tsconfig.json | 2 +- .../client-component-transforms/package.json | 2 +- packages/create-twofold-app/package.json | 2 +- packages/create-twofold-app/src/index.ts | 4 +- .../template/app/components/toaster.tsx | 2 +- .../template/app/pages/layout.tsx | 4 +- .../template/config/application.ts | 2 +- .../template/eslint.config.js | 2 +- .../create-twofold-app/template/package.json | 4 +- .../create-twofold-app/template/tsconfig.json | 2 +- packages/eslint-plugin-twofold/index.js | 2 +- packages/eslint-plugin-twofold/package.json | 2 +- packages/framework/package.json | 6 +- .../backend/build/builders/client-builder.ts | 2 +- .../backend/build/builders/entries-builder.ts | 4 +- .../build/externals/predefined-externals.ts | 4 +- .../plugins/client-component-map-plugin.ts | 2 +- .../plugins/client-component-proxy-plugin.ts | 2 +- .../build/plugins/server-actions-plugin.ts | 4 +- packages/framework/src/backend/encryption.ts | 2 +- packages/server-function-transforms/README.md | 12 +- .../server-function-transforms/package.json | 2 +- .../src/plugins/server-transform-plugin.ts | 6 +- .../src/transform.ts | 2 +- .../transforms/encrypted-transforms.test.ts | 20 +- pnpm-lock.yaml | 40 +- sites/website/app/components/cli/actions.ts | 2 +- sites/website/app/components/cli/root.tsx | 2 +- sites/website/app/components/nav-link.tsx | 4 +- .../app/pages/(main)/blog/$slug.page.tsx | 4 +- .../app/pages/(main)/blog/data-layer/posts.ts | 2 +- .../app/pages/(main)/blog/index.page.tsx | 2 +- .../apps-client.tsx | 4 +- .../apps.tsx | 8 +- .../website/app/pages/(main)/blog/rss.api.ts | 2 +- .../app/pages/(main)/docs/$$doc.page.tsx | 6 +- .../docs/components/deployment-grid.tsx | 2 +- .../pages/(main)/docs/components/doc-link.tsx | 4 +- .../pages/(main)/docs/guides/data-fetching.md | 2 +- .../(main)/docs/guides/error-handling.md | 2 +- .../app/pages/(main)/docs/guides/layouts.md | 10 +- .../app/pages/(main)/docs/guides/mutations.md | 2 +- .../app/pages/(main)/docs/guides/pages.md | 8 +- .../app/pages/(main)/docs/index.page.tsx | 2 +- .../docs/reference/application-config.md | 2 +- .../pages/(main)/docs/reference/cookies.md | 18 +- .../(main)/docs/reference/flash-messages.md | 18 +- .../app/pages/(main)/docs/reference/link.md | 2 +- .../pages/(main)/docs/reference/not-found.md | 10 +- .../pages/(main)/docs/reference/redirects.md | 10 +- .../(main)/docs/reference/static-assets.md | 2 +- .../pages/(main)/docs/reference/use-flash.md | 4 +- .../docs/reference/use-optimistic-route.md | 16 +- .../pages/(main)/docs/reference/use-router.md | 10 +- sites/website/app/pages/enter-docs.tsx | 4 +- sites/website/app/pages/index.page.tsx | 2 +- sites/website/app/pages/layout.tsx | 2 +- sites/website/config/application.ts | 2 +- sites/website/eslint.config.js | 2 +- .../lib/shiki-transformer-client-boundary.ts | 2 +- sites/website/package.json | 4 +- sites/website/tsconfig.json | 2 +- 191 files changed, 1833 insertions(+), 348 deletions(-) create mode 100644 audit.log diff --git a/.changeset/config.json b/.changeset/config.json index b3c98693..ad36689f 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -2,7 +2,7 @@ "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", "changelog": false, "commit": false, - "fixed": [["@twofold/framework", "eslint-plugin-twofold"]], + "fixed": [["@redpointgames/framework", "@redpointgames/eslint-plugin-twofold"]], "linked": [], "access": "restricted", "baseBranch": "main", diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b4a3bf75..93a839d9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,19 @@ jobs: with: node-version: "24" registry-url: "https://registry.npmjs.org" + - name: Set package versions + run: | + # discover package files + export PACKAGE_JSON_FILES=$(find . -name package.json -not -path "*/node_modules/*") + + # generate version + export PACKAGE_VERSION_SUFFIX="dev.$(date +%Y.%m.%d.%H.%M.%S)+$(git rev-parse --short HEAD)" + + # set repository + for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".repository |= \"https://github.com/$GITHUB_REPOSITORY\"" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done + + # update versions + for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".version |= (match(\"^([0-9.]+)\").captures[0].string + \"-$PACKAGE_VERSION_SUFFIX\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - name: Install Dependencies run: | corepack enable @@ -40,40 +53,10 @@ jobs: - name: Push to NPM if: github.event_name != 'pull_request' run: | - export PACKAGE_NAMESPACE=$(echo $GITHUB_REPOSITORY_OWNER | tr '[:upper:]' '[:lower:]') - - PACKAGE_JSON_FILES=$(find . -name package.json -not -path "*/node_modules/*") - - # set repository - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".repository |= \"https://github.com/$GITHUB_REPOSITORY\"" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - - # rename package versions - export PACKAGE_VERSION_SUFFIX="dev.$(date +%Y.%m.%d.%H.%M.%S)+$(git rev-parse --short HEAD)" - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".version |= (match(\"^([0-9.]+)\").captures[0].string + \"-$PACKAGE_VERSION_SUFFIX\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - - # rename package names - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".name |= sub(\"@twofold\"; \"@$PACKAGE_NAMESPACE\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".name |= sub(\"create-twofold-app\"; \"@$PACKAGE_NAMESPACE/create-twofold-app\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".name |= sub(\"eslint-plugin-twofold\"; \"@$PACKAGE_NAMESPACE/eslint-plugin-twofold\")" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done - - # rename package references - for PACKAGE_JSON in $PACKAGE_JSON_FILES; do - if [[ "$PACKAGE_JSON" == "./package.json" ]]; then - continue - fi - jq ".dependencies |= (to_entries | map({key: (.key | sub(\"@twofold/\"; \"@$PACKAGE_NAMESPACE/\")), value: .value}) | from_entries)" $PACKAGE_JSON > $PACKAGE_JSON.tmp; - mv $PACKAGE_JSON.tmp $PACKAGE_JSON; - cat $PACKAGE_JSON; - done - - # compile and package again - # PACKAGE_NAMESPACE is read by compile.js and rewrites imports - # in built code once compiled - git clean -xdf - pnpm install --no-frozen-lockfile + # compile pnpm compile - # publish packages + # publish for PACKAGE in packages/*; do pushd $PACKAGE cat >.npmrc <=10.2.0 <10.5.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=10.5.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 > │ +│ │ minizlib@3.0.1 > rimraf@5.0.10 > glob@10.4.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-5j98-mcp5-4vw2 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ node-tar Vulnerable to Arbitrary File │ +│ │ Creation/Overwrite via Hardlink Path Traversal │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <7.5.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-34x7-hfp2-rc4v │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ @isaacs/brace-expansion has Uncontrolled Resource │ +│ │ Consumption │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ @isaacs/brace-expansion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=5.0.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=5.0.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 > @isaacs/brace-expansion@5.0.0 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 > @isaacs/brace-expansion@5.0.0 │ +│ │ │ +│ │ packages\framework > minimatch@10.0.3 > │ +│ │ @isaacs/brace-expansion@5.0.0 │ +│ │ │ +│ │ ... Found 4 paths, run `pnpm why │ +│ │ @isaacs/brace-expansion` for more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-7h2j-956f-4vf2 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ node-tar is Vulnerable to Arbitrary File Overwrite and │ +│ │ Symlink Poisoning via Insufficient Path Sanitization │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.5.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-8qq5-rm4j-mr97 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Arbitrary File Read/Write via Hardlink Target Escape │ +│ │ Through Symlink Chain in node-tar Extraction │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <7.5.8 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.8 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-83g3-92jg-28cx │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has a ReDoS via repeated wildcards with │ +│ │ non-matching literal in pattern │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/config-array@0.21.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/eslintrc@3.3.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > minimatch@3.1.2 │ +│ │ │ +│ │ ... Found 227 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3ppc-4f35-3m26 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has a ReDoS via repeated wildcards with │ +│ │ non-matching literal in pattern │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=9.0.0 <9.0.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=9.0.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/parser@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ ... Found 36 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3ppc-4f35-3m26 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has a ReDoS via repeated wildcards with │ +│ │ non-matching literal in pattern │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=10.0.0 <10.2.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=10.2.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ packages\framework > minimatch@10.0.3 │ +│ │ │ +│ │ ... Found 4 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3ppc-4f35-3m26 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Rollup 4 has Arbitrary File Write via Path Traversal │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ rollup │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=4.0.0 <4.59.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.59.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 > rollup@4.37.0 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 > rollup@4.37.0 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 > rollup@4.37.0 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why rollup` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-mw96-cpmx-2vgc │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has ReDoS: matchOne() combinatorial │ +│ │ backtracking via multiple non-adjacent GLOBSTAR │ +│ │ segments │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/config-array@0.21.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/eslintrc@3.3.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > minimatch@3.1.2 │ +│ │ │ +│ │ ... Found 227 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-7r86-cg39-jmmj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has ReDoS: matchOne() combinatorial │ +│ │ backtracking via multiple non-adjacent GLOBSTAR │ +│ │ segments │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=9.0.0 <9.0.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=9.0.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/parser@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ ... Found 36 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-7r86-cg39-jmmj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has ReDoS: matchOne() combinatorial │ +│ │ backtracking via multiple non-adjacent GLOBSTAR │ +│ │ segments │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=10.0.0 <10.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=10.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ packages\framework > minimatch@10.0.3 │ +│ │ │ +│ │ ... Found 4 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-7r86-cg39-jmmj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch ReDoS: nested *() extglobs generate │ +│ │ catastrophically backtracking regular expressions │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/config-array@0.21.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/eslintrc@3.3.1 > minimatch@3.1.2 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > minimatch@3.1.2 │ +│ │ │ +│ │ ... Found 227 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch ReDoS: nested *() extglobs generate │ +│ │ catastrophically backtracking regular expressions │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=9.0.0 <9.0.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=9.0.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/parser@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 │ +│ │ │ +│ │ ... Found 36 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch ReDoS: nested *() extglobs generate │ +│ │ catastrophically backtracking regular expressions │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=10.0.0 <10.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=10.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ minimatch@10.0.3 │ +│ │ │ +│ │ packages\framework > minimatch@10.0.3 │ +│ │ │ +│ │ ... Found 4 paths, run `pnpm why minimatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Serialize JavaScript is Vulnerable to RCE via │ +│ │ RegExp.flags and Date.prototype.toISOString() │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ serialize-javascript │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.0.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ examples\base-app > react-server-dom-webpack@19.2.5 > │ +│ │ webpack@5.96.1 > terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why serialize-javascript` │ +│ │ for more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-5c6j-r48x-rmvq │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ tar has Hardlink Path Traversal via Drive-Relative │ +│ │ Linkpath │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.5.9 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-qffp-2rhf-9h96 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ node-tar Symlink Path Traversal via Drive-Relative │ +│ │ Linkpath │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.5.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.11 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-9ppj-qmqm-q256 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ flatted vulnerable to unbounded recursion DoS in │ +│ │ parse() revive phase │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ flatted │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.4.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.4.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ file-entry-cache@8.0.0 > flat-cache@4.0.1 > │ +│ │ flatted@3.3.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint@9.23.0 > │ +│ │ file-entry-cache@8.0.0 > flat-cache@4.0.1 > │ +│ │ flatted@3.3.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint-plugin-react@7.37.5 > │ +│ │ eslint@9.23.0 > file-entry-cache@8.0.0 > │ +│ │ flat-cache@4.0.1 > flatted@3.3.3 │ +│ │ │ +│ │ ... Found 73 paths, run `pnpm why flatted` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-25h7-pfq9-p65f │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici: Malicious WebSocket 64-bit length overflows │ +│ │ parser and crashes the client │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-f269-vfmq-vjvj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici: Malicious WebSocket 64-bit length overflows │ +│ │ parser and crashes the client │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.0.0 <6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-f269-vfmq-vjvj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici has Unbounded Memory Consumption in WebSocket │ +│ │ permessage-deflate Decompression │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-vrm6-8vpv-qv8q │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici has Unbounded Memory Consumption in WebSocket │ +│ │ permessage-deflate Decompression │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-vrm6-8vpv-qv8q │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici has Unhandled Exception in WebSocket Client Due │ +│ │ to Invalid server_max_window_bits Validation │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-v9p9-hfj2-hcw8 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Undici has Unhandled Exception in WebSocket Client Due │ +│ │ to Invalid server_max_window_bits Validation │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-v9p9-hfj2-hcw8 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Race Condition in node-tar Path Reservations via │ +│ │ Unicode Ligature Collisions on macOS APFS │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.5.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\create-twofold-app > tar@7.4.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-r6q2-hw4h-h46w │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Prototype Pollution via parse() in NodeJS flatted │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ flatted │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=3.4.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.4.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ file-entry-cache@8.0.0 > flat-cache@4.0.1 > │ +│ │ flatted@3.3.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint@9.23.0 > │ +│ │ file-entry-cache@8.0.0 > flat-cache@4.0.1 > │ +│ │ flatted@3.3.3 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint-plugin-react@7.37.5 > │ +│ │ eslint@9.23.0 > file-entry-cache@8.0.0 > │ +│ │ flat-cache@4.0.1 > flatted@3.3.3 │ +│ │ │ +│ │ ... Found 73 paths, run `pnpm why flatted` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-rf6f-7fwh-wjgh │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Picomatch has a ReDoS vulnerability via extglob │ +│ │ quantifiers │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ picomatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <2.3.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=2.3.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > │ +│ │ @changesets/get-dependents-graph@2.1.3 > │ +│ │ @manypkg/get-packages@1.1.3 > globby@11.1.0 > │ +│ │ fast-glob@3.3.2 > micromatch@4.0.8 > picomatch@2.3.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > @manypkg/get-packages@1.1.3 │ +│ │ > globby@11.1.0 > fast-glob@3.3.2 > micromatch@4.0.8 > │ +│ │ picomatch@2.3.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > micromatch@4.0.8 > │ +│ │ picomatch@2.3.1 │ +│ │ │ +│ │ ... Found 72 paths, run `pnpm why picomatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-c2c7-rcm5-vvqj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Picomatch has a ReDoS vulnerability via extglob │ +│ │ quantifiers │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ picomatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=4.0.0 <4.0.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.0.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ ... Found 13 paths, run `pnpm why picomatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-c2c7-rcm5-vvqj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Vite Vulnerable to Arbitrary File Read via Vite Dev │ +│ │ Server WebSocket │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.0.0 <=6.4.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.4.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-p9ff-h696-f583 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Vite has an `server.fs.deny` bypass with an invalid │ +│ │ `request-target` │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.2.0 <6.2.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.2.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-356w-63v5-8wf4 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Babel has inefficient RegExp complexity in generated │ +│ │ code with .replace when transpiling named capturing │ +│ │ groups │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ @babel/runtime │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <7.26.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.26.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > │ +│ │ @changesets/get-dependents-graph@2.1.3 > │ +│ │ @manypkg/get-packages@1.1.3 > @babel/runtime@7.23.5 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > │ +│ │ @changesets/get-dependents-graph@2.1.3 > │ +│ │ @manypkg/get-packages@1.1.3 > @manypkg/find-root@1.1.0 │ +│ │ > @babel/runtime@7.23.5 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > @manypkg/get-packages@1.1.3 │ +│ │ > @babel/runtime@7.23.5 │ +│ │ │ +│ │ ... Found 48 paths, run `pnpm why @babel/runtime` for │ +│ │ more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-968p-4wvh-cqc8 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Vite's server.fs.deny bypassed with /. for files under │ +│ │ project root │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.2.0 <=6.2.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.2.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-859w-5945-r5v3 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Vite allows server.fs.deny to be bypassed with .svg or │ +│ │ relative paths │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.2.0 <6.2.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.2.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-xcj6-pq6g-qj4x │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ vite allows server.fs.deny bypass via backslash on │ +│ │ Windows │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.0.0 <=6.4.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.4.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-93m4-6634-74q7 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ node-tar has a race condition leading to uninitialized │ +│ │ memory exposure │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tar │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ =7.5.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.5.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ @ryanto/esbuild-plugin-tailwind@0.0.3 > │ +│ │ @tailwindcss/oxide@4.1.14 > tar@7.5.1 │ +│ │ │ +│ │ ... Found 8 paths, run `pnpm why tar` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-29xp-372q-xqph │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has an unbounded decompression chain in HTTP │ +│ │ responses on Node.js Fetch API via Content-Encoding │ +│ │ leads to resource exhaustion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.23.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.23.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-g9mf-h72j-4rw9 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has an unbounded decompression chain in HTTP │ +│ │ responses on Node.js Fetch API via Content-Encoding │ +│ │ leads to resource exhaustion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.18.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.18.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-g9mf-h72j-4rw9 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Vite has a `server.fs.deny` bypassed for `inline` and │ +│ │ `raw` with `?import` query │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.2.0 <6.2.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.2.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-4r4m-qw57-chr8 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ js-yaml has prototype pollution in merge (<<) │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ js-yaml │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.14.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.14.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > │ +│ │ @changesets/get-dependents-graph@2.1.3 > │ +│ │ @manypkg/get-packages@1.1.3 > read-yaml-file@1.1.0 > │ +│ │ js-yaml@3.14.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > @manypkg/get-packages@1.1.3 │ +│ │ > read-yaml-file@1.1.0 > js-yaml@3.14.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/git@3.0.4 > @manypkg/get-packages@1.1.3 > │ +│ │ read-yaml-file@1.1.0 > js-yaml@3.14.1 │ +│ │ │ +│ │ ... Found 26 paths, run `pnpm why js-yaml` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-mh29-5h37-fv8m │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ js-yaml has prototype pollution in merge (<<) │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ js-yaml │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=4.0.0 <4.1.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.1.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/eslintrc@3.3.1 > js-yaml@4.1.0 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint@9.23.0 > │ +│ │ @eslint/eslintrc@3.3.1 > js-yaml@4.1.0 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint-plugin-react@7.37.5 > │ +│ │ eslint@9.23.0 > @eslint/eslintrc@3.3.1 > js-yaml@4.1.0 │ +│ │ │ +│ │ ... Found 74 paths, run `pnpm why js-yaml` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-mh29-5h37-fv8m │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ mdast-util-to-hast has unsanitized class attribute │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ mdast-util-to-hast │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=13.0.0 <13.2.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=13.2.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ sites\website > @shikijs/transformers@3.13.0 > │ +│ │ @shikijs/core@3.13.0 > hast-util-to-html@9.0.5 > │ +│ │ mdast-util-to-hast@13.2.0 │ +│ │ │ +│ │ sites\website > shiki@3.13.0 > @shikijs/core@3.13.0 > │ +│ │ hast-util-to-html@9.0.5 > mdast-util-to-hast@13.2.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-4fh9-h7wg-q85m │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ ajv has ReDoS when using `$data` option │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ ajv │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.14.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.14.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ schema-utils@3.3.0 > ajv@6.12.6 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ schema-utils@3.3.0 > ajv-keywords@3.5.2 > ajv@6.12.6 │ +│ │ │ +│ │ examples\base-app > react-server-dom-webpack@19.2.5 > │ +│ │ webpack@5.96.1 > schema-utils@3.3.0 > ajv@6.12.6 │ +│ │ │ +│ │ ... Found 164 paths, run `pnpm why ajv` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-2g4f-4pwh-qvx6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ ajv has ReDoS when using `$data` option │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ ajv │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0-alpha.0 <8.18.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=8.18.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > schema-utils@4.3.2 > │ +│ │ ajv@8.17.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > schema-utils@4.3.2 > │ +│ │ ajv-formats@2.1.1 > ajv@8.17.1 │ +│ │ │ +│ │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > schema-utils@4.3.2 > │ +│ │ ajv-keywords@5.1.0 > ajv@8.17.1 │ +│ │ │ +│ │ ... Found 27 paths, run `pnpm why ajv` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-2g4f-4pwh-qvx6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has an HTTP Request/Response Smuggling issue │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-2mjp-6q6p-2qxm │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has an HTTP Request/Response Smuggling issue │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-2mjp-6q6p-2qxm │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has CRLF Injection in undici via `upgrade` │ +│ │ option │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=7.0.0 <7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ cheerio@1.1.1 > undici@7.12.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-4992-7rv2-5pvq │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Undici has CRLF Injection in undici via `upgrade` │ +│ │ option │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ undici │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.24.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\kitchen-sink > open-graph-scraper@6.10.0 > │ +│ │ undici@6.21.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-4992-7rv2-5pvq │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ brace-expansion: Zero-step sequence causes process │ +│ │ hang and memory exhaustion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ brace-expansion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <1.1.13 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=1.1.13 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/config-array@0.21.1 > minimatch@3.1.2 > │ +│ │ brace-expansion@1.1.12 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > │ +│ │ @eslint/eslintrc@3.3.1 > minimatch@3.1.2 > │ +│ │ brace-expansion@1.1.12 │ +│ │ │ +│ │ examples\base-app > eslint@9.38.0 > minimatch@3.1.2 > │ +│ │ brace-expansion@1.1.12 │ +│ │ │ +│ │ ... Found 227 paths, run `pnpm why brace-expansion` │ +│ │ for more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-f886-m6hf-6m8v │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ brace-expansion: Zero-step sequence causes process │ +│ │ hang and memory exhaustion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ brace-expansion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=2.0.0 <2.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=2.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/parser@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 > brace-expansion@2.0.2 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 > brace-expansion@2.0.2 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > typescript-eslint@8.46.2 > │ +│ │ @typescript-eslint/eslint-plugin@8.46.2 > │ +│ │ @typescript-eslint/type-utils@8.46.2 > │ +│ │ @typescript-eslint/utils@8.46.2 > │ +│ │ @typescript-eslint/typescript-estree@8.46.2 > │ +│ │ minimatch@9.0.5 > brace-expansion@2.0.2 │ +│ │ │ +│ │ ... Found 36 paths, run `pnpm why brace-expansion` for │ +│ │ more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-f886-m6hf-6m8v │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Picomatch: Method Injection in POSIX Character Classes │ +│ │ causes incorrect Glob Matching │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ picomatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <2.3.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=2.3.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > │ +│ │ @changesets/get-dependents-graph@2.1.3 > │ +│ │ @manypkg/get-packages@1.1.3 > globby@11.1.0 > │ +│ │ fast-glob@3.3.2 > micromatch@4.0.8 > picomatch@2.3.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > @manypkg/get-packages@1.1.3 │ +│ │ > globby@11.1.0 > fast-glob@3.3.2 > micromatch@4.0.8 > │ +│ │ picomatch@2.3.1 │ +│ │ │ +│ │ . > @changesets/cli@2.29.7 > │ +│ │ @changesets/apply-release-plan@7.0.13 > │ +│ │ @changesets/config@3.1.1 > micromatch@4.0.8 > │ +│ │ picomatch@2.3.1 │ +│ │ │ +│ │ ... Found 72 paths, run `pnpm why picomatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3v7f-55p6-f55p │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Picomatch: Method Injection in POSIX Character Classes │ +│ │ causes incorrect Glob Matching │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ picomatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=4.0.0 <4.0.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.0.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ picomatch@4.0.3 │ +│ │ │ +│ │ ... Found 13 paths, run `pnpm why picomatch` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3v7f-55p6-f55p │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ yaml is vulnerable to Stack Overflow via deeply nested │ +│ │ YAML collections │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ yaml │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=2.0.0 <2.8.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=2.8.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 > yaml@2.8.0 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 > yaml@2.8.0 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 > yaml@2.8.0 │ +│ │ │ +│ │ ... Found 10 paths, run `pnpm why yaml` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-48c2-rrv3-qjmp │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Serialize JavaScript has CPU Exhaustion Denial of │ +│ │ Service via crafted array-like objects │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ serialize-javascript │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <7.0.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.0.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ examples\base-app > react-server-dom-webpack@19.2.5 > │ +│ │ webpack@5.96.1 > terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > │ +│ │ serialize-javascript@6.0.2 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why serialize-javascript` │ +│ │ for more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-qj8w-gfj5-8c6v │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Vite Vulnerable to Path Traversal in Optimized Deps │ +│ │ `.map` Handling │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=6.4.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.4.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-4w7w-66w2-5vf9 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ @eslint/plugin-kit is vulnerable to Regular Expression │ +│ │ Denial of Service attacks through ConfigCommentParser │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ @eslint/plugin-kit │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <0.3.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=0.3.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint@9.23.0 > │ +│ │ @eslint/plugin-kit@0.2.7 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint-plugin-react@7.37.5 > │ +│ │ eslint@9.23.0 > @eslint/plugin-kit@0.2.7 │ +│ │ │ +│ │ examples\base-app > │ +│ │ eslint-plugin-twofold@link:../../packages/eslint- │ +│ │ plugin-twofold > eslint-plugin-react-hooks@7.0.0 > │ +│ │ eslint@9.23.0 > @eslint/plugin-kit@0.2.7 │ +│ │ │ +│ │ ... Found 56 paths, run `pnpm why @eslint/plugin-kit` │ +│ │ for more information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-xffm-g5w8-qvg7 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ Vite middleware may serve files starting with the same │ +│ │ name with the public directory │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.0.0 <=6.3.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.3.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-g4jq-h2w9-997c │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ Vite's `server.fs` settings were not applied to HTML │ +│ │ files │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ vite │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.0.0 <=6.3.5 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.3.6 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ @vitest/mocker@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite@6.2.3 │ +│ │ │ +│ │ packages\client-component-transforms > vitest@3.2.4 > │ +│ │ vite-node@3.2.4 > vite@6.2.3 │ +│ │ │ +│ │ ... Found 9 paths, run `pnpm why vite` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-jqfw-vq24-v9c3 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ webpack buildHttp: allowedUris allow-list bypass via │ +│ │ URL userinfo (@) leading to build-time SSRF behavior │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ webpack │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=5.49.0 <=5.104.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=5.104.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > webpack@5.96.1 │ +│ │ │ +│ │ examples\base-app > react-server-dom-webpack@19.2.5 > │ +│ │ webpack@5.96.1 > terser-webpack-plugin@5.3.14 > │ +│ │ webpack@5.96.1 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > webpack@5.96.1 │ +│ │ │ +│ │ ... Found 18 paths, run `pnpm why webpack` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-8fgc-7cc6-rx7x │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ webpack buildHttp HttpUriPlugin allowedUris bypass via │ +│ │ HTTP redirects → SSRF + cache persistence │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ webpack │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=5.49.0 <5.104.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=5.104.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ examples\base-app > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > webpack@5.96.1 │ +│ │ │ +│ │ examples\base-app > react-server-dom-webpack@19.2.5 > │ +│ │ webpack@5.96.1 > terser-webpack-plugin@5.3.14 > │ +│ │ webpack@5.96.1 │ +│ │ │ +│ │ examples\kitchen-sink > │ +│ │ @redpointgames/framework@link:../../packages/framework > │ +│ │ react-server-dom-webpack@19.2.5 > webpack@5.96.1 > │ +│ │ terser-webpack-plugin@5.3.14 > webpack@5.96.1 │ +│ │ │ +│ │ ... Found 18 paths, run `pnpm why webpack` for more │ +│ │ information │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-38r7-794h-5758 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +68 vulnerabilities found +Severity: 7 low | 25 moderate | 36 high diff --git a/examples/base-app/app/components/toaster.tsx b/examples/base-app/app/components/toaster.tsx index 81f6260d..152cdd36 100644 --- a/examples/base-app/app/components/toaster.tsx +++ b/examples/base-app/app/components/toaster.tsx @@ -1,6 +1,6 @@ "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import * as z from "zod"; /** diff --git a/examples/base-app/app/pages/layout.tsx b/examples/base-app/app/pages/layout.tsx index 6f05af71..a110eeea 100644 --- a/examples/base-app/app/pages/layout.tsx +++ b/examples/base-app/app/pages/layout.tsx @@ -1,7 +1,7 @@ -import TwofoldFramework from "@twofold/framework/twofold-framework"; +import TwofoldFramework from "@redpointgames/framework/twofold-framework"; import InterFont from "@/public/fonts/inter-var-latin.woff2"; import { Toaster } from "@/app/components/toaster"; -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; import "./global.css"; export default function Layout({ children }: LayoutProps) { diff --git a/examples/base-app/config/application.ts b/examples/base-app/config/application.ts index 39b5115f..d76cfa9c 100644 --- a/examples/base-app/config/application.ts +++ b/examples/base-app/config/application.ts @@ -1,4 +1,4 @@ -import { Config } from "@twofold/framework/types"; +import { Config } from "@redpointgames/framework/types"; let config: Config = {}; diff --git a/examples/base-app/eslint.config.js b/examples/base-app/eslint.config.js index 59e4faec..a85df366 100644 --- a/examples/base-app/eslint.config.js +++ b/examples/base-app/eslint.config.js @@ -1,5 +1,5 @@ import { defineConfig } from "eslint/config"; -import eslintPluginTwofold from "eslint-plugin-twofold"; +import eslintPluginTwofold from "@redpointgames/eslint-plugin-twofold"; export default defineConfig([ eslintPluginTwofold.configs.recommended, diff --git a/examples/base-app/package.json b/examples/base-app/package.json index 8bc8fdd2..c6cb1fda 100644 --- a/examples/base-app/package.json +++ b/examples/base-app/package.json @@ -17,7 +17,7 @@ "node": ">=22.20.0" }, "dependencies": { - "@twofold/framework": "workspace:*", + "@redpointgames/framework": "workspace:*", "client-only": "^0.0.1", "react": "catalog:", "react-dom": "catalog:", @@ -31,7 +31,7 @@ "@types/react": "catalog:", "@types/react-dom": "catalog:", "eslint": "^9.38.0", - "eslint-plugin-twofold": "workspace:*", + "@redpointgames/eslint-plugin-twofold": "workspace:*", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.6.14", "typescript": "catalog:" diff --git a/examples/base-app/tsconfig.json b/examples/base-app/tsconfig.json index 635fb954..7583a843 100644 --- a/examples/base-app/tsconfig.json +++ b/examples/base-app/tsconfig.json @@ -11,7 +11,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "target": "ESNext", - "types": ["react", "react-dom", "node", "@twofold/framework"], + "types": ["react", "react-dom", "node", "@redpointgames/framework"], "paths": { "@/*": ["./*"] } diff --git a/examples/kitchen-sink/app/auth.ts b/examples/kitchen-sink/app/auth.ts index ae24838c..ed9a0485 100644 --- a/examples/kitchen-sink/app/auth.ts +++ b/examples/kitchen-sink/app/auth.ts @@ -1,12 +1,12 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; import { allow, AuthPolicyProps, AuthPolicyResult, deny, response, -} from "@twofold/framework/auth"; -import { redirect } from "@twofold/framework/redirect"; +} from "@redpointgames/framework/auth"; +import { redirect } from "@redpointgames/framework/redirect"; /** * This is an example of an authentication policy that layouts, pages, actions and routes can optionally use by exporting a 'const auth: AuthPolicyArray = [allowIfCookieSet]'. Non-default auth policies don't have to be specified in this file, but it's a convention so you know where all your authentication code is. @@ -15,7 +15,7 @@ import { redirect } from "@twofold/framework/redirect"; * * If you want a specific route to discard all of it's authentication policies, you can use the special 'reset' value, like so: * - * import { reset } from "@twofold/framework/auth"; + * import { reset } from "@redpointgames/framework/auth"; * export const auth: AuthPolicyArray = [reset, otherPolicy]; * * @param props The authentication properties. diff --git a/examples/kitchen-sink/app/pages/auth/Control.tsx b/examples/kitchen-sink/app/pages/auth/Control.tsx index d0306c35..6a7ce878 100644 --- a/examples/kitchen-sink/app/pages/auth/Control.tsx +++ b/examples/kitchen-sink/app/pages/auth/Control.tsx @@ -4,7 +4,7 @@ import React, { ReactNode, useState, useTransition } from "react"; import { clearCookie, setCookie } from "./cookie"; import protectedAction from "./protected/action/protectedAction"; import unprotectedAction from "./protected/unprotected/action/unprotectedAction"; -import { isServerActionUnauthorizedError } from "@twofold/framework/auth"; +import { isServerActionUnauthorizedError } from "@redpointgames/framework/auth"; function TestLink(props: { href: string }) { return ( diff --git a/examples/kitchen-sink/app/pages/auth/cookie.ts b/examples/kitchen-sink/app/pages/auth/cookie.ts index 1a69fa8e..0d593de2 100644 --- a/examples/kitchen-sink/app/pages/auth/cookie.ts +++ b/examples/kitchen-sink/app/pages/auth/cookie.ts @@ -1,7 +1,7 @@ "use server"; -import cookies from "@twofold/framework/cookies"; -import { redirect } from "@twofold/framework/redirect"; +import cookies from "@redpointgames/framework/cookies"; +import { redirect } from "@redpointgames/framework/redirect"; export async function setCookie() { "use server"; diff --git a/examples/kitchen-sink/app/pages/auth/index.page.tsx b/examples/kitchen-sink/app/pages/auth/index.page.tsx index 4e1df4a2..f075fb2c 100644 --- a/examples/kitchen-sink/app/pages/auth/index.page.tsx +++ b/examples/kitchen-sink/app/pages/auth/index.page.tsx @@ -1,4 +1,4 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; import Control from "./Control"; export default function Page() { diff --git a/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx b/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx index 15772ba0..ceafec36 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx @@ -1,7 +1,7 @@ "use server"; import { behaveBasedOnFormData } from "@/app/auth"; -import { AuthPolicyArray } from "@twofold/framework/auth"; +import { AuthPolicyArray } from "@redpointgames/framework/auth"; export const auth: AuthPolicyArray = [behaveBasedOnFormData]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/api/index.api.ts b/examples/kitchen-sink/app/pages/auth/protected/api/index.api.ts index 6f54eb84..a508452c 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/api/index.api.ts +++ b/examples/kitchen-sink/app/pages/auth/protected/api/index.api.ts @@ -1,6 +1,6 @@ import { behaveBasedOnQueryString } from "@/app/auth"; -import { AuthPolicyArray } from "@twofold/framework/auth"; -import { getValueFromAuthCache } from "@twofold/framework/auth-server"; +import { AuthPolicyArray } from "@redpointgames/framework/auth"; +import { getValueFromAuthCache } from "@redpointgames/framework/auth-server"; export const auth: AuthPolicyArray = [behaveBasedOnQueryString]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/layout.tsx b/examples/kitchen-sink/app/pages/auth/protected/layout.tsx index 79c9844c..14c3ce35 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/layout.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/layout.tsx @@ -1,4 +1,4 @@ import { allowIfCookieSet } from "@/app/auth"; -import { AuthPolicyArray } from "@twofold/framework/auth"; +import { AuthPolicyArray } from "@redpointgames/framework/auth"; export const auth: AuthPolicyArray = [allowIfCookieSet]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx b/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx index 6e5748f5..3b6bdfa2 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx @@ -1,5 +1,5 @@ import { behaveBasedOnQueryString } from "@/app/auth"; -import { AuthPolicyArray } from "@twofold/framework/auth"; +import { AuthPolicyArray } from "@redpointgames/framework/auth"; export const auth: AuthPolicyArray = [behaveBasedOnQueryString]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/unprotected/action/unprotectedAction.tsx b/examples/kitchen-sink/app/pages/auth/protected/unprotected/action/unprotectedAction.tsx index e7010243..a6fec571 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/unprotected/action/unprotectedAction.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/unprotected/action/unprotectedAction.tsx @@ -1,6 +1,6 @@ "use server"; -import { AuthPolicyArray, reset } from "@twofold/framework/auth"; +import { AuthPolicyArray, reset } from "@redpointgames/framework/auth"; export const auth: AuthPolicyArray = [reset]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/unprotected/api/index.api.ts b/examples/kitchen-sink/app/pages/auth/protected/unprotected/api/index.api.ts index c7ccb0e7..289943c7 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/unprotected/api/index.api.ts +++ b/examples/kitchen-sink/app/pages/auth/protected/unprotected/api/index.api.ts @@ -1,5 +1,5 @@ -import { AuthPolicyArray, reset } from "@twofold/framework/auth"; -import { getValueFromAuthCache } from "@twofold/framework/auth-server"; +import { AuthPolicyArray, reset } from "@redpointgames/framework/auth"; +import { getValueFromAuthCache } from "@redpointgames/framework/auth-server"; export const auth: AuthPolicyArray = [reset]; diff --git a/examples/kitchen-sink/app/pages/auth/protected/unprotected/page/index.page.tsx b/examples/kitchen-sink/app/pages/auth/protected/unprotected/page/index.page.tsx index c5c7c925..a4a41d4f 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/unprotected/page/index.page.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/unprotected/page/index.page.tsx @@ -1,4 +1,4 @@ -import { AuthPolicyArray, reset } from "@twofold/framework/auth"; +import { AuthPolicyArray, reset } from "@redpointgames/framework/auth"; export const auth: AuthPolicyArray = [reset]; diff --git a/examples/kitchen-sink/app/pages/error-handling/boundary/index.page.tsx b/examples/kitchen-sink/app/pages/error-handling/boundary/index.page.tsx index 2bdd16c3..ec38fa3e 100644 --- a/examples/kitchen-sink/app/pages/error-handling/boundary/index.page.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/boundary/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return ( diff --git a/examples/kitchen-sink/app/pages/error-handling/boundary/unexpected.error.tsx b/examples/kitchen-sink/app/pages/error-handling/boundary/unexpected.error.tsx index 54a9a38a..4373ffc0 100644 --- a/examples/kitchen-sink/app/pages/error-handling/boundary/unexpected.error.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/boundary/unexpected.error.tsx @@ -1,7 +1,7 @@ "use client"; -import { ErrorProps } from "@twofold/framework/types"; -import { useRouter } from "@twofold/framework/use-router"; +import { ErrorProps } from "@redpointgames/framework/types"; +import { useRouter } from "@redpointgames/framework/use-router"; import { startTransition } from "react"; export default function ErrorUI({ error, reset }: ErrorProps) { diff --git a/examples/kitchen-sink/app/pages/error-handling/client-components/layout.tsx b/examples/kitchen-sink/app/pages/error-handling/client-components/layout.tsx index 10fa70ae..cbf2583b 100644 --- a/examples/kitchen-sink/app/pages/error-handling/client-components/layout.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/client-components/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/error-handling/middleware/layout.tsx b/examples/kitchen-sink/app/pages/error-handling/middleware/layout.tsx index 647b96e9..6a6bd445 100644 --- a/examples/kitchen-sink/app/pages/error-handling/middleware/layout.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/middleware/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/error-handling/rsc/layout.tsx b/examples/kitchen-sink/app/pages/error-handling/rsc/layout.tsx index 72568ca3..320e69b8 100644 --- a/examples/kitchen-sink/app/pages/error-handling/rsc/layout.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/rsc/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/error-handling/server-actions/layout.tsx b/examples/kitchen-sink/app/pages/error-handling/server-actions/layout.tsx index 91a5d5f4..7b7d46ea 100644 --- a/examples/kitchen-sink/app/pages/error-handling/server-actions/layout.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/server-actions/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/error-handling/ssr/layout.tsx b/examples/kitchen-sink/app/pages/error-handling/ssr/layout.tsx index dfbc766b..2904ff10 100644 --- a/examples/kitchen-sink/app/pages/error-handling/ssr/layout.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/ssr/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/http/api/basic.api.ts b/examples/kitchen-sink/app/pages/http/api/basic.api.ts index ad0709ce..345c9dab 100644 --- a/examples/kitchen-sink/app/pages/http/api/basic.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/basic.api.ts @@ -1,4 +1,4 @@ -import { APIProps } from "@twofold/framework/types"; +import { APIProps } from "@redpointgames/framework/types"; export function GET() { let data = { diff --git a/examples/kitchen-sink/app/pages/http/api/cookies.api.ts b/examples/kitchen-sink/app/pages/http/api/cookies.api.ts index 172e5f6a..722d6f5d 100644 --- a/examples/kitchen-sink/app/pages/http/api/cookies.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/cookies.api.ts @@ -1,5 +1,5 @@ -import cookies from "@twofold/framework/cookies"; -import { APIProps } from "@twofold/framework/types"; +import cookies from "@redpointgames/framework/cookies"; +import { APIProps } from "@redpointgames/framework/types"; export function GET() { let data = { diff --git a/examples/kitchen-sink/app/pages/http/api/layout.tsx b/examples/kitchen-sink/app/pages/http/api/layout.tsx index 8fc11eee..981f6a7b 100644 --- a/examples/kitchen-sink/app/pages/http/api/layout.tsx +++ b/examples/kitchen-sink/app/pages/http/api/layout.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { ReactNode } from "react"; export default function Layout({ children }: { children: ReactNode }) { diff --git a/examples/kitchen-sink/app/pages/http/api/nested/$id.api.ts b/examples/kitchen-sink/app/pages/http/api/nested/$id.api.ts index ba8b6776..9e0cddf0 100644 --- a/examples/kitchen-sink/app/pages/http/api/nested/$id.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/nested/$id.api.ts @@ -1,4 +1,4 @@ -import { APIProps } from "@twofold/framework/types"; +import { APIProps } from "@redpointgames/framework/types"; export function GET({ params }: APIProps<"id">) { let data = { ok: true, id: params.id }; diff --git a/examples/kitchen-sink/app/pages/http/api/not-found.api.ts b/examples/kitchen-sink/app/pages/http/api/not-found.api.ts index d4c93fc2..b610e55f 100644 --- a/examples/kitchen-sink/app/pages/http/api/not-found.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/not-found.api.ts @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export function GET() { notFound(); diff --git a/examples/kitchen-sink/app/pages/http/api/redirect.api.ts b/examples/kitchen-sink/app/pages/http/api/redirect.api.ts index b6587206..8c1486b1 100644 --- a/examples/kitchen-sink/app/pages/http/api/redirect.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/redirect.api.ts @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export function GET() { redirect("/http/api/basic"); diff --git a/examples/kitchen-sink/app/pages/http/api/request-info.api.ts b/examples/kitchen-sink/app/pages/http/api/request-info.api.ts index 85df24a7..eb535842 100644 --- a/examples/kitchen-sink/app/pages/http/api/request-info.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/request-info.api.ts @@ -1,4 +1,4 @@ -import { APIProps } from "@twofold/framework/types"; +import { APIProps } from "@redpointgames/framework/types"; export function GET({ request }: APIProps) { let requestHeaders = Object.fromEntries(request.headers); diff --git a/examples/kitchen-sink/app/pages/http/api/unauthorized.api.ts b/examples/kitchen-sink/app/pages/http/api/unauthorized.api.ts index b560239e..ba45971a 100644 --- a/examples/kitchen-sink/app/pages/http/api/unauthorized.api.ts +++ b/examples/kitchen-sink/app/pages/http/api/unauthorized.api.ts @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; export function GET() { unauthorized(); diff --git a/examples/kitchen-sink/app/pages/http/cookies.page.tsx b/examples/kitchen-sink/app/pages/http/cookies.page.tsx index cf0cc199..52be4959 100644 --- a/examples/kitchen-sink/app/pages/http/cookies.page.tsx +++ b/examples/kitchen-sink/app/pages/http/cookies.page.tsx @@ -1,4 +1,4 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; async function setCookie(formData: FormData) { "use server"; diff --git a/examples/kitchen-sink/app/pages/http/encrypted-cookies.page.tsx b/examples/kitchen-sink/app/pages/http/encrypted-cookies.page.tsx index 1fa3ca9f..cabdb92e 100644 --- a/examples/kitchen-sink/app/pages/http/encrypted-cookies.page.tsx +++ b/examples/kitchen-sink/app/pages/http/encrypted-cookies.page.tsx @@ -1,4 +1,4 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; import { Fragment } from "react"; async function setToString() { diff --git a/examples/kitchen-sink/app/pages/http/middleware/index.page.tsx b/examples/kitchen-sink/app/pages/http/middleware/index.page.tsx index d43f41b7..d218f123 100644 --- a/examples/kitchen-sink/app/pages/http/middleware/index.page.tsx +++ b/examples/kitchen-sink/app/pages/http/middleware/index.page.tsx @@ -1,4 +1,4 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export async function before() { console.log("running before middleware"); diff --git a/examples/kitchen-sink/app/pages/http/middleware/layout.tsx b/examples/kitchen-sink/app/pages/http/middleware/layout.tsx index 2f974ce3..efaa1c0b 100644 --- a/examples/kitchen-sink/app/pages/http/middleware/layout.tsx +++ b/examples/kitchen-sink/app/pages/http/middleware/layout.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { ReactNode } from "react"; export default function Layout({ children }: { children: ReactNode }) { diff --git a/examples/kitchen-sink/app/pages/http/request-forwarding.page.tsx b/examples/kitchen-sink/app/pages/http/request-forwarding.page.tsx index e9f23a89..fd774d71 100644 --- a/examples/kitchen-sink/app/pages/http/request-forwarding.page.tsx +++ b/examples/kitchen-sink/app/pages/http/request-forwarding.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function RequestForwardingPage({ request }: PageProps) { let url = new URL(request.url); diff --git a/examples/kitchen-sink/app/pages/layout.tsx b/examples/kitchen-sink/app/pages/layout.tsx index 9f940e39..62422b63 100644 --- a/examples/kitchen-sink/app/pages/layout.tsx +++ b/examples/kitchen-sink/app/pages/layout.tsx @@ -1,7 +1,7 @@ import "./global.css"; import Nav from "./nav"; -import TwofoldFramework from "@twofold/framework/twofold-framework"; -import { LayoutProps } from "@twofold/framework/types"; +import TwofoldFramework from "@redpointgames/framework/twofold-framework"; +import { LayoutProps } from "@redpointgames/framework/types"; import { Toaster } from "./toaster"; export default function Layout({ children }: LayoutProps) { diff --git a/examples/kitchen-sink/app/pages/nav.tsx b/examples/kitchen-sink/app/pages/nav.tsx index 8db24837..860a9203 100644 --- a/examples/kitchen-sink/app/pages/nav.tsx +++ b/examples/kitchen-sink/app/pages/nav.tsx @@ -1,8 +1,8 @@ "use client"; import * as NavigationMenu from "@radix-ui/react-navigation-menu"; -import { useRouter } from "@twofold/framework/use-router"; -import Link from "@twofold/framework/link"; +import { useRouter } from "@redpointgames/framework/use-router"; +import Link from "@redpointgames/framework/link"; import { ReactNode, useState } from "react"; export default function Nav() { diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/$$wildcard.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/$$wildcard.page.tsx index 52768bf7..9c08acc8 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/$$wildcard.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/$$wildcard.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function Page({ params }: PageProps<"wildcard">) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/$slug.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/$slug.page.tsx index a331e36e..7286e191 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/$slug.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/$slug.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function SlugPage({ params }: PageProps<"slug">) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx index 27377941..227e7760 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx @@ -1,5 +1,5 @@ -import Link from "@twofold/framework/link"; -import { LayoutProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function DynamicLayout({ params, diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$$wildcard.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$$wildcard.page.tsx index 9ecc6541..46d934ef 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$$wildcard.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$$wildcard.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function Page({ params }: PageProps<"folder" | "wildcard">) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$file.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$file.page.tsx index 1aa32303..4835aee7 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$file.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/$file.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function FilePage({ params }: PageProps<"folder" | "file">) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/layout.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/layout.tsx index 195b0929..3de774be 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/nested/$folder/layout.tsx @@ -1,4 +1,4 @@ -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function Layout({ children }: LayoutProps) { return <>{children}; diff --git a/examples/kitchen-sink/app/pages/routing/fragments/client-path.tsx b/examples/kitchen-sink/app/pages/routing/fragments/client-path.tsx index 5ecf46f0..9923263c 100644 --- a/examples/kitchen-sink/app/pages/routing/fragments/client-path.tsx +++ b/examples/kitchen-sink/app/pages/routing/fragments/client-path.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function ClientPath() { let { path } = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/fragments/index.page.tsx b/examples/kitchen-sink/app/pages/routing/fragments/index.page.tsx index b684d341..dfcf3f31 100644 --- a/examples/kitchen-sink/app/pages/routing/fragments/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/fragments/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { ClientPath } from "./client-path"; import { RefreshButton } from "./refresh-button"; diff --git a/examples/kitchen-sink/app/pages/routing/fragments/refresh-button.tsx b/examples/kitchen-sink/app/pages/routing/fragments/refresh-button.tsx index 836f8b72..aecd3485 100644 --- a/examples/kitchen-sink/app/pages/routing/fragments/refresh-button.tsx +++ b/examples/kitchen-sink/app/pages/routing/fragments/refresh-button.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function RefreshButton() { let { refresh } = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/masking/$number.page.tsx b/examples/kitchen-sink/app/pages/routing/masking/$number.page.tsx index 85306408..d0c32880 100644 --- a/examples/kitchen-sink/app/pages/routing/masking/$number.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/masking/$number.page.tsx @@ -1,7 +1,7 @@ -import Link from "@twofold/framework/link"; -import { PageProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { PageProps } from "@redpointgames/framework/types"; import { SelectedNumber } from "./selected-number"; -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export default function MaskingPage({ params }: PageProps<"number">) { const number = parseInt(params.number); diff --git a/examples/kitchen-sink/app/pages/routing/masking/index.page.tsx b/examples/kitchen-sink/app/pages/routing/masking/index.page.tsx index c3293803..15ad261d 100644 --- a/examples/kitchen-sink/app/pages/routing/masking/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/masking/index.page.tsx @@ -1,5 +1,5 @@ -import Link from "@twofold/framework/link"; -import { PageProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { PageProps } from "@redpointgames/framework/types"; import { SelectedNumber } from "./selected-number"; import { NavButton } from "./nav-button"; diff --git a/examples/kitchen-sink/app/pages/routing/masking/nav-button.tsx b/examples/kitchen-sink/app/pages/routing/masking/nav-button.tsx index 0d23754e..ac120eb2 100644 --- a/examples/kitchen-sink/app/pages/routing/masking/nav-button.tsx +++ b/examples/kitchen-sink/app/pages/routing/masking/nav-button.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function NavButton({ number }: { number: number }) { let router = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/masking/refresh-page.tsx b/examples/kitchen-sink/app/pages/routing/masking/refresh-page.tsx index a181e15b..b3009fff 100644 --- a/examples/kitchen-sink/app/pages/routing/masking/refresh-page.tsx +++ b/examples/kitchen-sink/app/pages/routing/masking/refresh-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function RefreshPage() { let router = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/navigation/ending.page.tsx b/examples/kitchen-sink/app/pages/routing/navigation/ending.page.tsx index 254a41b6..767a8d7e 100644 --- a/examples/kitchen-sink/app/pages/routing/navigation/ending.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/navigation/ending.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default async function Page() { await new Promise((resolve) => setTimeout(resolve, 1500)); diff --git a/examples/kitchen-sink/app/pages/routing/navigation/layout.tsx b/examples/kitchen-sink/app/pages/routing/navigation/layout.tsx index 94e23cdc..5f338e61 100644 --- a/examples/kitchen-sink/app/pages/routing/navigation/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/navigation/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { LinkWithNavigation } from "./link-with-transition"; export default function Layout({ children }: { children: ReactNode }) { diff --git a/examples/kitchen-sink/app/pages/routing/navigation/link-with-transition.tsx b/examples/kitchen-sink/app/pages/routing/navigation/link-with-transition.tsx index 768e1545..d6ddd17b 100644 --- a/examples/kitchen-sink/app/pages/routing/navigation/link-with-transition.tsx +++ b/examples/kitchen-sink/app/pages/routing/navigation/link-with-transition.tsx @@ -1,7 +1,7 @@ "use client"; -import Link from "@twofold/framework/link"; -import { useRouter } from "@twofold/framework/use-router"; +import Link from "@redpointgames/framework/link"; +import { useRouter } from "@redpointgames/framework/use-router"; import { MouseEvent, ReactNode, useTransition } from "react"; export function LinkWithNavigation({ diff --git a/examples/kitchen-sink/app/pages/routing/nested-layouts/index.page.tsx b/examples/kitchen-sink/app/pages/routing/nested-layouts/index.page.tsx index 51ab7ada..3b482960 100644 --- a/examples/kitchen-sink/app/pages/routing/nested-layouts/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/nested-layouts/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return Go to level 2; diff --git a/examples/kitchen-sink/app/pages/routing/nested-layouts/level-2/index.page.tsx b/examples/kitchen-sink/app/pages/routing/nested-layouts/level-2/index.page.tsx index 6a9e14f7..12c1b8a8 100644 --- a/examples/kitchen-sink/app/pages/routing/nested-layouts/level-2/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/nested-layouts/level-2/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return Go back; diff --git a/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/custom-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/custom-not-found.page.tsx index 59132a40..7cc60aee 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/custom-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/custom-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export default function CustomNotFoundPage() { notFound(); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/not-found.error.tsx b/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/not-found.error.tsx index 1ff84a37..31fa0413 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/not-found.error.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/(custom-not-found)/not-found.error.tsx @@ -1,6 +1,6 @@ "use client"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function CustomNotFoundError() { return ( diff --git a/examples/kitchen-sink/app/pages/routing/not-found/action-calls-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/action-calls-not-found.page.tsx index fd1f862c..8931f49c 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/action-calls-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/action-calls-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; async function action() { "use server"; diff --git a/examples/kitchen-sink/app/pages/routing/not-found/async-middleware-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/async-middleware-not-found.page.tsx index 87badfee..aa6d22b9 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/async-middleware-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/async-middleware-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export async function before() { await new Promise((resolve) => setTimeout(resolve, 1000)); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/async-page-calls-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/async-page-calls-not-found.page.tsx index 69d9761e..6c161d57 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/async-page-calls-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/async-page-calls-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export default async function Page() { notFound(); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/delayed-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/delayed-not-found.page.tsx index a2b2cea1..08b2e599 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/delayed-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/delayed-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export default async function Page() { await new Promise((resolve) => setTimeout(resolve, 5000)); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/layout.tsx b/examples/kitchen-sink/app/pages/routing/not-found/layout.tsx index 6f988598..fb229bd4 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/not-found/middleware-calls-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/middleware-calls-not-found.page.tsx index 5c5bd895..d496ef4c 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/middleware-calls-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/middleware-calls-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export function before() { notFound(); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/not-found-after-action.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/not-found-after-action.page.tsx index 24d970c9..3e5c4ee2 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/not-found-after-action.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/not-found-after-action.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; let shouldNotFoundInRender = false; diff --git a/examples/kitchen-sink/app/pages/routing/not-found/not-found-middleware-after-action.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/not-found-middleware-after-action.page.tsx index 8985c57f..2769b565 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/not-found-middleware-after-action.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/not-found-middleware-after-action.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; let shouldNotFoundInMiddleware = false; diff --git a/examples/kitchen-sink/app/pages/routing/not-found/page-calls-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/page-calls-not-found.page.tsx index 47e11fcc..c289d4fc 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/page-calls-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/page-calls-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; export default function Page() { notFound(); diff --git a/examples/kitchen-sink/app/pages/routing/not-found/suspended-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/not-found/suspended-not-found.page.tsx index 83600ed3..e51482ec 100644 --- a/examples/kitchen-sink/app/pages/routing/not-found/suspended-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/not-found/suspended-not-found.page.tsx @@ -1,4 +1,4 @@ -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; import { Suspense } from "react"; export default function Page() { diff --git a/examples/kitchen-sink/app/pages/routing/parallel-rendering/(layout)/layout.tsx b/examples/kitchen-sink/app/pages/routing/parallel-rendering/(layout)/layout.tsx index b017c738..55b3cea6 100644 --- a/examples/kitchen-sink/app/pages/routing/parallel-rendering/(layout)/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/parallel-rendering/(layout)/layout.tsx @@ -1,4 +1,4 @@ -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; export default async function Layout({ children }: LayoutProps) { await new Promise((resolve) => setTimeout(resolve, 2000)); diff --git a/examples/kitchen-sink/app/pages/routing/parallel-rendering/layout.tsx b/examples/kitchen-sink/app/pages/routing/parallel-rendering/layout.tsx index e7b47051..69d340ee 100644 --- a/examples/kitchen-sink/app/pages/routing/parallel-rendering/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/parallel-rendering/layout.tsx @@ -1,4 +1,4 @@ -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; export default async function Layout({ children }: LayoutProps) { await new Promise((resolve) => setTimeout(resolve, 2000)); diff --git a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$$wildcard.page.tsx b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$$wildcard.page.tsx index a9f3c5fb..bec24b57 100644 --- a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$$wildcard.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$$wildcard.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function Page({ params }: PageProps<"wildcard">) { return
Wildcard page: {params.wildcard}
; diff --git a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$dynamic.page.tsx b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$dynamic.page.tsx index 27049f9b..71709598 100644 --- a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$dynamic.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/$dynamic.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function Page({ params }: PageProps<"dynamic">) { return
Dynamic page: {params.dynamic}
; diff --git a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/layout.tsx b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/layout.tsx index 413552b8..ba0a05ed 100644 --- a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/layout.tsx @@ -1,5 +1,5 @@ -import Link from "@twofold/framework/link"; -import { LayoutProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function PathlessLayout({ children }: LayoutProps) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/subroute/$dynamic.page.tsx b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/subroute/$dynamic.page.tsx index 1c7d11c3..ac44a452 100644 --- a/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/subroute/$dynamic.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/pathless/(pathless)/subroute/$dynamic.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function Page({ params }: PageProps<"dynamic">) { return
Subroute dynamic page: {params.dynamic}
; diff --git a/examples/kitchen-sink/app/pages/routing/props/$slug.page.tsx b/examples/kitchen-sink/app/pages/routing/props/$slug.page.tsx index 2a344da4..093a0366 100644 --- a/examples/kitchen-sink/app/pages/routing/props/$slug.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/props/$slug.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; import { Reveal } from "./reveal"; export default function SlugPropsPage(props: PageProps<"slug">) { diff --git a/examples/kitchen-sink/app/pages/routing/props/index.page.tsx b/examples/kitchen-sink/app/pages/routing/props/index.page.tsx index 2d28780d..9a5be1a0 100644 --- a/examples/kitchen-sink/app/pages/routing/props/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/props/index.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; import { Reveal } from "./reveal"; export default function SlugPropsPage(props: PageProps) { diff --git a/examples/kitchen-sink/app/pages/routing/props/layout.tsx b/examples/kitchen-sink/app/pages/routing/props/layout.tsx index 82a3aeae..dda10420 100644 --- a/examples/kitchen-sink/app/pages/routing/props/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/props/layout.tsx @@ -1,6 +1,6 @@ -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; import { Reveal } from "./reveal"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout(props: LayoutProps) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-not-found.page.tsx index 96d4371f..b74345ac 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-not-found.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; async function action() { "use server"; diff --git a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-to-another-domain.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-to-another-domain.page.tsx index 1a1d7965..9758cf8d 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-to-another-domain.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect-to-another-domain.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; async function action() { "use server"; diff --git a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect.page.tsx index 5a03e92d..e122dc04 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/action-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/action-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; async function action() { "use server"; diff --git a/examples/kitchen-sink/app/pages/routing/redirects/async-page-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/async-page-redirect.page.tsx index 1bb7c519..ec07d3f0 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/async-page-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/async-page-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default async function Page() { redirect("/routing/redirects/ending"); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/delayed-page-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/delayed-page-redirect.page.tsx index 4ec66d85..1c9b08f0 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/delayed-page-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/delayed-page-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default async function Page() { await new Promise((resolve) => setTimeout(resolve, 1000)); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/ending.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/ending.page.tsx index ebbb34b5..414afc74 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/ending.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/ending.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return ( diff --git a/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx b/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx index 685b2ea1..9094aed8 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx @@ -1,5 +1,5 @@ import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Layout({ children }: { children: ReactNode }) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/redirects/middleware-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/middleware-redirect.page.tsx index 6eb7cda8..bb0638e2 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/middleware-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/middleware-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export function before() { redirect("/routing/redirects/ending"); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/page-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/page-redirect.page.tsx index 01588b81..e2326134 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/page-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/page-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default function Page() { redirect("/routing/redirects/ending"); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/permanent-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/permanent-redirect.page.tsx index ecd58c01..42f030be 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/permanent-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/permanent-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default function Page() { redirect("/routing/redirects/ending", { permanent: true }); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/redirect-in-render-after-action.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/redirect-in-render-after-action.page.tsx index 3d15d6ca..e882d0fc 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/redirect-in-render-after-action.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/redirect-in-render-after-action.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; let shouldRedirectInRender = false; diff --git a/examples/kitchen-sink/app/pages/routing/redirects/redirect-not-found.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/redirect-not-found.page.tsx index 3c4666a9..674e0112 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/redirect-not-found.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/redirect-not-found.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default function Page() { redirect("/routing/redirects/this-page-doesnt-exist"); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/redirect-to-another-domain.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/redirect-to-another-domain.page.tsx index beb5f0d1..b2e38933 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/redirect-to-another-domain.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/redirect-to-another-domain.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export default function Page() { redirect("https://github.com/"); diff --git a/examples/kitchen-sink/app/pages/routing/redirects/suspended-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/suspended-redirect.page.tsx index cbac3b74..249919cd 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/suspended-redirect.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/suspended-redirect.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; import { Suspense } from "react"; export default function Page() { diff --git a/examples/kitchen-sink/app/pages/routing/redirects/uas-redirect-actions.ts b/examples/kitchen-sink/app/pages/routing/redirects/uas-redirect-actions.ts index ac7be52e..e4a0f147 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/uas-redirect-actions.ts +++ b/examples/kitchen-sink/app/pages/routing/redirects/uas-redirect-actions.ts @@ -1,6 +1,6 @@ "use server"; -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export async function serverFunction(shouldRedirect: boolean) { await new Promise((resolve) => setTimeout(resolve, 1000)); diff --git a/examples/kitchen-sink/app/pages/routing/scroll-position/html.page.tsx b/examples/kitchen-sink/app/pages/routing/scroll-position/html.page.tsx index 04ea50cf..6dd5aca3 100644 --- a/examples/kitchen-sink/app/pages/routing/scroll-position/html.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/scroll-position/html.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return ( diff --git a/examples/kitchen-sink/app/pages/routing/scroll-position/layout.tsx b/examples/kitchen-sink/app/pages/routing/scroll-position/layout.tsx index 85083ef3..8cd7cda6 100644 --- a/examples/kitchen-sink/app/pages/routing/scroll-position/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/scroll-position/layout.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { ReactNode } from "react"; export default function ScrollPositionLayout({ diff --git a/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-blocking.page.tsx b/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-blocking.page.tsx index 27a3c07b..ee2fc228 100644 --- a/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-blocking.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-blocking.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default async function Page() { await new Promise((resolve) => setTimeout(resolve, 1000)); diff --git a/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-boundary.page.tsx b/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-boundary.page.tsx index e895a940..fe4d2bfc 100644 --- a/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-boundary.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/scroll-position/suspense-boundary.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { Suspense } from "react"; export default function Page() { diff --git a/examples/kitchen-sink/app/pages/routing/scroll-position/text.page.tsx b/examples/kitchen-sink/app/pages/routing/scroll-position/text.page.tsx index 9ec68b16..3cec77a8 100644 --- a/examples/kitchen-sink/app/pages/routing/scroll-position/text.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/scroll-position/text.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function Page() { return ( diff --git a/examples/kitchen-sink/app/pages/routing/search-params/client-side-params.tsx b/examples/kitchen-sink/app/pages/routing/search-params/client-side-params.tsx index d43e8a2f..f145ec49 100644 --- a/examples/kitchen-sink/app/pages/routing/search-params/client-side-params.tsx +++ b/examples/kitchen-sink/app/pages/routing/search-params/client-side-params.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function ClientSideParams() { let { searchParams } = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/search-params/index.page.tsx b/examples/kitchen-sink/app/pages/routing/search-params/index.page.tsx index cc8e0778..775a51ea 100644 --- a/examples/kitchen-sink/app/pages/routing/search-params/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/search-params/index.page.tsx @@ -1,5 +1,5 @@ -import Link from "@twofold/framework/link"; -import { PageProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { PageProps } from "@redpointgames/framework/types"; import { ClientSideParams } from "./client-side-params"; import { VerifySearchParams } from "./verify-search-params"; diff --git a/examples/kitchen-sink/app/pages/routing/search-params/verify-search-params.tsx b/examples/kitchen-sink/app/pages/routing/search-params/verify-search-params.tsx index 0be16fcb..3d8ae8e1 100644 --- a/examples/kitchen-sink/app/pages/routing/search-params/verify-search-params.tsx +++ b/examples/kitchen-sink/app/pages/routing/search-params/verify-search-params.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export function VerifySearchParams({ serializedServerSearchParams, diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/custom-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/custom-unauthorized.page.tsx index fb074a3a..d200f2e7 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/custom-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/custom-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; export default function Page() { unauthorized(); diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/unauthorized.error.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/unauthorized.error.tsx index 97245c40..10d16206 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/unauthorized.error.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/(custom-unauthorized)/unauthorized.error.tsx @@ -1,6 +1,6 @@ "use client"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function CustomUnauthorizedPage() { return ( diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/action-calls-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/action-calls-unauthorized.page.tsx index 69e43901..245ca28b 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/action-calls-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/action-calls-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; async function action() { "use server"; diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/async-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/async-unauthorized.page.tsx index 17dd6666..16e54c47 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/async-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/async-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; export default async function Page() { await new Promise((resolve) => setTimeout(resolve, 1000)); diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/layout.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/layout.tsx index 37f976ab..4ecd2256 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/layout.tsx @@ -1,5 +1,5 @@ -import Link from "@twofold/framework/link"; -import { LayoutProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function Layout({ children }: LayoutProps) { return ( diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/middleware-calls-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/middleware-calls-unauthorized.page.tsx index 06a04633..383e015a 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/middleware-calls-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/middleware-calls-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; export function before() { unauthorized(); diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/page-calls-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/page-calls-unauthorized.page.tsx index 91ef7122..e441313e 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/page-calls-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/page-calls-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; export default function Page() { unauthorized(); diff --git a/examples/kitchen-sink/app/pages/routing/unauthorized/suspended-unauthorized.page.tsx b/examples/kitchen-sink/app/pages/routing/unauthorized/suspended-unauthorized.page.tsx index 7e30e3db..5e2a2bda 100644 --- a/examples/kitchen-sink/app/pages/routing/unauthorized/suspended-unauthorized.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/unauthorized/suspended-unauthorized.page.tsx @@ -1,4 +1,4 @@ -import { unauthorized } from "@twofold/framework/unauthorized"; +import { unauthorized } from "@redpointgames/framework/unauthorized"; import { Suspense } from "react"; export default function Page() { diff --git a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/index.page.tsx b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/index.page.tsx index b095384c..4c9c3c2f 100644 --- a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/index.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { RouteInfo } from "./route-info"; export default function RouterPage() { diff --git a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/route-info.tsx b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/route-info.tsx index 32842ab0..618f8608 100644 --- a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/route-info.tsx +++ b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/route-info.tsx @@ -1,7 +1,7 @@ "use client"; -import { useOptimisticRoute } from "@twofold/framework/use-optimistic-route"; -import { useRouter } from "@twofold/framework/use-router"; +import { useOptimisticRoute } from "@redpointgames/framework/use-optimistic-route"; +import { useRouter } from "@redpointgames/framework/use-router"; export function RouteInfo() { let router = useRouter(); diff --git a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/slow.page.tsx b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/slow.page.tsx index b69d4e27..6ac96c3a 100644 --- a/examples/kitchen-sink/app/pages/routing/use-optimistic-route/slow.page.tsx +++ b/examples/kitchen-sink/app/pages/routing/use-optimistic-route/slow.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { RouteInfo } from "./route-info"; export default async function SlowPage() { diff --git a/examples/kitchen-sink/app/pages/routing/use-router/router-info.tsx b/examples/kitchen-sink/app/pages/routing/use-router/router-info.tsx index 11123a4c..184b4dfc 100644 --- a/examples/kitchen-sink/app/pages/routing/use-router/router-info.tsx +++ b/examples/kitchen-sink/app/pages/routing/use-router/router-info.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export default function RouterInfo() { let router = useRouter(); diff --git a/examples/kitchen-sink/app/pages/server-actions/flash-messages/client-form.tsx b/examples/kitchen-sink/app/pages/server-actions/flash-messages/client-form.tsx index d73e5b12..e3792a3a 100644 --- a/examples/kitchen-sink/app/pages/server-actions/flash-messages/client-form.tsx +++ b/examples/kitchen-sink/app/pages/server-actions/flash-messages/client-form.tsx @@ -1,6 +1,6 @@ "use client"; -import { flash } from "@twofold/framework/flash"; +import { flash } from "@redpointgames/framework/flash"; function action() { flash("This is a client side flash message"); diff --git a/examples/kitchen-sink/app/pages/server-actions/flash-messages/end.page.tsx b/examples/kitchen-sink/app/pages/server-actions/flash-messages/end.page.tsx index 1050f84e..0708279e 100644 --- a/examples/kitchen-sink/app/pages/server-actions/flash-messages/end.page.tsx +++ b/examples/kitchen-sink/app/pages/server-actions/flash-messages/end.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function EndPage() { return ( diff --git a/examples/kitchen-sink/app/pages/server-actions/flash-messages/index.page.tsx b/examples/kitchen-sink/app/pages/server-actions/flash-messages/index.page.tsx index 691fe528..9bb36816 100644 --- a/examples/kitchen-sink/app/pages/server-actions/flash-messages/index.page.tsx +++ b/examples/kitchen-sink/app/pages/server-actions/flash-messages/index.page.tsx @@ -1,5 +1,5 @@ -import { flash } from "@twofold/framework/flash"; -import { redirect } from "@twofold/framework/redirect"; +import { flash } from "@redpointgames/framework/flash"; +import { redirect } from "@redpointgames/framework/redirect"; import { ClientForm } from "./client-form"; import { ObjectFlash } from "./object-flash"; diff --git a/examples/kitchen-sink/app/pages/server-actions/flash-messages/object-flash.tsx b/examples/kitchen-sink/app/pages/server-actions/flash-messages/object-flash.tsx index 9d0593ba..79844ace 100644 --- a/examples/kitchen-sink/app/pages/server-actions/flash-messages/object-flash.tsx +++ b/examples/kitchen-sink/app/pages/server-actions/flash-messages/object-flash.tsx @@ -1,6 +1,6 @@ "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import * as z from "zod"; export function ObjectFlash({ action }: { action: () => void }) { diff --git a/examples/kitchen-sink/app/pages/server-actions/mpa/index.page.tsx b/examples/kitchen-sink/app/pages/server-actions/mpa/index.page.tsx index a350786b..a05d2b3d 100644 --- a/examples/kitchen-sink/app/pages/server-actions/mpa/index.page.tsx +++ b/examples/kitchen-sink/app/pages/server-actions/mpa/index.page.tsx @@ -1,9 +1,9 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; import { logFromActionFile } from "./actions"; import { FormWithClientState, State } from "./form-with-client-state"; import { FormWithServerState } from "./form-with-server-state"; -import Link from "@twofold/framework/link"; -import { redirect } from "@twofold/framework/redirect"; +import Link from "@redpointgames/framework/link"; +import { redirect } from "@redpointgames/framework/redirect"; let state = { count: 0 }; diff --git a/examples/kitchen-sink/app/pages/toaster.tsx b/examples/kitchen-sink/app/pages/toaster.tsx index 1cfef432..b47b8c4d 100644 --- a/examples/kitchen-sink/app/pages/toaster.tsx +++ b/examples/kitchen-sink/app/pages/toaster.tsx @@ -1,6 +1,6 @@ "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import { XMarkIcon } from "@heroicons/react/20/solid"; import * as RadixToast from "@radix-ui/react-toast"; import { AnimatePresence, motion } from "motion/react"; diff --git a/examples/kitchen-sink/app/pages/uis/login/action.ts b/examples/kitchen-sink/app/pages/uis/login/action.ts index e5a468b7..51335941 100644 --- a/examples/kitchen-sink/app/pages/uis/login/action.ts +++ b/examples/kitchen-sink/app/pages/uis/login/action.ts @@ -1,7 +1,7 @@ "use server"; -import cookies from "@twofold/framework/cookies"; -import { redirect } from "@twofold/framework/redirect"; +import cookies from "@redpointgames/framework/cookies"; +import { redirect } from "@redpointgames/framework/redirect"; import * as z from "zod"; export async function login(formData: FormData) { diff --git a/examples/kitchen-sink/app/pages/uis/login/dashboard.page.tsx b/examples/kitchen-sink/app/pages/uis/login/dashboard.page.tsx index 7b7b13ac..15188b8e 100644 --- a/examples/kitchen-sink/app/pages/uis/login/dashboard.page.tsx +++ b/examples/kitchen-sink/app/pages/uis/login/dashboard.page.tsx @@ -1,5 +1,5 @@ -import cookies from "@twofold/framework/cookies"; -import { redirect } from "@twofold/framework/redirect"; +import cookies from "@redpointgames/framework/cookies"; +import { redirect } from "@redpointgames/framework/redirect"; export async function before() { let auth = await cookies.encrypted.get("auth"); diff --git a/examples/kitchen-sink/app/pages/uis/login/index.page.tsx b/examples/kitchen-sink/app/pages/uis/login/index.page.tsx index bb74c75c..054f46a9 100644 --- a/examples/kitchen-sink/app/pages/uis/login/index.page.tsx +++ b/examples/kitchen-sink/app/pages/uis/login/index.page.tsx @@ -1,6 +1,6 @@ -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; import { LoginForm } from "./login-form"; -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export async function before() { let auth = await cookies.encrypted.get("auth"); diff --git a/examples/kitchen-sink/config/application.ts b/examples/kitchen-sink/config/application.ts index 735e7577..4829a743 100644 --- a/examples/kitchen-sink/config/application.ts +++ b/examples/kitchen-sink/config/application.ts @@ -1,4 +1,4 @@ -import { Config } from "@twofold/framework/types"; +import { Config } from "@redpointgames/framework/types"; let config: Config = { reactCompiler: true, diff --git a/examples/kitchen-sink/eslint.config.js b/examples/kitchen-sink/eslint.config.js index 59e4faec..a85df366 100644 --- a/examples/kitchen-sink/eslint.config.js +++ b/examples/kitchen-sink/eslint.config.js @@ -1,5 +1,5 @@ import { defineConfig } from "eslint/config"; -import eslintPluginTwofold from "eslint-plugin-twofold"; +import eslintPluginTwofold from "@redpointgames/eslint-plugin-twofold"; export default defineConfig([ eslintPluginTwofold.configs.recommended, diff --git a/examples/kitchen-sink/package.json b/examples/kitchen-sink/package.json index afd35b55..a50725f7 100644 --- a/examples/kitchen-sink/package.json +++ b/examples/kitchen-sink/package.json @@ -19,7 +19,7 @@ "@heroicons/react": "^2.2.0", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-toast": "^1.2.15", - "@twofold/framework": "workspace:*", + "@redpointgames/framework": "workspace:*", "clsx": "^2.1.1", "marked": "^16.3.0", "motion": "^12.23.22", @@ -36,7 +36,7 @@ "@types/react": "catalog:", "@types/react-dom": "catalog:", "eslint": "^9.38.0", - "eslint-plugin-twofold": "workspace:*", + "@redpointgames/eslint-plugin-twofold": "workspace:*", "nodemon": "^3.1.10", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.6.14", diff --git a/examples/kitchen-sink/tsconfig.json b/examples/kitchen-sink/tsconfig.json index 635fb954..7583a843 100644 --- a/examples/kitchen-sink/tsconfig.json +++ b/examples/kitchen-sink/tsconfig.json @@ -11,7 +11,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "target": "ESNext", - "types": ["react", "react-dom", "node", "@twofold/framework"], + "types": ["react", "react-dom", "node", "@redpointgames/framework"], "paths": { "@/*": ["./*"] } diff --git a/packages/client-component-transforms/package.json b/packages/client-component-transforms/package.json index cceabb51..09941ca0 100644 --- a/packages/client-component-transforms/package.json +++ b/packages/client-component-transforms/package.json @@ -1,5 +1,5 @@ { - "name": "@twofold/client-component-transforms", + "name": "@redpointgames/client-component-transforms", "version": "0.0.8", "description": "Transform components into React Client Components", "type": "module", diff --git a/packages/create-twofold-app/package.json b/packages/create-twofold-app/package.json index d4740f2c..cace1942 100644 --- a/packages/create-twofold-app/package.json +++ b/packages/create-twofold-app/package.json @@ -1,5 +1,5 @@ { - "name": "create-twofold-app", + "name": "@redpointgames/create-twofold-app", "version": "0.0.18", "description": "", "main": "dist/index.js", diff --git a/packages/create-twofold-app/src/index.ts b/packages/create-twofold-app/src/index.ts index f340a552..59954edf 100644 --- a/packages/create-twofold-app/src/index.ts +++ b/packages/create-twofold-app/src/index.ts @@ -224,8 +224,8 @@ async function main() { // remap versions let versions: Record = { ...catalog, - "eslint-plugin-twofold": `${version}`, - "@twofold/framework": `${version}`, + "@redpointgames/eslint-plugin-twofold": `${version}`, + "@redpointgames/framework": `${version}`, }; function modifyVersions(deps: Record) { diff --git a/packages/create-twofold-app/template/app/components/toaster.tsx b/packages/create-twofold-app/template/app/components/toaster.tsx index 81f6260d..152cdd36 100644 --- a/packages/create-twofold-app/template/app/components/toaster.tsx +++ b/packages/create-twofold-app/template/app/components/toaster.tsx @@ -1,6 +1,6 @@ "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import * as z from "zod"; /** diff --git a/packages/create-twofold-app/template/app/pages/layout.tsx b/packages/create-twofold-app/template/app/pages/layout.tsx index 6f05af71..a110eeea 100644 --- a/packages/create-twofold-app/template/app/pages/layout.tsx +++ b/packages/create-twofold-app/template/app/pages/layout.tsx @@ -1,7 +1,7 @@ -import TwofoldFramework from "@twofold/framework/twofold-framework"; +import TwofoldFramework from "@redpointgames/framework/twofold-framework"; import InterFont from "@/public/fonts/inter-var-latin.woff2"; import { Toaster } from "@/app/components/toaster"; -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; import "./global.css"; export default function Layout({ children }: LayoutProps) { diff --git a/packages/create-twofold-app/template/config/application.ts b/packages/create-twofold-app/template/config/application.ts index 39b5115f..d76cfa9c 100644 --- a/packages/create-twofold-app/template/config/application.ts +++ b/packages/create-twofold-app/template/config/application.ts @@ -1,4 +1,4 @@ -import { Config } from "@twofold/framework/types"; +import { Config } from "@redpointgames/framework/types"; let config: Config = {}; diff --git a/packages/create-twofold-app/template/eslint.config.js b/packages/create-twofold-app/template/eslint.config.js index 59e4faec..a85df366 100644 --- a/packages/create-twofold-app/template/eslint.config.js +++ b/packages/create-twofold-app/template/eslint.config.js @@ -1,5 +1,5 @@ import { defineConfig } from "eslint/config"; -import eslintPluginTwofold from "eslint-plugin-twofold"; +import eslintPluginTwofold from "@redpointgames/eslint-plugin-twofold"; export default defineConfig([ eslintPluginTwofold.configs.recommended, diff --git a/packages/create-twofold-app/template/package.json b/packages/create-twofold-app/template/package.json index 8bc8fdd2..c6cb1fda 100644 --- a/packages/create-twofold-app/template/package.json +++ b/packages/create-twofold-app/template/package.json @@ -17,7 +17,7 @@ "node": ">=22.20.0" }, "dependencies": { - "@twofold/framework": "workspace:*", + "@redpointgames/framework": "workspace:*", "client-only": "^0.0.1", "react": "catalog:", "react-dom": "catalog:", @@ -31,7 +31,7 @@ "@types/react": "catalog:", "@types/react-dom": "catalog:", "eslint": "^9.38.0", - "eslint-plugin-twofold": "workspace:*", + "@redpointgames/eslint-plugin-twofold": "workspace:*", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.6.14", "typescript": "catalog:" diff --git a/packages/create-twofold-app/template/tsconfig.json b/packages/create-twofold-app/template/tsconfig.json index 635fb954..7583a843 100644 --- a/packages/create-twofold-app/template/tsconfig.json +++ b/packages/create-twofold-app/template/tsconfig.json @@ -11,7 +11,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "target": "ESNext", - "types": ["react", "react-dom", "node", "@twofold/framework"], + "types": ["react", "react-dom", "node", "@redpointgames/framework"], "paths": { "@/*": ["./*"] } diff --git a/packages/eslint-plugin-twofold/index.js b/packages/eslint-plugin-twofold/index.js index 6c3d080a..b7ad23f6 100644 --- a/packages/eslint-plugin-twofold/index.js +++ b/packages/eslint-plugin-twofold/index.js @@ -12,7 +12,7 @@ let version = packageJson.version; let plugin = { meta: { - name: "eslint-plugin-twofold", + name: "@redpointgames/eslint-plugin-twofold", version, }, configs: { diff --git a/packages/eslint-plugin-twofold/package.json b/packages/eslint-plugin-twofold/package.json index 91849fad..fc8b6c3c 100644 --- a/packages/eslint-plugin-twofold/package.json +++ b/packages/eslint-plugin-twofold/package.json @@ -1,5 +1,5 @@ { - "name": "eslint-plugin-twofold", + "name": "@redpointgames/eslint-plugin-twofold", "version": "0.0.76", "description": "", "main": "index.js", diff --git a/packages/framework/package.json b/packages/framework/package.json index 57b96165..06d33151 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -1,5 +1,5 @@ { - "name": "@twofold/framework", + "name": "@redpointgames/framework", "version": "0.0.76", "description": "", "type": "module", @@ -90,8 +90,8 @@ "@ryanto/esbuild-plugin-tailwind": "^0.0.3", "@tailwindcss/node": "4.1.14", "@tailwindcss/oxide": "4.1.14", - "@twofold/client-component-transforms": "workspace:*", - "@twofold/server-function-transforms": "workspace:*", + "@redpointgames/client-component-transforms": "workspace:*", + "@redpointgames/server-function-transforms": "workspace:*", "babel-plugin-react-compiler": "19.1.0-rc.3", "chokidar": "^4.0.3", "client-only": "^0.0.1", diff --git a/packages/framework/src/backend/build/builders/client-builder.ts b/packages/framework/src/backend/build/builders/client-builder.ts index 2b7af14d..7a00a997 100644 --- a/packages/framework/src/backend/build/builders/client-builder.ts +++ b/packages/framework/src/backend/build/builders/client-builder.ts @@ -5,7 +5,7 @@ import { Builder } from "./builder.js"; import { build, OutputAsset, OutputChunk, Plugin } from "rolldown"; import path, { dirname, relative, sep } from "path"; import { readFile } from "fs/promises"; -import { transform as serverFunctionTransform } from "@twofold/server-function-transforms"; +import { transform as serverFunctionTransform } from "@redpointgames/server-function-transforms"; import { pathToLanguage } from "../helpers/languages.js"; import { getModuleId } from "../helpers/module.js"; import * as mime from "mime-types"; diff --git a/packages/framework/src/backend/build/builders/entries-builder.ts b/packages/framework/src/backend/build/builders/entries-builder.ts index cf7c1d7e..1dc1f2e0 100644 --- a/packages/framework/src/backend/build/builders/entries-builder.ts +++ b/packages/framework/src/backend/build/builders/entries-builder.ts @@ -4,8 +4,8 @@ import { fileURLToPath } from "url"; import { Builder } from "./builder.js"; import { Build } from "../build/build.js"; import { getModuleId } from "../helpers/module.js"; -import { check as checkClientModule } from "@twofold/client-component-transforms"; -import { check as checkServerModule } from "@twofold/server-function-transforms"; +import { check as checkClientModule } from "@redpointgames/client-component-transforms"; +import { check as checkServerModule } from "@redpointgames/server-function-transforms"; import { pathToLanguage } from "../helpers/languages.js"; import { findExternals } from "../externals/find.js"; import { excludePackages } from "../externals/predefined-externals.js"; diff --git a/packages/framework/src/backend/build/externals/predefined-externals.ts b/packages/framework/src/backend/build/externals/predefined-externals.ts index c90e7a95..a4022086 100644 --- a/packages/framework/src/backend/build/externals/predefined-externals.ts +++ b/packages/framework/src/backend/build/externals/predefined-externals.ts @@ -8,7 +8,7 @@ export const excludePackages = [ // icon libraries "@heroicons/react", // twofold libraries - "@twofold/framework/encryption", + "@redpointgames/framework/encryption", // cjs unable to bundle // from next.js: https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/server-external-packages.json // thank you next! @@ -74,4 +74,4 @@ export const excludePackages = [ "zeromq", ]; -export const bundlePackages = ["@twofold/framework"]; +export const bundlePackages = ["@redpointgames/framework"]; diff --git a/packages/framework/src/backend/build/plugins/client-component-map-plugin.ts b/packages/framework/src/backend/build/plugins/client-component-map-plugin.ts index e1acef7f..f2ff925f 100644 --- a/packages/framework/src/backend/build/plugins/client-component-map-plugin.ts +++ b/packages/framework/src/backend/build/plugins/client-component-map-plugin.ts @@ -2,7 +2,7 @@ import { Plugin } from "esbuild"; import { readFile } from "fs/promises"; import { join } from "path"; import { getModuleId } from "../helpers/module.js"; -import { transform as clientComponentTransform } from "@twofold/client-component-transforms"; +import { transform as clientComponentTransform } from "@redpointgames/client-component-transforms"; import { pathToLanguage } from "../helpers/languages.js"; import { shouldIgnoreUseClient } from "../helpers/excluded.js"; diff --git a/packages/framework/src/backend/build/plugins/client-component-proxy-plugin.ts b/packages/framework/src/backend/build/plugins/client-component-proxy-plugin.ts index 632a8f1d..4f30133f 100644 --- a/packages/framework/src/backend/build/plugins/client-component-proxy-plugin.ts +++ b/packages/framework/src/backend/build/plugins/client-component-proxy-plugin.ts @@ -2,7 +2,7 @@ import { Plugin } from "esbuild"; import { RSCBuilder } from "../builders/rsc-builder.js"; import { readFile } from "fs/promises"; import { getModuleId } from "../helpers/module.js"; -import { transform as clientComponentTransform } from "@twofold/client-component-transforms"; +import { transform as clientComponentTransform } from "@redpointgames/client-component-transforms"; import { pathToLanguage } from "../helpers/languages.js"; import { shouldIgnoreUseClient } from "../helpers/excluded.js"; diff --git a/packages/framework/src/backend/build/plugins/server-actions-plugin.ts b/packages/framework/src/backend/build/plugins/server-actions-plugin.ts index 1411cfa1..95c5c63c 100644 --- a/packages/framework/src/backend/build/plugins/server-actions-plugin.ts +++ b/packages/framework/src/backend/build/plugins/server-actions-plugin.ts @@ -7,7 +7,7 @@ import * as path from "path"; import { transform as serverFunctionTransform, envKey, -} from "@twofold/server-function-transforms"; +} from "@redpointgames/server-function-transforms"; import { getModuleId } from "../helpers/module.js"; import { pathToLanguage } from "../helpers/languages.js"; import { shouldIgnoreUseServer } from "../helpers/excluded.js"; @@ -65,7 +65,7 @@ export function serverActionsPlugin({ builder }: { builder: RSCBuilder }) { }, encryption: { key: envKey("TWOFOLD_SECRET_KEY"), - module: "@twofold/framework/encryption", + module: "@redpointgames/framework/encryption", }, moduleId, }); diff --git a/packages/framework/src/backend/encryption.ts b/packages/framework/src/backend/encryption.ts index a53ed94e..f9bdcaf0 100644 --- a/packages/framework/src/backend/encryption.ts +++ b/packages/framework/src/backend/encryption.ts @@ -1 +1 @@ -export { encrypt, decrypt } from "@twofold/server-function-transforms"; +export { encrypt, decrypt } from "@redpointgames/server-function-transforms"; diff --git a/packages/server-function-transforms/README.md b/packages/server-function-transforms/README.md index 3e86b566..0d89c90c 100644 --- a/packages/server-function-transforms/README.md +++ b/packages/server-function-transforms/README.md @@ -54,13 +54,13 @@ If you are using an existing RSC framework then you do not need this package. Installation: ```text -npm install @twofold/server-function-transforms +npm install @redpointgames/server-function-transforms ``` Usage: ```typescript -import { transform, envKey } from "@twofold/server-function-transforms"; +import { transform, envKey } from "@redpointgames/server-function-transforms"; const code = ` export default function Page({ name }) { @@ -102,7 +102,7 @@ console.log("server functions", result.serverFunctions); Code is transformed using the `transform` function. ```typescript -import { transform } from "@twofold/server-function-transforms"; +import { transform } from "@redpointgames/server-function-transforms"; const { code, serverFunctions } = await transform({ input: { @@ -147,7 +147,7 @@ The `key` property tells the server function where to find the encryption key. Using `envKey` will instruct the server function to load the encryption key from an environment variable. ```typescript -import { envKey } from "@twofold/server-function-transforms"; +import { envKey } from "@redpointgames/server-function-transforms"; const { code, serverFunctions } = await transform({ // ... @@ -168,7 +168,7 @@ This package ships with built-in encryption and serialization functions. If you The module should export two async functions: `encrypt` and `decrypt`. ```typescript -import { envKey } from "@twofold/server-function-transforms"; +import { envKey } from "@redpointgames/server-function-transforms"; const { code, serverFunctions } = await transform({ // ... @@ -222,7 +222,7 @@ console.log("server functions", result.serverFunctions); To transform server modules into code that is importable by client bundles, pass the `client` option to the transform function. ```typescript -import { transform } from "@twofold/server-function-transforms"; +import { transform } from "@redpointgames/server-function-transforms"; const { code, serverFunctions } = await transform({ input: { diff --git a/packages/server-function-transforms/package.json b/packages/server-function-transforms/package.json index 8d5d8e1b..e11d5dab 100644 --- a/packages/server-function-transforms/package.json +++ b/packages/server-function-transforms/package.json @@ -1,5 +1,5 @@ { - "name": "@twofold/server-function-transforms", + "name": "@redpointgames/server-function-transforms", "version": "0.0.15", "description": "Transform and encrypt React Server Functions", "type": "module", diff --git a/packages/server-function-transforms/src/plugins/server-transform-plugin.ts b/packages/server-function-transforms/src/plugins/server-transform-plugin.ts index da920b96..5ba803ea 100644 --- a/packages/server-function-transforms/src/plugins/server-transform-plugin.ts +++ b/packages/server-function-transforms/src/plugins/server-transform-plugin.ts @@ -45,7 +45,7 @@ export function ServerTransformPlugin( this.encryption = { hasEncryptedVariables: false, module: - options.encryption.module ?? "@twofold/server-function-transforms", + options.encryption.module ?? "@redpointgames/server-function-transforms", key: options.encryption.key, }; this.getUniqueFunctionName = (name: string) => { @@ -414,7 +414,7 @@ function insertFunctionIntoProgram({ let underProgramPath = findParentUnderProgram(path); if (!underProgramPath) { throw new Error( - "Failed to find parent program node. This is a bug in @twofold/server-function-transforms.", + "Failed to find parent program node. This is a bug in @redpointgames/server-function-transforms.", ); } @@ -450,7 +450,7 @@ function registerServerFunction({ if (!functionName) { throw new Error( - "Failed to find function name. This is a bug in @twofold/server-function-transforms.", + "Failed to find function name. This is a bug in @redpointgames/server-function-transforms.", ); } diff --git a/packages/server-function-transforms/src/transform.ts b/packages/server-function-transforms/src/transform.ts index becc8c7d..8e4a2969 100644 --- a/packages/server-function-transforms/src/transform.ts +++ b/packages/server-function-transforms/src/transform.ts @@ -91,7 +91,7 @@ export async function transform({ let ast = codeAst?.ast; if (!ast) { throw new Error( - "Failed to transform code. This is probably a bug in @twofold/server-function-transforms.", + "Failed to transform code. This is probably a bug in @redpointgames/server-function-transforms.", ); } diff --git a/packages/server-function-transforms/tests/transforms/encrypted-transforms.test.ts b/packages/server-function-transforms/tests/transforms/encrypted-transforms.test.ts index e5a712b6..e62a1aa7 100644 --- a/packages/server-function-transforms/tests/transforms/encrypted-transforms.test.ts +++ b/packages/server-function-transforms/tests/transforms/encrypted-transforms.test.ts @@ -29,7 +29,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toContain( - 'import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms";', + 'import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms";', ); expect(result.code).toContain( @@ -37,7 +37,7 @@ describe("encrypted captured variables", () => { ); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -90,7 +90,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -141,7 +141,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -195,7 +195,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -310,7 +310,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -394,7 +394,7 @@ describe("encrypted captured variables", () => { }); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { @@ -454,7 +454,7 @@ describe("keys", () => { ); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENV_KEY"] !== "string") { @@ -511,7 +511,7 @@ describe("keys", () => { ); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof "a-plain-text-string-password" !== "string") { @@ -571,7 +571,7 @@ describe("factory functions", () => { expect(result.serverFunctions).toHaveLength(1); expect(result.code).toMatchInlineSnapshot(` - "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@twofold/server-function-transforms"; + "import { encrypt as tf$encrypt, decrypt as tf$decrypt } from "@redpointgames/server-function-transforms"; import { registerServerReference } from "react-server-dom-webpack/server.edge"; import { jsx } from "react/jsx-runtime"; if (typeof process.env["ENCRYPTION_KEY"] !== "string") { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afab4b63..039b64eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,7 +44,7 @@ importers: examples/base-app: dependencies: - '@twofold/framework': + '@redpointgames/framework': specifier: workspace:* version: link:../../packages/framework client-only: @@ -69,6 +69,9 @@ importers: specifier: 4.1.11 version: 4.1.11 devDependencies: + '@redpointgames/eslint-plugin-twofold': + specifier: workspace:* + version: link:../../packages/eslint-plugin-twofold '@types/node': specifier: 'catalog:' version: 22.19.17 @@ -81,9 +84,6 @@ importers: eslint: specifier: ^9.38.0 version: 9.39.4(jiti@2.6.1) - eslint-plugin-twofold: - specifier: workspace:* - version: link:../../packages/eslint-plugin-twofold prettier: specifier: ^3.6.2 version: 3.8.3 @@ -105,7 +105,7 @@ importers: '@radix-ui/react-toast': specifier: ^1.2.15 version: 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@twofold/framework': + '@redpointgames/framework': specifier: workspace:* version: link:../../packages/framework clsx: @@ -139,6 +139,9 @@ importers: specifier: ^4.1.11 version: 4.1.11 devDependencies: + '@redpointgames/eslint-plugin-twofold': + specifier: workspace:* + version: link:../../packages/eslint-plugin-twofold '@types/node': specifier: 'catalog:' version: 22.19.17 @@ -151,9 +154,6 @@ importers: eslint: specifier: ^9.38.0 version: 9.39.4(jiti@2.6.1) - eslint-plugin-twofold: - specifier: workspace:* - version: link:../../packages/eslint-plugin-twofold nodemon: specifier: ^3.1.10 version: 3.1.14 @@ -288,6 +288,12 @@ importers: '@hattip/static': specifier: ^0.0.49 version: 0.0.49 + '@redpointgames/client-component-transforms': + specifier: workspace:* + version: link:../client-component-transforms + '@redpointgames/server-function-transforms': + specifier: workspace:* + version: link:../server-function-transforms '@ryanto/esbuild-plugin-tailwind': specifier: ^0.0.3 version: 0.0.3(esbuild@0.27.2)(tailwindcss@4.2.2) @@ -297,12 +303,6 @@ importers: '@tailwindcss/oxide': specifier: 4.1.14 version: 4.1.14 - '@twofold/client-component-transforms': - specifier: workspace:* - version: link:../client-component-transforms - '@twofold/server-function-transforms': - specifier: workspace:* - version: link:../server-function-transforms babel-plugin-react-compiler: specifier: 19.1.0-rc.3 version: 19.1.0-rc.3 @@ -485,6 +485,9 @@ importers: '@radix-ui/react-tabs': specifier: ^1.1.13 version: 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@redpointgames/framework': + specifier: workspace:* + version: link:../../packages/framework '@shikijs/transformers': specifier: ^3.13.0 version: 3.23.0 @@ -494,9 +497,6 @@ importers: '@tailwindcss/typography': specifier: ^0.5.19 version: 0.5.19(tailwindcss@4.2.2) - '@twofold/framework': - specifier: workspace:* - version: link:../../packages/framework clsx: specifier: ^2.1.1 version: 2.1.1 @@ -537,6 +537,9 @@ importers: specifier: ^4.1.11 version: 4.1.11 devDependencies: + '@redpointgames/eslint-plugin-twofold': + specifier: workspace:* + version: link:../../packages/eslint-plugin-twofold '@types/js-yaml': specifier: ^4.0.9 version: 4.0.9 @@ -552,9 +555,6 @@ importers: eslint: specifier: ^9.38.0 version: 9.39.4(jiti@2.6.1) - eslint-plugin-twofold: - specifier: workspace:* - version: link:../../packages/eslint-plugin-twofold nodemon: specifier: ^3.1.9 version: 3.1.14 diff --git a/sites/website/app/components/cli/actions.ts b/sites/website/app/components/cli/actions.ts index 1130a162..84b8b2fe 100644 --- a/sites/website/app/components/cli/actions.ts +++ b/sites/website/app/components/cli/actions.ts @@ -1,6 +1,6 @@ "use server"; -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export async function rememberCliCommand(command: string) { cookies.set("cli-command", command, { diff --git a/sites/website/app/components/cli/root.tsx b/sites/website/app/components/cli/root.tsx index 4d0c78b8..9e91776c 100644 --- a/sites/website/app/components/cli/root.tsx +++ b/sites/website/app/components/cli/root.tsx @@ -1,6 +1,6 @@ import { ReactNode } from "react"; import { CLIProvider } from "./provider"; -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export function CLIRoot({ children }: { children: ReactNode }) { let command = cookies.get("cli-command") ?? "pnpm"; diff --git a/sites/website/app/components/nav-link.tsx b/sites/website/app/components/nav-link.tsx index 08f23d3e..22491599 100644 --- a/sites/website/app/components/nav-link.tsx +++ b/sites/website/app/components/nav-link.tsx @@ -1,7 +1,7 @@ "use client"; -import Link from "@twofold/framework/link"; -import { useOptimisticRoute } from "@twofold/framework/use-optimistic-route"; +import Link from "@redpointgames/framework/link"; +import { useOptimisticRoute } from "@redpointgames/framework/use-optimistic-route"; import { ComponentProps } from "react"; type Props = ComponentProps> & { diff --git a/sites/website/app/pages/(main)/blog/$slug.page.tsx b/sites/website/app/pages/(main)/blog/$slug.page.tsx index b0514c76..b1bc6402 100644 --- a/sites/website/app/pages/(main)/blog/$slug.page.tsx +++ b/sites/website/app/pages/(main)/blog/$slug.page.tsx @@ -1,6 +1,6 @@ import Markdoc, { RenderableTreeNodes } from "@markdoc/markdoc"; -import Link from "@twofold/framework/link"; -import { PageProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { PageProps } from "@redpointgames/framework/types"; import React, { ComponentType } from "react"; import { loadComponents, loadContent, loadMetadata } from "./data-layer/posts"; import { getTitle } from "../../../markdoc/utils"; diff --git a/sites/website/app/pages/(main)/blog/data-layer/posts.ts b/sites/website/app/pages/(main)/blog/data-layer/posts.ts index 94356e4c..f791be68 100644 --- a/sites/website/app/pages/(main)/blog/data-layer/posts.ts +++ b/sites/website/app/pages/(main)/blog/data-layer/posts.ts @@ -1,5 +1,5 @@ import Markdoc, { Config, Schema, Tag } from "@markdoc/markdoc"; -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; import { readdir, readFile } from "fs/promises"; import path from "path"; import { cache, ComponentType } from "react"; diff --git a/sites/website/app/pages/(main)/blog/index.page.tsx b/sites/website/app/pages/(main)/blog/index.page.tsx index 04356812..081253ca 100644 --- a/sites/website/app/pages/(main)/blog/index.page.tsx +++ b/sites/website/app/pages/(main)/blog/index.page.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { getPosts } from "./data-layer/posts"; export default async function BlogPage() { diff --git a/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps-client.tsx b/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps-client.tsx index 35f49f61..1528620a 100644 --- a/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps-client.tsx +++ b/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps-client.tsx @@ -13,9 +13,9 @@ import { import { useFormStatus } from "react-dom"; import { Browser } from "../../components/browser"; import { AnimatePresence, motion } from "motion/react"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import * as z from "zod"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; import { Arrow } from "../../components/arrows"; export function DemoBrowser({ children }: { children: ReactNode }) { diff --git a/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps.tsx b/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps.tsx index b281b59b..c6f0cf09 100644 --- a/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps.tsx +++ b/sites/website/app/pages/(main)/blog/posts/parallel-and-recursive-route-rendering-with-rsc/apps.tsx @@ -1,8 +1,8 @@ import { ReactNode, Suspense } from "react"; import AlicePhoto from "./alice.avif"; -import cookies from "@twofold/framework/cookies"; -import pageContext from "@twofold/framework/context/page"; -import { flash } from "@twofold/framework/flash"; +import cookies from "@redpointgames/framework/cookies"; +import pageContext from "@redpointgames/framework/context/page"; +import { flash } from "@redpointgames/framework/flash"; import * as z from "zod"; import { DemoBrowser, @@ -14,7 +14,7 @@ import { } from "./apps-client"; import Spinner from "@/app/components/spinner"; import clsx from "clsx"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import invariant from "tiny-invariant"; export function DemoApp() { diff --git a/sites/website/app/pages/(main)/blog/rss.api.ts b/sites/website/app/pages/(main)/blog/rss.api.ts index 57d1ae0d..4bb1225d 100644 --- a/sites/website/app/pages/(main)/blog/rss.api.ts +++ b/sites/website/app/pages/(main)/blog/rss.api.ts @@ -1,4 +1,4 @@ -import { APIProps } from "@twofold/framework/types"; +import { APIProps } from "@redpointgames/framework/types"; import { getPosts } from "./data-layer/posts"; export async function GET({ request }: APIProps) { diff --git a/sites/website/app/pages/(main)/docs/$$doc.page.tsx b/sites/website/app/pages/(main)/docs/$$doc.page.tsx index 9e1a719d..7d0a38cd 100644 --- a/sites/website/app/pages/(main)/docs/$$doc.page.tsx +++ b/sites/website/app/pages/(main)/docs/$$doc.page.tsx @@ -1,8 +1,8 @@ import Markdoc, { Config, RenderableTreeNodes, Tag } from "@markdoc/markdoc"; import slugify from "@sindresorhus/slugify"; -import Link from "@twofold/framework/link"; -import { notFound } from "@twofold/framework/not-found"; -import { PageProps } from "@twofold/framework/types"; +import Link from "@redpointgames/framework/link"; +import { notFound } from "@redpointgames/framework/not-found"; +import { PageProps } from "@redpointgames/framework/types"; import { readdir, readFile } from "node:fs/promises"; import path from "node:path"; import React, { cache } from "react"; diff --git a/sites/website/app/pages/(main)/docs/components/deployment-grid.tsx b/sites/website/app/pages/(main)/docs/components/deployment-grid.tsx index 505acc4c..f0bfa85f 100644 --- a/sites/website/app/pages/(main)/docs/components/deployment-grid.tsx +++ b/sites/website/app/pages/(main)/docs/components/deployment-grid.tsx @@ -1,4 +1,4 @@ -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { ComponentProps, JSX } from "react"; export function DeploymentGrid() { diff --git a/sites/website/app/pages/(main)/docs/components/doc-link.tsx b/sites/website/app/pages/(main)/docs/components/doc-link.tsx index 9194c022..8210db13 100644 --- a/sites/website/app/pages/(main)/docs/components/doc-link.tsx +++ b/sites/website/app/pages/(main)/docs/components/doc-link.tsx @@ -1,7 +1,7 @@ "use client"; -import Link from "@twofold/framework/link"; -import { useRouter } from "@twofold/framework/use-router"; +import Link from "@redpointgames/framework/link"; +import { useRouter } from "@redpointgames/framework/use-router"; import { ReactNode } from "react"; export function DocLink({ diff --git a/sites/website/app/pages/(main)/docs/guides/data-fetching.md b/sites/website/app/pages/(main)/docs/guides/data-fetching.md index 778076e3..28e6ffea 100644 --- a/sites/website/app/pages/(main)/docs/guides/data-fetching.md +++ b/sites/website/app/pages/(main)/docs/guides/data-fetching.md @@ -36,7 +36,7 @@ Similar to pages, layouts can also fetch data. This useful for data that is rend import { db } from "./database"; import { ReactNode } from "react"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default async function PostsLayout({ children, diff --git a/sites/website/app/pages/(main)/docs/guides/error-handling.md b/sites/website/app/pages/(main)/docs/guides/error-handling.md index fd71884e..ff84fced 100644 --- a/sites/website/app/pages/(main)/docs/guides/error-handling.md +++ b/sites/website/app/pages/(main)/docs/guides/error-handling.md @@ -82,7 +82,7 @@ This component receives `ErrorProps` containing the thrown `error` as well as a "use client"; -import { ErrorProps } from "@twofold/framework/types"; +import { ErrorProps } from "@redpointgames/framework/types"; export default function ErrorComponent({ error, reset }: ErrorProps) { let { refresh } = useRouter(); diff --git a/sites/website/app/pages/(main)/docs/guides/layouts.md b/sites/website/app/pages/(main)/docs/guides/layouts.md index 8c55d1e2..2fe47825 100644 --- a/sites/website/app/pages/(main)/docs/guides/layouts.md +++ b/sites/website/app/pages/(main)/docs/guides/layouts.md @@ -10,8 +10,8 @@ The root layout in your application is the layout that wraps every page componen ```tsx import "./global.css"; -import TwofoldFramework from "@twofold/framework/twofold-framework"; -import { LayoutProps } from "@twofold/framework/types"; +import TwofoldFramework from "@redpointgames/framework/twofold-framework"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function Layout({ children }: LayoutProps) { return ( @@ -37,7 +37,7 @@ Layouts that are nested will create a hierarchy of layouts. When a page componen ```tsx // app/pages/posts/layout.tsx -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function PostsLayout({ children }: LayoutProps) { return ( @@ -74,12 +74,12 @@ In addition to the `children` prop, layouts receive the same props passed to pag ## Types -A special `LayoutProps` type can be imported from `@twofold/framework/types` that provides types for the props passed to pages. +A special `LayoutProps` type can be imported from `@redpointgames/framework/types` that provides types for the props passed to pages. ```tsx // app/pages/posts/layout.tsx -import { LayoutProps } from "@twofold/framework/types"; +import { LayoutProps } from "@redpointgames/framework/types"; export default function PostsLayout(props: LayoutProps) { // ... diff --git a/sites/website/app/pages/(main)/docs/guides/mutations.md b/sites/website/app/pages/(main)/docs/guides/mutations.md index dc9ec660..7e22a098 100644 --- a/sites/website/app/pages/(main)/docs/guides/mutations.md +++ b/sites/website/app/pages/(main)/docs/guides/mutations.md @@ -147,7 +147,7 @@ Here's an example of how to update a post in the database: // app/pages/posts/$slug.page.tsx import { db } from "./database"; -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function PostsSlugPage({ params, diff --git a/sites/website/app/pages/(main)/docs/guides/pages.md b/sites/website/app/pages/(main)/docs/guides/pages.md index f2d3e4a6..411f1f20 100644 --- a/sites/website/app/pages/(main)/docs/guides/pages.md +++ b/sites/website/app/pages/(main)/docs/guides/pages.md @@ -37,7 +37,7 @@ Pages can contain dynamic params in their URLs. These params are denoted by a `$ ```tsx // app/pages/posts/$slug.page.tsx -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function PostsSlugPage({ params }: PageProps<"slug">) { return
You are viewing: {params.slug}
; @@ -61,14 +61,14 @@ It is important to note that these params are immutable and should not be modifi ## Types -A special `PageProps` type can be imported from `@twofold/framework/types` that provides types for the props passed to pages. +A special `PageProps` type can be imported from `@redpointgames/framework/types` that provides types for the props passed to pages. This type can take a type argument that represents the dynamic params in the URL. ```tsx // app/pages/posts/$slug.page.tsx -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function PostsSlugPage(props: PageProps<"slug">) { // ... @@ -80,7 +80,7 @@ And for pages without dynamic params, the `PageProps` type can be used without a ```tsx // app/pages/posts/index.page.tsx -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function PostsSlugPage(props: PageProps) { // ... diff --git a/sites/website/app/pages/(main)/docs/index.page.tsx b/sites/website/app/pages/(main)/docs/index.page.tsx index 1ed6d209..3634007e 100644 --- a/sites/website/app/pages/(main)/docs/index.page.tsx +++ b/sites/website/app/pages/(main)/docs/index.page.tsx @@ -1,4 +1,4 @@ -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; export function before() { return redirect("/docs/guides/getting-started"); diff --git a/sites/website/app/pages/(main)/docs/reference/application-config.md b/sites/website/app/pages/(main)/docs/reference/application-config.md index 14b2cd9c..a650dffa 100644 --- a/sites/website/app/pages/(main)/docs/reference/application-config.md +++ b/sites/website/app/pages/(main)/docs/reference/application-config.md @@ -9,7 +9,7 @@ The configuration file exports an object that specifies the settings for your ap ```tsx // config/application.ts -import { Config } from "@twofold/framework/types"; +import { Config } from "@redpointgames/framework/types"; let config: Config = { // default configuration diff --git a/sites/website/app/pages/(main)/docs/reference/cookies.md b/sites/website/app/pages/(main)/docs/reference/cookies.md index 912cacbd..a794ade0 100644 --- a/sites/website/app/pages/(main)/docs/reference/cookies.md +++ b/sites/website/app/pages/(main)/docs/reference/cookies.md @@ -9,7 +9,7 @@ Cookies can be read in Twofold using the cookies module: ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export default function IndexPage() { // Read the value of a cookie @@ -30,7 +30,7 @@ To set cookies in Twofold, use the `set()` function: ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; async function setCookie() { "use server"; @@ -53,7 +53,7 @@ Cookies should only be set in server actions or middleware. Setting cookies in p ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export function before() { // ✅ Allowed: Set cookies in middleware @@ -90,7 +90,7 @@ To remove cookies in Twofold, use the `destroy()` function. ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; async function destroyCookie() { "use server"; @@ -123,7 +123,7 @@ To set an encrypted cookie, use the asynchronous `cookies.encrypted.set()` funct ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; async function setCookie() { "use server"; @@ -152,7 +152,7 @@ To retrieve the value of an encrypted cookie, use the asynchronous `cookies.encr ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; export default async function Page() { // Read the value of an encrypted cookie @@ -171,7 +171,7 @@ If the cookie does not exist or has been tampered with, `cookies.encrypted.get() Encrypted cookies in Twofold can store more than just strings — they support any serializable value, including objects and arrays. This is useful for securely handling complex data structures like user profiles, preferences, or session data. ```tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; await cookies.encrypted.set("features", ["new-ui", "beta-user"]); await cookies.encrypted.set("user", { id: 1, name: "Alice" }); @@ -194,7 +194,7 @@ Encrypted cookies are securely stored in the browser but are designed to be unre Consider the following example: ```tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; // Set an encrypted cookie await cookies.encrypted.set("name", "value"); @@ -218,7 +218,7 @@ Similar to regular cookies, encrypted cookies can be destroyed using the `cookie ```tsx // app/pages/index.page.tsx -import cookies from "@twofold/framework/cookies"; +import cookies from "@redpointgames/framework/cookies"; async function destroyCookie() { "use server"; diff --git a/sites/website/app/pages/(main)/docs/reference/flash-messages.md b/sites/website/app/pages/(main)/docs/reference/flash-messages.md index d8b9c78f..05374939 100644 --- a/sites/website/app/pages/(main)/docs/reference/flash-messages.md +++ b/sites/website/app/pages/(main)/docs/reference/flash-messages.md @@ -6,14 +6,14 @@ In Twofold, flash messages work in both server and client actions, support compl ## Creating messages -To create flash messages from a server action, use the `flash` function from `@twofold/framework/flash`. +To create flash messages from a server action, use the `flash` function from `@redpointgames/framework/flash`. For example, to display a success message after the user signs in: ```tsx // app/pages/index.page.tsx -import { flash } from "@twofold/framework/flash"; +import { flash } from "@redpointgames/framework/flash"; function signIn() { "use server"; @@ -43,7 +43,7 @@ Use the `useFlash` hook to display flash messages in your UI. Since it's reactiv ```tsx "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; export function ToastMessages() { let { messages } = useFlash(); @@ -69,7 +69,7 @@ Flash messages can store any JSON-serializable value, allowing you to include ad ```tsx // app/pages/index.page.tsx -import { flash } from "@twofold/framework/flash"; +import { flash } from "@redpointgames/framework/flash"; function signIn() { "use server"; @@ -100,7 +100,7 @@ In a client component, `useFlash` has access to these structured messages. You c ```tsx "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; export function ToastMessages() { let { messages } = useFlash(); @@ -137,7 +137,7 @@ For example, a server action can create multiple types of flash messages: ```tsx // app/pages/index.page.tsx -import { flash } from "@twofold/framework/flash"; +import { flash } from "@redpointgames/framework/flash"; function signIn() { "use server"; @@ -156,7 +156,7 @@ On the client, a schema ensures only specific messages are returned: ```tsx "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; import * as z from "zod"; export function SuccessMessages() { @@ -197,7 +197,7 @@ To let users dismiss messages, use the `removeMessageById` function. The `messag ```tsx "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; export function Messages() { let { messagesWithId, removeMessageById } = useFlash(); @@ -223,7 +223,7 @@ For messages that should disappear after a delay, use the `clearAfter` option: ```tsx "use client"; -import { useFlash } from "@twofold/framework/flash"; +import { useFlash } from "@redpointgames/framework/flash"; export function Messages() { let { messages } = useFlash({ diff --git a/sites/website/app/pages/(main)/docs/reference/link.md b/sites/website/app/pages/(main)/docs/reference/link.md index fbbf2ca0..a0a78c82 100644 --- a/sites/website/app/pages/(main)/docs/reference/link.md +++ b/sites/website/app/pages/(main)/docs/reference/link.md @@ -9,7 +9,7 @@ Links can be rendered by both server and client components. ```tsx // app/pages/index.page.tsx -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; export default function IndexPage() { return ( diff --git a/sites/website/app/pages/(main)/docs/reference/not-found.md b/sites/website/app/pages/(main)/docs/reference/not-found.md index 2660f72a..bb74c7c2 100644 --- a/sites/website/app/pages/(main)/docs/reference/not-found.md +++ b/sites/website/app/pages/(main)/docs/reference/not-found.md @@ -9,8 +9,8 @@ Render the not found page from a page or layout: ```tsx // app/pages/posts/$slug.page.tsx -import { notFound } from "@twofold/framework/not-found"; -import { PageProps } from "@twofold/framework/types"; +import { notFound } from "@redpointgames/framework/not-found"; +import { PageProps } from "@redpointgames/framework/types"; import { db } from "./database"; export default function PostPage({ slug }: PageProps<"slug">) { @@ -35,7 +35,7 @@ Render the not found page from a server action: // app/pages/posts/mutations.ts -import { notFound } from "@twofold/framework/not-found"; +import { notFound } from "@redpointgames/framework/not-found"; import { db } from "./database"; async function updatePost(formData: FormData) { @@ -58,8 +58,8 @@ Render the not found page from middleware: ```tsx // app/pages/posts/$slug.page.tsx -import { notFound } from "@twofold/framework/not-found"; -import { PageProps } from "@twofold/framework/types"; +import { notFound } from "@redpointgames/framework/not-found"; +import { PageProps } from "@redpointgames/framework/types"; export async function before({ params }: PageProps<"slug">) { if (slug === "not-found") { diff --git a/sites/website/app/pages/(main)/docs/reference/redirects.md b/sites/website/app/pages/(main)/docs/reference/redirects.md index 60546197..1e8977da 100644 --- a/sites/website/app/pages/(main)/docs/reference/redirects.md +++ b/sites/website/app/pages/(main)/docs/reference/redirects.md @@ -9,8 +9,8 @@ Redirect when rendering a page or layout: ```tsx // app/pages/posts/$slug.page.tsx -import { redirect } from "@twofold/framework/redirect"; -import { PageProps } from "@twofold/framework/types"; +import { redirect } from "@redpointgames/framework/redirect"; +import { PageProps } from "@redpointgames/framework/types"; import { db } from "./database"; export default function PostPage({ slug }: PageProps<"slug">) { @@ -42,7 +42,7 @@ Redirect from server actions: // app/pages/posts/mutations.ts -import { redirect } from "@twofold/framework/redirect"; +import { redirect } from "@redpointgames/framework/redirect"; import { db } from "./database"; async function createPost(formData: FormData) { @@ -69,8 +69,8 @@ Redirect from middleware: ```tsx // app/pages/posts/$slug.page.tsx -import { redirect } from "@twofold/framework/redirect"; -import { PageProps } from "@twofold/framework/types"; +import { redirect } from "@redpointgames/framework/redirect"; +import { PageProps } from "@redpointgames/framework/types"; export async function before({ params }: PageProps<"slug">) { if (params.slug === "old-post-slug") { diff --git a/sites/website/app/pages/(main)/docs/reference/static-assets.md b/sites/website/app/pages/(main)/docs/reference/static-assets.md index 8ade559f..0ee9e1b0 100644 --- a/sites/website/app/pages/(main)/docs/reference/static-assets.md +++ b/sites/website/app/pages/(main)/docs/reference/static-assets.md @@ -45,7 +45,7 @@ Imported images use relative URLs. Use the page's `url` if you need an absolute // app/pages/index.page.tsx import picture from "./picture.png"; -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; export default function IndexPage({ url }: PageProps) { const absolutePictureUrl = new URL(picture, url.origin); diff --git a/sites/website/app/pages/(main)/docs/reference/use-flash.md b/sites/website/app/pages/(main)/docs/reference/use-flash.md index 6e4a7c5c..1ab8f3bc 100644 --- a/sites/website/app/pages/(main)/docs/reference/use-flash.md +++ b/sites/website/app/pages/(main)/docs/reference/use-flash.md @@ -9,7 +9,7 @@ To use the `useFlash` hook: ```tsx "use client"; -import { flash } from "@twofold/framework/flash"; +import { flash } from "@redpointgames/framework/flash"; export default function ClientComponent() { let { messages } = useFlash(); @@ -49,7 +49,7 @@ The values returned by `useFlash`: ```tsx "use client"; -import { useFlash } from "@twofold/framework/use-flash"; +import { useFlash } from "@redpointgames/framework/use-flash"; function ClientComponent() { let { messages, messagesWithId, removeMessageById } = useFlash(); diff --git a/sites/website/app/pages/(main)/docs/reference/use-optimistic-route.md b/sites/website/app/pages/(main)/docs/reference/use-optimistic-route.md index 291fd20e..c9b44528 100644 --- a/sites/website/app/pages/(main)/docs/reference/use-optimistic-route.md +++ b/sites/website/app/pages/(main)/docs/reference/use-optimistic-route.md @@ -9,8 +9,8 @@ To use the `useOptimisticRoute` hook: ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; -import { useOptimisticRoute } from "@twofold/framework/use-optimistic-route"; +import { useRouter } from "@redpointgames/framework/use-router"; +import { useOptimisticRoute } from "@redpointgames/framework/use-optimistic-route"; export default function ClientComponent() { let router = useRouter(); @@ -39,9 +39,9 @@ While the router is transitioning to a new page, the `isTransitioning` property ```tsx "use client"; -import { Link } from "@twofold/framework/link"; -import { useRouter } from "@twofold/framework/use-router"; -import { useOptimisticRoute } from "@twofold/framework/use-optimistic-route"; +import { Link } from "@redpointgames/framework/link"; +import { useRouter } from "@redpointgames/framework/use-router"; +import { useOptimisticRoute } from "@redpointgames/framework/use-optimistic-route"; export default function ClientComponent() { let router = useRouter(); @@ -75,8 +75,8 @@ When the router is not transitioning, the `path` and `searchParams` properties w ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; -import { useOptimisticRoute } from "@twofold/framework/use-optimistic-route"; +import { useRouter } from "@redpointgames/framework/use-router"; +import { useOptimisticRoute } from "@redpointgames/framework/use-optimistic-route"; export default function ClientComponent() { let router = useRouter(); @@ -101,7 +101,7 @@ The values returned by `useOptimisticRoute`: ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; function ClientComponent() { let { isTransitioning, path, searchParams } = useOptimisticRoute(); diff --git a/sites/website/app/pages/(main)/docs/reference/use-router.md b/sites/website/app/pages/(main)/docs/reference/use-router.md index e0c58437..b56f257e 100644 --- a/sites/website/app/pages/(main)/docs/reference/use-router.md +++ b/sites/website/app/pages/(main)/docs/reference/use-router.md @@ -9,7 +9,7 @@ To use the `useRouter` hook: ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; export default function ClientComponent() { let router = useRouter(); @@ -27,7 +27,7 @@ Programmatic navigation can be achieved by calling the `navigate` or `replace` f ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; import { useEffect } from "react"; export default function ClientComponent() { @@ -48,7 +48,7 @@ The `replace` function from `useRouter` can be used instead of `navigate`. The o ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; import { useEffect } from "react"; export default function ClientComponent() { @@ -69,7 +69,7 @@ The `refresh` function from `useRouter` is used to refresh the current page and ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; import { useEffect } from "react"; export default function ClientComponent() { @@ -88,7 +88,7 @@ The functions and values returned by `useRouter`: ```tsx "use client"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; function ClientComponent() { let { path, searchParams, navigate, replace, refresh } = useRouter(); diff --git a/sites/website/app/pages/enter-docs.tsx b/sites/website/app/pages/enter-docs.tsx index a1711fdc..8530ba53 100644 --- a/sites/website/app/pages/enter-docs.tsx +++ b/sites/website/app/pages/enter-docs.tsx @@ -1,8 +1,8 @@ "use client"; -import Link from "@twofold/framework/link"; +import Link from "@redpointgames/framework/link"; import { useAnimate } from "motion/react"; -import { useRouter } from "@twofold/framework/use-router"; +import { useRouter } from "@redpointgames/framework/use-router"; import { AnchorHTMLAttributes, HTMLAttributes, diff --git a/sites/website/app/pages/index.page.tsx b/sites/website/app/pages/index.page.tsx index 9bef1525..29772ee5 100644 --- a/sites/website/app/pages/index.page.tsx +++ b/sites/website/app/pages/index.page.tsx @@ -1,4 +1,4 @@ -import { PageProps } from "@twofold/framework/types"; +import { PageProps } from "@redpointgames/framework/types"; import { EnterDocsLink } from "./enter-docs"; import clsx from "clsx"; diff --git a/sites/website/app/pages/layout.tsx b/sites/website/app/pages/layout.tsx index 675f3ecd..e77d782f 100644 --- a/sites/website/app/pages/layout.tsx +++ b/sites/website/app/pages/layout.tsx @@ -1,7 +1,7 @@ import { ReactNode } from "react"; import "./global.css"; import InterFont from "@/public/fonts/inter-var-latin.woff2"; -import TwofoldFramework from "@twofold/framework/twofold-framework"; +import TwofoldFramework from "@redpointgames/framework/twofold-framework"; import { EnterDocs } from "./enter-docs"; import FavIcon from "@/public/favicon.png"; diff --git a/sites/website/config/application.ts b/sites/website/config/application.ts index 672c27a3..3408e54f 100644 --- a/sites/website/config/application.ts +++ b/sites/website/config/application.ts @@ -1,4 +1,4 @@ -import { Config } from "@twofold/framework/types"; +import { Config } from "@redpointgames/framework/types"; const config: Config = { trustProxy: true, diff --git a/sites/website/eslint.config.js b/sites/website/eslint.config.js index 59e4faec..a85df366 100644 --- a/sites/website/eslint.config.js +++ b/sites/website/eslint.config.js @@ -1,5 +1,5 @@ import { defineConfig } from "eslint/config"; -import eslintPluginTwofold from "eslint-plugin-twofold"; +import eslintPluginTwofold from "@redpointgames/eslint-plugin-twofold"; export default defineConfig([ eslintPluginTwofold.configs.recommended, diff --git a/sites/website/lib/shiki-transformer-client-boundary.ts b/sites/website/lib/shiki-transformer-client-boundary.ts index f87cdf3d..04e4e5d1 100644 --- a/sites/website/lib/shiki-transformer-client-boundary.ts +++ b/sites/website/lib/shiki-transformer-client-boundary.ts @@ -39,7 +39,7 @@ export function transformerClientBoundary( let padding = mergedOptions.verticalPadding; return { - name: "@twofold/shiki-transformer-client-boundary", + name: "@redpointgames/shiki-transformer-client-boundary", preprocess(code) { let lines = code.split("\n"); let out: string[] = []; diff --git a/sites/website/package.json b/sites/website/package.json index 0444c72c..02fe00db 100644 --- a/sites/website/package.json +++ b/sites/website/package.json @@ -25,7 +25,7 @@ "@shikijs/transformers": "^3.13.0", "@sindresorhus/slugify": "^3.0.0", "@tailwindcss/typography": "^0.5.19", - "@twofold/framework": "workspace:*", + "@redpointgames/framework": "workspace:*", "clsx": "^2.1.1", "dedent": "^1.7.0", "dotenv": "^17.2.3", @@ -46,7 +46,7 @@ "@types/react": "catalog:", "@types/react-dom": "catalog:", "eslint": "^9.38.0", - "eslint-plugin-twofold": "workspace:*", + "@redpointgames/eslint-plugin-twofold": "workspace:*", "nodemon": "^3.1.9", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.7.2", diff --git a/sites/website/tsconfig.json b/sites/website/tsconfig.json index 635fb954..7583a843 100644 --- a/sites/website/tsconfig.json +++ b/sites/website/tsconfig.json @@ -11,7 +11,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "target": "ESNext", - "types": ["react", "react-dom", "node", "@twofold/framework"], + "types": ["react", "react-dom", "node", "@redpointgames/framework"], "paths": { "@/*": ["./*"] } From faa7ff3229444b42df6eea6ab29a99a3db31fb6a Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Sun, 19 Apr 2026 20:25:02 +1000 Subject: [PATCH 06/25] Try to fix package resolution for Yarn --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93a839d9..723b5946 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: export PACKAGE_JSON_FILES=$(find . -name package.json -not -path "*/node_modules/*") # generate version - export PACKAGE_VERSION_SUFFIX="dev.$(date +%Y.%m.%d.%H.%M.%S)+$(git rev-parse --short HEAD)" + export PACKAGE_VERSION_SUFFIX="dev$(date +%Y%m%d%H%M%S)" # set repository for PACKAGE_JSON in $PACKAGE_JSON_FILES; do jq ".repository |= \"https://github.com/$GITHUB_REPOSITORY\"" $PACKAGE_JSON > $PACKAGE_JSON.tmp; mv $PACKAGE_JSON.tmp $PACKAGE_JSON; done From 0c2db09092ac57d1f3b43bcae63e0b9a2e18ba99 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Mon, 20 Apr 2026 12:11:47 +1000 Subject: [PATCH 07/25] Add HTTPS support to dev server --- packages/framework/package.json | 6 +- packages/framework/src/backend/bin.ts | 4 +- packages/framework/src/backend/server.ts | 64 +++++++++++++++++++-- packages/framework/src/backend/tasks/dev.ts | 11 +++- pnpm-lock.yaml | 28 +++++++++ 5 files changed, 104 insertions(+), 9 deletions(-) diff --git a/packages/framework/package.json b/packages/framework/package.json index 06d33151..d325827d 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -87,11 +87,11 @@ "@hattip/response": "^0.0.49", "@hattip/router": "^0.0.49", "@hattip/static": "^0.0.49", + "@redpointgames/client-component-transforms": "workspace:*", + "@redpointgames/server-function-transforms": "workspace:*", "@ryanto/esbuild-plugin-tailwind": "^0.0.3", "@tailwindcss/node": "4.1.14", "@tailwindcss/oxide": "4.1.14", - "@redpointgames/client-component-transforms": "workspace:*", - "@redpointgames/server-function-transforms": "workspace:*", "babel-plugin-react-compiler": "19.1.0-rc.3", "chokidar": "^4.0.3", "client-only": "^0.0.1", @@ -103,7 +103,9 @@ "kleur": "^4.1.5", "mime-types": "^3.0.1", "minimatch": "^10.0.3", + "mkcert": "^3.2.0", "picomatch": "^4.0.3", + "prettier": "^3.6.2", "react-refresh": "^0.18.0", "rolldown": "1.0.0-beta.53", "serialize-error": "^12.0.0", diff --git a/packages/framework/src/backend/bin.ts b/packages/framework/src/backend/bin.ts index 2cb37158..6010834e 100644 --- a/packages/framework/src/backend/bin.ts +++ b/packages/framework/src/backend/bin.ts @@ -42,14 +42,16 @@ program "Port to run the development server on", "3000", ) + .option("-h, --https", "Enable HTTPS", false) .description("Run the development server") .action(async (options) => { let build = nodeEnv === "production" ? new ProductionBuild() : new DevelopmentBuild(); let port = parseInt(options.port, 10) || 3000; + let https = typeof options.https === "boolean" ? options.https : false; - let task = new DevTask({ build, port }); + let task = new DevTask({ build, port, https }); task.start(); }); diff --git a/packages/framework/src/backend/server.ts b/packages/framework/src/backend/server.ts index 9389c271..d9dce551 100644 --- a/packages/framework/src/backend/server.ts +++ b/packages/framework/src/backend/server.ts @@ -1,5 +1,9 @@ import "./monkey-patch.js"; -import { createServer } from "@hattip/adapter-node/native-fetch"; +import { + createServer as createHttpServer, + createMiddleware, +} from "@hattip/adapter-node/native-fetch"; +import { createServer as createHttpsServer } from "node:https"; import { parseHeaderValue } from "@hattip/headers"; import { createRouter } from "@hattip/router"; import { cookie } from "@hattip/cookie"; @@ -13,12 +17,20 @@ import { requestStore } from "./server/middlewares/request-store.js"; import { waitForBuild } from "./server/middlewares/wait-for-build.js"; import { waitForSSR } from "./server/middlewares/wait-for-ssr-worker.js"; import { Server as NodeHttpServer } from "http"; +import { Server as NodeHttpsServer } from "https"; import { Runtime } from "./runtime.js"; import { filterRequests } from "./server/middlewares/filter-requests.js"; import { gzip } from "./server/middlewares/gzip.js"; import kleur from "kleur"; import { Socket } from "net"; import { ProxyingRequest } from "./proxying-request.js"; +import { createCA, createCert } from "mkcert"; +import { fileExists } from "./build/helpers/file.js"; +import path from "node:path"; +import { appCompiledDir } from "./files.js"; +import { Certificate } from "node:crypto"; +import { readFileSync, writeFileSync } from "node:fs"; +import { homedir, platform } from "node:os"; async function createHandler(server: Server) { let runtime = server.runtime; @@ -247,24 +259,33 @@ function log( type Options = { hostname: string; port: number; + https?: boolean; }; +interface SavedCertificate { + key: string; + cert: string; + ca: string; +} + export class Server { #hostname: string; #port: number; #runtime: Runtime; - #server: NodeHttpServer | undefined; + #server: NodeHttpServer | NodeHttpsServer | undefined; #activeSockets: Map | undefined; + #https: boolean; constructor(runtime: Runtime, options: Options) { this.#runtime = runtime; this.#hostname = options.hostname; this.#port = options.port; + this.#https = options.https || false; } get baseUrl() { let domain = this.hostname === "0.0.0.0" ? "localhost" : this.hostname; - return `http://${domain}:${this.port}`; + return `${this.#https ? "https" : "http"}://${domain}:${this.port}`; } get hostname() { @@ -288,9 +309,42 @@ export class Server { let handler = await createHandler(this); let config = await this.build.getAppConfig(); - let server = createServer(handler, { + let adapterOptions = { trustProxy: config.trustProxy ?? false, - }); + }; + let server: NodeHttpServer | NodeHttpsServer; + if (this.#https) { + let httpsCertPath = path.join(homedir(), "twofold-localhost-cert.json"); + let httpsCert: SavedCertificate; + if (await fileExists(httpsCertPath)) { + httpsCert = JSON.parse(readFileSync(httpsCertPath, "utf8")); + } else { + const ca = await createCA({ + organization: "Twofold", + countryCode: "US", + state: "NA", + locality: "NA", + validity: 3650, + }); + const cert = await createCert({ + ca: { key: ca.key, cert: ca.cert }, + domains: ["127.0.0.1", "localhost"], + validity: 3650, + }); + httpsCert = { + key: cert.key, + cert: cert.cert, + ca: ca.cert, + }; + writeFileSync(httpsCertPath, JSON.stringify(httpsCert)); + } + server = createHttpsServer( + httpsCert, + createMiddleware(handler, adapterOptions), + ); + } else { + server = createHttpServer(handler, adapterOptions); + } let activeSockets = new Map(); diff --git a/packages/framework/src/backend/tasks/dev.ts b/packages/framework/src/backend/tasks/dev.ts index 9e8e9c31..b884a0ec 100644 --- a/packages/framework/src/backend/tasks/dev.ts +++ b/packages/framework/src/backend/tasks/dev.ts @@ -14,12 +14,21 @@ export class DevTask { #runtime: Runtime; #server: Server; - constructor({ build, port }: { build: Build; port: number }) { + constructor({ + build, + port, + https, + }: { + build: Build; + port: number; + https: boolean; + }) { this.#build = build; this.#runtime = new Runtime(build); this.#server = new Server(this.#runtime, { hostname: "0.0.0.0", port, + https, }); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 039b64eb..c0fa4ad2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -336,9 +336,15 @@ importers: minimatch: specifier: ^10.0.3 version: 10.2.5 + mkcert: + specifier: ^3.2.0 + version: 3.2.0 picomatch: specifier: ^4.0.3 version: 4.0.4 + prettier: + specifier: ^3.6.2 + version: 3.8.3 react: specifier: 'catalog:' version: 19.2.5 @@ -2549,6 +2555,10 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -3549,6 +3559,11 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} + mkcert@3.2.0: + resolution: {integrity: sha512-026Eivq9RoOjOuLJGzbhGwXUAjBxRX11Z7Jbm4/7lqT/Av+XNy9SPrJte6+UpEt7i+W3e/HZYxQqlQcqXZWSzg==} + engines: {node: '>=16'} + hasBin: true + motion-dom@12.38.0: resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} @@ -3594,6 +3609,10 @@ packages: node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + node-releases@2.0.37: resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} @@ -6591,6 +6610,8 @@ snapshots: comma-separated-tokens@2.0.3: {} + commander@11.1.0: {} + commander@14.0.3: {} commander@2.20.3: {} @@ -7683,6 +7704,11 @@ snapshots: dependencies: minipass: 7.1.3 + mkcert@3.2.0: + dependencies: + commander: 11.1.0 + node-forge: 1.4.0 + motion-dom@12.38.0: dependencies: motion-utils: 12.36.0 @@ -7716,6 +7742,8 @@ snapshots: node-fetch-native@1.6.7: {} + node-forge@1.4.0: {} + node-releases@2.0.37: {} nodemon@3.1.14: From 7533c05c638f7af0519dcbd7ab8910d0baf4c02e Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Mon, 20 Apr 2026 13:22:15 +1000 Subject: [PATCH 08/25] Add headers function --- .../auth/protected/action/protectedAction.tsx | 22 ++++++++++++++----- .../pages/auth/protected/page/index.page.tsx | 20 +++++++++++++---- packages/framework/package.json | 1 + .../src/backend/runtime/action-request.ts | 10 +++++++++ .../framework/src/backend/stores/rsc-store.ts | 16 +++++++++----- packages/framework/src/client/http/headers.ts | 10 +++++++++ 6 files changed, 65 insertions(+), 14 deletions(-) create mode 100644 packages/framework/src/client/http/headers.ts diff --git a/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx b/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx index ceafec36..2c87935d 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/action/protectedAction.tsx @@ -2,15 +2,27 @@ import { behaveBasedOnFormData } from "@/app/auth"; import { AuthPolicyArray } from "@redpointgames/framework/auth"; +import headers from "@redpointgames/framework/headers"; export const auth: AuthPolicyArray = [behaveBasedOnFormData]; export default async function action(formData: FormData) { return ( -
- This is a server component returned by a server action. It will only be - returned if the authentication policies pass. The behaviour was ' - {formData.get("behaviour")?.toString()}'. -
+ <> +
+ This is a server component returned by a server action. It will only be + returned if the authentication policies pass. The behaviour was ' + {formData.get("behaviour")?.toString()}'. +
+
+ {(await headers()).entries().map((kv) => ( +
+
+              {kv[0]}={kv[1]}
+            
+
+ ))} +
+ ); } diff --git a/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx b/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx index 3b6bdfa2..957a875e 100644 --- a/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx +++ b/examples/kitchen-sink/app/pages/auth/protected/page/index.page.tsx @@ -1,12 +1,24 @@ import { behaveBasedOnQueryString } from "@/app/auth"; import { AuthPolicyArray } from "@redpointgames/framework/auth"; +import headers from "@redpointgames/framework/headers"; export const auth: AuthPolicyArray = [behaveBasedOnQueryString]; -export default function Page() { +export default async function Page() { return ( -
- This message won't show unless the authentication policies allow it. -
+ <> +
+ This message won't show unless the authentication policies allow it. +
+
+ {(await headers()).entries().map((kv) => ( +
+
+              {kv[0]}={kv[1]}
+            
+
+ ))} +
+ ); } diff --git a/packages/framework/package.json b/packages/framework/package.json index d325827d..a6b8abca 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -29,6 +29,7 @@ "./use-router": "./src/client/hooks/use-router.ts", "./use-optimistic-route": "./src/client/hooks/use-optimistic-route.ts", "./cookies": "./src/client/http/cookies.ts", + "./headers": "./src/client/http/headers.ts", "./auth": "./src/client/http/auth.ts", "./auth-server": "./src/client/http/auth-server.ts", "./not-found": "./src/client/http/not-found.ts", diff --git a/packages/framework/src/backend/runtime/action-request.ts b/packages/framework/src/backend/runtime/action-request.ts index 0c26771e..889471d3 100644 --- a/packages/framework/src/backend/runtime/action-request.ts +++ b/packages/framework/src/backend/runtime/action-request.ts @@ -259,6 +259,16 @@ export class ActionRequest { } } + let store = getStore(); + if (store) { + // TODO: we'll fork the store for action requests in the future. for now + // we'll directly mutate it. + store.context = { + type: "action", + request: this.#request, + }; + } + try { let result = await this.#action.runAction(); return { diff --git a/packages/framework/src/backend/stores/rsc-store.ts b/packages/framework/src/backend/stores/rsc-store.ts index 2f82907b..3cff738b 100644 --- a/packages/framework/src/backend/stores/rsc-store.ts +++ b/packages/framework/src/backend/stores/rsc-store.ts @@ -30,11 +30,17 @@ export type Store = { flash: { add(message: JSONValue): void; }; - context: { - type: "page"; - request: Request; - assets: string[]; - } | null; + context: + | { + type: "page"; + request: Request; + assets: string[]; + } + | { + type: "action"; + request: Request; + } + | null; assets: string[]; authCache: Map; }; diff --git a/packages/framework/src/client/http/headers.ts b/packages/framework/src/client/http/headers.ts new file mode 100644 index 00000000..4404ca89 --- /dev/null +++ b/packages/framework/src/client/http/headers.ts @@ -0,0 +1,10 @@ +import { getStore } from "../../backend/stores/rsc-store"; + +export default async function headers() { + const store = getStore(); + if (store.context) { + return store.context.request.headers; + } else { + return new Headers(); + } +} From 786dfb758b385f790cee4bdba093758454d768e2 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Mon, 20 Apr 2026 15:14:57 +1000 Subject: [PATCH 09/25] Fix hot reload --- packages/framework/src/backend/build/builders/rsc-builder.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/framework/src/backend/build/builders/rsc-builder.ts b/packages/framework/src/backend/build/builders/rsc-builder.ts index 427da687..71024e29 100644 --- a/packages/framework/src/backend/build/builders/rsc-builder.ts +++ b/packages/framework/src/backend/build/builders/rsc-builder.ts @@ -691,8 +691,7 @@ export class RSCBuilder extends Builder { }); this.#metafile = result?.metafile; - - // this.tree.tree.print(); + this.#cachedApplicationTree = undefined; } catch (error) { console.error(error); this.reportError(error); From 72b80c249d8d6bf9837fbe37dafe36cf55aff838 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Mon, 20 Apr 2026 16:46:34 +1000 Subject: [PATCH 10/25] Add source maps --- examples/kitchen-sink/.npmrc | 2 +- packages/framework/package.json | 1 + .../src/backend/build/build/build.ts | 4 +- .../backend/build/builders/assets-builder.ts | 1 + .../backend/build/builders/client-builder.ts | 2 + .../src/backend/build/builders/rsc-builder.ts | 1 + .../src/backend/server/middlewares/assets.ts | 28 +++++++++++ .../src/client/apps/errors/error-viewer.tsx | 50 ++++++++++++++++--- pnpm-lock.yaml | 45 +++++++++++++++++ 9 files changed, 125 insertions(+), 9 deletions(-) diff --git a/examples/kitchen-sink/.npmrc b/examples/kitchen-sink/.npmrc index 4776b1fb..9c741b77 100644 --- a/examples/kitchen-sink/.npmrc +++ b/examples/kitchen-sink/.npmrc @@ -1 +1 @@ -node-options="--conditions react-server" \ No newline at end of file +node-options="--conditions react-server --enable-source-maps" \ No newline at end of file diff --git a/packages/framework/package.json b/packages/framework/package.json index a6b8abca..42132924 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -111,6 +111,7 @@ "rolldown": "1.0.0-beta.53", "serialize-error": "^12.0.0", "server-only": "^0.0.1", + "stacktrace-js": "^2.0.2", "urlpattern-polyfill": "10.1.0", "xxhash-wasm": "^1.1.0", "zod": "4.1.11" diff --git a/packages/framework/src/backend/build/build/build.ts b/packages/framework/src/backend/build/build/build.ts index 90a97c2a..cfc05701 100644 --- a/packages/framework/src/backend/build/build/build.ts +++ b/packages/framework/src/backend/build/build/build.ts @@ -248,7 +248,9 @@ export abstract class Build { let builderKeys = Object.keys(data.builders); builderKeys.forEach((key) => { let name = data.builders[key].name; - this.getBuilder(name).load(data.builders[key]); + if (this.builders[name] !== undefined) { + this.getBuilder(name).load(data.builders[key]); + } }); // mark as built diff --git a/packages/framework/src/backend/build/builders/assets-builder.ts b/packages/framework/src/backend/build/builders/assets-builder.ts index e9fe6f35..2df8df60 100644 --- a/packages/framework/src/backend/build/builders/assets-builder.ts +++ b/packages/framework/src/backend/build/builders/assets-builder.ts @@ -7,6 +7,7 @@ import { createReadStream, createWriteStream } from "fs"; import { createBrotliCompress } from "zlib"; import { basename } from "path"; import { fileURLToPath, pathToFileURL } from "url"; +import { fileExists } from "../helpers/file.js"; type Asset = { id: string; diff --git a/packages/framework/src/backend/build/builders/client-builder.ts b/packages/framework/src/backend/build/builders/client-builder.ts index 7a00a997..0f9dbc9e 100644 --- a/packages/framework/src/backend/build/builders/client-builder.ts +++ b/packages/framework/src/backend/build/builders/client-builder.ts @@ -223,6 +223,8 @@ export class ClientBuilder extends Builder { format: "esm", cleanDir: true, + sourcemap: true, + advancedChunks: { groups: [ { diff --git a/packages/framework/src/backend/build/builders/rsc-builder.ts b/packages/framework/src/backend/build/builders/rsc-builder.ts index 71024e29..88cba5b1 100644 --- a/packages/framework/src/backend/build/builders/rsc-builder.ts +++ b/packages/framework/src/backend/build/builders/rsc-builder.ts @@ -605,6 +605,7 @@ export class RSCBuilder extends Builder { splitting: true, chunkNames: "chunks/[name]-[hash]", metafile: true, + sourcemap: "linked", plugins: [ clientComponentProxyPlugin({ builder }), serverActionsPlugin({ builder }), diff --git a/packages/framework/src/backend/server/middlewares/assets.ts b/packages/framework/src/backend/server/middlewares/assets.ts index e93d7a88..2124b898 100644 --- a/packages/framework/src/backend/server/middlewares/assets.ts +++ b/packages/framework/src/backend/server/middlewares/assets.ts @@ -22,6 +22,34 @@ export function assets(build: Build): RouteHandler { let id = pathname.replace(/^\/__tf\/assets\//, ""); let asset = build.getBuilder("assets").assetMap.get(id); + if (!asset && id.endsWith(".map")) { + asset = build + .getBuilder("assets") + .assetMap.get(id.substring(0, id.length - 4)); + if (asset) { + const isProd = process.env.NODE_ENV === "production"; + if (isProd) { + return new Response("", { + status: 404, + }); + } else { + let statResult = await stat(asset.assetPath + ".map"); + let contentStream = createReadStream(asset.assetPath + ".map"); + let webStream = Readable.toWeb(contentStream); + + let headers = new Headers({ + "Content-Type": "application/json", + "Content-Length": statResult.size.toString(), + "Cache-Control": cacheControlHeader, + }); + + return new Response(webStream as ReadableStream, { + headers, + }); + } + } + } + if (asset) { let encodings = parseHeaderValue( request.headers.get("accept-encoding"), diff --git a/packages/framework/src/client/apps/errors/error-viewer.tsx b/packages/framework/src/client/apps/errors/error-viewer.tsx index 49951c01..5feb5118 100644 --- a/packages/framework/src/client/apps/errors/error-viewer.tsx +++ b/packages/framework/src/client/apps/errors/error-viewer.tsx @@ -1,4 +1,45 @@ -import { useEffect } from "react"; +import { ReactNode, use, useEffect } from "react"; +import StackTrace from "stacktrace-js"; +import { Suspense } from "react"; + +export function ErrorRendererLoaded(props: { + error: Error; + stacktrace: Promise; +}) { + const stacktrace = use(props.stacktrace); + + const lines: ReactNode[] = []; + for (const frame of stacktrace) { + const url = new URL(frame.getFileName()); + const line = `${frame.getFunctionName()} @ ${decodeURI(frame.getFileName())}:${frame.getLineNumber()}:${frame.getColumnNumber()}\n`; + if (url.pathname.startsWith("/__tf/")) { + lines.push({line}); + } else { + lines.push(line); + } + } + + return ( + <> +

{props.error.message}

+
{lines}
+ + ); +} + +export function ErrorRenderer({ error }: { error: Error }) { + const stacktrace = StackTrace.fromError(error); + + return ( + + } + > + + + ); +} export function ErrorViewer({ error }: { error: unknown }) { return ( @@ -10,12 +51,7 @@ export function ErrorViewer({ error }: { error: unknown }) {
{error instanceof Error ? ( - <> -

{error.message}

-
-                  {error.stack}
-                
- + ) : (

Unknown error

)} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0fa4ad2..2e03b64a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -366,6 +366,9 @@ importers: server-only: specifier: ^0.0.1 version: 0.0.1 + stacktrace-js: + specifier: ^2.0.2 + version: 2.0.2 tailwindcss: specifier: '>=4.0.0' version: 4.2.2 @@ -2715,6 +2718,9 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + es-abstract@1.24.2: resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} @@ -4192,6 +4198,10 @@ packages: source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -4205,9 +4215,21 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + + stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} @@ -6757,6 +6779,10 @@ snapshots: dependencies: is-arrayish: 0.2.1 + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 @@ -8332,6 +8358,8 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 + source-map@0.5.6: {} + source-map@0.6.1: {} space-separated-tokens@2.0.2: {} @@ -8343,8 +8371,25 @@ snapshots: sprintf-js@1.0.3: {} + stack-generator@2.0.10: + dependencies: + stackframe: 1.3.4 + stackback@0.0.2: {} + stackframe@1.3.4: {} + + stacktrace-gps@3.1.2: + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + + stacktrace-js@2.0.2: + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + std-env@3.10.0: {} stop-iteration-iterator@1.1.0: From be154d51054ff4ae061dae81fc33c5a2703bf993 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Mon, 20 Apr 2026 18:59:03 +1000 Subject: [PATCH 11/25] Fix server actions that redirect when used with `useActionState` If we don't reject() from `callServer`, then the component using `useActionState` has the state value updated to `undefined`, and then it continues to attempt to render, which can cause errors because code may rely on the action state not being undefined (for example, if it is typed such that it's initial value is an object with properties). By throwing the `RedirectError`, rendering of the component immediately stops and the `RedirectBoundary` is able to redirect the page as expected. --- .../app/pages/routing/redirects/layout.tsx | 8 ++++++ .../redirects/server-action-redirect-form.tsx | 28 +++++++++++++++++++ .../redirects/server-action-redirect.page.tsx | 14 ++++++++++ .../pages/routing/redirects/server-action.ts | 13 +++++++++ .../client/apps/client/actions/call-server.ts | 5 +++- 5 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect-form.tsx create mode 100644 examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect.page.tsx create mode 100644 examples/kitchen-sink/app/pages/routing/redirects/server-action.ts diff --git a/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx b/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx index 9094aed8..f440d27b 100644 --- a/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/redirects/layout.tsx @@ -111,6 +111,14 @@ export default function Layout({ children }: { children: ReactNode }) { Action redirect not found +
  • + + Server action redirect + +
  • {children}
    diff --git a/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect-form.tsx b/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect-form.tsx new file mode 100644 index 00000000..fa875c10 --- /dev/null +++ b/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect-form.tsx @@ -0,0 +1,28 @@ +"use client"; + +import { useActionState } from "react"; +import { action } from "./server-action"; + +export interface MyValue { + value: string | undefined; +} + +const initialState: MyValue = { + value: "test", +}; + +export default function MyForm() { + const [state, onSubmit, pending] = useActionState( + () => action(true), + initialState, + ); + + return ( +
    + {state.value ?
    {state.value}
    : null} + +
    + ); +} diff --git a/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect.page.tsx b/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect.page.tsx new file mode 100644 index 00000000..e3c76ad5 --- /dev/null +++ b/examples/kitchen-sink/app/pages/routing/redirects/server-action-redirect.page.tsx @@ -0,0 +1,14 @@ +import MyForm from "./server-action-redirect-form"; + +export default function Page() { + return ( +
    +

    + Server action redirect +

    +
    + +
    +
    + ); +} diff --git a/examples/kitchen-sink/app/pages/routing/redirects/server-action.ts b/examples/kitchen-sink/app/pages/routing/redirects/server-action.ts new file mode 100644 index 00000000..2699df69 --- /dev/null +++ b/examples/kitchen-sink/app/pages/routing/redirects/server-action.ts @@ -0,0 +1,13 @@ +"use server"; + +import { redirect } from "@redpointgames/framework/redirect"; +import { MyValue } from "./server-action-redirect-form"; + +export async function action(shouldRedirect: boolean): Promise { + "use server"; + if (shouldRedirect) { + redirect("/routing/redirects/server-action-redirect"); + } else { + return { value: "another-value" }; + } +} diff --git a/packages/framework/src/client/apps/client/actions/call-server.ts b/packages/framework/src/client/apps/client/actions/call-server.ts index 0e0cad7c..e6f8ba3a 100644 --- a/packages/framework/src/client/apps/client/actions/call-server.ts +++ b/packages/framework/src/client/apps/client/actions/call-server.ts @@ -6,6 +6,7 @@ import { // @ts-expect-error: Could not find a declaration file for module 'react-server-dom-webpack/client'. } from "react-server-dom-webpack/client"; import { deserializeError } from "serialize-error"; +import { RedirectError } from "../../../errors/redirect-error"; declare global { interface Window { @@ -107,7 +108,9 @@ export function callServer(id: string, args: any) { } if (response.redirected && window.__twofold?.navigate) { - window.__twofold.navigate(pathToUpdate); + // @note: We must reject with RedirectError here so that useActionState does not attempt to use the result and cause further code to fail (because the state would become 'undefined' otherwise). By rejecting with this error, the rendering of the component using useActionState will stop and the redirection will be handled by the RedirectBoundary component. + reject(new RedirectError(response.status, pathToUpdate)); + return; } } From 106ae86d34718ed540a924ca57d43f21dc70b50a Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 02:54:14 +1000 Subject: [PATCH 12/25] Add support for Sentry tracing --- .../ssr/ssr-client-component-throw.tsx | 2 +- examples/kitchen-sink/package.json | 2 +- packages/framework/package.json | 3 + packages/framework/src/backend/bin.ts | 1 + .../src/backend/build/build/build.ts | 28 + .../backend/build/builders/client-builder.ts | 2 +- .../src/backend/build/builders/rsc-builder.ts | 3 +- .../framework/src/backend/monkey-patch.ts | 1 + packages/framework/src/backend/runtime.ts | 31 +- .../src/backend/runtime/action-request.ts | 20 +- .../src/backend/runtime/api-request.ts | 2 +- .../src/backend/runtime/helpers/auth.ts | 3 +- .../src/backend/runtime/page-request.ts | 8 +- .../src/backend/sentry-instrument.ts | 21 + packages/framework/src/backend/server.ts | 11 + .../src/backend/server/internal-error.html | 4 +- .../src/backend/server/middlewares/errors.ts | 28 +- .../framework/src/backend/ssr/page-ssr.ts | 9 + packages/framework/src/backend/ssr/worker.ts | 51 +- .../client/browser/initialize-browser.tsx | 20 +- .../apps/client/browser/router-hooks.ts | 13 + .../apps/client/components/error-boundary.tsx | 27 +- .../apps/client/components/error-pages.tsx | 3 +- .../src/client/apps/client/ssr/ssr-app.tsx | 50 +- .../src/client/apps/errors/error-viewer.tsx | 9 + packages/framework/src/types/importable.ts | 5 + pnpm-lock.yaml | 1247 ++++++++++++++--- pnpm-workspace.yaml | 2 +- 28 files changed, 1390 insertions(+), 216 deletions(-) create mode 100644 packages/framework/src/backend/sentry-instrument.ts diff --git a/examples/kitchen-sink/app/pages/error-handling/ssr/ssr-client-component-throw.tsx b/examples/kitchen-sink/app/pages/error-handling/ssr/ssr-client-component-throw.tsx index caf69f88..50b9e019 100644 --- a/examples/kitchen-sink/app/pages/error-handling/ssr/ssr-client-component-throw.tsx +++ b/examples/kitchen-sink/app/pages/error-handling/ssr/ssr-client-component-throw.tsx @@ -3,7 +3,7 @@ export default function SSRClientComponentThrow() { // simulate an error during the SSR phase if (typeof window === "undefined") { - throw new Error("Oh no!"); + throw new Error("Oh no SSR!"); } return
    Did I render?
    ; diff --git a/examples/kitchen-sink/package.json b/examples/kitchen-sink/package.json index a50725f7..19b8c375 100644 --- a/examples/kitchen-sink/package.json +++ b/examples/kitchen-sink/package.json @@ -32,11 +32,11 @@ "zod": "^4.1.11" }, "devDependencies": { + "@redpointgames/eslint-plugin-twofold": "workspace:*", "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", "eslint": "^9.38.0", - "@redpointgames/eslint-plugin-twofold": "workspace:*", "nodemon": "^3.1.10", "prettier": "^3.6.2", "prettier-plugin-tailwindcss": "^0.6.14", diff --git a/packages/framework/package.json b/packages/framework/package.json index 42132924..8808c1e6 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -50,6 +50,7 @@ }, "devDependencies": { "@eslint/js": "^9.37.0", + "@sentry/cli": "^3.4.0", "@types/babel__core": "^7.20.5", "@types/etag": "^1.8.4", "@types/mime-types": "^3.0.1", @@ -91,6 +92,8 @@ "@redpointgames/client-component-transforms": "workspace:*", "@redpointgames/server-function-transforms": "workspace:*", "@ryanto/esbuild-plugin-tailwind": "^0.0.3", + "@sentry/node": "^10.49.0", + "@sentry/react": "^10.49.0", "@tailwindcss/node": "4.1.14", "@tailwindcss/oxide": "4.1.14", "babel-plugin-react-compiler": "19.1.0-rc.3", diff --git a/packages/framework/src/backend/bin.ts b/packages/framework/src/backend/bin.ts index 6010834e..b1fa22d8 100644 --- a/packages/framework/src/backend/bin.ts +++ b/packages/framework/src/backend/bin.ts @@ -1,5 +1,6 @@ #!/usr/bin/env node import "./monkey-patch.js"; +import "./sentry-instrument.js"; import "dotenv/config"; import { DevelopmentBuild } from "./build/build/development.js"; import { ProductionBuild } from "./build/build/production.js"; diff --git a/packages/framework/src/backend/build/build/build.ts b/packages/framework/src/backend/build/build/build.ts index cfc05701..4cf65da4 100644 --- a/packages/framework/src/backend/build/build/build.ts +++ b/packages/framework/src/backend/build/build/build.ts @@ -13,6 +13,8 @@ import EventEmitter from "events"; import * as z from "zod"; import { AssetsBuilder } from "../builders/assets-builder.js"; import { ClientBuilder } from "../builders/client-builder.js"; +import { SentryCli } from "@sentry/cli"; +import path from "path"; let jiti = createJiti(import.meta.url, { debug: false, @@ -24,6 +26,9 @@ let configSchema = z.object({ bundlePackages: z.array(z.string()).optional(), reactCompiler: z.boolean().optional(), trustProxy: z.boolean().optional(), + sentryOptions: z.any().optional(), + sentryBrowserOptions: z.any().optional(), + sentryUploadSourcemaps: z.boolean().optional(), }); type Config = z.infer; @@ -55,6 +60,9 @@ export abstract class Build { bundlePackages: [], reactCompiler: false, trustProxy: false, + sentryOptions: undefined, + sentryBrowserOptions: undefined, + sentryUploadSourcemaps: undefined, }; if (!this.#appConfig) { @@ -186,6 +194,26 @@ export abstract class Build { let json = JSON.stringify(data, null, 2); let jsonUrl = new URL("./build.json", appCompiledDir); await writeFile(jsonUrl, json, "utf-8"); + + // check if Sentry upload should be enabled + let appConfig = await this.getAppConfig(); + if (appConfig.sentryUploadSourcemaps === true) { + const cli = new SentryCli(null, {}); + console.log("Injecting debug IDs into source maps ..."); + await cli.sourceMaps.inject({ + paths: [path.join(process.cwd(), ".twofold")], + }); + console.log("Uploading source maps ..."); + console.log(`Scanning: ${process.cwd()}`); + const releaseOptions = + process.env.SENTRY_RELEASE !== undefined + ? [`--release=${process.env.SENTRY_RELEASE}`] + : []; + await cli.sourceMaps.execute( + ["sourcemaps", "upload", ...releaseOptions, ".twofold"], + true, + ); + } } private async serialize() { diff --git a/packages/framework/src/backend/build/builders/client-builder.ts b/packages/framework/src/backend/build/builders/client-builder.ts index 0f9dbc9e..04b5b567 100644 --- a/packages/framework/src/backend/build/builders/client-builder.ts +++ b/packages/framework/src/backend/build/builders/client-builder.ts @@ -223,7 +223,7 @@ export class ClientBuilder extends Builder { format: "esm", cleanDir: true, - sourcemap: true, + sourcemap: process.env.NODE_ENV === "production" ? "hidden" : true, advancedChunks: { groups: [ diff --git a/packages/framework/src/backend/build/builders/rsc-builder.ts b/packages/framework/src/backend/build/builders/rsc-builder.ts index 88cba5b1..eb613335 100644 --- a/packages/framework/src/backend/build/builders/rsc-builder.ts +++ b/packages/framework/src/backend/build/builders/rsc-builder.ts @@ -605,7 +605,8 @@ export class RSCBuilder extends Builder { splitting: true, chunkNames: "chunks/[name]-[hash]", metafile: true, - sourcemap: "linked", + sourcemap: + process.env.NODE_ENV === "production" ? "external" : "linked", plugins: [ clientComponentProxyPlugin({ builder }), serverActionsPlugin({ builder }), diff --git a/packages/framework/src/backend/monkey-patch.ts b/packages/framework/src/backend/monkey-patch.ts index 3303f484..56010ea3 100644 --- a/packages/framework/src/backend/monkey-patch.ts +++ b/packages/framework/src/backend/monkey-patch.ts @@ -10,6 +10,7 @@ declare global { var __webpack_chunk_load__: (chunkId: string) => Promise; var __webpack_require__: (id: string) => any; var __non_webpack_require__: ReturnType; + var __instrumented__: boolean; } globalThis.AsyncLocalStorage = NodeAsyncLocalStorage; diff --git a/packages/framework/src/backend/runtime.ts b/packages/framework/src/backend/runtime.ts index c06f4d95..6548376c 100644 --- a/packages/framework/src/backend/runtime.ts +++ b/packages/framework/src/backend/runtime.ts @@ -24,6 +24,8 @@ import { pathMatches } from "./runtime/helpers/routing.js"; import { invariant } from "./utils/invariant.js"; import { readStream } from "./steams/read-stream.js"; import { combineBatch, createBatchStream } from "./steams/batch-stream.js"; +import * as Sentry from "@sentry/node"; +import { BrowserOptions } from "@sentry/react"; type Build = DevelopmentBuild | ProductionBuild; @@ -142,6 +144,8 @@ export class Runtime { let clientComponentMap = this.build.getBuilder("client").clientComponentMap; let streamError: unknown; + let captureException = this.captureException.bind(this); + let rscStream = renderToReadableStream(data, clientComponentMap, { temporaryReferences: options.temporaryReferences, onError(err: unknown) { @@ -160,14 +164,8 @@ export class Runtime { ) { return err.digest; } else if (err instanceof Error) { - let digest = - process.env.NODE_ENV === "production" ? randomUUID() : undefined; - - if (digest) { - console.log(`Error digest: ${digest}`); - } - - console.error(err); + let digest = Sentry.getActiveSpan()?.spanContext().traceId; + captureException(err); return digest; } }, @@ -420,4 +418,21 @@ export class Runtime { }); } } + + // error reporting + + async captureException(error: unknown) { + if (Sentry.isEnabled()) { + console.error( + "Error reported to Sentry with ID: " + Sentry.captureException(error), + ); + } else { + console.error(error); + } + } + + async getSentryBrowserOptions(): Promise { + let appConfig = await this.#build.getAppConfig(); + return appConfig.sentryBrowserOptions; + } } diff --git a/packages/framework/src/backend/runtime/action-request.ts b/packages/framework/src/backend/runtime/action-request.ts index 889471d3..26ed336c 100644 --- a/packages/framework/src/backend/runtime/action-request.ts +++ b/packages/framework/src/backend/runtime/action-request.ts @@ -20,6 +20,7 @@ import { serializeError } from "serialize-error"; import { randomUUID } from "crypto"; import { evaluatePolicyArray } from "./helpers/auth.js"; import { CompiledServerAction } from "../build/rsc/compiled-server-action.js"; +import * as Sentry from "@sentry/node"; type ServerManifest = Record< string, @@ -207,11 +208,16 @@ export class ActionRequest { let rscStream = rscResponse.body; let url = new URL(this.#action.renderPath, this.#request.url); + let trace = Sentry.getTraceData(); + let { stream } = await this.#runtime.renderHtmlStreamFromRSCStream( rscStream, "page", { urlString: url.toString(), + sentryBrowserOptions: await this.#runtime.getSentryBrowserOptions(), + sentryTrace: trace["sentry-trace"]!, + sentryBaggage: trace.baggage!, }, ); @@ -245,7 +251,7 @@ export class ActionRequest { ); if (!authResponse.__allow) { if (authResponse.__error) { - console.error(authResponse.__error); + this.#runtime.captureException(authResponse.__error); return { type: "throw", error: authResponse.__error, @@ -286,13 +292,13 @@ export class ActionRequest { ? err : new Error("Action threw non error", { cause: err }); - if (process.env.NODE_ENV === "production" && !isSafeError) { - let digest = randomUUID(); - errorObject.digest = digest; - } - if (!isSafeError) { - console.error(errorObject); + let digest = Sentry.getActiveSpan()?.spanContext().traceId; + if (digest) { + errorObject.digest = digest; + } + + this.#runtime.captureException(errorObject); } return { diff --git a/packages/framework/src/backend/runtime/api-request.ts b/packages/framework/src/backend/runtime/api-request.ts index 4020a27e..ad6135e9 100644 --- a/packages/framework/src/backend/runtime/api-request.ts +++ b/packages/framework/src/backend/runtime/api-request.ts @@ -65,7 +65,7 @@ export class APIRequest { }, }); } else { - console.error(error); + this.#runtime.captureException(error); return new Response("Internal Server Error", { status: 500 }); } }, diff --git a/packages/framework/src/backend/runtime/helpers/auth.ts b/packages/framework/src/backend/runtime/helpers/auth.ts index 6c95a9e3..869c8f68 100644 --- a/packages/framework/src/backend/runtime/helpers/auth.ts +++ b/packages/framework/src/backend/runtime/helpers/auth.ts @@ -30,8 +30,7 @@ export async function evaluatePolicyArray( ) { authPolicyArrays.push(await current.getAuthPolicy()); } else if (!current) { - console.error(current); - throw new Error(`Unsupported parent`); + throw new Error(`Unsupported parent in evaluatePolicyArray`); } current = current.parent; } diff --git a/packages/framework/src/backend/runtime/page-request.ts b/packages/framework/src/backend/runtime/page-request.ts index a910d2ba..744f7b63 100644 --- a/packages/framework/src/backend/runtime/page-request.ts +++ b/packages/framework/src/backend/runtime/page-request.ts @@ -15,6 +15,7 @@ import { evaluatePolicyArray, evaluatePolicyArrayToResponse, } from "./helpers/auth.js"; +import * as Sentry from "@sentry/node"; export class PageRequest { #page: Page; @@ -71,7 +72,7 @@ export class PageRequest { let { status, url } = redirectErrorInfo(error); return this.redirectResponse(status, url); } else { - console.error(error); + this.#runtime.captureException(error); return new Response("Internal Server Error", { status: 500 }); } }, @@ -164,11 +165,16 @@ export class PageRequest { let rscStream = rscResponse.body; let url = new URL(this.#request.url); + let trace = Sentry.getTraceData(); + let { stream } = await this.#runtime.renderHtmlStreamFromRSCStream( rscStream, "page", { urlString: url.toString(), + sentryBrowserOptions: await this.#runtime.getSentryBrowserOptions(), + sentryTrace: trace["sentry-trace"]!, + sentryBaggage: trace.baggage!, }, ); diff --git a/packages/framework/src/backend/sentry-instrument.ts b/packages/framework/src/backend/sentry-instrument.ts new file mode 100644 index 00000000..4cf3b9d2 --- /dev/null +++ b/packages/framework/src/backend/sentry-instrument.ts @@ -0,0 +1,21 @@ +// Load instrument.server.ts very early if it exists. +import { createJiti } from "jiti"; +import { existsSync } from "node:fs"; +import { join } from "node:path"; +import * as Sentry from "@sentry/node"; +if (globalThis.__instrumented__ === undefined) { + let jiti = createJiti(import.meta.url, { + debug: false, + moduleCache: false, + fsCache: false, + }); + let appConfigPath = join(process.cwd(), "config", "application.ts"); + if (existsSync(appConfigPath)) { + let configMod: any = await jiti.import(appConfigPath); + let appConfig = configMod.default ?? {}; + if (appConfig.sentryOptions) { + Sentry.init(appConfig.sentryOptions); + } + } + globalThis.__instrumented__ = true; +} diff --git a/packages/framework/src/backend/server.ts b/packages/framework/src/backend/server.ts index d9dce551..53e3275f 100644 --- a/packages/framework/src/backend/server.ts +++ b/packages/framework/src/backend/server.ts @@ -31,6 +31,7 @@ import { appCompiledDir } from "./files.js"; import { Certificate } from "node:crypto"; import { readFileSync, writeFileSync } from "node:fs"; import { homedir, platform } from "node:os"; +import * as Sentry from "@sentry/node"; async function createHandler(server: Server) { let runtime = server.runtime; @@ -70,6 +71,11 @@ async function createHandler(server: Server) { throw new Error("No path specified"); } + let activeSpan = Sentry.getActiveSpan(); + if (activeSpan) { + Sentry.updateSpanName(activeSpan, "RSC " + path); + } + let requestUrl = new URL(path, url); let request = new Request(requestUrl, proxiedRequest); let pageRequest = runtime.pageRequest(request); @@ -113,6 +119,11 @@ async function createHandler(server: Server) { let response = await actionRequest.rscResponse(); let name = await actionRequest.name(); + let activeSpan = Sentry.getActiveSpan(); + if (activeSpan) { + Sentry.updateSpanName(activeSpan, "ACTION " + name); + } + if (response.status === 404) { log("Not found", `Action ${name}`, "red"); } else if (response.status === 401) { diff --git a/packages/framework/src/backend/server/internal-error.html b/packages/framework/src/backend/server/internal-error.html index 5e3e01f8..0e4b867c 100644 --- a/packages/framework/src/backend/server/internal-error.html +++ b/packages/framework/src/backend/server/internal-error.html @@ -52,8 +52,8 @@

    Application error

    -

    Something went wrong. Try again later if the issue persists.

    -

    Digest: $digest

    +

    Something went wrong. Try again later if the issue persists.

    +

    Trace ID: $digest

    diff --git a/packages/framework/src/backend/server/middlewares/errors.ts b/packages/framework/src/backend/server/middlewares/errors.ts index fa429b78..859bc0e2 100644 --- a/packages/framework/src/backend/server/middlewares/errors.ts +++ b/packages/framework/src/backend/server/middlewares/errors.ts @@ -8,12 +8,17 @@ import { renderToReadableStream, // @ts-expect-error: TypeScript cannot find type declarations for this module } from "react-server-dom-webpack/server.edge"; +import * as Sentry from "@sentry/node"; export function errors(build: Build): RouteHandler { return async (ctx) => { ctx.handleError = async (e: unknown) => { let request = ctx.request; + if (Sentry.isEnabled()) { + Sentry.captureException(e); + } + let accepts = parseHeaderValue(request.headers.get("accept")); let isRSCFetch = accepts.some((a) => a.value === "text/x-component"); let isHTMLFetch = accepts.some((a) => a.value === "text/html"); @@ -40,11 +45,25 @@ export function errors(build: Build): RouteHandler { }, {}, ); + let headers: HeadersInit = { + "content-type": "text/x-component", + }; + if ( + error instanceof Error && + "digest" in error && + typeof error.digest === "string" + ) { + // provide the digest ID as a header, since React will omit it when serializing the error in the RSC stream + headers["x-twofold-error-digest"] = error.digest; + } else { + let sentryTraceId = Sentry.getActiveSpan()?.spanContext().traceId; + if (sentryTraceId) { + headers["x-twofold-error-digest"] = sentryTraceId; + } + } return new Response(stream, { status, - headers: { - "content-type": "text/x-component", - }, + headers: headers, }); } else if (isHTMLFetch) { let html = await errorPage(error); @@ -115,12 +134,13 @@ export async function errorPage(error: Error) { "digest" in error && typeof error.digest === "string" ? error.digest - : ""; + : (Sentry.getActiveSpan()?.spanContext().traceId ?? ""); let html = contents .replace("$error", serializedError) .replace("$message", message) .replace("$stack", stack) + .replace("$digest-class", digest ? "" : "hidden") .replace("$digest", digest); return html; diff --git a/packages/framework/src/backend/ssr/page-ssr.ts b/packages/framework/src/backend/ssr/page-ssr.ts index cf8c2412..24d188ac 100644 --- a/packages/framework/src/backend/ssr/page-ssr.ts +++ b/packages/framework/src/backend/ssr/page-ssr.ts @@ -6,6 +6,7 @@ import { parentPort, workerData } from "node:worker_threads"; import { pathToFileURL } from "node:url"; import { RenderRequest } from "./worker.js"; import type { ReadableStream } from "node:stream/web"; +import type { BrowserOptions } from "@sentry/react"; if (!parentPort) { throw new Error("Must be run as a worker"); @@ -21,6 +22,10 @@ let render = appModule.render; type PageRenderRequest = Extract & { rscStream: ReadableStream; signal: AbortSignal; + sentryBrowserOptions: BrowserOptions | undefined; + captureException: (error: unknown) => boolean; + sentryTrace: string | undefined; + sentryBaggage: string | undefined; }; export async function pageSSR(request: PageRenderRequest) { @@ -30,5 +35,9 @@ export async function pageSSR(request: PageRenderRequest) { urlString: request.data.urlString, bootstrapUrl, signal: request.signal, + sentryBrowserOptions: request.sentryBrowserOptions, + captureException: request.captureException, + sentryTrace: request.sentryTrace, + sentryBaggage: request.sentryBaggage, }); } diff --git a/packages/framework/src/backend/ssr/worker.ts b/packages/framework/src/backend/ssr/worker.ts index 0d22b56a..6f5a1da0 100644 --- a/packages/framework/src/backend/ssr/worker.ts +++ b/packages/framework/src/backend/ssr/worker.ts @@ -1,4 +1,5 @@ import "../monkey-patch.js"; +import "../sentry-instrument.js"; import { MessagePort, parentPort, @@ -12,6 +13,8 @@ import { pageSSR } from "./page-ssr.js"; import { combineBatch, createBatchStream } from "../steams/batch-stream.js"; import { ReactDOMServerReadableStream } from "react-dom/server"; import { invariant } from "../utils/invariant.js"; +import * as Sentry from "@sentry/node"; +import type { BrowserOptions } from "@sentry/react"; if (!parentPort) { throw new Error("Must be run as a worker"); @@ -23,6 +26,9 @@ export type RenderRequest = { mode: "page"; data: { urlString: string; + sentryBrowserOptions: BrowserOptions | undefined; + sentryTrace: string | undefined; + sentryBaggage: string | undefined; }; }; @@ -94,6 +100,8 @@ parentPort.on("message", async (request: RenderRequest) => { let didFail = false; function fail(error: unknown) { + Sentry.captureException(error); + if (!didFail) { didFail = true; @@ -137,11 +145,44 @@ parentPort.on("message", async (request: RenderRequest) => { try { if (request.mode === "page") { - htmlStream = await pageSSR({ - ...request, - rscStream, - signal: htmlAbortController.signal, - }); + const getHtmlStream = async () => { + return await pageSSR({ + ...request, + rscStream, + signal: htmlAbortController.signal, + sentryBrowserOptions: request.data.sentryBrowserOptions, + sentryTrace: request.data.sentryTrace, + sentryBaggage: request.data.sentryBaggage, + captureException: (err) => { + if (Sentry.isEnabled()) { + Sentry.captureException(err); + return true; + } else { + return false; + } + }, + }); + }; + if (request.data.sentryTrace && request.data.sentryBaggage) { + await Sentry.continueTrace( + { + sentryTrace: request.data.sentryTrace, + baggage: request.data.sentryBaggage, + }, + async () => { + await Sentry.startSpan( + { + name: "ssr-html-stream", + }, + async () => { + htmlStream = await getHtmlStream(); + }, + ); + }, + ); + } else { + htmlStream = await getHtmlStream(); + } } else { throw new Error("Invalid mode"); } diff --git a/packages/framework/src/client/apps/client/browser/initialize-browser.tsx b/packages/framework/src/client/apps/client/browser/initialize-browser.tsx index c09f60dc..955601bc 100644 --- a/packages/framework/src/client/apps/client/browser/initialize-browser.tsx +++ b/packages/framework/src/client/apps/client/browser/initialize-browser.tsx @@ -3,14 +3,23 @@ import "../ext/webpack-loaders"; import { createRoot, hydrateRoot } from "react-dom/client"; import { BrowserApp } from "./browser-app"; import { Component, startTransition, StrictMode } from "react"; +import * as Sentry from "@sentry/react"; declare global { interface Window { SSRDidError?: boolean; + SentryConfig?: Sentry.BrowserOptions; } } function main() { + if (window.SentryConfig) { + Sentry.init({ + ...window.SentryConfig, + integrations: [Sentry.browserTracingIntegration()], + }); + } + let tree = ( @@ -51,14 +60,13 @@ function onCaughtError(error: unknown, errorInfo: ErrorInfo) { isNotFoundError(error) || isUnauthorizedError(error); + let errorBoundaryName = errorInfo.errorBoundary?.constructor.name; + if (!isSafeError && process.env.NODE_ENV !== "production") { // Let's redisplay the normal react error message here. // // This is taken from: https://github.com/facebook/react/blob/65eec428c40d542d4d5a9c1af5c3f406aecf3440/packages/react-reconciler/src/ReactFiberErrorLogger.js#L60 - // let stack = errorInfo.componentStack ?? ""; - let errorBoundaryName = errorInfo.errorBoundary?.constructor.name; - console.error( "%o\n\n%s", error, @@ -67,6 +75,12 @@ function onCaughtError(error: unknown, errorInfo: ErrorInfo) { : "The error was caught by React", ); } + + // Only report here if there was no error boundary handling it, + // as error boundaries should call captureReactException. + if (!isSafeError && errorBoundaryName === undefined) { + Sentry.captureReactException(error, errorInfo as any); + } } function isNotFoundError(err: unknown) { diff --git a/packages/framework/src/client/apps/client/browser/router-hooks.ts b/packages/framework/src/client/apps/client/browser/router-hooks.ts index 7d992195..4aa2ad56 100644 --- a/packages/framework/src/client/apps/client/browser/router-hooks.ts +++ b/packages/framework/src/client/apps/client/browser/router-hooks.ts @@ -300,6 +300,19 @@ function fetchRSCPayload(path: string, options: FetchOptions = {}) { if (contentType === "text/x-component") { let payload = await createFromReadableStream(response.body, rscOptions); stack = payload.stack; + + // we pass the digest in a header so we can re-attach the digest + // property when React is hiding all error information + let digestHeader = response.headers.get("x-twofold-error-digest"); + if ( + stack.length >= 1 && + stack[0] !== undefined && + stack[0].type === "error" && + stack[0].error instanceof Error && + digestHeader + ) { + (stack[0].error as any).digest = digestHeader; + } } else if (contentType === "text/x-serialized-error") { // i don't think this is used anymore. router now serializes errors // as rsc stream diff --git a/packages/framework/src/client/apps/client/components/error-boundary.tsx b/packages/framework/src/client/apps/client/components/error-boundary.tsx index 5d522b33..f670a4e4 100644 --- a/packages/framework/src/client/apps/client/components/error-boundary.tsx +++ b/packages/framework/src/client/apps/client/components/error-boundary.tsx @@ -1,11 +1,13 @@ import { Component, ReactNode } from "react"; import { DevErrorPage, ProdErrorPage } from "./error-pages"; +import * as Sentry from "@sentry/react"; export class ErrorBoundary extends Component< { children?: ReactNode }, { hasError: boolean; error: unknown; + capturedExceptionId?: string; } > { constructor(props: object) { @@ -23,6 +25,12 @@ export class ErrorBoundary extends Component< }; } + componentDidCatch(error: unknown, errorInfo: any) { + this.setState({ + capturedExceptionId: Sentry.captureReactException(error, errorInfo), + }); + } + onPopState = (_event: PopStateEvent) => { if (this.state.hasError) { window.location.reload(); @@ -46,10 +54,25 @@ export class ErrorBoundary extends Component< render() { if (this.state.hasError) { + let error = this.state.error; + if ( + typeof error === "object" && + error !== undefined && + error !== null && + (!("digest" in error) || typeof error.digest !== "string") + ) { + let sentryTraceId = Sentry.getActiveSpan()?.spanContext().traceId; + if (sentryTraceId) { + (error as any).digest = this.state.capturedExceptionId; + } else if (this.state.capturedExceptionId) { + (error as any).digest = "ex-" + this.state.capturedExceptionId; + } + } + return process.env.NODE_ENV === "production" ? ( - + ) : ( - + ); } diff --git a/packages/framework/src/client/apps/client/components/error-pages.tsx b/packages/framework/src/client/apps/client/components/error-pages.tsx index f20c6fb3..904023a2 100644 --- a/packages/framework/src/client/apps/client/components/error-pages.tsx +++ b/packages/framework/src/client/apps/client/components/error-pages.tsx @@ -1,5 +1,6 @@ import { Stylesheet } from "./stylesheet"; import { ErrorViewer } from "../../errors/error-viewer"; +import * as Sentry from "@sentry/react"; export function DevErrorPage({ error }: { error: unknown }) { return ( @@ -21,7 +22,7 @@ export function ProdErrorPage({ error }: { error: unknown }) { "digest" in error && typeof error.digest === "string" ? error.digest - : ""; + : (Sentry.getActiveSpan()?.spanContext().traceId ?? ""); let html = `${process.env.TWOFOLD_PROD_ERROR_HTML}` .replace("$digest-class", digest ? "" : "hidden") diff --git a/packages/framework/src/client/apps/client/ssr/ssr-app.tsx b/packages/framework/src/client/apps/client/ssr/ssr-app.tsx index 3a4c4b0a..57b9fd67 100644 --- a/packages/framework/src/client/apps/client/ssr/ssr-app.tsx +++ b/packages/framework/src/client/apps/client/ssr/ssr-app.tsx @@ -7,15 +7,20 @@ import { RoutingContext } from "../contexts/routing-context"; import { InlineRSCStream } from "../components/inline-rsc-stream"; import { RouteStackEntry, RouteStack } from "../contexts/route-stack-context"; import { ReactDOMServerReadableStream } from "react-dom/server"; +import type { BrowserOptions } from "@sentry/react"; export function SSRApp({ url, getRouteStack, rscStreamReader, + sentryTrace, + sentryBaggage, }: { url: URL; getRouteStack: () => Promise; rscStreamReader: ReadableStreamDefaultReader; + sentryTrace: string | undefined; + sentryBaggage: string | undefined; }) { let navigate = () => { throw new Error("Cannot call navigate during SSR"); @@ -34,6 +39,9 @@ export function SSRApp({ return ( <> + {sentryTrace ? : null} + {sentryBaggage ? : null} + boolean; + sentryTrace: string | undefined; + sentryBaggage: string | undefined; }; +function getBootstrapScript( + sentryBrowserOptions: BrowserOptions | undefined, + extraScript?: string, +) { + let scripts = []; + if (sentryBrowserOptions) { + scripts.push( + `window.SentryConfig = ${JSON.stringify(sentryBrowserOptions)}`, + ); + } + if (extraScript) { + scripts.push(extraScript); + } + return scripts.join(";"); +} + export async function render({ rscStream, urlString, bootstrapUrl, signal, + sentryBrowserOptions, + captureException, + sentryTrace, + sentryBaggage, }: RenderOptions): Promise> { let [rscStream1, rscStream2] = rscStream.tee(); let [formStateStream, routeStackStream] = rscStream1.tee(); // formState and route stack @@ -118,9 +150,12 @@ export async function render({ url, rscStreamReader: inlineRscStreamReader, getRouteStack, + sentryTrace, + sentryBaggage, }), { bootstrapModules: [bootstrapUrl], + bootstrapScriptContent: getBootstrapScript(sentryBrowserOptions), formState, onError(err: unknown) { if (signal.aborted) { @@ -129,7 +164,9 @@ export async function render({ // certain errors we know are safe for client handling } else if (err instanceof Error) { // do something useful here - console.error(err); + if (!captureException(err)) { + console.error(err); + } } else if (err === null) { // think we can ignore this case, happens when stream // is cancelled on the react-server side @@ -150,6 +187,7 @@ export async function render({ // new ssr stream that renders the client app with the rsc stream inline. // the rsc stream most likely has a serialized error and the client app // will handle that. + captureException(e); try { htmlStream = await renderToReadableStream( createElement(InlineRSCStream, { @@ -157,9 +195,12 @@ export async function render({ }), { bootstrapModules: [bootstrapUrl], - bootstrapScriptContent: - "if (typeof window !== 'undefined') { window.SSRDidError = true; }", - onError() { + bootstrapScriptContent: getBootstrapScript( + sentryBrowserOptions, + "window.SSRDidError = true;", + ), + onError(err: unknown) { + captureException(err); if (signal.aborted) { // dont care about errors if we're aborted } else { @@ -175,6 +216,7 @@ export async function render({ // at this point we just cant render. we've had two streams crash. // we'll throw and let the worker communicate an error back to // the main process. + captureException(e); throw new Error("Unable to render", { cause: e }); } } diff --git a/packages/framework/src/client/apps/errors/error-viewer.tsx b/packages/framework/src/client/apps/errors/error-viewer.tsx index 5feb5118..2217016b 100644 --- a/packages/framework/src/client/apps/errors/error-viewer.tsx +++ b/packages/framework/src/client/apps/errors/error-viewer.tsx @@ -1,6 +1,7 @@ import { ReactNode, use, useEffect } from "react"; import StackTrace from "stacktrace-js"; import { Suspense } from "react"; +import * as Sentry from "@sentry/react"; export function ErrorRendererLoaded(props: { error: Error; @@ -42,6 +43,13 @@ export function ErrorRenderer({ error }: { error: Error }) { } export function ErrorViewer({ error }: { error: unknown }) { + let digest = + error instanceof Error && + "digest" in error && + typeof error.digest === "string" + ? error.digest + : Sentry.getActiveSpan()?.spanContext().traceId; + return (
    @@ -56,6 +64,7 @@ export function ErrorViewer({ error }: { error: unknown }) {

    Unknown error

    )}
    + {digest ?

    Trace ID: {digest}

    : null}
    diff --git a/packages/framework/src/types/importable.ts b/packages/framework/src/types/importable.ts index a4d0edc7..2f3abba4 100644 --- a/packages/framework/src/types/importable.ts +++ b/packages/framework/src/types/importable.ts @@ -1,6 +1,8 @@ // these types are importable by the application import type { ReactNode } from "react"; +import type { NodeOptions } from "@sentry/node"; +import type { BrowserOptions } from "@sentry/react"; export type PageProps = { params: Record; @@ -34,4 +36,7 @@ export type Config = { bundlePackages?: string[]; reactCompiler?: boolean; trustProxy?: boolean; + sentryOptions?: NodeOptions; + sentryBrowserOptions?: BrowserOptions; + sentryUploadSourcemaps?: boolean; }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e03b64a..8dde3fcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,8 +16,8 @@ catalogs: specifier: ^19.2.3 version: 19.2.3 esbuild: - specifier: 0.27.2 - version: 0.27.2 + specifier: 0.28.0 + version: 0.28.0 react: specifier: 19.2.5 version: 19.2.5 @@ -183,7 +183,7 @@ importers: version: 1.7.2 esbuild: specifier: 'catalog:' - version: 0.27.2 + version: 0.28.0 devDependencies: '@types/babel__core': specifier: ^7.20.5 @@ -199,7 +199,7 @@ importers: version: 3.8.3 react-server-dom-webpack: specifier: 'catalog:' - version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.28.0)) typescript: specifier: 'catalog:' version: 5.9.3 @@ -236,7 +236,7 @@ importers: version: 6.1.13 esbuild: specifier: 'catalog:' - version: 0.27.2 + version: 0.28.0 prettier: specifier: ^3.6.2 version: 3.8.3 @@ -296,7 +296,13 @@ importers: version: link:../server-function-transforms '@ryanto/esbuild-plugin-tailwind': specifier: ^0.0.3 - version: 0.0.3(esbuild@0.27.2)(tailwindcss@4.2.2) + version: 0.0.3(esbuild@0.28.0)(tailwindcss@4.2.2) + '@sentry/node': + specifier: ^10.49.0 + version: 10.49.0 + '@sentry/react': + specifier: ^10.49.0 + version: 10.49.0(react@19.2.5) '@tailwindcss/node': specifier: 4.1.14 version: 4.1.14 @@ -320,7 +326,7 @@ importers: version: 17.4.2 esbuild: specifier: 'catalog:' - version: 0.27.2 + version: 0.28.0 etag: specifier: ^1.8.1 version: 1.8.1 @@ -356,7 +362,7 @@ importers: version: 0.18.0 react-server-dom-webpack: specifier: 'catalog:' - version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.28.0)) rolldown: specifier: 1.0.0-beta.53 version: 1.0.0-beta.53(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) @@ -385,6 +391,9 @@ importers: '@eslint/js': specifier: ^9.37.0 version: 9.39.4 + '@sentry/cli': + specifier: ^3.4.0 + version: 3.4.0 '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -447,7 +456,7 @@ importers: version: 7.29.0 esbuild: specifier: 'catalog:' - version: 0.27.2 + version: 0.28.0 devDependencies: '@types/babel__core': specifier: ^7.20.5 @@ -466,7 +475,7 @@ importers: version: 3.8.3 react-server-dom-webpack: specifier: 'catalog:' - version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)) + version: 19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.28.0)) typescript: specifier: 'catalog:' version: 5.9.3 @@ -717,23 +726,17 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.7': resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} engines: {node: '>=18'} - cpu: [arm64] - os: [android] + cpu: [ppc64] + os: [aix] '@esbuild/android-arm64@0.27.7': resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} @@ -741,10 +744,10 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} engines: {node: '>=18'} - cpu: [arm] + cpu: [arm64] os: [android] '@esbuild/android-arm@0.27.7': @@ -753,10 +756,10 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm] os: [android] '@esbuild/android-x64@0.27.7': @@ -765,11 +768,11 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + cpu: [x64] + os: [android] '@esbuild/darwin-arm64@0.27.7': resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} @@ -777,10 +780,10 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.27.7': @@ -789,11 +792,11 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + cpu: [x64] + os: [darwin] '@esbuild/freebsd-arm64@0.27.7': resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} @@ -801,10 +804,10 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.27.7': @@ -813,11 +816,11 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + cpu: [x64] + os: [freebsd] '@esbuild/linux-arm64@0.27.7': resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} @@ -825,10 +828,10 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} engines: {node: '>=18'} - cpu: [arm] + cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.27.7': @@ -837,10 +840,10 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} engines: {node: '>=18'} - cpu: [ia32] + cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.27.7': @@ -849,10 +852,10 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} engines: {node: '>=18'} - cpu: [loong64] + cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.27.7': @@ -861,10 +864,10 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} engines: {node: '>=18'} - cpu: [mips64el] + cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.27.7': @@ -873,10 +876,10 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} engines: {node: '>=18'} - cpu: [ppc64] + cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.27.7': @@ -885,10 +888,10 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} engines: {node: '>=18'} - cpu: [riscv64] + cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.27.7': @@ -897,10 +900,10 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} engines: {node: '>=18'} - cpu: [s390x] + cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.27.7': @@ -909,10 +912,10 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} engines: {node: '>=18'} - cpu: [x64] + cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.27.7': @@ -921,11 +924,11 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] + cpu: [x64] + os: [linux] '@esbuild/netbsd-arm64@0.27.7': resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} @@ -933,10 +936,10 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.27.7': @@ -945,11 +948,11 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] + cpu: [x64] + os: [netbsd] '@esbuild/openbsd-arm64@0.27.7': resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} @@ -957,10 +960,10 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} engines: {node: '>=18'} - cpu: [x64] + cpu: [arm64] os: [openbsd] '@esbuild/openbsd-x64@0.27.7': @@ -969,11 +972,11 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] + cpu: [x64] + os: [openbsd] '@esbuild/openharmony-arm64@0.27.7': resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} @@ -981,11 +984,11 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} engines: {node: '>=18'} - cpu: [x64] - os: [sunos] + cpu: [arm64] + os: [openharmony] '@esbuild/sunos-x64@0.27.7': resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} @@ -993,11 +996,11 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} engines: {node: '>=18'} - cpu: [arm64] - os: [win32] + cpu: [x64] + os: [sunos] '@esbuild/win32-arm64@0.27.7': resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} @@ -1005,10 +1008,10 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} engines: {node: '>=18'} - cpu: [ia32] + cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.27.7': @@ -1017,10 +1020,10 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} engines: {node: '>=18'} - cpu: [x64] + cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.27.7': @@ -1029,6 +1032,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1067,6 +1076,11 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fastify/otel@0.18.0': + resolution: {integrity: sha512-3TASCATfw+ctICSb4ymrv7iCm0qJ0N9CarB+CZ7zIJ7KqNbwI5JjyDL1/sxoC0ccTO1Zyd1iQ+oqncPg5FJXaA==} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@floating-ui/core@1.7.5': resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} @@ -1368,9 +1382,212 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@opentelemetry/api-logs@0.207.0': + resolution: {integrity: sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/api-logs@0.212.0': + resolution: {integrity: sha512-TEEVrLbNROUkYY51sBJGk7lO/OLjuepch8+hmpM6ffMJQ2z/KVCjdHuCFX6fJj8OkJP2zckPjrJzQtXU3IAsFg==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/api-logs@0.214.0': + resolution: {integrity: sha512-40lSJeqYO8Uz2Yj7u94/SJWE/wONa7rmMKjI1ZcIjgf3MHNHv1OZUCrCETGuaRF62d5pQD1wKIW+L4lmSMTzZA==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/api@1.9.1': + resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/core@2.6.1': + resolution: {integrity: sha512-8xHSGWpJP9wBxgBpnqGL0R3PbdWQndL1Qp50qrg71+B28zK5OQmUgcDKLJgzyAAV38t4tOyLMGDD60LneR5W8g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/core@2.7.0': + resolution: {integrity: sha512-DT12SXVwV2eoJrGf4nnsvZojxxeQo+LlNAsoYGRRObPWTeN6APiqZ2+nqDCQDvQX40eLi1AePONS0onoASp3yQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/instrumentation-amqplib@0.61.0': + resolution: {integrity: sha512-mCKoyTGfRNisge4br0NpOFSy2Z1NnEW8hbCJdUDdJFHrPqVzc4IIBPA/vX0U+LUcQqrQvJX+HMIU0dbDRe0i0Q==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-connect@0.57.0': + resolution: {integrity: sha512-FMEBChnI4FLN5TE9DHwfH7QpNir1JzXno1uz/TAucVdLCyrG0jTrKIcNHt/i30A0M2AunNBCkcd8Ei26dIPKdg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-dataloader@0.31.0': + resolution: {integrity: sha512-f654tZFQXS5YeLDNb9KySrwtg7SnqZN119FauD7acBoTzuLduaiGTNz88ixcVSOOMGZ+EjJu/RFtx5klObC95g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-fs@0.33.0': + resolution: {integrity: sha512-sCZWXGalQ01wr3tAhSR9ucqFJ0phidpAle6/17HVjD6gN8FLmZMK/8sKxdXYHy3PbnlV1P4zeiSVFNKpbFMNLA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-generic-pool@0.57.0': + resolution: {integrity: sha512-orhmlaK+ZIW9hKU+nHTbXrCSXZcH83AescTqmpamHRobRmYSQwRbD0a1odc0yAzuzOtxYiHiXAnpnIpaSSY7Ow==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-graphql@0.62.0': + resolution: {integrity: sha512-3YNuLVPUxafXkH1jBAbGsKNsP3XVzcFDhCDCE3OqBwCwShlqQbLMRMFh1T/d5jaVZiGVmSsfof+ICKD2iOV8xg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-hapi@0.60.0': + resolution: {integrity: sha512-aNljZKYrEa7obLAxd1bCEDxF7kzCLGXTuTJZ8lMR9rIVEjmuKBXN1gfqpm/OB//Zc2zP4iIve1jBp7sr3mQV6w==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-http@0.214.0': + resolution: {integrity: sha512-FlkDhZDRjDJDcO2LcSCtjRpkal1NJ8y0fBqBhTvfAR3JSYY2jAIj1kSS5IjmEBt4c3aWv+u/lqLuoCDrrKCSKg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-ioredis@0.62.0': + resolution: {integrity: sha512-ZYt//zcPve8qklaZX+5Z4MkU7UpEkFRrxsf2cnaKYBitqDnsCN69CPAuuMOX6NYdW2rG9sFy7V/QWtBlP5XiNQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-kafkajs@0.23.0': + resolution: {integrity: sha512-4K+nVo+zI+aDz0Z85SObwbdixIbzS9moIuKJaYsdlzcHYnKOPtB7ya8r8Ezivy/GVIBHiKJVq4tv+BEkgOMLaQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-knex@0.58.0': + resolution: {integrity: sha512-Hc/o8fSsaWxZ8r1Yw4rNDLwTpUopTf4X32y4W6UhlHmW8Wizz8wfhgOKIelSeqFVTKBBPIDUOsQWuIMxBmu8Bw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-koa@0.62.0': + resolution: {integrity: sha512-uVip0VuGUQXZ+vFxkKxAUNq8qNl+VFlyHDh/U6IQ8COOEDfbEchdaHnpFrMYF3psZRUuoSIgb7xOeXj00RdwDA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + + '@opentelemetry/instrumentation-lru-memoizer@0.58.0': + resolution: {integrity: sha512-6grM3TdMyHzlGY1cUA+mwoPueB1F3dYKgKtZIH6jOFXqfHAByyLTc+6PFjGM9tKh52CFBJaDwodNlL/Td39z7Q==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mongodb@0.67.0': + resolution: {integrity: sha512-1WJp5N1lYfHq2IhECOTewFs5Tf2NfUOwQRqs/rZdXKTezArMlucxgzAaqcgp3A3YREXopXTpXHsxZTGHjNhMdQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mongoose@0.60.0': + resolution: {integrity: sha512-8BahAZpKsOoc+lrZGb7Ofn4g3z8qtp5IxDfvAVpKXsEheQN7ONMH5djT5ihy6yf8yyeQJGS0gXFfpEAEeEHqQg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mysql2@0.60.0': + resolution: {integrity: sha512-m/5d3bxQALllCzezYDk/6vajh0tj5OijMMvOZGr+qN1NMXm1dzMNwyJ0gNZW7Fo3YFRyj/jJMxIw+W7d525dlw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mysql@0.60.0': + resolution: {integrity: sha512-08pO8GFPEIz2zquKDGteBZDNmwketdgH8hTe9rVYgW9kCJXq1Psj3wPQGx+VaX4ZJKCfPeoLMYup9+cxHvZyVQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-pg@0.66.0': + resolution: {integrity: sha512-KxfLGXBb7k2ueaPJfq2GXBDXBly8P+SpR/4Mj410hhNgmQF3sCqwXvUBQxZQkDAmsdBAoenM+yV1LhtsMRamcA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-redis@0.62.0': + resolution: {integrity: sha512-y3pPpot7WzR/8JtHcYlTYsyY8g+pbFhAqbwAuG5bLPnR6v6pt1rQc0DpH0OlGP/9CZbWBP+Zhwp9yFoygf/ZXQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-tedious@0.33.0': + resolution: {integrity: sha512-Q6WQwAD01MMTub31GlejoiFACYNw26J426wyjvU7by7fDIr2nZXNW4vhTGs7i7F0TnXBO3xN688g1tdUgYwJ5w==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-undici@0.24.0': + resolution: {integrity: sha512-oKzZ3uvqP17sV0EsoQcJgjEfIp0kiZRbYu/eD8p13Cbahumf8lb/xpYeNr/hfAJ4owzEtIDcGIjprfLcYbIKBQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.7.0 + + '@opentelemetry/instrumentation@0.207.0': + resolution: {integrity: sha512-y6eeli9+TLKnznrR8AZlQMSJT7wILpXH+6EYq5Vf/4Ao+huI7EedxQHwRgVUOMLFbe7VFDvHJrX9/f4lcwnJsA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation@0.212.0': + resolution: {integrity: sha512-IyXmpNnifNouMOe0I/gX7ENfv2ZCNdYTF0FpCsoBcpbIHzk81Ww9rQTYTnvghszCg7qGrIhNvWC8dhEifgX9Jg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation@0.214.0': + resolution: {integrity: sha512-MHqEX5Dk59cqVah5LiARMACku7jXSVk9iVDWOea4x3cr7VfdByeDCURK6o1lntT1JS/Tsovw01UJrBhN3/uC5w==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/redis-common@0.38.3': + resolution: {integrity: sha512-VCghU1JYs/4gP6Gqf/xro9MEsZ7LrMv2uONVsaESKL38ZOB9BqnI98FfS23wjMnHlpuE+TTaWSoAVNpTwYXzjw==} + engines: {node: ^18.19.0 || >=20.6.0} + + '@opentelemetry/resources@2.7.0': + resolution: {integrity: sha512-K+oi0hNMv94EpZbnW3eyu2X6SGVpD3O5DhG2NIp65Hc7lhAj9brRXTAVzh3wB82+q3ThakEf7Zd7RsFUqcTc7A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-trace-base@2.7.0': + resolution: {integrity: sha512-Yg9zEXJB50DLVLpsKPk7NmNqlPlS+OvqhJGh0A8oawIOTPOwlm4eXs9BMJV7L79lvEwI+dWtAj+YjTyddV336A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/semantic-conventions@1.40.0': + resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} + 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.101.0': resolution: {integrity: sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ==} + '@prisma/instrumentation@7.6.0': + resolution: {integrity: sha512-ZPW2gRiwpPzEfgeZgaekhqXrbW+Y2RJKHVqUmlhZhKzRNCcvR6DykzylDrynpArKKRQtLxoZy36fK7U0p3pdgQ==} + peerDependencies: + '@opentelemetry/api': ^1.8 + '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -1926,6 +2143,125 @@ packages: esbuild: '*' tailwindcss: '>= 4.0.0' + '@sentry-internal/browser-utils@10.49.0': + resolution: {integrity: sha512-n0QRx0Ysx6mPfIydTkz7VP0FmwM+/EqMZiRqdsU3aTYsngE9GmEDV0OL1bAy6a8N/C1xf9vntkuAtj6N/8Z51w==} + engines: {node: '>=18'} + + '@sentry-internal/feedback@10.49.0': + resolution: {integrity: sha512-JNsUBGv0faCFE7MeZUH99Y9lU9qq3LBALbLxpE1x7ngNrQnVYRlcFgdqaD/btNBKr8awjYL8gmcSkHBWskGqLQ==} + engines: {node: '>=18'} + + '@sentry-internal/replay-canvas@10.49.0': + resolution: {integrity: sha512-7D/NrgH1Qwx5trDYaaTSSJmCb1yVQQLqFG4G/S9x2ltzl9876lSGJL8UeW8ReNQgF3CDAcwbmm/9aXaVSBUNZA==} + engines: {node: '>=18'} + + '@sentry-internal/replay@10.49.0': + resolution: {integrity: sha512-IEy4lwHVMiRE3JAcn+kFKjsTgalDOCSTf20SoFd+nkt6rN/k1RDyr4xpdfF//Kj3UdeTmbuibYjK5H/FLhhnGg==} + engines: {node: '>=18'} + + '@sentry/browser@10.49.0': + resolution: {integrity: sha512-bGCHc+wK2Dx67YoSbmtlt04alqWfQ+dasD/GVipVOq50gvw/BBIDHTEWRJEjACl+LrvszeY54V+24p8z4IgysA==} + engines: {node: '>=18'} + + '@sentry/cli-darwin@3.4.0': + resolution: {integrity: sha512-U86DkrN4jS5nE7n9vW20wY//Hjpc75QhwJhN0W3dFcSFfZ/GoHpgDxnGBqrwOgOZWdWh7a+iRYxz2wTsQH/sdg==} + engines: {node: '>=18'} + os: [darwin] + + '@sentry/cli-linux-arm64@3.4.0': + resolution: {integrity: sha512-17E6HqoVEr3i8JTsk6ZE/oM8qGB+QMW/3h59OLcLOPiPJgNQ0yUhozEsVz4OqO4D1ZDrfamEmJ4EGJk0DjwfMQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux, freebsd, android] + + '@sentry/cli-linux-arm@3.4.0': + resolution: {integrity: sha512-xfmCN0zRKaMso1xydgg+/Ja5OxEOJRjVERLU516CsQLip7psyQYZ81sjm4prDBwIxKmNLhLwntCH2q6CSxIjGg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux, freebsd, android] + + '@sentry/cli-linux-i686@3.4.0': + resolution: {integrity: sha512-vlRcoYLqUJqgXZujiKBeme7tW6N4BInrV0g3IpmtHwkjPj1Hu8/ocZ03GHMT401TxfNz0O+eoWAlNQ5lS6bMWQ==} + engines: {node: '>=18'} + cpu: [x86, ia32] + os: [linux, freebsd, android] + + '@sentry/cli-linux-x64@3.4.0': + resolution: {integrity: sha512-geBJ2WVTFnO0DCvkwCu8iJqpLl9ds6PVvciQK3cTV8cQCM4MOae7cdE21fLXPXO1QdSnzvSW4vf85f8noe48Ow==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux, freebsd, android] + + '@sentry/cli-win32-arm64@3.4.0': + resolution: {integrity: sha512-wZktHXuAXkhWky+QNsYuDxUeEDYwdQPm/INJqS9/8Yojojr2AQFK/UydZmdzJ7a3lGe0dqhGFb69V0fPVvMc9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@sentry/cli-win32-i686@3.4.0': + resolution: {integrity: sha512-R4yx5U51ndh40o5TToNczGyJ4eOsKaDgtoOBJMW/SmRST3mnomKiFqR0ITmifacPuL909R4US4v619pRDLDk4g==} + engines: {node: '>=18'} + cpu: [x86, ia32] + os: [win32] + + '@sentry/cli-win32-x64@3.4.0': + resolution: {integrity: sha512-9OU+XWvj7fo30ZjBfBXa6eD2RqJUeulPZVhWl+wc3gSP8B5H7VDZoZfBPd8jpKlzMoCn6gdF4HN2m4Rnqf84RA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@sentry/cli@3.4.0': + resolution: {integrity: sha512-be0utAcAnxQ3PMDVvaVygAScwoyZzz49Z2N30J9EKYWvEITPsc7venDE9D8w1I3Xz7K3eS7j/v4A0XPcrpGnQA==} + engines: {node: '>= 18'} + hasBin: true + + '@sentry/core@10.49.0': + resolution: {integrity: sha512-UaFeum3LUM1mB0d67jvKnqId1yWQjyqmaDV6kWngG03x+jqXb08tJdGpSoxjXZe13jFBbiBL/wKDDYIK7rCK4g==} + engines: {node: '>=18'} + + '@sentry/node-core@10.49.0': + resolution: {integrity: sha512-7WO0KuCDPSq3G54TVUSI1CKFJwB67LasG+n/gDMBqbrarzs/Yh/s34OOMU5gfVQpncxQAmQsy4nEboQms8iNqA==} + engines: {node: '>=18'} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/core': ^1.30.1 || ^2.1.0 + '@opentelemetry/exporter-trace-otlp-http': '>=0.57.0 <1' + '@opentelemetry/instrumentation': '>=0.57.1 <1' + '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 + '@opentelemetry/semantic-conventions': ^1.39.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@opentelemetry/core': + optional: true + '@opentelemetry/exporter-trace-otlp-http': + optional: true + '@opentelemetry/instrumentation': + optional: true + '@opentelemetry/sdk-trace-base': + optional: true + '@opentelemetry/semantic-conventions': + optional: true + + '@sentry/node@10.49.0': + resolution: {integrity: sha512-xr+HXABCiO5mgAJRQxsXRdNOLO0+Ee6CvXAAIqovL2A1GlhxNWc5ooPWeIrrLDJ/KGyT8zI91O5scpVXdXs0uQ==} + engines: {node: '>=18'} + + '@sentry/opentelemetry@10.49.0': + resolution: {integrity: sha512-XNLm4dXmtegXQf+EEE2Cs84Ymlo/f5wMx+lg2S2XS4qLbXaPN/HttjhwKftd8D+8iUNfmH+xNMCSshx4s1B/1w==} + engines: {node: '>=18'} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/core': ^1.30.1 || ^2.1.0 + '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 + '@opentelemetry/semantic-conventions': ^1.39.0 + + '@sentry/react@10.49.0': + resolution: {integrity: sha512-WdfJve0orTiumr25Ozgs2p2KaJR9xV82Z5V9IYBi0TadsurSWK6xI6SAFjw84tQht9Fp8q4UCn3QYCnApF4BfA==} + engines: {node: '>=18'} + peerDependencies: + react: ^16.14.0 || 17.x || 18.x || 19.x + '@shikijs/core@3.23.0': resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} @@ -2078,6 +2414,9 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -2117,6 +2456,9 @@ packages: '@types/mime-types@3.0.1': resolution: {integrity: sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==} + '@types/mysql@2.15.27': + resolution: {integrity: sha512-YfWiV16IY0OeBfBCk8+hXKmdTKrKlwKN1MNKAPBu5JYxLwBEZl7QzeEpGnlZb3VMGJrrGmB84gXiH+ofs/TezA==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -2126,6 +2468,12 @@ packages: '@types/node@25.6.0': resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/pg-pool@2.0.7': + resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} + + '@types/pg@8.15.6': + resolution: {integrity: sha512-NoaMtzhxOrubeL/7UZuNTrejB4MPAJ0RpxZqXQf2qXuVlTPuG6Y8p4u9dKRaue4yjmC7ZhzVO2/Yyyn25znrPQ==} + '@types/picomatch@4.0.3': resolution: {integrity: sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==} @@ -2146,6 +2494,9 @@ packages: '@types/tar@6.1.13': resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==} + '@types/tedious@4.0.14': + resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -2299,6 +2650,11 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + acorn-import-phases@1.0.4: resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} engines: {node: '>=10.13.0'} @@ -2535,6 +2891,9 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + cjs-module-lexer@2.2.0: + resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -2759,13 +3118,13 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true - esbuild@0.27.7: - resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} engines: {node: '>=18'} hasBin: true @@ -2943,6 +3302,9 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} + forwarded-parse@2.1.2: + resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} + framer-motion@12.38.0: resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} peerDependencies: @@ -3117,6 +3479,13 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-in-the-middle@2.0.6: + resolution: {integrity: sha512-3vZV3jX0XRFW3EJDTwzWoZa+RH1b8eTTx6YOCjglrLyPuepwoBti1k3L2dKwdCUrnVEfc5CuRuGstaC/uQJJaw==} + + import-in-the-middle@3.0.1: + resolution: {integrity: sha512-pYkiyXVL2Mf3pozdlDGV6NAObxQx13Ae8knZk1UJRJ6uRW/ZRmTGHlQYtrsSl7ubuE5F8CD1z+s1n4RHNuTtuA==} + engines: {node: '>=18'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3570,6 +3939,9 @@ packages: engines: {node: '>=16'} hasBin: true + module-details-from-path@1.0.4: + resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} + motion-dom@12.38.0: resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} @@ -3769,6 +4141,17 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-protocol@1.13.0: + resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} + + 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==} @@ -3804,6 +4187,22 @@ packages: resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.1: + resolution: {integrity: sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==} + 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'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -3934,6 +4333,10 @@ packages: engines: {node: '>=14'} hasBin: true + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -3944,6 +4347,9 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} @@ -4055,6 +4461,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + 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'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -4435,6 +4845,10 @@ packages: undici-types@7.19.2: resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici@6.25.0: + resolution: {integrity: sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==} + engines: {node: '>=18.17'} + undici@7.25.0: resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} engines: {node: '>=20.18.1'} @@ -4634,6 +5048,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -4928,162 +5346,162 @@ snapshots: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.27.2': - optional: true - '@esbuild/aix-ppc64@0.27.7': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/aix-ppc64@0.28.0': optional: true '@esbuild/android-arm64@0.27.7': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm64@0.28.0': optional: true '@esbuild/android-arm@0.27.7': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-arm@0.28.0': optional: true '@esbuild/android-x64@0.27.7': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/android-x64@0.28.0': optional: true '@esbuild/darwin-arm64@0.27.7': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-arm64@0.28.0': optional: true '@esbuild/darwin-x64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/darwin-x64@0.28.0': optional: true '@esbuild/freebsd-arm64@0.27.7': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-arm64@0.28.0': optional: true '@esbuild/freebsd-x64@0.27.7': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/freebsd-x64@0.28.0': optional: true '@esbuild/linux-arm64@0.27.7': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm64@0.28.0': optional: true '@esbuild/linux-arm@0.27.7': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-arm@0.28.0': optional: true '@esbuild/linux-ia32@0.27.7': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-ia32@0.28.0': optional: true '@esbuild/linux-loong64@0.27.7': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-loong64@0.28.0': optional: true '@esbuild/linux-mips64el@0.27.7': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-mips64el@0.28.0': optional: true '@esbuild/linux-ppc64@0.27.7': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-ppc64@0.28.0': optional: true '@esbuild/linux-riscv64@0.27.7': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-riscv64@0.28.0': optional: true '@esbuild/linux-s390x@0.27.7': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-s390x@0.28.0': optional: true '@esbuild/linux-x64@0.27.7': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/linux-x64@0.28.0': optional: true '@esbuild/netbsd-arm64@0.27.7': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-arm64@0.28.0': optional: true '@esbuild/netbsd-x64@0.27.7': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/netbsd-x64@0.28.0': optional: true '@esbuild/openbsd-arm64@0.27.7': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-arm64@0.28.0': optional: true '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openbsd-x64@0.28.0': optional: true '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/openharmony-arm64@0.28.0': optional: true '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/sunos-x64@0.28.0': optional: true '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-arm64@0.28.0': optional: true '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-ia32@0.28.0': optional: true '@esbuild/win32-x64@0.27.7': optional: true + '@esbuild/win32-x64@0.28.0': + optional: true + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))': dependencies: eslint: 9.39.4(jiti@2.6.1) @@ -5130,6 +5548,16 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 + '@fastify/otel@0.18.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.212.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + minimatch: 10.2.5 + transitivePeerDependencies: + - supports-color + '@floating-ui/core@1.7.5': dependencies: '@floating-ui/utils': 0.2.11 @@ -5419,8 +5847,270 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@opentelemetry/api-logs@0.207.0': + dependencies: + '@opentelemetry/api': 1.9.1 + + '@opentelemetry/api-logs@0.212.0': + dependencies: + '@opentelemetry/api': 1.9.1 + + '@opentelemetry/api-logs@0.214.0': + dependencies: + '@opentelemetry/api': 1.9.1 + + '@opentelemetry/api@1.9.1': {} + + '@opentelemetry/core@2.6.1(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/instrumentation-amqplib@0.61.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-connect@0.57.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@types/connect': 3.4.38 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-dataloader@0.31.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-fs@0.33.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-generic-pool@0.57.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-graphql@0.62.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-hapi@0.60.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-http@0.214.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + forwarded-parse: 2.1.2 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-ioredis@0.62.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/redis-common': 0.38.3 + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-kafkajs@0.23.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-knex@0.58.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-koa@0.62.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-lru-memoizer@0.58.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongodb@0.67.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongoose@0.60.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mysql2@0.60.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mysql@0.60.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@types/mysql': 2.15.27 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-pg@0.66.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.1) + '@types/pg': 8.15.6 + '@types/pg-pool': 2.0.7 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-redis@0.62.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/redis-common': 0.38.3 + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-tedious@0.33.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@types/tedious': 4.0.14 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-undici@0.24.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.207.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.207.0 + import-in-the-middle: 2.0.6 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.212.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.212.0 + import-in-the-middle: 2.0.6 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.214.0 + import-in-the-middle: 3.0.1 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/redis-common@0.38.3': {} + + '@opentelemetry/resources@2.7.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/semantic-conventions@1.40.0': {} + + '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@oxc-project/types@0.101.0': {} + '@prisma/instrumentation@7.6.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/instrumentation': 0.207.0(@opentelemetry/api@1.9.1) + transitivePeerDependencies: + - supports-color + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': @@ -5871,14 +6561,146 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@ryanto/esbuild-plugin-tailwind@0.0.3(esbuild@0.27.2)(tailwindcss@4.2.2)': + '@ryanto/esbuild-plugin-tailwind@0.0.3(esbuild@0.28.0)(tailwindcss@4.2.2)': dependencies: '@tailwindcss/node': 4.1.14 '@tailwindcss/oxide': 4.1.14 - esbuild: 0.27.2 + esbuild: 0.28.0 lightningcss: 1.32.0 tailwindcss: 4.2.2 + '@sentry-internal/browser-utils@10.49.0': + dependencies: + '@sentry/core': 10.49.0 + + '@sentry-internal/feedback@10.49.0': + dependencies: + '@sentry/core': 10.49.0 + + '@sentry-internal/replay-canvas@10.49.0': + dependencies: + '@sentry-internal/replay': 10.49.0 + '@sentry/core': 10.49.0 + + '@sentry-internal/replay@10.49.0': + dependencies: + '@sentry-internal/browser-utils': 10.49.0 + '@sentry/core': 10.49.0 + + '@sentry/browser@10.49.0': + dependencies: + '@sentry-internal/browser-utils': 10.49.0 + '@sentry-internal/feedback': 10.49.0 + '@sentry-internal/replay': 10.49.0 + '@sentry-internal/replay-canvas': 10.49.0 + '@sentry/core': 10.49.0 + + '@sentry/cli-darwin@3.4.0': + optional: true + + '@sentry/cli-linux-arm64@3.4.0': + optional: true + + '@sentry/cli-linux-arm@3.4.0': + optional: true + + '@sentry/cli-linux-i686@3.4.0': + optional: true + + '@sentry/cli-linux-x64@3.4.0': + optional: true + + '@sentry/cli-win32-arm64@3.4.0': + optional: true + + '@sentry/cli-win32-i686@3.4.0': + optional: true + + '@sentry/cli-win32-x64@3.4.0': + optional: true + + '@sentry/cli@3.4.0': + dependencies: + progress: 2.0.3 + proxy-from-env: 1.1.0 + undici: 6.25.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 3.4.0 + '@sentry/cli-linux-arm': 3.4.0 + '@sentry/cli-linux-arm64': 3.4.0 + '@sentry/cli-linux-i686': 3.4.0 + '@sentry/cli-linux-x64': 3.4.0 + '@sentry/cli-win32-arm64': 3.4.0 + '@sentry/cli-win32-i686': 3.4.0 + '@sentry/cli-win32-x64': 3.4.0 + + '@sentry/core@10.49.0': {} + + '@sentry/node-core@10.49.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.40.0)': + dependencies: + '@sentry/core': 10.49.0 + '@sentry/opentelemetry': 10.49.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.40.0) + import-in-the-middle: 3.0.1 + optionalDependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + + '@sentry/node@10.49.0': + dependencies: + '@fastify/otel': 0.18.0(@opentelemetry/api@1.9.1) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-amqplib': 0.61.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-connect': 0.57.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-dataloader': 0.31.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-fs': 0.33.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-generic-pool': 0.57.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-graphql': 0.62.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-hapi': 0.60.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-http': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-ioredis': 0.62.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-kafkajs': 0.23.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-knex': 0.58.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-koa': 0.62.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-lru-memoizer': 0.58.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-mongodb': 0.67.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-mongoose': 0.60.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-mysql': 0.60.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-mysql2': 0.60.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-pg': 0.66.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-redis': 0.62.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-tedious': 0.33.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation-undici': 0.24.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@prisma/instrumentation': 7.6.0(@opentelemetry/api@1.9.1) + '@sentry/core': 10.49.0 + '@sentry/node-core': 10.49.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.40.0) + '@sentry/opentelemetry': 10.49.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.40.0) + import-in-the-middle: 3.0.1 + transitivePeerDependencies: + - '@opentelemetry/exporter-trace-otlp-http' + - supports-color + + '@sentry/opentelemetry@10.49.0(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.7.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.40.0)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.7.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.40.0 + '@sentry/core': 10.49.0 + + '@sentry/react@10.49.0(react@19.2.5)': + dependencies: + '@sentry/browser': 10.49.0 + '@sentry/core': 10.49.0 + react: 19.2.5 + '@shikijs/core@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -6036,6 +6858,10 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 + '@types/connect@3.4.38': + dependencies: + '@types/node': 25.6.0 + '@types/deep-eql@4.0.2': {} '@types/eslint-scope@3.7.7': @@ -6080,6 +6906,10 @@ snapshots: '@types/mime-types@3.0.1': {} + '@types/mysql@2.15.27': + dependencies: + '@types/node': 25.6.0 + '@types/node@12.20.55': {} '@types/node@22.19.17': @@ -6090,6 +6920,16 @@ snapshots: dependencies: undici-types: 7.19.2 + '@types/pg-pool@2.0.7': + dependencies: + '@types/pg': 8.15.6 + + '@types/pg@8.15.6': + dependencies: + '@types/node': 25.6.0 + pg-protocol: 1.13.0 + pg-types: 2.2.0 + '@types/picomatch@4.0.3': {} '@types/prompts@2.4.9': @@ -6114,6 +6954,10 @@ snapshots: '@types/node': 22.19.17 minipass: 4.2.8 + '@types/tedious@4.0.14': + dependencies: + '@types/node': 25.6.0 + '@types/unist@3.0.3': {} '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': @@ -6343,6 +7187,10 @@ snapshots: '@xtuc/long@4.2.2': {} + acorn-import-attributes@1.9.5(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + acorn-import-phases@1.0.4(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -6614,6 +7462,8 @@ snapshots: chrome-trace-event@1.0.4: {} + cjs-module-lexer@2.2.0: {} + client-only@0.0.1: {} clsx@2.1.1: {} @@ -6888,35 +7738,6 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild@0.27.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 - esbuild@0.27.7: optionalDependencies: '@esbuild/aix-ppc64': 0.27.7 @@ -6946,6 +7767,35 @@ snapshots: '@esbuild/win32-ia32': 0.27.7 '@esbuild/win32-x64': 0.27.7 + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -7145,6 +7995,8 @@ snapshots: dependencies: is-callable: 1.2.7 + forwarded-parse@2.1.2: {} + framer-motion@12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: motion-dom: 12.38.0 @@ -7326,6 +8178,20 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-in-the-middle@2.0.6: + dependencies: + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) + cjs-module-lexer: 2.2.0 + module-details-from-path: 1.0.4 + + import-in-the-middle@3.0.1: + dependencies: + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) + cjs-module-lexer: 2.2.0 + module-details-from-path: 1.0.4 + imurmurhash@0.1.4: {} internal-slot@1.1.0: @@ -7735,6 +8601,8 @@ snapshots: commander: 11.1.0 node-forge: 1.4.0 + module-details-from-path@1.0.4: {} + motion-dom@12.38.0: dependencies: motion-utils: 12.36.0 @@ -7933,6 +8801,18 @@ snapshots: pathval@2.0.1: {} + pg-int8@1.0.1: {} + + pg-protocol@1.13.0: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.1 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -7961,6 +8841,16 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postgres-array@2.0.0: {} + + postgres-bytea@1.0.1: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + prelude-ls@1.2.1: {} prettier-plugin-tailwindcss@0.6.14(prettier@3.8.3): @@ -7975,6 +8865,8 @@ snapshots: prettier@3.8.3: {} + progress@2.0.3: {} + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -7988,6 +8880,8 @@ snapshots: property-information@7.1.0: {} + proxy-from-env@1.1.0: {} + pstree.remy@1.1.8: {} punycode@2.3.1: {} @@ -8038,13 +8932,13 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - react-server-dom-webpack@19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.27.2)): + react-server-dom-webpack@19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2(esbuild@0.28.0)): dependencies: acorn-loose: 8.5.2 neo-async: 2.6.2 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - webpack: 5.106.2(esbuild@0.27.2) + webpack: 5.106.2(esbuild@0.28.0) webpack-sources: 3.3.4 react-server-dom-webpack@19.2.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(webpack@5.106.2): @@ -8121,6 +9015,13 @@ snapshots: require-from-string@2.0.2: {} + require-in-the-middle@8.0.1: + dependencies: + debug: 4.4.3(supports-color@5.5.0) + module-details-from-path: 1.0.4 + transitivePeerDependencies: + - supports-color + resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -8492,15 +9393,15 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.4.0(esbuild@0.27.2)(webpack@5.106.2(esbuild@0.27.2)): + terser-webpack-plugin@5.4.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.1 - webpack: 5.106.2(esbuild@0.27.2) + webpack: 5.106.2(esbuild@0.28.0) optionalDependencies: - esbuild: 0.27.2 + esbuild: 0.28.0 terser-webpack-plugin@5.4.0(webpack@5.106.2): dependencies: @@ -8620,6 +9521,8 @@ snapshots: undici-types@7.19.2: {} + undici@6.25.0: {} + undici@7.25.0: {} unist-util-is@6.0.1: @@ -8713,7 +9616,7 @@ snapshots: vite@7.3.2(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.10 @@ -8807,7 +9710,7 @@ snapshots: - esbuild - uglify-js - webpack@5.106.2(esbuild@0.27.2): + webpack@5.106.2(esbuild@0.28.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -8830,7 +9733,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.2 - terser-webpack-plugin: 5.4.0(esbuild@0.27.2)(webpack@5.106.2(esbuild@0.27.2)) + terser-webpack-plugin: 5.4.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0)) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: @@ -8896,6 +9799,8 @@ snapshots: word-wrap@1.2.5: {} + xtend@4.0.2: {} + xxhash-wasm@1.1.0: {} yallist@3.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c4da2772..4fb4d23d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,7 @@ catalog: "@types/node": ^22.16.5 "@types/react": ^19.2.10 "@types/react-dom": ^19.2.3 - esbuild: 0.27.2 + esbuild: 0.28.0 react: 19.2.5 react-dom: 19.2.5 react-server-dom-webpack: 19.2.5 From d609bc2f2fb56cb37bd86f4ddc3828182a672b88 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 03:09:29 +1000 Subject: [PATCH 13/25] Add @sentry/cli to peer dependencies --- packages/framework/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/framework/package.json b/packages/framework/package.json index 8808c1e6..bf6a5629 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -73,7 +73,8 @@ "react-dom": "catalog:", "react-server-dom-webpack": "catalog:", "tailwindcss": ">=4.0.0", - "zod": ">=4.0.0" + "zod": ">=4.0.0", + "@sentry/cli": "^3.4.0" }, "peerDependenciesMeta": { "zod": { From 4f6b2262e2b3c91c8261d8f7996be4767905db8b Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 03:15:10 +1000 Subject: [PATCH 14/25] Fix SENTRY_RELEASE parameter for source map upload --- packages/framework/src/backend/build/build/build.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/framework/src/backend/build/build/build.ts b/packages/framework/src/backend/build/build/build.ts index 4cf65da4..1a27ba2d 100644 --- a/packages/framework/src/backend/build/build/build.ts +++ b/packages/framework/src/backend/build/build/build.ts @@ -206,7 +206,8 @@ export abstract class Build { console.log("Uploading source maps ..."); console.log(`Scanning: ${process.cwd()}`); const releaseOptions = - process.env.SENTRY_RELEASE !== undefined + process.env.SENTRY_RELEASE !== undefined && + process.env.SENTRY_RELEASE.trim().length !== 0 ? [`--release=${process.env.SENTRY_RELEASE}`] : []; await cli.sourceMaps.execute( From 395a35c17218084acc132f972fddb854f02c762a Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 13:34:20 +1000 Subject: [PATCH 15/25] Create dependabot.yml --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5f0889ce --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" From 25ee93adf422bf8383ee6df89a02fdb4241e3943 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 13:54:47 +1000 Subject: [PATCH 16/25] Prevent pnpm-lock.yaml file from being automatically merged --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..60c93d8b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# prevent Git from merging the lockfile in a way that makes it corrupt +pnpm-lock.yaml binary \ No newline at end of file From 46d160283433a3f0b9f806c72ef93acdfc889942 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:39:54 +1000 Subject: [PATCH 17/25] Bump globals from 16.5.0 to 17.5.0 (#2) Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to 17.5.0.
    Release notes

    Sourced from globals's releases.

    v17.5.0

    • Update globals (2026-04-12) (#342) 5d84602

    https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0

    v17.4.0

    • Update globals (2026-03-01) (#338) d43a051

    https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0

    v17.3.0

    • Update globals (2026-02-01) (#336) 295fba9

    https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0

    v17.2.0

    • jasmine: Add throwUnless and throwUnlessAsync globals (#335) 97f23a7

    https://github.com/sindresorhus/globals/compare/v17.1.0...v17.2.0

    v17.1.0

    • Add webpack and rspack globals (#333) 65cae73

    https://github.com/sindresorhus/globals/compare/v17.0.0...v17.1.0

    v17.0.0

    Breaking

    • Split audioWorklet environment from browser (#320) 7bc293e

    Improvements

    • Update globals (#329) ebe1063
    • Get all browser globals from both chrome and firefox (#321) 59ceff8
    • Add bunBuiltin environment (#324) 1bc6e3b
    • Add denoBuiltin environment (#324) 1bc6e3b
    • Add paintWorklet environment (#323) 4b78f56
    • Add sharedWorker environment (#322) 4a02a85

    ... (truncated)

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=globals&package-manager=npm_and_yarn&previous-version=16.5.0&new-version=17.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/eslint-plugin-twofold/package.json | 2 +- packages/framework/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/eslint-plugin-twofold/package.json b/packages/eslint-plugin-twofold/package.json index fc8b6c3c..aff79f19 100644 --- a/packages/eslint-plugin-twofold/package.json +++ b/packages/eslint-plugin-twofold/package.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.38.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.0", - "globals": "^16.4.0", + "globals": "^17.5.0", "typescript-eslint": "^8.46.0" } } diff --git a/packages/framework/package.json b/packages/framework/package.json index bf6a5629..2cab5c85 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -62,7 +62,7 @@ "eslint": "^9.38.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.0", - "globals": "^16.4.0", + "globals": "^17.5.0", "nodemon": "^3.1.10", "typescript": "catalog:", "typescript-eslint": "^8.45.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8dde3fcb..77bb63b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -256,8 +256,8 @@ importers: specifier: ^7.0.0 version: 7.1.1(eslint@9.39.4(jiti@2.6.1)) globals: - specifier: ^16.4.0 - version: 16.5.0 + specifier: ^17.5.0 + version: 17.5.0 typescript-eslint: specifier: ^8.46.0 version: 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) @@ -428,8 +428,8 @@ importers: specifier: ^7.0.0 version: 7.1.1(eslint@9.39.4(jiti@2.6.1)) globals: - specifier: ^16.4.0 - version: 16.5.0 + specifier: ^17.5.0 + version: 17.5.0 nodemon: specifier: ^3.1.10 version: 3.1.14 @@ -3384,8 +3384,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + globals@17.5.0: + resolution: {integrity: sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==} engines: {node: '>=18'} globalthis@1.0.4: @@ -8080,7 +8080,7 @@ snapshots: globals@14.0.0: {} - globals@16.5.0: {} + globals@17.5.0: {} globalthis@1.0.4: dependencies: From 3505a998bccf3b8f95857054d0f36b9beebd7d04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:49:13 +1000 Subject: [PATCH 18/25] Bump @tailwindcss/node from 4.1.14 to 4.2.4 (#3) Bumps [@tailwindcss/node](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-node) from 4.1.14 to 4.2.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-node) --- updated-dependencies: - dependency-name: "@tailwindcss/node" dependency-version: 4.2.4 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/framework/package.json | 2 +- pnpm-lock.yaml | 135 +++----------------------------- 2 files changed, 14 insertions(+), 123 deletions(-) diff --git a/packages/framework/package.json b/packages/framework/package.json index 2cab5c85..1facbec5 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -95,7 +95,7 @@ "@ryanto/esbuild-plugin-tailwind": "^0.0.3", "@sentry/node": "^10.49.0", "@sentry/react": "^10.49.0", - "@tailwindcss/node": "4.1.14", + "@tailwindcss/node": "4.2.4", "@tailwindcss/oxide": "4.1.14", "babel-plugin-react-compiler": "19.1.0-rc.3", "chokidar": "^4.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77bb63b8..d7c5208b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -304,8 +304,8 @@ importers: specifier: ^10.49.0 version: 10.49.0(react@19.2.5) '@tailwindcss/node': - specifier: 4.1.14 - version: 4.1.14 + specifier: 4.2.4 + version: 4.2.4 '@tailwindcss/oxide': specifier: 4.1.14 version: 4.1.14 @@ -2297,8 +2297,8 @@ packages: '@swc/helpers@0.5.21': resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} - '@tailwindcss/node@4.1.14': - resolution: {integrity: sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==} + '@tailwindcss/node@4.2.4': + resolution: {integrity: sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==} '@tailwindcss/oxide-android-arm64@4.1.14': resolution: {integrity: sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==} @@ -3694,130 +3694,66 @@ packages: cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.30.1: - resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - lightningcss-darwin-arm64@1.32.0: resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.1: - resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - lightningcss-darwin-x64@1.32.0: resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.1: - resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - lightningcss-freebsd-x64@1.32.0: resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.1: - resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - lightningcss-linux-arm-gnueabihf@1.32.0: resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.1: - resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-gnu@1.32.0: resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-arm64-musl@1.30.1: - resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-x64-gnu@1.30.1: - resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-linux-x64-musl@1.30.1: - resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-win32-arm64-msvc@1.30.1: - resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.30.1: - resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - lightningcss-win32-x64-msvc@1.32.0: resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.1: - resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} - engines: {node: '>= 12.0.0'} - lightningcss@1.32.0: resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} engines: {node: '>= 12.0.0'} @@ -4707,12 +4643,12 @@ packages: tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} - tailwindcss@4.1.14: - resolution: {integrity: sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==} - tailwindcss@4.2.2: resolution: {integrity: sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==} + tailwindcss@4.2.4: + resolution: {integrity: sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==} + tapable@2.3.2: resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} engines: {node: '>=6'} @@ -6563,7 +6499,7 @@ snapshots: '@ryanto/esbuild-plugin-tailwind@0.0.3(esbuild@0.28.0)(tailwindcss@4.2.2)': dependencies: - '@tailwindcss/node': 4.1.14 + '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.1.14 esbuild: 0.28.0 lightningcss: 1.32.0 @@ -6750,15 +6686,15 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/node@4.1.14': + '@tailwindcss/node@4.2.4': dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.20.1 jiti: 2.6.1 - lightningcss: 1.30.1 + lightningcss: 1.32.0 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.1.14 + tailwindcss: 4.2.4 '@tailwindcss/oxide-android-arm64@4.1.14': optional: true @@ -8395,81 +8331,36 @@ snapshots: lightningcss-android-arm64@1.32.0: optional: true - lightningcss-darwin-arm64@1.30.1: - optional: true - lightningcss-darwin-arm64@1.32.0: optional: true - lightningcss-darwin-x64@1.30.1: - optional: true - lightningcss-darwin-x64@1.32.0: optional: true - lightningcss-freebsd-x64@1.30.1: - optional: true - lightningcss-freebsd-x64@1.32.0: optional: true - lightningcss-linux-arm-gnueabihf@1.30.1: - optional: true - lightningcss-linux-arm-gnueabihf@1.32.0: optional: true - lightningcss-linux-arm64-gnu@1.30.1: - optional: true - lightningcss-linux-arm64-gnu@1.32.0: optional: true - lightningcss-linux-arm64-musl@1.30.1: - optional: true - lightningcss-linux-arm64-musl@1.32.0: optional: true - lightningcss-linux-x64-gnu@1.30.1: - optional: true - lightningcss-linux-x64-gnu@1.32.0: optional: true - lightningcss-linux-x64-musl@1.30.1: - optional: true - lightningcss-linux-x64-musl@1.32.0: optional: true - lightningcss-win32-arm64-msvc@1.30.1: - optional: true - lightningcss-win32-arm64-msvc@1.32.0: optional: true - lightningcss-win32-x64-msvc@1.30.1: - optional: true - lightningcss-win32-x64-msvc@1.32.0: optional: true - lightningcss@1.30.1: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-darwin-arm64: 1.30.1 - lightningcss-darwin-x64: 1.30.1 - lightningcss-freebsd-x64: 1.30.1 - lightningcss-linux-arm-gnueabihf: 1.30.1 - lightningcss-linux-arm64-gnu: 1.30.1 - lightningcss-linux-arm64-musl: 1.30.1 - lightningcss-linux-x64-gnu: 1.30.1 - lightningcss-linux-x64-musl: 1.30.1 - lightningcss-win32-arm64-msvc: 1.30.1 - lightningcss-win32-x64-msvc: 1.30.1 - lightningcss@1.32.0: dependencies: detect-libc: 2.1.2 @@ -9377,10 +9268,10 @@ snapshots: tabbable@6.4.0: {} - tailwindcss@4.1.14: {} - tailwindcss@4.2.2: {} + tailwindcss@4.2.4: {} + tapable@2.3.2: {} tar@7.5.13: From 3ccaed651fd967b3c9b8474683ded184eda9e99f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:50:16 +1000 Subject: [PATCH 19/25] Bump zod from 4.1.11 to 4.3.6 (#5) Bumps [zod](https://github.com/colinhacks/zod) from 4.1.11 to 4.3.6. - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](https://github.com/colinhacks/zod/compare/v4.1.11...v4.3.6) --- updated-dependencies: - dependency-name: zod dependency-version: 4.3.6 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/base-app/package.json | 2 +- examples/kitchen-sink/package.json | 2 +- packages/framework/package.json | 2 +- pnpm-lock.yaml | 21 +++++++++++++-------- sites/website/package.json | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/examples/base-app/package.json b/examples/base-app/package.json index c6cb1fda..17435309 100644 --- a/examples/base-app/package.json +++ b/examples/base-app/package.json @@ -24,7 +24,7 @@ "react-server-dom-webpack": "catalog:", "server-only": "^0.0.1", "tailwindcss": "^4.1.14", - "zod": "4.1.11" + "zod": "4.3.6" }, "devDependencies": { "@types/node": "catalog:", diff --git a/examples/kitchen-sink/package.json b/examples/kitchen-sink/package.json index 19b8c375..ba8d83ee 100644 --- a/examples/kitchen-sink/package.json +++ b/examples/kitchen-sink/package.json @@ -29,7 +29,7 @@ "react-server-dom-webpack": "catalog:", "sharp": "^0.34.4", "tailwindcss": "^4.1.14", - "zod": "^4.1.11" + "zod": "^4.3.6" }, "devDependencies": { "@redpointgames/eslint-plugin-twofold": "workspace:*", diff --git a/packages/framework/package.json b/packages/framework/package.json index 1facbec5..080b0d39 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -118,6 +118,6 @@ "stacktrace-js": "^2.0.2", "urlpattern-polyfill": "10.1.0", "xxhash-wasm": "^1.1.0", - "zod": "4.1.11" + "zod": "4.3.6" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d7c5208b..5e44f39f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,8 +66,8 @@ importers: specifier: ^4.1.14 version: 4.2.2 zod: - specifier: 4.1.11 - version: 4.1.11 + specifier: 4.3.6 + version: 4.3.6 devDependencies: '@redpointgames/eslint-plugin-twofold': specifier: workspace:* @@ -136,8 +136,8 @@ importers: specifier: ^4.1.14 version: 4.2.2 zod: - specifier: ^4.1.11 - version: 4.1.11 + specifier: ^4.3.6 + version: 4.3.6 devDependencies: '@redpointgames/eslint-plugin-twofold': specifier: workspace:* @@ -385,8 +385,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 zod: - specifier: 4.1.11 - version: 4.1.11 + specifier: 4.3.6 + version: 4.3.6 devDependencies: '@eslint/js': specifier: ^9.37.0 @@ -552,8 +552,8 @@ importers: specifier: ^1.3.3 version: 1.3.3 zod: - specifier: ^4.1.11 - version: 4.1.11 + specifier: ^4.3.6 + version: 4.3.6 devDependencies: '@redpointgames/eslint-plugin-twofold': specifier: workspace:* @@ -5016,6 +5016,9 @@ packages: zod@4.1.11: resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -9708,4 +9711,6 @@ snapshots: zod@4.1.11: {} + zod@4.3.6: {} + zwitch@2.0.4: {} diff --git a/sites/website/package.json b/sites/website/package.json index 02fe00db..92e7afe7 100644 --- a/sites/website/package.json +++ b/sites/website/package.json @@ -38,7 +38,7 @@ "shiki": "^3.13.0", "tailwindcss": "^4.2.0", "tiny-invariant": "^1.3.3", - "zod": "^4.1.11" + "zod": "^4.3.6" }, "devDependencies": { "@types/js-yaml": "^4.0.9", From f2081f669be2e7392432d95b5a8646f1dc92b2af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 13:50:34 +1000 Subject: [PATCH 20/25] Bump marked from 16.4.2 to 18.0.2 (#4) Bumps [marked](https://github.com/markedjs/marked) from 16.4.2 to 18.0.2. - [Release notes](https://github.com/markedjs/marked/releases) - [Commits](https://github.com/markedjs/marked/compare/v16.4.2...v18.0.2) --- updated-dependencies: - dependency-name: marked dependency-version: 18.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/kitchen-sink/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/kitchen-sink/package.json b/examples/kitchen-sink/package.json index ba8d83ee..fb401615 100644 --- a/examples/kitchen-sink/package.json +++ b/examples/kitchen-sink/package.json @@ -21,7 +21,7 @@ "@radix-ui/react-toast": "^1.2.15", "@redpointgames/framework": "workspace:*", "clsx": "^2.1.1", - "marked": "^16.3.0", + "marked": "^18.0.2", "motion": "^12.23.22", "open-graph-scraper": "^6.10.0", "react": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e44f39f..fa7ded5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,8 +112,8 @@ importers: specifier: ^2.1.1 version: 2.1.1 marked: - specifier: ^16.3.0 - version: 16.4.2 + specifier: ^18.0.2 + version: 18.0.2 motion: specifier: ^12.23.22 version: 12.38.0(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -3797,8 +3797,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + marked@18.0.2: + resolution: {integrity: sha512-NsmlUYBS/Zg57rgDWMYdnre6OTj4e+qq/JS2ot3KrYLSoHLw+sDu0Nm1ZGpRgYAq6c+b1ekaY5NzVchMCQnzcg==} engines: {node: '>= 20'} hasBin: true @@ -8420,7 +8420,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - marked@16.4.2: {} + marked@18.0.2: {} math-intrinsics@1.1.0: {} From d80a31c8289c60e98c957fc981812e9f7e91954f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 14:07:17 +1000 Subject: [PATCH 21/25] Bump typescript-eslint from 8.58.2 to 8.59.0 (#6) Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.58.2 to 8.59.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-version: 8.59.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/eslint-plugin-twofold/package.json | 2 +- packages/framework/package.json | 2 +- pnpm-lock.yaml | 132 ++++++++++---------- 3 files changed, 68 insertions(+), 68 deletions(-) diff --git a/packages/eslint-plugin-twofold/package.json b/packages/eslint-plugin-twofold/package.json index aff79f19..3496df4e 100644 --- a/packages/eslint-plugin-twofold/package.json +++ b/packages/eslint-plugin-twofold/package.json @@ -15,6 +15,6 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.0", "globals": "^17.5.0", - "typescript-eslint": "^8.46.0" + "typescript-eslint": "^8.59.0" } } diff --git a/packages/framework/package.json b/packages/framework/package.json index 080b0d39..c0872e5e 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -65,7 +65,7 @@ "globals": "^17.5.0", "nodemon": "^3.1.10", "typescript": "catalog:", - "typescript-eslint": "^8.45.0", + "typescript-eslint": "^8.59.0", "vitest": "^3.2.4" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa7ded5a..cd4e2b6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -259,8 +259,8 @@ importers: specifier: ^17.5.0 version: 17.5.0 typescript-eslint: - specifier: ^8.46.0 - version: 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + specifier: ^8.59.0 + version: 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) packages/framework: dependencies: @@ -437,8 +437,8 @@ importers: specifier: 'catalog:' version: 5.9.3 typescript-eslint: - specifier: ^8.45.0 - version: 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + specifier: ^8.59.0 + version: 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) vitest: specifier: ^3.2.4 version: 3.2.4(@types/node@22.19.17)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) @@ -2500,63 +2500,63 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.58.2': - resolution: {integrity: sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==} + '@typescript-eslint/eslint-plugin@8.59.0': + resolution: {integrity: sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.58.2 + '@typescript-eslint/parser': ^8.59.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.58.2': - resolution: {integrity: sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==} + '@typescript-eslint/parser@8.59.0': + resolution: {integrity: sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.58.2': - resolution: {integrity: sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==} + '@typescript-eslint/project-service@8.59.0': + resolution: {integrity: sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.58.2': - resolution: {integrity: sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==} + '@typescript-eslint/scope-manager@8.59.0': + resolution: {integrity: sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.58.2': - resolution: {integrity: sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==} + '@typescript-eslint/tsconfig-utils@8.59.0': + resolution: {integrity: sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.58.2': - resolution: {integrity: sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==} + '@typescript-eslint/type-utils@8.59.0': + resolution: {integrity: sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.58.2': - resolution: {integrity: sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==} + '@typescript-eslint/types@8.59.0': + resolution: {integrity: sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.58.2': - resolution: {integrity: sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==} + '@typescript-eslint/typescript-estree@8.59.0': + resolution: {integrity: sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.58.2': - resolution: {integrity: sha512-QZfjHNEzPY8+l0+fIXMvuQ2sJlplB4zgDZvA+NmvZsZv3EQwOcc1DuIU1VJUTWZ/RKouBMhDyNaBMx4sWvrzRA==} + '@typescript-eslint/utils@8.59.0': + resolution: {integrity: sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.58.2': - resolution: {integrity: sha512-f1WO2Lx8a9t8DARmcWAUPJbu0G20bJlj8L4z72K00TMeJAoyLr/tHhI/pzYBLrR4dXWkcxO1cWYZEOX8DKHTqA==} + '@typescript-eslint/visitor-keys@8.59.0': + resolution: {integrity: sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -4756,8 +4756,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.58.2: - resolution: {integrity: sha512-V8iSng9mRbdZjl54VJ9NKr6ZB+dW0J3TzRXRGcSbLIej9jV86ZRtlYeTKDR/QLxXykocJ5icNzbsl2+5TzIvcQ==} + typescript-eslint@8.59.0: + resolution: {integrity: sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -6899,14 +6899,14 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.59.0(@typescript-eslint/parser@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/type-utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.58.2 + '@typescript-eslint/parser': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.59.0 + '@typescript-eslint/type-utils': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.59.0 eslint: 9.39.4(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -6915,41 +6915,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.58.2 + '@typescript-eslint/scope-manager': 8.59.0 + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.59.0 debug: 4.4.3(supports-color@5.5.0) eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.58.2(typescript@5.9.3)': + '@typescript-eslint/project-service@8.59.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@5.9.3) - '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) + '@typescript-eslint/types': 8.59.0 debug: 4.4.3(supports-color@5.5.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.58.2': + '@typescript-eslint/scope-manager@8.59.0': dependencies: - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/visitor-keys': 8.58.2 + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/visitor-keys': 8.59.0 - '@typescript-eslint/tsconfig-utils@8.58.2(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.59.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@5.5.0) eslint: 9.39.4(jiti@2.6.1) ts-api-utils: 2.5.0(typescript@5.9.3) @@ -6957,14 +6957,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.58.2': {} + '@typescript-eslint/types@8.59.0': {} - '@typescript-eslint/typescript-estree@8.58.2(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.59.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.58.2(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@5.9.3) - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/visitor-keys': 8.58.2 + '@typescript-eslint/project-service': 8.59.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.59.0(typescript@5.9.3) + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/visitor-keys': 8.59.0 debug: 4.4.3(supports-color@5.5.0) minimatch: 10.2.5 semver: 7.7.4 @@ -6974,20 +6974,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.59.0 + '@typescript-eslint/types': 8.59.0 + '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.58.2': + '@typescript-eslint/visitor-keys@8.59.0': dependencies: - '@typescript-eslint/types': 8.58.2 + '@typescript-eslint/types': 8.59.0 eslint-visitor-keys: 5.0.1 '@ungap/structured-clone@1.3.0': {} @@ -9389,12 +9389,12 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.59.0(@typescript-eslint/parser@8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.59.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.59.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.4(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: From 25bb469b9198f3d4c656ded03ef65c36e920a7c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 14:35:45 +1000 Subject: [PATCH 22/25] Bump @eslint/js from 9.39.4 to 10.0.1 (#7) * Bump @eslint/js from 9.39.4 to 10.0.1 Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.4 to 10.0.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Remove redundant assignment --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: June Rhodes --- packages/eslint-plugin-twofold/package.json | 4 ++-- packages/framework/package.json | 2 +- .../apps/client/browser/router-hooks.ts | 2 +- pnpm-lock.yaml | 21 +++++++++++++++---- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/packages/eslint-plugin-twofold/package.json b/packages/eslint-plugin-twofold/package.json index 3496df4e..919db921 100644 --- a/packages/eslint-plugin-twofold/package.json +++ b/packages/eslint-plugin-twofold/package.json @@ -8,10 +8,10 @@ "author": "Ryan Toronto", "license": "ISC", "peerDependencies": { - "eslint": ">=9.12.0" + "eslint": ">=9.38.0" }, "dependencies": { - "@eslint/js": "^9.38.0", + "@eslint/js": "^10.0.1", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.0", "globals": "^17.5.0", diff --git a/packages/framework/package.json b/packages/framework/package.json index c0872e5e..4c6e241a 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -49,7 +49,7 @@ "node": ">=22.20.0" }, "devDependencies": { - "@eslint/js": "^9.37.0", + "@eslint/js": "^10.0.1", "@sentry/cli": "^3.4.0", "@types/babel__core": "^7.20.5", "@types/etag": "^1.8.4", diff --git a/packages/framework/src/client/apps/client/browser/router-hooks.ts b/packages/framework/src/client/apps/client/browser/router-hooks.ts index 4aa2ad56..24f446ff 100644 --- a/packages/framework/src/client/apps/client/browser/router-hooks.ts +++ b/packages/framework/src/client/apps/client/browser/router-hooks.ts @@ -295,7 +295,7 @@ function fetchRSCPayload(path: string, options: FetchOptions = {}) { let contentType = response.headers.get("content-type"); let fetchedPath = responsePath ?? decodeURIComponent(encodedPath); let rscOptions = { callServer }; - let stack: RouteStackEntry[] = []; + let stack: RouteStackEntry[]; if (contentType === "text/x-component") { let payload = await createFromReadableStream(response.body, rscOptions); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cd4e2b6e..1b37e091 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -244,8 +244,8 @@ importers: packages/eslint-plugin-twofold: dependencies: '@eslint/js': - specifier: ^9.38.0 - version: 9.39.4 + specifier: ^10.0.1 + version: 10.0.1(eslint@9.39.4(jiti@2.6.1)) eslint: specifier: '>=9.12.0' version: 9.39.4(jiti@2.6.1) @@ -389,8 +389,8 @@ importers: version: 4.3.6 devDependencies: '@eslint/js': - specifier: ^9.37.0 - version: 9.39.4 + specifier: ^10.0.1 + version: 10.0.1(eslint@9.39.4(jiti@2.6.1)) '@sentry/cli': specifier: ^3.4.0 version: 3.4.0 @@ -1064,6 +1064,15 @@ packages: resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/js@9.39.4': resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5478,6 +5487,10 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/js@10.0.1(eslint@9.39.4(jiti@2.6.1))': + optionalDependencies: + eslint: 9.39.4(jiti@2.6.1) + '@eslint/js@9.39.4': {} '@eslint/object-schema@2.1.7': {} From 65a363c017e50482a72e83db3bb3668b725ef3bd Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 14:39:35 +1000 Subject: [PATCH 23/25] Skip sourcemap upload if Sentry environment variables are not set --- packages/framework/src/backend/build/build/build.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/framework/src/backend/build/build/build.ts b/packages/framework/src/backend/build/build/build.ts index 1a27ba2d..226e8a6b 100644 --- a/packages/framework/src/backend/build/build/build.ts +++ b/packages/framework/src/backend/build/build/build.ts @@ -197,7 +197,12 @@ export abstract class Build { // check if Sentry upload should be enabled let appConfig = await this.getAppConfig(); - if (appConfig.sentryUploadSourcemaps === true) { + if ( + appConfig.sentryUploadSourcemaps === true && + (process.env.SENTRY_ORG ?? "").trim().length !== 0 && + (process.env.SENTRY_PROJECT ?? "").trim().length !== 0 && + (process.env.SENTRY_AUTH_TOKEN ?? "").trim().length !== 0 + ) { const cli = new SentryCli(null, {}); console.log("Injecting debug IDs into source maps ..."); await cli.sourceMaps.inject({ @@ -206,8 +211,7 @@ export abstract class Build { console.log("Uploading source maps ..."); console.log(`Scanning: ${process.cwd()}`); const releaseOptions = - process.env.SENTRY_RELEASE !== undefined && - process.env.SENTRY_RELEASE.trim().length !== 0 + (process.env.SENTRY_RELEASE ?? "").trim().length !== 0 ? [`--release=${process.env.SENTRY_RELEASE}`] : []; await cli.sourceMaps.execute( From 143c1d54a224aa088a18b7a4dcc2028d2a6cb2cf Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 15:05:20 +1000 Subject: [PATCH 24/25] Add test pages for deep dynamic vs static --- .../routing/dynamic/(a)/depth/$id/index.page.tsx | 10 ++++++++++ .../dynamic/(b)/depth/exact/index.page.tsx | 9 +++++++++ .../app/pages/routing/dynamic/layout.tsx | 16 ++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 examples/kitchen-sink/app/pages/routing/dynamic/(a)/depth/$id/index.page.tsx create mode 100644 examples/kitchen-sink/app/pages/routing/dynamic/(b)/depth/exact/index.page.tsx diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/(a)/depth/$id/index.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/(a)/depth/$id/index.page.tsx new file mode 100644 index 00000000..f948a88d --- /dev/null +++ b/examples/kitchen-sink/app/pages/routing/dynamic/(a)/depth/$id/index.page.tsx @@ -0,0 +1,10 @@ +import { PageProps } from "@redpointgames/framework/types"; + +export default function Page(props: PageProps<"id">) { + return ( +
    + This is the dynamic route with route parameter 'id' equal to ' + {props.params.id}'. +
    + ); +} diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/(b)/depth/exact/index.page.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/(b)/depth/exact/index.page.tsx new file mode 100644 index 00000000..99cbf7a3 --- /dev/null +++ b/examples/kitchen-sink/app/pages/routing/dynamic/(b)/depth/exact/index.page.tsx @@ -0,0 +1,9 @@ +import { PageProps } from "@redpointgames/framework/types"; + +export default function Page(props: PageProps) { + return ( +
    + This is the static route that should be selected on an exact match. +
    + ); +} diff --git a/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx b/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx index 227e7760..42d1984f 100644 --- a/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx +++ b/examples/kitchen-sink/app/pages/routing/dynamic/layout.tsx @@ -90,6 +90,22 @@ export default function DynamicLayout({ Deep catch all +
  • + + Depth check (dynamic) + +
  • +
  • + + Depth check (exact) + +
  • {children}
    From 2f422ec5f175f71d0f08f8d775a276200530a650 Mon Sep 17 00:00:00 2001 From: June Rhodes Date: Wed, 22 Apr 2026 15:09:28 +1000 Subject: [PATCH 25/25] Ensure static paths are always selected over dynamic paths --- .../src/backend/build/builders/rsc-builder.ts | 15 ++++--- .../src/backend/build/rsc/tree-node.ts | 43 +++++++++++++------ 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/packages/framework/src/backend/build/builders/rsc-builder.ts b/packages/framework/src/backend/build/builders/rsc-builder.ts index eb613335..d24cdf68 100644 --- a/packages/framework/src/backend/build/builders/rsc-builder.ts +++ b/packages/framework/src/backend/build/builders/rsc-builder.ts @@ -27,7 +27,7 @@ import { ErrorTemplate } from "../rsc/error-template.js"; import { Generic } from "../rsc/generic.js"; import { CatchBoundary } from "../rsc/catch-boundary.js"; import { invariant } from "../../utils/invariant.js"; -import { Node } from "../rsc/tree-node.js"; +import { FindPageType, Node } from "../rsc/tree-node.js"; import { CompiledServerAction } from "../rsc/compiled-server-action.js"; interface ApplicationTreeProps { @@ -85,10 +85,6 @@ class ApplicationTree { this.#root = this.#constructRoot(); } - findPageForPath(path: string) { - return this.#root.tree.findPageForPath(path); - } - get root() { return this.#root; } @@ -875,7 +871,14 @@ export class RSCBuilder extends Builder { } findPageForPath(path: string) { - return this.root.tree.findPageForPath(path); + let page = this.root.tree.findPageForPath(FindPageType.Static, path); + if (!page) { + page = this.root.tree.findPageForPath(FindPageType.Dynamic, path); + } + if (!page) { + page = this.root.tree.findPageForPath(FindPageType.CatchAll, path); + } + return page; } get serverManifest() { diff --git a/packages/framework/src/backend/build/rsc/tree-node.ts b/packages/framework/src/backend/build/rsc/tree-node.ts index 9c098663..4cea1113 100644 --- a/packages/framework/src/backend/build/rsc/tree-node.ts +++ b/packages/framework/src/backend/build/rsc/tree-node.ts @@ -30,6 +30,12 @@ export type Treeable = { parent: Node | undefined; }; +export enum FindPageType { + Static, + Dynamic, + CatchAll, +} + export class TreeNode { #value: Node; #parent: TreeNode | null = null; @@ -158,7 +164,7 @@ export class TreeNode { console.log("*** Done Printing Tree ***"); } - findPageForPath(realPath: string): Page | undefined { + findPageForPath(findType: FindPageType, realPath: string): Page | undefined { let childValues = this.children.map((child) => child.value); let [staticAndDynamicPages, catchAllPages] = partition( childValues.filter((value) => value instanceof Page), @@ -170,23 +176,34 @@ export class TreeNode { (page) => page.isDynamic, ); - let sortBy = (a: Page, b: Page) => - a.dynamicSegments.length - b.dynamicSegments.length; - let dynamicPagesInOrder = dynamicPages.toSorted(sortBy); - - let page = - staticPages.find((page) => pathMatches(page.path, realPath)) ?? - dynamicPagesInOrder.find((page) => pathMatches(page.path, realPath)) ?? - // this should really be DFS - childValues + let page: Page | undefined = undefined; + switch (findType) { + case FindPageType.Static: + page = staticPages.find((page) => pathMatches(page.path, realPath)); + break; + case FindPageType.Dynamic: { + let sortBy = (a: Page, b: Page) => + a.dynamicSegments.length - b.dynamicSegments.length; + let dynamicPagesInOrder = dynamicPages.toSorted(sortBy); + page = dynamicPagesInOrder.find((page) => + pathMatches(page.path, realPath), + ); + break; + } + case FindPageType.CatchAll: + page = catchAllPages.find((page) => pathMatches(page.path, realPath)); + break; + } + if (!page) { + page = childValues .filter((value) => { let holdsPages = value instanceof Layout || value instanceof CatchBoundary; return holdsPages && pathPartialMatches(value.path, realPath); }) - .map((value) => value.tree.findPageForPath(realPath)) - .find(Boolean) ?? - catchAllPages.find((page) => pathMatches(page.path, realPath)); + .map((value) => value.tree.findPageForPath(findType, realPath)) + .find(Boolean); + } return page; }