aboutsummaryrefslogtreecommitdiff
path: root/jb-ui/vite.config.ts
blob: 62d53f68494bb5699d313e02b94df1df7bafe984 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { sentryVitePlugin } from "@sentry/vite-plugin";
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
import path from "path";
import tailwindcss from "@tailwindcss/vite";

export default defineConfig({
  plugins: [react(), tailwindcss(), sentryVitePlugin({
    org: "grl",
    project: "panel-jb-ui",
    url: "https://logs.g-r-l.com/"
  })],

  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },

  server: {
    // host: "0.0.0.0",
    // port: 8001,

    // This forwards requests to the FastAPI development server
    //  that must also be running
    proxy: {
      "^/(auth|status|statuses|report|survey)(/|$)": {
        target: "http://localhost:8000",
        changeOrigin: true,
      },
    },
  },

  define: {
    "process.env.NODE_ENV": JSON.stringify("production"),
  },

  build: {
    cssCodeSplit: false,

    lib: {
      name: "jb-ui",
      entry: "src/main.tsx",
    },

    rollupOptions: {
      output: {
        entryFileNames: "james-billings.js",
        assetFileNames: (assetInfo) => {
          if (assetInfo.names[0].endsWith(".css")) {
            return "james-has-style.css";
          }

          return "assets/[name].[hash][extname]";
        },
        globals: {
          react: "React",
          "react-dom": "ReactDOM",
        },
      },
    },

    sourcemap: true
  },
});