diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 107dc8b14..01e365aef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -89,12 +89,12 @@ jobs: matrix: settings: # macOS builds - - host: self-hosted + - host: macos-26 target: aarch64-apple-darwin bundles: dmg,app os: darwin arch: aarch64 - - host: self-hosted + - host: macos-26-large target: x86_64-apple-darwin bundles: dmg,app os: darwin diff --git a/apps/tauri/package.json b/apps/tauri/package.json index 71e86e391..f747edc2e 100644 --- a/apps/tauri/package.json +++ b/apps/tauri/package.json @@ -37,6 +37,7 @@ "devDependencies": { "@headlessui/tailwindcss": "^0.2.0", "@spacedrive/tokens": "^0.2.3", + "@vitejs/plugin-react-swc": "^4.0.0", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@tailwindcss/vite": "^4.1.0", diff --git a/apps/tauri/vite.config.ts b/apps/tauri/vite.config.ts index 9254d53a7..6f1b5932e 100644 --- a/apps/tauri/vite.config.ts +++ b/apps/tauri/vite.config.ts @@ -1,8 +1,14 @@ import path from 'path'; +import fs from 'fs'; import tailwindcss from '@tailwindcss/vite'; import react from '@vitejs/plugin-react-swc'; import {defineConfig} from 'vite'; +const spaceui = path.resolve(__dirname, '../../../spaceui/packages'); +const hasSpaceui = fs.existsSync(spaceui); +const spacebot = path.resolve(__dirname, '../../../spacebot/packages'); +const hasSpacebot = fs.existsSync(spacebot); + export default defineConfig(() => ({ plugins: [react(), tailwindcss()], @@ -51,41 +57,43 @@ export default defineConfig(() => ({ '../../packages/interface/node_modules/openapi-fetch/dist/index.mjs' ) }, - { - find: '@spacedrive/tokens/src/css', - replacement: path.resolve( - __dirname, - '../../../spaceui/packages/tokens/src/css' - ) - }, - { - find: '@spacedrive/tokens', - replacement: path.resolve( - __dirname, - '../../../spaceui/packages/tokens' - ) - }, - { - find: '@spacedrive/ai', - replacement: path.resolve( - __dirname, - '../../../spaceui/packages/ai/src/index.ts' - ) - }, - { - find: '@spacedrive/primitives', - replacement: path.resolve( - __dirname, - '../../../spaceui/packages/primitives/src/index.ts' - ) - }, - { - find: '@spacebot/api-client', - replacement: path.resolve( - __dirname, - '../../../spacebot/packages/api-client/src' - ) - }, + // SpaceUI — resolve to source for HMR when available locally + ...(hasSpaceui + ? [ + { + find: /^@spacedrive\/tokens\/css\/themes\/(.+)$/, + replacement: `${spaceui}/tokens/src/css/themes/$1.css`, + }, + { + find: /^@spacedrive\/tokens\/theme$/, + replacement: `${spaceui}/tokens/src/css/theme.css`, + }, + { + find: /^@spacedrive\/tokens\/css$/, + replacement: `${spaceui}/tokens/src/css/base.css`, + }, + { + find: /^@spacedrive\/tokens$/, + replacement: `${spaceui}/tokens`, + }, + { + find: /^@spacedrive\/ai$/, + replacement: `${spaceui}/ai/src/index.ts`, + }, + { + find: /^@spacedrive\/primitives$/, + replacement: `${spaceui}/primitives/src/index.ts`, + }, + ] + : []), + ...(hasSpacebot + ? [ + { + find: /^@spacebot\/api-client$/, + replacement: `${spacebot}/api-client/src`, + }, + ] + : []), { find: '@sd/interface', replacement: path.resolve( @@ -114,7 +122,7 @@ export default defineConfig(() => ({ fs: { allow: [ path.resolve(__dirname, '../../..'), - path.resolve(__dirname, '../../../spaceui') + ...(hasSpaceui ? [spaceui] : []), ] }, watch: { diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 6fbf4a224..f180093cd 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -42,23 +42,23 @@ export default defineConfig({ replacement: `${spaceui}/tokens/src/css/themes/$1.css`, }, { - find: "@spacedrive/tokens/theme", + find: /^@spacedrive\/tokens\/theme$/, replacement: `${spaceui}/tokens/src/css/theme.css`, }, { - find: "@spacedrive/tokens/css", + find: /^@spacedrive\/tokens\/css$/, replacement: `${spaceui}/tokens/src/css/base.css`, }, { - find: "@spacedrive/tokens", + find: /^@spacedrive\/tokens$/, replacement: `${spaceui}/tokens`, }, { - find: "@spacedrive/ai", + find: /^@spacedrive\/ai$/, replacement: `${spaceui}/ai/src/index.ts`, }, { - find: "@spacedrive/primitives", + find: /^@spacedrive\/primitives$/, replacement: `${spaceui}/primitives/src/index.ts`, }, ] diff --git a/bun.lockb b/bun.lockb index 3f33d3351..afd42759f 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/justfile b/justfile index 404de6e4c..b5adbdb1d 100644 --- a/justfile +++ b/justfile @@ -68,7 +68,7 @@ spaceui-link: for pkg in primitives ai forms explorer tokens; do cd packages/$pkg && bun link && cd ../.. done - cd "{{justfile_directory()}}/packages/interface" + cd "{{justfile_directory()}}" bun link @spacedrive/primitives @spacedrive/ai @spacedrive/forms @spacedrive/explorer @spacedrive/tokens echo "SpaceUI packages linked successfully."