From c5f5b006d83316b3c016adc41b95c28912ecdda8 Mon Sep 17 00:00:00 2001 From: Jih-Chi Lee <jihchi@users.noreply.github.com> Date: Wed, 12 Oct 2016 20:46:14 +0800 Subject: [PATCH] Fix using pre-release tags with a tarball url in `--scripts-version` (#876) * Add supports for prelease tags version * Add comment to regex * Cut everything after the first -\d * Make semver version optional, so just package name get parsed correctly --- packages/create-react-app/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 1ea4f108c..d6478a135 100644 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -153,7 +153,9 @@ function getInstallPackage(version) { // Extract package name from tarball url or path. function getPackageName(installPackage) { if (installPackage.indexOf('.tgz') > -1) { - return installPackage.match(/^.+\/(.+)-.+\.tgz$/)[1]; + // The package name could be with or without semver version, e.g. react-scripts-0.2.0-alpha.1.tgz + // However, this function returns package name only wihout semver version. + return installPackage.match(/^.+\/(.+?)(?:-\d+.+)?\.tgz$/)[1]; } else if (installPackage.indexOf('@') > 0) { // Do not match @scope/ when stripping off @version or @tag return installPackage.charAt(0) + installPackage.substr(1).split('@')[0]; -- GitLab