@ code- pushup/ cli (英语)
🔎🔬 您的软件项目的质量衡量标准 . 📉🔍
- ⚙️ 配置您想要使用您最喜欢的工具来跟踪的东西 .
- 🤖 把它融入你的线人.
- 🌈 在漂亮的仪表板上看到报告.
| 开始 | 门户网站整合 | QQ CI 自动化 |
|---|---|---|
| 如何设置 基本项目 | 排序, 过滤器 目标 | 更新 每个公关 |
![]() | ![]() | ![]() |
代码PushUp CLI服务于 收集审计结果,可选择 上传报表 到代码PushUp门户.
它可以在您的存储器中局部使用, 或者在您的 CI 环境中集成 .
如果你在寻找程序用途,那么请参考基础 @ code- pushup/ core (中文(简体) ) 软件包.
开始
-
用您的软件包管理器安装为 dev 依赖 :
用于安装命令
npm, (中文(简体) ),yarn财务报告和审定财务报表pnpmnpm install --save-dev @code-pushup/cliyarn add --dev @code-pushup/clipnpm add --save-dev @code-pushup/cli -
创建一个
code-pushup.config.ts配置文件( e).js或者说.mjs扩展也得到支持).import type { CoreConfig } from '@code-pushup/models'; const config: CoreConfig = { plugins: [ // ... ], }; export default config; -
根据您的项目需要添加插件( 例如) . @ code- pushup/ eslint- plugin 或者说 @ code- pushup/ coverage- plugin (英语)) (中文(简体) ).
npm install --save-dev @code-pushup/eslint-pluginimport eslintPlugin from '@code-pushup/eslint-plugin'; import type { CoreConfig } from '@code-pushup/models'; const config: CoreConfig = { // ... plugins: [ // ... await eslintPlugin({ eslintrc: '.eslintrc.js', patterns: ['src/**/*.js'] }), ], }; export default config; -
用 CLI 运行 CLI
npx code-pushup(见--help页:1. -
查看输出目录中的报告文件( 由
persist.outputDir配置).
此文件夹应在您的.gitignore。 。 。 .
设置分类( 可选)
-
定义您的自定义类别 .
const config: CoreConfig = { // ... categories: [ { slug: 'performance', title: 'Performance', refs: [ // reference to an existing audit or group from plugins { type: 'audit', plugin: 'eslint', slug: 'react-jsx-key', weight: 1, }, // ... ], }, // ... ], }; -
用 CLI 运行 CLI
npx code-pushup。 。 。 . -
查看报告文件,包括输出目录中的类别部分.
门户一体化
如果您可以访问代码 PushUp 门户, 您可以安装上传报告 @code-pushup/portal-client 软件包.
用于安装命令 npm, (中文(简体) ), yarn 财务报告和审定财务报表 pnpm
npm install --save-dev @code-pushup/portal-client
yarn add --dev @code-pushup/portal-client
pnpm add --save-dev @code-pushup/portal-client
软件包安装后, 更新您的配置文件以包含您的门户证书 :
const config: CoreConfig = {
// ...
upload: {
server: 'https://ip-or-domain/path/to/portal/api/graphql',
apiKey: process.env.PORTAL_API_KEY,
organization: 'my-org',
project: 'my-project',
},
};
CI 自动化
GitHub 动作示例
name: Code PushUp
on: push
jobs:
collect-and-upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npx code-pushup autorun --upload.apiKey=${{ secrets.PORTAL_API_KEY }}
配置
关于配置文件中所有选项的综合清单,请参见: CoreConfig 文档。 。 。 .
配置文件的默认位置是 code-pushup.config.ts, (中文(简体) ), code-pushup.config.mjs 或者说 code-pushup.config.js其他地点需要使用 --config=<path> CLI选项.
如果您的配置文件依赖于一些自定义的 TypeScript 项目配置 - 例如通过导入别名 编译器选项.paths (常见于Nx) - 您可以使用 --tsconfig=<path> CLI选项.
自定义插件
我们提供了有关 如何创建自定义插件。 。 。 .
该寄存器还维护了一组插件实例来显示不同的情景.
每个实例都经过充分测试,以展示插件测试的最佳做法.
自定义插件示例 :
CLI 命令和选项
全球选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--verbose | boolean | process.env['CP_VERBOSE'] 如果设置, 否则 false | 切换是否打印调试日志 . |
--config | string | 寻找 code-pushup.config.{ts|mjs|js} | 配置文件路径 . |
--tsconfig | string | 无 | 用于装入配置文件的 TypeScript 配置路径 . |
[注]
默认情况下, CLI 负载code-pushup.config.(ts|mjs|js)如果没有提供配置路径--config。 。 。 .
常见命令选项
全球选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--onlyPlugins | string[] | [] | 只运行指定的插件 。 适用于所有命令,但 upload。 。 。 . |
--skipPlugins | string[] | [] | 跳过指定的插件 。 适用于所有命令,但 upload。 。 。 . |
--onlyCategories | string[] | [] | 只运行指定的类别 。 适用于所有命令,但 upload。 。 。 . |
--skipCategories | string[] | [] | 跳过指定的类别 。 适用于所有命令,但 upload。 。 。 . |
缓存选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--cache | boolean | false | 缓存运行输出( 读取和写入) . |
--cache.read | boolean | false | 如果插件审计产出应从文件系统缓存中读取. |
--cache.write | boolean | false | 如果插件审计输出应当写入文件系统缓存. |
持久性选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--persist.outputDir | string | 无 | 编制报告目录. |
--persist.filename | string | report | 没有扩展的生成报告的文件名 . |
--persist.format | ('json' | 'md')[] | json | 报表文件的格式. |
--persist.skipReports | boolean | false | 跳过生成报告文件 。 (有用与缓冲结合) |
上传选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--upload.organization | string | 无 | 传送门的卫星. |
--upload.project | string | 无 | 传送门的子弹. |
--upload.server | string | 无 | URL 到您的门户服务器 . |
--upload.apiKey | string | 无 | 门户网站服务器的 API 密钥 . |
[注]
所有常见选项,但--onlyPlugins财务报告和审定财务报表--skipPlugins,也可以在配置文件中指定. CLI 参数优先于配置文件选项.
[注]
这个--upload.*选项组适用于所有命令,但collect。 。 。 .
图标
collect 命令
用法 :
code-pushup collect [options]
说明 : 命令初始化并执行必要的插件并收集结果. 报告根据结果编写了一份综合报告.
参见 常见命令选项 的选项.
upload 命令
用法 :
code-pushup upload [options]
说明 : 上传报告到代码PushUp门户网站.
参见 常见命令选项 的选项.
autorun 命令
用法 :
code-pushup autorun [options]
说明 : 运行插件,收集结果并上传报告到代码PushUp门户网站.
参见 常见命令选项 的选项.
history 命令
用法 :
code-pushup history
说明 : 运行插件, 收集结果并上传报告到代码 PushUp 门户, 用于指定数量的承诺 .
参见 常见命令选项 的选项.
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--targetBranch | string | 关键 | 分行来爬行历史. |
--forceCleanStatus | boolean | false | 如果我们把状态重新设置为 干净的基特历史 强或不是. |
--maxCount | number | 页:1 | 承诺数量. |
--skipUploads | boolean | false | 上传创建的报告 |
--from | string | 无 | 历史的开始 |
--to | string | 无 | 历史结束 |
compare 命令
用法 :
code-pushup compare --before SOURCE_PATH --after TARGET_PATH [options]
说明 : 比较2份报告并生成报告 diff 文件 .
计外 常见命令选项,以下选项得到 compare 命令 :
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--before | string | .code-pushup/report-before.json [^1] | 来源路径 report.json。 。 。 . |
--after | string | .code-pushup/report-after.json [^1] | 目标路径 report.json。 。 。 . |
--label | string | 不详 [^2] | Diff的标签(例如项目名称). |
[^1]:用途 persist 配置以决定报告路径, 因此默认文件路径实际上是 ${persist.outputDir}/${persist.filename}-before.json 财务报告和审定财务报表 ${persist.outputDir}/${persist.filename}-after.json。 。 。 .
[^2]:用途 label 从输入中 report.json 文件是两者具有相同的价值.
print-config 命令
用法 :
code-pushup print-config [options]
说明 : 打印解析配置 .
计外 常见命令选项,以下选项得到 print-config 命令 :
| 选项 | 需求 | 类型 | 说明 |
|---|---|---|---|
--output | 对 | string | 输出文件打印配置的路径 . |
merge-diffs 命令
用法 :
code-pushup merge-diffs --files PATH_1 PATH_2 ... [options]
说明 :
将多个报表 diff 合并为单个 report-diff.md。 。 。 .
计外 常见命令选项,以下选项得到 merge-diffs 命令 :
| 选项 | 需求 | 类型 | 说明 |
|---|---|---|---|
--files | 对 | string[] | 清单 report-diff.json 路径. |
缓存
CLI支持缓存以加速后续运行,并与Nx和Turborepo兼容.
根据策略,您可以缓存生成的报告文件或插件跑车输出. 对于精细的缓存,我们建议缓存插件跑跑器输出.


