react-native 버전을 0.65.1 --> 0.69.7로 변경하면서 기존에 문제 없던 부분에서 아래 에러가 발생함.
테스트 폰의 error 메시지를 보면 @babel/core 부분과 관련해서 발생한 에러임을 확인함.
babel/core 관련된 라이브러리를 업데이트하여 해결할 수 있을 것 같았으나, 전혀 상관이 없었다.
최종 해결 방법은 맨 아래 참조
Maximum call stack size exceeded 에러가 발생한 파일에서 원인을 찾았다.
해당 파일의 라이브러리 중 @react-native-community/async-storage 을 사용하고 있었는데 지원이 종료되었고, @react-native-async-storage/async-storage 로 변경되었다. 해당 라이브러리를 설치 후 사용하고 있는 모든 파일을 수정해 주었다.
* reference : https://www.npmjs.com/package/@react-native-community/async-storage
yarn add @react-native-async-storage/async-storage
* reference : https://react-native-async-storage.github.io/async-storage/docs/install/
+++++++
이후에 다시 동일한 에러가 발생했고, react-native 버전을 업그레이드 하니 해결되었다.
// before
...
"dependencies": {
"react": "17.0.2",
"react-native": "^0.68.5",
"metro-react-native-babel-preset": "^0.67.0",
"react-test-renderer": "17.0.2",
...
// after
...
"dependencies": {
"react": "18.0.0",
"react-native": "^0.69.7",
"metro-react-native-babel-preset": "^0.70.3",
"react-test-renderer": "18.0.0",
...
// react-native 0.68.5
yarn add react@17.0.2 react-native@^0.68.5 metro-react-native-babel-preset@^0.67.0 react-test-renderer@17.0.2
// react-native 0.69.7
yarn add react@18.0.0 react-native@^0.69.7 metro-react-native-babel-preset@^0.70.3 react-test-renderer@18.0.0
+++++++
이후에 다시 동일한 에러가 발생했고, 결구 babel 관련 에러가 맞았다.
위의 모든 방법은 틀렸고, 아래 라이브러리를 최신 버전으로 업데이트 해주면 해결 된다.
npm install --save-dev @babel/core @babel/plugin-proposal-decorators @babel/runtime
...
"dependencies": {
"@babel/core": "^7.20.5",
"@babel/plugin-proposal-decorators": "^7.20.5",
"@babel/runtime": "^7.20.6",
...