すべてのオープンソースパッケージ
ツールTypeScript

podexit

CocoaPods の trunk が読み取り専用になったとき、どの pod が更新を受けられなくなり、どの pod がすでに Swift package を提供しているかを調べます。

0スター数最新リリース: v0.1.2更新日: 2026年10月15日
対応プラットフォーム:Node.js 22.12+

ライセンス: 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 とそれらを支える構成要素

クイックスタート

sh
1npx @mcamdali/podexit

インストール

npx (no install)

sh
1npx @mcamdali/podexit

npm (project)

sh
1npm install --save-dev @mcamdali/podexit
2npx @mcamdali/podexit

npm (global)

sh
1npm i -g @mcamdali/podexit
2podexit

Homebrew

sh
1brew install muhittincamdali/tap/podexit

スクリーンショット

native iOS アプリで podexit を実行した結果: Firebase の pod は 12.x に制限され、Alamofire、Kingfisher、SnapKit などは December 2 以降は凍結、いずれも Swift package を持っています
FlutterFire と google_sign_in を使う Flutter アプリで podexit を実行した結果
Sentry、RevenueCat、Lottie を使う Expo SDK 57 アプリで podexit を実行した結果

タイムライン

  1. リポジトリが公開され、ロックファイルのパーサー、trunk と GitHub への問い合わせ、Firebase の制限判定、3種類のレポート形式、記録済みの5つの fixture とともに 0.1.0 がリリースされました

  2. 0.1.1: 信頼できないロックファイルに由来する制御文字と Markdown の構文が、すべてのレポート形式と stderr で無害化されました

  3. 0.1.2: npm に @mcamdali/podexit として公開。コマンド名は変わらず podexit です

リンク

関連記事

記事を読む