mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-08-25 21:04:04 +02:00
Run the desktop's model layer in the browser (#557)
This commit is contained in:
@@ -17,9 +17,37 @@ const standardFontsDir = normalizePath(
|
||||
path.join(path.dirname(require.resolve("pdfjs-dist/package.json")), "standard_fonts"),
|
||||
);
|
||||
|
||||
/**
|
||||
* Which host the platform package installs. `web` builds Yaak to run in a plain
|
||||
* browser tab, with its own IndexedDB store instead of the Rust engine; anything
|
||||
* else builds the desktop app exactly as before.
|
||||
*/
|
||||
const yaakTarget = process.env.YAAK_TARGET === "web" ? "web" : "desktop";
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig(async () => {
|
||||
return {
|
||||
resolve: {
|
||||
alias:
|
||||
yaakTarget === "web"
|
||||
? {
|
||||
// Resolve the platform package to its browser entry, so a web
|
||||
// build never pulls `@tauri-apps/*` into the graph at all. A
|
||||
// build-time branch inside the package would not manage that:
|
||||
// the dead branch folds away, but the imports it guarded stay.
|
||||
"@yaakapp-internal/platform": path.resolve(
|
||||
import.meta.dirname,
|
||||
"../../packages/platform/src/index.web.ts",
|
||||
),
|
||||
}
|
||||
: {},
|
||||
},
|
||||
// The browser host runs the model layer in a worker; that bundle needs the
|
||||
// same wasm and top-level-await handling as the main one.
|
||||
worker: {
|
||||
format: "es" as const,
|
||||
plugins: () => [wasm(), topLevelAwait()],
|
||||
},
|
||||
plugins: [
|
||||
wasm(),
|
||||
tanstackRouter({
|
||||
|
||||
Reference in New Issue
Block a user