diff --git a/mise.toml b/mise.toml index e44555be4..3c7c5febd 100644 --- a/mise.toml +++ b/mise.toml @@ -80,11 +80,24 @@ run = [ # BUILD TASKS # ============================================================================ +[tasks.install-rust-targets] +description = "Install required Rust targets for MacOS universal builds" +run = ''' +#!/usr/bin/env bash +# Check if we're on macOS +if [[ "$OSTYPE" == "darwin"* ]]; then + echo "Detected macOS, installing universal build targets..." + rustup target add x86_64-apple-darwin + rustup target add aarch64-apple-darwin + echo "Rust targets installed successfully!" +fi +''' + [tasks.build] description = "Build complete application (matches Makefile)" -depends = ["install-and-build"] +depends = ["install-rust-targets", "install-and-build"] run = [ - "yarn copy:lib", + "yarn download:bin", "yarn build" ] diff --git a/scripts/download-bin.mjs b/scripts/download-bin.mjs index 44693ab79..a1884d940 100644 --- a/scripts/download-bin.mjs +++ b/scripts/download-bin.mjs @@ -136,6 +136,11 @@ async function main() { console.log("Error Found:", err); } }) + copyFile(path.join(binDir, 'bun'), path.join(binDir, 'bun-universal-apple-darwin'), (err) => { + if (err) { + console.log("Error Found:", err); + } + }) } else if (platform === 'linux') { copyFile(path.join(binDir, 'bun'), path.join(binDir, 'bun-x86_64-unknown-linux-gnu'), (err) => { if (err) { @@ -191,6 +196,11 @@ async function main() { console.log("Error Found:", err); } }) + copyFile(path.join(binDir, 'uv'), path.join(binDir, 'uv-universal-apple-darwin'), (err) => { + if (err) { + console.log("Error Found:", err); + } + }) } else if (platform === 'linux') { copyFile(path.join(binDir, 'uv'), path.join(binDir, 'uv-x86_64-unknown-linux-gnu'), (err) => { if (err) {