release.js 970 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. const fs = require('fs-extra');
  2. const path = require('path');
  3. const { execSync } = require('child_process');
  4. const pckg = require('../package.json');
  5. const platform = process.argv[2];
  6. const distDir = path.resolve(__dirname, '../dist');
  7. const outDir = `${distDir}/release`;
  8. async function makeRelease(target) {
  9. const srcDir = `${distDir}/${target}`;
  10. if (await fs.pathExists(srcDir)) {
  11. const zipFile = `${outDir}/${pckg.name}-${pckg.version}-${target}.zip`;
  12. execSync(`zip -r ${zipFile} .`, {cwd: srcDir, stdio: 'inherit'});
  13. }
  14. }
  15. async function main() {
  16. try {
  17. await fs.emptyDir(outDir);
  18. if (platform) {
  19. await makeRelease(platform);
  20. } else {
  21. await makeRelease('win');
  22. await makeRelease('linux');
  23. await makeRelease('linux-arm64');
  24. await makeRelease('macos');
  25. }
  26. } catch(e) {
  27. console.error(e);
  28. process.exit(1);
  29. }
  30. }
  31. main();