feat: 引入 Turborepo 优化构建流程

- 添加 Turborepo 缓存目录到忽略列表
- 添加 Turbo 2.7.5 版本及其各平台兼容的二进制文件以支持多平台构建和开发环境。
- 使用 turbo 管理构建和开发脚本,统一构建流程并简化脚本配置
- 移除构建配置中的自定义开发和构建命令,使用默认的构建行为。
- 添加 Turbo 配置文件以定义构建和开发任务依赖关系,启用持久化开发模式并禁用包管理器检查。
This commit is contained in:
2026-01-18 15:56:44 +08:00
parent fc73243687
commit 10895b2c9f
5 changed files with 44 additions and 6 deletions

3
.gitignore vendored
View File

@@ -6,6 +6,9 @@
# Nitro # Nitro
.output/ .output/
# Turborepo
.turbo/
### Node ### ### Node ###
# Logs # Logs

View File

@@ -39,6 +39,7 @@
"effect": "^3.19.14", "effect": "^3.19.14",
"nitro": "npm:nitro-nightly@latest", "nitro": "npm:nitro-nightly@latest",
"tailwindcss": "^4.1.18", "tailwindcss": "^4.1.18",
"turbo": "^2.7.5",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vite": "^8.0.0-beta.8", "vite": "^8.0.0-beta.8",
"vite-tsconfig-paths": "^6.0.4", "vite-tsconfig-paths": "^6.0.4",
@@ -926,6 +927,20 @@
"tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="], "tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="],
"turbo": ["turbo@2.7.5", "", { "optionalDependencies": { "turbo-darwin-64": "2.7.5", "turbo-darwin-arm64": "2.7.5", "turbo-linux-64": "2.7.5", "turbo-linux-arm64": "2.7.5", "turbo-windows-64": "2.7.5", "turbo-windows-arm64": "2.7.5" }, "bin": { "turbo": "bin/turbo" } }, "sha512-7Imdmg37joOloTnj+DPrab9hIaQcDdJ5RwSzcauo/wMOSAgO+A/I/8b3hsGGs6PWQz70m/jkPgdqWsfNKtwwDQ=="],
"turbo-darwin-64": ["turbo-darwin-64@2.7.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-nN3wfLLj4OES/7awYyyM7fkU8U8sAFxsXau2bYJwAWi6T09jd87DgHD8N31zXaJ7LcpyppHWPRI2Ov9MuZEwnQ=="],
"turbo-darwin-arm64": ["turbo-darwin-arm64@2.7.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-wCoDHMiTf3FgLAbZHDDx/unNNonSGhsF5AbbYODbxnpYyoKDpEYacUEPjZD895vDhNvYCH0Nnk24YsP4n/cD6g=="],
"turbo-linux-64": ["turbo-linux-64@2.7.5", "", { "os": "linux", "cpu": "x64" }, "sha512-KKPvhOmJMmzWj/yjeO4LywkQ85vOJyhru7AZk/+c4B6OUh/odQ++SiIJBSbTG2lm1CuV5gV5vXZnf/2AMlu3Zg=="],
"turbo-linux-arm64": ["turbo-linux-arm64@2.7.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-8PIva4L6BQhiPikUTds9lSFSHXVDAsEvV6QUlgwPsXrtXVQMVi6Sv9p+IxtlWQFvGkdYJUgX9GnK2rC030Xcmw=="],
"turbo-windows-64": ["turbo-windows-64@2.7.5", "", { "os": "win32", "cpu": "x64" }, "sha512-rupskv/mkIUgQXzX/wUiK00mKMorQcK8yzhGFha/D5lm05FEnLx8dsip6rWzMcVpvh+4GUMA56PgtnOgpel2AA=="],
"turbo-windows-arm64": ["turbo-windows-arm64@2.7.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-G377Gxn6P42RnCzfMyDvsqQV7j69kVHKlhz9J4RhtJOB5+DyY4yYh/w0oTIxZQ4JRMmhjwLu3w9zncMoQ6nNDw=="],
"type-fest": ["type-fest@5.4.1", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ=="], "type-fest": ["type-fest@5.4.1", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ=="],
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],

View File

@@ -3,7 +3,7 @@
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
"build": "bun run build:vite && bun run build:compile", "build": "turbo build:compile",
"build:compile": "bun build.ts", "build:compile": "bun build.ts",
"build:tauri": "tauri build", "build:tauri": "tauri build",
"build:vite": "vite build", "build:vite": "vite build",
@@ -11,7 +11,7 @@
"db:migrate": "drizzle-kit migrate", "db:migrate": "drizzle-kit migrate",
"db:push": "drizzle-kit push", "db:push": "drizzle-kit push",
"db:studio": "drizzle-kit studio", "db:studio": "drizzle-kit studio",
"dev": "bun run dev:vite", "dev": "turbo dev:tauri",
"dev:tauri": "tauri dev", "dev:tauri": "tauri dev",
"dev:vite": "vite dev", "dev:vite": "vite dev",
"fix": "biome check --write", "fix": "biome check --write",
@@ -52,6 +52,7 @@
"effect": "^3.19.14", "effect": "^3.19.14",
"nitro": "npm:nitro-nightly@latest", "nitro": "npm:nitro-nightly@latest",
"tailwindcss": "^4.1.18", "tailwindcss": "^4.1.18",
"turbo": "^2.7.5",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vite": "^8.0.0-beta.8", "vite": "^8.0.0-beta.8",
"vite-tsconfig-paths": "^6.0.4" "vite-tsconfig-paths": "^6.0.4"

View File

@@ -3,10 +3,6 @@
"productName": "tauri-shell", "productName": "tauri-shell",
"version": "0.1.0", "version": "0.1.0",
"identifier": "com.imbytecat.tauri-shell", "identifier": "com.imbytecat.tauri-shell",
"build": {
"beforeDevCommand": "bun run dev:vite",
"beforeBuildCommand": "bun run build"
},
"app": { "app": {
"withGlobalTauri": true, "withGlobalTauri": true,
"windows": [], "windows": [],

23
turbo.json Normal file
View File

@@ -0,0 +1,23 @@
{
"$schema": "./node_modules/turbo/schema.json",
"ui": "tui",
"dangerouslyDisablePackageManagerCheck": true,
"tasks": {
"build:compile": {
"dependsOn": ["build:vite"]
},
"build:tauri": {
"dependsOn": ["build:compile"]
},
"dev": {
"persistent": true,
"cache": false
},
"dev:tauri": {
"persistent": true,
"cache": false,
"dependsOn": ["build:compile"],
"with": ["dev:vite"]
}
}
}