vite.config.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { defineConfig } from "vite";
  2. import analyze from "rollup-plugin-analyzer";
  3. import reactRefresh from "@vitejs/plugin-react-refresh";
  4. import dotenv from "dotenv";
  5. dotenv.config();
  6. const useProxy = process.env.VITE_USE_PROXY;
  7. const server = process.env.VITE_API_ENDPOINT;
  8. const socketServer = process.env.VITE_SOCKET_URL;
  9. const siteId = process.env.VITE_RICOCHET_SITEID;
  10. const checkDeprecatedVars = () => {
  11. const deprecatedVars = [
  12. "API_ENDPOINT",
  13. "SOCKET_URL",
  14. "SOCKET_PATH",
  15. "NO_WELCOME",
  16. ];
  17. const toBeFixed = deprecatedVars.map((variable) => {
  18. if (
  19. process.env[`REACT_APP_${variable}`] &&
  20. !process.env[`VITE_${variable}`]
  21. ) {
  22. console.log(
  23. `ERR! you have to migrate env variable REACT_APP_${variable} -> VITE_${variable}`
  24. );
  25. return true;
  26. }
  27. return false;
  28. });
  29. if (toBeFixed.some((v) => v)) {
  30. console.log(
  31. "ERR! Please fix error above to be able to start the server!\n\n"
  32. );
  33. process.exit(1);
  34. }
  35. };
  36. checkDeprecatedVars();
  37. if (!siteId) {
  38. console.log(
  39. "ERR! You must define a VITE_RICOCHET_SITEID environment variable."
  40. );
  41. process.exit(1);
  42. }
  43. let proxy = {};
  44. if (useProxy) {
  45. console.log("Proxy backend...");
  46. proxy = {
  47. server: {
  48. proxy: {
  49. "/socket.io": socketServer
  50. .replace("https", "wss")
  51. .replace("http", "ws"),
  52. "/file": server,
  53. [`/${siteId}`]: server,
  54. },
  55. },
  56. };
  57. }
  58. // https://vitejs.dev/config/
  59. export default defineConfig({
  60. plugins: [
  61. reactRefresh(),
  62. analyze({ summaryOnly: true, hideDeps: true, limit: 20 }),
  63. ],
  64. build: {
  65. sourcemap: "inline",
  66. },
  67. ...proxy,
  68. });