moritzsternemann / vue-plausible

Plausible Analytics Vue.js Plugin and NuxtJS Module
MIT License
120 stars 8 forks source link

Make nuxt module options overridable with runtimeConfig #10

Closed ambroisemaupate closed 2 years ago

ambroisemaupate commented 3 years ago

This would allow changing Plausible options over different environments (dev, testing, production) using Nuxt runtimeConfig.


For example in nuxt/axios

https://github.com/nuxt-community/axios-module/blob/main/lib/module.js#L11


const PlausibleModule: Module<PlausibleOptions> = function (moduleOptions) {
  const { nuxt } = this

  const options = {
    ...defaultOptions,
    ...this.options.plausible,
    ...moduleOptions,
    ...(nuxt.options.runtimeConfig && nuxt.options.runtimeConfig.plausible)
  }

  this.addPlugin({
    src: path.resolve(__dirname, '../esm/nuxt-plugin.js'),
    mode: 'client',
    ssr: false,
    fileName: 'vue-plausible.client.js',
    options
  })
}