我的团队正在维护多个程序包,我们正在尝试tsconfig.json
为所有程序包创建具有通用配置的共享程序。它包含我们关于编译目标,JSX,输出目录和包含文件的首选项,例如:
{
"compilerOptions": {
"module": "esnext",
"target": "es5",
"lib": ["es5", "dom"],
"jsx": "react",
"outDir": "build/dist"
},
"include": ["./src/**/*.ts", "./src/**/*.tsx"]
}
我们将此文件发布为共享的npm-module,my-build-config
然后extends
在每个项目中使用:
{
"extends": "./node_modules/my-build-config/tsconfig.json"
}
这里的问题是共享配置中的所有路径都相对于文件位置。例如,它将尝试不是在当前项目中而是在其中包含“ .ts”文件my-build-config
。例如,而不是./src/index.ts
寻找./node_modules/my-build-config/src/index.ts
。
有没有一种共享文件位置的方法,因此它们不会在10个以上的软件包中重复出现?也许类似于Jest对rootDir
财产所做的事情。
如果您知道my-build-config
总是在node_modules/my-build-config
没有符号链接的情况下相对于每个项目进行安装,则可以../../
在每个受影响的路径之前添加前缀。
或者,使用其他工具将您的内容复制tsconfig.json
到所有项目中,例如Braid(公开:我是Braid贡献者)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句