diff --git a/packages/onesignal/index.js b/packages/onesignal/index.js index 7992fb84..db5408f4 100755 --- a/packages/onesignal/index.js +++ b/packages/onesignal/index.js @@ -2,6 +2,7 @@ const path = require('path') const { writeFileSync, readFileSync } = require('fs') const hashSum = require('hash-sum') const debug = require('debug')('nuxt:pwa') +const { defaultsDeep } = require('lodash') const fixUrl = url => url.replace(/\/\//g, '/').replace(':/', '://') const isUrl = url => url.indexOf('http') === 0 || url.indexOf('//') === 0 @@ -55,7 +56,7 @@ function addOneSignal (moduleOptions) { } } - const options = Object.assign(defaults, moduleOptions, this.options.oneSignal) + const options = defaultsDeep({}, this.options.oneSignal, moduleOptions, defaults) if (options.OneSignalSDK === undefined) { if (options.cdn) { diff --git a/packages/workbox/index.js b/packages/workbox/index.js index 6d783f99..6f889676 100755 --- a/packages/workbox/index.js +++ b/packages/workbox/index.js @@ -4,6 +4,7 @@ const { readFileSync, writeFileSync } = require('fs') const hashSum = require('hash-sum') const escapeStringRegexp = require('escape-string-regexp') const debug = require('debug')('nuxt:pwa') +const { defaultsDeep } = require('lodash') const fixUrl = url => url.replace(/\/\//g, '/').replace(':/', '://') const isUrl = url => url.indexOf('http') === 0 || url.indexOf('//') === 0 @@ -43,7 +44,7 @@ function getOptions (moduleOptions) { } } - const options = Object.assign({ + const defaults = { autoRegister: true, routerBase, publicPath, @@ -70,7 +71,9 @@ function getOptions (moduleOptions) { handler: 'networkFirst' } ] - }, moduleOptions, this.options.workbox) + } + + const options = defaultsDeep({}, this.options.workbox, moduleOptions, defaults) return options }