From b3c2d2e764859eaf7857ec063dd121dcecb80075 Mon Sep 17 00:00:00 2001 From: calebboyd Date: Mon, 1 Apr 2019 16:38:06 -0500 Subject: [PATCH] fix: use hardcoded version for asset url --- package-lock.json | 2 +- package.json | 2 +- src/steps/download.ts | 51 ++++++++++++++++++------------------------- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 06b113e..948451d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nexe", - "version": "3.0.0", + "version": "3.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4e0a77d..eeb98c6 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "nexe", "description": "Create a single executable out of your Node.js application", "license": "MIT", - "version": "3.0.0", + "version": "3.0.1", "contributors": [ "Craig Condon (http://crcn.io)", "Jared Allard ", diff --git a/src/steps/download.ts b/src/steps/download.ts index 85537f9..c9b8a2b 100644 --- a/src/steps/download.ts +++ b/src/steps/download.ts @@ -3,7 +3,6 @@ import { pathExistsAsync } from '../util' import { LogStep } from '../logger' import { IncomingMessage } from 'http' import { NexeCompiler, NexeError } from '../compiler' -import { getLatestGitRelease } from '../releases' import { dirname } from 'path' function fetchNodeSourceAsync(dest: string, url: string, step: LogStep, options = {}) { @@ -24,37 +23,29 @@ function fetchNodeSourceAsync(dest: string, url: string, step: LogStep, options } async function fetchPrebuiltBinary(compiler: NexeCompiler, step: any) { - let downloadOptions = compiler.options.downloadOptions - const target = compiler.target + const target = compiler.target, + asset = 'https://github.com/nexe/nexe/releases/download/v3.0.0/' + target.toString(), + filename = compiler.getNodeExecutableLocation(target) - if (compiler.options.ghToken) { - downloadOptions = Object.assign({}, downloadOptions) - downloadOptions.headers = Object.assign({}, downloadOptions.headers, { - Authorization: 'token ' + compiler.options.ghToken - }) + try { + await download(asset, dirname(filename), compiler.options.downloadOptions).on( + 'response', + (res: IncomingMessage) => { + const total = +res.headers['content-length']! + let current = 0 + res.on('data', data => { + current += data.length + step!.modify(`Downloading...${((current / total) * 100).toFixed()}%`) + }) + } + ) + } catch (e) { + if (e.statusCode === 404) { + throw new NexeError(`${asset} not available, create it using the --build flag`) + } else { + throw new NexeError('Error downloading prebuilt binary: ' + e) + } } - - const githubRelease = await getLatestGitRelease(downloadOptions) - const assetName = target.toString() - const asset = githubRelease.assets.find(x => x.name === assetName) - - if (!asset) { - throw new NexeError(`${assetName} not available, create it using the --build flag`) - } - const filename = compiler.getNodeExecutableLocation(target) - - await download( - asset.browser_download_url, - dirname(filename), - compiler.options.downloadOptions - ).on('response', (res: IncomingMessage) => { - const total = +res.headers['content-length']! - let current = 0 - res.on('data', data => { - current += data.length - step!.modify(`Downloading...${((current / total) * 100).toFixed()}%`) - }) - }) } /**