跳到正文

日志级别

在打包过程中控制日志的详细程度,有助于您专注于最重要的信息。推荐在 tsdown 中使用 --log-level 选项来管理日志输出。

用法

如果要屏蔽所有日志(包括错误),请将日志级别设置为 silent

bash
tsdown --log-level silent

如果只显示错误信息,请将日志级别设置为 error

bash
tsdown --log-level error

这对于 CI/CD 流水线或需要极简控制台输出的场景非常有用。

可用日志级别

  • silent:不显示任何日志,包括错误。
  • error:仅显示错误信息。
  • warn:显示警告和错误信息。
  • info:显示信息、警告和错误(默认)。

根据您的工作流选择合适的日志级别,以控制构建过程中显示的信息量。

警告时失败

failOnWarn 选项控制警告是否会导致构建以非零退出码退出。

tsdown.config.ts
ts
import { defineConfig } from 'tsdown'

export default defineConfig({
  // 始终在遇到警告时失败
  failOnWarn: true,
  // 仅在 CI 中遇警告时失败
  failOnWarn: 'ci-only',
})

详见 CI 环境 了解更多 CI 感知选项。

屏蔽警告

有些警告仅为提示信息,在你的项目中无需处理。suppressWarnings 选项可以屏蔽消息匹配指定模式的警告。

tsdown.config.ts
ts
import { defineConfig } from 'tsdown'

export default defineConfig({
  suppressWarnings: [
    // 子串匹配
    'is experimental',
    // 正则匹配
    /Circular dependency/,
  ],
  // 或使用断言函数
  // suppressWarnings: (msg) => msg.includes('is experimental'),
})

suppressWarnings 接受字符串(子串匹配)、RegExp、二者的数组,或 (msg: string) => boolean 断言函数。

被匹配的警告会在应用 failOnWarn 之前被丢弃,因此即使启用了 failOnWarn,被屏蔽的警告也不会导致构建失败。这非常适合在保持 failOnWarn: true 的同时,忽略无需处理的提示(例如 TypeScript 7.0 实验性 API 警告)。

Released under the MIT License.