feat(@vant/cli): add external config for bundles (#9947)
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
import { join } from 'path';
|
||||
import type { InlineConfig } from 'vite';
|
||||
import { setBuildTarget } from '../common/index.js';
|
||||
import { CWD, ES_DIR, getVantConfig, LIB_DIR } from '../common/constant.js';
|
||||
import type { InlineConfig, LibraryFormats } from 'vite';
|
||||
|
||||
export function getViteConfigForPackage(minify: boolean): InlineConfig {
|
||||
export function getViteConfigForPackage({
|
||||
minify,
|
||||
formats,
|
||||
external,
|
||||
}: {
|
||||
minify: boolean;
|
||||
formats: LibraryFormats[];
|
||||
external: string[];
|
||||
}): InlineConfig {
|
||||
setBuildTarget('package');
|
||||
|
||||
const { name } = getVantConfig();
|
||||
@@ -17,7 +25,7 @@ export function getViteConfigForPackage(minify: boolean): InlineConfig {
|
||||
lib: {
|
||||
name,
|
||||
entry: join(ES_DIR, 'index.js'),
|
||||
formats: ['es', 'cjs', 'umd'],
|
||||
formats,
|
||||
fileName: (format: string) => {
|
||||
const suffix = format === 'umd' ? '' : `.${format}`;
|
||||
return minify ? `${name}${suffix}.min.js` : `${name}${suffix}.js`;
|
||||
@@ -26,7 +34,7 @@ export function getViteConfigForPackage(minify: boolean): InlineConfig {
|
||||
// terser has better compression than esbuild
|
||||
minify: minify ? 'terser' : false,
|
||||
rollupOptions: {
|
||||
external: ['vue'],
|
||||
external,
|
||||
output: {
|
||||
dir: LIB_DIR,
|
||||
exports: 'named',
|
||||
|
||||
Reference in New Issue
Block a user