How to Initialize React Native Bare Workflow with Expo and TypeScript


Follow these steps to set up a React Native project with Expo's bare workflow and TypeScript support.
Step 1: Create the Project
Run the following command in your terminal from the directory where you want to initialize the project:
npx create-expo-app@latest your-app-name-here --template
Step 2: Select Template Options
The command will prompt you with the following options:
Need to install the following packages:
create-expo-app@3.5.1
Ok to proceed? (y) y
? Choose a template: › - Use arrow-keys. Return to submit.
Default
Blank
Blank (TypeScript)
Navigation (TypeScript)
❯ Blank (Bare)
blank app with the native code exposed (expo prebuild)
For the first prompt, type
y
For the template selection, navigate to and choose "Blank (Bare)"
Your project will be initialized with JavaScript after the dependencies are installed.
Step 3: Navigate and Configure TypeScript
Navigate to your newly created project directory:
cd your-app-name-here
Create a TypeScript configuration file:
touch tsconfig.json
Step 4: Start the Development Server
Run the project with the following command:
npm run start
Step 5: Install TypeScript Dependencies
The system will prompt you with a question like this:
> your-app-name@1.0.0 start
> expo start --dev-client
Could not find a shared URI scheme for the dev client between the local /ios and /android directories. App launches (QR code, interstitial, terminal keys) may not work as expected. You can configure a custom scheme using the --scheme option, or by running npx expo prebuild to regenerate the native directories with URI schemes.
Starting project at /path/to/your/project
Starting Metro Bundler
? It looks like you're trying to use TypeScript but don't have the required
dependencies installed. Would you like to install typescript@~5.8.3,
@types/react@~19.0.10? › (Y/n)
Type Y
to install the TypeScript dependencies.
Step 6: Configure TypeScript
Add the following configuration to your tsconfig.json
file:
{
"compilerOptions": {
"strict": true
},
"extends": "expo/tsconfig.base"
}
You can add any other compiler options you need for your project.
Step 7: Convert Files to TypeScript
Finally, rename all .js
files to .ts
and change App.js
to App.tsx
.
Your React Native bare workflow project with TypeScript is now ready for development!
Subscribe to my newsletter
Read articles from Suhas Khobragade directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Suhas Khobragade
Suhas Khobragade
Frontend Developer, Tech Enthusiast.