共享的tsconfig.json和相对路径

刚无聊

我的团队正在维护多个程序包,我们正在尝试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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章