base/vite.config.js

51 lines
1.2 KiB
JavaScript

import { defineConfig } from 'vite';
import { resolve } from 'path';
import terser from '@rollup/plugin-terser';
export default defineConfig({
resolve: {
alias: {
'@apigo.cc/state': resolve(__dirname, '../state/src/index.js'),
'@apigo.cc/bootstrap': resolve(__dirname, '../bootstrap/src/index.js'),
'@apigo.cc/base': resolve(__dirname, 'src/index.js')
}
},
server: {
fs: {
allow: ['..']
}
},
build: {
lib: {
entry: resolve(__dirname, 'src/index.js'),
name: 'ApigoBase',
formats: ['iife']
},
rollupOptions: {
external: ['@apigo.cc/state', '@apigo.cc/bootstrap'],
output: [
{
format: 'iife',
name: 'ApigoBase',
entryFileNames: 'base.js',
globals: {
'@apigo.cc/state': 'ApigoState', // Dummy mapping, as we rely on globalThis.State etc.
'@apigo.cc/bootstrap': 'bootstrap'
}
},
{
format: 'iife',
name: 'ApigoBase',
entryFileNames: 'base.min.js',
globals: {
'@apigo.cc/state': 'ApigoState',
'@apigo.cc/bootstrap': 'bootstrap'
},
plugins: [terser()]
}
]
},
minify: false
}
});