vant/packages/vant-cli/src/config/webpack.package.ts

44 lines
1.1 KiB
TypeScript

import { merge } from 'webpack-merge';
import { join } from 'path';
import { baseConfig } from './webpack.base';
import { WebpackConfig } from '../common/types';
import { getVantConfig, getWebpackConfig, setBuildTarget } from '../common';
import { LIB_DIR, ES_DIR } from '../common/constant';
export function getPackageConfig(isMinify: boolean): WebpackConfig {
const { name } = getVantConfig();
setBuildTarget('package');
return getWebpackConfig(
merge(baseConfig as any, {
mode: 'production',
entry: {
[name]: join(ES_DIR, 'index.js'),
},
stats: 'none',
output: {
path: LIB_DIR,
library: name,
libraryTarget: 'umd',
filename: isMinify ? '[name].min.js' : '[name].js',
umdNamedDefine: true,
// https://github.com/webpack/webpack/issues/6522
globalObject: "typeof self !== 'undefined' ? self : this",
},
externals: {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue',
},
},
performance: false,
optimization: {
minimize: isMinify,
},
})
);
}