From 6fb165fbd402c18c14ad9074f7419881c989c71f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 1 Sep 2022 00:53:53 +0200 Subject: [PATCH] scripts/check-type-dependencies: work around exports resolution Signed-off-by: Patrik Oldsberg --- scripts/check-type-dependencies.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/check-type-dependencies.js b/scripts/check-type-dependencies.js index ba362bd5ff..ebad9b6dfc 100755 --- a/scripts/check-type-dependencies.js +++ b/scripts/check-type-dependencies.js @@ -136,10 +136,21 @@ function findTypesPackage(dep, pkg) { return undefined; } catch { try { - // Finally check if it's just a .d.ts file + // Check if it's just a .d.ts file require.resolve(`${dep}.d.ts`, { paths: [pkg.dir] }); return undefined; } catch { + // And finally a naive lookup of the file directly, in case `require.resolve` fails us due to "exports" + if (fs.existsSync(resolvePath(pkg.dir, `node_modules/${dep}.d.ts`))) { + return undefined; + } + if ( + fs.existsSync( + resolvePath(pkg.dir, `../../node_modules/${dep}.d.ts`), + ) + ) { + return undefined; + } throw mkErr('MissingDepError', `No types for ${dep}`, { dep }); } }