mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 04:13:13 +00:00
* Add iOS native project for React Native mobile app Xcode project with bundle ID com.seahavenind.proposals, CocoaPods configuration, and app scaffolding. * Add Fastlane configuration for iOS builds and TestFlight distribution Configures match with S3 storage (seahaven-ios-certificates bucket) for code signing and a beta lane for automated TestFlight uploads. * Add mobile CI job and iOS CD workflow (disabled) CI: adds mobile typecheck job on PRs. CD: deploy-mobile.yaml builds and uploads to TestFlight via Fastlane on a macOS runner with OIDC auth for match S3 access. Currently workflow_dispatch only — activate for V1 release. * Refactor workflows to thin wrappers calling org reusable workflows CI jobs now call ci-dotnet, ci-typescript-cdk, and ci-python-sam from the org repo. Deploy calls cd-cdk with post-deploy script for web build/S3/CloudFront. Mobile deploy calls cd-mobile-ios. Adds deploy concurrency groups to both deploy workflows. * Add mobile Dependabot entries and remove assignees Add npm and bundler ecosystems for mobile/. Remove assignees from all entries — convention no longer in use. * Add comprehensive README for the proposal-system monorepo * Fix mobile TypeScript errors and add package-lock.json Fix tsconfig.json (remove rootDir/outDir, add noEmit), fix useRef type error, fix navigation type cast, add @types/react-native-vector-icons, and generate package-lock.json for CI. * Add .npmrc for mobile to resolve peer dependency conflicts react-native-screens@4.x requires react-native >= 0.82 but the project uses 0.79. legacy-peer-deps allows installation until the next React Native upgrade.
42 lines
1.4 KiB
JSON
42 lines
1.4 KiB
JSON
{
|
|
"name": "proposal-system-mobile",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"start": "react-native start",
|
|
"ios": "react-native run-ios",
|
|
"android": "react-native run-android",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@proposal-system/api-contracts": "file:../shared/api-contracts",
|
|
"@react-native-async-storage/async-storage": "^2.1.0",
|
|
"@react-native-community/netinfo": "^11.4.0",
|
|
"@react-navigation/bottom-tabs": "^7.2.0",
|
|
"@react-navigation/native": "^7.0.0",
|
|
"@react-navigation/native-stack": "^7.2.0",
|
|
"@reduxjs/toolkit": "^2.11.2",
|
|
"@tanstack/react-query": "^5.100.10",
|
|
"axios": "^1.16.0",
|
|
"react": "^19.0.0",
|
|
"react-native": "^0.79.0",
|
|
"react-native-app-auth": "^8.0.0",
|
|
"react-native-document-picker": "^9.3.0",
|
|
"react-native-haptic-feedback": "^2.3.0",
|
|
"react-native-image-picker": "^7.2.0",
|
|
"react-native-keychain": "^9.2.0",
|
|
"react-native-paper": "^5.13.0",
|
|
"react-native-safe-area-context": "^5.0.0",
|
|
"react-native-screens": "^4.5.0",
|
|
"react-native-share": "^11.0.0",
|
|
"react-native-vector-icons": "^10.2.0",
|
|
"react-redux": "^9.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@react-native/babel-preset": "^0.79.0",
|
|
"@react-native/metro-config": "^0.79.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-native-vector-icons": "^6.4.18",
|
|
"typescript": "~5.7.0"
|
|
}
|
|
}
|