From 4fab7ba150e1859c1c0428d31c5bb48286f757f6 Mon Sep 17 00:00:00 2001 From: Igor Klopov Date: Thu, 18 Aug 2016 20:21:05 +0300 Subject: [PATCH] simplified options to `need`. now only `forceDownload` and `forceBuild` --- lib/bin.js | 11 +++++------ lib/index.js | 26 +++++++------------------- 2 files changed, 12 insertions(+), 25 deletions(-) diff --git a/lib/bin.js b/lib/bin.js index fd036a7..f86420d 100644 --- a/lib/bin.js +++ b/lib/bin.js @@ -7,12 +7,11 @@ async function main () { const nodeRange = argv.n || argv._.shift(); const platform = argv.p || argv._.shift(); const arch = argv.a || argv._.shift(); - const dontReadCache = argv.drc; - const dontDownload = argv.dd; - const dontBuild = argv.db; - const local = await need({ nodeRange, platform, arch, - dontReadCache, dontDownload, dontBuild }); - log.info('Result', local); + const forceDownload = argv.d; + const forceBuild = argv.b; + const local = await need({ nodeRange, platform, + arch, forceDownload, forceBuild }); + log.info(local); } main().catch((error) => { diff --git a/lib/index.js b/lib/index.js index 22402e3..2e72db3 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,5 +1,4 @@ -import * as system from './system.js'; -import { abiToNodeRange, hostArch, // eslint-disable-line no-duplicate-imports +import { abiToNodeRange, hostArch, hostPlatform, toFancyArch, toFancyPlatform } from './system.js'; import { localPlace, remotePlace } from './places.js'; import build from './build.js'; @@ -13,7 +12,7 @@ import { version } from '../package.json'; export async function need ({ nodeRange = 'latest', platform = hostPlatform, - arch = hostArch, dontReadCache, dontDownload, dontBuild + arch = hostArch, forceDownload, forceBuild } = {}) { nodeRange = abiToNodeRange(nodeRange); // m48 -> '6' nodeRange = nodeRange.toString(); // 6 -> '6' @@ -31,28 +30,17 @@ export async function need ({ const local = localPlace({ arch, nodeVersion, platform, version }); const name = path.basename(local); - if (dontReadCache) { - log.info('Refusing to read cache'); - } else { - log.info('Looking in cache', name); + if (!forceDownload && !forceBuild) { if (await exists(local)) return local; log.warn('Not found in cache'); } - if (dontDownload) { - log.info('Refusing to download'); - } else { + if (!forceBuild) { log.info('Downloading', name); const remote = remotePlace({ arch, nodeVersion, platform, version }); if (await download(remote, local)) return local; log.warn('Not found in GitHub releases'); } - if (dontBuild) { - log.info('Refusing to build from source'); - } else { - log.info('Building from source'); - await build(nodeVersion, arch, local); - return local; - } + log.info('Building from source'); + await build(nodeVersion, arch, local); + return local; } - -export { system };