From 124cb0994a81029081b60345e93ba433d65b8d8e Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Thu, 9 Jul 2020 23:15:41 +1000 Subject: [PATCH] feat(vue-renderer): add `vue-renderer:spa:prepareContext` hook (#7633) [release] --- packages/vue-renderer/src/renderers/spa.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/vue-renderer/src/renderers/spa.js b/packages/vue-renderer/src/renderers/spa.js index bc4ef95e71..8ec5446a4f 100644 --- a/packages/vue-renderer/src/renderers/spa.js +++ b/packages/vue-renderer/src/renderers/spa.js @@ -51,14 +51,16 @@ export default class SPARenderer extends BaseRenderer { if (this.options.features.meta) { // Get vue-meta context - let head - if (typeof this.options.head === 'function') { - head = this.options.head() - } else { - head = cloneDeep(this.options.head) - } + renderContext.head = typeof this.options.head === 'function' + ? this.options.head() + : cloneDeep(this.options.head) + } - const m = VueMeta.generate(head || {}, this.vueMetaConfig) + // Allow overriding renderContext + await this.serverContext.nuxt.callHook('vue-renderer:spa:prepareContext', renderContext) + + if (this.options.features.meta) { + const m = VueMeta.generate(renderContext.head || {}, this.vueMetaConfig) // HTML_ATTRS meta.HTML_ATTRS = m.htmlAttrs.text()