package.json
설정
"scripts": {
"postinstall": "patch-package"
}
patch-package
및 postinstall-postinstall
설치
yarn add patch-package postinstall-postinstall
로컬의 /node_modules
경로의 RN 패키지 코드를 직접 수정
patch-package
를 이용하여 로컬의 변경 사항을 바탕으로 패치 파일 생성
// package-name 에 변경한 패키지 이름 넣기
yarn patch-package package-name
// 예시
yarn patch-package react-native
// 예시의 동작
yarn run v1.13.0
$ /conomi-app/node_modules/.bin/patch-package react-native
patch-package 6.2.0
• Creating temporary folder
• Installing react-native@0.59.10 with yarn
• Diffing your files with clean files
✔ Created file patches/react-native+0.59.10.patch
✨ Done in 16.73s.
생성된 패치 파일 내용 (/patches/react-native+0.59.10.patch
)
diff --git a/node_modules/react-native/React/Modules/RCTStatusBarManager.m b/node_modules/react-native/React/Modules/RCTStatusBarManager.m
index 5136b36..403a14e 100644
--- a/node_modules/react-native/React/Modules/RCTStatusBarManager.m
+++ b/node_modules/react-native/React/Modules/RCTStatusBarManager.m
@@ -14,12 +14,17 @@
#if !TARGET_OS_TV
@implementation RCTConvert (UIStatusBar)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunguarded-availability"
+
RCT_ENUM_CONVERTER(UIStatusBarStyle, (@{
@"default": @(UIStatusBarStyleDefault),
@"light-content": @(UIStatusBarStyleLightContent),
- @"dark-content": @(UIStatusBarStyleDefault),
+ @"dark-content": (@available(iOS 13.0, *)) ? @(UIStatusBarStyleDarkContent) : @(UIStatusBarStyleDefault),
}), UIStatusBarStyleDefault, integerValue);
+#pragma clang diagnostic pop
+
RCT_ENUM_CONVERTER(UIStatusBarAnimation, (@{
@"none": @(UIStatusBarAnimationNone),
@"fade": @(UIStatusBarAnimationFade),
이렇게 생성된 패치 파일을 Git 저장소의 버전 관리 대상으로 추가합니다.