@ alxwlw/ tsconfig
类型脚本 7 tsconfig 预设的峡谷。 每个预设都是平地 .json 文件 —— 通过
软件包指定符(已公布的消费者)或路径(此回放, 扩展自己的预设)
直接从 packages/tsconfig/) (中文(简体) ).
预设
| 预设 | 扩展 | 用它来 |
|---|---|---|
base.json | —— 说 | 从未通过应用程序直接延伸. 严格 TS7 默认其他预设基于: strict, (中文(简体) ), noUncheckedIndexedAccess, (中文(简体) ), verbatimModuleSyntax, (中文(简体) ), declaration。 。 。 . |
node.json | base | 节点目标包或脚本. 添加数 lib: ["ES2025"] 财务报告和审定财务报表 types: ["node"]。 。 。 . |
library.json | base | 船舶编译输出供他人进口的包. emitDeclarationOnly - 类型出,没有 .js (捆绑人/tsc -p 其他生成运行时文件). |
react.json | base | 浏览器/反应码. lib: ["ES2025", "DOM", "DOM.Iterable"], (中文(简体) ), jsx: "react-jsx"解析器 . |
refs.json | node | 一个倒数+月 项目参考 单列波包 : composite, (中文(简体) ), incremental时,只发出 .d.ts 输入 .tsbuild/ - 运行时间JS来自Bun/SWC/一个捆绑商,而不是 tsc月球任务 typecheck (单位:千美元)--noEmit)不构建引用. |
nest.json | refs | 一个 NestJS 软件包 refs.json项目参考学科:后遗症装饰师+ emitDecoratorMetadata,以及 verbatimModuleSyntax: false (DI需要类型导入来活下来去除——参见预设本身的评论). |
bun.json | base | Bun-native 脚本或 CLI( 此 repo 自己的) packages/stack 用它来表示:, types: ["bun"], (中文(简体) ), noEmit, (中文(简体) ), allowImportingTsExtensions。 。 。 . |
使用量
// tsconfig.json (repo root, or a package's own tsconfig)
{
"extends": "@alxwlw/tsconfig/node.json",
}
这些预设没有声明 @types/node 或者说 @types/bun 作为这一一揽子方案的依赖者—— 你们
安装您的 types 阵列需要你自己. node.json编号 :refs.json编号 :nest.json 预期
@types/node 在你身边 devDependencies· ; bun.json (及其试验用途的任何项目) bun:test(中文(简体) )
预期 @types/bun。这个包是自己的 devDependencies 两者都是用来进行测试的
(单位:千美元)presets.test.ts 每个预设编译一个固定图)——它们不再出口给消费者,pnpm's
严格联系不会免费交给你.
尖锋: .ts- 扩大进口和 bun:test 需要超过 node.json
如果您的源代码为 unpress .ts 扩展import { x } from './x.ts' - 所需经费
装入/nodenext 无害环境管理,在运行时解决,不采取建设步骤)或测试用途 bun:test,扩展
node.json 独自一人 不够 将大喊大叫地失败:
error TS5097: An import path can only end with '.ts' when 'allowImportingTsExtensions' is enabled.
allowImportingTsExtensions 需求 noEmit (或 emitDeclarationOnly) 待定—— node.json
也没有设置,因为一个普通的节点包通常会编译它的 .ts 改为 .js 没有
导入 .ts 扩展名。 如果您的包是 Bun -run 且从未发出, 请覆盖顶部 :
{
"extends": "@alxwlw/tsconfig/node.json",
"compilerOptions": {
"allowImportingTsExtensions": true,
"noEmit": true,
"types": ["node", "bun"],
},
}
(这正是这个雷波自己的根) tsconfig.options.json 是否为 -- bun.json 一个人不会
要么合适,要么因为它下降 types: ["node"],哪个 node:* 内置进口仍然需要。 ) 狦琌
建立带有节点特定打字的平版 Bun CLI/script, bun.json 单靠自己就简单了
适合 – 只有当您同时需要两个表面时才能达到上面的覆盖 .