@google-translate-select/vue3
Version:
🚀 The package offer vue3 library for @google-translate-select!
66 lines (64 loc) • 1.66 kB
text/typescript
import { resolve } from 'path'
import Vue from '@vitejs/plugin-vue'
import VueJsx from '@vitejs/plugin-vue-jsx'
// import Dts from 'vite-plugin-dts'
import CssInjected from 'vite-plugin-css-injected-by-js'
import {
PKG_CAMELCASE_NAME,
PKG_NAME,
} from '@google-translate-select/constants'
import type { UserConfigExport } from 'vite'
export default (): UserConfigExport => {
// const packageDir = './src'
const entry = resolve(__dirname, './src/index.ts')
const outDir = resolve(__dirname, 'dist/umd')
return {
mode: 'production',
plugins: [
Vue(),
VueJsx(),
// Dts({
// insertTypesEntry: true,
// cleanVueFileName: true,
// skipDiagnostics: false,
// logDiagnostics: true,
// include: [packageDir],
// entryRoot: packageDir,
// }),
CssInjected({
styleId: `${PKG_NAME}-theme-chalk`,
}),
],
build: {
// target: 'modules',
minify: true, // 压缩
chunkSizeWarningLimit: 2, // 超过 2kb 警告提示
// reportCompressedSize: false,
emptyOutDir: false,
outDir,
lib: {
name: PKG_CAMELCASE_NAME,
entry,
formats: ['umd'],
fileName: (target): string => {
return `index.${target}.js`
},
},
rollupOptions: {
external: ['vue'],
// output: {
// preserveModules: true,
// preserveModulesRoot: packageDir,
// sourcemap: true,
// },
output: {
format: 'umd',
exports: 'named',
globals: {
vue: 'Vue',
},
},
},
},
}
}