50 lines
968 B
TypeScript
50 lines
968 B
TypeScript
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
import vueJsx from "@vitejs/plugin-vue-jsx";
|
|
import dts from "vite-plugin-dts";
|
|
import { resolve } from "path";
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [
|
|
vue(),
|
|
vueJsx(),
|
|
dts({
|
|
include: ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
|
|
outDir: "types"
|
|
})
|
|
],
|
|
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
charset: false,
|
|
api: "modern-compiler"
|
|
}
|
|
}
|
|
},
|
|
|
|
build: {
|
|
lib: {
|
|
entry: resolve(__dirname, "src/entry.ts"),
|
|
name: "index",
|
|
fileName: (format) => `index.${format}.js`,
|
|
cssFileName: "index"
|
|
},
|
|
rollupOptions: {
|
|
external: ["element-plus", "@element-plus/icons-vue", "vue"],
|
|
output: {
|
|
exports: "named",
|
|
globals: {
|
|
"element-plus": "ElementPlus",
|
|
"@element-plus/icons-vue": "ElementPlusIconsVue",
|
|
vue: "Vue"
|
|
}
|
|
}
|
|
},
|
|
sourcemap: true,
|
|
minify: "terser",
|
|
cssCodeSplit: false
|
|
}
|
|
});
|