import path from "node:path" import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" import vuetify from "vite-plugin-vuetify" import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js" export default defineConfig({ plugins: [ vue(), vuetify({ autoImport: true }), cssInjectedByJsPlugin(), ], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, server: { port: 5555, strictPort: true, }, build: { lib: { entry: path.resolve(__dirname, "src/index.ts"), name: "eli_vue", fileName: (format) => `eli-vue.${format}.js`, }, rollupOptions: { // não bundle Vue, Vuetify nem Leaflet JS // leaflet/dist/leaflet.css é bundled pelo cssInjectedByJsPlugin external: (id) => { if (id === "vue" || id === "leaflet") return true if (id === "vuetify" || id.startsWith("vuetify/")) return true return false }, output: { globals: { vue: "Vue", vuetify: "Vuetify", leaflet: "L", }, exports: "named", }, }, }, })