我有一个带有 NPM 工作区的 TypeScript monorepo。
有两个套餐; A 和 B。
我需要 B 中 A 的类型定义。
我在包 B 的
tsconfig.json
中添加了对 A 定义文件的引用。
但感觉不太对劲:
{
"include": ["../a/types.d.ts", "next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
这是我不喜欢的相对参考。我希望它能够与
a/types.d.ts
一起使用,因为“a”是包名称 - 但事实并非如此。
我做错了什么吗?
我发现这个问题的答案是为配置文件创建一个包。这也是 Turborepo 在实例化新 monorepo 时的做法。在这里他们添加了
@repo/typescript-config
和 @repo/eslint-config
包。我相信你应该像这样添加@repo/type-definitions
。