import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import tailwindcss from '@tailwindcss/vite' import { resolve } from 'path' const isLib = process.env.BUILD_TARGET === 'lib' export default defineConfig({ plugins: [ // Tailwind only for the app build — consuming projects bring their own !isLib && tailwindcss(), vue(), ].filter(Boolean), build: isLib ? { lib: { entry: resolve(__dirname, 'src/index.js'), name: 'MkDesignSystem', fileName: format => `mk-design-system.${format}.js`, formats: ['es', 'cjs'], }, rollupOptions: { // Vue must be provided by the consuming project external: ['vue'], output: { globals: { vue: 'Vue' } }, }, // Emit a separate CSS file (design-system.css) consumers can import cssCodeSplit: false, } : {}, })