vue-componentes/vite.config.ts
2026-06-06 18:54:24 -03:00

46 lines
1.1 KiB
TypeScript

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",
},
},
},
})