From 31763b749975f11c95f0f67d128a085966908adf Mon Sep 17 00:00:00 2001 From: Anton Nikolaev Date: Thu, 26 Nov 2020 01:44:54 -0800 Subject: [PATCH] Resolve dev and peer dependencies for metro watcher Summary: I've noticed that some plugins cannot be packaged after switching to Sandy and using "antd" as peer dependency. This change should fix this issue. Reviewed By: mweststrate Differential Revision: D25177510 fbshipit-source-id: cfb740a757c9eb83cf0e5165abed3f9c9f5591fa --- desktop/pkg-lib/src/getWatchFolders.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/desktop/pkg-lib/src/getWatchFolders.ts b/desktop/pkg-lib/src/getWatchFolders.ts index 458312d56..de27e4862 100644 --- a/desktop/pkg-lib/src/getWatchFolders.ts +++ b/desktop/pkg-lib/src/getWatchFolders.ts @@ -27,10 +27,14 @@ export default async (packageDir: string): Promise => { while (packagesToProcess.length > 0) { let currentDir = packagesToProcess.shift() as string; watchDirs.add(currentDir); - const {dependencies} = await fs.readJson( + const {dependencies, peerDependencies, devDependencies} = await fs.readJson( path.join(currentDir, 'package.json'), ); - const dependenciesSet = new Set(Object.keys(dependencies ?? {})); + const dependenciesSet = new Set([ + ...Object.keys(dependencies ?? {}), + ...Object.keys(devDependencies ?? {}), + ...Object.keys(peerDependencies ?? {}), + ]); while (dependenciesSet.size > 0) { const nodeModulesDir = path.join(currentDir, 'node_modules'); if (await fs.pathExists(nodeModulesDir)) {