TypeScript
只管类型、tsconfig、编译器行为。如何用 Node 跑 .ts 交给 node 技能;Vue SFC / Volar 交给 vue 技能。构建工具、CSS、状态库跟项目走,不要在本技能里指定。
禁止凭训练数据写 API。先定版本,再读对应 reference。
定版本
- 读已安装的
typescript版本:node_modules/typescript/package.json的version,或 lockfile。不要只看package.json的^/>=范围。 - 同时装了
typescript@7与@typescript/typescript6(或 npm alias)时:应用代码与项目已有的 typecheck 入口以 7 为准;需要 programmatic API 的工具以 6 为准。见 references/7.md。 - 取 major(
5.8.4→5),打开下表。写代码时只开当前档,不要整夹盲读。5.x 再记下 minor:只用5.0…5.y小节。
| major | 文件 |
|---|---|
| 5 | references/5.md |
| 6 | references/6.md |
| 7 | references/7.md |
未列出的更新 major:以已覆盖的最高档为底,再查官方 Announcing / handbook release notes。更旧:不要使用本技能里的新 API。
写法基线(5.0+ 都该用)
- 字面量收窄用
satisfies,不要as一把梭。 - 库作者要保留元组 / 对象字面量时,泛型参数写
const T,不要让调用方到处as const。 - 新装饰器用标准 decorators。不要开
experimentalDecorators,除非项目已经钉死旧语义。 - 打开
verbatimModuleSyntax:值 import 与import type分开;不要靠 import elision。 moduleResolution:bundler / Vite 用bundler;直接跑 Node 用当前档的nodenext/node20/node18。不要用node10/node。- 解析策略必须跟
--module匹配;细节(bundler能否配commonjs、require(esm)落在哪个module)见当前档。