diff --git a/.gitignore b/.gitignore index 0cc835a24..ace4b51e9 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,6 @@ devenv.* target/ crates/*/target/ + +# turborepo +.turbo diff --git a/cspell.config.yaml b/cspell.config.yaml index 70568c6ad..30243f843 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -175,6 +175,7 @@ words: - tolist - tresjs - tsdown + - turborepo - unbundle - unhead - unocss diff --git a/package.json b/package.json index e94b9f138..ca178f175 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,11 @@ "dev:apps": "pnpm -rF=\"./apps/*\" run --parallel dev", "dev:packages": "pnpm -rF=\"./packages/*\" --parallel run dev", "stub:packages": "pnpm -rF=\"./packages/*\" run --parallel stub", - "build": "pnpm -rF=\"./packages/*\" -F=\"./apps/*\" run build", - "build:web": "pnpm -rF @proj-airi/stage-web run build", + "build": "turbo run build -F=\"./packages/*\" -F=\"./apps/*\"", + "build:web": "turbo run build -F @proj-airi/stage-web", "build:tamagotchi": "pnpm -rF @proj-airi/stage-tamagotchi run app:build", - "build:apps": "pnpm -rF=\"./apps/*\" run build", - "build:packages": "pnpm -rF=\"./packages/*\" run build", + "build:apps": "turbo run build -F=\"./apps/*\"", + "build:packages": "turbo run build -F=\"./packages/*\"", "build:crates": "cargo build --workspace", "test": "vitest --coverage", "test:run": "vitest run", @@ -56,6 +56,7 @@ "smol-toml": "^1.3.4", "taze": "^19.1.0", "tsdown": "^0.12.7", + "turbo": "^2.5.4", "typescript": "~5.8.3", "unbuild": "^3.5.0", "unocss": "^66.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fc93485d..e1303cc57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -120,6 +120,9 @@ importers: tsdown: specifier: ^0.12.7 version: 0.12.7(@arethetypeswrong/core@0.18.2)(typescript@5.8.3)(unplugin-lightningcss@0.4.1)(unplugin-unused@0.5.1)(vue-tsc@2.2.10(typescript@5.8.3)) + turbo: + specifier: ^2.5.4 + version: 2.5.4 typescript: specifier: ~5.8.3 version: 5.8.3 @@ -10936,6 +10939,40 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + turbo-darwin-64@2.5.4: + resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@2.5.4: + resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@2.5.4: + resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@2.5.4: + resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@2.5.4: + resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@2.5.4: + resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==} + cpu: [arm64] + os: [win32] + + turbo@2.5.4: + resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==} + hasBin: true + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -23541,6 +23578,33 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + turbo-darwin-64@2.5.4: + optional: true + + turbo-darwin-arm64@2.5.4: + optional: true + + turbo-linux-64@2.5.4: + optional: true + + turbo-linux-arm64@2.5.4: + optional: true + + turbo-windows-64@2.5.4: + optional: true + + turbo-windows-arm64@2.5.4: + optional: true + + turbo@2.5.4: + optionalDependencies: + turbo-darwin-64: 2.5.4 + turbo-darwin-arm64: 2.5.4 + turbo-linux-64: 2.5.4 + turbo-linux-arm64: 2.5.4 + turbo-windows-64: 2.5.4 + turbo-windows-arm64: 2.5.4 + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 diff --git a/turbo.json b/turbo.json new file mode 100644 index 000000000..a76a2b5c8 --- /dev/null +++ b/turbo.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://turborepo.com/schema.json", + "tasks": { + "build": { + "outputs": ["dist/**"] + } + } +}