SuperAPI AI 工具集

node-typescript

编程与开发

查看项目

更新于 10-16 03:14

技能介绍

用途:为 Node 库和应用生成显式、严格且正确的 TypeScript 配置,重点解决三类问题——照搬隐式默认值已随 TypeScript 大版本变化的 tsconfig;对未打包的 Node 包误用 bundler 解析导致使用者报错;在大型代码库中一次性开启严格模式而无法评审。

主要能力:坚持“显式配置”原则,不依赖生成或版本默认值,把关键选项逐条写出(参考 references/tsconfig-playbook.md 中的配置块)。按消费模式而非流行度选择:发布/未打包的 Node 包使用 nodenext 系列的 module 与 moduleResolution、verbatimModuleSyntax、declaration 与 declarationMap,并在 API 面允许时用 isolatedDeclarations 做并行、工具无关的声明输出;被打包的应用代码使用 bundler 解析加 noEmit(由打包器输出)。用 tsc --noEmit(或项目引用时用 -b)作为脚本与 CI 关卡。

用法与验证:输出内容包括显式 tsconfig、类型检查脚本与 CI 关卡、库的声明文件及 map、module/resolution 选择的书面理由,以及适用时的可度量渐进严格化计划。验证以干净的 tsc --noEmit 为准;发布包需确认声明可输出,并把消费端解析验证交给 node-packaging 的关卡。

适用场景:Node 库与应用的类型配置;存量代码库开启 strict 模式时应采用棘轮式推进,先测量错误面,再按标志或目录增量启用,并以“无新增错误”规则保持 CI 绿色。

限制与注意:本技能不负责 lint/format(见 node-lint)、打包与 exports maps/消费端类型解析(node-packaging)、测试运行器 TS 支持(node-testing)。对直接被 Node 消费的包使用 bundler 解析会本地通过却破坏使用者。verbatimModuleSyntax 会要求类型导入使用 import type,并约束 CJS 默认导出,需配合 codemod 启用。isolatedDeclarations 要求导出 API 有显式返回类型,适合库、对应用偏吵。TypeScript 7(原生编译器,2026 年 7 月 GA)是 typescript@latest 安装的版本,显式 tsconfig 保持兼容,但 6.0 的弃用项(baseUrl、target: es5、moduleResolution: classic)在 7 中成为硬错误,依赖 API 的工具可用 @typescript/typescript6 回退。TS 大版本变化时应对照官方 TSConfig 参考重新核对默认值与标志行为。资料未提供具体价格与安装命令。