1
0

zip.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. const { exec } = require('child_process');
  2. const path = require('path')
  3. const fs = require('fs')
  4. const version = process.env.npm_package_version
  5. // Windows
  6. let exePath = path.resolve(__dirname, `../dist/Pinokio Setup ${version}.exe`)
  7. let zipPath = path.resolve(__dirname, `../dist/Pinokio-${version}-win32.zip`)
  8. exec(`zip -j "${zipPath}" "${exePath}"`, (error, stdout, stderr) => {
  9. if (error) {
  10. console.error(`Error executing command: ${error}`);
  11. return;
  12. }
  13. console.log('Command executed successfully.');
  14. console.log('stdout:', stdout);
  15. console.log('stderr:', stderr);
  16. });
  17. // Mac
  18. // find dmg files
  19. const macPaths = [{
  20. dmg: path.resolve(__dirname, `../dist/Pinokio-${version}-arm64.dmg`),
  21. //temp: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-arm64-temp`),
  22. temp: `Pinokio-${version}-darwin-arm64`,
  23. //zip: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-arm64.zip`),
  24. zip: `Pinokio-${version}-darwin-arm64.zip`
  25. }, {
  26. dmg: path.resolve(__dirname, `../dist/Pinokio-${version}.dmg`),
  27. //temp: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-intel-temp`),
  28. temp: `Pinokio-${version}-darwin-intel`,
  29. //zip: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-intel.zip`)
  30. zip: `Pinokio-${version}-darwin-intel.zip`
  31. }]
  32. let sentinelPath = path.resolve(__dirname, `../assets/Sentinel.app`)
  33. for(let macPath of macPaths) {
  34. const zipPath = macPath.zip
  35. try {
  36. console.log("mkdirSync", path.resolve(__dirname, "../dist", macPath.temp))
  37. fs.mkdirSync(path.resolve(__dirname, "../dist", macPath.temp), { recursive: true })
  38. } catch (e) {
  39. console.log("E1", e)
  40. }
  41. try {
  42. fs.cpSync(macPath.dmg, path.resolve(__dirname, "../dist", macPath.temp, "install.dmg"), { force: true, recursive: true })
  43. } catch (e) {
  44. console.log("E2", e)
  45. }
  46. try {
  47. fs.cpSync(sentinelPath, path.resolve(__dirname, "../dist", macPath.temp, "Sentinel.app"), { force: true, recursive: true })
  48. } catch (e) {
  49. console.log("E3", e)
  50. }
  51. const cmd = `zip -r "${zipPath}" "${macPath.temp}"`
  52. console.log({ cmd })
  53. exec(cmd, { cwd: path.resolve(__dirname, "../dist") }, (error, stdout, stderr) => {
  54. if (error) {
  55. console.error(`Error executing command: ${error}`);
  56. return;
  57. }
  58. console.log('Command executed successfully.');
  59. console.log('stdout:', stdout);
  60. console.log('stderr:', stderr);
  61. });
  62. // try {
  63. // fs.rmSync(path.resolve(__dirname, "../dist", macPath.temp), { recursive: true })
  64. // } catch (e) {
  65. // }
  66. }
  67. let rmFiles = [
  68. `Pinokio-${version}-arm64-mac.zip`,
  69. `Pinokio-${version}-mac.zip`,
  70. // `Pinokio-${version}-darwin-arm64`,
  71. // `Pinokio-${version}-darwin-intel`,
  72. ]
  73. for(let f of rmFiles) {
  74. try {
  75. fs.rmSync(path.resolve(__dirname, "../dist", f), { recursive: true })
  76. } catch (e) {
  77. }
  78. }