/rnx-cli

Primary LanguageTypeScriptMIT LicenseMIT

RNX-CLI - A CLI for React Native made by Xmartlabs team.

Description

In all these years that we are developing React Native apps we always have the problematic or the question of "Is it good to have a base project/boilerplate?"

We went to have something to have nothing to have some things but in all the cases we always find problems like
"This is hard to maintain"
"We lose a lot of time, its more easier to use an existing boilerplate"
"I dont like the configurations that comes with this"

And some much more..

In the last few years we are using react-native-typescript-template that is maintained by the community with good results. But we want to go to the next level and avoid to losing time adding some setup things and some configurations that are always the same.

Thats the reason we create this CLI, it takes the aforementioned template and adds all the setup things like linting, babel, github, assets config, etc and lets the project ready to start coding without losing a minute.

What it adds?

Base

  • Styling configuration, ESlint, Prettier, etc.
  • Babel & Typescript configuration to support absolute imports.
  • react-native-svg and svg-transformer configuration.
  • Assets import file.
  • Github configuration: pull-request template, git hooks.
  • By default, it will use React Native since they added first-class support for Typescript in version 0.71. If you want any older version, you can go with the --templateVersion option.

Extras

  • React Navigation: if you want it adds a minimal setup of the latest version of React Navigation, all the typing and a base screen.
  • Repository config and git hooks config, if you have you can pass the link of an empty repo and it does all for yourself

Quick start

Prerequisites:

  • For vanilla React Native, make sure you're set up for React Native by following the official documentation.
  • Expo, not supported.
# Get walked through the prompts for the different options to start your new app

npx @xmartlabs/rnx-cli i TodoApp
npx @xmartlabs/rnx-cli init TodoApp

For more info about the commands supported you can check here

How to test it locally

# Clone the repository, move to the folder, link it and run it

git clone git@github.com:xmartlabs/rnx-cli.git
cd rnx-cli/
yarn
yarn link
cd ..
rnx-cli init MyApp

Troubleshooting

  • Sometimes npx takes the cached version of the library. If that happens you can run npm cache clear --force to wipe out the cache and then try to run again the command. If the library ask you to install again then its ok.

License

MIT - see LICENSE