iOS-and-Android-only Expo starter for Platform Blocks — no web configuration, for teams shipping mobile apps exclusively. Expo Router tabs, a persisted light/dark/auto theme switcher, Jest, and ESLint.
Click Use this template on GitHub to create your own repository from it, or scaffold directly:
npx create-expo-app@latest my-app --template https://github.com/platform-blocks/native-templatenpm install
npx expo startPress i for iOS simulator or a for Android emulator.
@platform-blocks/uiwith all required peer dependencies installed- Expo Router file-based navigation with a two-tab layout (
app/(tabs)) - Persisted dark mode — a light/dark/auto switcher on the Settings tab, saved with AsyncStorage and restored on launch
- Jest via
jest-expowith an example component test in__tests__/ - ESLint (
eslint-config-expo) and TypeScript in strict mode - EAS build profiles stubbed in
eas.json
| Script | What it does |
|---|---|
npm start |
Start the Expo dev server |
npm test |
Run the Jest test suite |
npm run lint |
Lint with ESLint |
npm run typecheck |
Type-check with tsc --noEmit |
- Getting started — installation, provider, first component
- Components — every component with live demos
- expo-template — the same starter with web support included
MIT