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(), ], });