A React Native mobile application built with Expo, TypeScript, and NativeWind.
Before you begin, ensure you have the following installed:
- Node.js (LTS version recommended)
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio (for Android development)
- cross-env for setting environment variables across platforms
- Clone the repository:
git clone <https://github.com/petrbui/expo-nativwind>
cd my-expo-app- Install dependencies:
yarn installyarn start- Starts the Expo development serveryarn ios- Starts the app in iOS simulatoryarn android- Starts the app in Android emulatoryarn web- Starts the app in web browseryarn prebuild- Generates native code for iOS and Androidyarn lint- Runs ESLint and Prettier checksyarn format- Fixes ESLint and Prettier issues automatically
yarn eas:build:localdev:android- Local development build for Androidyarn eas:build:localdev:ios- Local development build for iOS
yarn eas:build:dev:android- Build Android development versionyarn eas:build:dev:ios- Build iOS development versionyarn eas:build:dev:android:local- Local Android development buildyarn eas:build:dev:ios:local- Local iOS development buildyarn eas:build:dev:simulator:android- Build for Android simulatoryarn eas:build:dev:simulator:ios- Build for iOS simulatoryarn eas:submit:dev:android- Submit Android development buildyarn eas:submit:dev:ios- Submit iOS development buildyarn eas:update:dev:android- Update development channel on Androidyarn eas:update:dev:ios- Update development channel on iOS
yarn eas:build:staging:android- Build Android staging versionyarn eas:build:staging:ios- Build iOS staging versionyarn eas:build:staging:android:local- Local Android staging buildyarn eas:build:staging:ios:local- Local iOS staging buildyarn eas:submit:staging:android- Submit Android staging buildyarn eas:submit:staging:ios- Submit iOS staging buildyarn eas:update:staging:android- Update staging channel on Androidyarn eas:update:staging:ios- Update staging channel on iOS
yarn eas:build:prod:android- Build Android production versionyarn eas:build:prod:ios- Build iOS production versionyarn eas:build:prod:android:local- Local Android production buildyarn eas:build:prod:ios:local- Local iOS production buildyarn eas:submit:prod:android- Submit Android production buildyarn eas:submit:prod:ios- Submit iOS production buildyarn eas:update:prod:android- Update production channel on Androidyarn eas:update:prod:ios- Update production channel on iOS
yarn update:development- Update development channel
- React Native (0.76.7)
- Expo (52.0.37)
- TypeScript
- NativeWind (Tailwind CSS for React Native)
- Expo Router (for navigation)
- React Native Reanimated (for animations)
The project uses Expo Router for navigation. The main entry point is defined in expo-router/entry.
This project uses:
- ESLint with
eslint-config-universeconfiguration - Prettier for code formatting
- TypeScript for type checking
To maintain code quality:
- Run
yarn lintto check for issues - Run
yarn formatto automatically fix formatting issues
The project uses NativeWind (Tailwind CSS) for styling. Configure styles in the tailwind.config.js file.
- expo: ^52.0.37
- react: 18.3.1
- react-native: 0.76.7
- nativewind: latest
- expo-router: ~4.0.17
- react-native-reanimated: 3.16.2
- react-native-safe-area-context: 4.12.0
- react-native-screens: ~4.4.0
- expo-linking: ~7.0.5
- expo-constants: ~17.0.7
- TypeScript: ~5.3.3
- ESLint: ^8.57.0
- Prettier: ^3.2.5
- Tailwind CSS: ^3.4.0
- cross-env: latest
This project is private and not intended for public distribution.