/// import { join } from 'path'; import { defineConfig } from 'vite'; import { viteStaticCopy } from 'vite-plugin-static-copy' const assets = [ "assets", "stylesheets", "libraries", "fonts", "translations" ]; export default defineConfig(() => ({ root: __dirname, cacheDir: '../../node_modules/.vite/apps/client', server: { port: 4200, host: 'localhost', }, preview: { port: 4300, host: 'localhost', }, plugins: [ viteStaticCopy({ targets: assets.map((asset) => ({ src: `src/${asset}/**/*`, dest: asset })) }), viteStaticCopy({ structured: true, targets: [ { src: "node_modules/@excalidraw/excalidraw/dist/prod/fonts/*", dest: "", } ] }) ], // Uncomment this if you are using workers. // worker: { // plugins: [ nxViteTsPaths() ], // }, build: { target: "esnext", outDir: './dist', emptyOutDir: true, reportCompressedSize: true, rollupOptions: { input: { desktop: join(__dirname, "src", "desktop.ts"), mobile: join(__dirname, "src", "mobile.ts"), login: join(__dirname, "src", "login.ts"), setup: join(__dirname, "src", "setup.ts"), share: join(__dirname, "src", "share.ts"), set_password: join(__dirname, "src", "set_password.ts"), runtime: join(__dirname, "src", "runtime.ts") }, output: { entryFileNames: "[name].js", chunkFileNames: "[name].js", assetFileNames: "[name,].js" }, onwarn(warning, rollupWarn) { if (warning.code === "MODULE_LEVEL_DIRECTIVE") { return; } rollupWarn(warning); } } }, css: { preprocessorOptions: { scss: { quietDeps: true } } }, commonjsOptions: { transformMixedEsModules: true, } }));