// ============================================================================= // Copyright 2022 Haveno // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ============================================================================= import { node } from "../../.electron-vendors.cache.json"; import { join } from "path"; import { builtinModules } from "module"; 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: { "@src/": join(PACKAGE_ROOT, "src") + "/", "@services/": join(PACKAGE_ROOT, "src", "services") + "/", "@types/": join(PACKAGE_ROOT, "src", "types") + "/", }, }, build: { sourcemap: "inline", target: `node${node}`, outDir: "dist", assetsDir: ".", minify: process.env.MODE !== "development", lib: { entry: "src/index.ts", formats: ["cjs"], }, rollupOptions: { external: [ "electron", "electron-devtools-installer", ...builtinModules.flatMap((p) => [p, `node:${p}`]), ], output: { entryFileNames: "[name].cjs", }, }, emptyOutDir: true, brotliSize: false, }, }; export default config;