NodeJs: 🔗 https://nodejs.org/en/
Expo: 🔗 https://docs.expo.dev/
- Jest + React Native Testing Library for automated testing. 🔗 https://jestjs.io/ + https://callstack.github.io/react-native-testing-library/.
- Eslint + Prettier for code standardization and formatting. 🔗 https://eslint.org/ + https://prettier.io/.
- Typescript for typing. 🔗 https://www.typescriptlang.org/
- Nativewind for styling components. 🔗 https://www.nativewind.dev/getting-started/expo-router.
- HuskyJs for automatically lint your commit messages, code, and run tests upon committing or pushing. 🔗 https://typicode.github.io/husky/
"baseUrl": "./app"
"paths": {
"@app/*": ["./app/*"],
"@components/*": ["components/*"],
"@constants/*": ["constants/*"],
"@utils/*": ["utils/*"],
"@hooks/*": ["hooks/*"],
"@assets/*": ["assets/*"],
"@services/*": ["services/*"],
"@context/*": ["context/*"]
}
- Clone this repo
git clone https://github.com/Aleydon/React-Native-Template.git
- Install NPM packages
npm install or yarn
- Run this project
npm run start or yarn start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
- How to run tests:
npm run test or npm run test:watch
It has an example of tests with Jest + React-Native-Testing-Library in app/tests/example.spec.tsx
import { render } from '@testing-library/react-native';
import App from '..';
const sum = (a: number, b: number) => a + b;
describe('Test example', () => {
it('sum correctly', () => {
expect(sum(1, 2)).toBe(3);
});
it('should render App', () => {
render(<App />);
});
});