cinny/vite.config.js

62 lines
1.3 KiB
JavaScript
Raw Normal View History

2023-03-31 22:25:44 +00:00
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { wasm } from "@rollup/plugin-wasm";
import { viteStaticCopy } from "vite-plugin-static-copy";
import { NodeGlobalsPolyfillPlugin } from "@esbuild-plugins/node-globals-polyfill";
import inject from "@rollup/plugin-inject";
import { svgLoader } from "./viteSvgLoader";
const copyFiles = {
targets: [
{
2023-03-31 22:25:44 +00:00
src: "node_modules/@matrix-org/olm/olm.wasm",
dest: "",
},
{
2023-03-31 22:25:44 +00:00
src: "_redirects",
dest: "",
},
{
2023-03-31 22:25:44 +00:00
src: "config.json",
dest: "",
},
{
2023-03-31 22:25:44 +00:00
src: "public/res/android",
dest: "public/",
},
],
2023-03-31 22:25:44 +00:00
};
export default defineConfig({
2023-03-31 22:25:44 +00:00
appType: "spa",
publicDir: false,
2023-01-30 04:20:13 +00:00
base: "",
server: {
port: 8080,
host: true,
},
2023-03-31 22:25:44 +00:00
plugins: [viteStaticCopy(copyFiles), svgLoader(), wasm(), react()],
optimizeDeps: {
esbuildOptions: {
2023-03-31 22:25:44 +00:00
define: {
global: "globalThis",
},
plugins: [
// Enable esbuild polyfill plugins
NodeGlobalsPolyfillPlugin({
process: false,
buffer: true,
}),
],
},
},
build: {
2023-03-31 22:25:44 +00:00
outDir: "dist",
sourcemap: true,
copyPublicDir: false,
rollupOptions: {
2023-03-31 22:25:44 +00:00
plugins: [inject({ Buffer: ["buffer", "Buffer"] })],
},
},
});