simplified options to need. now only forceDownload and forceBuild
This commit is contained in:
parent
ef69cb2760
commit
4fab7ba150
11
lib/bin.js
11
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) => {
|
||||
|
||||
26
lib/index.js
26
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 };
|
||||
|
||||
Loading…
Reference in New Issue
Block a user