>100 Views
February 12, 26
スライド概要
https://react-native-meetup.connpass.com/event/381413/
プロテインの摂取を頑張る
Probably the Last Manual Expo 54 Update たぶん手作業で行う最後のExpo54アップデート React Native Meetup #24 IMANAKA, Kouta X: @pside
Today's Topic 今日は、私のチームで開発しているアプリの Expo54アップデート作業について説明します。 そして、将来どうなっていくのかという話をします。。。 Today, I'll explain the Expo 54 update process for the app my team manages. Then, I'll talk about what the future holds...
Expo54 Update… 0. Plan 1. New Architecture対応 2. Expo and it's core libs update 3. Code migration following libs update 4. Cleanup and EAS server update 5. Push 6. Publish 7. Pray
Planning Updates 📚 https://expo.dev/changelog/sdk-54 https://expo.dev/blog/expo-sdk-upgrade-guide
The Biggest Hurdle 😱 : Expo 54対応において、NewArch対応が最も困難な New Architecture 工程でした。 ※ Expo54はLegacyArchをサポートする最後のバージョンです ● ● newArchEnabled: true Just update library version ○ ● 実のところ・・・ Legacy Arch のまま更新停止していて、 New Archで動かすことが出来ないライブラ リの大半は、少々のパッチを書くことで Interop Layer により動作させることができ る。 (Spread Operatorなどで同期的に NativeModulesを触っていることが原因) New version supports NewArch Replace from Legacy Arch libs to another New Arch replaced libs https://github.com/reactwg/react-native-n ew-architecture/blob/main/docs/enable-lib raries.md#javascript-xyz--is-not-a-function-i t-is-undefined
The Core Upgrade: easy~ 😍 Main Command: expo install expo@^54.0.0 --fix expo install expo@^54.0.0 --fix を実行し、パッケージバージョンを一括で整合させました。 Environment Sync: node and pkg manager (e.g. yarn) upgrade SDKの要件に合わせて、このタイミングでパッケージマネージャーやNode.jsのバージョンも推奨環境 へアップデートしました。 Mid-Stream Check: expo install --check 作業の終盤に expo install --check を実行することで、バージョンの不整合を早期に発見・解消しまし た。
Specific Fixes & Tweaks 💪 Remove Android 16 workaround fix Disable Liquid Glass Migrate expo-file-system's new File object system Expo53以前において、Android 16でカ 機能の実装を優先するため、一時的に 必須ではありませんが、 メラ権限に関する不具合が解消され UIDesignRequiresCompatibility: true expo-file-system の新形式 (Shared た為、workaround を削除しました。 を設定し、Liquid Glassの適用を無効 Objects) に対応し、将来的な互換性 https://github.com/expo/expo/issue 化しました。 を確保しました。 s/39480 [expo-image-picker] launchCameraAsync doesn’t open the camera on Android after the 2025-09-05 security update #39480
Cleanup & Build 💄 Dependency Cleanup EAS Configuration 🚮 Clean cache yarn dedupe を実行して重 EAS Buildの設定も忘れずに更 これらを忘れるとビルドエラー 複パッケージを削除し、依 新。ビルドイメージをExpo 54で が出たり挙動が変になったりす 推奨されているバージョンへ変 ることがある。 更しました。 $ yarn expo prebuild --clean Android: $ yarn expo start --clear ubuntu-24.04-jdk-17-ndk-r27b-sdk-55 $ yarn jest --clearCache 存関係ツリーをクリーンな 状態に保ちました。 iOS: macos-sequoia-15.6-xcode-26.2 IMO, avoid `latest` tag since our team can't allow application binaries to change from accidental image updates.
That's ALL 🙌
By the way… Expo Agent Skills Expoチームが、Expoの開発に有用なスキルセット を公開しています。 github.com/expo/skills このSkillsを導入することで、パッケージの更新や 破壊的変更への対応といった作業をAIエージェント に任せることが可能になります。
Agent Skills ? 必要なときだけ参照されるカスタムプロンプトやスクリプトをまとめたファイル構成 フォーマット。 文脈に応じて自動参照されたり、明示的にSkillsを指定して実行することも出来ま す。 Claude Code で実装され、Codex CLI/AppだけでなくVS Code (1.109.0) でもサポート されるようになりました。 上記ツールからインストールしやすくなっている他、 Skills Manager cliとSkills repositoryが提供されています(by Vercel) $ npx skills add expo/skills
NOTE: This is how my personal project is going.
A Complex Feeling 🙄 Relief Nostalgia 手作業によるバージョン確認やchangelog 一方で、これまで培ってきた「手動アッ の読み込み、設定の微調整といった苦労 プグレードのスキル」やトラブルシュー から解放されたことに、大きな安堵を感 ティングの経験が不要になることに、寂 じています。 しさも感じます。
Thanks! ご清聴ありがとうございました! Prompt: AIロボットの席巻で廃業する鍛冶師。中世設定だけどAIロボットはで てくる。 A blacksmith going out of business due to the takeover of AI robots. It's a medieval setting, but AI robots appear.
Disclaimer: この資料はGemini Canvasを用いて生成されたものに対して、 人間による創造性をもって主張を強めるための手直しをしています。 Prompt: "たぶん手作業で行う最後のExpo54アップデート" というタイトルでスライドを作成したい。 10分くらいのテック系勉強会での発表なので、1ページ当たり1分くらいで流せるような分量。 英語のみ理解出来る人が多いので、英語や視覚情報ベースで構成 - Expo54対応で実施したこと - NewArch対応(いちばん大変だった) - expoパッケージの更新(`expo install expo@^54.0.0 --fix`)(このタイミングでpkg managerとかnodeのバージョンを上げるとよい) - expo-file-system の新形式(Shared Objects)対応 (Expo54対応の必須対応ではない) - 不要になったworkaroundの削除(Android16でカメラパーミッション関連の不具合があったhttps://github.com/expo/expo/issues/39480 ) - Liquid Glass 適用をいったんやめさせるために`UIDesignRequiresCompatibility: true` を設定 - 作業中に公開されたexpoを適用するために `expo install --check` - yarn dedupeして掃除 - EAS: 忘れずにビルドイメージを推奨されているものに更新 - expoチームが Expoアップデートに特化した Agent Skills を公開している https://github.com/expo/skills/tree/main/plugins/upgrading-expo - これをインストールしてAIにやらせればうまくいきそう - 実際私の個人プロジェクトはなんとかなってしまった - 苦労から解放された半面、アップデート作業に自信があった私としては複雑な心境です - おわり