# @faircopy/core 中文文档

规范地址：https://npmcn.com/package/%40faircopy/core/

版本：1\.27\.3
npm 元数据更新时间：2026-11-07T06:14:19.304Z
中文译文更新时间：2026-11-14T08:59:52.352Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40faircopy/core
原文对照：https://npmcn.com/package/%40faircopy/core/?lang=original
项目主页：https://github.com/omniaura/faircopy#readme
源码仓库：https://github.com/omniaura/faircopy

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

- 包体积（解压后）：40.3 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-04-23T09:18:39.868Z
- 最新版本发布：2026-11-07T06:14:18.963Z
- 近 30 天下载量：12765（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 35 个）

## 中文简介

公平复制的核心引擎——类型,配置加载器,文件解析器,规则跑取器

## 安装

```sh
npm install @faircopy/core
```

也可以使用：`pnpm add @faircopy/core`、`yarn add @faircopy/core`、`bun add @faircopy/core`

## README

# @ faircopy/ 核心

公平复制的核心引擎. 提供类型,配置加载,文件解析度,以及规则导出. 此软件包适用于适配器和规则作者——大多数用户应安装 `faircopy` 换句话说.

## 安装

```sh
npm i @faircopy/core
```

## 公共 API

### `loadConfig(cwd?)`

查找和装入 `faircopy.config.ts` (或 `.js`, (中文(简体) ), `.mjs`, (中文(简体) ), `.cjs`)通过 `jiti`投篮 `ConfigError` 如果没有找到配置.

```ts
import { loadConfig } from '@faircopy/core'
const { config, configPath } = await loadConfig(process.cwd())
```

`loadConfigFile(filename)` 装入精确的配置路径并解析导入 相对于那个文件.

### `resolveFiles(config, cwd?)`

解析文件 globs from `config.files`,尊重 `config.ignore` 财务报告和审定财务报表 `.gitignore`。 。 。 .

## 忽略注释

为一条源线禁止每一条规则

```tsx
// faircopy-ignore-next-line
<p>Intentional copy that would otherwise be reported.</p>

<p>Intentional copy.</p> {/* faircopy-ignore-line */}
```

添加逗号分隔的规则 ID 以压制那些规则 :

```tsx
// faircopy-ignore-next-line no-em-dash, no-weasel-words
<p>Intentional rule exceptions.</p>
```

这些指令与行、块、JSX和HTML评论标记相配合.

```ts
import { resolveFiles } from '@faircopy/core'
const files = await resolveFiles(config, cwd)
```

### `lintFile(filePath, source, adapters, rules)`

使用适当的适配器运行一组针对单个文件的解析规则.

```ts
import { lintFile } from '@faircopy/core'
const diagnostics = await lintFile(filePath, source, adapters, resolvedRules)
```

### `lintFileWithCoverage(filePath, source, adapters, rules)`

回返 `{ diagnostics, coverage: { adapter, segments, characters } }` 从一个 提取通行证. `adapter: null` 表示扩展不支持 。 无 片段/特征表示没有提取出非空泛的散文. 字符计数使用 UTF-16 代码单元并包括所保留的白空间. `lintFile()` 仍为 对现有呼叫者只诊断 API; 清空时使用覆盖 API 结果还必须证明提取范围.

### `parseSeverity(ruleConfig)`

参数 a `RuleConfig` 输入值 `{ severity, options }`。 。 。 .

## 关键类型

```ts
interface FaircopyConfig { files, ignore?, adapters?, rules, noGitignore?, concurrency? }
interface Adapter { name, extensions, extract(filePath, source) }
interface Rule<Opts> { id, description, check(input) }
interface Diagnostic { ruleId, severity, message, range, help?, suggest? }
interface ExtractedText { text, sourceMap, meta? }
```

见 [类型.ts](https://npmcn.com/package/%40faircopy/core/src/types.ts) 整个计划.

## 代理输出

`@faircopy/core/reporting` 曝光 CLI、 Docs 和集成的可重用格式化 :

```ts
import { formatAgentCompact, buildAgentJsonPayload } from '@faircopy/core/reporting'
```

`formatAgentCompact()` 指向编码剂的诊断。 默认启用片段, 默认禁用字符字节区域, 两者都可以在全球配置, 或者通过规则配置 `output.agentCompact`。 。 。 .

```ts
export default defineConfig({
  output: {
    agentCompact: {
      snippets: 'all',
      snippetChars: 140,
      chars: false,
      rules: {
        'no-em-dash': { snippets: 'first' },
      },
    },
  },
})
```

## 常见问题

### @faircopy/core 是什么？

公平复制的核心引擎——类型,配置加载器,文件解析器,规则跑取器

### 如何安装 @faircopy/core？

在项目目录运行 npm install @faircopy/core，或使用 pnpm add / yarn add / bun add。

### @faircopy/core 支持 TypeScript 吗？

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

### @faircopy/core 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @faircopy/core 可以商用吗？

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

### @faircopy/core 的下载量有多少？

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

### @faircopy/core 还在维护吗？

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

