From f5c48cdd9369646a14676d9170578bd0b4ab853b Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Mon, 1 May 2023 09:18:09 -0700 Subject: [PATCH] Relay: More Resilient `cannotReadPropertyOfUndefined` Summary: Revises `cannotReadPropertyOfUndefined__DEPRECATED` in the Relay test suite to be resilient to future Node.js version upgrades, beyond v16. Reviewed By: josephsavona Differential Revision: D45432790 fbshipit-source-id: 1a656e73a998cc76deb47635e8cea264205bce53 --- packages/relay-test-utils-internal/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/relay-test-utils-internal/index.js b/packages/relay-test-utils-internal/index.js index 0734cef29b478..078bfb8905857 100644 --- a/packages/relay-test-utils-internal/index.js +++ b/packages/relay-test-utils-internal/index.js @@ -48,11 +48,12 @@ const {createMockEnvironment, unwrapContainer} = require('relay-test-utils'); function cannotReadPropertyOfUndefined__DEPRECATED( propertyName: string, ): string { - if (process.version.match(/^v16\.(.+)$/)) { - return `Cannot read properties of undefined (reading '${propertyName}')`; - } else { + const matches = process.version.match(/^v(\d+)\./); + const majorVersion = matches == null ? null : parseInt(matches[0], 10); + if (majorVersion == null || majorVersion < 16) { return `Cannot read property '${propertyName}' of undefined`; } + return `Cannot read properties of undefined (reading '${propertyName}')`; } /**