diff --git a/packages/core/utils/src/resolve.js b/packages/core/utils/src/resolve.js
index <HASH>..<HASH> 100644
--- a/packages/core/utils/src/resolve.js
+++ b/packages/core/utils/src/resolve.js
@@ -176,7 +176,7 @@ export function resolveSync(
 
     // $FlowFixMe
     opts.packageFilter = pkg => {
-      if (pkg.name.startsWith('@parcel/') && pkg.name !== '@parcel/watcher') {
+      if (pkg.name?.startsWith('@parcel/') && pkg.name !== '@parcel/watcher') {
         if (pkg.source) {
           pkg.main = pkg.source;
         }
diff --git a/packages/utils/node-resolver-core/src/NodeResolver.js b/packages/utils/node-resolver-core/src/NodeResolver.js
index <HASH>..<HASH> 100644
--- a/packages/utils/node-resolver-core/src/NodeResolver.js
+++ b/packages/utils/node-resolver-core/src/NodeResolver.js
@@ -163,6 +163,8 @@ export default class NodeResolver {
         return {
           diagnostics: err.diagnostics,
         };
+      } else {
+        throw err;
       }
     }
Don't swallow resolver error (#<I>)