I'm working on converting a large(ish) monorepo into TypeScript for a client, however, I'm pretty new to TS myself and have run into an error that I can't find an obvious fix for.
TS6059: File '[path to repo root]/packages/config/globals.ts' is not under 'rootDir' '[path to repo root]/packages/components/src'. 'rootDir' is expected to contain all source files.
The globals.ts
file isn't supposed to live in the components
package, it belongs to the config
package so I don't really understand the error.
I have a main tsconfig file in the root of the repo (https://github.com/serge-web/serge/blob/feature/333-game-admin-channel/tsconfig.json) and then each package has it's own tsconfig file which extends that one. The one for the components
package is here: https://github.com/serge-web/serge/blob/feature/333-game-admin-channel/packages/components/tsconfig.json
I assume I am extending the tsconfig files in the packages incorrectly or I have used references
incorrectly but I can't find the correct way to do this.
Here is a link to the repo if you need to see the structure: https://github.com/serge-web/serge/tree/feature/333-game-admin-channel
In the end the fix was to remove any reference to rootDir from all files other than the tsconfig.json
file in the root (which I left as .
).
The only thing that worked for me was explicitly add the package containing foreign code as a dependency in package.json
:
{
"dependencies": {
"@packages/name": "*"
}
}
In my setup I'm not using Lerna, just raw Yarn Workspaces with both TypeScript and JavaScript packages.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With