podexit
Which of your pods stop getting updates when CocoaPods trunk goes read-only, and which already ship a Swift package.
License: MIT
CocoaPods trunk goes read-only on December 2, 2026. Builds keep working, but pods published there get no new versions. podexit reads the Podfile.lock you already have and reports, per pod, whether it is frozen on trunk, capped earlier by its publisher (Firebase 12.x) or not affected, and whether its upstream repository has a Package.swift, at HEAD and at the locked tag. It recognises native iOS, Flutter, React Native and Expo projects and links the matching migration guide. Nothing is installed into the project.
Features
- Two answers per pod: update status (frozen on trunk, capped by the publisher, not affected, unknown) and Swift package status
- Checks Package.swift at the locked tag too and says when the Swift package exists only in newer versions
- Firebase's 20 listed pods capped at 12.x together with their subdependencies, from a data file that cites its source
- Finds Podfile.lock in native, Flutter app, Flutter plugin, React Native and Expo layouts and links the matching guide
- Terminal table, Markdown for pull requests or JSON for scripts
- Answers cached for 24 hours; --offline uses only the cache
- Control characters and Markdown syntax from the lockfile or registries are neutralised in every output
- Programmatic API: analyzeLockfile, buildReport, render and the building blocks behind them
Quickstart
1npx @mcamdali/podexitInstallation
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/podexitScreenshots
Timeline
Repository opened; 0.1.0 released with the lockfile parser, trunk and GitHub lookups, Firebase cap, three report formats and five recorded fixtures
0.1.1: control characters and Markdown syntax from untrusted lockfiles are neutralised in every report format and on stderr
0.1.2: published on npm as @mcamdali/podexit; the command is still podexit