create-react-native-mono-template
Version:
React native mono template init
51 lines (47 loc) • 1.4 kB
JavaScript
const { exec } = require("child_process");
const { consola } = require("consola");
const execShellCommand = (cmd) => {
return new Promise((resolve, reject) => {
exec(cmd, (error, stdout, stderr) => {
if (error) {
console.warn(error);
reject(error);
}
resolve(stdout ? stdout : stderr);
});
});
};
const runCommand = async (
command,
{ loading = "loading ....", success = "success", error = "error" }
) => {
consola.start(loading);
try {
await execShellCommand(command);
consola.success(success);
} catch (err) {
consola.error(`Failed to execute ${command}`, err);
process.exit(1);
}
};
// show more details message using chalk
const showMoreDetails = (projectName) => {
consola.box(
"Your project is ready to go! \n\n\n",
"🚀 To get started, run the following commands: \n\n",
` \`cd ${projectName}\` \n`,
` Add google-services.json (for Android) and GoogleService-Info.plist (for iOS) to root folder \n`,
` \`yarn prebuild\` \n`,
` \`yarn generate-images\` \n`,
` Now, you can launch the application by \n`,
" IOS : `yarn ios` \n",
" Android : `yarn android` \n\n",
"📚 Starter Documentation: https://vincenttran99.github.io/react-native-mono-template/"
);
};
module.exports = {
runCommand,
showMoreDetails,
execShellCommand,
};