From 0d36ce5eb8d00a9e6691bdf3f7bf2307ae5231a7 Mon Sep 17 00:00:00 2001 From: Solo-steven Date: Tue, 21 Mar 2023 17:26:27 +0800 Subject: [PATCH] fix: Do not overwrite the null value, skip it for deepMerge case. --- packages/utils/src/eslint-utils/applyDefault.ts | 2 +- packages/utils/src/eslint-utils/deepMerge.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/utils/src/eslint-utils/applyDefault.ts b/packages/utils/src/eslint-utils/applyDefault.ts index 1c96ffec769..0f28cfa7d7d 100644 --- a/packages/utils/src/eslint-utils/applyDefault.ts +++ b/packages/utils/src/eslint-utils/applyDefault.ts @@ -26,7 +26,7 @@ function applyDefault( if (userOptions[i] !== undefined) { const userOpt = userOptions[i]; if (isObjectNotArray(userOpt) && isObjectNotArray(opt)) { - options[i] = deepMerge(opt || {}, userOpt); + options[i] = deepMerge(opt, userOpt); } else { options[i] = userOpt; } diff --git a/packages/utils/src/eslint-utils/deepMerge.ts b/packages/utils/src/eslint-utils/deepMerge.ts index 9b7baee5ebb..78c2920d8d0 100644 --- a/packages/utils/src/eslint-utils/deepMerge.ts +++ b/packages/utils/src/eslint-utils/deepMerge.ts @@ -8,7 +8,7 @@ type ObjectLike = Record; function isObjectNotArray( obj: unknown | unknown[], ): obj is T { - return typeof obj === 'object' && !Array.isArray(obj); + return typeof obj === 'object' && obj != null && !Array.isArray(obj); } /**