From 4eb811cea573fc7cf600a750ae4aec32708864d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juho=20Veps=C3=A4l=C3=A4inen?= Date: Tue, 18 Aug 2020 18:37:45 +0200 Subject: [PATCH] fix: Allow overriding an object field with null Closes #144. --- CHANGELOG.md | 4 ++++ src/join-arrays.ts | 4 ++++ test/merge.test.ts | 14 ++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5583859..568fd40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 5.1.2 / 2020-08-18 + +- Fix - Allow overriding an object field with `null` #144 + ## 5.1.1 / 2020-08-04 - Fix - Drop `` from **index.d.ts** #143 diff --git a/src/join-arrays.ts b/src/join-arrays.ts index d05c45b..3254089 100644 --- a/src/join-arrays.ts +++ b/src/join-arrays.ts @@ -61,5 +61,9 @@ function isFunction(functionToCheck) { } function isPlainObject(a) { + if (a === null) { + return false; + } + return typeof a === "object"; } diff --git a/test/merge.test.ts b/test/merge.test.ts index 9712d43..c5cd39a 100644 --- a/test/merge.test.ts +++ b/test/merge.test.ts @@ -27,6 +27,20 @@ function normalMergeTest(merge, loadersKey) { assert.deepEqual(merge([]), {}); }); + it.only("should override with null (#144)", function () { + const result = { devServer: null }; + + assert.deepEqual( + merge( + { + devServer: { base: true }, + }, + result + ), + result + ); + }); + it("should error on promise", function () { const a = { module: {},