@basketry/rules

中文文档
0.2.2发布于 2025/08/24MITTypeScriptCommonJS构建来源已验证近 30 天下载 2200

建造篮子管的共同规则

中文使用文档
文档目录22 节
  1. 说明
  2. 选项
  3. 参数长度
  4. 选项
  5. HTTP 状态代码
  6. 选项
  7. 倾斜
  8. 选项
  9. 字符串标识
  10. 选项
  11. 答复信封
  12. 选项
  13. 对象
  14. 选项
  15. 没有丢弃的 HTTP 天体
  16. 选项
  17. 多元化
  18. 选项
  19. 线索
  20. 选项
  21. JSON: API 错误
  22. 选项

main master

篮球规则

共同建筑规则 篮球 输油管。 这些规则可与任何篮板投篮手一起使用,并可与任何其他篮板规则结合使用.

说明

规则
@basketry/rules/lib/method-description要求所有方法都有说明
@basketry/rules/lib/parameter-description要求所有方法参数都有一个描述
@basketry/rules/lib/property-description要求所有类型属性都有描述
@basketry/rules/lib/type-description要求所有类型都有描述
@basketry/rules/lib/description合并所有其他描述规则

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项 :

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/description",
      "options": { "severity": "warning" }
    }
  ]
}

参数长度

规则
@basketry/rules/lib/array-parameter-length需要方法阵列型参数来指定最大项长度.

选项

默认情况下,违反此规则将被显示为出错. 这可能会被 severity 选项 :

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/array-parameter-length",
      "options": { "severity": "warning" }
    }
  ]
}

HTTP 状态代码

规则
@basketry/rules/lib/http-delete-status要求 HTTP DELETE 状态代码必须是 200, (中文(简体) ), 202,或 204
@basketry/rules/lib/http-get-status要求 HTTP 获取状态代码必须是 200, (中文(简体) ), 204,或 206
@basketry/rules/lib/http-patch-status要求HTTP PATCH 状态代码必须是 200, (中文(简体) ), 202,或 204
@basketry/rules/lib/http-post-status要求 HTTP POST 状态代码必须是 200, (中文(简体) ), 201, (中文(简体) ), 202,或 204
@basketry/rules/lib/http-put-status要求 HTTP PUT 状态代码必须是 200, (中文(简体) ), 201, (中文(简体) ), 202,或 204
@basketry/rules/lib/http-no-content-status需要没有返回类型状态代码的方法 204 而返回数据的方法不返回 204
@basketry/rules/lib/http-status合并所有其他 HTTP 状态代码规则

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项 :

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/http-status",
      "options": { "severity": "warning" }
    }
  ]
}

倾斜

规则
@basketry/rules/lib/offset-pagination需要返回数组定义的方法 offset 财务报告和审定财务报表 limit 参数
@basketry/rules/lib/relay-pagination需要返回数组定义的方法 中继风格的页形参数 并返回 a "页面信息" 对象

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项。 此规则允许赤色阵列和信封对象返回类型 。 默认情况下,有效载荷将位于称为 value, (中文(简体) ), values,或 data这些期望可能会被以下因素压倒: payload 选项.

如果为这种方法定义了HTTP协议信息,那么规则只适用于HTTP GET方法. 这可能会被 verb 或者说 verbs 选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/offset-pagination",
      "options": {
        "severity": "warning",
        "payload": ["result", "results"],
        "verbs": ["GET", "POST"]
      }
    }
  ]
}

为了有选择地适用该规则,使用 allow编号 :deny 列表中包含方法名称.

在以下例子中,该规则只将在 myPaginatedMethod. 授标规则 不会 以任何方法执行 没有 输入 allow 列表中选择一个选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/offset-pagination",
      "options": { "allow": ["myPaginatedMethod"] }
    }
  ]
}

在下面的例子中,该规则将不强制执行于 myUnpaginatedMethod. 授标规则 将 对所有方法执行 没有 输入 deny 列表中选择一个选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/offset-pagination",
      "options": { "deny": ["myUnpaginatedMethod"] }
    }
  ]
}

两者同时使用 allow 财务报告和审定财务报表 deny 清单可能导致无法预测的结果.

字符串标识

规则
@basketry/rules/lib/string-id需要类型属性命名 id 必须是类型 string

选项

默认情况下,违反此规则将被显示为出错. 这可能会被 severity 选项 :

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/string-id",
      "options": { "severity": "warning" }
    }
  ]
}

答复信封

规则
@basketry/rules/lib/response-envelope要求所有方法返回包含两种内容的信封对象 errors 阵列和有效载荷属性.

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项。 此规则既允许赤出阵列,也允许 Everlope 对象返回类型 。 默认情况下,有效载荷预计将位于称为 value, (中文(简体) ), values,或 data。这些期望可能与 payload 选项。 请注意,其他规则可能强制执行各种复数化要求,因此必须同时包括有效载荷名称的复数和单数形式.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/response-envelope",
      "options": {
        "severity": "warning",
        "payload": ["result", "results"]
      }
    }
  ]
}

对象

规则
@basketry/rules/lib/object-request-body要求请求机构(如果定义的话)是对象或对象的结合.
@basketry/rules/lib/object-response-body要求反应机构(如果定义的话)为对象或对象结合.
@basketry/rules/lib/object-body综合了其他所有物体体规则.

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/object-body",
      "options": { "severity": "warning" }
    }
  ]
}

没有丢弃的 HTTP 天体

HTTP/1.1规格(RFC 7231)要么禁止身体,要么没有定义某些HTTP方法的身体行为. 在这些情况下,某些系统可能忽视、拒绝或失败,如果提供了一个机构。 以下规则禁止为这些HTTP方法定义机构.

规则
@basketry/rules/lib/no-http-delete-body禁止HTTP DELETE方法定义请求正文.
@basketry/rules/lib/no-http-get-body禁止 HTTP 获取定义请求正文的方法 .
@basketry/rules/lib/no-http-head-body禁止HTTP Head方法定义请求正文.
@basketry/rules/lib/no-http-options-body禁止HTTP选择方法定义请求机构.
@basketry/rules/lib/no-http-trace-body禁止HTTP TRACE方法定义请求正文.
@basketry/rules/lib/no-disallowed-http-body合并了所有其他不允许使用的HTTP机体规则.

选项

默认情况下,违反本规则的行为将被显示为出错. 这可能会被 severity 选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/no-disallowed-http-body",
      "options": { "severity": "warning" }
    }
  ]
}

多元化

规则
@basketry/rules/lib/enum-pluralization要求海内有单数名称.
@basketry/rules/lib/parameter-pluralization需要阵列参数具有复数化名称,而非阵列参数具有单数名称.
@basketry/rules/lib/property-pluralization要求阵列属性具有复数化名称,非阵列属性具有单数名称.
@basketry/rules/lib/pluralization合并所有其他复数规则

选项

默认情况下,违反此规则将被显示为出错. 这可能会被 severity 选项 :

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/string-id",
      "options": { "severity": "warning" }
    }
  ]
}

线索

规则
@basketry/rules/lib/casing界定服务各个部分的外壳需要

选项

编组值必须是以下之一:

  • snake - 如一些 项目 名称
  • pascal - 比如,一些项目Name
  • camel - 比如说一些项目Name
  • kebab - 比如一些物品名称
  • header - 比如,一些项目... Name
  • constant' - 比如说,有些东西

任何其他外壳值都将默默被忽略.

可在服务中执行外壳规则时使用下列立体:

  • enum
  • enumValue
  • path
  • method
  • parameter
  • query
  • header
  • property
  • type

注意,如果 query 或者说 header 当 parameter 实值 (单位:千美元) 提供,然后对信头和查询参数的更具体规则将取代所有其他参数的设置。 若为 query 或者说 header 为: 没有 提供的值,用于 parameter 还将用于信头和查询参数.

默认情况下,违反此规则将被显示为出错. 这可能会被 severity 选项.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/casing",
      "options": {
        "severity": "warning",
        "enum": "camel",
        "enumValue": "constant",
        "path": "kabab",
        "method": "camel",
        "parameter": "camel",
        "query": "kabab",
        "header": "header",
        "property": "camel",
        "type": "camel"
      }
    }
  ]
}

如果某一特定元素没有指定外壳规则,则允许任何外壳. 没有默认值 .

警告: 改变 enum 值的外壳, 路径, 查询参数, 和属性 是 HTTP( aka RESTful) 服务的突破性改变, 因为这些值直接在 HTTP 请求或响应中传递 。 查询参数在技术上不区分大小写。 Enum,方法,和类型名称从未包含在HTTP流量中.

也注意到,各种发电机可能发出一种特定语言所特有的代码,而不论这些外壳规则如何;然而,所有生成的代码MUST在跨越服务界限进行通信时都会在所指定的外壳中发送并接收值并(或)尊重它们与之订立的协议的外壳要求.

JSON: API 错误

规则
@basketry/rules/lib/json-api-error要求定义符合 JSON: API 错误对象 规格

选项

默认情况下,违反此规则将被显示为出错. 这可能会被 severity 选项.

默认情况下,这需要严格符合JSON:API出错对象谱. 当严格模式下, status 如果定义了, 则必须是字符串值, 并且 code 无法定义为 enum时 strict 明确设定为 false (单位:千美元)true (默认),然后 status 可以是数字类型,并且 code 可以是字符串 enum 类型.

{
  "rules": [
    {
      "rule": "@basketry/rules/lib/json-api-error",
      "options": {
        "severity": "warning",
        "strict": false
      }
    }
  ]
}

创建于 发电机控制台

版本与发布记录

@basketry/rules 共发布 24 个版本,首次发布于 2022/05/20;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.2latest2025/08/241.2 年前
0.2.12025/08/171.2 年前
0.2.02025/08/111.2 年前
0.2.0-rc.0rc2025/07/311.3 年前
0.2.0-alpha.2alpha2025/07/271.3 年前
0.2.0-alpha.12025/05/291.4 年前

关于 @basketry/rules 的常见问题

@basketry/rules 是什么?

建造篮子管的共同规则

如何安装 @basketry/rules?

在项目目录运行 npm install @basketry/rules,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 basketry-rules,可以用 npx basketry-rules 直接运行。

@basketry/rules 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@basketry/rules 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@basketry/rules 可以商用吗?

@basketry/rules 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@basketry/rules 的下载量有多少?

根据 npm 官方下载统计,@basketry/rules 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,200 次,日均约 73 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@basketry/rules 还在维护吗?

最新版本 0.2.2 发布于 2025/08/24(1.2 年前);至今共发布 24 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/05/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。