From 03f6e8af642f5554ebc7bd6bffb4763c34397d89 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Tue, 6 Jul 2021 13:51:28 +0100 Subject: [PATCH] [misc] expose merge function in a separate module --- libraries/settings/Settings.js | 12 +----------- libraries/settings/merge.js | 12 ++++++++++++ libraries/settings/package.json | 2 +- 3 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 libraries/settings/merge.js diff --git a/libraries/settings/Settings.js b/libraries/settings/Settings.js index 202fc26494..60bd447098 100644 --- a/libraries/settings/Settings.js +++ b/libraries/settings/Settings.js @@ -2,17 +2,7 @@ let defaults, possibleConfigFiles, settingsExist; const fs = require("fs"); const path = require("path"); const env = (process.env.NODE_ENV || "development").toLowerCase(); - -const merge = function(settings, defaults) { - for (const [key, value] of Object.entries(settings)) { - if ((typeof(value) === "object") && !(value instanceof Array)) { - defaults[key] = merge(value, defaults[key] || {}); - } else { - defaults[key] = value; - } - } - return defaults; -}; +const { merge } = require('./merge'); const defaultSettingsPath = path.normalize(__dirname + "/../../config/settings.defaults"); diff --git a/libraries/settings/merge.js b/libraries/settings/merge.js new file mode 100644 index 0000000000..c1b24d2bae --- /dev/null +++ b/libraries/settings/merge.js @@ -0,0 +1,12 @@ +function merge(settings, defaults) { + for (const [key, value] of Object.entries(settings)) { + if ((typeof(value) === "object") && !(value instanceof Array)) { + defaults[key] = merge(value, defaults[key] || {}); + } else { + defaults[key] = value; + } + } + return defaults; +} + +module.exports = { merge }; diff --git a/libraries/settings/package.json b/libraries/settings/package.json index dd598c373d..0ea2fde33e 100644 --- a/libraries/settings/package.json +++ b/libraries/settings/package.json @@ -1,6 +1,6 @@ { "name": "@overleaf/settings", "description": "A centralised settings system for Overleaf", - "version": "2.0.0", + "version": "2.1.0", "repository": "overleaf/settings-module" }