km-web-plugin
Version:
ICE Web Plugin Initializer
63 lines (61 loc) • 1.8 kB
text/typescript
import { fileURLToPath, URL } from 'node:url';
import { resolve } from 'path';
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueDevTools from 'vite-plugin-vue-devtools';
import mkcert from 'vite-plugin-mkcert';
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
import Components from 'unplugin-vue-components/vite';
import { PrimeVueResolver } from '@primevue/auto-import-resolver';
// https://vite.dev/config/
export default defineConfig({
server: {
port: 3002,
cors: true,
},
plugins: [
vue(),
vueDevTools(),
mkcert(),
cssInjectedByJsPlugin(),
Components({
resolvers: [PrimeVueResolver()]
})
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
define: {
'process.env': {},
},
build: {
target: 'esnext',
outDir: 'dist/plugin',
lib: {
formats: ['es'],
entry: resolve(__dirname, 'src/lib/em-plugin.js'),
name: 'exampleplugin',
fileName: (format) => `exampleplugin.js`,
},
cssCodeSplit: false,
rollupOptions: {
external: [],
output: {
format: 'es',
inlineDynamicImports: true,
manualChunks: undefined,
entryFileNames: 'exampleplugin.js',
chunkFileNames: '[name].js',
assetFileNames: (assetInfo) => {
if (assetInfo.name === 'style.css') {
return 'styles.css';
}
return '[name][extname]';
},
},
},
minify: true,
},
});