expo-template-suite-senior v1.0.7
Expo Template Suite Senior
Expo Template Suite Senior is a robust and streamlined template designed to accelerate the development of React Native applications using Expo. It integrates TypeScript for static typing, ESLint for linting, Prettier for code formatting, Jest for testing, and Husky for Git hooks, ensuring a professional and efficient development workflow.
Features
- TypeScript Integration: Provides static typing to enhance code quality and maintainability.
- ESLint Configuration: Enforces consistent code style and identifies potential issues.
- Prettier Setup: Automatically formats code to maintain a uniform style.
- Jest Testing Framework: Facilitates unit testing to ensure code reliability.
- Husky Git Hooks: Implements pre-commit hooks to run linting and formatting checks before code is committed.
Installation
To create a new project using this template, run:
npx create-expo-app --template expo-template-suite-senior my-app
Replace my-app
with your desired project name.
Usage
Navigate to your project directory and utilize the following scripts:
- Start the development server:
yarn start
- Launch on Android:
yarn android
- Launch on iOS:
yarn ios
- Launch on Web:
yarn web
- Eject from Expo:
yarn eject
- Run ESLint:
yarn lint
- Fix ESLint issues:
yarn lint:fix
- Type-check with TypeScript:
yarn type-check
- Format code with Prettier:
yarn format
- Run tests with Jest:
yarn test
- Run tests in watch mode:
yarn test:watch
- Continuous integration script (runs linting, type-checking, and tests):
yarn ci
- Prepare Husky Git hooks:
yarn prepare
Project Structure
The project follows a modular structure for scalability and maintainability:
src/components
: Contains reusable UI components.src/screens
: Contains screen components corresponding to app routes.src/navigation
: Configures navigation using React Navigation.src/theme
: Defines theming and styling, including light and dark modes.src/utils
: Contains utility functions and helpers.
Testing
This template uses Jest for testing. To run tests, execute:
yarn test
For watch mode:
yarn test:watch
Linting and Formatting
ESLint and Prettier are configured to maintain code quality and consistency. To lint your code, run:
yarn lint
To automatically fix linting issues:
yarn lint:fix
To format your code with Prettier:
yarn format
Git Hooks
Husky is set up to run pre-commit hooks, ensuring that linting and formatting checks are performed before code is committed. To install Husky hooks, run:
yarn prepare
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the GPL-3.0-only License. See the LICENSE file for details.
Note: This template is designed to provide a solid foundation for React Native projects using Expo, with a focus on code quality and developer productivity.
⚠️ Peer dependency warning
If you see dependency conflicts when installing, run:
npm install --legacy-peer-deps
or use:
yarn install --check-files