From ae33e3f94e5ca7b59629a4b928e1ca1787953a76 Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Sun, 20 Oct 2019 16:31:22 +0800 Subject: [PATCH 1/5] Replace lodash with native API --- scripts/events/lib/config.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/scripts/events/lib/config.js b/scripts/events/lib/config.js index 4e179c8016..e7eb9fab5d 100644 --- a/scripts/events/lib/config.js +++ b/scripts/events/lib/config.js @@ -1,13 +1,27 @@ 'use strict'; +function isObject(item) { + return (item && typeof item === 'object' && !Array.isArray(item)); +} + +function merge(target, source) { + if (!isObject(target) || !isObject(source)) return; + for (const key in source) { + if (isObject(source[key])) { + if (!target[key]) Object.assign(target, { [key]: {} }); + merge(target[key], source[key]); + } else { + Object.assign(target, { [key]: source[key] }); + } + } +} + module.exports = hexo => { if (!hexo.locals.get) return; var data = hexo.locals.get('data'); if (!data) return; - const merge = require(hexo.base_dir + 'node_modules/lodash/merge'); - /** * Merge configs from _data/next.yml into hexo.theme.config. * If `override`, configs in next.yml will rewrite configs in hexo.theme.config. From d719ea090dfc1e321e1bcadca522f309adedc537 Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Sun, 20 Oct 2019 17:05:53 +0800 Subject: [PATCH 2/5] Update --- scripts/events/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/events/index.js b/scripts/events/index.js index 9f46813f75..8342196a67 100644 --- a/scripts/events/index.js +++ b/scripts/events/index.js @@ -13,7 +13,7 @@ hexo.on('generateAfter', () => { if (!hexo.theme.config.reminder) return; const https = require('https'); const path = require('path'); - const env = require(path.normalize('../../package.json')); + const { version } = require(path.normalize('../../package.json')); https.get({ hostname: 'api.github.com', port : 443, @@ -30,7 +30,7 @@ hexo.on('generateAfter', () => { res.on('end', () => { try { var latest = JSON.parse(result).tag_name.replace('v', '').split('.'); - var current = env.version.split('.'); + var current = version.split('.'); var isOutdated = false; for (var i = 0; i < Math.max(latest.length, current.length); i++) { if (!current[i] || latest[i] > current[i]) { From 94a44bf9e2a90ae3b44ef9d82c525f2b4d50750e Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Mon, 21 Oct 2019 12:14:39 +0800 Subject: [PATCH 3/5] Update --- scripts/events/lib/config.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/events/lib/config.js b/scripts/events/lib/config.js index e7eb9fab5d..bb7b7358d5 100644 --- a/scripts/events/lib/config.js +++ b/scripts/events/lib/config.js @@ -5,15 +5,14 @@ function isObject(item) { } function merge(target, source) { - if (!isObject(target) || !isObject(source)) return; for (const key in source) { - if (isObject(source[key])) { - if (!target[key]) Object.assign(target, { [key]: {} }); + if (isObject(target[key]) && isObject(source[key])) { merge(target[key], source[key]); } else { - Object.assign(target, { [key]: source[key] }); + target[key] = source[key]; } } + return target; } module.exports = hexo => { From cfd277c83d4347c7cf66723b85be834dabb9991d Mon Sep 17 00:00:00 2001 From: 1v9 Date: Mon, 21 Oct 2019 13:40:51 +0800 Subject: [PATCH 4/5] update --- scripts/events/lib/config.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/events/lib/config.js b/scripts/events/lib/config.js index bb7b7358d5..c204e46433 100644 --- a/scripts/events/lib/config.js +++ b/scripts/events/lib/config.js @@ -1,10 +1,10 @@ 'use strict'; -function isObject(item) { - return (item && typeof item === 'object' && !Array.isArray(item)); -} +const isObject = item => { + return item && typeof item === 'object' && !Array.isArray(item); +}; -function merge(target, source) { +const merge = (target, source) => { for (const key in source) { if (isObject(target[key]) && isObject(source[key])) { merge(target[key], source[key]); @@ -13,7 +13,7 @@ function merge(target, source) { } } return target; -} +}; module.exports = hexo => { if (!hexo.locals.get) return; From f73117b94be4cebbd148cf6376d9a92e5151e3a1 Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Mon, 21 Oct 2019 13:50:29 +0800 Subject: [PATCH 5/5] Update --- scripts/events/lib/config.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/events/lib/config.js b/scripts/events/lib/config.js index c204e46433..33dfcf2e04 100644 --- a/scripts/events/lib/config.js +++ b/scripts/events/lib/config.js @@ -1,10 +1,10 @@ 'use strict'; -const isObject = item => { +function isObject(item) { return item && typeof item === 'object' && !Array.isArray(item); -}; +} -const merge = (target, source) => { +function merge(target, source) { for (const key in source) { if (isObject(target[key]) && isObject(source[key])) { merge(target[key], source[key]); @@ -13,7 +13,7 @@ const merge = (target, source) => { } } return target; -}; +} module.exports = hexo => { if (!hexo.locals.get) return;