Files
trade-message-center/apps/chrome-extension/vite.config.ts
T

43 lines
1.3 KiB
TypeScript

// 配置扩展页面的 Vite 构建入口与产物
import { randomBytes } from "node:crypto";
import { resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
const configDir = fileURLToPath(new URL(".", import.meta.url));
const buildHash = process.env.BUILD_HASH || randomBytes(8).toString("hex");
export default defineConfig({
root: configDir,
publicDir: resolve(configDir, "public"),
plugins: [
{
name: "build-hash",
closeBundle() {
console.info(`Build hash: ${buildHash}`);
},
},
],
build: {
outDir: resolve(configDir, "dist"),
emptyOutDir: true,
rollupOptions: {
input: {
"popup/popup": resolve(configDir, "popup/popup.html"),
"onetalk/main-page/page-script": resolve(
configDir,
"src/onetalk/main-page/page-script-entry.ts",
),
},
output: {
banner: (chunk) =>
chunk.isEntry ? `console.info("Build hash: ${buildHash}");` : "",
entryFileNames: "[name].js",
chunkFileNames: "chunks/[name]-[hash].js",
assetFileNames: "assets/[name]-[hash][extname]",
},
},
},
});