allinssl/frontend/packages/utils/vite.config.ts

46 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vite'
import { resolve } from 'path'
import dts from 'vite-plugin-dts'
export default defineConfig({
root: resolve(__dirname, './src'),
plugins: [
dts({
include: ['*.ts'],
beforeWriteFile: (filePath, content) => ({
filePath: filePath.replace(/src/, ''),
content,
}),
}),
],
build: {
outDir: resolve(__dirname, 'dist'),
emptyOutDir: true,
lib: {
entry: {
browser: resolve(__dirname, 'src/browser.ts'),
business: resolve(__dirname, 'src/business.ts'),
data: resolve(__dirname, 'src/data.ts'),
date: resolve(__dirname, 'src/date.ts'),
encipher: resolve(__dirname, 'src/encipher.ts'),
random: resolve(__dirname, 'src/random.ts'),
string: resolve(__dirname, 'src/string.ts'),
type: resolve(__dirname, 'src/type.ts'),
},
name: 'BaotaUtils',
formats: ['es', 'cjs'],
fileName: (format, entryName) => `${entryName}.${format === 'es' ? 'mjs' : 'cjs'}`,
},
rollupOptions: {
external: ['jsencrypt', 'md5', 'ramda'],
output: {
globals: {
jsencrypt: 'JSEncrypt',
md5: 'md5',
ramda: 'R',
},
},
},
},
})