feat(@vant/cli): add external config for bundles (#9947)

This commit is contained in:
neverland
2021-11-26 15:28:53 +08:00
committed by GitHub
parent cfcc84ff25
commit 9e67b81288
4 changed files with 56 additions and 17 deletions
@@ -0,0 +1,42 @@
import { build } from 'vite';
import { getPackageJson } from '../common/constant.js';
import { mergeCustomViteConfig } from '../common/index.js';
import { getViteConfigForPackage } from '../config/vite.package.js';
export async function compileBundles() {
const dependencies = getPackageJson().dependencies || {};
const externals = Object.keys(dependencies);
const configs = [
// umd bundle
getViteConfigForPackage({
minify: false,
formats: ['umd'],
external: ['vue'],
}),
// umd bundle (minified)
getViteConfigForPackage({
minify: true,
formats: ['umd'],
external: ['vue'],
}),
// esm/cjs bundle
getViteConfigForPackage({
minify: false,
formats: ['es', 'cjs'],
external: ['vue', ...externals],
}),
// esm/cjs bundle (minified)
// vite will not minify es bundle
// see: https://github.com/vuejs/vue-next/issues/2860
getViteConfigForPackage({
minify: true,
formats: ['es', 'cjs'],
external: ['vue', ...externals],
}),
];
await Promise.all(
configs.map((config) => build(mergeCustomViteConfig(config)))
);
}
@@ -1,10 +0,0 @@
import { build } from 'vite';
import { mergeCustomViteConfig } from '../common/index.js';
import { getViteConfigForPackage } from '../config/vite.package.js';
export async function compilePackage(
minify: boolean
): ReturnType<typeof build> {
const config = mergeCustomViteConfig(getViteConfigForPackage(minify));
return build(config);
}