import { readdirSync } from 'fs'; import { join } from 'path'; // utils must build before core const headPkgs = [ // 'DeviceTree', // 'Empty', // 'HistoryInfo', // 'ImageSelect', // 'MqttView', // 'QuotaSelect', // 'RealTimeInfo', // 'TimeRangePicker', // 'AlarmScrollAssembly', ]; const pkgList = ['base-components', 'extend-components'] .map((dir) => { const list = readdirSync(join(__dirname, 'packages', dir)).map((item) => `${item}!${dir}`); return list; }) .flat(); const tailPkgs = pkgList .filter((pkg) => pkg.charAt(0) !== '.' && !headPkgs.includes(pkg)) .map((item) => { const [name, path] = item.split('!'); // return `${path}/${name}`; return `${name}`; }); const type = process.env.BUILD_TYPE; let config = {}; if (type === 'lib') { config = { cjs: { type: 'babel', lazy: true }, esm: false, runtimeHelpers: true, pkgs: [...headPkgs, ...tailPkgs], extraBabelPlugins: [ [ 'babel-plugin-import', { libraryName: 'antd', libraryDirectory: 'lib', style: true }, 'antd', ], ], }; } if (type === 'es') { config = { cjs: false, esm: { type: 'babel', }, runtimeHelpers: true, pkgs: [...headPkgs, ...tailPkgs], extraBabelPlugins: [ [require('./scripts/replaceLib')], ['babel-plugin-import', { libraryName: 'antd', libraryDirectory: 'es', style: true }, 'antd'], ], }; } export default config;