按需要暂停自动检查
自动检查在停止输入 350 毫秒后执行。关闭开关后显示主按钮,也可按 Ctrl 或 Cmd 加 Enter 手动检查。修改输入或缩进后,旧结果立即停止导出。
版本号 / 包与依赖
编辑一份清单,定位字段错误,预览依赖排序;脚本和条件导出的原顺序保持不变。
清单在当前浏览器内处理,不查询注册表,不执行脚本。
name 标识包名,按新包命名规则检查。本地项目可省略。
检查内置清单规则、名称与根版本。其他工具的扩展配置保留,但不进行专项校验。
单个对象,最多 100,000 个 UTF-16 代码单元、100 层。不安全整数及溢出会拒绝;依赖指定值只检查是否为字符串。
dependencies: 0 · devDependencies: 0 · peerDependencies: 0 · optionalDependencies: 0
暂无依赖条目。
输入或参数已变化,请重新检查后导出。
合并分支后,清单语法可能正确,依赖值类型或包名却不符合要求。package.json 编辑器把这些检查分开显示,方便在提交代码前逐项核对。
先观察私有项目示例中的四类依赖。同一个包出现在多个组里不代表应该删除;排序只整理各组内的名称,具体归类仍由项目决定。
package.json 编辑器只对 dependencies、devDependencies、peerDependencies 和 optionalDependencies 组内排序。顶层字段、scripts 和 exports 条件保持原序,避免为了让差异好看而改变条件匹配结果。
结果区独立展示新清单。应用结果、加载示例和清空都会先显示替换内容与字符数;确认后保留一次撤销,同时恢复原输入、原结果及其有效或过期状态。
自动检查在停止输入 350 毫秒后执行。关闭开关后显示主按钮,也可按 Ctrl 或 Cmd 加 Enter 手动检查。修改输入或缩进后,旧结果立即停止导出。
依赖排序先生成结果,状态行统计实际重排的依赖组数。切回保留原顺序即可重新格式化原输入;这些操作不会升级版本,也不会把开发依赖移动到运行依赖。
有效结果无需写回也能复制或下载。应用结果会打开替换预览,确认后才覆盖输入;撤销会一起恢复之前的输入和输出,不依赖逐个字符倒推。
package.json 校验会拒绝注释、尾逗号、重复键及数组根节点。错误保留原始行列和 JSON Pointer,带斜杠的依赖名也能准确表示,不会先格式化再给出错误位置。
npm 包名检查对根 name 使用新包规则,对依赖键允许历史合法名称。填写了 version 就用 node-semver 判断;本地项目缺少 name 或 version 不会直接判错。
面板按组列出名称和原样版本字符串,每次显示 100 行。字段说明解释运行依赖、开发依赖、同伴依赖和可选依赖的区别,编辑时仍以左侧完整清单为准。
package.json 格式化支持两空格、四空格和制表符。依赖排序不触及其他对象,自定义字段及数值字面写法保持。导出的文件名是 package.json,方便在本地进一步审阅。
标准 JSON 不允许双斜杠或块注释,本工具会报错,不会自动删掉注释后假装通过。若用自定义元数据字段记录说明,它只是普通数据,仍需确认项目其他工具是否接受这种约定。
dependencies 是运行时依赖,devDependencies 用于开发和测试,peerDependencies 表达对使用方环境的兼容要求;optionalDependencies 允许安装失败。工具保留全部组,不自动推断某个包应该放在哪里。
可以。排序在浏览器中对四类依赖名称分别执行,不需要安装额外软件包。先看结果和重排组数,再复制或下载;scripts 及条件导出顺序不会跟着改变。
新包名需要符合小写、适合 URL 的字符和总长不超过 214 个字符等规则,支持 @team/widget 这类带作用域名称。名称语法合法并不意味着注册表中仍可用,也不证明你拥有该名称。
对于常见的非零主版本,~1.2.3 通常允许补丁更新,^1.2.3 还允许兼容的次版本更新。零主版本和预发布有额外规则;这里会保留原始范围,不推算最终安装版本。
如果项目不准备发布,npm 允许省略 name 和 version,因此空对象也能通过这里的本地结构检查。发布还有额外元数据与环境要求,通过检查不代表取得发布许可。
还缺少实用的清单检查?