✨ New tools (npm semver parity)
- semver_inc — increment a version following npm
semver.incrules:major/minor/patch/premajor/preminor/prepatch/prerelease+ optional prereleaseidentifier. Preserves npm quirks:1.0.0-5+ major →1.0.0(pre-major release),1.2.0-5+ prerelease →1.2.0-6, prepatch always bumps patch, build metadata dropped, dotted identifiers allowed, leading-zero identifiers rejected. - semver_diff — release-type difference per npm
semver.diff, including prerelease special cases (1.2.3vs1.2.3-beta.1→patch,1.0.0-1vs1.0.0→major). Equal precedence →equal: truewith no difference key. - semver_sort — sort version lists by precedence (asc/desc) with build-metadata tie-break (npm
semver.sort/rsort); invalid entries skipped and reported with their input index.
🔬 Verification
- 114 tests (58 new), every anchor generated by npm semver 7.7.4 as an independent oracle
- Zero runtime dependencies, pure logic, deterministic, offline
中文摘要
v0.2.0 新增三个工具(对齐 npm semver 语义):semver_inc 版本号递增(major/minor/patch/premajor/preminor/prepatch/prerelease + 可选标识符,保留 npm 全部细节行为)、semver_diff 版本差异判定(含 prerelease 特殊分支)、semver_sort 版本列表排序(build 元数据作次序裁决)。114 测试全绿,锚点由 npm semver 7.7.4 独立生成。
Install: dsh plugin --profile <name> add github:TYEclipse/dsh-semver