From 74a546baeec9280f8dd6788a655c68128e516753 Mon Sep 17 00:00:00 2001 From: Innei Date: Wed, 23 Feb 2022 15:02:28 +0800 Subject: [PATCH] fix: deploy script --- scripts/deploy.js | 19 ++++++++++++++++--- scripts/download-latest-asset.js | 20 +++++++++++++++++--- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/scripts/deploy.js b/scripts/deploy.js index f48abc23..fad33e91 100644 --- a/scripts/deploy.js +++ b/scripts/deploy.js @@ -6,15 +6,28 @@ const { repository } = require('../package.json') const argv = process.argv.slice(2) +function getOsBuildAssetName() { + const platform = process.platform + const kernelMap = { + darwin: 'macos', + linux: 'linux', + win32: 'windows', + } + const os = kernelMap[platform] + if (!os) { + throw new Error('No current platform build. Please build manually') + } + return `release-${os}-latest.zip` +} + async function main() { cd(path.resolve(homedir(), 'mx')) const res = await fetch( `https://api.github.com/repos/${repository.directory}/releases/latest`, ) const data = await res.json() - const downloadUrl = data.assets.find( - (asset) => - asset.name === 'release-ubuntu.zip' || asset.name === 'release.zip', + const downloadUrl = data.assets.find((asset) => + [getOsBuildAssetName(), 'release.zip'].includes(asset.name), )?.browser_download_url if (!downloadUrl) { diff --git a/scripts/download-latest-asset.js b/scripts/download-latest-asset.js index c2420e0f..2252bc0d 100644 --- a/scripts/download-latest-asset.js +++ b/scripts/download-latest-asset.js @@ -1,15 +1,29 @@ #!/usr/bin/env zx /* eslint-disable */ // @ts-check + +function getOsBuildAssetName() { + const platform = process.platform + const kernelMap = { + darwin: 'macos', + linux: 'linux', + win32: 'windows', + } + const os = kernelMap[platform] + if (!os) { + throw new Error('No current platform build. Please build manually') + } + return `release-${os}-latest.zip` +} + const PKG = require('../package.json') async function main() { const res = await fetch( `https://api.github.com/repos/${PKG.repository.directory}/releases/latest`, ) const data = await res.json() - const downloadUrl = data.assets.find( - (asset) => - asset.name === 'release-ubuntu.zip' || asset.name === 'release.zip', + const downloadUrl = data.assets.find((asset) => + [getOsBuildAssetName(), 'release.zip'].includes(asset.name), )?.browser_download_url if (!downloadUrl) { throw new Error('no download url found')