@ code- pushup/ typescript- plugin 密码
🕵️ 用编译器诊断测量类型脚本质量的代码 PushUp插件. 🔥
此插件允许您 在 TypeScript 项目中逐步采用严格的编译标记。 。 。 . 它使用 TypeScript 编译器分析您的代码库,以检测潜在的问题和配置问题.
TypeScript 编译器诊断以下列方式映射到代码 PushUp 审核:
value: 为特定类型Script配置选项找到的问题数量(例如 3)displayValue: 发现的问题数量(如"3个问题")score: 二进制评分 - 如果没有问题,则1分;没有问题,则0分- 将问题列入审计细节,包括:
- 源文件位置
- 来自 TypeScript 编译器的错误消息
- 发现问题的代码
开始
-
如果还没有安装 @ code- pushup/ cli (英语) 并创建配置文件.
-
用您的软件包管理器安装为 dev 依赖 :
npm install --save-dev @code-pushup/typescript-pluginyarn add --dev @code-pushup/typescript-pluginpnpm add --save-dev @code-pushup/typescript-plugin -
将此插件添加到
plugins在代码 PushUp CLI 配置文件中的数组(例如 .code-pushup.config.ts) (中文(简体) ).默认情况下, 一个根
tsconfig.json用于编译您的代码库。 根据这些编译器选项,插件将生成审计.import typescriptPlugin from '@code-pushup/typescript-plugin'; export default { // ... plugins: [ // ... typescriptPlugin(), ], }; -
用 CLI 运行 CLI
npx code-pushup collect并查看或上传报告(参见 CLI 文档) (中文(简体) ).
关于类型脚本检查
TypeScript插件使用 TypeScript 编译器分析您的代码库,以识别潜在的问题并强制执行最佳做法. 它有助于确保类型安全和您的类型脚本代码的可维护性.
该插件提供多个审计, 分类为不同的组合 :
- 语义错误数字 :
semantic-errors- 类型检查和类型推断时出错 - 语法错误数字 :
syntax-errors- 在解析和对类型Script源代码进行校正时出错 - 配置错误数字 :
configuration-errors- 解析类型Script配置文件时发生的错误 - 声明和语言服务错误数字 :
declaration-and-language-service-errors- 在 TypeScript 语言服务操作中发生的错误 - 内部错误数字 :
internal-errors- 在类型Script内部操作中发生的错误 - 无隐含出错数字 :
no-implicit-any-errors- 与noImplicitAny编译器选项 - 未知代码数字 :
unknown-codes- 不匹配已知类型脚本错误代码的错误
每次审计:
- 检查特定的类型Script编译器错误和警告
- 根据发现的问题数量提供分数
- 包括详细的错误信息和位置
每个集也作为组在插件中提供. 详见下面 审计和小组。 。 。 .
插件架构
插件配置规格
该插件接受以下参数:
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
| 配置图 | 字符串 qq 字符串 [] | tsconfig.json | 您的路径 tsconfig.json 文件 |
| 仅审计 | 字符串 [] | 未定义 | 用于指定您要测量的文档类型的审计语句。 审计结果只包括特定审计 |
tsconfig
可选参数. 这个 tsconfig 选项可接受配置文件的路径或一系列路径。 默认为 tsconfig.json。 。 。 .
typescriptPlugin({
tsconfig: './tsconfig.json',
});
您还可以提供多个 tsconfigs 来结合不同配置的结果(例如源文件和测试文件的单独配置) :
typescriptPlugin({
tsconfig: ['./tsconfig.lib.json', './tsconfig.spec.json'],
});
如果您使用 Nx 单列波, 则会提供辅助功能, 以自动发现所有项目的 tsconfigs :
import typescriptPlugin, { tsconfigFromAllNxProjects } from '@code-pushup/typescript-plugin';
export default {
plugins: [
await typescriptPlugin({
tsconfig: await tsconfigFromAllNxProjects(),
}),
],
};
您可以以下列名称排除特定项目:
await tsconfigFromAllNxProjects({ exclude: ['my-app-e2e'] });
onlyAudits
这个 onlyAudits 选项允许您指定要测量的文档类型。 审计结果中只包括具体的审计。 所有审计都是默认列入的。 示例
typescriptPlugin({
onlyAudits: ['no-implicit-any'],
});
可选设置的类别
您希望列入自定义类别(使用)的参考审计(或一组) npx code-pushup print-config 以列出审计和组别.
根据每次TypeScript检查对总体类分的影响来分配权重(将权重0指定为仅作为额外信息包含,而不影响类分).
// ...
categories: [
{
slug: 'typescript',
title: 'TypeScript',
refs: [
{
type: 'audit',
plugin: 'typescript',
slug: 'semantic-errors',
weight: 2,
},
{
type: 'audit',
plugin: 'typescript',
slug: 'syntax-errors',
weight: 1,
},
// ...
],
},
// ...
];
此外,还可以使用下列组合:
// ...
categories: [
{
slug: 'typescript',
title: 'TypeScript',
refs: [
{
slug: 'problems',
weight: 1,
type: 'group',
plugin: 'typescript',
},
// ...
],
},
// ...
];