@bpmn-io/ semver-compat
检查是否提供了精制版本满足要求的范围 .
安装
npm install @bpmn-io/semver-compat
使用量
isCompatible(required, provided)
回返 true 如果每个条目 required 满意的版本 provided。 。 。 .
import { isCompatible } from '@bpmn-io/semver-compat';
isCompatible(
{ node: '>=18', npm: '>=9' }, // required
{ node: '16', npm: '10' } // provided
); // → false
isCompatible(
{ node: '>=18', npm: '>=9' },
{ node: '20', npm: '10' }
); // → true
行为
兼容性检查 无法打开:当数据缺失或无法解析时,该条目被认为是相容的,因此错误的配置永远不会意外地阻挡用户.
仅在两者中都存在密钥 required 财务报告和审定财务报表 provided 选中 :
isCompatible(
{ node: '>=18', npm: '>=9' },
{ node: '20' } // npm not provided
); // → true
条目 provided 其价值不能被强迫铸造的被忽略(作为相容性处理):
isCompatible(
{ node: '>=18' },
{ node: 'not-a-version' }
); // → true
条目 required 无效 semver 范围被跳过( 作为兼容处理) :
isCompatible(
{ node: 'not-a-range' },
{ node: '20' }
); // → true
| 参数 | 类型 | 说明 |
|---|---|---|
required | SemverRanges | 命名 semver 范围要求 |
provided | SemverVersions | 要检查的版本字符串命名 |
getCompatible(required, provided)
返回 provided 其版本满足相应范围 required。 。 。 .
getCompatible(
{ node: '>=18', npm: '>=9' }, // required
{ node: '20', npm: '8' } // provided
); // → { node: '20' }
| 参数 | 类型 | 说明 |
|---|---|---|
required | SemverRanges | 命名 semver 范围要求 |
provided | SemverVersions | 要检查的版本字符串命名 |
getCoerced(versions)
返回 versions 其值可被强制以有效的 semver, 正常化为标准 semver格式. 含有不可强制值的条目被省略.
getCoerced(
{ node: '20', myLib: '18.0.0.Final', broken: 'not-a-version' }
); // → { node: '20.0.0', myLib: '18.0.0' }
| 参数 | 类型 | 说明 |
|---|---|---|
versions | SemverVersions | 已命名用于强制的版本字符串 |
isSatisfied(range, version)
回返 true 如果版本满足了范围, false 如果它没有,或 null 如果检查被跳过——当范围无效或版本不能被强迫分解时.
isSatisfied('>=18', '20'); // → true
isSatisfied('>=18', '16'); // → false
isSatisfied('not-a-range', '20'); // → null
isSatisfied('>=18', 'not-a-version'); // → null
| 参数 | 类型 | 说明 |
|---|---|---|
range | string | 一个 semver 范围字符串 |
version | string | 要检查的版本字符串 |
许可证
麻省理工学院