From abfe16c234b123dfa033bb23a9efaba6ff05dd67 Mon Sep 17 00:00:00 2001 From: zkochan Date: Tue, 28 Feb 2017 00:09:46 +0200 Subject: [PATCH] refactor: normalize tarballs extension in local registry --- src/install/fetchResolution.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/install/fetchResolution.ts b/src/install/fetchResolution.ts index af4b6d082b..5311d22394 100644 --- a/src/install/fetchResolution.ts +++ b/src/install/fetchResolution.ts @@ -141,7 +141,18 @@ function getLocalTarballPath (tarballUrl: string, localRegistry: string) { return path.join(localRegistry, 'codeload.github.com', repo.owner, repo.name, `${repo.name}-${repo.commit}.tgz`) } - return path.join(localRegistry, tarballUrl.replace(/^.*:\/\/(git@)?/, '')) + return path.join(localRegistry, + normalizeTarballExtension(tarballUrl.replace(/^.*:\/\/(git@)?/, ''))) +} + +function normalizeTarballExtension (tarballUrl: string) { + if (tarballUrl.endsWith('.tar.gz')) { + return `${tarballUrl.slice(0, -7)}.tgz` + } + if (tarballUrl.endsWith('.tgz')) { + return tarballUrl + } + return `${tarballUrl}.tgz` } function unscope (pkgName: string) {