工具TypeScript
podexit
当 CocoaPods trunk 变为只读时,哪些 pod 会停止获得更新,哪些已经提供了 Swift package。
0星标数最新版本: v0.1.2更新时间: 2026年10月15日
支持平台:Node.js 22.12+
许可证: MIT
CocoaPods trunk 将于 2026 年 12 月 2 日变为只读。构建仍能正常工作,但发布在那里的 pod 不会再获得新版本。podexit 读取你项目中已有的 Podfile.lock,并按 pod 逐一报告:该 pod 是在 trunk 上被冻结,还是被其发行方更早地设了上限(例如 Firebase 12.x),还是不受影响;以及它的上游仓库在 HEAD 和锁定的 tag 上是否有 Package.swift。它能识别 native iOS、Flutter、React Native 和 Expo 项目,并链接到匹配的迁移指南。它不会向项目安装任何东西。
功能特性
- 每个 pod 给出两个答案:更新状态(在 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 只使用缓存
- 来自 lockfile 或注册表的控制字符和 Markdown 语法会在每种输出中被中性化处理
- 编程接口:analyzeLockfile、buildReport、render 以及它们背后的构建模块
快速开始
sh
1npx @mcamdali/podexit安装
npx (no install)
sh
1npx @mcamdali/podexitnpm (project)
sh
1npm install --save-dev @mcamdali/podexit2npx @mcamdali/podexitnpm (global)
sh
1npm i -g @mcamdali/podexit2podexitHomebrew
sh
1brew install muhittincamdali/tap/podexit截图
时间线
仓库开放;0.1.0 发布,包含 lockfile 解析器、trunk 和 GitHub 查询、Firebase 上限、三种报告格式以及五个记录下来的 fixture
0.1.1:来自不受信任 lockfile 的控制字符和 Markdown 语法在每种报告格式和 stderr 中都被中性化处理
0.1.2:以 @mcamdali/podexit 发布到 npm;命令仍是 podexit