File size: 996 Bytes
6a2bc3b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
import { resolve } from "node:path";

const webviewRoot = import.meta.dirname;

export default defineConfig({
  root: webviewRoot,
  plugins: [react(), tailwindcss(), cssInjectedByJsPlugin()],
  publicDir: resolve(webviewRoot, "public"),
  resolve: {
    alias: {
      "@": resolve(webviewRoot, "./src"),
      shared: resolve(webviewRoot, "../shared"),
    },
  },
  define: {
    "process.env.NODE_ENV": '"production"',
  },
  build: {
    outDir: resolve(webviewRoot, "../dist"),
    emptyOutDir: false,
    lib: {
      entry: resolve(webviewRoot, "src/main.tsx"),
      name: "KimiWebview",
      fileName: () => "webview.js",
      formats: ["iife"],
    },
    rollupOptions: {
      output: {
        entryFileNames: "webview.js",
        assetFileNames: "webview.css",
      },
    },
  },
});