From 1e0686b2ccbf8aff94a7389da00b063eefa82def Mon Sep 17 00:00:00 2001 From: xHyroM Date: Thu, 28 Jul 2022 09:18:51 +0200 Subject: [PATCH] fix: extract two times for custom urls --- dist/utils/install.js | 10 +++++++--- src/utils/install.ts | 11 ++++++++--- test.rest | 2 ++ 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 test.rest diff --git a/dist/utils/install.js b/dist/utils/install.js index 6bc07c0..99ad2b7 100644 --- a/dist/utils/install.js +++ b/dist/utils/install.js @@ -4,7 +4,6 @@ import { addPath, info } from '@actions/core'; import getAsset from './getAsset.js'; import { join } from 'path'; import { homedir } from 'os'; -import { readdirSync } from 'fs'; export default async (release, token, customUrl) => { const asset = getAsset(release.assets); const path = join(homedir(), '.bun', 'bin', asset.name); @@ -18,8 +17,13 @@ export default async (release, token, customUrl) => { const zipPath = await downloadTool(asset.asset.browser_download_url, null, new URL(asset.asset.browser_download_url).host.includes('github.com') ? `token ${token}` : '', { 'Authorization': new URL(asset.asset.browser_download_url).host.includes('github.com') ? `token ${token}` : '' }); - const extracted = await extractZip(zipPath, join(homedir(), '.bun', 'bin')); - console.log(readdirSync(join(homedir(), '.bun', 'bin'))); + let extracted; + if (customUrl) { + extracted = await extractZip(zipPath, join(homedir(), 'onlyforunzip')); + extracted = await extractZip(join(homedir(), 'onlyforunzip', asset.asset.name), join(homedir(), '.bun', 'bin')); + } + else + extracted = await extractZip(zipPath, join(homedir(), '.bun', 'bin')); const newCache = await cacheDir(extracted, 'bun', release.version); if (!customUrl) { await saveCache([ diff --git a/src/utils/install.ts b/src/utils/install.ts index 57f8a84..e172df9 100644 --- a/src/utils/install.ts +++ b/src/utils/install.ts @@ -27,14 +27,19 @@ export default async(release: Release, token: string, customUrl: boolean) => { 'Authorization': new URL(asset.asset.browser_download_url).host.includes('github.com') ? `token ${token}` : '' } ); - const extracted = await extractZip(zipPath, join(homedir(), '.bun', 'bin')); - console.log(readdirSync(join(homedir(), '.bun', 'bin'))); + + let extracted; + if (customUrl) { + extracted = await extractZip(zipPath, join(homedir(), 'onlyforunzip')); + extracted = await extractZip(join(homedir(), 'onlyforunzip', asset.asset.name), join(homedir(), '.bun', 'bin')); + } else extracted = await extractZip(zipPath, join(homedir(), '.bun', 'bin')); + const newCache = await cacheDir( extracted, 'bun', release.version ); - + if (!customUrl) { await saveCache([ join(extracted, asset.name) diff --git a/test.rest b/test.rest new file mode 100644 index 0000000..c65496e --- /dev/null +++ b/test.rest @@ -0,0 +1,2 @@ +GET https://api.github.com/repos/oven-sh/bun/releases/latest +Authorization: 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 \ No newline at end of file