33 lines
913 B
JavaScript
33 lines
913 B
JavaScript
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,
|
|
}
|
|
: {},
|
|
})
|