43 lines
989 B
JavaScript
43 lines
989 B
JavaScript
import { fileURLToPath, URL } from 'node:url'
|
|
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
const isLibrary = process.env.NODE_ENV === 'production' && process.env.npm_lifecycle_event === 'build-lib';
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [
|
|
vue(),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
}
|
|
},
|
|
server: {
|
|
host: '0.0.0.0',
|
|
port: 3000
|
|
},
|
|
build: isLibrary ? {
|
|
lib: {
|
|
entry: fileURLToPath(new URL('./src/index.js', import.meta.url)),
|
|
name: 'CanvaConnector',
|
|
fileName: (format) => `canva-connector.${format}.js`
|
|
},
|
|
rollupOptions: {
|
|
external: ['vue', 'pinia', 'vue-router'],
|
|
output: {
|
|
globals: {
|
|
vue: 'Vue',
|
|
pinia: 'Pinia',
|
|
'vue-router': 'VueRouter'
|
|
},
|
|
exports: 'named'
|
|
}
|
|
},
|
|
outDir: './dist'
|
|
} : {
|
|
outDir: '../dist',
|
|
emptyOutDir: true
|
|
}
|
|
}) |