SuperAPI AI 工具集

ts-config

编程与开发

查看项目

更新于 10-26 16:22

技能介绍

用途:ts-config 技能用于在创建或迁移 tsconfig.json、选择 module 与 moduleResolution、以及修复 TS 6.0 弃用项(这些弃用项在 TS 7.0 中变为硬错误)时提供配置指引。它面向 TypeScript 7.0(原生 Go 编译器)的配置场景。

主要能力:资料给出两条互斥的配置路线,按运行时选择、不可混用。Bundler 路线适用于 Bun、Vite、esbuild、webpack、Parcel 等,使用 module: Preserve、moduleResolution: bundler;Node 路线适用于直接运行 node file.ts(类型剥离)或为 Node 产出 .js,使用 module: nodenext、moduleResolution: nodenext。技能还覆盖 TS 6.0 弃用清理:弃用 moduleResolution: node/node10(6.0 弃用、7.0 硬错误)、启用 verbatimModuleSyntax、strict + noUncheckedIndexedAccess、显式声明 types(6.0 起默认为 [])与 rootDir(6.0 起不再推断,默认 tsconfig 所在目录)。

使用方式:资料规定写入 tsconfig 前需并行启动三个代理,每次一个 Agent 调用并命名:fuse-ai-pilot:explore-codebase(检测运行时 Bun/Node/打包器、现有 tsconfig、package.json 的 type)、fuse-ai-pilot:research-expert(在 typescriptlang.org 发布说明与运行时文档上确认当前标志)、mcp__context7__query-docs(查询 /microsoft/typescript 中行为不明确的标志)。写入后运行 fuse-ai-pilot:sniper 进行校验。技能附带参考文档:bundler-track.md、node-track.md、deprecations-6.md,以及模板 tsconfig.bundler.md、tsconfig.node.md。迁移 5.x 配置时应先读 deprecations-6.md,再选择路线。

适用场景:配置 Bun 或打包器项目、配置纯 Node.js 原生类型剥离项目、从 TS 5.x/6.0 迁移并修复弃用错误、采用 TS 7.0 tsc。资料给出 Bundler 与 Pure Node.js 的快速参考配置片段,包含 module、moduleResolution、verbatimModuleSyntax、allowImportingTsExtensions、noEmit、strict、noUncheckedIndexedAccess、rewriteRelativeImportExtensions、erasableSyntaxOnly 等选项。

限制:资料明确不覆盖 TypeScript 语言语法与惯用法(属于 ts-language-patterns)、自带 tsconfig 基座的框架配置(Next.js/Astro/Vite 插件技能)以及非 TS 构建工具。不要混用 module: Preserve 与 moduleResolution: nodenext(或反之);不要将 esModuleInterop、allowSyntheticDefaultImports、alwaysStrict 设为 false;在由 Node 类型剥离运行的文件中不要使用 enum、带运行时代码的 namespace 或参数属性。迁移期可临时添加 "ignoreDeprecations": "6.0",之后移除,且 TS 7.0 不认可该选项;需要编译器 API 的工具(如 typescript-eslint)可通过 @typescript/typescript6 别名留在 TS 6。baseUrl 已弃用,应把前缀并入每个 paths 条目;可用 package.json imports 的子路径导入 "#/": "./src/"。