Nx monorepo for cross-platform experiments with shared UI components.
@notes/components(libs/components)- Shared Tamagui-based component library.
@notes/aws-amplify-cognito(apps/aws-amplify-cognito)- React Native app using AWS Amplify Cognito and
@notes/components.
- React Native app using AWS Amplify Cognito and
@notes/aws-amplify-cognito-web(apps/aws-amplify-cognito-web)- Web app using the same auth flow and shared components.
@notes/docs(apps/docs)- Web Storybook/docs app for component documentation.
@notes/docs-mobile(apps/docs-mobile)- React Native docs/demo app.
@notes/aws-amplify-cognito-e2e(apps/aws-amplify-cognito-e2e)- Detox E2E test project for the React Native Cognito app.
npm install
npx nx show projectsRun a web app in dev mode:
npx nx dev @notes/aws-amplify-cognito-webRun Storybook/docs:
npx nx storybook @notes/docsRun React Native Metro bundler only:
npx nx start @notes/aws-amplify-cognitoRun React Native app on iOS only:
npx nx run-ios @notes/aws-amplify-cognitoRun React Native app on Android only:
npx nx run-android @notes/aws-amplify-cognitoRun docs mobile app (React Native):
# install/update iOS pods (first run, and after native dependency changes)
npx nx pod-install @notes/docs-mobile
# Metro bundler
npx nx start @notes/docs-mobile
# iOS app
npx nx run-ios @notes/docs-mobile
# Android app
npx nx run-android @notes/docs-mobileRun checks:
npx nx lint @notes/components
npx nx test @notes/components
npx nx typecheck @notes/componentsRun Detox E2E (AWS Amplify Cognito app):
# iOS debug (requires Metro running)
npx react-native start --config apps/aws-amplify-cognito/metro.config.js --port 8081
npx nx run @notes/aws-amplify-cognito-e2e:test-ios --reuse
# iOS release (no Metro required)
npx nx run @notes/aws-amplify-cognito-e2e:test-ios --configuration=production
# Android debug (requires Metro on 8081)
npx react-native start --config apps/aws-amplify-cognito/metro.config.js --port 8081
npx nx run @notes/aws-amplify-cognito-e2e:test-android
# Android release (no Metro required)
npx nx run @notes/aws-amplify-cognito-e2e:test-android --configuration=productionDetox setup notes:
- AppDelegate was updated to expose
reactNativeFactory/rootViewFactoryfor Detox React Native reload compatibility. - Registration screen uses stable
testIDvalues used by Detox assertions. - If you see
No script URL providedin iOS debug tests, start Metro before running Detox. - Android app includes Detox instrumentation wiring (
AndroidJUnitRunner,DetoxTest, and Android test dependencies). - Android debug Detox config forwards Metro with
reversePorts: [8081]. - Android release uses
apps/aws-amplify-cognito/android/app/src/release/AndroidManifest.xmlwithusesCleartextTraffic=trueso Detox can connect overws://localhost:<port>duringtest-android --configuration=production.