UNPKG

@nuxtjs/workbox

Version:

👉 Please refer to [nuxt-community/pwa-module](https://github.com/nuxt-community/pwa-module) for documentation.

45 lines (38 loc) • 1.24 kB
const path = require('path') const { getOptions } = require('./options') const { readJSFiles } = require('./utils') module.exports = function nuxtWorkbox (moduleOptions) { this.nuxt.hook('build:before', () => { // Get options const options = getOptions.call(this, moduleOptions) // Warning for dev option if (options.dev) { console.warn('Workbox running in `dev` mode. Please clear browser cache and prevent using this option for production!') } // Register plugin if (options.autoRegister) { this.addPlugin({ src: path.resolve(__dirname, '../templates/workbox.js'), ssr: false, fileName: 'workbox.js', options: { ...options } }) } // Add sw.js if (options.swTemplate) { this.addTemplate({ src: options.swTemplate, fileName: options.swDest, options: { ...options, routingExtensions: readJSFiles.call(this, options.routingExtensions), cachingExtensions: readJSFiles.call(this, options.cachingExtensions), workboxExtensions: readJSFiles.call(this, options.workboxExtensions) } }) } }) } module.exports.meta = require('../package.json')