import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import VitePluginStyleInject from 'vite-plugin-style-inject';
import { resolve } from 'path';
import path from "path";

function pathResolve(dir: string) {
  return resolve(process.cwd(), '.', dir);
}
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),VitePluginStyleInject()],
  build: {
		outDir: "color-picker-plus", //输出文件名称
		lib: {
			entry: path.resolve(__dirname, "./src/components/ColorPicker/index.ts"), //指定组件编译入口文件
			name: "color-picker-plus",
			fileName: "color-picker-plus",
		}, //库编译模式配置
		rollupOptions: {
			// 确保外部化处理那些你不想打包进库的依赖
			external: ["vue"],
			output: {
				// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
				globals: {
					vue: "Vue",
				},
			},
		}, // rollup打包配置
	},
  server: {
    host: '0.0.0.0',
    port: 8888,
    open: true
  },
  resolve: {
    alias: [
      {
        find: /\/@\//,
        replacement: pathResolve('src') + '/',
      },
      // /#/xxxx => types/xxxx
      {
        find: /\/#\//,
        replacement: pathResolve('types') + '/',
      },
    ],
    extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json"]
  },
  css: {
    preprocessorOptions: {
      less: {
        // modifyVars: generateModifyVars(),
        javascriptEnabled: true,
      },
    },
  },
})
