diff --git a/scripts/utils.js b/scripts/utils.js index b3c846f046..bf7c12ebae 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -2,6 +2,7 @@ const minimist = require('minimist') const la = require('lazy-ass') const is = require('check-more-types') const path = require('path') +const fs = require('fs') /* eslint-disable no-console */ @@ -13,17 +14,23 @@ function getNameAndBinary (args = process.argv) { la(is.unemptyString(options.binary), 'missing --binary option with binary url', options) - console.log('loading NPM url from', options.npm) - const npmUrl = require(path.resolve(options.npm)).url - la(is.url(npmUrl), 'not an url', npmUrl) + let npmUrlOrVersion = options.npm + if (fs.existsSync(options.npm)) { + console.log('loading NPM url from', options.npm) + npmUrlOrVersion = require(path.resolve(options.npm)).url + la(is.url(npmUrlOrVersion), 'not an url', npmUrlOrVersion) + } - console.log('loading binary url from', options.binary) - const binaryUrl = require(path.resolve(options.binary)).url - la(is.url(binaryUrl), 'not an url', binaryUrl) + let binaryVersionOrUrl = options.binary + if (fs.existsSync(options.binary)) { + console.log('loading binary url from', options.binary) + binaryVersionOrUrl = require(path.resolve(options.binary)).url + la(is.url(binaryVersionOrUrl), 'not an url', binaryVersionOrUrl) + } return { - npmUrl, - binaryUrl, + npmUrl: npmUrlOrVersion, + binaryUrl: binaryVersionOrUrl, } }