Neatbo.

SemVer 范围版本筛选

按 npm SemVer 范围筛选严格版本列表,按优先级排序并选出最高匹配版本。

浏览器本地处理输入版本 + 范围输出JSON / CSV单个文件最多 1 MiB · 最多 1 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行

或将文件拖到这里

文件留在当前设备,原始文件不会被覆盖。

.txt

单个文件最多 1 MiB · 最多 1 个

    0 个字符 · 0 字节
    处理选项

    先填写标记为必填的选项,其余可保留默认值。

    正在准备处理工具…

    开始之前

    使用已知版本列表审查依赖约束,查看哪些版本符合范围、预发布选项如何改变结果,以及最终选中的版本原文。

    如何使用

    1. 每行输入一个严格版本,并填写准确的 npm 范围。
    2. 选择是否包含预发布版本,查看匹配行和最高版本。
    3. 下载报告,并确认接收端包管理器使用相同范围与预发布策略。

    支持范围与限制

    一个 UTF-8 版本列表文件或粘贴列表,加范围文本,合计不超过 1 MiB。最多 10,000 个非空版本行,每个版本最多 256 字符,范围最多 4,096 字符。跳过空行并保留原始行号,所选文件优先。

    版本必须是严格 major.minor.patch,可带预发布和构建元数据。拒绝 v/= 前缀、前导零和两侧空格。主次修订版本及纯数字预发布标识须在 JavaScript 安全整数范围内,更大的数字预发布标识会明确拒绝。

    范围遵循锁定的 node-semver 7.7.3,支持比较器组、||、^、~、连字符和 X 范围;空范围表示 *。默认排除未被范围明确允许的预发布元组,可通过可见选项扩大预发布匹配。不查询注册表、dist-tag 或发布状态。

    构建元数据保留在输出中,但不影响版本优先级。同优先级按输入顺序排列;maxSatisfying 在最高版本并列时返回最先输入的原文。预览显示前 200 行,JSON/CSV 保留全部;表格保护只影响 CSV。

    操作示例

    示例输入

    1.2.0+build.2
    1.3.0-beta.1
    1.2.0+build.1
    2.0.0
    示例参数
    {"secondary": "^1.2.0", "params": {"includePrerelease": false}}

    示例输出

    {
      "range": "^1.2.0",
      "normalizedRange": ">=1.2.0 <2.0.0-0",
      "includePrerelease": false,
      "maximum": "1.2.0+build.2",
      "records": [
        {
          "version": "1.2.0+build.2",
          "matches": true,
          "sourceLine": 1
        },
        {
          "version": "1.2.0+build.1",
          "matches": true,
          "sourceLine": 3
        },
        {
          "version": "1.3.0-beta.1",
          "matches": false,
          "sourceLine": 2
        },
        {
          "version": "2.0.0",
          "matches": false,
          "sourceLine": 4
        }
      ]
    }

    出现问题时

    修正报告中的版本或范围,使用无前缀、无两侧空格的完整严格版本。列表过大时拆批;若纯数字预发布标识超出安全整数范围,应使用支持任意精度的 SemVer 实现。

    常见问题

    +build.2 比 +build.1 更高吗?

    不会。构建元数据不参与 SemVer 优先级比较,工具保留原文和输入顺序。

    为什么 1.3.0-beta.1 不符合 ^1.2.0?

    npm 默认范围策略排除了这个预发布元组。启用预发布选项可查看扩大后的集合。

    有效范围没有匹配版本会报错吗?

    不会。结果明确显示匹配数为零,JSON 的 maximum 为 null。

    文档与延伸阅读

    相关工具