This project was initialized with kao-expo-typescript-boilerplate which includes:
prettier
- Code Formatter that configured by.prettierrc
fileeslint
- linter integrated with prettier config- vscode shareable settings file -
.vscode/settings.json
jest
&jest-expo
configurations for typescripthusky
- Git Hooks withjest
test as pre-commit hook andgit-cz
for preparing commit messagedontenv
&expo-constants
for environment variable usage- example file of
.env
- react navigation libraries:
@react-navigation/native
and@react-navigation/native-stack
In the project directory, run:
Runs expo start
command. For emulator, run with --ios
or --android
Runs jest test, use command yarn test:update
or yarn test --update
to update snapshot,
yarn test
has been set as one of git hook command pre-commit
Runs husky install
command to install new / updated Git Hooks in folder .husky/*
Runs linter checking, yarn lint --fix
has been set as one of git hook command pre-commit
├── src # src folder
├── @types # definitions type folder
├── navigations # navigations definitions type folder
├── root.d.ts # every navigations should have a StackParamList & StacProps type
├── app # app folder / index folder
├── App.tsx # whole app root
├── index.ts # main file / App.tsx expo register
├── assets # assets folder
├── components # global components folder
├── __tests__ # global components tests folder
├── contexts # global contexts folder
├── hooks # global hooks folder
├── navigations # navigations folder
├── root.ts # navigations root file
├── screens # screens folder
├── __tests__ # screens tests folder
├── HomeScreen # example of a screen folder
├── services # services top folder
├── apis # service api folder
├── constants # services constants folder
├── extra.ts # services constants from extra in app.config.ts
├── screen.ts # services constants of all screen names
├── utils # services utils folder
├── __tests__ # services utils tests folder
├── styles # global styles folder