snort/packages/app/vite.config.ts

61 lines
1.4 KiB
TypeScript

import react from "@vitejs/plugin-react";
import appConfig from "config";
import { visualizer } from "rollup-plugin-visualizer";
import { defineConfig } from "vite";
import { VitePWA } from "vite-plugin-pwa";
import { vitePluginVersionMark } from "vite-plugin-version-mark";
export default defineConfig({
plugins: [
react({
jsxImportSource: "@welldone-software/why-did-you-render",
babel: {
configFile: true,
},
}),
VitePWA({
strategies: "injectManifest",
injectRegister: "inline",
srcDir: "src",
filename: "service-worker.ts",
registerType: "autoUpdate",
devOptions: {
enabled: false,
type: "module",
},
}),
visualizer({
open: true,
gzipSize: true,
filename: "build/stats.html",
}),
vitePluginVersionMark({
name: "snort",
ifGitSHA: true,
command: "git describe --always --tags",
ifMeta: false,
ifLog: false,
}),
],
assetsInclude: ["**/*.md", "**/*.wasm"],
build: {
outDir: "build",
commonjsOptions: { transformMixedEsModules: true },
sourcemap: true,
},
clearScreen: false,
publicDir: appConfig.get("publicDir"),
resolve: {
alias: {
"@": "/src",
},
},
define: {
CONFIG: JSON.stringify(appConfig),
global: {}, // needed for custom-event lib
},
worker: {
format: "es",
},
});