Files
wukuang/packages/business-module/vite.config.build.ts
T
2026-05-23 14:05:22 +08:00

64 lines
1.4 KiB
TypeScript

import process from 'node:process';
import { fileURLToPath } from 'node:url';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import UnoCSS from 'unocss/vite';
import { defineConfig } from 'vite';
import dts from 'vite-plugin-dts';
// https://vitejs.dev/config/
export default defineConfig({
define: {
'process.env': process.env,
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
build: {
emptyOutDir: false,
cssCodeSplit: false,
lib: {
entry: fileURLToPath(new URL('src/index.ts', import.meta.url)),
formats: ['es'],
name: 'fe-lowcode-render',
},
sourcemap: true,
rollupOptions: {
external: [
'vue',
'@lingshu/core',
'@lingshu/enums',
'element-plus-cisdi',
'pinia',
'vue-router',
'vue-i18n',
],
output: {
globals: {
'vue': 'Vue',
'@lingshu/core': 'FeLowcodeCore',
'@lingshu/enums': 'FeLowcodeEnums',
'element-plus-cisdi': 'ElementPlusCisdi',
},
exports: 'named',
banner: `
/**
* Copyright ${new Date(Date.now()).getFullYear()} Cisdi
* @license MIT
**/
`,
entryFileNames: '[name].mjs',
chunkFileNames: '[name]-[hash].mjs',
assetFileNames: '[name].[ext]',
},
},
},
plugins: [
vue(),
vueJsx(),
UnoCSS(),
dts(),
],
});