From 94ea0c0ce8e1f9e8ce77c01927f4c887b49dc7bb Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Wed, 28 Sep 2022 14:41:28 +0800 Subject: [PATCH] feat: add `semver.md` cheatsheet. --- README.md | 1 + docs/package.json.md | 4 +- docs/semver.md | 114 +++++++++++++++++++++++++++++++++++++++++++ docs/toml.md | 2 +- 4 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 docs/semver.md diff --git a/README.md b/README.md index 51265f5..5ffdd52 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Quick Reference [npm](./docs/npm.md) [package.json](./docs/package.json.md) [VSCode](./docs/vscode.md) +[Semver](./docs/semver.md) [Sketch](./docs/sketch.md) [Jest](./docs/jest.md) diff --git a/docs/package.json.md b/docs/package.json.md index 2221022..bb3470a 100644 --- a/docs/package.json.md +++ b/docs/package.json.md @@ -60,13 +60,13 @@ npm install [包名] 安装后存放位置 -``` +```bash node_modules/[包名] ``` npmjs 下载地址 -``` +```bash https://registry.npmjs.org/[包名]/-/[包名]-[version].tgz ``` diff --git a/docs/semver.md b/docs/semver.md new file mode 100644 index 0000000..8a2fa32 --- /dev/null +++ b/docs/semver.md @@ -0,0 +1,114 @@ +Semver 备忘清单 +=== + +这个 semver 语义化版本快速参考备忘清单。 + +语义化版本标准 +---- + +### 介绍 + +[Semver](http://semver.org/) 是一种语义版本控制规范。 + +- [语义版本控制规范文档](http://semver.org/) _(semver.org)_ +- [npm 的语义版本器](https://docs.npmjs.com/cli/v6/using-npm/semver) _(npmjs.com)_ + +### Semver + + +| - | - | +|-----------------|------------------------| +| `主版本号(MAJOR)` | 当你做了不兼容的 API 修改 | +| `次版本号(MINOR)` | 当你做了向下兼容的功能性新增 | +| `修订号(PATCH)` | 当你做了向下兼容的问题修正 | + + +### 简单范围 + +``` + 1.2.3 + =1.2.3 + >1.2.3 + <1.2.3 +>=1.2.3 +``` + +请注意,后缀版本(`1.2.3-rc1`)不匹配。 + +### 范围 + + + +| 范围 | 描述 | Notes | +| --- | --- | --- | +| `~1.2.3` | 是 `>=1.2.3 <1.3.0` | | +| `^1.2.3` | 是 `>=1.2.3 <2.0.0` | | +| `^0.2.3` | 是 `>=0.2.3 <0.3.0` | (0.x.x 是特殊的) | +| `^0.0.1` | 是 `=0.0.1` | (0.0.x 是特殊的) | +| `^1.2` | 是 `>=1.2.0 <2.0.0` | (像 ^1.2.0) | +| `~1.2` | 是 `>=1.2.0 <1.3.0` | (像 ~1.2.0) | +| `^1` | 是 `>=1.0.0 <2.0.0` | | +| `~1` | 相同的 | | +| `1.x` | 相同的 | | +| `1.*` | 相同的 | | +| `1` | 相同的 | | +| `*` | 任何版本 | | +| `x` | 相同的 | | + + +### 连字符范围 + + + +| 范围 | 描述 | +| --- | --- | +| `1.2.3 - 2.3.4` | 是 `>=1.2.3 <=2.3.4` | + +#### 部分向右 + +| 范围 | 描述 | +| --- | --- | +| `1.2.3 - 2.3` | 是 `>=1.2.3 <2.4.0` | +| `1.2.3 - 2` | 是 `>=1.2.3 <3.0.0` | + + +#### 部分向左 + +| 范围 | 描述 | +| --- | --- | +| `1.2 - 2.3.0` | 是 `1.2.0 - 2.3.0` | + + +当右侧为部分(例如,`2.3`)时,假定缺失的部分为`x`(例如,` 2.3.x`)。 + +如果左边是部分的(例如,`1.2`),则假定缺少的部分为`0`(例如,` 1.2.0`)。 + +### 组合范围 + +| 范围 | 描述 | +| --- | --- | +| `>=0.14 <16` | 和 (空格分隔) | +| `0.14.x \|\| 15.x.x` | 或 (双竖线分隔) | + +### 预发布 + +``` +1.2.3-prerelease+build +``` + +### 解释 + +| 范围 | 描述 | +| --- | --- | +| `^` | 意思是“兼容” | +| `~` | 意思是“相当接近” | +| `0.x.x` | 用于“初始开发” | +| `1.x.x` | 表示定义了公共 API | + + + +另见 +---- + +- [语义化版本号验证正则表达式,支持按编号提取的语言](https://regex101.com/r/vkijKf/1/) +- [语义化版本号验证正则表达式,支持按组名称提取的语言](https://regex101.com/r/Ly7O1x/3/) \ No newline at end of file diff --git a/docs/toml.md b/docs/toml.md index be80289..ae37bfe 100644 --- a/docs/toml.md +++ b/docs/toml.md @@ -1,7 +1,7 @@ TOML 备忘清单 === -这是 TOML 格式配置文件语法的快速参考备忘单。 +这是 TOML 格式配置文件语法的快速参考备忘清单。 入门 ----