搜索词
jsconfig项目
建议
当我在具有jsconfig.json
和// @ts-check
的JavaScript项目上运行tsc -p .
时,它抱怨找不到tsconfig.json
。目前我必须运行tsc -p jsconfig.json --maxNodeModuleJsDepth 0
来检查我的JavaScript项目。
~/projects/sync-wait-group on master*
$ tsc -p .
error TS5057: Cannot find a tsconfig.json file at the specified directory: '.'.
它告诉我tsconfig.json
不存在。
为jsconfig.json
添加检测并将--maxNodeModuleJsDepth 0
默认打开(这是我们在tsconfig.json中做的,但不是jsconfig.json)将是一个很好的用户体验改进。
用例
能够在JavaScript + JSDoc项目上使用tsc
命令行工具。
示例
tsc -p .
对于JavaScript项目来说“应该可以正常工作”。
检查清单
我的建议满足以下准则:
- 这不会对现有的TypeScript/JavaScript代码造成破坏性改变
- 这不会改变现有JavaScript代码的运行时行为
- 这可以在不根据表达式的类型发出不同的JS的情况下实现
- 这不是一个运行时特性(例如库功能、带有JavaScript输出的非ECMAScript语法等)
- 这个特性将与TypeScript's Design Goals的其他部分保持一致。
3条答案
按热度按时间4smxwvx51#
在jsconfig.json中使用"include"并将maxNodeModuleJsDepth保持为0。
npx tsc --noEmit --allowJs -p jsconfig.json --maxNodeModuleJsDepth 0
jsconfig.json:
{ "compilerOptions": { "module": "CommonJS", "target": "ES6", "checkJs": true }, "include": ["src/**/*"] }
w6lpcovy2#
这对于在JS项目中与VSCode的
jsconfig.json
支持保持一致将会非常棒。f5emj3cl3#
tsconfig文档表示:
理想情况下,这个值应该保持在0(默认值),...
然而,在
jsconfig.json
的情况下,似乎默认值是不同的。