diff --git a/package.json b/package.json index 72e50078d981..c69905abbd4a 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,8 @@ "webpack-dev-middleware": "^3.5.0", "webpack-dev-server": "^3.1.14", "webpack-hot-middleware": "^2.24.3", + "webpack-pwa-manifest": "^4.0.0", + "workbox-webpack-plugin": "^4.1.0", "write-file-webpack-plugin": "^4.5.0" }, "dependencies": { diff --git a/packages/web/assets/logo.png b/packages/web/assets/logo.png new file mode 100644 index 000000000000..c0f9acf03f1a Binary files /dev/null and b/packages/web/assets/logo.png differ diff --git a/packages/web/package.json b/packages/web/package.json index f7142354b1f3..e823d817930f 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { - "name": "@coder/web", - "scripts": { - "build": "../../node_modules/.bin/cross-env UV_THREADPOOL_SIZE=100 node --max-old-space-size=32384 ../../node_modules/webpack/bin/webpack.js --config ./webpack.config.js" - } + "name": "@coder/web", + "scripts": { + "build": "../../node_modules/.bin/cross-env UV_THREADPOOL_SIZE=100 node --max-old-space-size=32384 ../../node_modules/webpack/bin/webpack.js --config ./webpack.config.js" + } } diff --git a/packages/web/src/index.html b/packages/web/src/index.html index b5b59e11812d..37a8f81a43a1 100644 --- a/packages/web/src/index.html +++ b/packages/web/src/index.html @@ -23,8 +23,15 @@ return; } document.body.style.background = bg; - })(); + })(); + + // Check that service workers are registered + if ("serviceWorker" in navigator) { + // Use the window load event to keep the page load performant + window.addEventListener("load", () => { + navigator.serviceWorker.register("/service-worker.js"); + }); + }