Files
concord/concord-client/vite.config.ts

45 lines
1.6 KiB
TypeScript

import { defineConfig } from "vite";
import path from "path";
import electron from "vite-plugin-electron/simple";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
// Check if VITE_APP_MODE is set to 'web'
const isWebApp = process.env.VITE_APP_MODE === "web";
return {
plugins: [
react(),
// Only include the electron plugin if not in 'web' app mode
!isWebApp &&
electron({
main: {
// Shortcut of `build.lib.entry`.
entry: "electron/main.ts",
},
preload: {
// Shortcut of `build.rollupOptions.input`.
// Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`.
input: path.join(__dirname, "electron/preload.ts"),
},
// Ployfill the Electron and Node.js API for Renderer process.
// If you want use Node.js in Renderer process, the `nodeIntegration` needs to be enabled in the Main process.
// See 👉 https://github.com/electron-vite/vite-plugin-electron-renderer
renderer:
process.env.NODE_ENV === "test"
? // https://github.com/electron-vite/vite-plugin-electron-renderer/issues/78#issuecomment-2053600808
undefined
: {},
}),
tailwindcss(),
].filter(Boolean), // Filter out 'false' values if electron plugin is not included
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
};
});