Stirling-PDF/client-tauri/vite.config.ts

53 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-10-28 19:56:16 +03:00
import { defineConfig } from "vite";
import { nodePolyfills } from 'vite-plugin-node-polyfills'
2023-10-28 19:56:16 +03:00
import react from "@vitejs/plugin-react";
import topLevelAwait from "vite-plugin-top-level-await";
import dynamicImport from 'vite-plugin-dynamic-import';
import compileTime from "vite-plugin-compile-time";
import { fileURLToPath, URL } from 'node:url';
2023-10-28 19:56:16 +03:00
// https://vitejs.dev/config/
export default defineConfig(async () => ({
2024-01-04 20:17:54 -05:00
plugins: [
// Thanks: https://stackoverflow.com/questions/74417822/how-can-i-use-buffer-process-in-vite-app
nodePolyfills({
include: [],
globals: {
Buffer: true, // can also be 'build', 'dev', or false
global: false,
process: true,
},
// Whether to polyfill `node:` protocol imports.
protocolImports: false,
}),
2024-01-04 20:17:54 -05:00
react(),
topLevelAwait({
// The export name of top-level await promise for each chunk module
promiseExportName: "__tla",
// The function to generate import names of top-level await promise in each chunk module
promiseImportName: i => `__tla_${i}`
}),
compileTime(),
2024-01-28 21:22:59 +01:00
dynamicImport(),
2024-01-04 20:17:54 -05:00
],
2024-02-25 20:55:48 +01:00
resolve: {
alias: {
'#pdfcpu': fileURLToPath(new URL("../shared-operations/src/wasm/pdfcpu/pdfcpu-wrapper.client", import.meta.url))
}
},
2024-01-04 20:17:54 -05:00
// Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
//
// 1. prevent vite from obscuring rust errors
clearScreen: false,
// 2. tauri expects a fixed port, fail if that port is not available
server: {
port: 1420,
strictPort: true,
},
// 3. to make use of `TAURI_DEBUG` and other env variables
// https://tauri.app/v1/api/config#buildconfig.beforedevcommand
envPrefix: ["VITE_"],
base: '/', // relative paths sadly don't work with react router dom sub-dirs for some reason...
2023-10-28 19:56:16 +03:00
}));