cnchar/helper/publish.js

73 lines
2.2 KiB
TypeScript
Raw Normal View History

2020-12-17 22:18:08 +08:00
const {exec, Packages} = require('./tool');
const {plugins, allPackage, mainPackage, types, utils} = Packages;
// plugins 'main' 'npm' 'types' 可选
// npm run publish: 默认build 全部
// npm run publish main poly npm: build三个
async function main () {
const publish = 'npm publish ';
const publishPackage = `${publish}npm/packages/`;
const publishAll = `${publishPackage}cnchar-all`;
2021-12-17 12:03:04 +08:00
const publishTypes = `${publishPackage}cnchar-types`;
2020-12-17 22:18:08 +08:00
const publishMain = `${publishPackage}cnchar`;
let cmds = [];
let cmdConsole = [];
const packages = process.argv.slice(2);
packages.forEach(package => {
if (plugins.includes(package) || utils.includes(package)) {
cmds.push(`${publishPackage}${package}`);
cmdConsole.push(package);
} else if (package === mainPackage) {
cmds.push(publishMain);
cmdConsole.push(mainPackage);
} else if (package === allPackage) {
cmds.push(publishAll);
cmdConsole.push(allPackage);
} else if (package === types) {
cmds.push(publishTypes);
cmdConsole.push(types);
}
});
if (cmds.length === 0) {
cmds = [
publishTypes,
publishMain,
...plugins.map(plugin => `${publishPackage}${plugin}`),
publishAll,
...utils.map(util => `${publishPackage}${util}`)
];
cmdConsole = [
types,
mainPackage,
...plugins,
allPackage,
...utils
];
}
console.log(`Start Publish... [0/${cmds.length}]`);
2021-12-17 12:03:04 +08:00
const errorList = [];
2020-12-17 22:18:08 +08:00
for (let i = 0; i < cmds.length; i++) {
2021-12-17 12:03:04 +08:00
const {success, stderr} = await exec(cmds[i]); {
if (success) {
console.log(`${cmdConsole[i]} publish success. [${i + 1}/${cmds.length}]`);
} else {
console.log(stderr);
console.log(`${cmdConsole[i]} publish fail!. [${i + 1}/${cmds.length}]`);
errorList.push(cmdConsole[i]);
}
}
2020-12-17 22:18:08 +08:00
}
console.log('Finished!');
2021-12-17 12:03:04 +08:00
if (errorList.length > 0) {
console.log(`Fail Items: ${cmdConsole.toString()}`);
}
2020-12-17 22:18:08 +08:00
}
2021-12-17 12:03:04 +08:00
main();