From a6125718f52a87f497c96a5e72a406fad14a7a3c Mon Sep 17 00:00:00 2001 From: imbytecat Date: Wed, 21 Jan 2026 14:31:12 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=BC=94?= =?UTF-8?q?=E7=A4=BA=E5=BA=94=E7=94=A8=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E4=B8=8E=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重命名构建配置文件至指定应用目录 - 重命名 drizzle.config.ts 文件至 apps/demo-app/ 目录下 - 添加演示应用的完整包配置,包含构建、开发、数据库管理及依赖项,支持 Tauri 桌面应用开发。 - 重命名 robots.txt 文件至 demo-app 应用目录下 - 重命名 src-tauri/.gitignore 文件为 apps/demo-app/src-tauri/.gitignore - 重命名 AGENTS.md 文件至指定目录路径 - 重命名构建脚本文件以匹配新项目路径结构 - 重命名默认能力配置文件以匹配新项目路径 - 重命名 Cargo.lock 文件以匹配新的项目路径结构 - 重命名 Cargo.toml 文件以正确反映其在项目中的路径位置 - 重命名图标文件以正确匹配新项目路径 - 重命名128x128.png图标文件至demo-app应用目录下 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以匹配新项目路径 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以匹配新项目路径 - 重命名图标文件以正确反映其在项目中的路径位置 - 重命名图标文件以匹配新项目路径结构 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以匹配新项目路径结构 - 重命名图标文件以正确放置在演示应用的资源目录中 - 重命名图标文件以正确匹配新项目路径 - 重命名图标文件以正确匹配新项目路径 - 重命名命令模块文件路径以匹配项目结构 - 重命名文件以正确反映其在项目中的位置 - 重命名主程序文件路径以匹配项目结构 - 重命名 sidecar.rs 文件至 demo-app 项目路径下 - 重命名 tauri.conf.json 文件至指定目录路径 - 重命名错误组件文件以正确反映其在项目中的位置 - 重命名文件 NotFount.tsx 到指定目录路径 - 重命名数据库入口文件路径以适应项目结构调整 - 重命名数据 schema 文件路径以匹配项目结构 - 重命名文件以正确反映其在项目中的位置路径 - 重命名环境配置文件以正确反映其在项目中的位置。 - 重命名文件以正确反映其在项目中的路径位置 - 重命名文件以正确反映其在项目中的位置 - 重命名文件以正确反映其在项目中的路径位置 - 重命名文件以正确反映其在项目中的路径位置 - 重命名工具函数文件以正确反映其在项目中的位置 - 重命名客户端文件以正确反映其在项目中的位置 - 重命名文件以正确反映其在项目中的位置 - 重命名文件路径以正确组织项目结构中的契约文件 - 重命名文件路径以正确反映其在项目中的位置 - 重命名文件以正确反映其在项目中的位置 - 重命名数据库中间件文件以正确反映其在项目中的位置 - 重命名中间件文件路径以匹配项目结构 - 重命名路由文件以正确反映其在项目中的位置 - 重命名文件以正确反映其在项目中的位置。 - 重命名类型文件以正确反映其在项目中的路径位置 - 重命名路由配置文件以匹配项目目录结构 - 重命名根路由文件以正确反映其在项目中的位置 - 重命名RPC路由文件至demo-app应用目录下 - 重命名路由文件路径以匹配项目结构调整 - 重命名路由树生成文件至 demo-app 应用目录下 - 重命名样式文件以正确反映其在项目中的位置 - 添加 TypeScript 配置以扩展 React 项目模板并设置路径别名。 - 重命名 vite.config.ts 文件至 apps/demo-app/ 目录下 - 移除 biome.json 中对 routeTree.gen.ts 文件的排除规则 - 更新依赖版本以统一使用 catalog 依赖管理,提升项目依赖一致性并升级关键包至最新稳定版本。 - 配置安装时的公共提升模式,包含类型包和特定命名空间的包。 - 删除空的 drizzle 目录占位文件 - 将 node 版本更新为最新版本,同时将 bun 和 rust 版本设置为最新。 - 将项目名称更新为 monorepo 并重构脚本与依赖配置以支持工作区结构和统一的 turbo 管理。 - 添加基础 TypeScript 配置文件,启用严格模式并配置模块解析与编译选项以支持现代 JavaScript 特性。 - 添加 Bun 专用的 TypeScript 配置,继承基础配置并引入 Bun 类型定义。 - 添加 tsconfig 包的配置文件并定义基础、Bun 和 React 的配置导出,同时引入 Bun 类型定义作为开发依赖。 - 添加React项目专用的TypeScript配置,指定JSX处理方式并扩展基础配置。 - 删除旧的 TypeScript 配置文件以移除过时的编译选项和路径别名设置。 --- build.ts => apps/demo-app/build.ts | 0 .../demo-app/drizzle.config.ts | 0 apps/demo-app/package.json | 61 +++++ {public => apps/demo-app/public}/robots.txt | 0 .../demo-app/src-tauri}/.gitignore | 0 .../demo-app/src-tauri}/AGENTS.md | 0 .../demo-app/src-tauri}/Cargo.lock | 0 .../demo-app/src-tauri}/Cargo.toml | 0 .../demo-app/src-tauri}/build.rs | 0 .../src-tauri}/capabilities/default.json | 0 .../demo-app/src-tauri}/icons/128x128.png | Bin .../demo-app/src-tauri}/icons/128x128@2x.png | Bin .../demo-app/src-tauri}/icons/32x32.png | Bin .../src-tauri}/icons/Square107x107Logo.png | Bin .../src-tauri}/icons/Square142x142Logo.png | Bin .../src-tauri}/icons/Square150x150Logo.png | Bin .../src-tauri}/icons/Square284x284Logo.png | Bin .../src-tauri}/icons/Square30x30Logo.png | Bin .../src-tauri}/icons/Square310x310Logo.png | Bin .../src-tauri}/icons/Square44x44Logo.png | Bin .../src-tauri}/icons/Square71x71Logo.png | Bin .../src-tauri}/icons/Square89x89Logo.png | Bin .../demo-app/src-tauri}/icons/StoreLogo.png | Bin .../demo-app/src-tauri}/icons/icon.icns | Bin .../demo-app/src-tauri}/icons/icon.ico | Bin .../demo-app/src-tauri}/icons/icon.png | Bin .../demo-app/src-tauri}/src/commands/mod.rs | 0 .../demo-app/src-tauri}/src/lib.rs | 0 .../demo-app/src-tauri}/src/main.rs | 0 .../demo-app/src-tauri}/src/sidecar.rs | 0 .../demo-app/src-tauri}/tauri.conf.json | 0 .../demo-app/src}/components/Error.tsx | 0 .../demo-app/src}/components/NotFount.tsx | 0 {src => apps/demo-app/src}/db/index.ts | 0 {src => apps/demo-app/src}/db/schema/index.ts | 0 {src => apps/demo-app/src}/db/schema/todo.ts | 0 {src => apps/demo-app/src}/env.ts | 0 .../integrations/tanstack-query/devtools.tsx | 0 .../src}/integrations/tanstack-query/index.ts | 0 .../integrations/tanstack-router/devtools.tsx | 0 .../integrations/tanstack-router/index.ts | 0 {src => apps/demo-app/src}/lib/utils.ts | 0 {src => apps/demo-app/src}/orpc/client.ts | 0 {src => apps/demo-app/src}/orpc/contract.ts | 0 .../demo-app/src}/orpc/contracts/todo.ts | 0 .../demo-app/src}/orpc/handlers/todo.ts | 0 {src => apps/demo-app/src}/orpc/index.ts | 0 .../demo-app/src}/orpc/middlewares/db.ts | 0 .../demo-app/src}/orpc/middlewares/index.ts | 0 {src => apps/demo-app/src}/orpc/router.ts | 0 {src => apps/demo-app/src}/orpc/server.ts | 0 {src => apps/demo-app/src}/orpc/types.ts | 0 {src => apps/demo-app/src}/routeTree.gen.ts | 0 {src => apps/demo-app/src}/router.tsx | 0 {src => apps/demo-app/src}/routes/__root.tsx | 0 .../demo-app/src}/routes/api/rpc.$.ts | 0 {src => apps/demo-app/src}/routes/index.tsx | 0 {src => apps/demo-app/src}/styles.css | 0 apps/demo-app/tsconfig.json | 9 + .../demo-app/vite.config.ts | 0 biome.json | 1 - bun.lock | 230 +++++++++++------- bunfig.toml | 2 + drizzle/.gitkeep | 0 mise.toml | 2 +- package.json | 65 ++--- packages/tsconfig/base.json | 26 ++ packages/tsconfig/bun.json | 8 + packages/tsconfig/package.json | 14 ++ packages/tsconfig/react.json | 9 + tsconfig.json | 34 --- 71 files changed, 309 insertions(+), 152 deletions(-) rename build.ts => apps/demo-app/build.ts (100%) rename drizzle.config.ts => apps/demo-app/drizzle.config.ts (100%) create mode 100644 apps/demo-app/package.json rename {public => apps/demo-app/public}/robots.txt (100%) rename {src-tauri => apps/demo-app/src-tauri}/.gitignore (100%) rename {src-tauri => apps/demo-app/src-tauri}/AGENTS.md (100%) rename {src-tauri => apps/demo-app/src-tauri}/Cargo.lock (100%) rename {src-tauri => apps/demo-app/src-tauri}/Cargo.toml (100%) rename {src-tauri => apps/demo-app/src-tauri}/build.rs (100%) rename {src-tauri => apps/demo-app/src-tauri}/capabilities/default.json (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/128x128.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/128x128@2x.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/32x32.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square107x107Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square142x142Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square150x150Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square284x284Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square30x30Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square310x310Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square44x44Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square71x71Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/Square89x89Logo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/StoreLogo.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/icon.icns (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/icon.ico (100%) rename {src-tauri => apps/demo-app/src-tauri}/icons/icon.png (100%) rename {src-tauri => apps/demo-app/src-tauri}/src/commands/mod.rs (100%) rename {src-tauri => apps/demo-app/src-tauri}/src/lib.rs (100%) rename {src-tauri => apps/demo-app/src-tauri}/src/main.rs (100%) rename {src-tauri => apps/demo-app/src-tauri}/src/sidecar.rs (100%) rename {src-tauri => apps/demo-app/src-tauri}/tauri.conf.json (100%) rename {src => apps/demo-app/src}/components/Error.tsx (100%) rename {src => apps/demo-app/src}/components/NotFount.tsx (100%) rename {src => apps/demo-app/src}/db/index.ts (100%) rename {src => apps/demo-app/src}/db/schema/index.ts (100%) rename {src => apps/demo-app/src}/db/schema/todo.ts (100%) rename {src => apps/demo-app/src}/env.ts (100%) rename {src => apps/demo-app/src}/integrations/tanstack-query/devtools.tsx (100%) rename {src => apps/demo-app/src}/integrations/tanstack-query/index.ts (100%) rename {src => apps/demo-app/src}/integrations/tanstack-router/devtools.tsx (100%) rename {src => apps/demo-app/src}/integrations/tanstack-router/index.ts (100%) rename {src => apps/demo-app/src}/lib/utils.ts (100%) rename {src => apps/demo-app/src}/orpc/client.ts (100%) rename {src => apps/demo-app/src}/orpc/contract.ts (100%) rename {src => apps/demo-app/src}/orpc/contracts/todo.ts (100%) rename {src => apps/demo-app/src}/orpc/handlers/todo.ts (100%) rename {src => apps/demo-app/src}/orpc/index.ts (100%) rename {src => apps/demo-app/src}/orpc/middlewares/db.ts (100%) rename {src => apps/demo-app/src}/orpc/middlewares/index.ts (100%) rename {src => apps/demo-app/src}/orpc/router.ts (100%) rename {src => apps/demo-app/src}/orpc/server.ts (100%) rename {src => apps/demo-app/src}/orpc/types.ts (100%) rename {src => apps/demo-app/src}/routeTree.gen.ts (100%) rename {src => apps/demo-app/src}/router.tsx (100%) rename {src => apps/demo-app/src}/routes/__root.tsx (100%) rename {src => apps/demo-app/src}/routes/api/rpc.$.ts (100%) rename {src => apps/demo-app/src}/routes/index.tsx (100%) rename {src => apps/demo-app/src}/styles.css (100%) create mode 100644 apps/demo-app/tsconfig.json rename vite.config.ts => apps/demo-app/vite.config.ts (100%) create mode 100644 bunfig.toml delete mode 100644 drizzle/.gitkeep create mode 100644 packages/tsconfig/base.json create mode 100644 packages/tsconfig/bun.json create mode 100644 packages/tsconfig/package.json create mode 100644 packages/tsconfig/react.json delete mode 100644 tsconfig.json diff --git a/build.ts b/apps/demo-app/build.ts similarity index 100% rename from build.ts rename to apps/demo-app/build.ts diff --git a/drizzle.config.ts b/apps/demo-app/drizzle.config.ts similarity index 100% rename from drizzle.config.ts rename to apps/demo-app/drizzle.config.ts diff --git a/apps/demo-app/package.json b/apps/demo-app/package.json new file mode 100644 index 0000000..55dee83 --- /dev/null +++ b/apps/demo-app/package.json @@ -0,0 +1,61 @@ +{ + "name": "@furtherverse/demo-app", + "private": true, + "type": "module", + "scripts": { + "build": "turbo build:tauri", + "build:compile": "bun build.ts", + "build:tauri": "tauri build", + "build:vite": "vite build", + "db:generate": "drizzle-kit generate", + "db:migrate": "drizzle-kit migrate", + "db:push": "drizzle-kit push", + "db:studio": "drizzle-kit studio", + "dev": "turbo dev:tauri", + "dev:tauri": "tauri dev", + "dev:vite": "vite dev", + "fix": "biome check --write", + "typecheck": "tsc -b" + }, + "dependencies": { + "@orpc/client": "catalog:", + "@orpc/contract": "catalog:", + "@orpc/server": "catalog:", + "@orpc/tanstack-query": "catalog:", + "@orpc/zod": "catalog:", + "@t3-oss/env-core": "catalog:", + "@tanstack/react-query": "catalog:", + "@tanstack/react-router": "catalog:", + "@tanstack/react-router-ssr-query": "catalog:", + "@tanstack/react-start": "catalog:", + "@tauri-apps/api": "catalog:", + "drizzle-orm": "catalog:", + "drizzle-zod": "catalog:", + "postgres": "catalog:", + "react": "catalog:", + "react-dom": "catalog:", + "zod": "catalog:" + }, + "devDependencies": { + "@biomejs/biome": "catalog:", + "@effect/platform": "catalog:", + "@effect/schema": "catalog:", + "@tailwindcss/vite": "catalog:", + "@tanstack/devtools-vite": "catalog:", + "@tanstack/react-devtools": "catalog:", + "@tanstack/react-query-devtools": "catalog:", + "@tanstack/react-router-devtools": "catalog:", + "@tauri-apps/cli": "catalog:", + "@types/bun": "catalog:", + "@vitejs/plugin-react": "catalog:", + "babel-plugin-react-compiler": "catalog:", + "drizzle-kit": "catalog:", + "effect": "catalog:", + "nitro": "catalog:", + "tailwindcss": "catalog:", + "turbo": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vite-tsconfig-paths": "catalog:" + } +} diff --git a/public/robots.txt b/apps/demo-app/public/robots.txt similarity index 100% rename from public/robots.txt rename to apps/demo-app/public/robots.txt diff --git a/src-tauri/.gitignore b/apps/demo-app/src-tauri/.gitignore similarity index 100% rename from src-tauri/.gitignore rename to apps/demo-app/src-tauri/.gitignore diff --git a/src-tauri/AGENTS.md b/apps/demo-app/src-tauri/AGENTS.md similarity index 100% rename from src-tauri/AGENTS.md rename to apps/demo-app/src-tauri/AGENTS.md diff --git a/src-tauri/Cargo.lock b/apps/demo-app/src-tauri/Cargo.lock similarity index 100% rename from src-tauri/Cargo.lock rename to apps/demo-app/src-tauri/Cargo.lock diff --git a/src-tauri/Cargo.toml b/apps/demo-app/src-tauri/Cargo.toml similarity index 100% rename from src-tauri/Cargo.toml rename to apps/demo-app/src-tauri/Cargo.toml diff --git a/src-tauri/build.rs b/apps/demo-app/src-tauri/build.rs similarity index 100% rename from src-tauri/build.rs rename to apps/demo-app/src-tauri/build.rs diff --git a/src-tauri/capabilities/default.json b/apps/demo-app/src-tauri/capabilities/default.json similarity index 100% rename from src-tauri/capabilities/default.json rename to apps/demo-app/src-tauri/capabilities/default.json diff --git a/src-tauri/icons/128x128.png b/apps/demo-app/src-tauri/icons/128x128.png similarity index 100% rename from src-tauri/icons/128x128.png rename to apps/demo-app/src-tauri/icons/128x128.png diff --git a/src-tauri/icons/128x128@2x.png b/apps/demo-app/src-tauri/icons/128x128@2x.png similarity index 100% rename from src-tauri/icons/128x128@2x.png rename to apps/demo-app/src-tauri/icons/128x128@2x.png diff --git a/src-tauri/icons/32x32.png b/apps/demo-app/src-tauri/icons/32x32.png similarity index 100% rename from src-tauri/icons/32x32.png rename to apps/demo-app/src-tauri/icons/32x32.png diff --git a/src-tauri/icons/Square107x107Logo.png b/apps/demo-app/src-tauri/icons/Square107x107Logo.png similarity index 100% rename from src-tauri/icons/Square107x107Logo.png rename to apps/demo-app/src-tauri/icons/Square107x107Logo.png diff --git a/src-tauri/icons/Square142x142Logo.png b/apps/demo-app/src-tauri/icons/Square142x142Logo.png similarity index 100% rename from src-tauri/icons/Square142x142Logo.png rename to apps/demo-app/src-tauri/icons/Square142x142Logo.png diff --git a/src-tauri/icons/Square150x150Logo.png b/apps/demo-app/src-tauri/icons/Square150x150Logo.png similarity index 100% rename from src-tauri/icons/Square150x150Logo.png rename to apps/demo-app/src-tauri/icons/Square150x150Logo.png diff --git a/src-tauri/icons/Square284x284Logo.png b/apps/demo-app/src-tauri/icons/Square284x284Logo.png similarity index 100% rename from src-tauri/icons/Square284x284Logo.png rename to apps/demo-app/src-tauri/icons/Square284x284Logo.png diff --git a/src-tauri/icons/Square30x30Logo.png b/apps/demo-app/src-tauri/icons/Square30x30Logo.png similarity index 100% rename from src-tauri/icons/Square30x30Logo.png rename to apps/demo-app/src-tauri/icons/Square30x30Logo.png diff --git a/src-tauri/icons/Square310x310Logo.png b/apps/demo-app/src-tauri/icons/Square310x310Logo.png similarity index 100% rename from src-tauri/icons/Square310x310Logo.png rename to apps/demo-app/src-tauri/icons/Square310x310Logo.png diff --git a/src-tauri/icons/Square44x44Logo.png b/apps/demo-app/src-tauri/icons/Square44x44Logo.png similarity index 100% rename from src-tauri/icons/Square44x44Logo.png rename to apps/demo-app/src-tauri/icons/Square44x44Logo.png diff --git a/src-tauri/icons/Square71x71Logo.png b/apps/demo-app/src-tauri/icons/Square71x71Logo.png similarity index 100% rename from src-tauri/icons/Square71x71Logo.png rename to apps/demo-app/src-tauri/icons/Square71x71Logo.png diff --git a/src-tauri/icons/Square89x89Logo.png b/apps/demo-app/src-tauri/icons/Square89x89Logo.png similarity index 100% rename from src-tauri/icons/Square89x89Logo.png rename to apps/demo-app/src-tauri/icons/Square89x89Logo.png diff --git a/src-tauri/icons/StoreLogo.png b/apps/demo-app/src-tauri/icons/StoreLogo.png similarity index 100% rename from src-tauri/icons/StoreLogo.png rename to apps/demo-app/src-tauri/icons/StoreLogo.png diff --git a/src-tauri/icons/icon.icns b/apps/demo-app/src-tauri/icons/icon.icns similarity index 100% rename from src-tauri/icons/icon.icns rename to apps/demo-app/src-tauri/icons/icon.icns diff --git a/src-tauri/icons/icon.ico b/apps/demo-app/src-tauri/icons/icon.ico similarity index 100% rename from src-tauri/icons/icon.ico rename to apps/demo-app/src-tauri/icons/icon.ico diff --git a/src-tauri/icons/icon.png b/apps/demo-app/src-tauri/icons/icon.png similarity index 100% rename from src-tauri/icons/icon.png rename to apps/demo-app/src-tauri/icons/icon.png diff --git a/src-tauri/src/commands/mod.rs b/apps/demo-app/src-tauri/src/commands/mod.rs similarity index 100% rename from src-tauri/src/commands/mod.rs rename to apps/demo-app/src-tauri/src/commands/mod.rs diff --git a/src-tauri/src/lib.rs b/apps/demo-app/src-tauri/src/lib.rs similarity index 100% rename from src-tauri/src/lib.rs rename to apps/demo-app/src-tauri/src/lib.rs diff --git a/src-tauri/src/main.rs b/apps/demo-app/src-tauri/src/main.rs similarity index 100% rename from src-tauri/src/main.rs rename to apps/demo-app/src-tauri/src/main.rs diff --git a/src-tauri/src/sidecar.rs b/apps/demo-app/src-tauri/src/sidecar.rs similarity index 100% rename from src-tauri/src/sidecar.rs rename to apps/demo-app/src-tauri/src/sidecar.rs diff --git a/src-tauri/tauri.conf.json b/apps/demo-app/src-tauri/tauri.conf.json similarity index 100% rename from src-tauri/tauri.conf.json rename to apps/demo-app/src-tauri/tauri.conf.json diff --git a/src/components/Error.tsx b/apps/demo-app/src/components/Error.tsx similarity index 100% rename from src/components/Error.tsx rename to apps/demo-app/src/components/Error.tsx diff --git a/src/components/NotFount.tsx b/apps/demo-app/src/components/NotFount.tsx similarity index 100% rename from src/components/NotFount.tsx rename to apps/demo-app/src/components/NotFount.tsx diff --git a/src/db/index.ts b/apps/demo-app/src/db/index.ts similarity index 100% rename from src/db/index.ts rename to apps/demo-app/src/db/index.ts diff --git a/src/db/schema/index.ts b/apps/demo-app/src/db/schema/index.ts similarity index 100% rename from src/db/schema/index.ts rename to apps/demo-app/src/db/schema/index.ts diff --git a/src/db/schema/todo.ts b/apps/demo-app/src/db/schema/todo.ts similarity index 100% rename from src/db/schema/todo.ts rename to apps/demo-app/src/db/schema/todo.ts diff --git a/src/env.ts b/apps/demo-app/src/env.ts similarity index 100% rename from src/env.ts rename to apps/demo-app/src/env.ts diff --git a/src/integrations/tanstack-query/devtools.tsx b/apps/demo-app/src/integrations/tanstack-query/devtools.tsx similarity index 100% rename from src/integrations/tanstack-query/devtools.tsx rename to apps/demo-app/src/integrations/tanstack-query/devtools.tsx diff --git a/src/integrations/tanstack-query/index.ts b/apps/demo-app/src/integrations/tanstack-query/index.ts similarity index 100% rename from src/integrations/tanstack-query/index.ts rename to apps/demo-app/src/integrations/tanstack-query/index.ts diff --git a/src/integrations/tanstack-router/devtools.tsx b/apps/demo-app/src/integrations/tanstack-router/devtools.tsx similarity index 100% rename from src/integrations/tanstack-router/devtools.tsx rename to apps/demo-app/src/integrations/tanstack-router/devtools.tsx diff --git a/src/integrations/tanstack-router/index.ts b/apps/demo-app/src/integrations/tanstack-router/index.ts similarity index 100% rename from src/integrations/tanstack-router/index.ts rename to apps/demo-app/src/integrations/tanstack-router/index.ts diff --git a/src/lib/utils.ts b/apps/demo-app/src/lib/utils.ts similarity index 100% rename from src/lib/utils.ts rename to apps/demo-app/src/lib/utils.ts diff --git a/src/orpc/client.ts b/apps/demo-app/src/orpc/client.ts similarity index 100% rename from src/orpc/client.ts rename to apps/demo-app/src/orpc/client.ts diff --git a/src/orpc/contract.ts b/apps/demo-app/src/orpc/contract.ts similarity index 100% rename from src/orpc/contract.ts rename to apps/demo-app/src/orpc/contract.ts diff --git a/src/orpc/contracts/todo.ts b/apps/demo-app/src/orpc/contracts/todo.ts similarity index 100% rename from src/orpc/contracts/todo.ts rename to apps/demo-app/src/orpc/contracts/todo.ts diff --git a/src/orpc/handlers/todo.ts b/apps/demo-app/src/orpc/handlers/todo.ts similarity index 100% rename from src/orpc/handlers/todo.ts rename to apps/demo-app/src/orpc/handlers/todo.ts diff --git a/src/orpc/index.ts b/apps/demo-app/src/orpc/index.ts similarity index 100% rename from src/orpc/index.ts rename to apps/demo-app/src/orpc/index.ts diff --git a/src/orpc/middlewares/db.ts b/apps/demo-app/src/orpc/middlewares/db.ts similarity index 100% rename from src/orpc/middlewares/db.ts rename to apps/demo-app/src/orpc/middlewares/db.ts diff --git a/src/orpc/middlewares/index.ts b/apps/demo-app/src/orpc/middlewares/index.ts similarity index 100% rename from src/orpc/middlewares/index.ts rename to apps/demo-app/src/orpc/middlewares/index.ts diff --git a/src/orpc/router.ts b/apps/demo-app/src/orpc/router.ts similarity index 100% rename from src/orpc/router.ts rename to apps/demo-app/src/orpc/router.ts diff --git a/src/orpc/server.ts b/apps/demo-app/src/orpc/server.ts similarity index 100% rename from src/orpc/server.ts rename to apps/demo-app/src/orpc/server.ts diff --git a/src/orpc/types.ts b/apps/demo-app/src/orpc/types.ts similarity index 100% rename from src/orpc/types.ts rename to apps/demo-app/src/orpc/types.ts diff --git a/src/routeTree.gen.ts b/apps/demo-app/src/routeTree.gen.ts similarity index 100% rename from src/routeTree.gen.ts rename to apps/demo-app/src/routeTree.gen.ts diff --git a/src/router.tsx b/apps/demo-app/src/router.tsx similarity index 100% rename from src/router.tsx rename to apps/demo-app/src/router.tsx diff --git a/src/routes/__root.tsx b/apps/demo-app/src/routes/__root.tsx similarity index 100% rename from src/routes/__root.tsx rename to apps/demo-app/src/routes/__root.tsx diff --git a/src/routes/api/rpc.$.ts b/apps/demo-app/src/routes/api/rpc.$.ts similarity index 100% rename from src/routes/api/rpc.$.ts rename to apps/demo-app/src/routes/api/rpc.$.ts diff --git a/src/routes/index.tsx b/apps/demo-app/src/routes/index.tsx similarity index 100% rename from src/routes/index.tsx rename to apps/demo-app/src/routes/index.tsx diff --git a/src/styles.css b/apps/demo-app/src/styles.css similarity index 100% rename from src/styles.css rename to apps/demo-app/src/styles.css diff --git a/apps/demo-app/tsconfig.json b/apps/demo-app/tsconfig.json new file mode 100644 index 0000000..755e3d0 --- /dev/null +++ b/apps/demo-app/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@furtherverse/tsconfig/react.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/vite.config.ts b/apps/demo-app/vite.config.ts similarity index 100% rename from vite.config.ts rename to apps/demo-app/vite.config.ts diff --git a/biome.json b/biome.json index 6f55195..7464f81 100644 --- a/biome.json +++ b/biome.json @@ -6,7 +6,6 @@ "useIgnoreFile": true }, "files": { - "includes": ["**", "!**/routeTree.gen.ts"], "ignoreUnknown": false }, "formatter": { diff --git a/bun.lock b/bun.lock index b2e32f3..21fe440 100644 --- a/bun.lock +++ b/bun.lock @@ -4,48 +4,102 @@ "workspaces": { "": { "name": "fullstack-starter", - "dependencies": { - "@orpc/client": "^1.13.4", - "@orpc/contract": "^1.13.4", - "@orpc/server": "^1.13.4", - "@orpc/tanstack-query": "^1.13.4", - "@orpc/zod": "^1.13.4", - "@t3-oss/env-core": "^0.13.10", - "@tanstack/react-query": "^5.90.18", - "@tanstack/react-router": "^1.151.0", - "@tanstack/react-router-ssr-query": "^1.151.0", - "@tanstack/react-start": "^1.151.0", - "@tauri-apps/api": "^2.9.1", - "drizzle-orm": "^0.45.1", - "drizzle-zod": "^0.8.3", - "postgres": "^3.4.8", - "react": "^19.2.3", - "react-dom": "^19.2.3", - "zod": "^4.3.5", - }, "devDependencies": { "@biomejs/biome": "^2.3.11", - "@effect/platform": "^0.94.1", - "@effect/schema": "^0.75.5", - "@tailwindcss/vite": "^4.1.18", - "@tanstack/devtools-vite": "^0.4.1", - "@tanstack/react-devtools": "^0.9.2", - "@tanstack/react-query-devtools": "^5.91.2", - "@tanstack/react-router-devtools": "^1.151.0", - "@tauri-apps/cli": "^2.9.6", - "@types/bun": "^1.3.6", - "@vitejs/plugin-react": "^5.1.2", - "babel-plugin-react-compiler": "^1.0.0", - "drizzle-kit": "^0.31.8", - "effect": "^3.19.14", - "nitro": "npm:nitro-nightly@latest", - "tailwindcss": "^4.1.18", - "turbo": "^2.7.5", + "turbo": "^2.7.4", "typescript": "^5.9.3", - "vite": "^8.0.0-beta.8", - "vite-tsconfig-paths": "^6.0.4", }, }, + "apps/demo-app": { + "name": "@furtherverse/demo-app", + "dependencies": { + "@orpc/client": "catalog:", + "@orpc/contract": "catalog:", + "@orpc/server": "catalog:", + "@orpc/tanstack-query": "catalog:", + "@orpc/zod": "catalog:", + "@t3-oss/env-core": "catalog:", + "@tanstack/react-query": "catalog:", + "@tanstack/react-router": "catalog:", + "@tanstack/react-router-ssr-query": "catalog:", + "@tanstack/react-start": "catalog:", + "@tauri-apps/api": "catalog:", + "drizzle-orm": "catalog:", + "drizzle-zod": "catalog:", + "postgres": "catalog:", + "react": "catalog:", + "react-dom": "catalog:", + "zod": "catalog:", + }, + "devDependencies": { + "@biomejs/biome": "catalog:", + "@effect/platform": "catalog:", + "@effect/schema": "catalog:", + "@tailwindcss/vite": "catalog:", + "@tanstack/devtools-vite": "catalog:", + "@tanstack/react-devtools": "catalog:", + "@tanstack/react-query-devtools": "catalog:", + "@tanstack/react-router-devtools": "catalog:", + "@tauri-apps/cli": "catalog:", + "@types/bun": "catalog:", + "@vitejs/plugin-react": "catalog:", + "babel-plugin-react-compiler": "catalog:", + "drizzle-kit": "catalog:", + "effect": "catalog:", + "nitro": "catalog:", + "tailwindcss": "catalog:", + "turbo": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vite-tsconfig-paths": "catalog:", + }, + }, + "packages/tsconfig": { + "name": "@furtherverse/tsconfig", + "version": "0.0.0", + "devDependencies": { + "@types/bun": "catalog:", + }, + }, + }, + "catalog": { + "@biomejs/biome": "^2.3.11", + "@effect/platform": "^0.94.1", + "@effect/schema": "^0.75.5", + "@orpc/client": "^1.13.4", + "@orpc/contract": "^1.13.4", + "@orpc/server": "^1.13.4", + "@orpc/tanstack-query": "^1.13.4", + "@orpc/zod": "^1.13.4", + "@t3-oss/env-core": "^0.13.10", + "@tailwindcss/vite": "^4.1.18", + "@tanstack/devtools-vite": "^0.4.1", + "@tanstack/react-devtools": "^0.9.2", + "@tanstack/react-query": "^5.90.18", + "@tanstack/react-query-devtools": "^5.91.2", + "@tanstack/react-router": "^1.151.0", + "@tanstack/react-router-devtools": "^1.151.0", + "@tanstack/react-router-ssr-query": "^1.151.0", + "@tanstack/react-start": "^1.151.0", + "@tauri-apps/api": "^2.9.1", + "@tauri-apps/cli": "^2.9.6", + "@types/bun": "^1.3.6", + "@vitejs/plugin-react": "^5.1.2", + "babel-plugin-react-compiler": "^1.0.0", + "drizzle-kit": "^0.31.8", + "drizzle-orm": "^0.45.1", + "drizzle-zod": "^0.8.3", + "effect": "^3.19.14", + "nitro": "npm:nitro-nightly@latest", + "postgres": "^3.4.8", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "tailwindcss": "^4.1.18", + "turbo": "^2.7.5", + "typescript": "^5.9.3", + "vite": "^8.0.0-beta.8", + "vite-tsconfig-paths": "^6.0.4", + "zod": "^4.3.5", }, "packages": { "@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], @@ -198,6 +252,10 @@ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], + "@furtherverse/demo-app": ["@furtherverse/demo-app@workspace:apps/demo-app"], + + "@furtherverse/tsconfig": ["@furtherverse/tsconfig@workspace:packages/tsconfig"], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], @@ -262,89 +320,89 @@ "@orpc/zod": ["@orpc/zod@1.13.4", "", { "dependencies": { "@orpc/json-schema": "1.13.4", "@orpc/openapi": "1.13.4", "@orpc/shared": "1.13.4", "escape-string-regexp": "^5.0.0", "wildcard-match": "^5.1.4" }, "peerDependencies": { "@orpc/contract": "1.13.4", "@orpc/server": "1.13.4", "zod": ">=3.25.0" } }, "sha512-gmh334QPo29ekQ2k58f8e3KtmIqKWxxqGuuoYNCdLTdBp3cem6CLdnxb//QWsoPMzcpuCp4UGBABdmpRQCZebg=="], - "@oxc-minify/binding-android-arm-eabi": ["@oxc-minify/binding-android-arm-eabi@0.108.0", "", { "os": "android", "cpu": "arm" }, "sha512-obfkLrlAv40lAE6C9eYameBKLpTJ/ToynpBbTwb+wSVg+HXYzLoFYy1M5V9/otjCnxxVpPdnHsOqw8aGCRT0WA=="], + "@oxc-minify/binding-android-arm-eabi": ["@oxc-minify/binding-android-arm-eabi@0.110.0", "", { "os": "android", "cpu": "arm" }, "sha512-43fMTO8/5bMlqfOiNSZNKUzIqeLIYuB9Hr1Ohyf58B1wU11S2dPGibTXOGNaWsfgHy99eeZ1bSgeIHy/fEYqbw=="], - "@oxc-minify/binding-android-arm64": ["@oxc-minify/binding-android-arm64@0.108.0", "", { "os": "android", "cpu": "arm64" }, "sha512-GmzLsdtrByBZ8+m482DpCkb4VgzgsDcOU7l5YU+OvSmBdaGFt1DrSXE2cMB93TjNF787+GzUQC30DoQaoYThxw=="], + "@oxc-minify/binding-android-arm64": ["@oxc-minify/binding-android-arm64@0.110.0", "", { "os": "android", "cpu": "arm64" }, "sha512-5oQrnn9eK/ccOp80PTrNj0Vq893NPNNRryjGpOIVsYNgWFuoGCfpnKg68oEFcN8bArizYAqw4nvgHljEnar69w=="], - "@oxc-minify/binding-darwin-arm64": ["@oxc-minify/binding-darwin-arm64@0.108.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RTSj52lvWugvy6e8q7oUrJyELAmBJHi7oiJ/lBD720f3pZw29HCT+BYEdpfbYMBNqEcH9nSz/awahaYpSHXuAA=="], + "@oxc-minify/binding-darwin-arm64": ["@oxc-minify/binding-darwin-arm64@0.110.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-dqBDgTG9tF2z2lrZp9E8wU+Godz1i8gCGSei2eFKS2hRploBOD5dmOLp1j4IMornkPvSQmbwB3uSjPq7fjx4EA=="], - "@oxc-minify/binding-darwin-x64": ["@oxc-minify/binding-darwin-x64@0.108.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-PM+LdyCbjotBLE5DQuEm81fPrHmcmYvf5NnssZKG79o4LpXbKOQFOBRncNwq/+4y0nqRBeA1SROQ7ZuIZpeM/g=="], + "@oxc-minify/binding-darwin-x64": ["@oxc-minify/binding-darwin-x64@0.110.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U0AqabqaooDOpYmeeOye8wClv8PSScELXgOfYqyqgrwH9J9KrpCE1jL8Rlqgz68QbL4mPw3V6sKiiHssI4CLeQ=="], - "@oxc-minify/binding-freebsd-x64": ["@oxc-minify/binding-freebsd-x64@0.108.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-LyEK378Dm2XyUCE95dCev0Zas2wREa5sZvSiKx7wwFCCAyiHBlQ/OH0Fltvqco8BPspePNIvdKwmSOdPwyrJpw=="], + "@oxc-minify/binding-freebsd-x64": ["@oxc-minify/binding-freebsd-x64@0.110.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-H0w8o/Wo1072WSdLfhwwrpFpwZnPpjQODlHuRYkTfsSSSJbTxQtjJd4uxk7YJsRv5RQp69y0I7zvdH6f8Xueyw=="], - "@oxc-minify/binding-linux-arm-gnueabihf": ["@oxc-minify/binding-linux-arm-gnueabihf@0.108.0", "", { "os": "linux", "cpu": "arm" }, "sha512-6VAR1s32bTJld1Gam/b4P/5BHTkBxPpbYm4X1Y3qrVD6lUX4PeEbdttjtYdoPMCE3jjwhTjXOQfSnGepCW0Z2A=="], + "@oxc-minify/binding-linux-arm-gnueabihf": ["@oxc-minify/binding-linux-arm-gnueabihf@0.110.0", "", { "os": "linux", "cpu": "arm" }, "sha512-qd6sW0AvEVYZhbVVMGtmKZw3b1zDYGIW+54Uh42moWRAj6i4Jhk/LGr6r9YNZpOINeuvZfkFuEeDD/jbu7xPUA=="], - "@oxc-minify/binding-linux-arm-musleabihf": ["@oxc-minify/binding-linux-arm-musleabihf@0.108.0", "", { "os": "linux", "cpu": "arm" }, "sha512-2sPMq8Hjrvbfgz/Nw23DfN9TrdVfjPEV1fXi8t7GqoIsRof0NKdb/HAvD9hKNR4lf37h3KB5m/8KCa7QRhbgWA=="], + "@oxc-minify/binding-linux-arm-musleabihf": ["@oxc-minify/binding-linux-arm-musleabihf@0.110.0", "", { "os": "linux", "cpu": "arm" }, "sha512-7WXP0aXMrWSn0ScppUBi3jf68ebfBG0eri8kxLmBOVSBj6jw1repzkHMITJMBeLr5d0tT/51qFEptiAk2EP2iA=="], - "@oxc-minify/binding-linux-arm64-gnu": ["@oxc-minify/binding-linux-arm64-gnu@0.108.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-H+kR1SBBXdgGY02MRBlO2/diAy9CGcgODaPwyoPMGHUO3bZFjW6M+klqjJv+OxiQNup/s7yPNSZDPILQaNWnQw=="], + "@oxc-minify/binding-linux-arm64-gnu": ["@oxc-minify/binding-linux-arm64-gnu@0.110.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-LYfADrq5x1W5gs+u9OIbMbDQNYkAECTXX0ufnAuf3oGmO51rF98kGFR5qJqC/6/csokDyT3wwTpxhE0TkcF/Og=="], - "@oxc-minify/binding-linux-arm64-musl": ["@oxc-minify/binding-linux-arm64-musl@0.108.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-V/h1aI09INqmHHQaVKcBa51yLNBWXSCLLisuqohfAm+noRidBjkjudTEJsN/pCaYp7zTsc4NPG3RLkAD1q2Odg=="], + "@oxc-minify/binding-linux-arm64-musl": ["@oxc-minify/binding-linux-arm64-musl@0.110.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-53GjCVY8kvymk9P6qNDh6zyblcehF5QHstq9QgCjv13ONGRnSHjeds0PxIwiihD7h295bxsWs84DN39syLPH4Q=="], - "@oxc-minify/binding-linux-ppc64-gnu": ["@oxc-minify/binding-linux-ppc64-gnu@0.108.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-8zCLUptLgAlDYZURG3meARBBMNmFrWKyS2P6Na88nFSruxKbLk2Llt88v3dMYN3//EcDJF6uvKanWNvJB+rtHw=="], + "@oxc-minify/binding-linux-ppc64-gnu": ["@oxc-minify/binding-linux-ppc64-gnu@0.110.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-li8XcN81dxbJDMBESnTgGhoiAQ+CNIdM0QGscZ4duVPjCry1RpX+5FJySFbGqG3pk4s9ZzlL/vtQtbRzZIZOzg=="], - "@oxc-minify/binding-linux-riscv64-gnu": ["@oxc-minify/binding-linux-riscv64-gnu@0.108.0", "", { "os": "linux", "cpu": "none" }, "sha512-YrgtK7o+SpEivjqIGi6DZDzpj7/IcA1xfkmOnUviSJ28EFMDnyZ42z6NZqGZBfTPnP936FQl8BUVBuebmeSuHw=="], + "@oxc-minify/binding-linux-riscv64-gnu": ["@oxc-minify/binding-linux-riscv64-gnu@0.110.0", "", { "os": "linux", "cpu": "none" }, "sha512-SweKfsnLKShu6UFV8mwuj1d1wmlNoL/FlAxPUzwjEBgwiT2HQkY24KnjBH+TIA+//1O83kzmWKvvs4OuEhdIEQ=="], - "@oxc-minify/binding-linux-riscv64-musl": ["@oxc-minify/binding-linux-riscv64-musl@0.108.0", "", { "os": "linux", "cpu": "none" }, "sha512-CxTlaopJH6advoJ9btvF8GnyB13+HauNy/d8/TzHxyHE2Qxoq30BzmES+UXqECu4Tzqq6T9+8tPNx/qyzVPWvA=="], + "@oxc-minify/binding-linux-riscv64-musl": ["@oxc-minify/binding-linux-riscv64-musl@0.110.0", "", { "os": "linux", "cpu": "none" }, "sha512-oH8G4aFMP8XyTsEpdANC5PQyHgSeGlopHZuW1rpyYcaErg5YaK0vXjQ4EM5HVvPm+feBV24JjxgakTnZoF3aOQ=="], - "@oxc-minify/binding-linux-s390x-gnu": ["@oxc-minify/binding-linux-s390x-gnu@0.108.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-aiPv1zzXBEt0GmgjfdllGgb1hsQEFyQP3CWGXk11+fEGTkOPOkfnYtnnoJVBDavW30GSzI4ZUti7f1WriGvxDw=="], + "@oxc-minify/binding-linux-s390x-gnu": ["@oxc-minify/binding-linux-s390x-gnu@0.110.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-W9na+Vza7XVUlpf8wMt4QBfH35KeTENEmnpPUq3NSlbQHz8lSlSvhAafvo43NcKvHAXV3ckD/mUf2VkqSdbklg=="], - "@oxc-minify/binding-linux-x64-gnu": ["@oxc-minify/binding-linux-x64-gnu@0.108.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ntSsDSVH/xVcAmToA9HmrtqBXPmKQFq94UrU19oHtS/je34kMaUWs7rH9BfT/kiLiSgvsgKdKWBZW0JSR7hgvg=="], + "@oxc-minify/binding-linux-x64-gnu": ["@oxc-minify/binding-linux-x64-gnu@0.110.0", "", { "os": "linux", "cpu": "x64" }, "sha512-XJdA4mmmXOjJxSRgNJXsDP7Xe8h3gQhmb56hUcCrvq5d+h5UcEi2pR8rxsdIrS8QmkLuBA3eHkGK8E27D7DTgQ=="], - "@oxc-minify/binding-linux-x64-musl": ["@oxc-minify/binding-linux-x64-musl@0.108.0", "", { "os": "linux", "cpu": "x64" }, "sha512-KtrQg58yUd3TGc60tsy8cDOzMTwgtWAqLIagzxvyVb+6EpqbK5ajbqQ84nasL3Vh9BPZC0j/W+sCCzNO2iZBBg=="], + "@oxc-minify/binding-linux-x64-musl": ["@oxc-minify/binding-linux-x64-musl@0.110.0", "", { "os": "linux", "cpu": "x64" }, "sha512-QqzvALuOTtSckI8x467R4GNArzYDb/yEh6aNzLoeaY1O7vfT7SPDwlOEcchaTznutpeS9Dy8gUS/AfqtUHaufw=="], - "@oxc-minify/binding-openharmony-arm64": ["@oxc-minify/binding-openharmony-arm64@0.108.0", "", { "os": "none", "cpu": "arm64" }, "sha512-ap+1/J4Gu84ehhWMQIAjEHUtsEE5BEtw6cD+8cRZYI8GBdMaKjq7912UhzeBeqsQOoACdMOa/WNL3cHTPCBH7A=="], + "@oxc-minify/binding-openharmony-arm64": ["@oxc-minify/binding-openharmony-arm64@0.110.0", "", { "os": "none", "cpu": "arm64" }, "sha512-gAMssLs2Q3+uhLZxanh1DF+27Kaug3cf4PXb9AB7XK81DR+LVcKySXaoGYoOs20Co0fFSphd6rRzKge2qDK3dA=="], - "@oxc-minify/binding-wasm32-wasi": ["@oxc-minify/binding-wasm32-wasi@0.108.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-281FLKNYXhGbpM56Un8Mj56LQ8oVWq1xKtJFmmqRXaVLonM139gwGj8kgMyQeRYVbUKfeLCxQvtGtlBO5tHvHA=="], + "@oxc-minify/binding-wasm32-wasi": ["@oxc-minify/binding-wasm32-wasi@0.110.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-7Wqi5Zjl022bs2zXq+ICdalDPeDuCH/Nhbi8q2isLihAonMVIT0YH2hqqnNEylRNGYck+FJ6gRZwMpGCgrNxPg=="], - "@oxc-minify/binding-win32-arm64-msvc": ["@oxc-minify/binding-win32-arm64-msvc@0.108.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-c0d6DWo5w0pQACcjF4w58FerqltPhE/dHW96rwte5GKSIIjxXRgB+kvkxjmbucOQMZoaKm1jL1xM2V6vgsBzug=="], + "@oxc-minify/binding-win32-arm64-msvc": ["@oxc-minify/binding-win32-arm64-msvc@0.110.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-ZPx+0Tj4dqn41ecyoGotlvekQKy6JxJCixn9Rw7h/dafZ3eDuBcEVh3c2ZoldXXsyMIt5ywI8IWzFZsjNedd5Q=="], - "@oxc-minify/binding-win32-ia32-msvc": ["@oxc-minify/binding-win32-ia32-msvc@0.108.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-MQeALwlG29Zs9aMs/5OAItDEiW0ZldZUIN1y/+R0dQY78faoitoa9BgVf0Myn2cQaiqjZTRbDOlIxUK2KwH6/Q=="], + "@oxc-minify/binding-win32-ia32-msvc": ["@oxc-minify/binding-win32-ia32-msvc@0.110.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-H0Oyd3RWBfpEyvJIrFK94RYiY7KKSQl11Ym7LMDwLEagelIAfRCkt1amHZhFa/S3ZRoaOJFXzEw4YKeSsjVFsg=="], - "@oxc-minify/binding-win32-x64-msvc": ["@oxc-minify/binding-win32-x64-msvc@0.108.0", "", { "os": "win32", "cpu": "x64" }, "sha512-qvlmddEfaW0oMEn9UrU/W8XhS9kVFDQtps+b1/ZJ7YPr9ToZz44Ouh7UPNz12F+nwUTt9urU15L+gtdM4SwfxA=="], + "@oxc-minify/binding-win32-x64-msvc": ["@oxc-minify/binding-win32-x64-msvc@0.110.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Hr3nK90+qXKJ2kepXwFIcNfQQIOBecB4FFCyaMMypthoEEhVP08heRynj4eSXZ8NL9hLjs3fQzH8PJXfpznRnQ=="], "@oxc-project/runtime": ["@oxc-project/runtime@0.108.0", "", {}, "sha512-J1cESY4anMO4i9KtCPmCfQAzAR00Uw4SWsDPFP10CIwDMugkh34UrTKByuYKuPaHy0XAk8LlJiZJq2OLMfbuIQ=="], "@oxc-project/types": ["@oxc-project/types@0.108.0", "", {}, "sha512-7lf13b2IA/kZO6xgnIZA88sq3vwrxWk+2vxf6cc+omwYCRTiA5e63Beqf3fz/v8jEviChWWmFYBwzfSeyrsj7Q=="], - "@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.108.0", "", { "os": "android", "cpu": "arm" }, "sha512-lvIu578kM6558Ynz0+QyJCpAEwyqjU2RdB0ppyzCbN8wJRGTlDirr+THtETiq/hbRk/M5yhfAO2kro+70AvgAA=="], + "@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.110.0", "", { "os": "android", "cpu": "arm" }, "sha512-sE9dxvqqAax1YYJ3t7j+h5ZSI9jl6dYuDfngl6ieZUrIy5P89/8JKVgAzgp8o3wQSo7ndpJvYsi1K4ZqrmbP7w=="], - "@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.108.0", "", { "os": "android", "cpu": "arm64" }, "sha512-2mIcrNI1PMUuNvp7nJ7TGEcllJiC7qq7G1J/eCS4CRUGHLuaMuiqds79gSJBR9gG4UzzP7thWjws9goMq5UICQ=="], + "@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.110.0", "", { "os": "android", "cpu": "arm64" }, "sha512-nqtbP4aMCtsCZ6qpHlHaQoWVHSBtlKzwaAgwEOvR+9DWqHjk31BHvpGiDXlMeed6CVNpl3lCbWgygb3RcSjcfw=="], - "@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.108.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-09P6IRBoOYj9HZ8ZR1i60Gk274xeSW2HO8VmMGJbV+Z1HURiO1hn/z6iCDmWhVgz9I3F2vqXFfVk8IeWY+KN3g=="], + "@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.110.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-oeSeHnL4Z4cMXtc8V0/rwoVn0dgwlS9q0j6LcHn9dIhtFEdp3W0iSBF8YmMQA+E7sILeLDjsHmHE4Kp0sOScXw=="], - "@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.108.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-bVf2wNwpMP2PX3hRbm8C9gRhdKLiqUIpLhsVhtyHgNwd5G4FgPtNgdFJogIFJ/07E0uYC2F+ag+CoSD76lEI0Q=="], + "@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.110.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-nL9K5x7OuZydobAGPylsEW9d4APs2qEkIBLMgQPA+kY8dtVD3IR87QsTbs4l4DBQYyun/+ay6qVCDlxqxdX2Jg=="], - "@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.108.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BoP/itmIqHuZ4yOk6kSh1WAk7Muh/IykUVfBtH4D8ZZzcpiDNRndSKc+IISLDQ3AqtaAsl4A8DYa3S+SqEUJzQ=="], + "@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.110.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-GS29zXXirDQhZEUq8xKJ1azAWMuUy3Ih3W5Bc5ddk12LRthO5wRLFcKIyeHpAXCoXymQ+LmxbMtbPf84GPxouw=="], - "@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.108.0", "", { "os": "linux", "cpu": "arm" }, "sha512-KtPotqF+MsXBo81xwmuPCkK+N/jX8ZsjCKOH3s7p1XfQanwCGLRFHel06o5JjH1klIlrdA1R+8YoorKwKDAfmQ=="], + "@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.110.0", "", { "os": "linux", "cpu": "arm" }, "sha512-glzDHak8ISyZJemCUi7RCvzNSl+MQ1ly9RceT2qRufhUsvNZ4C/2QLJ1HJwd2N6E88bO4laYn+RofdRzNnGGEA=="], - "@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.108.0", "", { "os": "linux", "cpu": "arm" }, "sha512-Yf/lUkWqgRF8Ab1nqL1iAnrGP+IJO6H0k9c7Vnpg/fUfG5e8MOB+NPtWdbMMBUXTLPRWSh6Gmrr6rLnn2o7KWw=="], + "@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.110.0", "", { "os": "linux", "cpu": "arm" }, "sha512-8JThvgJ2FRoTVfbp7e4wqeZqCZbtudM06SfZmNzND9kPNu/LVYygIR+72RWs+xm4bWkuYHg/islo/boNPtMT5Q=="], - "@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.108.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-84hqyO4xdvy6WfYkiFdQLVQK9gchrZvL6OuWYGXjqHwDcUU2Ll9YodHC4sEkQagKX5FKJjjRZ1YYmEKgq6bpkg=="], + "@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.110.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-IRh21Ub/g4bkHoErZ0AUWMlWfoZaS0A6EaOVtbcY70RSYIMlrsbjiFwJCzM+b/1DD1rXbH5tsGcH7GweTbfRqg=="], - "@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.108.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0utnCDANwZoJDAtwRyj5z0MLhzXPEr5p7pXf+Q/ef96ggwii2SVbSQdGge/+s/i4IWH3t3DbPGeIzXF7ab2gDw=="], + "@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.110.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-e5JN94/oy+wevk76q+LMr+2klTTcO60uXa+Wkq558Ms7mdF2TvkKFI++d/JeiuIwJLTi/BxQ4qdT5FWcsHM/ug=="], - "@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.108.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9s8muvWbTtxlvcwMZr643WXeAU5iRxKFxAeeHMwci952muR8AXaQvxTWeRyKUaKyjmtX/gCQSCTKL7ER0dx9Qw=="], + "@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.110.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Y3/Tnnz1GvDpmv8FXBIKtdZPsdZklOEPdrL6NHrN5i2u54BOkybFaDSptgWF53wOrJlTrcmAVSE6fRKK9XCM2Q=="], - "@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.108.0", "", { "os": "linux", "cpu": "none" }, "sha512-84EAYsC7oawGVTz6Gq7UzxOw9auZSAgqcT0itAI1k5m3k01ZJ5NNQyby16wmL6K1uetEz7t8vN0BWHhFPZAVBw=="], + "@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.110.0", "", { "os": "linux", "cpu": "none" }, "sha512-Y0E35iA9/v9jlkNcP6tMJ+ZFOS0rLsWDqG6rU9z+X2R3fBFJBO9UARIK6ngx8upxk81y1TFR2CmBFhupfYdH6Q=="], - "@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.108.0", "", { "os": "linux", "cpu": "none" }, "sha512-YsVyPd3/bHybHki5z06vToTB4MeiUgDOOQH+BNst462Mzim4gwyAG45k2XBJCR3vsDep04da7OtRQQoXe1mSqg=="], + "@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.110.0", "", { "os": "linux", "cpu": "none" }, "sha512-JOUSYFfHjBUs7xp2FHmZHb8eTYD/oEu0NklS6JgUauqnoXZHiTLPLVW2o2uVCqldnabYHcomuwI2iqVFYJNhTw=="], - "@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.108.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-aW9bQpvKBShYRtoG561uO+6788eciMl6IN7yWiLqGEHxV8azIbx7EK0GgvWdKH52CJq2LrM/gcfoXRfOgCjRUA=="], + "@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.110.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-7blgoXF9D3Ngzb7eun23pNrHJpoV/TtE6LObwlZ3Nmb4oZ6Z+yMvBVaoW68NarbmvNGfZ95zrOjgm6cVETLYBA=="], - "@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.108.0", "", { "os": "linux", "cpu": "x64" }, "sha512-APOYvs7APzLHfIop9RQYqP9YkY9g7kQOnOE4KHhodlqOmUYDHpZYeA2QAs7is8KuTo0JETP3fTipG5HiSFJdWg=="], + "@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.110.0", "", { "os": "linux", "cpu": "x64" }, "sha512-YQ2joGWCVDZVEU2cD/r/w49hVjDm/Qu1BvC/7zs8LvprzdLS/HyMXGF2oA0puw0b+AqgYaz3bhwKB2xexHyITQ=="], - "@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.108.0", "", { "os": "linux", "cpu": "x64" }, "sha512-vPtmOmBvXCCB1ms68Ne8WoTv97mpDTDY2vgeT4E4NL5OFk9ZT6YVS6cXaJqCBHZNqljL5uIKuAF8gy6ywV1mUA=="], + "@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.110.0", "", { "os": "linux", "cpu": "x64" }, "sha512-fkjr5qE632ULmNgvFXWDR/8668WxERz3tU7TQFp6JebPBneColitjSkdx6VKNVXEoMmQnOvBIGeP5tUNT384oA=="], - "@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.108.0", "", { "os": "none", "cpu": "arm64" }, "sha512-iWD38lrG1hQVMPjTAuxci+h8rr6xh17EfEQNiumnbiFjMmhWeMFTtyPyXwTpS6aPxf6Tcx/SUXHwRzKs+dKHDg=="], + "@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.110.0", "", { "os": "none", "cpu": "arm64" }, "sha512-HWH9Zj+lMrdSTqFRCZsvDWMz7OnMjbdGsm3xURXWfRZpuaz0bVvyuZNDQXc4FyyhRDsemICaJbU1bgeIpUJDGw=="], - "@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.108.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-lr+pGcVrKCoZWZi5bH+3LE5OZq1FJ7vbWgXhbK0MGT0LAOXzqtMFcpbsZR/CPYQCXl4xl1FcAtXan0lNFAt4bQ=="], + "@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.110.0", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-ejdxHmYfIcHDPhZUe3WklViLt9mDEJE5BzcW7+R1vc5i/5JFA8D0l7NUSsHBJ7FB8Bu9gF+5iMDm6cXGAgaghw=="], - "@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.108.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-R7X4Qbmq6TRWeEaxWpFx7n7n6t9rWcz9Q1hNOewxCBYNKXlH2Or5COPmKZGCuYByvN4TiDua5rudDgE6rf8RIA=="], + "@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.110.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-9VTwpXCZs7xkV+mKhQ62dVk7KLnLXtEUxNS2T4nLz3iMl1IJbA4h5oltK0JoobtiUAnbkV53QmMVGW8+Nh3bDQ=="], - "@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.108.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-msSIfa3g/AX2zudSmjAskxG074MQd+YDzBNaeDs/+6192pfR/N+Adn/zCt4HOcNiqTbWmbikAM7B7pPFb5yr0A=="], + "@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.110.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-5y0fzuNON7/F2hh2P94vANFaRPJ/3DI1hVl5rseCT8VUVqOGIjWaza0YS/D1g6t1WwycW2LWDMi2raOKoWU5GQ=="], - "@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.108.0", "", { "os": "win32", "cpu": "x64" }, "sha512-k+7tuCMULfB7zr57jb68sVzxbyleZBasyr1h1Ieiu1U95XHYe64pbSrwHmlaSmiNHqV91ikM3809+ps68jZZhw=="], + "@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.110.0", "", { "os": "win32", "cpu": "x64" }, "sha512-QROrowwlrApI1fEScMknGWKM6GTM/Z2xwMnDqvSaEmzNazBsDUlE08Jasw610hFEsYAVU2K5sp/YaCa9ORdP4A=="], "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-beta.60", "", { "os": "android", "cpu": "arm64" }, "sha512-hOW6iQXtpG4uCW1zGK56+KhEXGttSkTp2ykncW/nkOIF/jOKTqbM944Q73HVeMXP1mPRvE2cZwNp3xeLIeyIGQ=="], @@ -638,7 +696,7 @@ "cookie-es": ["cookie-es@2.0.0", "", {}, "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg=="], - "crossws": ["crossws@0.4.1", "", { "peerDependencies": { "srvx": ">=0.7.1" }, "optionalPeers": ["srvx"] }, "sha512-E7WKBcHVhAVrY6JYD5kteNqVq1GSZxqGrdSiwXR9at+XHi43HJoCQKXcCczR5LBnBquFZPsB3o7HklulKoBU5w=="], + "crossws": ["crossws@0.4.3", "", { "peerDependencies": { "srvx": ">=0.7.1" }, "optionalPeers": ["srvx"] }, "sha512-lmf5mtwHiToP3HumOx53cqS0T5TK8GMBpsbSCXRB5OuszbltTgGOO4B1WhrDYqTeXOk3BAemibNjJx8E0/ecNw=="], "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], @@ -720,7 +778,7 @@ "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - "h3": ["h3@2.0.1-rc.8", "", { "dependencies": { "rou3": "^0.7.12", "srvx": "^0.10.0" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-IIMQG7qnXx1Ls75suuMHH4xtcvTFxsUguDIZB+dgdYr1RftLj59FkeWF1dOr+jnejDs8Eo+ZKV1CMqogFeqGRQ=="], + "h3": ["h3@2.0.1-rc.11", "", { "dependencies": { "rou3": "^0.7.12", "srvx": "^0.10.1" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-2myzjCqy32c1As9TjZW9fNZXtLqNedjFSrdFy2AjFBQQ3LzrnGoDdFDYfC0tV2e4vcyfJ2Sfo/F6NQhO2Ly/Mw=="], "h3-v2": ["h3@2.0.1-rc.7", "", { "dependencies": { "rou3": "^0.7.12", "srvx": "^0.10.0" }, "peerDependencies": { "crossws": "^0.4.1" }, "optionalPeers": ["crossws"] }, "sha512-qbrRu1OLXmUYnysWOCVrYhtC/m8ZuXu/zCbo3U/KyphJxbPFiC76jHYwVrmEcss9uNAHO5BoUguQ46yEpgI2PA=="], @@ -820,9 +878,9 @@ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - "nf3": ["nf3@0.3.4", "", {}, "sha512-GnEgxkyJBjxbI+PxWICbQ2CaoAKeH8g7NaN8EidW+YvImlY/9HUJaGJ+1+ycEqBiZpZtIMyd/ppCXkkUw4iMrA=="], + "nf3": ["nf3@0.3.5", "", {}, "sha512-1VozaVz0lVfGL3c2wZ4c6bmQCm340gDiIYUU3lcg8vVGL/WeuTdrd6OhJiUHZWofc7fFdquhS8Gm+13c3Tumcw=="], - "nitro": ["nitro-nightly@3.0.1-20260115-135431-98fc91c5", "", { "dependencies": { "consola": "^3.4.2", "crossws": "^0.4.1", "db0": "^0.3.4", "h3": "^2.0.1-rc.8", "jiti": "^2.6.1", "nf3": "^0.3.4", "ofetch": "^2.0.0-alpha.3", "ohash": "^2.0.11", "oxc-minify": "^0.108.0", "oxc-transform": "^0.108.0", "srvx": "^0.10.0", "undici": "^7.18.2", "unenv": "^2.0.0-rc.24", "unstorage": "^2.0.0-alpha.5" }, "peerDependencies": { "rolldown": ">=1.0.0-beta.0", "rollup": "^4", "vite": "^7 || ^8 || >=8.0.0-0", "xml2js": "^0.6.2" }, "optionalPeers": ["rolldown", "rollup", "vite", "xml2js"], "bin": { "nitro": "dist/cli/index.mjs" } }, "sha512-dLGCF/NjNz0dfso6NP4Eck6HSVXCT2Mu3CIpsj6dDxfnQycXVvrRLXY5/mK2qnNjfVwr3PsbDLTrqAKNWIKWMw=="], + "nitro": ["nitro-nightly@3.0.1-20260120-140218-d2383f00", "", { "dependencies": { "consola": "^3.4.2", "crossws": "^0.4.3", "db0": "^0.3.4", "h3": "^2.0.1-rc.11", "jiti": "^2.6.1", "nf3": "^0.3.5", "ofetch": "^2.0.0-alpha.3", "ohash": "^2.0.11", "oxc-minify": "^0.110.0", "oxc-transform": "^0.110.0", "srvx": "^0.10.1", "undici": "^7.18.2", "unenv": "^2.0.0-rc.24", "unstorage": "^2.0.0-alpha.5" }, "peerDependencies": { "rolldown": ">=1.0.0-beta.0", "rollup": "^4", "vite": "^7 || ^8 || >=8.0.0-0", "xml2js": "^0.6.2" }, "optionalPeers": ["rolldown", "rollup", "vite", "xml2js"], "bin": { "nitro": "dist/cli/index.mjs" } }, "sha512-5SWkL/b2r8x5ZyfkwhhZA7Ra3pM3lS6K8DIxCt5OIzQYFbfOjdzg9ANMKtSz1+Bfjb6u8BtSzQBLdgFJLgXrxQ=="], "node-gyp-build-optional-packages": ["node-gyp-build-optional-packages@5.2.2", "", { "dependencies": { "detect-libc": "^2.0.1" }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-optional": "optional.js", "node-gyp-build-optional-packages-test": "build-test.js" } }, "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw=="], @@ -840,9 +898,9 @@ "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], - "oxc-minify": ["oxc-minify@0.108.0", "", { "optionalDependencies": { "@oxc-minify/binding-android-arm-eabi": "0.108.0", "@oxc-minify/binding-android-arm64": "0.108.0", "@oxc-minify/binding-darwin-arm64": "0.108.0", "@oxc-minify/binding-darwin-x64": "0.108.0", "@oxc-minify/binding-freebsd-x64": "0.108.0", "@oxc-minify/binding-linux-arm-gnueabihf": "0.108.0", "@oxc-minify/binding-linux-arm-musleabihf": "0.108.0", "@oxc-minify/binding-linux-arm64-gnu": "0.108.0", "@oxc-minify/binding-linux-arm64-musl": "0.108.0", "@oxc-minify/binding-linux-ppc64-gnu": "0.108.0", "@oxc-minify/binding-linux-riscv64-gnu": "0.108.0", "@oxc-minify/binding-linux-riscv64-musl": "0.108.0", "@oxc-minify/binding-linux-s390x-gnu": "0.108.0", "@oxc-minify/binding-linux-x64-gnu": "0.108.0", "@oxc-minify/binding-linux-x64-musl": "0.108.0", "@oxc-minify/binding-openharmony-arm64": "0.108.0", "@oxc-minify/binding-wasm32-wasi": "0.108.0", "@oxc-minify/binding-win32-arm64-msvc": "0.108.0", "@oxc-minify/binding-win32-ia32-msvc": "0.108.0", "@oxc-minify/binding-win32-x64-msvc": "0.108.0" } }, "sha512-vZUwyWpVS0b94OJDy+t9lKQV0ABkHMrBRjTgTKTyDMLXj90c+ELQeoRzPn6rFlRXDtvjrB/C5McgevDzVIEkHg=="], + "oxc-minify": ["oxc-minify@0.110.0", "", { "optionalDependencies": { "@oxc-minify/binding-android-arm-eabi": "0.110.0", "@oxc-minify/binding-android-arm64": "0.110.0", "@oxc-minify/binding-darwin-arm64": "0.110.0", "@oxc-minify/binding-darwin-x64": "0.110.0", "@oxc-minify/binding-freebsd-x64": "0.110.0", "@oxc-minify/binding-linux-arm-gnueabihf": "0.110.0", "@oxc-minify/binding-linux-arm-musleabihf": "0.110.0", "@oxc-minify/binding-linux-arm64-gnu": "0.110.0", "@oxc-minify/binding-linux-arm64-musl": "0.110.0", "@oxc-minify/binding-linux-ppc64-gnu": "0.110.0", "@oxc-minify/binding-linux-riscv64-gnu": "0.110.0", "@oxc-minify/binding-linux-riscv64-musl": "0.110.0", "@oxc-minify/binding-linux-s390x-gnu": "0.110.0", "@oxc-minify/binding-linux-x64-gnu": "0.110.0", "@oxc-minify/binding-linux-x64-musl": "0.110.0", "@oxc-minify/binding-openharmony-arm64": "0.110.0", "@oxc-minify/binding-wasm32-wasi": "0.110.0", "@oxc-minify/binding-win32-arm64-msvc": "0.110.0", "@oxc-minify/binding-win32-ia32-msvc": "0.110.0", "@oxc-minify/binding-win32-x64-msvc": "0.110.0" } }, "sha512-KWGTzPo83QmGrXC4ml83PM9HDwUPtZFfasiclUvTV4i3/0j7xRRqINVkrL77CbQnoWura3CMxkRofjQKVDuhBw=="], - "oxc-transform": ["oxc-transform@0.108.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.108.0", "@oxc-transform/binding-android-arm64": "0.108.0", "@oxc-transform/binding-darwin-arm64": "0.108.0", "@oxc-transform/binding-darwin-x64": "0.108.0", "@oxc-transform/binding-freebsd-x64": "0.108.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.108.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.108.0", "@oxc-transform/binding-linux-arm64-gnu": "0.108.0", "@oxc-transform/binding-linux-arm64-musl": "0.108.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.108.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.108.0", "@oxc-transform/binding-linux-riscv64-musl": "0.108.0", "@oxc-transform/binding-linux-s390x-gnu": "0.108.0", "@oxc-transform/binding-linux-x64-gnu": "0.108.0", "@oxc-transform/binding-linux-x64-musl": "0.108.0", "@oxc-transform/binding-openharmony-arm64": "0.108.0", "@oxc-transform/binding-wasm32-wasi": "0.108.0", "@oxc-transform/binding-win32-arm64-msvc": "0.108.0", "@oxc-transform/binding-win32-ia32-msvc": "0.108.0", "@oxc-transform/binding-win32-x64-msvc": "0.108.0" } }, "sha512-9fPqjhT8leeIa+s8kh+lwR3AZWPZRYDsND/kgKU5zDDkgrrkWuJLmLDP2LQsevSErIpX3cZQ+8QrXZXUqYRVww=="], + "oxc-transform": ["oxc-transform@0.110.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.110.0", "@oxc-transform/binding-android-arm64": "0.110.0", "@oxc-transform/binding-darwin-arm64": "0.110.0", "@oxc-transform/binding-darwin-x64": "0.110.0", "@oxc-transform/binding-freebsd-x64": "0.110.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.110.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.110.0", "@oxc-transform/binding-linux-arm64-gnu": "0.110.0", "@oxc-transform/binding-linux-arm64-musl": "0.110.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.110.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.110.0", "@oxc-transform/binding-linux-riscv64-musl": "0.110.0", "@oxc-transform/binding-linux-s390x-gnu": "0.110.0", "@oxc-transform/binding-linux-x64-gnu": "0.110.0", "@oxc-transform/binding-linux-x64-musl": "0.110.0", "@oxc-transform/binding-openharmony-arm64": "0.110.0", "@oxc-transform/binding-wasm32-wasi": "0.110.0", "@oxc-transform/binding-win32-arm64-msvc": "0.110.0", "@oxc-transform/binding-win32-ia32-msvc": "0.110.0", "@oxc-transform/binding-win32-x64-msvc": "0.110.0" } }, "sha512-/fymQNzzUoKZweH0nC5yvbI2eR0yWYusT9TEKDYVgOgYrf9Qmdez9lUFyvxKR9ycx+PTHi/reIOzqf3wkShQsw=="], "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], @@ -908,7 +966,7 @@ "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - "srvx": ["srvx@0.10.0", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-NqIsR+wQCfkvvwczBh8J8uM4wTZx41K2lLSEp/3oMp917ODVVMtW5Me4epCmQ3gH8D+0b+/t4xxkUKutyhimTA=="], + "srvx": ["srvx@0.10.1", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-A//xtfak4eESMWWydSRFUVvCTQbSwivnGCEf8YGPe2eHU0+Z6znfUTCPF0a7oV3sObSOcrXHlL6Bs9vVctfXdg=="], "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], @@ -1012,10 +1070,14 @@ "@tanstack/start-plugin-core/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.40", "", {}, "sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w=="], + "@tanstack/start-plugin-core/srvx": ["srvx@0.10.0", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-NqIsR+wQCfkvvwczBh8J8uM4wTZx41K2lLSEp/3oMp917ODVVMtW5Me4epCmQ3gH8D+0b+/t4xxkUKutyhimTA=="], + "@tanstack/start-plugin-core/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "h3-v2/srvx": ["srvx@0.10.0", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-NqIsR+wQCfkvvwczBh8J8uM4wTZx41K2lLSEp/3oMp917ODVVMtW5Me4epCmQ3gH8D+0b+/t4xxkUKutyhimTA=="], + "htmlparser2/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], "jsonwebtoken/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 0000000..156e7d5 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,2 @@ +[install] +publicHoistPattern = ["@types/*", "bun-types", "nitro*"] diff --git a/drizzle/.gitkeep b/drizzle/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/mise.toml b/mise.toml index 5800a07..e38352f 100644 --- a/mise.toml +++ b/mise.toml @@ -1,4 +1,4 @@ [tools] -node = "24" +node = "latest" bun = "1" rust = 'latest' diff --git a/package.json b/package.json index 7988937..fa17c1f 100644 --- a/package.json +++ b/package.json @@ -1,61 +1,62 @@ { - "name": "fullstack-starter", + "name": "@furtherverse/monorepo", + "version": "1.0.0", "private": true, "type": "module", + "workspaces": [ + "apps/*", + "packages/*" + ], "scripts": { - "build": "turbo build:tauri", - "build:compile": "bun build.ts", - "build:tauri": "tauri build", - "build:vite": "vite build", - "db:generate": "drizzle-kit generate", - "db:migrate": "drizzle-kit migrate", - "db:push": "drizzle-kit push", - "db:studio": "drizzle-kit studio", - "dev": "turbo dev:tauri", - "dev:tauri": "tauri dev", - "dev:vite": "vite dev", - "fix": "biome check --write", - "typecheck": "tsc -b" + "build": "turbo run build", + "compile": "turbo run compile", + "deploy": "turbo run deploy", + "dev": "turbo run dev", + "fix": "turbo run fix", + "typecheck": "turbo run typecheck" }, - "dependencies": { + "devDependencies": { + "@biomejs/biome": "^2.3.11", + "turbo": "^2.7.4", + "typescript": "^5.9.3" + }, + "catalog": { + "@biomejs/biome": "^2.3.11", + "@effect/platform": "^0.94.1", + "@effect/schema": "^0.75.5", "@orpc/client": "^1.13.4", "@orpc/contract": "^1.13.4", "@orpc/server": "^1.13.4", "@orpc/tanstack-query": "^1.13.4", "@orpc/zod": "^1.13.4", "@t3-oss/env-core": "^0.13.10", - "@tanstack/react-query": "^5.90.18", - "@tanstack/react-router": "^1.151.0", - "@tanstack/react-router-ssr-query": "^1.151.0", - "@tanstack/react-start": "^1.151.0", - "@tauri-apps/api": "^2.9.1", - "drizzle-orm": "^0.45.1", - "drizzle-zod": "^0.8.3", - "postgres": "^3.4.8", - "react": "^19.2.3", - "react-dom": "^19.2.3", - "zod": "^4.3.5" - }, - "devDependencies": { - "@biomejs/biome": "^2.3.11", - "@effect/platform": "^0.94.1", - "@effect/schema": "^0.75.5", "@tailwindcss/vite": "^4.1.18", "@tanstack/devtools-vite": "^0.4.1", "@tanstack/react-devtools": "^0.9.2", + "@tanstack/react-query": "^5.90.18", "@tanstack/react-query-devtools": "^5.91.2", + "@tanstack/react-router": "^1.151.0", "@tanstack/react-router-devtools": "^1.151.0", + "@tanstack/react-router-ssr-query": "^1.151.0", + "@tanstack/react-start": "^1.151.0", + "@tauri-apps/api": "^2.9.1", "@tauri-apps/cli": "^2.9.6", "@types/bun": "^1.3.6", "@vitejs/plugin-react": "^5.1.2", "babel-plugin-react-compiler": "^1.0.0", "drizzle-kit": "^0.31.8", + "drizzle-orm": "^0.45.1", + "drizzle-zod": "^0.8.3", "effect": "^3.19.14", "nitro": "npm:nitro-nightly@latest", + "postgres": "^3.4.8", + "react": "^19.2.3", + "react-dom": "^19.2.3", "tailwindcss": "^4.1.18", "turbo": "^2.7.5", "typescript": "^5.9.3", "vite": "^8.0.0-beta.8", - "vite-tsconfig-paths": "^6.0.4" + "vite-tsconfig-paths": "^6.0.4", + "zod": "^4.3.5" } } diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json new file mode 100644 index 0000000..c1495a0 --- /dev/null +++ b/packages/tsconfig/base.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Base", + "compilerOptions": { + "target": "esnext", + "lib": ["ESNext"], + "module": "preserve", + "skipLibCheck": true, + + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + "strict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true + }, + "exclude": ["node_modules"] +} diff --git a/packages/tsconfig/bun.json b/packages/tsconfig/bun.json new file mode 100644 index 0000000..28bdddb --- /dev/null +++ b/packages/tsconfig/bun.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Bun", + "extends": "./base.json", + "compilerOptions": { + "types": ["bun-types"] + } +} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json new file mode 100644 index 0000000..c684c67 --- /dev/null +++ b/packages/tsconfig/package.json @@ -0,0 +1,14 @@ +{ + "name": "@furtherverse/tsconfig", + "version": "0.0.0", + "private": true, + "type": "module", + "exports": { + "./base.json": "./base.json", + "./bun.json": "./bun.json", + "./react.json": "./react.json" + }, + "devDependencies": { + "@types/bun": "catalog:" + } +} diff --git a/packages/tsconfig/react.json b/packages/tsconfig/react.json new file mode 100644 index 0000000..b151f16 --- /dev/null +++ b/packages/tsconfig/react.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "React", + "extends": "./base.json", + "compilerOptions": { + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "jsx": "react-jsx" + } +} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 2f120d7..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "compilerOptions": { - // Environment setup & latest features - "lib": ["ESNext", "DOM", "DOM.Iterable"], - "target": "ESNext", - "module": "Preserve", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, - - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, - - // Best practices - "strict": true, - "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedIndexedAccess": true, - "noImplicitOverride": true, - - // Some stricter flags (disabled by default) - "noUnusedLocals": false, - "noUnusedParameters": false, - "noPropertyAccessFromIndexSignature": false, - - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -}