diff --git a/angular.json b/angular.json
index 3baab77..3e5a7dc 100644
--- a/angular.json
+++ b/angular.json
@@ -34,7 +34,8 @@
"glob": "**/*",
"input": "node_modules/ngx-monaco-editor/assets/monaco",
"output": "./assets/monaco/"
- }
+ },
+ "src/manifest.webmanifest"
],
"styles": [
{
@@ -85,7 +86,9 @@
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
- ]
+ ],
+ "serviceWorker": true,
+ "ngswConfigPath": "ngsw-config.json"
},
"ci": {
"progress": false
@@ -132,7 +135,8 @@
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
- }
+ },
+ "src/manifest.webmanifest"
]
},
"configurations": {
diff --git a/ngsw-config.json b/ngsw-config.json
new file mode 100644
index 0000000..607ab33
--- /dev/null
+++ b/ngsw-config.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "./node_modules/@angular/service-worker/config/schema.json",
+ "index": "/index.html",
+ "assetGroups": [
+ {
+ "name": "app",
+ "installMode": "prefetch",
+ "resources": {
+ "files": [
+ "/favicon.ico",
+ "/index.html",
+ "/manifest.webmanifest",
+ "/*.css",
+ "/*.js"
+ ]
+ }
+ },
+ {
+ "name": "assets",
+ "installMode": "lazy",
+ "updateMode": "prefetch",
+ "resources": {
+ "files": [
+ "/assets/**",
+ "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
+ ]
+ }
+ }
+ ]
+}
diff --git a/package-lock.json b/package-lock.json
index 32cce83..e2765c3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -832,6 +832,21 @@
}
}
},
+ "@angular/service-worker": {
+ "version": "10.1.6",
+ "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-10.1.6.tgz",
+ "integrity": "sha512-wGF2ZVByYonNpQNjyLn4zK0O2au1ZJQv6JLZj5zHnVnaiz/xJXvY9TPCU3dLmuRFt6UmKStLlclJkG3s3FYiZg==",
+ "requires": {
+ "tslib": "^2.0.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
+ "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
+ }
+ }
+ },
"@babel/code-frame": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
diff --git a/package.json b/package.json
index a10f167..b53bcf1 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"@angular/platform-browser-dynamic": "~10.1.5",
"@angular/pwa": "^0.1001.7",
"@angular/router": "~10.1.5",
+ "@angular/service-worker": "~10.1.5",
"@circlon/angular-tree-component": "^10.0.0",
"@fortawesome/fontawesome-free": "^5.15.1",
"@ionic-native/core": "^5.0.0",
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 976d2a3..fba517f 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -16,6 +16,8 @@ import {MonacoEditorModule} from 'ngx-monaco-editor';
import { APP_BASE_HREF, PlatformLocation } from '@angular/common';
import { MarkdownModule } from 'ngx-markdown';
import {ConnectionServiceModule} from 'ng-connection-service';
+import { ServiceWorkerModule } from '@angular/service-worker';
+import { environment } from '../environments/environment';
/**
* This function is used internal to get a string instance of the `