diff --git a/packages/cli/src/commands/init/init.js b/packages/cli/src/commands/init/init.js index 6957d75596..284c789155 100644 --- a/packages/cli/src/commands/init/init.js +++ b/packages/cli/src/commands/init/init.js @@ -87,13 +87,11 @@ function adjustNameIfUrl(name, cwd) { async function createFromTemplate({ projectName, templateName, - version, npm, directory, }: { projectName: string, templateName: string, - version?: string, npm?: boolean, directory: string, }) { @@ -108,17 +106,9 @@ async function createFromTemplate({ path.join(os.tmpdir(), 'rncli-init-template-'), ); - if (version && semver.valid(version) && !semver.gte(version, '0.60.0-rc.0')) { - throw new Error( - 'Cannot use React Native CLI to initialize project with version lower than 0.60.0.', - ); - } - try { loader.start(); - let {uri, name} = await processTemplateName( - version ? `${templateName}@${version}` : templateName, - ); + let {uri, name} = await processTemplateName(templateName); await installTemplatePackage(uri, templateSourceDir, npm); @@ -181,14 +171,21 @@ async function createProject( version: string, options: Options, ) { - const templateName = options.template || 'react-native'; + const templateName = options.template || `react-native@${version}`; + + if ( + version !== 'latest' && + semver.valid(version) && + !semver.gte(version, '0.60.0-rc.0') + ) { + throw new Error( + 'Cannot use React Native CLI to initialize project with version lower than 0.60.0.', + ); + } return createFromTemplate({ projectName, templateName, - // version is "latest" by default, but it's easier for us to treat it as - // undefined when the "template" param is passed. Might refactor later - version: options.template ? undefined : version, npm: options.npm, directory, }); @@ -196,10 +193,10 @@ async function createProject( export default (async function initialize( [projectName]: Array, - _context: ConfigT, + context: ConfigT, options: Options, ) { - const rootFolder = process.cwd(); + const rootFolder = context.root; validateProjectName(projectName); diff --git a/packages/cli/src/tools/installPods.js b/packages/cli/src/tools/installPods.js index 49a217e4e4..44947238a2 100644 --- a/packages/cli/src/tools/installPods.js +++ b/packages/cli/src/tools/installPods.js @@ -1,5 +1,5 @@ // @flow -import fs from 'fs-extra'; +import fs from 'fs'; import execa from 'execa'; import chalk from 'chalk'; import Ora from 'ora'; @@ -17,13 +17,13 @@ async function installPods({ loader?: typeof Ora, }) { try { - if (!(await fs.pathExists('ios'))) { + if (!fs.existsSync('ios')) { return; } process.chdir('ios'); - const hasPods = await fs.pathExists('Podfile'); + const hasPods = fs.existsSync('Podfile'); if (!hasPods) { return;