react-nativeで依存パッケージにパッチを当てたい
react-nativeのバージョンあげたら古いキーワードがエラーになるようになった
compile
が使えないみたい
node_modulesから確認
node_modules/react-native-gps-state/android/build.gradle
確かに・・・ でもnode_modulesを修正したら再取り込みごとに修正しないといけないからメンドイ
パッチを作成して修正する
試す
パッチ適用準備
パッケージインストール
yarn add --dev patch-package postinstall-postinstall
※npmでもあるみたいだが、react-nativeでは基本、yarnを使いたいのでyarnのみ記載
package.json追加
"scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", "test": "jest", "lint": "eslint . --ext .js,.jsx,.ts,.tsx", "postinstall": "patch-package" },
node_moduleのコードを修正
一部のみ抜粋
node_modules/react-native-gps-state配下
/android/build.gradle
dependencies { //compile "com.facebook.react:react-native:+" // From node_modules //compile 'com.android.support:appcompat-v7:26.1.0' implementation "com.facebook.react:react-native:+" // From node_modules implementation 'com.android.support:appcompat-v7:26.1.0'
/android/src/main/java/br/com/dopaminamob/gpsstate/GPSStateModule.java
//import android.support.v4.app.ActivityCompat; import androidx.core.app.ActivityCompat;
以下のコマンドでパッチファイルを作成
yarn patch-package react-native-gps-state
※yarn patch-package [パッケージ名]
↓
あとはyarnしたらnode_modules配下にパッチの変更が割り当てられるみたい
今後はandroidとかはバージョン対応を迅速に求められそうになっているので できるだけこういった問題解決できるようになっておきたい
今回はここまで