UNPKG

backsplash-app

Version:
85 lines (76 loc) 2.46 kB
import { ConfigEnv, defineConfig } from "vite"; import path from "path"; import { checker } from "vite-plugin-checker"; import svgrPlugin from "vite-plugin-svgr"; import viteTsconfigPaths from "vite-tsconfig-paths"; import { sentryVitePlugin } from "@sentry/vite-plugin"; import { config } from "dotenv"; import { productName, version } from "../package.json"; import { pluginExposeRenderer } from "./vite.base.config"; // Load environment variables config({ path: ".env.production" }); // https://vitejs.dev/config export default defineConfig((env) => { const forgeEnv = env as ConfigEnv<"renderer">; const { root, mode, forgeConfigSelf } = forgeEnv; const name = forgeConfigSelf?.name ?? "main_window"; return { root, mode, build: { outDir: `.vite/renderer/${name}`, sourcemap: true, rollupOptions: { output: { manualChunks: { react: ["react", "react-dom"], recoil: ["recoil", "recoil-sync"], ui: ["react-icons", "react-hot-toast", "react-tabs", "react-joyride"], }, }, }, }, resolve: { preserveSymlinks: true, alias: { "@": path.resolve(__dirname, "../src"), }, }, clearScreen: false, plugins: [ pluginExposeRenderer(name), svgrPlugin(), viteTsconfigPaths(), checker({ typescript: true, eslint: { lintCommand: 'eslint "./**/*.{ts,tsx}"', }, }), // Put the Sentry vite plugin after all other plugins mode === "production" && process.env.SENTRY_AUTH_TOKEN && sentryVitePlugin({ authToken: process.env.SENTRY_AUTH_TOKEN, org: "james-julius-darby-development", project: "backsplash", // Set release name based on app version release: { name: version, }, // Debug and output settings debug: false, silent: true, // Disable telemetry telemetry: false, }), ].filter(Boolean), // Remove falsy values from plugins array define: { __DARWIN__: process.platform === "darwin", __WIN32__: process.platform === "win32", __LINUX__: process.platform === "linux", __APP_NAME__: JSON.stringify(productName), __APP_VERSION__: JSON.stringify(version), __DEV__: process.env.NODE_ENV === "development", __SENTRY_DSN__: JSON.stringify(process.env.SENTRY_DSN || ""), }, }; });