vite.config.ts 1006 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import react from "@vitejs/plugin-react";
  2. import { defineConfig } from "vite";
  3. import checker from "vite-plugin-checker";
  4. import tsconfigPaths from "vite-tsconfig-paths";
  5. import "vitest/config";
  6. import { execFile } from "node:child_process";
  7. // https://vitejs.dev/config/
  8. export default defineConfig({
  9. plugins: [
  10. {
  11. name: "trigger-script-on-reload",
  12. configureServer(server) {
  13. server.watcher.on("change", (file) => {
  14. if (file.includes("locale/src")) {
  15. console.log(`File changed: ${file}, running locale-compile script...`);
  16. execFile("yarn", ["locale-compile"], (error, stdout, _stderr) => {
  17. if (error) {
  18. throw error;
  19. }
  20. console.log(stdout);
  21. });
  22. }
  23. });
  24. },
  25. },
  26. react(),
  27. checker({
  28. // e.g. use TypeScript check
  29. typescript: true,
  30. }),
  31. tsconfigPaths(),
  32. ],
  33. server: {
  34. host: true,
  35. port: 5173,
  36. strictPort: true,
  37. allowedHosts: true,
  38. },
  39. test: {
  40. environment: "happy-dom",
  41. setupFiles: ["./vitest-setup.js"],
  42. },
  43. });