Publint 0.3.0 版本发布:更智能的 npm 包校验工具
Publint 是一个专注于 npm 包发布前校验的工具,它能够帮助开发者发现 package.json 配置、文件结构以及发布内容中的潜在问题。最新发布的 0.3.0 版本带来了一系列重要改进,使得工具更加智能和易用。
核心功能升级
更精准的打包文件检测
0.3.0 版本最大的变化是重构了打包文件检测机制。现在 Publint 会直接调用项目所使用的包管理器(npm/pnpm/yarn)的 pack 命令来获取最终会被发布的文件列表。这一改进解决了之前使用 npm-packlist 时可能存在的与不同包管理器行为不一致的问题。
新版本会自动检测项目使用的包管理器,开发者也可以通过新的 pack 选项进行配置。需要注意的是,这一变化使得检测过程会稍微变慢(约增加200-500ms),但带来的准确性提升是值得的。
简化 API 设计
移除了 vfs 选项,转而扩展了对 pack 选项的支持。现在开发者可以更灵活地提供打包内容:
- 直接传入 .tgz 文件的 ArrayBuffer 或 ReadableStream
- 或者提供 PackFile[] 数组
这使得 Publint 在浏览器环境中的使用变得更加方便,同时也简化了针对已打包 .tgz 文件的校验流程。
重要改进点
依赖协议校验增强
新版本会特别检查 package.json 中是否使用了 file: 或 link: 协议的依赖项。这类依赖在发布后通常无法正常工作,因此现在会被标记为错误,防止开发者意外发布包含此类依赖的包。
TypeScript 声明文件支持扩展
增强了 EXPORT_TYPES_INVALID_FORMAT 检查,现在能够正确识别 .d.mts 和 .d.cts 类型的声明文件,为现代 TypeScript 项目提供了更好的支持。
运行环境要求变更
最低支持的 Node.js 版本提升至 18,开发者需要注意升级自己的开发环境。
使用建议
对于大多数用户来说,升级到 0.3.0 版本无需特别调整。但需要注意:
- 如果使用 yarn 1,建议升级到更新的 yarn 版本或切换其他包管理器
- 项目中的 file:/link: 协议依赖需要特别检查
- 开发环境需确保 Node.js ≥ 18
这个版本的改进使 Publint 更加贴近实际发布场景,能够更准确地预测包发布后的行为,帮助开发者避免各种潜在问题。对于重视包质量的团队来说,升级到这个版本将获得更可靠的发布前检查保障。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0122- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。00
CherryUSBCherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(带 USB IP)的高性能 USB 主从协议栈C00