import { defineConfig } from "vite";
import laravel from "laravel-vite-plugin";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
import { tanstackRouter } from "@tanstack/router-plugin/vite";
import path from "node:path";

export default defineConfig({
  plugins: [
    // File-based routes in resources/js/routes -> resources/js/routeTree.gen.ts
    tanstackRouter({
      target: "react",
      autoCodeSplitting: true,
      routesDirectory: "./resources/js/routes",
      generatedRouteTree: "./resources/js/routeTree.gen.ts",
    }),
    laravel({
      input: ["resources/css/app.css", "resources/js/main.tsx"],
      refresh: true,
    }),
    react(),
    tailwindcss(),
  ],
  resolve: {
    alias: { "@": path.resolve(import.meta.dirname, "resources/js") },
  },
  server: {
    watch: {
      ignored: ["**/storage/framework/views/**"],
    },
  },
});
