From fdaf5c544e699a13dd284806df1693970bd14730 Mon Sep 17 00:00:00 2001 From: "ALION\\b.bol" Date: Sat, 19 Jan 2019 22:57:30 +0100 Subject: [PATCH 1/3] created toggle with process.env.VUE_APP_ALLOW_LOCAL_SW to allow local service worker development --- .../template/src/registerServiceWorker.js | 2 +- packages/@vue/cli-plugin-pwa/index.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js b/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js index 76cede074d..66c8378e45 100644 --- a/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js +++ b/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js @@ -2,7 +2,7 @@ import { register } from 'register-service-worker' -if (process.env.NODE_ENV === 'production') { +if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW) { register(`${process.env.BASE_URL}service-worker.js`, { ready () { console.log( diff --git a/packages/@vue/cli-plugin-pwa/index.js b/packages/@vue/cli-plugin-pwa/index.js index 91b52f68e2..ced4809768 100644 --- a/packages/@vue/cli-plugin-pwa/index.js +++ b/packages/@vue/cli-plugin-pwa/index.js @@ -18,7 +18,8 @@ module.exports = (api, options) => { .after('html') // generate /service-worker.js in production mode - if (process.env.NODE_ENV === 'production') { + // or when local service worker development is allowed + if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW) { // Default to GenerateSW mode, though InjectManifest also might be used. const workboxPluginMode = userOptions.workboxPluginMode || 'GenerateSW' const workboxWebpackModule = require('workbox-webpack-plugin') @@ -52,8 +53,11 @@ module.exports = (api, options) => { }) // install dev server middleware for resetting service worker during dev - const createNoopServiceWorkerMiddleware = require('./lib/noopServiceWorkerMiddleware') - api.configureDevServer(app => { - app.use(createNoopServiceWorkerMiddleware()) - }) + // when local service worker development is not allowed (default) + if(!process.env.VUE_APP_ALLOW_LOCAL_SW) { + const createNoopServiceWorkerMiddleware = require('./lib/noopServiceWorkerMiddleware') + api.configureDevServer(app => { + app.use(createNoopServiceWorkerMiddleware()) + }) + } } From c7af2090a337500e97fff1de05fb93485387350f Mon Sep 17 00:00:00 2001 From: Bobby Bol Date: Mon, 21 Jan 2019 14:49:19 +0100 Subject: [PATCH 2/3] Update registerServiceWorker.js --- .../generator/template/src/registerServiceWorker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js b/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js index 66c8378e45..529f04e9a7 100644 --- a/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js +++ b/packages/@vue/cli-plugin-pwa/generator/template/src/registerServiceWorker.js @@ -2,7 +2,7 @@ import { register } from 'register-service-worker' -if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW) { +if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW === 'true') { register(`${process.env.BASE_URL}service-worker.js`, { ready () { console.log( From 0e8cef887baebc72206eba6aebfc79b5dc3f7dca Mon Sep 17 00:00:00 2001 From: Bobby Bol Date: Mon, 21 Jan 2019 14:49:49 +0100 Subject: [PATCH 3/3] Update index.js --- packages/@vue/cli-plugin-pwa/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-plugin-pwa/index.js b/packages/@vue/cli-plugin-pwa/index.js index ced4809768..6dff4348d1 100644 --- a/packages/@vue/cli-plugin-pwa/index.js +++ b/packages/@vue/cli-plugin-pwa/index.js @@ -19,7 +19,7 @@ module.exports = (api, options) => { // generate /service-worker.js in production mode // or when local service worker development is allowed - if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW) { + if (process.env.NODE_ENV === 'production' || process.env.VUE_APP_ALLOW_LOCAL_SW === 'true') { // Default to GenerateSW mode, though InjectManifest also might be used. const workboxPluginMode = userOptions.workboxPluginMode || 'GenerateSW' const workboxWebpackModule = require('workbox-webpack-plugin') @@ -54,7 +54,7 @@ module.exports = (api, options) => { // install dev server middleware for resetting service worker during dev // when local service worker development is not allowed (default) - if(!process.env.VUE_APP_ALLOW_LOCAL_SW) { + if(process.env.VUE_APP_ALLOW_LOCAL_SW !== 'true') { const createNoopServiceWorkerMiddleware = require('./lib/noopServiceWorkerMiddleware') api.configureDevServer(app => { app.use(createNoopServiceWorkerMiddleware())