From dfdf30b5207006394cf2374a82d813935a58f7d5 Mon Sep 17 00:00:00 2001 From: Bentaimia Haddadi Date: Fri, 5 Jul 2019 15:40:39 +0200 Subject: [PATCH] fix: Support template tag and version --- packages/cli/src/commands/init/templateName.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/cli/src/commands/init/templateName.js b/packages/cli/src/commands/init/templateName.js index d2b8b7e98..be71e5dad 100644 --- a/packages/cli/src/commands/init/templateName.js +++ b/packages/cli/src/commands/init/templateName.js @@ -76,10 +76,20 @@ async function tryTemplateShorthand(templateName: string) { return templateName; } try { - const reactNativeTemplatePackage = `react-native-template-${templateName}`; - const response = await fetch( - `https://registry.yarnpkg.com/${reactNativeTemplatePackage}/latest`, - ); + const nameTagArray = templateName.split('@'); + const name = nameTagArray[0]; + const tag = nameTagArray[1]; + const reactNativeTemplatePackage = `react-native-template-${name}`; + var response; + if (tag) { + response = await fetch( + `https://registry.yarnpkg.com/${reactNativeTemplatePackage}/${tag}`, + ); + } else { + response = await fetch( + `https://registry.yarnpkg.com/${reactNativeTemplatePackage}/latest`, + ); + } if (JSON.parse(response).name) { return reactNativeTemplatePackage;