From 10154b3f77b36b1cf2180022cd6e265ab3364418 Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 12 Sep 2019 10:05:28 +0300 Subject: [PATCH 1/3] feat: support custom binaries path --- install.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install.js b/install.js index 05b145e..60af8bc 100644 --- a/install.js +++ b/install.js @@ -14,11 +14,16 @@ module.exports = function install(config, unpackedBinPath, os, arch) { var buildId = os + "-" + arch; var url = config.urls[buildId]; + if (!url) { throw new Error("No binaries are available for your platform: " + buildId); } return binstall(url, unpackedBinPath).then(function() { config.binaries.forEach(function(bin) { + if (config.binariesPath) { + unpackedBinPath = path.join(unpackedBinPath, config.binariesPath); + } + fs.chmodSync(path.join(unpackedBinPath, bin + binExt), "755"); }); }); From dcba7a4ec2ac477aa580dfd7b82b53c732fff4c2 Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 12 Sep 2019 10:18:35 +0300 Subject: [PATCH 2/3] docs: add binariesPath option to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64ae01f..ef36c10 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ module.exports = binwrap({ binaries: [ "myapp-cli" ], + binariesPath: 'in case your binaries are nested inside the unpacked folder' urls: { "darwin-x64": root + "/mac-x64.tgz", "linux-x64": root + "/linux-x64.tgz", From 597d9e4a6989ef5374878b327d542feba5be1cc0 Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 12 Sep 2019 10:27:45 +0300 Subject: [PATCH 3/3] fix: update mustache template to use binariesPath --- binstub.js.mustache | 2 +- prepare.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/binstub.js.mustache b/binstub.js.mustache index e81bf3e..bd28056 100644 --- a/binstub.js.mustache +++ b/binstub.js.mustache @@ -17,7 +17,7 @@ if (os == "win32") { binExt = ".exe"; } -var unpackedBinPath = path.join(__dirname, "..", "unpacked_bin"); +var unpackedBinPath = path.join(__dirname, "..", "unpacked_bin", "{{ binariesPath }}"); var binPath = path.join(unpackedBinPath, "{{ binName }}" + binExt); function execBin() { diff --git a/prepare.js b/prepare.js index 551d32a..14fc412 100644 --- a/prepare.js +++ b/prepare.js @@ -11,7 +11,7 @@ module.exports = function prepare(config) { config.binaries.forEach(function(bin) { var binPath = path.join("bin", bin); - var content = mustache.render(binstubTemplate, { binName: bin }); + var content = mustache.render(binstubTemplate, { binName: bin, binariesPath: config.binariesPath }); fs.writeFileSync(binPath, content); fs.chmodSync(binPath, "755"); });