# @clipboard-health/oxlint-config 中文文档

规范地址：https://npmcn.com/package/%40clipboard-health/oxlint-config/

版本：5\.1\.8
npm 元数据更新时间：2026-11-05T13:14:10.478Z
中文译文更新时间：2026-11-10T01:51:53.640Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40clipboard-health/oxlint-config
原文对照：https://npmcn.com/package/%40clipboard-health/oxlint-config/?lang=original
项目主页：https://github.com/ClipboardHealth/core-utils#readme
源码仓库：https://github.com/ClipboardHealth/core-utils

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：88.9 kB，16 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：oxlint \>=1\.68\.0，oxlint-tsgolint \>=0\.21\.1，oxlint-plugin-react-doctor \>=0\.9\.12
- 首次发布：2026-04-08T19:41:40.713Z
- 最新版本发布：2026-11-05T13:14:10.201Z
- 近 30 天下载量：38208（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：138（近 12 个月 138 个）

## 中文简介

共享 Clippboard 健康存储器的 Oxlint 配置 .

## 安装

```sh
npm install @clipboard-health/oxlint-config
```

也可以使用：`pnpm add @clipboard-health/oxlint-config`、`yarn add @clipboard-health/oxlint-config`、`bun add @clipboard-health/oxlint-config`

## README

# @clipboard-health/oxlint-配置

共享 [氧化剂](https://oxc.rs/docs/guide/usage/linter) 剪贴板健康存储器的配置 .

## 目录

-   [安装](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-install)
-   [使用量](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-usage)
-   [快速运行](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-fast-runs)
-   [严格的预设](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-strict-presets)
-   [类别](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-categories)
-   [什么是共享的](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-what-is-shared)
-   [故意残疾规则](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-intentionally-disabled-rules)

## 安装

```bash
npm install @clipboard-health/oxlint-config
```

配置包包含 `@clipboard-health/oxlint-plugin` 用于使用剪贴板的预设 习惯规则.

使用 `frontend` 预设还必须安装 `oxlint-plugin-react-doctor >= 0.9.12`。 。 。 .

要求数 `oxlint >= 1.68.0`: 配置引用规则, 旧的克林特版本不注册, 这失败的配置直接解析 .

## 使用量

当Repo需要添加剂成分时使用包的TypeScript帮助器. 奥克林特的内置 `extends` 用于简单的继承, 但它不会让回购安全附加 `plugins`, (中文(简体) ), `overrides`,而类似的数组字段则不重新指定共享值.

### 类型脚本配置

创建一个 `oxlint.config.ts` 在您的还原根中:

```ts
import {
  base,
  createOxlintConfig,
  customRules,
  typeAware,
  vitest,
} from "@clipboard-health/oxlint-config";
import { defineConfig } from "oxlint";

export default defineConfig(
  createOxlintConfig({
    localConfig: {
      categories: {
        correctness: "error",
        nursery: "off",
        pedantic: "error",
        perf: "error",
        restriction: "error",
        style: "off",
        suspicious: "error",
      },
      ignorePatterns: [".agents", "coverage/", "node_modules/"],
      options: {
        denyWarnings: true,
        typeAware: true,
        typeCheck: true,
      },
      rules: {
        "vitest/require-test-timeout": "off",
      },
      settings: {
        node: {
          version: ">=24.14.1",
        },
      },
    },
    presets: [base, customRules, typeAware, vitest],
  }),
);
```

可用的预设 :

-   `base`
-   `contractFixtures`
-   `customRules`
-   `fast` (见 [快速运行](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-fast-runs)(中文(简体) )
-   `frontend`
-   `react`
-   `jest`
-   `strict` 财务报告和审定财务报表 `strictTypeAware` (选入;见 [严格的预设](https://npmcn.com/package/%40clipboard-health/oxlint-config/#readme-strict-presets)(中文(简体) )
-   `typeAware`
-   `vitest`

合并行为 :

-   `plugins`, (中文(简体) ), `jsPlugins`, (中文(简体) ), `overrides`,以及 `ignorePatterns` 附加顺序
-   `rules`, (中文(简体) ), `settings`, (中文(简体) ), `options`, (中文(简体) ), `categories`, (中文(简体) ), `env`,以及 `globals` 将左右合并
-   `localConfig` 当密钥冲突时总是胜过预设值

对于反应应用程序,由独立程序组成 `frontend` 与存储器的测试运行器相关的策略 :

```ts
import { createOxlintConfig, frontend, typeAware, vitest } from "@clipboard-health/oxlint-config";
import { defineConfig } from "oxlint";

export default defineConfig(
  createOxlintConfig({
    localConfig: {
      ignorePatterns: ["coverage/"],
    },
    presets: [frontend, typeAware, vitest],
  }),
);
```

保存仓库架构规则、导入限制和 JavaScript 外掛程式 `localConfig`。 。 。 .

`base` 是全组织通用的JavaScript和TypeScript政策. `frontend` 这是 独立前端应用程序政策,包括React,可访问性和浏览器配置 JavaScript规则. `typeAware` 包含规则 需要Oxlint的 `--type-aware` 模式,以及 `vitest` 添加完整的 Vitest 策略 。 将特定存储器的例外保留在 `localConfig`。 。 。 .

`frontend` 注册内置 `react`, (中文(简体) ), `jsx-a11y`, (中文(简体) ), `import`, (中文(简体) ), `oxc`, (中文(简体) ), `typescript`,以及 `unicorn` 插件 . `typeAware` 登记册 `typescript`,包括由另一个 插件预设无 `base`。 。 。 .

> \[大 从省略这些插件注册的版本升级可以曝光已存在的 lint 违反情况。 升级时运行正常和有类型意识的线条,并允许足够的 CI 跑车内存 用于新激活的类型认识分析。 现有的重新登记可以保留.

### JSON 配置

创建一个 `.oxlintrc.json` 在您的还原根中:

```json
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "extends": ["./node_modules/@clipboard-health/oxlint-config/src/base.json"],
  "categories": {
    "correctness": "error",
    "nursery": "off",
    "pedantic": "error",
    "perf": "error",
    "restriction": "error",
    "style": "off",
    "suspicious": "error"
  },
  "ignorePatterns": [".agents", "coverage/", "node_modules/"],
  "options": {
    "denyWarnings": true,
    "reportUnusedDisableDirectives": "error",
    "typeAware": true,
    "typeCheck": true
  },
  "settings": {
    "node": {
      "version": ">=24.14.1"
    }
  }
}
```

只有在简单的继承足够的时候才使用JSON. 贾森 `extends` 仍然为共享预设工作,但repo- local 阵列字段如 `plugins` 财务报告和审定财务报表 `overrides` 将不会获得由 `createOxlintConfig`。 。 。 .

对于使用Vitest的重置,从 `vitest.json` 改为 `base.json` 包含vitest插件和规则 :

```json
{
  "extends": ["./node_modules/@clipboard-health/oxlint-config/src/vitest.json"]
}
```

视需要取代共同规则:

```json
{
  "extends": ["./node_modules/@clipboard-health/oxlint-config/src/base.json"],
  "rules": {
    "no-console": "off"
  }
}
```

## 快速运行

`base` 财务报告和审定财务报表 `frontend` 启用 `reportUnusedDisableDirectives: "error"`,哪个旗帜 `oxlint-disable` 财务报告和审定财务报表 `eslint-disable` 评论不再压制任何东西。 因此,默认配置是 慢一点 此选项仅在完整, 类型意识运行时精确: 没有类型信息, `typescript/*` 规则不能开火,所以他们的指示看起来没有用。 这个 `fast` 预设扩展 默认设置选项到 `"off"` 用于快速的非类型本地和编辑运行.

| 配置 | `options.reportUnusedDisableDirectives` | 用于 |
| --- | --- | --- |
| 默认( e)`base` 或者说 `frontend`(中文(简体) ) | `"error"` | 完整型号的 Lint 运行和 CI |
| 默认 + `fast` | `"off"` | 快速的非类型本地和编辑器运行 |

`fast` 设置其他的,所以这两个配置是完全相同的。 写最后一首 `presets`· ; `localConfig` 如果一个寄存器设置了选项本身, 仍然会获胜 .

存储器保存其规则 `oxlint.config.ts` 并从它中得来快的猜想 一个编辑规则的地方 :

```ts
// oxlint.config.ts
import { base, createOxlintConfig, typeAware } from "@clipboard-health/oxlint-config";
import { defineConfig } from "oxlint";

export default defineConfig(
  createOxlintConfig({
    presets: [base, typeAware],
  }),
);
```

```ts
// oxlint.config.fast.ts
import { fast } from "@clipboard-health/oxlint-config";
import { defineConfig } from "oxlint";

import defaultConfig from "./oxlint.config.ts";

export default defineConfig({ extends: [defaultConfig], ...fast });
```

```json
{
  "scripts": {
    "lint": "oxlint --type-aware --type-check",
    "lint:fast": "oxlint --config oxlint.config.fast.ts"
  }
}
```

`lint` 负载 `oxlint.config.ts` 并使用未使用的指导性报告方式运行类型意识规则. `lint:fast` 选择快速配置并省略 `--type-aware`,所以请 `typeAware` 预设规则做 别跑 保留 `typeAware` 财务报告和审定财务报表 `typeCheck` 从配置选项中选择 `lint` 命令行, 因此,快速配置不需要覆盖它们.

杰森号 `extends` 进入点 `base.json` 包含选项; 设置 `options.reportUnusedDisableDirectives` 改为 `"off"` 在为快速配置扩展后.

## 严格的预设

这些规则捕捉到真正的bug,但是在遗留的代码中经常会起火,所以它们被选入. 收养 寄存器 : 添加预设, 然后在同一更改中压制已有的违规内容如此新 代码满足了栏.

| 预设 | 规则 | 接头 |
| --- | --- | --- |
| `strict` | `@clipboard-health/no-ambiguous-positional-parameters` | 两个或两个以上位置参数,其中两个共享一个类型(呼叫者可以互换)或一个是布尔(在呼叫站点无法读取). 具有单一参数的函数是免责的,测试文件也是如此. |
| `strictTypeAware` | `typescript/strict-boolean-expressions` | 核实数字和图表的真实性 `0` 读作缺失。 允许保留字符串:治疗 `""` 因为失踪通常是故意的. |

```ts
presets: [base, customRules, strict, typeAware, strictTypeAware, vitest],
```

给每次压制都一个理由: `// oxlint-disable-next-line <rule> -- <reason>`。 。 。 .

## 类别

这个配置为代理写作代码所调制:执行防止出错或帮助代理工作更快的规则,忽略只编码出人类风格偏好的规则. 类别作为否定列表(可归属类别,然后禁用作为噪声的个别规则)而不是允许列表使用,因此类别中新的捕虫规则作为克林特船自动被采用.

| 类别 | 设置 | 为什么 |
| --- | --- | --- |
| `correctness`, (中文(简体) ), `suspicious`, (中文(简体) ), `perf` | `error` | 可能有错误和性能问题. |
| `restriction` | `error` | 搭载高值护栏: `typescript/no-explicit-any`, (中文(简体) ), `typescript/no-non-null-assertion`, (中文(简体) ), `no-var`, (中文(简体) ), `unicorn/no-abusive-eslint-disable`。 。 。 . |
| `pedantic` | `error` | 卡莉丝 `eqeqeq`,则 `typescript/no-unsafe-*` 家庭 家庭 家庭, `typescript/no-misused-promises`, (中文(简体) ), `typescript/switch-exhaustiveness-check`, (中文(简体) ), `array-callback-return`。 。 。 . |
| `style` | `off` | 平庸/一致性规则,没有防虫值。 明确选择保留的规则:故意选择一致性(`curly`, (中文(简体) ), `no-else-return`附加错误/安全规则 oxlint 文件 `style` (单位:千美元)`no-new-func`, (中文(简体) ), `guard-for-in`, (中文(简体) ), `import/no-mutable-exports`) (中文(简体) ). |
| `nursery` | `off` | 规则仍在制定中;对于代理写作的代码来说太不稳定了. |

`style` 财务报告和审定财务报表 `nursery` 因为他们未来的规则是噪音而不是信号——没有什么值得自动通过的。 每个 `style` 因此,保留的规则明确列于 `base.json`。 。 。 .

## 什么是共享的

一揽子计划包括:

-   **`base.json`**: 简单的反相 JSON 预设 `extends` 使用量
-   **`vitest.json`**: 扩展 `base.json` 带有 JSON 的 vitest 插件和规则 `extends` 使用量
-   **`base` 预设**: 为 TypeScript 构成导出共享插件、 规则和覆盖
-   **`frontend` 预设**: 共享前端 JavaScript, React Doctor, React, 和 JSX 无障碍政策
-   **`typeAware` 预设**: 需要 Oxlint 类型意识执行模式的规则
-   **`react`, (中文(简体) ), `jest`, (中文(简体) ), `vitest` 预设**: 常见回波类型的添加剂插件预设
-   **`contractFixtures` 预设**: 警告 MSW, Playwright, 并导出模拟 固定装置由生产者拥有的合同反应计划解析
-   **`customRules` 预设**: 注册 ESLint 独立剪贴板插件并复制 共用控制器、模块、合同、跨合同进口和合同包装测试 瞄准镜。 设定规则 选项,例如控制器规则 [`forbidTsRestHandler`](https://github.com/ClipboardHealth/core-utils/tree/main/packages/eslint-plugin/src/lib/rules/enforce-contract-in-controllers), (中文(简体) ), 带有本地覆盖
-   **`createOxlintConfig`**: 用 repo- 本地配置编译预设的助手

## 切换倒计时政策

`typescript/switch-exhaustiveness-check` 仍为错误 `considerDefaultExhaustiveForUnions: true`明确 `default` 定义未匹配的策略 值:拒绝它们、返回可选结果或适用倒计时均可能是故意的. 这也允许对运行时间数据包含但类型Script不包含的遗留值进行默认 代表着。 该规则仍然报告,当一个开关没有缺省时,工会成员被忽略了.

这是有意的权衡:增加工会或雇主成员不会引发诊断 切换已存在默认值。 需要每个新成员的仓库或封闭调度员 经审查后可选择加入 `considerDefaultExhaustiveForUnions: false` 以本地规则覆盖。 保留 合同需要时,运行时间倒计时;不要仅仅满足条件 检查。 明确违约并不证明其商业政策是正确的.

在倒置冲突前需要重复的空标签 `unicorn/no-useless-switch-case` 并创造 `complexity` 将这些标签算作额外路径 。 两名警卫仍然可以执行任务。 见 [上游选项文档](https://typescript-eslint.io/rules/switch-exhaustiveness-check/#considerdefaultexhaustiveforunions) 对于更严格的未来成员行为。 升级到已公布的软件包发布后再去除 a 消费者的本地规则禁用.

## 故意残疾规则

`base.json` 无法持有评论, 因此对非明显“ 关闭” 条目的推理 住在这里( 根据 oxlint 1. 60, 2026-06-11 上的剪贴板- 健康 ) :

-   **`no-throw-literal` (只有脚本文件)**数字 : `typescript/only-throw-error` 替换此只使用语法的规则,并使用类型来识别错误值。 基础规则可以拒绝被推迟的键入变量中的错误值 . [上游替换指南](https://typescript-eslint.io/rules/only-throw-error/) 要求取消基础规则以避免不正确的诊断. 覆盖 `.ts`, (中文(简体) ), `.tsx`, (中文(简体) ), `.mts`,以及 `.cts`; Java脚本保留 `no-throw-literal`,并保留类型脚本 `only-throw-error` 真正的非爱抛出。 在CI中运行有意识的类型。 升级为发布后, 消费者可以删除整个存储器 `no-throw-literal: off`;一个明确匹配的本地文件覆盖可以选择回到只使用语法的规则.
-   **`typescript/strict-void-return`**: TypeScript 故意允许一个值返回函数,其中 `void` 由于调用者丢弃结果, 需要调用。 这支持普通 `forEach` 调用 `Set.add`, (中文(简体) ), `Map.set`,或 `Array.push`,并调回返回同步控件的 API。 该规则拒绝这些有效用途 `allowReturnAny` 选项只放松 `any` 返回。 保留 `no-misused-promises` 财务报告和审定财务报表 `no-floating-promises` 启用用于合成滥用。 TypeScript 仍然拒绝从明确宣布返回的函数返回的值 `void`。 。 。 .
-   **`typescript/no-unnecessary-template-expression`**:简化模板文字中的字符串表达式是一种风格偏好. 允许明确字符串正常化和字符串-enum格式化. 保留 `restrict-template-expressions` 财务报告和审定财务报表 `no-base-to-string` 能够检测到不安全的插值.
-   **`typescript/no-unnecessary-type-conversion`**: 删除 `Number`, (中文(简体) ), `String`, (中文(简体) ), `Boolean`,或 `.toString()` 基于已声明类型进行转换是一种样式偏好。 在运行时间数据与其所声明的类型不匹配的边界上,去除可以改变数值或类型. 明确强制是允许的;它不能取代运行时的计数验证或不安全操作的守卫.
-   **`typescript/no-unnecessary-boolean-literal-compare`**: 比较,例如 `value === true`, (中文(简体) ), `value === false`,以及 `value !== false` 即使静态类型说 `boolean`。在运行时,特性标记提供者和持续记录仍然可以提供非布尔值、缺失值或无效值;简化这些比较改变如何处理这些值。 保持对比完好无损,关闭两个共享预设中的冗余诊断. 权衡结果正在失去比已验证的布尔值进行比较的警告;其他类型的正确性和不安全操作规则仍然能够使用.
-   **`typescript/no-useless-default-assignment`**: 需要的静态类型不能证明运行时数据包含字段. 删除一个初始化器可以在数据库记录,API响应,特征标记,或会话有效载荷不完整时更改值. 保留这些运行时间默认值;此规则只表示一个按类型看似无法达到的默认值. 使其无法接受在已验证代码中丢失冗余代码信号,因此防御默认在未验证的边界内仍然可用. 编译器和其他类型意识的正确性和不安全操作规则仍然启用.
-   **`no-extra-boolean-cast`**数字 : `Boolean(value)` 在一个条件中,使数字和符号真实性明确。 删除它是一种普通条件的运行时间等同,但重新引入 `typescript/strict-boolean-expressions` 诊断,因为这一规则拒绝隐含的数字或隐含的真理。 将明确的转换作为冗余风格处理与该类型意识政策相冲突;保持严格的布尔后卫,并保留在基底和独立的前端预设中这一风格规则.
-   **`typescript/no-invalid-void-type`**: 有效的补全 API 使用通用调用, 如 `Promise.withResolvers<void>()` 财务报告和审定财务报表 `http.get<void>()`即使与 `allowInGenericTypeArguments: true`,规则拒绝调用表达式类型参数;这个限制是从打字符-eslint继承的,而不是Oxlint端口差异. 将这些 API 更改为 `undefined` 可改变其公共签名:a `void` 解决许可证 `resolve()` 没有争论。 保留其他 TypeScript 正确性和不安全操作的守护功能 .
-   **`typescript/consistent-return`**: 可选的浏览和过滤回调将赤色返回与值返回合法混合;规则还报告使用已宣布路径的抓取路径 `never` 帮手 内容 `treatUndefinedAsUnspecified` 选项改变其清晰度 `undefined` 而不是承认这些合同. [上游建议](https://typescript-eslint.io/rules/consistent-return/) 类型脚本 `noImplicitReturns` 而是编译器选项 。 启用该选项并在 CI 中运行编译器检查; `strict` 单靠自己无法做到这一点。 没有编译器守护的仓库必须保持明确的本地 `"typescript/consistent-return": "error"` 直到他们收养一个替补. `array-callback-return` 保留用于缺失回调结果。 现有的被抑制的回报型错误和含糊不清的合同仍然是代号债务.
-   **`typescript/no-unsafe-enum-comparison`**:像HTTP状态等被命名常数被比作有线数字和串行. 共享的 TypeScript 指导也更喜欢Const对象而不是enum. 与此相反,这一规则要求匹配名义的enum类型,拒绝这些边界比较和输入验证. 禁用它也允许匹配原始语义:在这种情况下,它不会使用指定的成员来执行。 编译器仍然拒绝不相容的截然不同的enum和出行字面;它并不取代这个规则能做的每一个检查. 需要名义上enum身份的存储器可以明确地将这一规则设定为: `"error"` 内 `localConfig.rules`编辑 [上游指导](https://typescript-eslint.io/rules/no-unsafe-enum-comparison/#when-not-to-use-it) 描述此权衡; 该规则没有用于平面边框比较的配置选项。 其他防震装置,包括重复值检测,仍然可以使用.
-   **`typescript/consistent-type-imports`**: 牛林的口号不是 `emitDecoratorMetadata`\-有意识(即使是在tsconfig链中带有旗帜的有类型意识),因此它将雀巢JS构造器-注入类标为只类型. 应用它的固定值将 DI 令牌转换为 `import type`,SWC从中去除 `design:paramtypes` 元数据,运行时断开注入. 在 NestJS repos 中不要启用,直到 oxlint 匹配 typescript-eslint 的装饰处理 .
-   **`jest/no-confusing-set-timeout`** (预设):假阳性爆炸——当一个笑话设置文件呼叫时 `jest.setTimeout`,规则旗下没有 `setTimeout` 电话(764个干净文件的265k诊断)。 vitest 预设没有 `jest/*` 键 : 在 oxlint \\\\ 1.68 下, 只启用了 vitest 插件, `jest/*` 配置密钥被默默地忽略, 和 joest- plugin 唯一的规则( 例如这个和 `jest/prefer-ending-with-an-expect`——不能开火—— `vitest/no-confusing-set-timeout` 不是一个已注册的规则名, 因此“ 关闭” 条目失败配置解析 .
-   **`import/no-named-as-default` 编号 : `import/no-named-as-default-member`**:低信号;它们标出合法的默认-导出导入模式比实际错误多得多(870个点击,~0个bugs).
-   **`vitest/no-conditional-in-test`** (vitest presition):规则将一个测试中的每一个条件,包括嵌入的模拟回调和表格驱动的输入构造,都视为违反. 国产假货、货币障碍和有条件的固定性能需要分支,而不削弱这种断言。 该规则无法区分这些案例;将相同的分支抽出来作为帮助者,只能从它的测试-祖先heuristic中隐藏. 保留 `vitest/expect-expect`, (中文(简体) ), `vitest/valid-expect`,以及 `vitest/require-to-throw-message` 能够检查断言.
-   **`prefer-destructuring`**: 样式偏好, 没有防止错误值; 不值得作为代理守护符 .

在对13个消费者再投资项目进行审计后,下列项目被关闭(对当地企业进行重新投资) `"off"` 条目、 内置禁用注释和平原运行 `base` + 键 `vitest` 2026-10-14 7 repos上的预设:

-   **`no-await-in-loop`**:相继等待通常是故意的(速率限制,蒙哥会话,订购). 该规则推动特工们走向 `Promise.all`,这会造成货币错误。 它有1 007个内线 禁用9套.
-   **`node/no-process-env`**13个重机中的8个在本地关闭 重置中央集权配置可以重开.
-   **`oxc/no-map-spread`**:一种微优化. 它建议用 `Object.assign`。 。 。 .
-   **`unicorn/consistent-function-scoping`**:将封口移动到模块范围往往使代码更难被读取.
-   **`unicorn/no-useless-undefined`**: 与需要明示的脚本类型签名相冲突 `undefined`。 。 。 .
-   **固定式,限制类别**数字 : `no-plusplus`, (中文(简体) ), `typescript/explicit-member-accessibility`, (中文(简体) ), `typescript/no-import-type-side-effects`, (中文(简体) ), `unicorn/import-style`。 。 。 .

同一审计取消了明确选择 `typescript/array-type` 财务报告和审定财务报表 `unicorn/filename-case`他们是 `style` 规则,所以 `style` 分类现在让他们远离.

在采用回调和强制默认时,首先升级为包含回调和强制的已发布版本,然后去除冗余本地 `off` 条目 `typescript/strict-void-return`, (中文(简体) ), `typescript/no-unnecessary-template-expression`,以及 `typescript/no-unnecessary-type-conversion`需要这些更严格公约的仓库可以选择重新加入当地公约 `error` 超载 保留 `no-misused-promises` 财务报告和审定财务报表 `no-floating-promises` 启用 : 允许丢弃的同步结果不允许未处理的同步失败 。 保留 `restrict-template-expressions` 财务报告和审定财务报表 `no-base-to-string` 启用用于不安全插值.

测试文件在 `base.json` 禁用 `typescript/no-unsafe-*` 家庭 家庭 家庭, `unbound-method`, (中文(简体) ), `no-non-null-assertion`,以及 `restrict-template-expressions` 用于测试文件:模拟, `expect.any`,以及 `createMock` 使这些规则在测试中达到~90%的噪声(模仿长久以来的eslint-config 覆盖),同时保持它们可以执行生产代码. JSON 虚拟预设扩展 `base.json`,但导出的类型脚本 `vitest` 预设加载器只读取其插件和规则。 因此,导出预设带有相同的 `typescript/unbound-method: off` 规则用于基准测试文件 globs 。 一会儿 `localConfig` 仍然可以恢复对选定测试的规则.

## 常见问题

### @clipboard-health/oxlint-config 是什么？

共享 Clippboard 健康存储器的 Oxlint 配置 \.

### 如何安装 @clipboard-health/oxlint-config？

在项目目录运行 npm install @clipboard-health/oxlint-config，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：oxlint（\>=1\.68\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @clipboard-health/oxlint-config 支持 TypeScript 吗？

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

### @clipboard-health/oxlint-config 支持 ESM 还是 CommonJS？

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

### @clipboard-health/oxlint-config 可以商用吗？

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

### @clipboard-health/oxlint-config 的下载量有多少？

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

### @clipboard-health/oxlint-config 还在维护吗？

最新版本 5\.1\.8 发布于 2026/11/05（4 天前）；至今共发布 138 个版本，其中过去 12 个月发布了 138 个；首次发布于 2026/04/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

