@definitelytyped/dts-critic

中文文档
0.1.38发布于 2026/11/12MITTypeScriptCommonJS近 30 天下载 3.6万

对照 Javascript 源检查一个新的.d.ts 并告诉你它有什么问题

中文使用文档
文档目录4 节
  1. 模式
  2. Npm 声明
  3. 非npm 声明
  4. 测试

dts - 批评

对照 Javascript 来源检查新 dts 并告诉你 它的问题.

使用量

构建程序 :

$ npm run build

使用节点运行程序 :

$ node dist/index.js --dts=path-to-d.ts [--js=path-to-source] [--mode=mode] [--debug]

如果 d.ts 路径为名为文件 index.d.ts,目录名称 将改为软件包名称。 举个例子 ~/dt/types/jquery/index.d.ts 将使用 jquery 作为名字.

path-to-source 是可选的; 如果您将其关闭, 代码会 检查 npm 是一个与 d.ts 名称相同的软件包.

模式

您可以在不同的模式下运行 dts- 批评, 以影响将执行的检查 :

  1. name-only: dts- critic 将检查您的软件包名称和 当然 已键入页眉 (如果有的话)针对npm包. 例如,如果你的申报是Npm软件包的“冷却-js-package”,它会检查一个 名为 “ cool- js- package” 的软件包实际上存在于 npm 中.

  2. code:除了在下列日期进行的检查之外: name-only 模式,dts-critic将检查您是否 声明导出匹配源 JavaScript 模块导出 . 例如,如果声明有默认导出,它会检查JavaScript模块是否也 有默认导出.

当前检查

Npm 声明

如果您的申报是 npm 包 :

  1. 声明包的同名 npm 包必须存在 .
  2. 如果你的包裹有一个 绝对符合规格的软件包,npm软件包的版本必须匹配您的版本.
  3. 如果你正在运行下 code 模式,您的声明也必须匹配源 JavaScript 模块.

非npm 声明

如果您的声明是针对一个非npm 软件包的(换句话说,如果您的声明有 绝对符合规格的软件包 与 "nonNpm": true:

  1. 声明包的同名 npm 包 无法 已存在.
  2. 如果你正在运行下 code 模式 财务报告和审定财务报表 提供了 JavaScript 源文件的路径, 您 声明还必须与源 JavaScript 模块相匹配.

计划工作

  1. 确保您的模块结构符合源 .
  2. 确保您的导出符号匹配源 .
  3. 确定你们的类型与源类型相符吗?
  4. 基于npm主页的下载源(如果是github).

请注意,为了在绝对打字机上真正使用,很多这些检查需要相当松散.

捐款

测试

测试使用 节点Js的试跑者 针对编译的 JavaScript . 从单列波根开始,构建所有包和测试,然后运行dts-批评测试:

pnpm build
pnpm test packages/dts-critic

更改源文件或测试后重建 .

版本与发布记录

@definitelytyped/dts-critic 共发布 171 个版本,首次发布于 2021/12/02;过去 12 个月发布了 14 个版本。

版本发布日期距今
0.1.38latest2026/11/12今天
0.1.372026/11/047 天前
0.1.352026/10/2221 天前
0.1.332026/07/213 个月前
0.1.322026/07/094 个月前
0.1.312026/06/164 个月前

其他发布通道:next → 0.0.172-next.0。

关于 @definitelytyped/dts-critic 的常见问题

@definitelytyped/dts-critic 是什么?

对照 Javascript 源检查一个新的.d.ts 并告诉你它有什么问题

如何安装 @definitelytyped/dts-critic?

在项目目录运行 npm install @definitelytyped/dts-critic,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(<7)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@definitelytyped/dts-critic 支持 TypeScript 吗?

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

@definitelytyped/dts-critic 支持 ESM 还是 CommonJS?

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

@definitelytyped/dts-critic 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.22.2 || ^24.15.0 || >=26。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@definitelytyped/dts-critic 可以商用吗?

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

@definitelytyped/dts-critic 的下载量有多少?

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

@definitelytyped/dts-critic 还在维护吗?

最新版本 0.1.38 发布于 2026/11/12(今天);至今共发布 171 个版本,其中过去 12 个月发布了 14 个;首次发布于 2021/12/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。