keycloak-scim/js/apps/account-ui/vite.config.ts
Jon Koops 2b35b4430c
Output Vite build directly into Maven target directory (#30490)
Signed-off-by: Jon Koops <jonkoops@gmail.com>
2024-06-19 14:36:04 +02:00

48 lines
1.2 KiB
TypeScript

import react from "@vitejs/plugin-react-swc";
import path from "path";
import { defineConfig, loadEnv } from "vite";
import { checker } from "vite-plugin-checker";
import dts from "vite-plugin-dts";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), "");
const external = ["react", "react/jsx-runtime", "react-dom"];
const plugins = [react(), checker({ typescript: true })];
if (env.LIB) {
external.push("react-router-dom");
external.push("react-i18next");
plugins.push(dts({ insertTypesEntry: true }));
}
const lib = env.LIB
? {
copyPublicDir: false,
outDir: "lib",
lib: {
entry: path.resolve(__dirname, "src/index.ts"),
formats: ["es"],
},
}
: undefined;
return {
base: "",
server: {
origin: "http://localhost:5173",
port: 5173,
},
build: {
outDir: "target/classes/theme/keycloak.v3/account/resources",
...lib,
sourcemap: true,
target: "esnext",
modulePreload: false,
cssMinify: "lightningcss",
manifest: true,
rollupOptions: {
input: "src/main.tsx",
external,
},
},
plugins,
};
});