mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-02-23 11:05:01 +01:00
63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
// @ts-ignore
|
|
import {TanStackRouterVite} from '@tanstack/router-plugin/vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import reactRefresh from 'eslint-plugin-react-refresh';
|
|
import {internalIpV4} from 'internal-ip';
|
|
import {createRequire} from 'node:module';
|
|
import path from 'node:path';
|
|
import {defineConfig, normalizePath} from 'vite';
|
|
import {viteStaticCopy} from 'vite-plugin-static-copy';
|
|
import svgr from 'vite-plugin-svgr';
|
|
import topLevelAwait from 'vite-plugin-top-level-await';
|
|
import wasm from 'vite-plugin-wasm';
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const cMapsDir = normalizePath(
|
|
path.join(path.dirname(require.resolve('pdfjs-dist/package.json')), 'cmaps'),
|
|
);
|
|
const standardFontsDir = normalizePath(
|
|
path.join(path.dirname(require.resolve('pdfjs-dist/package.json')), 'standard_fonts'),
|
|
);
|
|
|
|
const mobile = !!/android|ios/.exec(process.env.TAURI_ENV_PLATFORM ?? '');
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig(async () => ({
|
|
plugins: [
|
|
wasm(),
|
|
reactRefresh.configs.vite,
|
|
TanStackRouterVite({
|
|
routesDirectory: './routes',
|
|
generatedRouteTree: './routeTree.gen.ts',
|
|
autoCodeSplitting: true,
|
|
}),
|
|
svgr(),
|
|
react(),
|
|
topLevelAwait(),
|
|
viteStaticCopy({
|
|
targets: [
|
|
{ src: cMapsDir, dest: '' },
|
|
{ src: standardFontsDir, dest: '' },
|
|
],
|
|
}),
|
|
],
|
|
build: {
|
|
outDir: '../dist',
|
|
emptyOutDir: true,
|
|
},
|
|
clearScreen: false,
|
|
server: {
|
|
port: 1420,
|
|
strictPort: true,
|
|
host: mobile ? '0.0.0.0' : false,
|
|
hmr: mobile
|
|
? {
|
|
protocol: 'ws',
|
|
host: await internalIpV4(),
|
|
port: 1421,
|
|
}
|
|
: undefined,
|
|
},
|
|
envPrefix: ['VITE_', 'TAURI_'],
|
|
}));
|