-
Notifications
You must be signed in to change notification settings - Fork 59
/
vite.config.ts
46 lines (45 loc) · 1.24 KB
/
vite.config.ts
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
import { NodeGlobalsPolyfillPlugin } from "@esbuild-plugins/node-globals-polyfill";
import { NodeModulesPolyfillPlugin } from "@esbuild-plugins/node-modules-polyfill";
import react from "@vitejs/plugin-react";
import { resolve } from "path";
import { visualizer } from "rollup-plugin-visualizer";
import { defineConfig } from "vite";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
plugins: [
react({
babel: {
presets: [["@babel/preset-react", { runtime: "automatic", importSource: "@emotion/react" }]],
plugins: ["@emotion/babel-plugin"],
babelrc: false,
configFile: false,
},
}),
visualizer(),
],
resolve: {
alias: {
"@request": resolve(__dirname, "src/core/http/index.ts"),
"@": resolve(__dirname, "src"),
},
},
optimizeDeps: {
esbuildOptions: {
// Node.js global to browser globalThis
define: {
global: "globalThis",
},
// Enable esbuild polyfill plugins
plugins: [
NodeGlobalsPolyfillPlugin({
process: true,
buffer: false,
}),
NodeModulesPolyfillPlugin(),
],
},
},
esbuild: {
drop: mode === "development" ? [] : ["console", "debugger"],
},
}));