モバイルに注意
貢献者は、コードのリファクタリング中に影響を受けるネイティブモバイルファイルを更新することを確認する必要があります。なぜなら、現時点では自動化ツールに頼ることができないからです。たとえば、関数やプロパティの名前を変更する場合、ネイティブモジュールでも同様の変更を行う必要があります。そうしないと、モバイルクライアントが壊れてしまいます。PRにはいくつかのモバイル特有のCIテストを安全策として追加しましたが、まだ完了には程遠いです。ご理解いただき、事前に感謝いたします。
ネイティブモバイル特有のファイル
ネイティブモバイルと共有されるコードの大部分は、同じJavaScriptモジュールおよびSASSスタイルファイルにあります。コードパスが分岐する必要がある場合、.native.js
または.native.scss
のバリアントファイルが作成されます。場合によっては、Android(.android.js
)やiOS(.ios.js
)用のプラットフォーム特有のファイルも見つかることがあります。
AndroidおよびiOSでのGutenberg Mobileの実行
Gutenberg Mobile Demo AppをAndroidまたはiOSで実行する方法についての指示は、React NativeベースのMobile Gutenbergの始め方を参照してください。
また、モバイルクライアントは公式WordPressアプリを通じてパッケージ化され、リリースされます。ビルドパイプラインはモバイルデモアプリとは若干異なり、現在は独自のリポジトリに存在します(こちらがネイティブモバイルリポジトリです)。ソースコード自体はこのリポジトリと「ウェブ」側のコードパスから直接取得されています。
継続的インテグレーションにおけるネイティブモバイルE2Eテスト
プルリクエストでAndroid/iOSテストが失敗した場合、以下の手順をお勧めします:
- 1. 失敗したGitHub Actionジョブを再実行する(再実行のガイド) – これにより、ほとんどの場合、失敗したテストが修正されます。
- 2. E2Eテストドキュメントからの手順に従って、ローカルでテストが失敗しているかどうかを確認できます。
- 3. E2Eテストのログを読むことに加えて、GitHubジョブのArtifactsセクションからビデオ録画をダウンロードすることができ、追加の有用な情報が得られるかもしれません。
- 4. PRの変更が
.native.js
バージョンのファイルに対応する変更を必要とするかどうかを確認してください。 - 5. 最後に、失敗したモバイルテストで行き詰まった場合は、WordPress Core Slackの#mobileまたは#core-editorチャットで貢献者に気軽に連絡してください。参加は無料です。
ネイティブモバイルユニットテストのデバッグ
必要に応じて、ネイティブモバイルテストの指示に従って、ローカルでネイティブモバイルユニットテストをデバッグしてください。
国際化 (i18n)
このトピックに関する詳細情報は、React Native国際化ガイドで見つけることができます。