import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import pkg from "./package.json";
import dts from "vite-plugin-dts";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue({
      css: true
    }),
    dts({
      cleanVueFileName: true,
    }),
  ],
  build: {
    lib: {
      entry: "./src/index.ts",
      formats: ["es", "umd"],
      // the name expose in umd mode
      name: pkg.name,
      fileName: (format) => `index.${format}.js`,
    },
    rollupOptions: {
      external: ["vue", "mobx", "mobx-utils"],
      output: {
        globals: {
          vue: "Vue",
          mobx: "mobx",
          "mobx-utils": "mobxUtils",
        },
      },
    },
  },
  server: {
    port: 5010
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})
