mirror of https://github.com/halo-dev/halo
60 lines
1.4 KiB
TypeScript
60 lines
1.4 KiB
TypeScript
import { fileURLToPath, URL } from "url";
|
|
|
|
import { defineConfig } from "vite";
|
|
import Vue from "@vitejs/plugin-vue";
|
|
import Icons from "unplugin-icons/vite";
|
|
import dts from "vite-plugin-dts";
|
|
import path from "path";
|
|
import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";
|
|
|
|
export default ({ mode }: { mode: string }) => {
|
|
const isProduction = mode === "production";
|
|
|
|
return defineConfig({
|
|
plugins: [
|
|
Vue(),
|
|
Icons({
|
|
compiler: "vue3",
|
|
}),
|
|
isProduction &&
|
|
dts({
|
|
tsconfigPath: "./tsconfig.app.json",
|
|
entryRoot: "./src",
|
|
outDir: "./dist",
|
|
insertTypesEntry: true,
|
|
}),
|
|
VueI18nPlugin({
|
|
include: [path.resolve(__dirname, "./src/locales/*.yaml")],
|
|
}),
|
|
],
|
|
define: {
|
|
"process.env": process.env,
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
|
},
|
|
},
|
|
build: {
|
|
outDir: path.resolve(__dirname, "dist"),
|
|
lib: {
|
|
entry: path.resolve(__dirname, "src/index.ts"),
|
|
name: "RichTextEditor",
|
|
formats: ["es", "iife"],
|
|
fileName: (format) => `rich-text-editor.${format}.js`,
|
|
},
|
|
minify: isProduction,
|
|
rollupOptions: {
|
|
external: ["vue"],
|
|
output: {
|
|
globals: {
|
|
vue: "Vue",
|
|
},
|
|
exports: "named",
|
|
},
|
|
},
|
|
sourcemap: false,
|
|
},
|
|
});
|
|
};
|