UNPKG

create-react-native-library

Version:
91 lines (85 loc) 3.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.printErrorHelp = printErrorHelp; exports.printNextSteps = printNextSteps; exports.printUsedRNVersion = printUsedRNVersion; var _path = _interopRequireDefault(require("path")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _dedent = _interopRequireDefault(require("dedent")); var _kleur = _interopRequireDefault(require("kleur")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function printNextSteps(local, folder, config) { if (local) { let linked; const packageManager = (await _fsExtra.default.pathExists(_path.default.join(process.cwd(), 'yarn.lock'))) ? 'yarn' : 'npm'; const packageJsonPath = _path.default.join(process.cwd(), 'package.json'); if (await _fsExtra.default.pathExists(packageJsonPath)) { const packageJson = await _fsExtra.default.readJSON(packageJsonPath); const isReactNativeProject = Boolean(packageJson.dependencies?.['react-native']); if (isReactNativeProject) { packageJson.dependencies = packageJson.dependencies || {}; packageJson.dependencies[config.project.slug] = packageManager === 'yarn' ? `link:./${_path.default.relative(process.cwd(), folder)}` : `file:./${_path.default.relative(process.cwd(), folder)}`; await _fsExtra.default.writeJSON(packageJsonPath, packageJson, { spaces: 2 }); linked = true; } } console.log((0, _dedent.default)(` ${_kleur.default.magenta(`${_kleur.default.bold('Get started')} with the project`)}${_kleur.default.gray(':')} ${(linked ? `- Run ${_kleur.default.blue(`${packageManager} install`)} to link the library\n` : `- Link the library at ${_kleur.default.blue(_path.default.relative(process.cwd(), folder))} based on your project setup\n`) + `- Run ${_kleur.default.blue('pod install --project-directory=ios')} to install dependencies with CocoaPods\n` + `- Run ${_kleur.default.blue('npx react-native run-android')} or ${_kleur.default.blue('npx react-native run-ios')} to build and run the app\n` + `- Import from ${_kleur.default.blue(config.project.slug)} and use it in your app.`} ${_kleur.default.yellow(`Good luck!`)} `)); } else { const platforms = { ios: { name: 'iOS', color: 'cyan' }, android: { name: 'Android', color: 'green' }, ...(config.example === 'expo' ? { web: { name: 'Web', color: 'blue' } } : null) }; console.log((0, _dedent.default)(` ${_kleur.default.magenta(`${_kleur.default.bold('Get started')} with the project`)}${_kleur.default.gray(':')} ${_kleur.default.gray('$')} yarn ${Object.entries(platforms).map(([script, { name, color }]) => ` ${_kleur.default[color](`Run the example app on ${_kleur.default.bold(name)}`)}${_kleur.default.gray(':')} ${_kleur.default.gray('$')} yarn example ${script}`).join('\n')} ${_kleur.default.yellow(`See ${_kleur.default.bold('CONTRIBUTING.md')} for more details. Good luck!`)} `)); } } function printErrorHelp(message, error) { console.log('\n'); if (error) { console.log(_kleur.default.red(error.message)); throw error; } if (message) { console.log(_kleur.default.red(message)); } else { console.log(_kleur.default.red(`An unknown error occurred. See '--help' for usage guide.`)); } process.exit(1); } function printUsedRNVersion(version, config) { if (config.example === 'vanilla') { console.log(`${_kleur.default.blue('ℹ')} Using ${_kleur.default.cyan(`react-native@${version}`)} for the example`); } else { console.warn(`${_kleur.default.yellow('⚠')} Ignoring --react-native-version for unsupported example type: ${_kleur.default.cyan(config.example)}`); } } //# sourceMappingURL=inform.js.map