// @ts-check import { builtinModules } from 'module'; import { join } from 'path'; // `resolveJsonModule` is disabled for this package, but vite will load the json nevertheless. // @ts-expect-error import { chrome } from '../../.electron-vendors.cache.json'; /** @type string */ const PACKAGE_ROOT = __dirname; /** * @type {import('vite').UserConfig} * @see https://vitejs.dev/config/ */ const config = { mode: process.env.MODE, root: PACKAGE_ROOT, envDir: process.cwd(), resolve: { alias: { '/@/': join(PACKAGE_ROOT, 'src') + '/', }, }, build: { sourcemap: 'inline', target: `chrome${chrome}`, outDir: 'dist', assetsDir: '.', minify: process.env.MODE !== 'development', lib: { entry: 'src/index.ts', formats: ['cjs'], }, rollupOptions: { external: [ 'electron', ...builtinModules, ], output: { entryFileNames: '[name].cjs', }, }, emptyOutDir: true, brotliSize: false, }, }; export default config;