From 43a0b39f51394dc7dfd089a5ec6b026e1ec496b0 Mon Sep 17 00:00:00 2001 From: Andrej Date: Fri, 24 Jan 2025 20:05:30 +0100 Subject: [PATCH 01/17] chore: updating turbo --- package.json | 7 ++---- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index cbdbad8..8979bb2 100644 --- a/package.json +++ b/package.json @@ -14,15 +14,12 @@ "@commitlint/cli": "^19.6.1", "@commitlint/config-conventional": "^19.6.0", "husky": "^9.1.7", - "turbo": "^2.3.3", + "turbo": "^2.3.4", "typescript": "5.5.4" }, "engines": { "node": ">=18" }, "packageManager": "pnpm@7.5.1", - "workspaces": ["apps/*", "packages/*"], - "dependencies": { - "@tanstack/react-router": "^1.94.1" - } + "workspaces": ["apps/*", "packages/*"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d876f6f..68f4881 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ importers: specifier: ^9.1.7 version: 9.1.7 turbo: - specifier: ^2.3.3 - version: 2.3.3 + specifier: ^2.3.4 + version: 2.3.4 typescript: specifier: 5.5.4 version: 5.5.4 @@ -2768,38 +2768,38 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turbo-darwin-64@2.3.3: - resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} + turbo-darwin-64@2.3.4: + resolution: {integrity: sha512-uOi/cUIGQI7uakZygH+cZQ5D4w+aMLlVCN2KTGot+cmefatps2ZmRRufuHrEM0Rl63opdKD8/JIu+54s25qkfg==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.3.3: - resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} + turbo-darwin-arm64@2.3.4: + resolution: {integrity: sha512-IIM1Lq5R+EGMtM1YFGl4x8Xkr0MWb4HvyU8N4LNoQ1Be5aycrOE+VVfH+cDg/Q4csn+8bxCOxhRp5KmUflrVTQ==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.3.3: - resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} + turbo-linux-64@2.3.4: + resolution: {integrity: sha512-1aD2EfR7NfjFXNH3mYU5gybLJEFi2IGOoKwoPLchAFRQ6OEJQj201/oNo9CDL75IIrQo64/NpEgVyZtoPlfhfA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.3.3: - resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} + turbo-linux-arm64@2.3.4: + resolution: {integrity: sha512-MxTpdKwxCaA5IlybPxgGLu54fT2svdqTIxRd0TQmpRJIjM0s4kbM+7YiLk0mOh6dGqlWPUsxz/A0Mkn8Xr5o7Q==} cpu: [arm64] os: [linux] - turbo-windows-64@2.3.3: - resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} + turbo-windows-64@2.3.4: + resolution: {integrity: sha512-yyCrWqcRGu1AOOlrYzRnizEtdkqi+qKP0MW9dbk9OsMDXaOI5jlWtTY/AtWMkLw/czVJ7yS9Ex1vi9DB6YsFvw==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.3.3: - resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} + turbo-windows-arm64@2.3.4: + resolution: {integrity: sha512-PggC3qH+njPfn1PDVwKrQvvQby8X09ufbqZ2Ha4uSu+5TvPorHHkAbZVHKYj2Y+tvVzxRzi4Sv6NdHXBS9Be5w==} cpu: [arm64] os: [win32] - turbo@2.3.3: - resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} + turbo@2.3.4: + resolution: {integrity: sha512-1kiLO5C0Okh5ay1DbHsxkPsw9Sjsbjzm6cF85CpWjR0BIyBFNDbKqtUyqGADRS1dbbZoQanJZVj4MS5kk8J42Q==} hasBin: true typescript@5.5.4: @@ -5115,32 +5115,32 @@ snapshots: dependencies: safe-buffer: 5.2.1 - turbo-darwin-64@2.3.3: + turbo-darwin-64@2.3.4: optional: true - turbo-darwin-arm64@2.3.3: + turbo-darwin-arm64@2.3.4: optional: true - turbo-linux-64@2.3.3: + turbo-linux-64@2.3.4: optional: true - turbo-linux-arm64@2.3.3: + turbo-linux-arm64@2.3.4: optional: true - turbo-windows-64@2.3.3: + turbo-windows-64@2.3.4: optional: true - turbo-windows-arm64@2.3.3: + turbo-windows-arm64@2.3.4: optional: true - turbo@2.3.3: + turbo@2.3.4: optionalDependencies: - turbo-darwin-64: 2.3.3 - turbo-darwin-arm64: 2.3.3 - turbo-linux-64: 2.3.3 - turbo-linux-arm64: 2.3.3 - turbo-windows-64: 2.3.3 - turbo-windows-arm64: 2.3.3 + turbo-darwin-64: 2.3.4 + turbo-darwin-arm64: 2.3.4 + turbo-linux-64: 2.3.4 + turbo-linux-arm64: 2.3.4 + turbo-windows-64: 2.3.4 + turbo-windows-arm64: 2.3.4 typescript@5.5.4: {} From 537b47e328b8b5ee2ef1f0ffb71e78e8e3a42ee8 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:13:35 +0100 Subject: [PATCH 02/17] feat: adding docker images and compose --- .github/workflows/release.yml | 75 + .husky/commit-msg | 2 +- .husky/pre-commit | 3 +- apps/api/Dockerfile | 33 + apps/api/drizzle/0001_mean_ultimo.sql | 67 + apps/api/drizzle/meta/0001_snapshot.json | 375 ++ apps/api/drizzle/meta/_journal.json | 7 + apps/api/src/database/index.ts | 5 +- apps/api/src/index.ts | 4 +- .../workspace/controllers/create-workspace.ts | 1 - .../workspace/controllers/delete-workspace.ts | 1 - apps/api/{src => }/tsconfig.json | 0 apps/web/Dockerfile | 31 + apps/web/nginx.conf | 11 + apps/web/vite.config.ts | 1 + bun.lockb | Bin 0 -> 204008 bytes compose.yml | 24 + package.json | 4 +- packages/libs/src/eden.ts | 2 +- packages/libs/tsconfig.json | 22 + pnpm-lock.yaml | 5237 ----------------- pnpm-workspace.yaml | 3 - turbo.json | 8 +- 23 files changed, 656 insertions(+), 5260 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 apps/api/Dockerfile create mode 100644 apps/api/drizzle/0001_mean_ultimo.sql create mode 100644 apps/api/drizzle/meta/0001_snapshot.json rename apps/api/{src => }/tsconfig.json (100%) create mode 100644 apps/web/Dockerfile create mode 100644 apps/web/nginx.conf create mode 100755 bun.lockb create mode 100644 compose.yml create mode 100644 packages/libs/tsconfig.json delete mode 100644 pnpm-lock.yaml delete mode 100644 pnpm-workspace.yaml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..79fafeb --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,75 @@ +name: Docker Build, Changelog, and Release + +on: + push: + branches: + - master + +jobs: + build-and-push-docker: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: | + ghcr.io/${{ github.repository_owner }}/your-repo-name:latest + ghcr.io/${{ github.repository_owner }}/your-repo-name:${{ github.sha }} + + generate-changelog: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Generate changelog with conventional commits + id: changelog + uses: conventional-changelog/action@v3 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + preset: conventionalcommits + output-file: CHANGELOG.md + + - name: Commit changelog + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + git add CHANGELOG.md + git commit -m "chore: Update changelog" + git push + + create-release: + runs-on: ubuntu-latest + needs: [build-and-push-docker, generate-changelog] + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Create GitHub release + id: create-release + uses: actions/create-release@v1 + with: + tag_name: v1.0.0-${{ github.sha }} + release_name: Release v1.0.0-${{ github.sha }} + body: ${{ steps.changelog.outputs.changelog }} + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg index c48ae69..1f42e6b 100644 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1 +1 @@ -pnpm dlx commitlint --edit $1 +bun x commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit index e77bc76..7df7fbf 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1 @@ -pnpm dlx turbo format-and-lint -pnpm dlx turbo check-types +bun x biome ci . \ No newline at end of file diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile new file mode 100644 index 0000000..9fb6398 --- /dev/null +++ b/apps/api/Dockerfile @@ -0,0 +1,33 @@ +FROM --platform=$BUILDPLATFORM node:lts-slim AS base +WORKDIR /app + +COPY package.json . +COPY bun.lockb . +COPY apps/api/package.json ./apps/api/package.json +COPY packages/typescript-config/package.json ./packages/typescript-config/package.json + +RUN npm i -g bun + +FROM base AS all-deps +RUN bun install + +FROM base AS prod-deps +RUN bun install + +FROM all-deps AS build +ENV NODE_ENV=production + +COPY ./apps/api ./apps/api + +FROM oven/bun:alpine AS runtime +WORKDIR /app + +COPY --from=prod-deps /app/node_modules ./node_modules + +COPY --from=build /app/apps/api ./apps/api + +ENV NODE_ENV=production + +WORKDIR /app/apps/api + +CMD ["bun", "run", "src/index.ts"] \ No newline at end of file diff --git a/apps/api/drizzle/0001_mean_ultimo.sql b/apps/api/drizzle/0001_mean_ultimo.sql new file mode 100644 index 0000000..9e03e43 --- /dev/null +++ b/apps/api/drizzle/0001_mean_ultimo.sql @@ -0,0 +1,67 @@ +PRAGMA foreign_keys=OFF;--> statement-breakpoint +CREATE TABLE `__new_project` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `name` text NOT NULL, + `description` text, + `created_at` integer DEFAULT '"2025-01-25T16:10:08.340Z"' NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE cascade ON DELETE cascade +); +--> statement-breakpoint +INSERT INTO `__new_project`("id", "workspace_id", "name", "description", "created_at") SELECT "id", "workspace_id", "name", "description", "created_at" FROM `project`;--> statement-breakpoint +DROP TABLE `project`;--> statement-breakpoint +ALTER TABLE `__new_project` RENAME TO `project`;--> statement-breakpoint +PRAGMA foreign_keys=ON;--> statement-breakpoint +CREATE TABLE `__new_task` ( + `id` text PRIMARY KEY NOT NULL, + `project_id` text NOT NULL, + `assignee_id` text NOT NULL, + `title` text NOT NULL, + `description` text, + `status` text DEFAULT 'to-do' NOT NULL, + `due_date` integer, + `created_at` integer DEFAULT '"2025-01-25T16:10:08.340Z"' NOT NULL, + FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON UPDATE cascade ON DELETE cascade, + FOREIGN KEY (`assignee_id`) REFERENCES `user`(`id`) ON UPDATE cascade ON DELETE cascade +); +--> statement-breakpoint +INSERT INTO `__new_task`("id", "project_id", "assignee_id", "title", "description", "status", "due_date", "created_at") SELECT "id", "project_id", "assignee_id", "title", "description", "status", "due_date", "created_at" FROM `task`;--> statement-breakpoint +DROP TABLE `task`;--> statement-breakpoint +ALTER TABLE `__new_task` RENAME TO `task`;--> statement-breakpoint +CREATE TABLE `__new_user` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `password` text NOT NULL, + `email` text NOT NULL, + `created_at` integer DEFAULT '"2025-01-25T16:10:08.340Z"' NOT NULL +); +--> statement-breakpoint +INSERT INTO `__new_user`("id", "name", "password", "email", "created_at") SELECT "id", "name", "password", "email", "created_at" FROM `user`;--> statement-breakpoint +DROP TABLE `user`;--> statement-breakpoint +ALTER TABLE `__new_user` RENAME TO `user`;--> statement-breakpoint +CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint +CREATE TABLE `__new_workspace` ( + `id` text PRIMARY KEY NOT NULL, + `name` text NOT NULL, + `description` text, + `owner_id` text NOT NULL, + `created_at` integer DEFAULT '"2025-01-25T16:10:08.340Z"' NOT NULL, + FOREIGN KEY (`owner_id`) REFERENCES `user`(`id`) ON UPDATE cascade ON DELETE cascade +); +--> statement-breakpoint +INSERT INTO `__new_workspace`("id", "name", "description", "owner_id", "created_at") SELECT "id", "name", "description", "owner_id", "created_at" FROM `workspace`;--> statement-breakpoint +DROP TABLE `workspace`;--> statement-breakpoint +ALTER TABLE `__new_workspace` RENAME TO `workspace`;--> statement-breakpoint +CREATE TABLE `__new_workspace_member` ( + `id` text PRIMARY KEY NOT NULL, + `workspace_id` text NOT NULL, + `user_id` text NOT NULL, + `role` text, + `joined_at` integer DEFAULT '"2025-01-25T16:10:08.340Z"' NOT NULL, + FOREIGN KEY (`workspace_id`) REFERENCES `workspace`(`id`) ON UPDATE cascade ON DELETE cascade, + FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE cascade ON DELETE cascade +); +--> statement-breakpoint +INSERT INTO `__new_workspace_member`("id", "workspace_id", "user_id", "role", "joined_at") SELECT "id", "workspace_id", "user_id", "role", "joined_at" FROM `workspace_member`;--> statement-breakpoint +DROP TABLE `workspace_member`;--> statement-breakpoint +ALTER TABLE `__new_workspace_member` RENAME TO `workspace_member`; \ No newline at end of file diff --git a/apps/api/drizzle/meta/0001_snapshot.json b/apps/api/drizzle/meta/0001_snapshot.json new file mode 100644 index 0000000..62d9ad2 --- /dev/null +++ b/apps/api/drizzle/meta/0001_snapshot.json @@ -0,0 +1,375 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "d77a137d-164b-48be-8ff7-bf1802961d15", + "prevId": "c0af92e1-37ce-46b9-bd70-337eb6049763", + "tables": { + "project": { + "name": "project", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'\"2025-01-25T16:10:08.340Z\"'" + } + }, + "indexes": {}, + "foreignKeys": { + "project_workspace_id_workspace_id_fk": { + "name": "project_workspace_id_workspace_id_fk", + "tableFrom": "project", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "task": { + "name": "task", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "project_id": { + "name": "project_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "assignee_id": { + "name": "assignee_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'to-do'" + }, + "due_date": { + "name": "due_date", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'\"2025-01-25T16:10:08.340Z\"'" + } + }, + "indexes": {}, + "foreignKeys": { + "task_project_id_project_id_fk": { + "name": "task_project_id_project_id_fk", + "tableFrom": "task", + "tableTo": "project", + "columnsFrom": ["project_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + }, + "task_assignee_id_user_id_fk": { + "name": "task_assignee_id_user_id_fk", + "tableFrom": "task", + "tableTo": "user", + "columnsFrom": ["assignee_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'\"2025-01-25T16:10:08.340Z\"'" + } + }, + "indexes": { + "user_email_unique": { + "name": "user_email_unique", + "columns": ["email"], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'\"2025-01-25T16:10:08.340Z\"'" + } + }, + "indexes": {}, + "foreignKeys": { + "workspace_owner_id_user_id_fk": { + "name": "workspace_owner_id_user_id_fk", + "tableFrom": "workspace", + "tableTo": "user", + "columnsFrom": ["owner_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "workspace_member": { + "name": "workspace_member", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "joined_at": { + "name": "joined_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'\"2025-01-25T16:10:08.340Z\"'" + } + }, + "indexes": {}, + "foreignKeys": { + "workspace_member_workspace_id_workspace_id_fk": { + "name": "workspace_member_workspace_id_workspace_id_fk", + "tableFrom": "workspace_member", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + }, + "workspace_member_user_id_user_id_fk": { + "name": "workspace_member_user_id_user_id_fk", + "tableFrom": "workspace_member", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} diff --git a/apps/api/drizzle/meta/_journal.json b/apps/api/drizzle/meta/_journal.json index 4eb4172..b70cf2f 100644 --- a/apps/api/drizzle/meta/_journal.json +++ b/apps/api/drizzle/meta/_journal.json @@ -8,6 +8,13 @@ "when": 1737212391097, "tag": "0000_abandoned_power_man", "breakpoints": true + }, + { + "idx": 1, + "version": "6", + "when": 1737821408351, + "tag": "0001_mean_ultimo", + "breakpoints": true } ] } diff --git a/apps/api/src/database/index.ts b/apps/api/src/database/index.ts index 0ee1a95..3645d42 100644 --- a/apps/api/src/database/index.ts +++ b/apps/api/src/database/index.ts @@ -1,9 +1,12 @@ import { Database } from "bun:sqlite"; +import { migrate } from "drizzle-orm/better-sqlite3/migrator"; import { drizzle } from "drizzle-orm/bun-sqlite"; import * as schema from "./schema"; -const sqlite = new Database("local.db"); +const sqlite = new Database("kaneo.db"); const db = drizzle(sqlite, { schema }); +void migrate(db, { migrationsFolder: "drizzle" }); + export default db; diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index c568e06..94e627c 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -56,6 +56,4 @@ const app = new Elysia() export type App = typeof app; -console.log( - `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`, -); +console.log(`🏃 Kaneo is running at ${app.server?.url}`); diff --git a/apps/api/src/workspace/controllers/create-workspace.ts b/apps/api/src/workspace/controllers/create-workspace.ts index ba0250e..598e5b8 100644 --- a/apps/api/src/workspace/controllers/create-workspace.ts +++ b/apps/api/src/workspace/controllers/create-workspace.ts @@ -1,4 +1,3 @@ -import type { Static } from "elysia"; import db from "../../database"; import { workspaceTable } from "../../database/schema"; import type { CreateWorkspacePayload } from "../db/queries"; diff --git a/apps/api/src/workspace/controllers/delete-workspace.ts b/apps/api/src/workspace/controllers/delete-workspace.ts index b3e2570..9b5f1f4 100644 --- a/apps/api/src/workspace/controllers/delete-workspace.ts +++ b/apps/api/src/workspace/controllers/delete-workspace.ts @@ -1,5 +1,4 @@ import { and, eq } from "drizzle-orm"; -import workspace from ".."; import db from "../../database"; import { workspaceTable } from "../../database/schema"; import type { DeleteWorkspacePayload } from "../db/queries"; diff --git a/apps/api/src/tsconfig.json b/apps/api/tsconfig.json similarity index 100% rename from apps/api/src/tsconfig.json rename to apps/api/tsconfig.json diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile new file mode 100644 index 0000000..4f39503 --- /dev/null +++ b/apps/web/Dockerfile @@ -0,0 +1,31 @@ +FROM node:20-alpine AS builder + +RUN npm install -g bun + +RUN apk add --no-cache \ + python3 \ + make \ + g++ + +WORKDIR /app + +COPY package.json bun.lockb ./ + +COPY packages ./packages +COPY apps/api ./apps/api +COPY apps/web ./apps/web + +RUN bun install + +WORKDIR /app/apps/web +RUN bun run build + +FROM nginx:alpine + +COPY --from=builder /app/apps/web/dist /usr/share/nginx/html + +COPY apps/web/nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/apps/web/nginx.conf b/apps/web/nginx.conf new file mode 100644 index 0000000..9d7643d --- /dev/null +++ b/apps/web/nginx.conf @@ -0,0 +1,11 @@ +server { + listen 80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html; + try_files $uri $uri/ /index.html; + } + +} \ No newline at end of file diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index d3bd623..ed16e67 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -5,6 +5,7 @@ import { defineConfig } from "vite"; // https://vite.dev/config/ export default defineConfig({ + base: "./", plugins: [TanStackRouterVite(), react()], server: { host: true, diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..bec071ee0e0c531d3863a98936903fdf9be933b1 GIT binary patch literal 204008 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

J+(gx;^gPd(e!PM;|N?gY?19bacyVW^^` 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 literal 0 HcmV?d00001 diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..a19fab2 --- /dev/null +++ b/compose.yml @@ -0,0 +1,24 @@ +version: '3.8' + +services: + api: + build: + context: . + dockerfile: apps/api/Dockerfile + environment: + - JWT_ACCESS=jwt_secret_goes_here + ports: + - "1337:1337" + volumes: + - .:/app + restart: unless-stopped + + web: + build: + context: . + dockerfile: apps/web/Dockerfile + ports: + - "80:80" + depends_on: + - api + restart: unless-stopped \ No newline at end of file diff --git a/package.json b/package.json index 8979bb2..4a9b24d 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,6 @@ "scripts": { "build": "turbo build", "dev": "turbo dev", - "format-and-lint": "biome check .", - "format-and-lint:fix": "biome check . --write", "prepare": "husky" }, "devDependencies": { @@ -20,6 +18,6 @@ "engines": { "node": ">=18" }, - "packageManager": "pnpm@7.5.1", + "packageManager": "bun@1.1.42", "workspaces": ["apps/*", "packages/*"] } diff --git a/packages/libs/src/eden.ts b/packages/libs/src/eden.ts index e6b8ff3..c2b9026 100644 --- a/packages/libs/src/eden.ts +++ b/packages/libs/src/eden.ts @@ -1,7 +1,7 @@ import { treaty } from "@elysiajs/eden"; import type { App } from "@kaneo/api"; -export const api = treaty("http://localhost:1337", { +export const api = treaty(process.env.API_URL ?? "http://0.0.0.0:1337", { fetch: { credentials: "include", }, diff --git a/packages/libs/tsconfig.json b/packages/libs/tsconfig.json new file mode 100644 index 0000000..b15a04a --- /dev/null +++ b/packages/libs/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + "module": "ESNext", + "target": "ESNext", + "moduleResolution": "node", + "declaration": true, + "sourceMap": true, + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "dist" + ] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 68f4881..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,5237 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@tanstack/react-router': - specifier: ^1.94.1 - version: 1.94.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - devDependencies: - '@biomejs/biome': - specifier: 1.9.4 - version: 1.9.4 - '@commitlint/cli': - specifier: ^19.6.1 - version: 19.6.1(@types/node@22.10.10)(typescript@5.5.4) - '@commitlint/config-conventional': - specifier: ^19.6.0 - version: 19.6.0 - husky: - specifier: ^9.1.7 - version: 9.1.7 - turbo: - specifier: ^2.3.4 - version: 2.3.4 - typescript: - specifier: 5.5.4 - version: 5.5.4 - - apps/api: - dependencies: - '@elysiajs/cors': - specifier: ^1.2.0 - version: 1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3)) - '@elysiajs/jwt': - specifier: ^1.2.0 - version: 1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3)) - '@elysiajs/websocket': - specifier: ^0.2.8 - version: 0.2.8(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3)) - '@kaneo/typescript-config': - specifier: workspace:* - version: link:../../packages/typescript-config - '@oslojs/crypto': - specifier: ^1.0.1 - version: 1.0.1 - '@oslojs/encoding': - specifier: ^1.1.0 - version: 1.1.0 - '@paralleldrive/cuid2': - specifier: ^2.2.2 - version: 2.2.2 - better-sqlite3: - specifier: ^11.8.1 - version: 11.8.1 - drizzle-kit: - specifier: ^0.30.2 - version: 0.30.2 - drizzle-orm: - specifier: ^0.38.4 - version: 0.38.4(@types/react@19.0.8)(better-sqlite3@11.8.1)(bun-types@1.2.0)(react@19.0.0) - drizzle-typebox: - specifier: ^0.2.1 - version: 0.2.1(@sinclair/typebox@0.34.13)(drizzle-orm@0.38.4(@types/react@19.0.8)(better-sqlite3@11.8.1)(bun-types@1.2.0)(react@19.0.0)) - elysia: - specifier: 1.2.10 - version: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - devDependencies: - bun-types: - specifier: latest - version: 1.2.0 - - apps/web: - dependencies: - '@dnd-kit/core': - specifier: ^6.3.1 - version: 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@dnd-kit/sortable': - specifier: ^10.0.0 - version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) - '@dnd-kit/utilities': - specifier: ^3.2.2 - version: 3.2.2(react@19.0.0) - '@hookform/resolvers': - specifier: ^3.10.0 - version: 3.10.0(react-hook-form@7.54.2(react@19.0.0)) - '@radix-ui/react-accordion': - specifier: ^1.2.2 - version: 1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-avatar': - specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dialog': - specifier: ^1.1.5 - version: 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dropdown-menu': - specifier: ^2.1.5 - version: 2.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-label': - specifier: ^2.1.1 - version: 2.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': - specifier: ^1.1.1 - version: 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-tooltip': - specifier: ^1.1.7 - version: 1.1.7(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@tanstack/react-query': - specifier: ^5.64.2 - version: 5.64.2(react@19.0.0) - '@tanstack/react-query-devtools': - specifier: ^5.64.2 - version: 5.64.2(@tanstack/react-query@5.64.2(react@19.0.0))(react@19.0.0) - '@tanstack/react-router': - specifier: ^1.97.14 - version: 1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@tanstack/router-devtools': - specifier: ^1.97.14 - version: 1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(csstype@3.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@tanstack/router-plugin': - specifier: ^1.97.7 - version: 1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0)) - class-variance-authority: - specifier: ^0.7.1 - version: 0.7.1 - clsx: - specifier: ^2.1.1 - version: 2.1.1 - date-fns: - specifier: ^4.1.0 - version: 4.1.0 - framer-motion: - specifier: ^12.0.1 - version: 12.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - lucide-react: - specifier: ^0.474.0 - version: 0.474.0(react@19.0.0) - react: - specifier: ^19.0.0 - version: 19.0.0 - react-dom: - specifier: ^19.0.0 - version: 19.0.0(react@19.0.0) - react-hook-form: - specifier: ^7.54.2 - version: 7.54.2(react@19.0.0) - tailwind-merge: - specifier: ^2.6.0 - version: 2.6.0 - tailwindcss-animate: - specifier: ^1.0.7 - version: 1.0.7(tailwindcss@4.0.0) - zod: - specifier: 3.24.1 - version: 3.24.1 - zustand: - specifier: ^5.0.3 - version: 5.0.3(@types/react@19.0.8)(react@19.0.0)(use-sync-external-store@1.4.0(react@19.0.0)) - devDependencies: - '@kaneo/libs': - specifier: workspace:* - version: link:../../packages/libs - '@tailwindcss/postcss': - specifier: ^4.0.0 - version: 4.0.0 - '@types/node': - specifier: ^22.10.10 - version: 22.10.10 - '@types/react': - specifier: ^19.0.8 - version: 19.0.8 - '@types/react-dom': - specifier: ^19.0.3 - version: 19.0.3(@types/react@19.0.8) - '@vitejs/plugin-react-swc': - specifier: ^3.5.0 - version: 3.7.2(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0)) - globals: - specifier: ^15.14.0 - version: 15.14.0 - postcss: - specifier: ^8.5.1 - version: 8.5.1 - tailwindcss: - specifier: ^4.0.0 - version: 4.0.0 - typescript: - specifier: ~5.7.3 - version: 5.7.3 - vite: - specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0) - - packages/libs: - dependencies: - '@elysiajs/eden': - specifier: ^1.2.0 - version: 1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3)) - devDependencies: - '@kaneo/api': - specifier: workspace:* - version: link:../../apps/api - '@kaneo/typescript-config': - specifier: workspace:* - version: link:../typescript-config - '@types/bun': - specifier: ^1.2.0 - version: 1.2.0 - '@types/react': - specifier: ^19.0.8 - version: 19.0.8 - '@types/react-dom': - specifier: ^19.0.3 - version: 19.0.3(@types/react@19.0.8) - elysia: - specifier: ^1.2.10 - version: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - react: - specifier: ^19.0.0 - version: 19.0.0 - typescript: - specifier: ^5.7.3 - version: 5.7.3 - - packages/typescript-config: {} - -packages: - - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.5': - resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.5': - resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.26.5': - resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.5': - resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.5': - resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.5': - resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} - engines: {node: '>=6.9.0'} - - '@biomejs/biome@1.9.4': - resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} - engines: {node: '>=14.21.3'} - hasBin: true - - '@biomejs/cli-darwin-arm64@1.9.4': - resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@1.9.4': - resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@1.9.4': - resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-arm64@1.9.4': - resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-x64-musl@1.9.4': - resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-linux-x64@1.9.4': - resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-win32-arm64@1.9.4': - resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] - - '@biomejs/cli-win32-x64@1.9.4': - resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] - - '@commitlint/cli@19.6.1': - resolution: {integrity: sha512-8hcyA6ZoHwWXC76BoC8qVOSr8xHy00LZhZpauiD0iO0VYbVhMnED0da85lTfIULxl7Lj4c6vZgF0Wu/ed1+jlQ==} - engines: {node: '>=v18'} - hasBin: true - - '@commitlint/config-conventional@19.6.0': - resolution: {integrity: sha512-DJT40iMnTYtBtUfw9ApbsLZFke1zKh6llITVJ+x9mtpHD08gsNXaIRqHTmwTZL3dNX5+WoyK7pCN/5zswvkBCQ==} - engines: {node: '>=v18'} - - '@commitlint/config-validator@19.5.0': - resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==} - engines: {node: '>=v18'} - - '@commitlint/ensure@19.5.0': - resolution: {integrity: sha512-Kv0pYZeMrdg48bHFEU5KKcccRfKmISSm9MvgIgkpI6m+ohFTB55qZlBW6eYqh/XDfRuIO0x4zSmvBjmOwWTwkg==} - engines: {node: '>=v18'} - - '@commitlint/execute-rule@19.5.0': - resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==} - engines: {node: '>=v18'} - - '@commitlint/format@19.5.0': - resolution: {integrity: sha512-yNy088miE52stCI3dhG/vvxFo9e4jFkU1Mj3xECfzp/bIS/JUay4491huAlVcffOoMK1cd296q0W92NlER6r3A==} - engines: {node: '>=v18'} - - '@commitlint/is-ignored@19.6.0': - resolution: {integrity: sha512-Ov6iBgxJQFR9koOupDPHvcHU9keFupDgtB3lObdEZDroiG4jj1rzky60fbQozFKVYRTUdrBGICHG0YVmRuAJmw==} - engines: {node: '>=v18'} - - '@commitlint/lint@19.6.0': - resolution: {integrity: sha512-LRo7zDkXtcIrpco9RnfhOKeg8PAnE3oDDoalnrVU/EVaKHYBWYL1DlRR7+3AWn0JiBqD8yKOfetVxJGdEtZ0tg==} - engines: {node: '>=v18'} - - '@commitlint/load@19.6.1': - resolution: {integrity: sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==} - engines: {node: '>=v18'} - - '@commitlint/message@19.5.0': - resolution: {integrity: sha512-R7AM4YnbxN1Joj1tMfCyBryOC5aNJBdxadTZkuqtWi3Xj0kMdutq16XQwuoGbIzL2Pk62TALV1fZDCv36+JhTQ==} - engines: {node: '>=v18'} - - '@commitlint/parse@19.5.0': - resolution: {integrity: sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw==} - engines: {node: '>=v18'} - - '@commitlint/read@19.5.0': - resolution: {integrity: sha512-TjS3HLPsLsxFPQj6jou8/CZFAmOP2y+6V4PGYt3ihbQKTY1Jnv0QG28WRKl/d1ha6zLODPZqsxLEov52dhR9BQ==} - engines: {node: '>=v18'} - - '@commitlint/resolve-extends@19.5.0': - resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==} - engines: {node: '>=v18'} - - '@commitlint/rules@19.6.0': - resolution: {integrity: sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==} - engines: {node: '>=v18'} - - '@commitlint/to-lines@19.5.0': - resolution: {integrity: sha512-R772oj3NHPkodOSRZ9bBVNq224DOxQtNef5Pl8l2M8ZnkkzQfeSTr4uxawV2Sd3ui05dUVzvLNnzenDBO1KBeQ==} - engines: {node: '>=v18'} - - '@commitlint/top-level@19.5.0': - resolution: {integrity: sha512-IP1YLmGAk0yWrImPRRc578I3dDUI5A2UBJx9FbSOjxe9sTlzFiwVJ+zeMLgAtHMtGZsC8LUnzmW1qRemkFU4ng==} - engines: {node: '>=v18'} - - '@commitlint/types@19.5.0': - resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==} - engines: {node: '>=v18'} - - '@dnd-kit/accessibility@3.1.1': - resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==} - peerDependencies: - react: '>=16.8.0' - - '@dnd-kit/core@6.3.1': - resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - - '@dnd-kit/sortable@10.0.0': - resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==} - peerDependencies: - '@dnd-kit/core': ^6.3.0 - react: '>=16.8.0' - - '@dnd-kit/utilities@3.2.2': - resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} - peerDependencies: - react: '>=16.8.0' - - '@drizzle-team/brocli@0.10.2': - resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} - - '@elysiajs/cors@1.2.0': - resolution: {integrity: sha512-qsJwDAg6WfdQRMfj6uSMcDPSpXvm/zQFeAX1uuJXhIgazH8itSfcDxcH9pMuXVRX1yQNi2pPwNQLJmAcw5mzvw==} - peerDependencies: - elysia: '>= 1.2.0' - - '@elysiajs/eden@1.2.0': - resolution: {integrity: sha512-MpV45ahuF+iFZUg4tyJbLr9qxzY99m8clJVgQrDrz7Qh6eOKQ8MY6vjYMj3Wh21pTIRHPHzOLhVorRGby1/Owg==} - peerDependencies: - elysia: '>= 1.2.0' - - '@elysiajs/jwt@1.2.0': - resolution: {integrity: sha512-5iMoZucIKNAqPKW3n6RBIyCnDWG3kOcqA4WZKtqEff+IjV6AN3dlMSE2XsS0xjIvusLD0UBXS8cxQ9NwIcj6ew==} - peerDependencies: - elysia: '>= 1.2.0' - - '@elysiajs/websocket@0.2.8': - resolution: {integrity: sha512-K9KLmYL1SYuAV353GvmK0V9DG5w7XTOGsa1H1dGB5BUTzvBaMvnwNeqnJQ3cjf9V1c0EjQds0Ty4LfUFvV45jw==} - peerDependencies: - elysia: '>= 0.2.2' - - '@esbuild-kit/core-utils@3.3.2': - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - deprecated: 'Merged into tsx: https://tsx.is' - - '@esbuild-kit/esm-loader@2.6.5': - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - deprecated: 'Merged into tsx: https://tsx.is' - - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@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==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - - '@hookform/resolvers@3.10.0': - resolution: {integrity: sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==} - peerDependencies: - react-hook-form: ^7.0.0 - - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@noble/hashes@1.6.1': - resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} - engines: {node: ^14.21.3 || >=16} - - '@oslojs/asn1@1.0.0': - resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==} - - '@oslojs/binary@1.0.0': - resolution: {integrity: sha512-9RCU6OwXU6p67H4NODbuxv2S3eenuQ4/WFLrsq+K/k682xrznH5EVWA7N4VFk9VYVcbFtKqur5YQQZc0ySGhsQ==} - - '@oslojs/crypto@1.0.1': - resolution: {integrity: sha512-7n08G8nWjAr/Yu3vu9zzrd0L9XnrJfpMioQcvCMxBIiF5orECHe5/3J0jmXRVvgfqMm/+4oxlQ+Sq39COYLcNQ==} - - '@oslojs/encoding@1.1.0': - resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} - - '@paralleldrive/cuid2@2.2.2': - resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} - - '@radix-ui/primitive@1.1.1': - resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} - - '@radix-ui/react-accordion@1.2.2': - resolution: {integrity: sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-arrow@1.1.1': - resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-avatar@1.1.2': - resolution: {integrity: sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-collapsible@1.1.2': - resolution: {integrity: sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-collection@1.1.1': - resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-compose-refs@1.1.1': - resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-context@1.1.1': - resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-dialog@1.1.5': - resolution: {integrity: sha512-LaO3e5h/NOEL4OfXjxD43k9Dx+vn+8n+PCFt6uhX/BADFflllyv3WJG6rgvvSVBxpTch938Qq/LGc2MMxipXPw==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-direction@1.1.0': - resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-dismissable-layer@1.1.4': - resolution: {integrity: sha512-XDUI0IVYVSwjMXxM6P4Dfti7AH+Y4oS/TB+sglZ/EXc7cqLwGAmp1NlMrcUjj7ks6R5WTZuWKv44FBbLpwU3sA==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-dropdown-menu@2.1.5': - resolution: {integrity: sha512-50ZmEFL1kOuLalPKHrLWvPFMons2fGx9TqQCWlPwDVpbAnaUJ1g4XNcKqFNMQymYU0kKWR4MDDi+9vUQBGFgcQ==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-focus-guards@1.1.1': - resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-focus-scope@1.1.1': - resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-id@1.1.0': - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-label@2.1.1': - resolution: {integrity: sha512-UUw5E4e/2+4kFMH7+YxORXGWggtY6sM8WIwh5RZchhLuUg2H1hc98Py+pr8HMz6rdaYrK2t296ZEjYLOCO5uUw==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-menu@2.1.5': - resolution: {integrity: sha512-uH+3w5heoMJtqVCgYOtYVMECk1TOrkUn0OG0p5MqXC0W2ppcuVeESbou8PTHoqAjbdTEK19AGXBWcEtR5WpEQg==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-popper@1.2.1': - resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-portal@1.1.3': - resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-presence@1.1.2': - resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-primitive@2.0.1': - resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-roving-focus@1.1.1': - resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-slot@1.1.1': - resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-tooltip@1.1.7': - resolution: {integrity: sha512-ss0s80BC0+g0+Zc53MvilcnTYSOi4mSuFWBPYPuTOFGjx+pUU+ZrmamMNwS56t8MTFlniA5ocjd4jYm/CdhbOg==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-use-callback-ref@1.1.0': - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-controllable-state@1.1.0': - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-escape-keydown@1.1.0': - resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-layout-effect@1.1.0': - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-rect@1.1.0': - resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-size@1.1.0': - resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-visually-hidden@1.1.1': - resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==} - peerDependencies: - '@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': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/rect@1.1.0': - resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} - - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} - cpu: [x64] - os: [win32] - - '@sinclair/typebox@0.34.13': - resolution: {integrity: sha512-ceVKqyCEgC355Kw0s/0tyfY9MzMQINSykJ/pG2w6YnaZyrcjV48svZpr8lVZrYgWjzOmrIPBhQRAtr/7eJpA5g==} - - '@swc/core-darwin-arm64@1.10.4': - resolution: {integrity: sha512-sV/eurLhkjn/197y48bxKP19oqcLydSel42Qsy2zepBltqUx+/zZ8+/IS0Bi7kaWVFxerbW1IPB09uq8Zuvm3g==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - - '@swc/core-darwin-x64@1.10.4': - resolution: {integrity: sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] - - '@swc/core-linux-arm-gnueabihf@1.10.4': - resolution: {integrity: sha512-zd7fXH5w8s+Sfvn2oO464KDWl+ZX1MJiVmE4Pdk46N3PEaNwE0koTfgx2vQRqRG4vBBobzVvzICC3618WcefOA==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - - '@swc/core-linux-arm64-gnu@1.10.4': - resolution: {integrity: sha512-+UGfoHDxsMZgFD3tABKLeEZHqLNOkxStu+qCG7atGBhS4Slri6h6zijVvf4yI5X3kbXdvc44XV/hrP/Klnui2A==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-arm64-musl@1.10.4': - resolution: {integrity: sha512-cDDj2/uYsOH0pgAnDkovLZvKJpFmBMyXkxEG6Q4yw99HbzO6QzZ5HDGWGWVq/6dLgYKlnnmpjZCPPQIu01mXEg==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - - '@swc/core-linux-x64-gnu@1.10.4': - resolution: {integrity: sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-linux-x64-musl@1.10.4': - resolution: {integrity: sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - - '@swc/core-win32-arm64-msvc@1.10.4': - resolution: {integrity: sha512-e6j5kBu4fIY7fFxFxnZI0MlEovRvp50Lg59Fw+DVbtqHk3C85dckcy5xKP+UoXeuEmFceauQDczUcGs19SRGSQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] - - '@swc/core-win32-ia32-msvc@1.10.4': - resolution: {integrity: sha512-RSYHfdKgNXV/amY5Tqk1EWVsyQnhlsM//jeqMLw5Fy9rfxP592W9UTumNikNRPdjI8wKKzNMXDb1U29tQjN0dg==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - - '@swc/core-win32-x64-msvc@1.10.4': - resolution: {integrity: sha512-1ujYpaqfqNPYdwKBlvJnOqcl+Syn3UrQ4XE0Txz6zMYgyh6cdU6a3pxqLqIUSJ12MtXRA9ZUhEz1ekU3LfLWXw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - - '@swc/core@1.10.4': - resolution: {integrity: sha512-ut3zfiTLORMxhr6y/GBxkHmzcGuVpwJYX4qyXWuBKkpw/0g0S5iO1/wW7RnLnZbAi8wS/n0atRZoaZlXWBkeJg==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '*' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/types@0.1.17': - resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} - - '@tailwindcss/node@4.0.0': - resolution: {integrity: sha512-tfG2uBvo6j6kDIPmntxwXggCOZAt7SkpAXJ6pTIYirNdk5FBqh/CZZ9BZPpgcl/tNFLs6zc4yghM76sqiELG9g==} - - '@tailwindcss/oxide-android-arm64@4.0.0': - resolution: {integrity: sha512-EAhjU0+FIdyGPR+7MbBWubLLPtmOu+p7c2egTTFBRk/n//zYjNvVK0WhcBK5Y7oUB5mo4EjA2mCbY7dcEMWSRw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@tailwindcss/oxide-darwin-arm64@4.0.0': - resolution: {integrity: sha512-hdz4xnSWS11cIp+7ye+3dGHqs0X33z+BXXTtgPOguDWVa+TdXUzwxonklSzf5wlJFuot3dv5eWzhlNai0oYYQg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@tailwindcss/oxide-darwin-x64@4.0.0': - resolution: {integrity: sha512-+dOUUaXTkPKKhtUI9QtVaYg+MpmLh2CN0dHohiYXaBirEyPMkjaT0zbRgzQlNnQWjCVVXPQluIEb0OMEjSTH+Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@tailwindcss/oxide-freebsd-x64@4.0.0': - resolution: {integrity: sha512-CJhGDhxnrmu4SwyC62fA+wP24MhA/TZlIhRHqg1kRuIHoGoVR2uSSm1qxTxU37tSSZj8Up0q6jsBJCAP4k7rgQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0': - resolution: {integrity: sha512-Wy7Av0xzXfY2ujZBcYy4+7GQm25/J1iHvlQU2CfwdDCuPWfIjYzR6kggz+uVdSJyKV2s64znchBxRE8kV4uXSA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-gnu@4.0.0': - resolution: {integrity: sha512-srwBo2l6pvM0swBntc1ucuhGsfFOLkqPRFQ3dWARRTfSkL1U9nAsob2MKc/n47Eva/W9pZZgMOuf7rDw8pK1Ew==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-arm64-musl@4.0.0': - resolution: {integrity: sha512-abhusswkduYWuezkBmgo0K0/erGq3M4Se5xP0fhc/0dKs0X/rJUYYCFWntHb3IGh3aVzdQ0SXJs93P76DbUqtw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-gnu@4.0.0': - resolution: {integrity: sha512-hGtRYIUEx377/HlU49+jvVKKwU1MDSKYSMMs0JFO2Wp7LGxk5+0j5+RBk9NFnmp/lbp32yPTgIOO5m1BmDq36A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-linux-x64-musl@4.0.0': - resolution: {integrity: sha512-7xgQgSAThs0I14VAgmxpJnK6XFSZBxHMGoDXkLyYkEnu+8WRQMbCP93dkCUn2PIv+Q+JulRgc00PJ09uORSLXQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tailwindcss/oxide-win32-arm64-msvc@4.0.0': - resolution: {integrity: sha512-qEcgTIPcWY5ZE7f6VxQ/JPrSFMcehzVIlZj7sGE3mVd5YWreAT+Fl1vSP8q2pjnWXn0avZG3Iw7a2hJQAm+fTQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@tailwindcss/oxide-win32-x64-msvc@4.0.0': - resolution: {integrity: sha512-bqT0AY8RXb8GMDy28JtngvqaOSB2YixbLPLvUo6I6lkvvUwA6Eqh2Tj60e2Lh7O/k083f8tYiB0WEK4wmTI7Jg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@tailwindcss/oxide@4.0.0': - resolution: {integrity: sha512-W3FjpJgy4VV1JiL7iBYDf2n/WkeDg1Il+0Q7eWnqPyvkPPCo/Mbwc5BiaT7dfBNV6tQKAhVE34rU5xl8pSl50w==} - engines: {node: '>= 10'} - - '@tailwindcss/postcss@4.0.0': - resolution: {integrity: sha512-lI2bPk4TvwavHdehjr5WiC6HnZ59hacM6ySEo4RM/H7tsjWd8JpqiNW9ThH7rO/yKtrn4mGBoXshpvn8clXjPg==} - - '@tanstack/history@1.90.0': - resolution: {integrity: sha512-riNhDGm+fAwxgZRJ0J/36IZis1UDHsDCNIxfEodbw6BgTWJr0ah+G20V4HT91uBXiCqYFvX3somlfTLhS5yHDA==} - engines: {node: '>=12'} - - '@tanstack/history@1.97.8': - resolution: {integrity: sha512-+0R1Xe2lRLeK4htiLRCv0fyxDnrCQbK/ltrJ9rofUwMdh/jQ5+tjGBPzOlyUQzTZg7Rzv8NzVzQWuyxjQYga2g==} - engines: {node: '>=12'} - - '@tanstack/query-core@5.64.2': - resolution: {integrity: sha512-hdO8SZpWXoADNTWXV9We8CwTkXU88OVWRBcsiFrk7xJQnhm6WRlweDzMD+uH+GnuieTBVSML6xFa17C2cNV8+g==} - - '@tanstack/query-devtools@5.64.2': - resolution: {integrity: sha512-3DautR5UpVZdk/qNIhioZVF7g8fdQZ1U98sBEEk4Tzz3tihSBNMPgwlP40nzgbPEDBIrn/j/oyyvNBVSo083Vw==} - - '@tanstack/react-query-devtools@5.64.2': - resolution: {integrity: sha512-+ZjJVnPzc8BUV/Eklu2k9T/IAyAyvwoCHqOaOrk2sbU33LFhM52BpX4eyENXn0bx5LwV3DJZgEQlIzucoemfGQ==} - peerDependencies: - '@tanstack/react-query': ^5.64.2 - react: ^18 || ^19 - - '@tanstack/react-query@5.64.2': - resolution: {integrity: sha512-3pakNscZNm8KJkxmovvtZ4RaXLyiYYobwleTMvpIGUoKRa8j8VlrQKNl5W8VUEfVfZKkikvXVddLuWMbcSCA1Q==} - peerDependencies: - react: ^18 || ^19 - - '@tanstack/react-router@1.94.1': - resolution: {integrity: sha512-48dGuj9wEz/CHYPDd4WSfhYrGDFs/5vWTFkGBeO3z7AnmhgAdOR7N4GDbebo0fNNS4fNOWrbg7u09uknINEN6Q==} - engines: {node: '>=12'} - peerDependencies: - react: '>=18' - react-dom: '>=18' - - '@tanstack/react-router@1.97.14': - resolution: {integrity: sha512-FQi/Mg8dmpPeLH0Tu7mwoIHhea2WY9DAp5retATxf++y1nv8H6eL0P11RMpL/fMDpr8eoX4OHNY59Zph74q1bA==} - engines: {node: '>=12'} - peerDependencies: - react: '>=18' - react-dom: '>=18' - - '@tanstack/react-store@0.7.0': - resolution: {integrity: sha512-S/Rq17HaGOk+tQHV/yrePMnG1xbsKZIl/VsNWnNXt4XW+tTY8dTlvpJH2ZQ3GRALsusG5K6Q3unAGJ2pd9W/Ng==} - 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/router-devtools@1.97.14': - resolution: {integrity: sha512-dU1kvvq3ClnU7lz6Kc5PQAK6gIbdYkcihKNaCh4f/8K0RT+8C80ySeq4f+uRED+YLv+IFHdSMQYjOoFh48Q/4w==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/react-router': ^1.97.14 - react: '>=18' - react-dom: '>=18' - - '@tanstack/router-generator@1.97.14': - resolution: {integrity: sha512-hNICcT3AsNYJT4bwppwgQTB8pFY5Mvob69TDyDLI28rRg95BtP2gPUzistFGdAxpyQXg+AVNnehpemgdon+FMQ==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/react-router': ^1.97.14 - peerDependenciesMeta: - '@tanstack/react-router': - optional: true - - '@tanstack/router-plugin@1.97.14': - resolution: {integrity: sha512-ZcX6xNJcvfbd5pr9yYfG8LKGY6f8xoiwPOx4O1aVUeBAV3EUOmrpcGwd0jLM5QmrT7YuEUe29O0IRVrP8ABG3g==} - engines: {node: '>=12'} - peerDependencies: - '@rsbuild/core': '>=1.0.2' - vite: '>=5.0.0 || >=6.0.0' - webpack: '>=5.92.0' - peerDependenciesMeta: - '@rsbuild/core': - optional: true - vite: - optional: true - webpack: - optional: true - - '@tanstack/store@0.7.0': - resolution: {integrity: sha512-CNIhdoUsmD2NolYuaIs8VfWM467RK6oIBAW4nPEKZhg1smZ+/CwtCdpURgp7nxSqOaV9oKkzdWD80+bC66F/Jg==} - - '@tanstack/virtual-file-routes@1.97.8': - resolution: {integrity: sha512-wGrY0o997lg/xlMlhhJdJHxdllG+cPXnMb1oeaxijL9wqUUnKwAUERoPeKZRLFhuhfH//4cmXsHF23d0F7qGWA==} - engines: {node: '>=12'} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/bun@1.2.0': - resolution: {integrity: sha512-5N1JqdahfpBlAv4wy6svEYcd/YfO2GNrbL95JOmFx8nkE6dbK4R0oSE5SpBA4vBRqgrOUAXF8Dpiz+gi7r80SA==} - - '@types/conventional-commits-parser@5.0.1': - resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} - - '@types/diff@6.0.0': - resolution: {integrity: sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/node@20.12.14': - resolution: {integrity: sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==} - - '@types/node@22.10.10': - resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==} - - '@types/react-dom@19.0.3': - resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==} - peerDependencies: - '@types/react': ^19.0.0 - - '@types/react@19.0.8': - resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} - - '@types/ws@8.5.13': - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} - - '@vitejs/plugin-react-swc@3.7.2': - resolution: {integrity: sha512-y0byko2b2tSVVf5Gpng1eEhX1OvPC7x8yns1Fx8jDzlJp4LS6CMkCPfLw47cjyoMrshQDoQw4qcgjsU9VvlCew==} - peerDependencies: - vite: ^4 || ^5 || ^6 - - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - 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-ify@1.0.0: - resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - - babel-dead-code-elimination@1.0.8: - resolution: {integrity: sha512-og6HQERk0Cmm+nTT4Od2wbPtgABXFMPaHACjbKLulZIFMkYyXZLkUGuAxdgpMJBrxyt/XFpSz++lNzjbcMnPkQ==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - better-sqlite3@11.8.1: - resolution: {integrity: sha512-9BxNaBkblMjhJW8sMRZxnxVTRgbRmssZW0Oxc1MPBTfiR+WW21e2Mk4qu8CzrcZb1LwPCnFsfDEzq+SNcBU8eg==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.24.3: - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} - 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==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - bun-types@1.2.0: - resolution: {integrity: sha512-KEaJxyZfbV/c4eyG0vyehDpYmBGreNiQbZIqvVHJwZ4BmeuWlNZ7EAzMN2Zcd7ailmS/tGVW0BgYbGf+lGEpWw==} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001690: - resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} - - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - - class-variance-authority@0.7.1: - resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - compare-func@2.0.0: - resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} - - conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} - - conventional-changelog-conventionalcommits@7.0.2: - resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} - engines: {node: '>=16'} - - conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} - hasBin: true - - 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'} - - cosmiconfig-typescript-loader@6.1.0: - resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} - engines: {node: '>=v18'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=9' - typescript: '>=5' - - cosmiconfig@9.0.0: - resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - dargs@8.1.0: - resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} - engines: {node: '>=12'} - - date-fns@4.1.0: - resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - - detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - - diff@7.0.0: - resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} - engines: {node: '>=0.3.1'} - - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - drizzle-kit@0.30.2: - resolution: {integrity: sha512-vhdLrxWA32WNVF77NabpSnX7pQBornx64VDQDmKddRonOB2Xe/yY4glQ7rECoa+ogqcQNo7VblLUbeBK6Zn9Ow==} - hasBin: true - - drizzle-orm@0.38.4: - resolution: {integrity: sha512-s7/5BpLKO+WJRHspvpqTydxFob8i1vo2rEx4pY6TGY7QSMuUfWUuzaY0DIpXCkgHOo37BaFC+SJQb99dDUXT3Q==} - peerDependencies: - '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=4' - '@electric-sql/pglite': '>=0.2.0' - '@libsql/client': '>=0.10.0' - '@libsql/client-wasm': '>=0.10.0' - '@neondatabase/serverless': '>=0.10.0' - '@op-engineering/op-sqlite': '>=2' - '@opentelemetry/api': ^1.4.1 - '@planetscale/database': '>=1' - '@prisma/client': '*' - '@tidbcloud/serverless': '*' - '@types/better-sqlite3': '*' - '@types/pg': '*' - '@types/react': '>=18' - '@types/sql.js': '*' - '@vercel/postgres': '>=0.8.0' - '@xata.io/client': '*' - better-sqlite3: '>=7' - bun-types: '*' - expo-sqlite: '>=14.0.0' - knex: '*' - kysely: '*' - mysql2: '>=2' - pg: '>=8' - postgres: '>=3' - prisma: '*' - react: '>=18' - sql.js: '>=1' - sqlite3: '>=5' - peerDependenciesMeta: - '@aws-sdk/client-rds-data': - optional: true - '@cloudflare/workers-types': - optional: true - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - '@libsql/client-wasm': - optional: true - '@neondatabase/serverless': - optional: true - '@op-engineering/op-sqlite': - optional: true - '@opentelemetry/api': - optional: true - '@planetscale/database': - optional: true - '@prisma/client': - optional: true - '@tidbcloud/serverless': - optional: true - '@types/better-sqlite3': - optional: true - '@types/pg': - optional: true - '@types/react': - optional: true - '@types/sql.js': - optional: true - '@vercel/postgres': - optional: true - '@xata.io/client': - optional: true - better-sqlite3: - optional: true - bun-types: - optional: true - expo-sqlite: - optional: true - knex: - optional: true - kysely: - optional: true - mysql2: - optional: true - pg: - optional: true - postgres: - optional: true - prisma: - optional: true - react: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - - drizzle-typebox@0.2.1: - resolution: {integrity: sha512-DQgApZC+qliE6PFQj496BNv+k3B3Y25Z27ZDYA/drHvF9ta4M3bqrhv2WuGePbq662KTVIsb/UL5GT57hJhYdA==} - peerDependencies: - '@sinclair/typebox': '>=0.34.8' - drizzle-orm: '>=0.36.0' - - electron-to-chromium@1.5.76: - resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} - - elysia@1.2.10: - resolution: {integrity: sha512-QcNl2FjhHFRpKaqy1NoMpyCjJ7OcKBnHwLUkqGu09QwIV84PFb82ILvYJG4GS1RbGv76OA50luaqBLrM3SLZ2w==} - peerDependencies: - '@sinclair/typebox': '>= 0.34.0' - openapi-types: '>= 12.0.0' - typescript: '>= 5.0.0' - peerDependenciesMeta: - openapi-types: - optional: true - typescript: - optional: true - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@5.18.0: - resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} - engines: {node: '>=10.13.0'} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - esbuild-register@3.6.0: - resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} - peerDependencies: - esbuild: '>=0.12 <1' - - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@7.0.0: - resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} - engines: {node: '>=18'} - - framer-motion@12.0.3: - resolution: {integrity: sha512-5yy1sAqOjBUo+8O+kOa6/rIJ1AQLME8vEpUwwMf9Gv6YktaeeTd4bf0sb89AWwDVX7GwwuLebH94bakGOqWQ/g==} - peerDependencies: - '@emotion/is-prop-valid': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/is-prop-valid': - optional: true - react: - optional: true - react-dom: - optional: true - - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} - - get-tsconfig@4.8.1: - resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} - - git-raw-commits@4.0.0: - resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} - engines: {node: '>=16'} - hasBin: true - - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - global-directory@4.0.1: - resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} - engines: {node: '>=18'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@15.14.0: - resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} - engines: {node: '>=18'} - - goober@2.1.16: - resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} - peerDependencies: - csstype: ^3.0.10 - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} - hasBin: true - - jose@4.15.9: - resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - - lightningcss-darwin-arm64@1.29.1: - resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.29.1: - resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.29.1: - resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.29.1: - resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.29.1: - resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-arm64-musl@1.29.1: - resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - - lightningcss-linux-x64-gnu@1.29.1: - resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-linux-x64-musl@1.29.1: - resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - - lightningcss-win32-arm64-msvc@1.29.1: - resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.29.1: - resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.29.1: - resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} - engines: {node: '>= 12.0.0'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - lodash.kebabcase@4.1.1: - resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - - lodash.snakecase@4.1.1: - resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - - lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - lodash.upperfirst@4.3.1: - resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lucide-react@0.474.0: - resolution: {integrity: sha512-CmghgHkh0OJNmxGKWc0qfPJCYHASPMVSyGY8fj3xgk4v84ItqDg64JNKFZn5hC6E0vHi6gxnbCgwhyVB09wQtA==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - memoirist@0.2.0: - resolution: {integrity: sha512-DA1V11OWsKmYjgYHfT1luus0FtTjUbILfI9s5M+ckK29tBLON6GDhH5GwxDz7E1ou4Bdzm9vhbeCaRAWxwG+0g==} - - meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - - motion-dom@12.0.0: - resolution: {integrity: sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==} - - motion-utils@12.0.0: - resolution: {integrity: sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - nanoid@4.0.2: - resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} - engines: {node: ^14 || ^16 || >=18} - hasBin: true - - napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - - node-abi@3.71.0: - resolution: {integrity: sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==} - engines: {node: '>=10'} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - postcss@8.5.1: - resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} - engines: {node: ^10 || ^12 || >=14} - - prebuild-install@7.1.2: - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} - engines: {node: '>=10'} - hasBin: true - - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} - engines: {node: '>=14'} - hasBin: true - - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - - raikiri@0.0.0-beta.8: - resolution: {integrity: sha512-cH/yfvkiGkN8IBB2MkRHikpPurTnd2sMkQ/xtGpXrp3O76P4ppcWPb+86mJaBDzKaclLnSX+9NnT79D7ifH4/w==} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-dom@19.0.0: - resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} - peerDependencies: - react: ^19.0.0 - - react-hook-form@7.54.2: - resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^16.8.0 || ^17 || ^18 || ^19 - - react-remove-scroll-bar@2.3.8: - resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - react-remove-scroll@2.6.2: - resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - react-style-singleton@2.2.3: - resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} - engines: {node: '>=0.10.0'} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - scheduler@0.25.0: - resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - - source-map-js@1.2.1: - 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==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - tailwind-merge@2.6.0: - resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - - tailwindcss-animate@1.0.7: - resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders' - - tailwindcss@4.0.0: - resolution: {integrity: sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - - text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsx@4.19.2: - resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} - engines: {node: '>=18.0.0'} - hasBin: true - - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - turbo-darwin-64@2.3.4: - resolution: {integrity: sha512-uOi/cUIGQI7uakZygH+cZQ5D4w+aMLlVCN2KTGot+cmefatps2ZmRRufuHrEM0Rl63opdKD8/JIu+54s25qkfg==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.3.4: - resolution: {integrity: sha512-IIM1Lq5R+EGMtM1YFGl4x8Xkr0MWb4HvyU8N4LNoQ1Be5aycrOE+VVfH+cDg/Q4csn+8bxCOxhRp5KmUflrVTQ==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.3.4: - resolution: {integrity: sha512-1aD2EfR7NfjFXNH3mYU5gybLJEFi2IGOoKwoPLchAFRQ6OEJQj201/oNo9CDL75IIrQo64/NpEgVyZtoPlfhfA==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.3.4: - resolution: {integrity: sha512-MxTpdKwxCaA5IlybPxgGLu54fT2svdqTIxRd0TQmpRJIjM0s4kbM+7YiLk0mOh6dGqlWPUsxz/A0Mkn8Xr5o7Q==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@2.3.4: - resolution: {integrity: sha512-yyCrWqcRGu1AOOlrYzRnizEtdkqi+qKP0MW9dbk9OsMDXaOI5jlWtTY/AtWMkLw/czVJ7yS9Ex1vi9DB6YsFvw==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.3.4: - resolution: {integrity: sha512-PggC3qH+njPfn1PDVwKrQvvQby8X09ufbqZ2Ha4uSu+5TvPorHHkAbZVHKYj2Y+tvVzxRzi4Sv6NdHXBS9Be5w==} - cpu: [arm64] - os: [win32] - - turbo@2.3.4: - resolution: {integrity: sha512-1kiLO5C0Okh5ay1DbHsxkPsw9Sjsbjzm6cF85CpWjR0BIyBFNDbKqtUyqGADRS1dbbZoQanJZVj4MS5kk8J42Q==} - hasBin: true - - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - use-callback-ref@1.3.3: - resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - use-sidecar@1.1.3: - resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - use-sync-external-store@1.4.0: - resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - vite@6.0.11: - resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} - engines: {node: '>=12.20'} - - zod@3.24.1: - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} - - zustand@5.0.3: - resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true - -snapshots: - - '@alloc/quick-lru@5.2.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.5': {} - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.5 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.5': - dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-compilation-targets@7.26.5': - dependencies: - '@babel/compat-data': 7.26.5 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.3 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-plugin-utils@7.26.5': {} - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.5 - - '@babel/parser@7.26.5': - dependencies: - '@babel/types': 7.26.5 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 - - '@babel/traverse@7.26.5': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/template': 7.25.9 - '@babel/types': 7.26.5 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.5': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@biomejs/biome@1.9.4': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.9.4 - '@biomejs/cli-darwin-x64': 1.9.4 - '@biomejs/cli-linux-arm64': 1.9.4 - '@biomejs/cli-linux-arm64-musl': 1.9.4 - '@biomejs/cli-linux-x64': 1.9.4 - '@biomejs/cli-linux-x64-musl': 1.9.4 - '@biomejs/cli-win32-arm64': 1.9.4 - '@biomejs/cli-win32-x64': 1.9.4 - - '@biomejs/cli-darwin-arm64@1.9.4': - optional: true - - '@biomejs/cli-darwin-x64@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64@1.9.4': - optional: true - - '@biomejs/cli-linux-x64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-x64@1.9.4': - optional: true - - '@biomejs/cli-win32-arm64@1.9.4': - optional: true - - '@biomejs/cli-win32-x64@1.9.4': - optional: true - - '@commitlint/cli@19.6.1(@types/node@22.10.10)(typescript@5.5.4)': - dependencies: - '@commitlint/format': 19.5.0 - '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.10)(typescript@5.5.4) - '@commitlint/read': 19.5.0 - '@commitlint/types': 19.5.0 - tinyexec: 0.3.2 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - typescript - - '@commitlint/config-conventional@19.6.0': - dependencies: - '@commitlint/types': 19.5.0 - conventional-changelog-conventionalcommits: 7.0.2 - - '@commitlint/config-validator@19.5.0': - dependencies: - '@commitlint/types': 19.5.0 - ajv: 8.17.1 - - '@commitlint/ensure@19.5.0': - dependencies: - '@commitlint/types': 19.5.0 - lodash.camelcase: 4.3.0 - lodash.kebabcase: 4.1.1 - lodash.snakecase: 4.1.1 - lodash.startcase: 4.4.0 - lodash.upperfirst: 4.3.1 - - '@commitlint/execute-rule@19.5.0': {} - - '@commitlint/format@19.5.0': - dependencies: - '@commitlint/types': 19.5.0 - chalk: 5.4.1 - - '@commitlint/is-ignored@19.6.0': - dependencies: - '@commitlint/types': 19.5.0 - semver: 7.6.3 - - '@commitlint/lint@19.6.0': - dependencies: - '@commitlint/is-ignored': 19.6.0 - '@commitlint/parse': 19.5.0 - '@commitlint/rules': 19.6.0 - '@commitlint/types': 19.5.0 - - '@commitlint/load@19.6.1(@types/node@22.10.10)(typescript@5.5.4)': - dependencies: - '@commitlint/config-validator': 19.5.0 - '@commitlint/execute-rule': 19.5.0 - '@commitlint/resolve-extends': 19.5.0 - '@commitlint/types': 19.5.0 - chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.5.4) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.10)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - transitivePeerDependencies: - - '@types/node' - - typescript - - '@commitlint/message@19.5.0': {} - - '@commitlint/parse@19.5.0': - dependencies: - '@commitlint/types': 19.5.0 - conventional-changelog-angular: 7.0.0 - conventional-commits-parser: 5.0.0 - - '@commitlint/read@19.5.0': - dependencies: - '@commitlint/top-level': 19.5.0 - '@commitlint/types': 19.5.0 - git-raw-commits: 4.0.0 - minimist: 1.2.8 - tinyexec: 0.3.2 - - '@commitlint/resolve-extends@19.5.0': - dependencies: - '@commitlint/config-validator': 19.5.0 - '@commitlint/types': 19.5.0 - global-directory: 4.0.1 - import-meta-resolve: 4.1.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 - - '@commitlint/rules@19.6.0': - dependencies: - '@commitlint/ensure': 19.5.0 - '@commitlint/message': 19.5.0 - '@commitlint/to-lines': 19.5.0 - '@commitlint/types': 19.5.0 - - '@commitlint/to-lines@19.5.0': {} - - '@commitlint/top-level@19.5.0': - dependencies: - find-up: 7.0.0 - - '@commitlint/types@19.5.0': - dependencies: - '@types/conventional-commits-parser': 5.0.1 - chalk: 5.4.1 - - '@dnd-kit/accessibility@3.1.1(react@19.0.0)': - dependencies: - react: 19.0.0 - tslib: 2.8.1 - - '@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@dnd-kit/accessibility': 3.1.1(react@19.0.0) - '@dnd-kit/utilities': 3.2.2(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - tslib: 2.8.1 - - '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@dnd-kit/utilities': 3.2.2(react@19.0.0) - react: 19.0.0 - tslib: 2.8.1 - - '@dnd-kit/utilities@3.2.2(react@19.0.0)': - dependencies: - react: 19.0.0 - tslib: 2.8.1 - - '@drizzle-team/brocli@0.10.2': {} - - '@elysiajs/cors@1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3))': - dependencies: - elysia: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - - '@elysiajs/eden@1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3))': - dependencies: - elysia: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - - '@elysiajs/jwt@1.2.0(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3))': - dependencies: - elysia: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - jose: 4.15.9 - - '@elysiajs/websocket@0.2.8(elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3))': - dependencies: - elysia: 1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3) - nanoid: 4.0.2 - raikiri: 0.0.0-beta.8 - - '@esbuild-kit/core-utils@3.3.2': - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - - '@esbuild-kit/esm-loader@2.6.5': - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.8.1 - - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.23.1': - optional: true - - '@esbuild/aix-ppc64@0.24.2': - optional: true - - '@esbuild/android-arm64@0.18.20': - optional: true - - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.23.1': - optional: true - - '@esbuild/android-arm64@0.24.2': - optional: true - - '@esbuild/android-arm@0.18.20': - optional: true - - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-arm@0.23.1': - optional: true - - '@esbuild/android-arm@0.24.2': - optional: true - - '@esbuild/android-x64@0.18.20': - optional: true - - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/android-x64@0.23.1': - optional: true - - '@esbuild/android-x64@0.24.2': - optional: true - - '@esbuild/darwin-arm64@0.18.20': - optional: true - - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.23.1': - optional: true - - '@esbuild/darwin-arm64@0.24.2': - optional: true - - '@esbuild/darwin-x64@0.18.20': - optional: true - - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.23.1': - optional: true - - '@esbuild/darwin-x64@0.24.2': - optional: true - - '@esbuild/freebsd-arm64@0.18.20': - optional: true - - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.23.1': - optional: true - - '@esbuild/freebsd-arm64@0.24.2': - optional: true - - '@esbuild/freebsd-x64@0.18.20': - optional: true - - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.23.1': - optional: true - - '@esbuild/freebsd-x64@0.24.2': - optional: true - - '@esbuild/linux-arm64@0.18.20': - optional: true - - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.23.1': - optional: true - - '@esbuild/linux-arm64@0.24.2': - optional: true - - '@esbuild/linux-arm@0.18.20': - optional: true - - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-arm@0.23.1': - optional: true - - '@esbuild/linux-arm@0.24.2': - optional: true - - '@esbuild/linux-ia32@0.18.20': - optional: true - - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.23.1': - optional: true - - '@esbuild/linux-ia32@0.24.2': - optional: true - - '@esbuild/linux-loong64@0.18.20': - optional: true - - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.23.1': - optional: true - - '@esbuild/linux-loong64@0.24.2': - optional: true - - '@esbuild/linux-mips64el@0.18.20': - optional: true - - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.23.1': - optional: true - - '@esbuild/linux-mips64el@0.24.2': - optional: true - - '@esbuild/linux-ppc64@0.18.20': - optional: true - - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.23.1': - optional: true - - '@esbuild/linux-ppc64@0.24.2': - optional: true - - '@esbuild/linux-riscv64@0.18.20': - optional: true - - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.23.1': - optional: true - - '@esbuild/linux-riscv64@0.24.2': - optional: true - - '@esbuild/linux-s390x@0.18.20': - optional: true - - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.23.1': - optional: true - - '@esbuild/linux-s390x@0.24.2': - optional: true - - '@esbuild/linux-x64@0.18.20': - optional: true - - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/linux-x64@0.23.1': - optional: true - - '@esbuild/linux-x64@0.24.2': - optional: true - - '@esbuild/netbsd-arm64@0.24.2': - optional: true - - '@esbuild/netbsd-x64@0.18.20': - optional: true - - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.23.1': - optional: true - - '@esbuild/netbsd-x64@0.24.2': - optional: true - - '@esbuild/openbsd-arm64@0.23.1': - optional: true - - '@esbuild/openbsd-arm64@0.24.2': - optional: true - - '@esbuild/openbsd-x64@0.18.20': - optional: true - - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.23.1': - optional: true - - '@esbuild/openbsd-x64@0.24.2': - optional: true - - '@esbuild/sunos-x64@0.18.20': - optional: true - - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.23.1': - optional: true - - '@esbuild/sunos-x64@0.24.2': - optional: true - - '@esbuild/win32-arm64@0.18.20': - optional: true - - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.23.1': - optional: true - - '@esbuild/win32-arm64@0.24.2': - optional: true - - '@esbuild/win32-ia32@0.18.20': - optional: true - - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.23.1': - optional: true - - '@esbuild/win32-ia32@0.24.2': - optional: true - - '@esbuild/win32-x64@0.18.20': - optional: true - - '@esbuild/win32-x64@0.19.12': - optional: true - - '@esbuild/win32-x64@0.23.1': - optional: true - - '@esbuild/win32-x64@0.24.2': - optional: true - - '@floating-ui/core@1.6.9': - dependencies: - '@floating-ui/utils': 0.2.9 - - '@floating-ui/dom@1.6.13': - dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 - - '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@floating-ui/dom': 1.6.13 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - - '@floating-ui/utils@0.2.9': {} - - '@hookform/resolvers@3.10.0(react-hook-form@7.54.2(react@19.0.0))': - dependencies: - react-hook-form: 7.54.2(react@19.0.0) - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@noble/hashes@1.6.1': {} - - '@oslojs/asn1@1.0.0': - dependencies: - '@oslojs/binary': 1.0.0 - - '@oslojs/binary@1.0.0': {} - - '@oslojs/crypto@1.0.1': - dependencies: - '@oslojs/asn1': 1.0.0 - '@oslojs/binary': 1.0.0 - - '@oslojs/encoding@1.1.0': {} - - '@paralleldrive/cuid2@2.2.2': - dependencies: - '@noble/hashes': 1.6.1 - - '@radix-ui/primitive@1.1.1': {} - - '@radix-ui/react-accordion@1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-avatar@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-context@1.1.1(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-dialog@1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - aria-hidden: 1.2.4 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.2(@types/react@19.0.8)(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-direction@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-dismissable-layer@1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-dropdown-menu@2.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-menu': 2.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-id@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-label@2.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-menu@2.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - aria-hidden: 1.2.4 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.2(@types/react@19.0.8)(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/rect': 1.1.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-slot': 1.1.1(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-slot@1.1.1(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-tooltip@1.1.7(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/rect': 1.1.0 - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-use-size@1.1.0(@types/react@19.0.8)(react@19.0.0)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0) - react: 19.0.0 - optionalDependencies: - '@types/react': 19.0.8 - - '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - '@types/react-dom': 19.0.3(@types/react@19.0.8) - - '@radix-ui/rect@1.1.0': {} - - '@rollup/rollup-android-arm-eabi@4.29.1': - optional: true - - '@rollup/rollup-android-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-x64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.29.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.29.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.29.1': - optional: true - - '@sinclair/typebox@0.34.13': {} - - '@swc/core-darwin-arm64@1.10.4': - optional: true - - '@swc/core-darwin-x64@1.10.4': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.10.4': - optional: true - - '@swc/core-linux-arm64-gnu@1.10.4': - optional: true - - '@swc/core-linux-arm64-musl@1.10.4': - optional: true - - '@swc/core-linux-x64-gnu@1.10.4': - optional: true - - '@swc/core-linux-x64-musl@1.10.4': - optional: true - - '@swc/core-win32-arm64-msvc@1.10.4': - optional: true - - '@swc/core-win32-ia32-msvc@1.10.4': - optional: true - - '@swc/core-win32-x64-msvc@1.10.4': - optional: true - - '@swc/core@1.10.4': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.17 - optionalDependencies: - '@swc/core-darwin-arm64': 1.10.4 - '@swc/core-darwin-x64': 1.10.4 - '@swc/core-linux-arm-gnueabihf': 1.10.4 - '@swc/core-linux-arm64-gnu': 1.10.4 - '@swc/core-linux-arm64-musl': 1.10.4 - '@swc/core-linux-x64-gnu': 1.10.4 - '@swc/core-linux-x64-musl': 1.10.4 - '@swc/core-win32-arm64-msvc': 1.10.4 - '@swc/core-win32-ia32-msvc': 1.10.4 - '@swc/core-win32-x64-msvc': 1.10.4 - - '@swc/counter@0.1.3': {} - - '@swc/types@0.1.17': - dependencies: - '@swc/counter': 0.1.3 - - '@tailwindcss/node@4.0.0': - dependencies: - enhanced-resolve: 5.18.0 - jiti: 2.4.2 - tailwindcss: 4.0.0 - - '@tailwindcss/oxide-android-arm64@4.0.0': - optional: true - - '@tailwindcss/oxide-darwin-arm64@4.0.0': - optional: true - - '@tailwindcss/oxide-darwin-x64@4.0.0': - optional: true - - '@tailwindcss/oxide-freebsd-x64@4.0.0': - optional: true - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0': - optional: true - - '@tailwindcss/oxide-linux-arm64-gnu@4.0.0': - optional: true - - '@tailwindcss/oxide-linux-arm64-musl@4.0.0': - optional: true - - '@tailwindcss/oxide-linux-x64-gnu@4.0.0': - optional: true - - '@tailwindcss/oxide-linux-x64-musl@4.0.0': - optional: true - - '@tailwindcss/oxide-win32-arm64-msvc@4.0.0': - optional: true - - '@tailwindcss/oxide-win32-x64-msvc@4.0.0': - optional: true - - '@tailwindcss/oxide@4.0.0': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.0.0 - '@tailwindcss/oxide-darwin-arm64': 4.0.0 - '@tailwindcss/oxide-darwin-x64': 4.0.0 - '@tailwindcss/oxide-freebsd-x64': 4.0.0 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0 - '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0 - '@tailwindcss/oxide-linux-arm64-musl': 4.0.0 - '@tailwindcss/oxide-linux-x64-gnu': 4.0.0 - '@tailwindcss/oxide-linux-x64-musl': 4.0.0 - '@tailwindcss/oxide-win32-arm64-msvc': 4.0.0 - '@tailwindcss/oxide-win32-x64-msvc': 4.0.0 - - '@tailwindcss/postcss@4.0.0': - dependencies: - '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.0.0 - '@tailwindcss/oxide': 4.0.0 - lightningcss: 1.29.1 - postcss: 8.5.1 - tailwindcss: 4.0.0 - - '@tanstack/history@1.90.0': {} - - '@tanstack/history@1.97.8': {} - - '@tanstack/query-core@5.64.2': {} - - '@tanstack/query-devtools@5.64.2': {} - - '@tanstack/react-query-devtools@5.64.2(@tanstack/react-query@5.64.2(react@19.0.0))(react@19.0.0)': - dependencies: - '@tanstack/query-devtools': 5.64.2 - '@tanstack/react-query': 5.64.2(react@19.0.0) - react: 19.0.0 - - '@tanstack/react-query@5.64.2(react@19.0.0)': - dependencies: - '@tanstack/query-core': 5.64.2 - react: 19.0.0 - - '@tanstack/react-router@1.94.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@tanstack/history': 1.90.0 - '@tanstack/react-store': 0.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - jsesc: 3.1.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - '@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@tanstack/history': 1.97.8 - '@tanstack/react-store': 0.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - jsesc: 3.1.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - '@tanstack/react-store@0.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@tanstack/store': 0.7.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - use-sync-external-store: 1.4.0(react@19.0.0) - - '@tanstack/router-devtools@1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(csstype@3.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@tanstack/react-router': 1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - clsx: 2.1.1 - goober: 2.1.16(csstype@3.1.3) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - transitivePeerDependencies: - - csstype - - '@tanstack/router-generator@1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0))': - dependencies: - '@tanstack/virtual-file-routes': 1.97.8 - prettier: 3.4.2 - tsx: 4.19.2 - zod: 3.24.1 - optionalDependencies: - '@tanstack/react-router': 1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - - '@tanstack/router-plugin@1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@babel/core': 7.26.0 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 - '@tanstack/router-generator': 1.97.14(@tanstack/react-router@1.97.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) - '@tanstack/virtual-file-routes': 1.97.8 - '@types/babel__core': 7.20.5 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - '@types/diff': 6.0.0 - babel-dead-code-elimination: 1.0.8 - chalk: 5.4.1 - chokidar: 3.6.0 - diff: 7.0.0 - unplugin: 1.16.1 - zod: 3.24.1 - optionalDependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - '@tanstack/react-router' - - supports-color - - '@tanstack/store@0.7.0': {} - - '@tanstack/virtual-file-routes@1.97.8': {} - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.26.5 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 - - '@types/babel__traverse@7.20.6': - dependencies: - '@babel/types': 7.26.5 - - '@types/bun@1.2.0': - dependencies: - bun-types: 1.2.0 - - '@types/conventional-commits-parser@5.0.1': - dependencies: - '@types/node': 22.10.10 - - '@types/diff@6.0.0': {} - - '@types/estree@1.0.6': {} - - '@types/node@20.12.14': - dependencies: - undici-types: 5.26.5 - - '@types/node@22.10.10': - dependencies: - undici-types: 6.20.0 - - '@types/react-dom@19.0.3(@types/react@19.0.8)': - dependencies: - '@types/react': 19.0.8 - - '@types/react@19.0.8': - dependencies: - csstype: 3.1.3 - - '@types/ws@8.5.13': - dependencies: - '@types/node': 22.10.10 - - '@vitejs/plugin-react-swc@3.7.2(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@swc/core': 1.10.4 - vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - '@swc/helpers' - - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - - acorn@8.14.0: {} - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - ansi-regex@5.0.1: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@2.0.1: {} - - aria-hidden@1.2.4: - dependencies: - tslib: 2.8.1 - - array-ify@1.0.0: {} - - babel-dead-code-elimination@1.0.8: - dependencies: - '@babel/core': 7.26.0 - '@babel/parser': 7.26.5 - '@babel/traverse': 7.26.5 - '@babel/types': 7.26.5 - transitivePeerDependencies: - - supports-color - - base64-js@1.5.1: {} - - better-sqlite3@11.8.1: - dependencies: - bindings: 1.5.0 - prebuild-install: 7.1.2 - - binary-extensions@2.3.0: {} - - bindings@1.5.0: - dependencies: - file-uri-to-path: 1.0.0 - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.24.3: - dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.76 - node-releases: 2.0.19 - update-browserslist-db: 1.1.1(browserslist@4.24.3) - - buffer-from@1.1.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - bun-types@1.2.0: - dependencies: - '@types/node': 20.12.14 - '@types/ws': 8.5.13 - - callsites@3.1.0: {} - - caniuse-lite@1.0.30001690: {} - - chalk@5.4.1: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chownr@1.1.4: {} - - class-variance-authority@0.7.1: - dependencies: - clsx: 2.1.1 - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - clsx@2.1.1: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - compare-func@2.0.0: - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - - conventional-changelog-angular@7.0.0: - dependencies: - compare-func: 2.0.0 - - conventional-changelog-conventionalcommits@7.0.2: - dependencies: - compare-func: 2.0.0 - - conventional-commits-parser@5.0.0: - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 - - convert-source-map@2.0.0: {} - - cookie@1.0.2: {} - - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.10)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): - dependencies: - '@types/node': 22.10.10 - cosmiconfig: 9.0.0(typescript@5.5.4) - jiti: 2.4.2 - typescript: 5.5.4 - - cosmiconfig@9.0.0(typescript@5.5.4): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - optionalDependencies: - typescript: 5.5.4 - - csstype@3.1.3: {} - - dargs@8.1.0: {} - - date-fns@4.1.0: {} - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - deep-extend@0.6.0: {} - - detect-libc@1.0.3: {} - - detect-libc@2.0.3: {} - - detect-node-es@1.1.0: {} - - diff@7.0.0: {} - - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - drizzle-kit@0.30.2: - dependencies: - '@drizzle-team/brocli': 0.10.2 - '@esbuild-kit/esm-loader': 2.6.5 - esbuild: 0.19.12 - esbuild-register: 3.6.0(esbuild@0.19.12) - transitivePeerDependencies: - - supports-color - - drizzle-orm@0.38.4(@types/react@19.0.8)(better-sqlite3@11.8.1)(bun-types@1.2.0)(react@19.0.0): - optionalDependencies: - '@types/react': 19.0.8 - better-sqlite3: 11.8.1 - bun-types: 1.2.0 - react: 19.0.0 - - drizzle-typebox@0.2.1(@sinclair/typebox@0.34.13)(drizzle-orm@0.38.4(@types/react@19.0.8)(better-sqlite3@11.8.1)(bun-types@1.2.0)(react@19.0.0)): - dependencies: - '@sinclair/typebox': 0.34.13 - drizzle-orm: 0.38.4(@types/react@19.0.8)(better-sqlite3@11.8.1)(bun-types@1.2.0)(react@19.0.0) - - electron-to-chromium@1.5.76: {} - - elysia@1.2.10(@sinclair/typebox@0.34.13)(typescript@5.7.3): - dependencies: - '@sinclair/typebox': 0.34.13 - cookie: 1.0.2 - memoirist: 0.2.0 - optionalDependencies: - typescript: 5.7.3 - - emoji-regex@8.0.0: {} - - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - enhanced-resolve@5.18.0: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - - env-paths@2.2.1: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - esbuild-register@3.6.0(esbuild@0.19.12): - dependencies: - debug: 4.4.0 - esbuild: 0.19.12 - transitivePeerDependencies: - - supports-color - - esbuild@0.18.20: - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 - - esbuild@0.24.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 - - escalade@3.2.0: {} - - expand-template@2.0.3: {} - - fast-deep-equal@3.1.3: {} - - fast-uri@3.0.3: {} - - file-uri-to-path@1.0.0: {} - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@7.0.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - unicorn-magic: 0.1.0 - - framer-motion@12.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): - dependencies: - motion-dom: 12.0.0 - motion-utils: 12.0.0 - tslib: 2.8.1 - optionalDependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - - fs-constants@1.0.0: {} - - fsevents@2.3.3: - optional: true - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-nonce@1.0.1: {} - - get-tsconfig@4.8.1: - dependencies: - resolve-pkg-maps: 1.0.0 - - git-raw-commits@4.0.0: - dependencies: - dargs: 8.1.0 - meow: 12.1.1 - split2: 4.2.0 - - github-from-package@0.0.0: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - global-directory@4.0.1: - dependencies: - ini: 4.1.1 - - globals@11.12.0: {} - - globals@15.14.0: {} - - goober@2.1.16(csstype@3.1.3): - dependencies: - csstype: 3.1.3 - - graceful-fs@4.2.11: {} - - husky@9.1.7: {} - - ieee754@1.2.1: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-meta-resolve@4.1.0: {} - - inherits@2.0.4: {} - - ini@1.3.8: {} - - ini@4.1.1: {} - - is-arrayish@0.2.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} - - is-obj@2.0.0: {} - - is-text-path@2.0.0: - dependencies: - text-extensions: 2.4.0 - - jiti@2.4.2: {} - - jose@4.15.9: {} - - js-tokens@4.0.0: {} - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsesc@3.1.0: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@1.0.0: {} - - json5@2.2.3: {} - - jsonparse@1.3.1: {} - - lightningcss-darwin-arm64@1.29.1: - optional: true - - lightningcss-darwin-x64@1.29.1: - optional: true - - lightningcss-freebsd-x64@1.29.1: - optional: true - - lightningcss-linux-arm-gnueabihf@1.29.1: - optional: true - - lightningcss-linux-arm64-gnu@1.29.1: - optional: true - - lightningcss-linux-arm64-musl@1.29.1: - optional: true - - lightningcss-linux-x64-gnu@1.29.1: - optional: true - - lightningcss-linux-x64-musl@1.29.1: - optional: true - - lightningcss-win32-arm64-msvc@1.29.1: - optional: true - - lightningcss-win32-x64-msvc@1.29.1: - optional: true - - lightningcss@1.29.1: - dependencies: - detect-libc: 1.0.3 - optionalDependencies: - lightningcss-darwin-arm64: 1.29.1 - lightningcss-darwin-x64: 1.29.1 - lightningcss-freebsd-x64: 1.29.1 - lightningcss-linux-arm-gnueabihf: 1.29.1 - lightningcss-linux-arm64-gnu: 1.29.1 - lightningcss-linux-arm64-musl: 1.29.1 - lightningcss-linux-x64-gnu: 1.29.1 - lightningcss-linux-x64-musl: 1.29.1 - lightningcss-win32-arm64-msvc: 1.29.1 - lightningcss-win32-x64-msvc: 1.29.1 - - lines-and-columns@1.2.4: {} - - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash.camelcase@4.3.0: {} - - lodash.isplainobject@4.0.6: {} - - lodash.kebabcase@4.1.1: {} - - lodash.merge@4.6.2: {} - - lodash.mergewith@4.6.2: {} - - lodash.snakecase@4.1.1: {} - - lodash.startcase@4.4.0: {} - - lodash.uniq@4.5.0: {} - - lodash.upperfirst@4.3.1: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - lucide-react@0.474.0(react@19.0.0): - dependencies: - react: 19.0.0 - - memoirist@0.2.0: {} - - meow@12.1.1: {} - - mimic-response@3.1.0: {} - - minimist@1.2.8: {} - - mkdirp-classic@0.5.3: {} - - motion-dom@12.0.0: - dependencies: - motion-utils: 12.0.0 - - motion-utils@12.0.0: {} - - ms@2.1.3: {} - - nanoid@3.3.8: {} - - nanoid@4.0.2: {} - - napi-build-utils@1.0.2: {} - - node-abi@3.71.0: - dependencies: - semver: 7.6.3 - - node-releases@2.0.19: {} - - normalize-path@3.0.0: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - p-limit@4.0.0: - dependencies: - yocto-queue: 1.1.1 - - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.26.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - path-exists@5.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - postcss@8.5.1: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - prebuild-install@7.1.2: - dependencies: - detect-libc: 2.0.3 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.71.0 - pump: 3.0.2 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - - prettier@3.4.2: {} - - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - raikiri@0.0.0-beta.8: {} - - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - - react-dom@19.0.0(react@19.0.0): - dependencies: - react: 19.0.0 - scheduler: 0.25.0 - - react-hook-form@7.54.2(react@19.0.0): - dependencies: - react: 19.0.0 - - react-remove-scroll-bar@2.3.8(@types/react@19.0.8)(react@19.0.0): - dependencies: - react: 19.0.0 - react-style-singleton: 2.2.3(@types/react@19.0.8)(react@19.0.0) - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.0.8 - - react-remove-scroll@2.6.2(@types/react@19.0.8)(react@19.0.0): - dependencies: - react: 19.0.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.0.8)(react@19.0.0) - react-style-singleton: 2.2.3(@types/react@19.0.8)(react@19.0.0) - tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.0.8)(react@19.0.0) - use-sidecar: 1.1.3(@types/react@19.0.8)(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.8 - - react-style-singleton@2.2.3(@types/react@19.0.8)(react@19.0.0): - dependencies: - get-nonce: 1.0.1 - react: 19.0.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.0.8 - - react@19.0.0: {} - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - require-directory@2.1.1: {} - - require-from-string@2.0.2: {} - - resolve-from@4.0.0: {} - - resolve-from@5.0.0: {} - - resolve-pkg-maps@1.0.0: {} - - rollup@4.29.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.29.1 - '@rollup/rollup-android-arm64': 4.29.1 - '@rollup/rollup-darwin-arm64': 4.29.1 - '@rollup/rollup-darwin-x64': 4.29.1 - '@rollup/rollup-freebsd-arm64': 4.29.1 - '@rollup/rollup-freebsd-x64': 4.29.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 - '@rollup/rollup-linux-arm-musleabihf': 4.29.1 - '@rollup/rollup-linux-arm64-gnu': 4.29.1 - '@rollup/rollup-linux-arm64-musl': 4.29.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 - '@rollup/rollup-linux-riscv64-gnu': 4.29.1 - '@rollup/rollup-linux-s390x-gnu': 4.29.1 - '@rollup/rollup-linux-x64-gnu': 4.29.1 - '@rollup/rollup-linux-x64-musl': 4.29.1 - '@rollup/rollup-win32-arm64-msvc': 4.29.1 - '@rollup/rollup-win32-ia32-msvc': 4.29.1 - '@rollup/rollup-win32-x64-msvc': 4.29.1 - fsevents: 2.3.3 - - safe-buffer@5.2.1: {} - - scheduler@0.25.0: {} - - semver@6.3.1: {} - - semver@7.6.3: {} - - simple-concat@1.0.1: {} - - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - - source-map-js@1.2.1: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - split2@4.2.0: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-json-comments@2.0.1: {} - - tailwind-merge@2.6.0: {} - - tailwindcss-animate@1.0.7(tailwindcss@4.0.0): - dependencies: - tailwindcss: 4.0.0 - - tailwindcss@4.0.0: {} - - tapable@2.2.1: {} - - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - - text-extensions@2.4.0: {} - - through@2.3.8: {} - - tiny-invariant@1.3.3: {} - - tiny-warning@1.0.3: {} - - tinyexec@0.3.2: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - tslib@2.8.1: {} - - tsx@4.19.2: - dependencies: - esbuild: 0.23.1 - get-tsconfig: 4.8.1 - optionalDependencies: - fsevents: 2.3.3 - - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - - turbo-darwin-64@2.3.4: - optional: true - - turbo-darwin-arm64@2.3.4: - optional: true - - turbo-linux-64@2.3.4: - optional: true - - turbo-linux-arm64@2.3.4: - optional: true - - turbo-windows-64@2.3.4: - optional: true - - turbo-windows-arm64@2.3.4: - optional: true - - turbo@2.3.4: - optionalDependencies: - turbo-darwin-64: 2.3.4 - turbo-darwin-arm64: 2.3.4 - turbo-linux-64: 2.3.4 - turbo-linux-arm64: 2.3.4 - turbo-windows-64: 2.3.4 - turbo-windows-arm64: 2.3.4 - - typescript@5.5.4: {} - - typescript@5.7.3: {} - - undici-types@5.26.5: {} - - undici-types@6.20.0: {} - - unicorn-magic@0.1.0: {} - - unplugin@1.16.1: - dependencies: - acorn: 8.14.0 - webpack-virtual-modules: 0.6.2 - - update-browserslist-db@1.1.1(browserslist@4.24.3): - dependencies: - browserslist: 4.24.3 - escalade: 3.2.0 - picocolors: 1.1.1 - - use-callback-ref@1.3.3(@types/react@19.0.8)(react@19.0.0): - dependencies: - react: 19.0.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.0.8 - - use-sidecar@1.1.3(@types/react@19.0.8)(react@19.0.0): - dependencies: - detect-node-es: 1.1.0 - react: 19.0.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.0.8 - - use-sync-external-store@1.4.0(react@19.0.0): - dependencies: - react: 19.0.0 - - util-deprecate@1.0.2: {} - - vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(tsx@4.19.2)(yaml@2.7.0): - dependencies: - esbuild: 0.24.2 - postcss: 8.5.1 - rollup: 4.29.1 - optionalDependencies: - '@types/node': 22.10.10 - fsevents: 2.3.3 - jiti: 2.4.2 - lightningcss: 1.29.1 - tsx: 4.19.2 - yaml: 2.7.0 - - webpack-virtual-modules@0.6.2: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrappy@1.0.2: {} - - y18n@5.0.8: {} - - yallist@3.1.1: {} - - yaml@2.7.0: - optional: true - - yargs-parser@21.1.1: {} - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yocto-queue@1.1.1: {} - - zod@3.24.1: {} - - zustand@5.0.3(@types/react@19.0.8)(react@19.0.0)(use-sync-external-store@1.4.0(react@19.0.0)): - optionalDependencies: - '@types/react': 19.0.8 - react: 19.0.0 - use-sync-external-store: 1.4.0(react@19.0.0) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 3ff5faa..0000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,3 +0,0 @@ -packages: - - "apps/*" - - "packages/*" diff --git a/turbo.json b/turbo.json index 47d2ebb..0120d8c 100644 --- a/turbo.json +++ b/turbo.json @@ -7,13 +7,7 @@ "inputs": ["$TURBO_DEFAULT$", ".env*"], "outputs": ["dist/**"] }, - "//#format-and-lint": {}, - "//#format-and-lint:fix": { - "cache": false - }, - "check-types": { - "dependsOn": ["^check-types"] - }, + "dev": { "cache": false, "persistent": true From 3636788ca23bf418ef098fa2dad4c0da67f09d74 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:14:22 +0100 Subject: [PATCH 03/17] fix: changing release branch --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79fafeb..0058595 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Docker Build, Changelog, and Release on: push: branches: - - master + - main jobs: build-and-push-docker: From fa736c5c60ac75b9a8d9a2f583c49b08d597d1cc Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:16:38 +0100 Subject: [PATCH 04/17] fix: fixing build context --- .github/workflows/release.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0058595..340eb2d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,14 +22,23 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Build and push Docker image + - name: Build and push web Docker image uses: docker/build-push-action@v4 with: - context: . + context: ./apps/web push: true tags: | - ghcr.io/${{ github.repository_owner }}/your-repo-name:latest - ghcr.io/${{ github.repository_owner }}/your-repo-name:${{ github.sha }} + ghcr.io/${{ github.repository_owner }}/web:latest + ghcr.io/${{ github.repository_owner }}/web:${{ github.sha }} + + - name: Build and push api Docker image + uses: docker/build-push-action@v4 + with: + context: ./apps/api + push: true + tags: | + ghcr.io/${{ github.repository_owner }}/api:latest + ghcr.io/${{ github.repository_owner }}/api:${{ github.sha }} generate-changelog: runs-on: ubuntu-latest From 9ae5b3209d84529c7edc482f118826502327dfe9 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:22:46 +0100 Subject: [PATCH 05/17] fix: listing web's nginx conf --- .github/workflows/release.yml | 49 ++++------------------------------- 1 file changed, 5 insertions(+), 44 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 340eb2d..75ec543 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,7 @@ on: jobs: build-and-push-docker: runs-on: ubuntu-latest + steps: - name: Checkout repository uses: actions/checkout@v3 @@ -22,6 +23,9 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: List files in apps/web + run: ls -l apps/web + - name: Build and push web Docker image uses: docker/build-push-action@v4 with: @@ -38,47 +42,4 @@ jobs: push: true tags: | ghcr.io/${{ github.repository_owner }}/api:latest - ghcr.io/${{ github.repository_owner }}/api:${{ github.sha }} - - generate-changelog: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Generate changelog with conventional commits - id: changelog - uses: conventional-changelog/action@v3 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - preset: conventionalcommits - output-file: CHANGELOG.md - - - name: Commit changelog - run: | - git config --global user.name "GitHub Actions" - git config --global user.email "actions@github.com" - git add CHANGELOG.md - git commit -m "chore: Update changelog" - git push - - create-release: - runs-on: ubuntu-latest - needs: [build-and-push-docker, generate-changelog] - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Create GitHub release - id: create-release - uses: actions/create-release@v1 - with: - tag_name: v1.0.0-${{ github.sha }} - release_name: Release v1.0.0-${{ github.sha }} - body: ${{ steps.changelog.outputs.changelog }} - draft: false - prerelease: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + ghcr.io/${{ github.repository_owner }}/api:${{ github.sha }} \ No newline at end of file From 0bb17b5d786c3ef110fbd16f08701b139bf39c7f Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:24:37 +0100 Subject: [PATCH 06/17] fix: updating docker context --- .github/workflows/release.yml | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 75ec543..1d9bf73 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,30 +6,17 @@ on: - main jobs: - build-and-push-docker: + build: runs-on: ubuntu-latest - steps: - - name: Checkout repository + - name: Checkout code uses: actions/checkout@v3 - - name: Log in to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: List files in apps/web - run: ls -l apps/web - - name: Build and push web Docker image uses: docker/build-push-action@v4 with: - context: ./apps/web + context: . + dockerfile: ./apps/web/Dockerfile push: true tags: | ghcr.io/${{ github.repository_owner }}/web:latest @@ -38,7 +25,8 @@ jobs: - name: Build and push api Docker image uses: docker/build-push-action@v4 with: - context: ./apps/api + context: . + dockerfile: ./apps/api/Dockerfile push: true tags: | ghcr.io/${{ github.repository_owner }}/api:latest From 5471b88ee244064b69853fd0a914cf32803f9f8f Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:32:34 +0100 Subject: [PATCH 07/17] fix: refactoring publishing flow --- .github/workflows/release.yml | 52 +++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1d9bf73..2e403d2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,33 +1,55 @@ -name: Docker Build, Changelog, and Release +name: Build & publish images to GHCR on: push: branches: - main +env: + REGISTRY: ghcr.io # GitHub Container Registry + IMAGE_NAME: ${{ github.repository }} + jobs: - build: + build-and-push-image: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - dockerfile: ./apps/web/Dockerfile + image: ghcr.io/${{ github.repository_owner }}/web + - dockerfile: ./apps/api/Dockerfile + image: ghcr.io/${{ github.repository_owner }}/api + permissions: + contents: read + packages: write + steps: - - name: Checkout code + - name: Checkout repository uses: actions/checkout@v3 - - name: Build and push web Docker image - uses: docker/build-push-action@v4 + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 with: - context: . - dockerfile: ./apps/web/Dockerfile - push: true + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GH_PACKAGE_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ matrix.image }} tags: | - ghcr.io/${{ github.repository_owner }}/web:latest - ghcr.io/${{ github.repository_owner }}/web:${{ github.sha }} + type=ref,event=branch + type=ref,event=tag + type=sha - - name: Build and push api Docker image + - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: . - dockerfile: ./apps/api/Dockerfile + file: ${{ matrix.dockerfile }} push: true - tags: | - ghcr.io/${{ github.repository_owner }}/api:latest - ghcr.io/${{ github.repository_owner }}/api:${{ github.sha }} \ No newline at end of file + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From f600de98d9e68eb0d2482a0cd8933e1c235de3df Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 18:46:12 +0100 Subject: [PATCH 08/17] chore: updating compose --- .github/workflows/release.yml | 3 ++- compose.yml | 8 ++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2e403d2..1ff4411 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: - main env: - REGISTRY: ghcr.io # GitHub Container Registry + REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: @@ -44,6 +44,7 @@ jobs: type=ref,event=branch type=ref,event=tag type=sha + type=raw,value=latest - name: Build and push Docker image uses: docker/build-push-action@v4 diff --git a/compose.yml b/compose.yml index a19fab2..ed91b44 100644 --- a/compose.yml +++ b/compose.yml @@ -2,9 +2,7 @@ version: '3.8' services: api: - build: - context: . - dockerfile: apps/api/Dockerfile + image: ghcr.io/kaneo-app/api:latest environment: - JWT_ACCESS=jwt_secret_goes_here ports: @@ -14,9 +12,7 @@ services: restart: unless-stopped web: - build: - context: . - dockerfile: apps/web/Dockerfile + image: ghcr.io/kaneo-app/web:latest ports: - "80:80" depends_on: From 5ad9178109ace88a96795e2d1839da575f39f304 Mon Sep 17 00:00:00 2001 From: Andrej <44305048+aacevski@users.noreply.github.com> Date: Sat, 25 Jan 2025 19:16:49 +0100 Subject: [PATCH 09/17] ci: change ubuntu version --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ff4411..135e855 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,7 @@ env: jobs: build-and-push-image: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -53,4 +53,4 @@ jobs: file: ${{ matrix.dockerfile }} push: true tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + labels: ${{ steps.meta.outputs.labels }} From 4bcac5a72b21580d19db893486e22c2fe22f1563 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 19:18:22 +0100 Subject: [PATCH 10/17] ci: adding conventional commits --- .github/workflows/changelog.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/changelog.yml diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..738e6f4 --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,23 @@ +name: Generate Changelog +on: + push: + branches: + - main + +jobs: + generate-changelog: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Generate Changelog + uses: conventional-changelog/conventional-changelog-action@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + output-file: CHANGELOG.md + git-push: true \ No newline at end of file From aed7bfecf0aa8e4a6da2f89bd3a08b68a9628776 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 19:19:37 +0100 Subject: [PATCH 11/17] ci: using diff actions for changelogs --- .github/workflows/changelog.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 738e6f4..a72a96b 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -11,12 +11,12 @@ jobs: contents: write steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Generate Changelog - uses: conventional-changelog/conventional-changelog-action@v4 + uses: TriPSs/conventional-changelog-action@v5 with: github-token: ${{ secrets.GITHUB_TOKEN }} output-file: CHANGELOG.md From 2e8463dd4bfbb0ed0d82f0d0346fd2be1a43e4e4 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Sat, 25 Jan 2025 18:19:52 +0000 Subject: [PATCH 12/17] chore(release): v0.1.0 [skip ci] --- CHANGELOG.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 46 +++++++++++++++++++++++++--------------------- 2 files changed, 70 insertions(+), 21 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3f5d456 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,45 @@ +# 0.1.0 (2025-01-25) + + +### Bug Fixes + +* :bug: fixing deleted workspaces being cached ([624b206](https://github.com/kaneo-app/app/commit/624b20676fedf1b1a5871f916a5c1d5c38a5d2cb)) +* :bug: fixing overflowing workspace names ([0c2ab27](https://github.com/kaneo-app/app/commit/0c2ab2705d82c86ace8b4919c59d7773b63e989d)) +* :bug: fixing route generation for vite ([73ddd6d](https://github.com/kaneo-app/app/commit/73ddd6d0138e9223921cbefdd727b2fa61408be0)) +* :construction_worker: fixing build on pipeline ([767ba10](https://github.com/kaneo-app/app/commit/767ba103aca3beeda0a6f0a0df4459ce071f3b74)) +* :green_heart: fixing formatting in package.json ([4644f0f](https://github.com/kaneo-app/app/commit/4644f0f6e3413591c9dd837a67df7cf8e735718e)) +* :sparkles: format drizzle.config.ts ([cccd3ae](https://github.com/kaneo-app/app/commit/cccd3aea9420d4815501ec0d15ef1dc08a1f1b15)) +* changing release branch ([3636788](https://github.com/kaneo-app/app/commit/3636788ca23bf418ef098fa2dad4c0da67f09d74)) +* fixing build context ([fa736c5](https://github.com/kaneo-app/app/commit/fa736c5c60ac75b9a8d9a2f583c49b08d597d1cc)) +* listing web's nginx conf ([9ae5b32](https://github.com/kaneo-app/app/commit/9ae5b3209d84529c7edc482f118826502327dfe9)) +* refactoring publishing flow ([5471b88](https://github.com/kaneo-app/app/commit/5471b88ee244064b69853fd0a914cf32803f9f8f)) +* removing unused import ([9466dc5](https://github.com/kaneo-app/app/commit/9466dc5d18e46d8f30000cf110ed255b53a3045d)) +* removing unused packages ([20a8c66](https://github.com/kaneo-app/app/commit/20a8c6694d1e1bc345655a4b85a56bf7a981dc48)) +* removing unused packages ([49ba8d1](https://github.com/kaneo-app/app/commit/49ba8d196d44715dd736ad3de4690a70686f46a3)) +* removing unused packages ([de87b29](https://github.com/kaneo-app/app/commit/de87b298d00cddf7fff0799bcce7149beb7f2123)) +* updating docker context ([0bb17b5](https://github.com/kaneo-app/app/commit/0bb17b5d786c3ef110fbd16f08701b139bf39c7f)) +* updating reamde ([d6d3ed8](https://github.com/kaneo-app/app/commit/d6d3ed8bf8cab3b9a27747c66c4d0ffdf9e2ba13)) + + +### Features + +* :construction_worker: adding workflow to lint project ([382d6c5](https://github.com/kaneo-app/app/commit/382d6c5ef0a084d026a7238689f8a357fc05c5fa)) +* :construction_worker: updating husky and commitlint ([33e2920](https://github.com/kaneo-app/app/commit/33e292027fea1d6dc4546a61b869f180e7d129e0)) +* :construction_worker: updating workflow name ([f13d4ef](https://github.com/kaneo-app/app/commit/f13d4eff1c021be68b01c7381439d28629b6e22b)) +* :fire: adding initial kanban board ([0e2734a](https://github.com/kaneo-app/app/commit/0e2734a4757722d753be398c9f7273b7fdfc1274)) +* :fire: migrating to sessions, using file routes, adding auth provider ([d6f8ecc](https://github.com/kaneo-app/app/commit/d6f8ecce077e3fac67111e7585f81b6bd268d191)) +* :sparkles: adding crud for workspaces ([faad3a4](https://github.com/kaneo-app/app/commit/faad3a49a327ed3cbee14d96a923997a5daf8bbd)) +* :sparkles: adding marketing image ([841eee9](https://github.com/kaneo-app/app/commit/841eee9fcf4440370fdd95ee73731d591a6795b4)) +* :sparkles: adding marketing image ([91ac6c1](https://github.com/kaneo-app/app/commit/91ac6c189ddc81535cf498abcfb8e63a8c32cead)) +* :sparkles: adding marketing image ([e0dbd6b](https://github.com/kaneo-app/app/commit/e0dbd6bd41a440a0114e5c413d673601153d58a6)) +* :sparkles: adding marketing image ([a8568c1](https://github.com/kaneo-app/app/commit/a8568c1f6d04685d387996448830b1fb166740e5)) +* :sparkles: adding projects ([db2f600](https://github.com/kaneo-app/app/commit/db2f600d58ea45bf410f8b91de0577f969b2fbda)) +* :sparkles: finishing authentication, adding color modes ([da9c10f](https://github.com/kaneo-app/app/commit/da9c10fa56ccf479977d3fad8a547d684067256d)) +* :sparkles: updating logo design ([b8250e6](https://github.com/kaneo-app/app/commit/b8250e68fc3f8013b548750fb87140cb55811ac7)) +* adding docker images and compose ([537b47e](https://github.com/kaneo-app/app/commit/537b47e328b8b5ee2ef1f0ffb71e78e8e3a42ee8)) +* **create-turbo:** apply official-starter transform ([6fcda66](https://github.com/kaneo-app/app/commit/6fcda66be3d9e10f32705cd0a59d62eae0e8ef27)) +* **create-turbo:** apply package-manager transform ([2aaf064](https://github.com/kaneo-app/app/commit/2aaf064f095549ad6600e89954aba9fc2c8385d9)) +* **create-turbo:** create basic ([3b8654f](https://github.com/kaneo-app/app/commit/3b8654f88adfe575bdd6190af85ce8daeea7f810)) + + + diff --git a/package.json b/package.json index 4a9b24d..3008d3f 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,27 @@ { - "name": "kaneo", - "private": true, - "type": "module", - "scripts": { - "build": "turbo build", - "dev": "turbo dev", - "prepare": "husky" - }, - "devDependencies": { - "@biomejs/biome": "1.9.4", - "@commitlint/cli": "^19.6.1", - "@commitlint/config-conventional": "^19.6.0", - "husky": "^9.1.7", - "turbo": "^2.3.4", - "typescript": "5.5.4" - }, - "engines": { - "node": ">=18" - }, - "packageManager": "bun@1.1.42", - "workspaces": ["apps/*", "packages/*"] + "name": "kaneo", + "private": true, + "type": "module", + "scripts": { + "build": "turbo build", + "dev": "turbo dev", + "prepare": "husky" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@commitlint/cli": "^19.6.1", + "@commitlint/config-conventional": "^19.6.0", + "husky": "^9.1.7", + "turbo": "^2.3.4", + "typescript": "5.5.4" + }, + "engines": { + "node": ">=18" + }, + "packageManager": "bun@1.1.42", + "workspaces": [ + "apps/*", + "packages/*" + ], + "version": "0.1.0" } From 4e582eae537389060319361dae34c0008172c14b Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 19:22:42 +0100 Subject: [PATCH 13/17] ci: finishing releases --- .github/workflows/changelog.yml | 3 ++- package.json | 47 +++++++++++++++------------------ 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index a72a96b..c4d000b 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -20,4 +20,5 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} output-file: CHANGELOG.md - git-push: true \ No newline at end of file + git-push: true + create-release: true \ No newline at end of file diff --git a/package.json b/package.json index 3008d3f..32108ad 100644 --- a/package.json +++ b/package.json @@ -1,27 +1,24 @@ { - "name": "kaneo", - "private": true, - "type": "module", - "scripts": { - "build": "turbo build", - "dev": "turbo dev", - "prepare": "husky" - }, - "devDependencies": { - "@biomejs/biome": "1.9.4", - "@commitlint/cli": "^19.6.1", - "@commitlint/config-conventional": "^19.6.0", - "husky": "^9.1.7", - "turbo": "^2.3.4", - "typescript": "5.5.4" - }, - "engines": { - "node": ">=18" - }, - "packageManager": "bun@1.1.42", - "workspaces": [ - "apps/*", - "packages/*" - ], - "version": "0.1.0" + "name": "kaneo", + "private": true, + "type": "module", + "scripts": { + "build": "turbo build", + "dev": "turbo dev", + "prepare": "husky" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@commitlint/cli": "^19.6.1", + "@commitlint/config-conventional": "^19.6.0", + "husky": "^9.1.7", + "turbo": "^2.3.4", + "typescript": "5.5.4" + }, + "engines": { + "node": ">=18" + }, + "packageManager": "bun@1.1.42", + "workspaces": ["apps/*", "packages/*"], + "version": "0.1.0" } From ad6923be2e32d945241e0e6e6469418ca2782890 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 22:14:21 +0100 Subject: [PATCH 14/17] ci: updating actions --- .github/workflows/changelog.yml | 6 ++++-- .github/workflows/{release.yml => docker.yml} | 0 2 files changed, 4 insertions(+), 2 deletions(-) rename .github/workflows/{release.yml => docker.yml} (100%) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index c4d000b..40253f5 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -1,4 +1,4 @@ -name: Generate Changelog +name: Generate Changelog and Create Patch Version on: push: branches: @@ -21,4 +21,6 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} output-file: CHANGELOG.md git-push: true - create-release: true \ No newline at end of file + create-release: true + release-count: 1 + release-type: patch \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/docker.yml similarity index 100% rename from .github/workflows/release.yml rename to .github/workflows/docker.yml From 8f1b9b8af68bf8fd885f6e95803d07695e4586c7 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 22:16:06 +0100 Subject: [PATCH 15/17] ci: updating releases --- .github/workflows/changelog.yml | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 40253f5..1aa8821 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -6,7 +6,7 @@ on: jobs: generate-changelog: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: contents: write steps: @@ -15,12 +15,22 @@ jobs: with: fetch-depth: 0 - - name: Generate Changelog - uses: TriPSs/conventional-changelog-action@v5 + - name: Set up Node.js + uses: actions/setup-node@v4 with: - github-token: ${{ secrets.GITHUB_TOKEN }} - output-file: CHANGELOG.md - git-push: true - create-release: true - release-count: 1 - release-type: patch \ No newline at end of file + node-version: 20 + + - name: Install standard-version + run: npm install -g standard-version + + - name: Configure Git + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + + - name: Bump version and generate changelog (patch) + run: npx standard-version --release-as patch + + - name: Push changes + run: | + git push --follow-tags origin main \ No newline at end of file From f8c60670fec93ac80f7b7eb969cdc9c36eb167a7 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 25 Jan 2025 21:16:26 +0000 Subject: [PATCH 16/17] chore(release): 0.1.1 --- CHANGELOG.md | 9 ++++++--- package.json | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f5d456..ac88f49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +### [0.1.1](https://github.com/kaneo-app/app/compare/v0.1.0...v0.1.1) (2025-01-25) + # 0.1.0 (2025-01-25) @@ -40,6 +46,3 @@ * **create-turbo:** apply official-starter transform ([6fcda66](https://github.com/kaneo-app/app/commit/6fcda66be3d9e10f32705cd0a59d62eae0e8ef27)) * **create-turbo:** apply package-manager transform ([2aaf064](https://github.com/kaneo-app/app/commit/2aaf064f095549ad6600e89954aba9fc2c8385d9)) * **create-turbo:** create basic ([3b8654f](https://github.com/kaneo-app/app/commit/3b8654f88adfe575bdd6190af85ce8daeea7f810)) - - - diff --git a/package.json b/package.json index 32108ad..4a8cc4b 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,9 @@ "node": ">=18" }, "packageManager": "bun@1.1.42", - "workspaces": ["apps/*", "packages/*"], - "version": "0.1.0" + "workspaces": [ + "apps/*", + "packages/*" + ], + "version": "0.1.1" } From 7df7b77475197d808acfea5386e5c511c0504864 Mon Sep 17 00:00:00 2001 From: Andrej Date: Sat, 25 Jan 2025 22:18:09 +0100 Subject: [PATCH 17/17] ci: updating linting --- biome.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/biome.json b/biome.json index de34197..9bdff9f 100644 --- a/biome.json +++ b/biome.json @@ -12,7 +12,8 @@ "routeTree.gen.ts", "dist", "cache", - "*.css" + "*.css", + "package.json" ] }, "formatter": {