mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-06-22 15:35:03 +00:00
53 lines
2.0 KiB
TypeScript
53 lines
2.0 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import { nodePolyfills } from 'vite-plugin-node-polyfills'
|
|
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';
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig(async () => ({
|
|
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,
|
|
}),
|
|
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(),
|
|
dynamicImport(),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'#pdfcpu': fileURLToPath(new URL("../shared-operations/src/wasm/pdfcpu/pdfcpu-wrapper.client", import.meta.url))
|
|
}
|
|
},
|
|
// 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...
|
|
}));
|