From c2e4b776368c5a4e221c9c33dfd184b036b76049 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 15 Feb 2017 13:57:43 -0500 Subject: [PATCH] Protect against edge case when `resolved` is a string. In particular, if the "main" field of the package.json file cannot be resolved, then the `resolved` variable will be "missing", which is a truthy value that silently rejects property assignments. Ugh! --- tools/isobuild/resolver.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/isobuild/resolver.js b/tools/isobuild/resolver.js index 70e5f7703c..3737b60429 100644 --- a/tools/isobuild/resolver.js +++ b/tools/isobuild/resolver.js @@ -316,7 +316,7 @@ export default class Resolver { const resolved = this._joinAndStat(dirPath, main) || this._resolve(main, pkgJsonPath, _seenDirPaths); - if (resolved) { + if (resolved && typeof resolved === "object") { if (! resolved.packageJsonMap) { resolved.packageJsonMap = Object.create(null); }