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.
Base
- Styling configuration, ESlint, Prettier, etc.
- Babel & Typescript configuration to support absolute imports.
react-native-svg
andsvg-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
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
# Clone the repository, move to the folder, link it and run it
git clone [email protected]:xmartlabs/rnx-cli.git
cd rnx-cli/
yarn
yarn link
cd ..
rnx-cli init MyApp
- 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.
MIT - see LICENSE