@ cosyte/ tsconfig
两个"TypeScript"配置,一个"严格"栏目,没有"每回相"的复制来漂移.
@ cosyte/ * 包的共享类型脚本配置 .
为什么会这样
A 类 tsconfig.json 复制到10个仓库就是10个严格条 其中一个放松
exactOptionalPropertyTypes 解锁一个发布, 放松停留, 现在两个包
他们的约定不同.
最近的替代方案是模板文件脚手架复制件,而不是这样:
模板修复已存在的仓库。 这是已经出版的软件包,所以提高吧
给每个消费者一个版本的颠倒 pnpm install。 。 。 .
状态
@cosyte/tsconfig 位于Cosyte 0.1.x线上:公共API被安顿下来,凸起类型跟随普通semver.
两个配置名称( :base.json, (中文(简体) ), library.json)在实践中是稳定的,但内部设置的选项
它们不是: 编译器选项作为 TypeScript 船载它们, 当解析器发现漏洞时被添加,以及
每一个添加可以红 消费者的建筑。 如果这对你很重要的话,就按一个精确的版本.
安装
pnpm add -D @cosyte/tsconfig typescript
typescript 是同级依赖。 节点 >=22.14包装了两个JSON文件 没有密码.
使用量
两个配置:
base.json: 类型检查基线(不发射)。 将此扩展至tsc --noEmit。 。 。 .library.json数字 :base.json加上声明和源图,用于建设可出版的图书馆.
tsconfig.json (类型检查,自行设定) outDir 编号 : noEmit 编号 : include:
{
"extends": "@cosyte/tsconfig/base.json",
"compilerOptions": { "noEmit": true },
"include": ["src", "test"],
}
tsconfig.build.json (电子邮件图书馆):
{
"extends": "@cosyte/tsconfig/library.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"],
}
入境点
两相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相 @cosyte/tsconfig 故意拒绝:
tsconfig.json 命名它延伸的文件,所以每个文件都通过自己的子路径到达.
| 进入点 | 这是什么 |
|---|---|
@cosyte/tsconfig/base.json | 类型检查基线,不发射。 将此扩展至 tsc --noEmit |
@cosyte/tsconfig/library.json | base.json + 声明和源图发布,用于建立已出版的 lib |
两者都是编译器读取的 JSON 文件, 所以两个文件都没有这个寄存器的测试运行 执行 : 没有可调用的内容 .
覆盖
任何内容 compilerOptions 在扩展文件中再次声明,即
怎么样 outDir, (中文(简体) ), rootDir, (中文(简体) ), noEmit 财务报告和审定财务报表 include 被设定。 类型脚本解析最近的
因此,你的价值胜过从这里继承的.
把一面坚硬的旗子关了 是一次可以三思而后行 它没有被封锁,而且
这里没有东西能挡住它 但是它无声地拓宽了下游的空间 @cosyte/* 你的消费者
类型允许假设。 换一下这里,换个版本,整个套房都搬了
一起来.
PHI 与安全
此软件包是构建配置 。 里面没有代码,没有读取输入,也没有看到病人 数据:是TypeScript编译器读取的两个JSON文件。 这里没有日志、 保留或传输 任何东西.
兼容性
严格, ES2023, (中文(简体) ), NodeNext,带有完整的硬度(noUncheckedIndexedAccess, (中文(简体) ),
exactOptionalPropertyTypes, (中文(简体) ), noPropertyAccessFromIndexSignature(还有更多). NodeNext 模块
解析意味着消费者需要新版的TypeScript来理解它, 并双版发布
软件包应该用 @arethetypeswrong/cli。 。 。 .
捐款
问题、错误报告和提议 问题跟踪器欢迎调用请求 cosyte/ 配置,这个包裹住的地方.
改变必须清除所需的 verify 任务,对该软件包的更改需要更改
上面写着移动的东西:一个编译器选项在这里添加了每个没有移动的消费者的红色.
许可证
麻省理工学院,版权:Cosyte LLC. 见 自由主义。 。 。 .