From d798806486c4031ada732e8a4e3bbd2cb8b1a53f Mon Sep 17 00:00:00 2001 From: Christoph Knittel Date: Fri, 25 May 2018 11:35:35 +0200 Subject: [PATCH] Script for packaging binary into a zip file. --- package.json | 3 ++- scripts/createZip.js | 18 ++++++++++++++++++ setVersion.js => scripts/setVersion.js | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 scripts/createZip.js rename setVersion.js => scripts/setVersion.js (74%) diff --git a/package.json b/package.json index b3b791d..3e0b900 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ }, "scripts": { "format": "refmt --in-place -w 120 `find bin lib -name \"*.re\"`", - "setVersion": "node setVersion.js" + "setVersion": "node scripts/setVersion.js", + "zip": "esy build && node scripts/createZip.js" }, "dependencies": { "@esy-ocaml/esy-installer": "^0.0.0", diff --git a/scripts/createZip.js b/scripts/createZip.js new file mode 100644 index 0000000..d00b436 --- /dev/null +++ b/scripts/createZip.js @@ -0,0 +1,18 @@ +const fs = require("fs"); +const os = require("os"); +const child_process = require("child_process"); +const { version } = require("../package.json"); + +const exeName = "bs-react-intl-extractor"; +let platform = os.platform(); +if (platform === "darwin") { + platform = "macos"; +} +const zipName = `${exeName}-${version}-${platform}.zip`; + +if (fs.existsSync(zipName)) { + fs.unlinkSync(zipName); +} +fs.copyFileSync("_build/default/bin/Extract.exe", exeName); +child_process.execSync(`zip ${zipName} ${exeName}`); +fs.unlinkSync(exeName); diff --git a/setVersion.js b/scripts/setVersion.js similarity index 74% rename from setVersion.js rename to scripts/setVersion.js index 76eb5b0..9a7164b 100644 --- a/setVersion.js +++ b/scripts/setVersion.js @@ -1,5 +1,5 @@ const fs = require("fs"); -const { version } = require("./package.json"); +const { version } = require("../package.json"); fs.writeFileSync("bin/Version.re", `let version = "${version}";`);