Jest
Unit and component testing for Expo apps with the jest-expo preset and React Native Testing Library.
What create-faster adds
The jest-expo preset wired up with React Native Testing Library and the Babel transform Expo's Metro config does not ship for tests.
Files added:
jest.config.js # jest-expo preset
babel.config.js # babel-preset-expo (required by the jest transform)
tests/
└── unit/
└── example.test.tsx # Sample component testjest.config.js
module.exports = {
preset: 'jest-expo',
};babel.config.js
The Expo stack relies on Metro's built-in transform and ships no babel.config.js. Jest needs one to transform JSX and TypeScript:
module.exports = (api) => {
api.cache(true);
return {
presets: ['babel-preset-expo'],
};
};Scripts:
test- Run the suite (jest)test:watch- Watch mode (jest --watch)
The Expo tsconfig.json already includes **/*.tsx, so test files under tests/ are type-checked without changes.
Playwright
End-to-end testing for web stacks with an app-scoped config that resolves its base URL from the environment.
Multitenant SaaS
B2B SaaS dashboard with organizations, custom RBAC, and link-based invitations. Ships as a turborepo with a Next.js web app, a Node batch worker, and shared packages.

