const { execa } = require('@umijs/utils'); const { join } = require('path'); const getPackages = require('./utils/getPackages'); process.setMaxListeners(Infinity); module.exports = (publishPkgList) => {
const pkgList = (publishPkgList || getPackages()).map((pkg) => {
// eslint-disable-next-line global-require,import/no-dynamic-require
const [name, path] = pkg.split('!'); // eslint-disable-next-line global-require,import/no-dynamic-require return require(join(__dirname, '../packages', path, name, 'package.json')).name;
}); const commands = pkgList.map((pkg) => { const subprocess = execa('tnpm', ['sync', pkg]); subprocess.stdout.pipe(process.stdout); return subprocess; }); Promise.all(commands);
};