Prepare for production build

- Downgrade react-native to 0.81.5 (matches Expo SDK 54)
- Downgrade react to 19.1.0 and related @react-native packages
- Disable New Architecture (react-native-nfc-manager untested)
- Add expo install/doctor exclusions for version-locked deps
- Configure babel to strip console.log/warn in production
- Add logger utility for development-only logging
- Add component and data module exports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
michael
2026-01-23 10:10:30 -08:00
parent 63d815c1c2
commit bb6a9bbc22
9 changed files with 1428 additions and 2455 deletions

View File

@@ -17,12 +17,12 @@
"dependencies": {
"@react-navigation/native": "^7.1.27",
"@react-navigation/native-stack": "^7.9.1",
"babel-preset-expo": "^54.0.9",
"expo": "^54.0.31",
"babel-preset-expo": "~54.0.10",
"expo": "~54.0.32",
"expo-dev-client": "^6.0.20",
"expo-status-bar": "^3.0.9",
"react": "19.2.0",
"react-native": "0.83.1",
"react": "19.1.0",
"react-native": "0.81.5",
"react-native-nfc-manager": "^3.17.2",
"react-native-paper": "^5.14.5",
"react-native-safe-area-context": "~5.6.0",
@@ -33,20 +33,40 @@
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native/babel-preset": "0.83.1",
"@react-native/eslint-config": "0.83.1",
"@react-native/babel-preset": "0.81.1",
"@react-native/eslint-config": "0.81.1",
"@types/jest": "^29.5.13",
"@types/react": "^19.2.0",
"@types/react": "~19.1.0",
"@types/react-native-vector-icons": "^6.4.18",
"@types/react-test-renderer": "^19.1.0",
"@types/react-test-renderer": "~19.1.0",
"babel-plugin-transform-remove-console": "^6.9.4",
"eslint": "^8.19.0",
"jest": "^29.6.3",
"prettier": "2.8.8",
"react-test-renderer": "19.2.0",
"react-test-renderer": "19.1.0",
"typescript": "^5.8.3"
},
"engines": {
"node": ">=20"
},
"expo": {
"install": {
"exclude": [
"react",
"react-native",
"@types/react",
"@react-native/babel-preset",
"@react-native/eslint-config",
"react-test-renderer"
]
},
"doctor": {
"reactNativeDirectoryCheck": {
"exclude": [
"react-native-nfc-manager",
"react-native-vector-icons"
]
}
}
}
}