react-native-scripts/src/scripts/start.js
// print a nicely formatted message with setup information
print a nicely formatted message with setup information
print a nicely formatted message with setup information
async function printServerInfo() {
  const settings = await ProjectSettings.readPackagerInfoAsync(process.cwd());
  const address = await UrlUtils.constructManifestUrlAsync(process.cwd());
  let emulatorHelp;
  if (process.platform === 'darwin') {
    emulatorHelp = `Press ${chalk.bold('a')} (Android) or ${chalk.bold('i')} (iOS) to start an emulator.`;
  } else {
    emulatorHelp = `Press ${chalk.bold('a')} to start an Android emulator.`;
  }
  qr.generate(address, qrCode => {
    log(
      `
${indent(qrCode, 2)}
Your app is now running at URL: ${chalk.underline(chalk.cyan(address))}
${chalk.bold('View your app with live reloading:')}
  ${chalk.underline('Android device:')}
    -> Point the Expo app to the QR code above.
       (You'll find the QR scanner on the Projects tab of the app.)
  ${chalk.underline('iOS device:')}
    -> Press ${chalk.bold('s')} to email/text the app URL to your phone.
  ${chalk.underline('Emulator:')}
    -> ${emulatorHelp}
Your phone will need to be on the same local network as this computer.
For links to install the Expo app, please visit ${chalk.underline(chalk.cyan('https://expo.io'))}.
Logs from serving your app will appear here. Press Ctrl+C at any time to stop.`
    );
    printUsage();
  });
}
async function printServerInfo ( ) { const settings = await ProjectSettings . readPackagerInfoAsync ( process . cwd ( ) ) ; const address = await UrlUtils . constructManifestUrlAsync ( process . cwd ( ) ) ; let emulatorHelp ; if ( process . platform === 'darwin' ) { emulatorHelp = ` ${ chalk . bold ( 'a' ) } ${ chalk . bold ( 'i' ) } ` ; } else { emulatorHelp = ` ${ chalk . bold ( 'a' ) } ` ; } qr . generate ( address , qrCode => { log ( ` ${ indent ( qrCode , 2 ) } ${ chalk . underline ( chalk . cyan ( address ) ) } ${ chalk . bold ( 'View your app with live reloading:' ) } ${ chalk . underline ( 'Android device:' ) } ${ chalk . underline ( 'iOS device:' ) } ${ chalk . bold ( 's' ) } ${ chalk . underline ( 'Emulator:' ) } ${ emulatorHelp } ${ chalk . underline ( chalk . cyan ( 'https://expo.io' ) ) } ` ) ; printUsage ( ) ; } ) ; }
print a nicely formatted message with setup information
print a nicely formatted message with setup information
// who knows why qrcode-terminal takes a callback instead of just returning a string