diff --git a/vue.config.js b/vue.config.js
index 4b7c292..9e1e1e1 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,18 +1,18 @@
-const CompressionPlugin = require("compression-webpack-plugin");
+const CompressionPlugin = require('compression-webpack-plugin');
 
 module.exports = {
   devServer: {
     proxy: {
-      "/": {
+      '/': {
         target: process.env.BASE_URL,
         onProxyRes: proxyRes => {
-          if (proxyRes.headers["set-cookie"]) {
+          if (proxyRes.headers['set-cookie']) {
             // Need to remove 'Secure' flag on set-cookie value so browser
             // can create cookie for local development
-            const cookies = proxyRes.headers["set-cookie"].map(cookie =>
-              cookie.replace(/; secure/gi, "")
+            const cookies = proxyRes.headers['set-cookie'].map(cookie =>
+              cookie.replace(/; secure/gi, '')
             );
-            proxyRes.headers["set-cookie"] = cookies;
+            proxyRes.headers['set-cookie'] = cookies;
           }
         }
       }
@@ -21,7 +21,7 @@
   },
   productionSourceMap: false,
   configureWebpack: config => {
-    if (process.env.NODE_ENV === "production") {
+    if (process.env.NODE_ENV === 'production') {
       config.plugins.push(
         new CompressionPlugin({
           deleteOriginalAssets: true
@@ -30,9 +30,9 @@
     }
   },
   chainWebpack: config => {
-    if (process.env.NODE_ENV === "production") {
-      config.plugins.delete("prefetch");
-      config.plugins.delete("preload");
+    if (process.env.NODE_ENV === 'production') {
+      config.plugins.delete('prefetch');
+      config.plugins.delete('preload');
     }
   }
 };
