tailwindcss/turbo.json
Philipp Spiess fbf877aa0a
Fix Rust build by passing through RUSTUP_HOME variable (#14171)
While rebasing on the latest changes on `next`, especially #14160, I
noticed that my local `pnpm build` step was no longer working and erring
with the following:

```
│ > @tailwindcss/oxide@4.0.0-alpha.19 build /Users/philipp/dev/tailwindcss/crates/node
│ > npx napi build --platform --release --no-const-enum
│
│ Type Error: Could not parse the Cargo.toml: Error: Command failed: cargo metadata --format-version 1 --manifest-path "/Users/philipp/dev/
│ tailwindcss/crates/node/Cargo.toml"
│ error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
│ help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
│
│ error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
│ help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
```

It turns out that with the changes in turbo v2, env variables no longer
propagate to the individual tasks automatically but since I installed
rustup outside of the default `~/.rustup` directory, the task was no
longer able to find it.

To fix this, we now define `RUSTUP_HOME` as a global env to always pass
through.
2024-08-12 11:37:45 +02:00

49 lines
1.2 KiB
JSON

{
"$schema": "https://turbo.build/schema.json",
"ui": "tui",
"tasks": {
"@tailwindcss/oxide#build": {
"dependsOn": ["^build"],
"outputs": ["./index.d.ts", "./index.js", "./*.node"],
"inputs": [
"./src/**/*",
"./build.rs",
"./package.json",
"./Cargo.toml",
"../core/src/**/*",
"../core/Cargo.toml",
"../Cargo.toml",
"../package.json"
]
},
"@tailwindcss/oxide#dev": {
"dependsOn": ["^dev"],
"outputs": ["./index.d.ts", "./index.js", "./*.node"],
"inputs": [
"./src/**/*",
"./build.rs",
"./package.json",
"./Cargo.toml",
"../core/src/**/*",
"../core/Cargo.toml",
"../Cargo.toml",
"../package.json"
],
"cache": false,
"persistent": true
},
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"lint": {},
"dev": {
"cache": false,
"persistent": true
}
},
// If rustup is installed outside of the default ~/.rustup directory, we need
// to pass the path through to the individual rust tasks.
"globalPassThroughEnv": ["RUSTUP_HOME"]
}