keychain_max/apps/extension/vite.config.ts
2026-09-09 19:53:50 +00:00

34 lines
979 B
TypeScript

import { copyFileSync } from "node:fs";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const extensionRoot = dirname(fileURLToPath(import.meta.url));
export default defineConfig({
build: {
outDir: "dist",
emptyOutDir: true,
rollupOptions: {
input: {
popup: resolve(extensionRoot, "popup.html"),
options: resolve(extensionRoot, "options.html"),
background: resolve(extensionRoot, "src/background.ts"),
content: resolve(extensionRoot, "src/content.ts"),
},
output: {
entryFileNames: "assets/[name].js",
chunkFileNames: "assets/[name]-[hash].js",
assetFileNames: "assets/[name][extname]",
},
},
},
plugins: [
{
name: "copy-manifest",
closeBundle() {
copyFileSync(resolve(extensionRoot, "manifest.json"), resolve(extensionRoot, "dist/manifest.json"));
},
},
],
});