import { defineConfig, normalizePath } from "vite"; import { fileURLToPath, URL } from "node:url"; import vue from "@vitejs/plugin-vue"; import vueJsx from "@vitejs/plugin-vue-jsx"; import linaria from "@linaria/rollup"; import css from "rollup-plugin-css-only"; import WindiCSS from "vite-plugin-windicss"; import Components from "unplugin-vue-components/vite"; import { AntDesignVueResolver } from "unplugin-vue-components/resolvers"; import { resolve } from "path"; // https://vitejs.dev/config/ export default defineConfig({ base: process.env.NODE_ENV == "production" ? "./" : "./", build: { rollupOptions: { input: { index: resolve(__dirname, "./index.html"), admin: resolve(__dirname, "./admin.html"), }, }, }, plugins: [ WindiCSS(), linaria({ include: ["**/*.{ts,tsx}"], sourceMap: process.env.NODE_ENV !== "production", babelOptions: { presets: ["@babel/preset-typescript"], }, }), // css({ // output: ( // styles: string, // styleNodes: Record, // bundle: any // ) => { // console.log(bundle); // return "style.css"; // }, // }), Components({ resolvers: [ AntDesignVueResolver({ // importLess: true }), ], }), vue(), vueJsx(), ], esbuild: { include: ["./src/**/*.tsx"], jsxInject: `import { getImageUrl } from '@/utils'`, }, css: { preprocessorOptions: { less: { javascriptEnabled: true, }, }, }, resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, });