2026-04-02 11:06:57 +05:30
|
|
|
import { defineConfig } from "vite";
|
|
|
|
|
import react from "@vitejs/plugin-react";
|
2026-04-01 17:59:05 +05:30
|
|
|
import legacy from '@vitejs/plugin-legacy';
|
|
|
|
|
import esbuild from 'esbuild';
|
2026-03-23 16:08:11 +05:30
|
|
|
export default defineConfig(({ mode }) => {
|
2026-04-02 11:06:57 +05:30
|
|
|
const isProd = mode === "production";
|
2026-03-23 16:08:11 +05:30
|
|
|
|
2026-04-02 11:06:57 +05:30
|
|
|
return {
|
2026-04-01 17:59:05 +05:30
|
|
|
oxc: {
|
|
|
|
|
target: 'es2015'
|
|
|
|
|
},
|
|
|
|
|
plugins: [
|
|
|
|
|
react(),
|
|
|
|
|
legacy({
|
|
|
|
|
targets: [
|
|
|
|
|
"defaults",
|
|
|
|
|
"Android >= 5",
|
|
|
|
|
"Chrome >= 60"
|
|
|
|
|
],
|
|
|
|
|
}),
|
|
|
|
|
{
|
|
|
|
|
name: 'downlevel-dev',
|
|
|
|
|
enforce: 'post',
|
|
|
|
|
async transform(code, id) {
|
|
|
|
|
if (mode === 'development' && /\.(mjs|js|ts|jsx|tsx)(?:[?#]|$)/.test(id)) {
|
|
|
|
|
try {
|
|
|
|
|
const res = await esbuild.transform(code, { target: 'chrome64', loader: 'jsx' });
|
|
|
|
|
return res.code;
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return code;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
2026-03-23 16:08:11 +05:30
|
|
|
|
|
|
|
|
|
2026-04-02 11:06:57 +05:30
|
|
|
base: isProd ? "/" : "/", //for capcitor base: isProd ? "/" : "/",
|
|
|
|
|
|
|
|
|
|
envDir: "src",
|
|
|
|
|
envPrefix: "ENV_",
|
2026-03-23 16:08:11 +05:30
|
|
|
|
2026-04-02 11:06:57 +05:30
|
|
|
server: {
|
|
|
|
|
host: true, // 🔥 auto detect your IP
|
|
|
|
|
port: process.env.PORT || 3015,
|
2026-03-23 16:08:11 +05:30
|
|
|
},
|
|
|
|
|
|
|
|
|
|
build: {
|
2026-04-02 11:06:57 +05:30
|
|
|
minify: "esbuild",
|
2026-03-23 16:08:11 +05:30
|
|
|
esbuild: {
|
2026-04-02 11:06:57 +05:30
|
|
|
drop: isProd ? ["console", "debugger"] : [],
|
2026-03-05 17:31:46 +05:30
|
|
|
},
|
2026-03-23 16:08:11 +05:30
|
|
|
},
|
2026-04-02 11:06:57 +05:30
|
|
|
};
|
|
|
|
|
});
|