- Migrate to packages/web + packages/desktop workspace layout via git mv - Add Tauri v2 desktop shell with @tauri-apps/plugin-http for CORS bypass - Configure Turborepo with package-level dependsOn build graph - Add semantic-release with exec plugin for GHA output and disabled PR comments - Fix http:default capability scope to allow all HTTP/HTTPS origins - Add Vite Tauri integration (clearScreen, TAURI_DEV_HOST, target, envPrefix) - Add semantic-release.yml and release.yml GitHub Actions workflows - Fix all Biome lint errors (noArrayIndexKey, noNonNullAssertion, button types)
13 lines
495 B
TypeScript
13 lines
495 B
TypeScript
import { fetch as tauriFetch } from "@tauri-apps/plugin-http";
|
|
|
|
// Route fetch through Rust (reqwest) when running in Tauri — bypasses WebView CORS enforcement.
|
|
// Falls back to native browser fetch during plain web dev (`pnpm dev:web`).
|
|
const isTauri = Boolean(
|
|
typeof window !== "undefined" &&
|
|
(window as unknown as Record<string, unknown>).__TAURI_INTERNALS__,
|
|
);
|
|
|
|
export const httpFetch: typeof globalThis.fetch = isTauri
|
|
? (tauriFetch as typeof globalThis.fetch)
|
|
: globalThis.fetch;
|