// @ts-check import { builtinModules } from 'module'; // `resolveJsonModule` is disabled for this package, but vite will load the json nevertheless. // @ts-expect-error import { chrome, node } 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(), build: { sourcemap: 'inline', target: [ `chrome${chrome}`, `node${node}` ], outDir: 'dist', lib: { entry: 'src/index.ts', formats: ['cjs', 'es'], fileName: (format) => format === 'cjs' ? 'index.cjs' : `index.${format}.js`, }, rollupOptions: { external: [ 'mobx', 'mobx-state-tree', ...builtinModules, ], }, emptyOutDir: true, brotliSize: false, }, }; export default config;