-
Notifications
You must be signed in to change notification settings - Fork 5
/
vite.config.ts
41 lines (37 loc) · 1 KB
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";
import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
// https://vitejs.dev/config/
const fileFormats: Record<string, string> = {
es: 'esm',
iife: 'min',
umd: 'umd',
cjs: 'cjs'
}
export default defineConfig({
plugins: [vue(), cssInjectedByJsPlugin()],
resolve: {
alias: {
"@/": new URL("./src/", import.meta.url).pathname
}
},
build: {
cssCodeSplit: true,
target: "esnext",
lib: {
entry: path.resolve(__dirname, "src/VueLinkPreview.vue"),
name: "VueLinkPreview",
fileName: (format: string) => `vuelinkpreview.${fileFormats[format]}.js`,
formats: ["es", "umd", "iife", "cjs"]
},
rollupOptions: {
external: ["vue"],
output: {
globals: {
vue: "Vue"
}
}
}
}
});