podexit
CocoaPods の trunk が読み取り専用になったとき、どの pod が更新を受けられなくなり、どの pod がすでに Swift package を提供しているかを調べます。
ライセンス: MIT
CocoaPods の trunk は December 2, 2026 に読み取り専用になります。ビルドは引き続き動作しますが、そこに公開されている pod は新しいバージョンを受け取れなくなります。podexit は、すでにある Podfile.lock を読み込み、各 pod について trunk で凍結されているか、公開者によってそれより前に制限されているか(Firebase 12.x)、あるいは影響を受けないかを報告します。さらに、上流のリポジトリに Package.swift が HEAD とロックされた tag の両方で存在するかも報告します。native iOS、Flutter、React Native、Expo の各プロジェクトを認識し、対応する移行ガイドへのリンクを示します。プロジェクトに何かをインストールすることはありません。
機能
- pod ごとに2つの回答: 更新状況(trunk で凍結、公開者による制限、影響なし、不明)と Swift package の有無
- ロックされた tag でも Package.swift を確認し、Swift package がより新しいバージョンにのみ存在する場合はそれを示します
- Firebase の掲載されている20個の pod とその従属パッケージが 12.x に制限されていることを、出典を示すデータファイルから判定します
- native、Flutter アプリ、Flutter プラグイン、React Native、Expo の各構成で Podfile.lock を見つけ、対応するガイドにリンクします
- ターミナル表示の表、pull request 用の Markdown、スクリプト用の JSON
- 回答は24時間キャッシュされます。--offline はキャッシュのみを使用します
- ロックファイルやレジストリに由来する制御文字と Markdown の構文は、どの出力でも無害化されます
- プログラムから使える API: analyzeLockfile、buildReport、render とそれらを支える構成要素
クイックスタート
1npx @mcamdali/podexitインストール
npx (no install)
1npx @mcamdali/podexitnpm (project)
1npm install --save-dev @mcamdali/podexit2npx @mcamdali/podexitnpm (global)
1npm i -g @mcamdali/podexit2podexitHomebrew
1brew install muhittincamdali/tap/podexitスクリーンショット
タイムライン
リポジトリが公開され、ロックファイルのパーサー、trunk と GitHub への問い合わせ、Firebase の制限判定、3種類のレポート形式、記録済みの5つの fixture とともに 0.1.0 がリリースされました
0.1.1: 信頼できないロックファイルに由来する制御文字と Markdown の構文が、すべてのレポート形式と stderr で無害化されました
0.1.2: npm に @mcamdali/podexit として公開。コマンド名は変わらず podexit です