electron-packagerをHTTPS Proxy環境下で


https-proxy-agentを明示的に与えればいいのだけど、オプションが面倒なのでメモしておく。

https-proxy-agentのインストール

npm
npm install https-proxy-agent --save-dev
yarn
yarn add --dev https-proxy-agent

設定は.jsに外部化する。npm scriptの場合は例えばこんな感じ。

build.js
const packager = require('electron-packager');
const config = require('./package.json');
const HttpsProxyAgent = require('https-proxy-agent');

const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
if (httpsProxy) {
  const download = {
    downloadOptions: {
      agent: new HttpsProxyAgent(httpsProxy)
    }
  };
}

packager({
  ... 
  download: download,
  ...
}, function done (err, appPath) {
  if (err) {
    throw new Error(err);
  }
  console.log("Done: " + appPath);
});