-
- Notifications
You must be signed in to change notification settings - Fork 312
Open
Description
We are working in a huge monorepo setup with hundreds of packages. Now if an interface is imported from an "external" package - just another package that i'm currently scoped into - it won't pick up this file and parse it. This results in missing properties that basically would be delivered by this imported interface/type.
Could be fixed with a patch in the makeFsImporter.ts
but i didn't made a pull request yet - i just tried it out very specifically for our own repository, but it would need further work to make a generic solution out of it:
function resolveImportedValue( path: ImportPath, name: string, file: FileState, seen = new Set<string>(), ): NodePath | null { // Bail if no filename was provided for the current source file. // Also never traverse into react itself. let source = path.node.source?.value; let { filename } = file.opts; // Customization: add support to resolve packages from blocks, segments, and libraries in iso monorepo if ( (typeof filename === "string" && source?.startsWith("@blocks")) || source?.startsWith("@segments") || source?.startsWith("@libraries") ) { filename = `${getRepoRoot(filename as string)}/${source.replace("@", "")}/src/index.ts`; source = "./index"; } // Customization: end if (!source || !filename || source === "react") { return null; }
olejech
Metadata
Metadata
Assignees
Labels
No labels