建议
🔍搜索词
✅可行性检查清单
我的建议符合以下准则:
- [ x] 这不会对现有的TypeScript/JavaScript代码造成破坏性的变化
- [ x] 这不会改变现有JavaScript代码的运行时行为
- [ x] 这可以在不根据表达式的类型发出不同的JS的情况下实现
- [ x] 这不是一个运行时特性(例如库功能、带有JavaScript输出的非ECMAScript语法、JS的新语法糖等)
- [ x] 这个特性将与TypeScript's Design Goals的其他部分一致。
⭐建议
a tsconfig.json
示例:
{
"extends": "@tsconfig/node16/tsconfig.json",
"include": ["lib/**/*.ts"],
"exclude": ["**/*.{test,spec}.ts"]
}
"exclude": ["**/*.test.ts"]
✅支持"exclude": ["**/*.{test,spec}.ts"]
❌不支持(ts v4.5)
我建议支持这种模式,因为它在js社区中非常广泛使用,例如babel/jest/eslint/...。
💻用例
解决方法:"exclude": ["**/*.test.ts", "**/*.spec.ts"]
。但是,为了提高可读性,最好写成一种模式。
5条答案
按热度按时间vvppvyoh1#
但是这已经存在了:https://www.typescriptlang.org/tsconfig#exclude
ogsagwnx2#
是的,它支持
"exclude": ["**/*.test.ts"]
,但不支持"exclude": ["**/*.{test,spec}.ts"]
(glob模式)。mftmpeh83#
也许你应该更清楚地表明你希望支持更先进的glob模式。对于提到的示例,你可以使用:
["**/*.spec.ts", "**/*.test.ts"]
。添加一个有说服力的使用案例也不会有坏处,因为目前你缺少一个。6jygbczu4#
投票支持此功能
用例:如果在npm脚本中使用该命令,则缩短命令长度,即不是8n tsconfig.json文件。
0sgqnhkj5#
从未来来到这里,为这个功能投票以减少大型项目中
exclude
和include
的愚蠢大小。