diff --git a/ui/ui-frontend/angular.json b/ui/ui-frontend/angular.json index a17d362fe318e1d4a40888dbd1f45e18f6741563..f45b34c940d5fd2223f08966b33add08406bc153 100644 --- a/ui/ui-frontend/angular.json +++ b/ui/ui-frontend/angular.json @@ -52,7 +52,9 @@ "replace": "projects/identity/src/environments/environment.ts", "with": "projects/identity/src/environments/environment.prod.ts" } - ] + ], + "serviceWorker": true, + "ngswConfigPath": "projects/identity/ngsw-config.json" }, "en": { "aot": true, @@ -170,7 +172,9 @@ "replace": "projects/portal/src/environments/environment.ts", "with": "projects/portal/src/environments/environment.prod.ts" } - ] + ], + "serviceWorker": true, + "ngswConfigPath": "projects/portal/ngsw-config.json" }, "en": { "aot": true, diff --git a/ui/ui-frontend/package-lock.json b/ui/ui-frontend/package-lock.json index 8f68f14df930857f557e870a190d0de9b6963191..ad1bf412c818a1e7ebdc5c6d9c57238a82eabd0f 100644 --- a/ui/ui-frontend/package-lock.json +++ b/ui/ui-frontend/package-lock.json @@ -789,6 +789,93 @@ "tslib": "^1.9.0" } }, + "@angular/pwa": { + "version": "0.1001.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/@angular/pwa/-/pwa-0.1001.3.tgz", + "integrity": "sha512-qfrwvMExbjKnHmmtfopM2Iog1uIt28zpfbJQttmsLEmnOaWSwWutcRhOZhy+fKuLkD2KrFojAOxGEy411eMVXw==", + "requires": { + "@angular-devkit/core": "10.1.3", + "@angular-devkit/schematics": "10.1.3", + "@schematics/angular": "10.1.3", + "parse5-html-rewriting-stream": "6.0.1" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "10.1.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/@angular-devkit/core/-/core-10.1.3.tgz", + "integrity": "sha512-Ub31/eqFtSuQy3V+B74Jt0jAUw8fs8sbd0ZL2UHYUJyrwm20iIRam+mOD3Sj8HFrDGLR8m56KsxJ12KvC1oxtQ==", + "requires": { + "ajv": "6.12.4", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.2", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "10.1.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/@angular-devkit/schematics/-/schematics-10.1.3.tgz", + "integrity": "sha512-5+E2bBBsphuz1KfloC5yA+hXSEbxMokkp5UEp+X9VC7zUGTXV8sxuvcbBo+JVutaoNHezJGu2JUx/LqNrKd58w==", + "requires": { + "@angular-devkit/core": "10.1.3", + "ora": "5.0.0", + "rxjs": "6.6.2" + } + }, + "@schematics/angular": { + "version": "10.1.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/@schematics/angular/-/angular-10.1.3.tgz", + "integrity": "sha512-X3tNnpfF/jkl1KcyCC8PaOYogQlTZ9s7Yuz0va0DAVOptIqorpf8e6+lY0PPLKshaK9TSiFUcQ8SYYnjAVKcdA==", + "requires": { + "@angular-devkit/core": "10.1.3", + "@angular-devkit/schematics": "10.1.3", + "jsonc-parser": "2.3.0" + } + }, + "ajv": { + "version": "6.12.4", + "resolved": "https://nexus.teamdlab.com/repository/npm/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://nexus.teamdlab.com/repository/npm/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "rxjs": { + "version": "6.6.2", + "resolved": "https://nexus.teamdlab.com/repository/npm/rxjs/-/rxjs-6.6.2.tgz", + "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, "@angular/router": { "version": "8.2.14", "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.2.14.tgz", @@ -797,6 +884,14 @@ "tslib": "^1.9.0" } }, + "@angular/service-worker": { + "version": "8.2.14", + "resolved": "https://nexus.teamdlab.com/repository/npm/@angular/service-worker/-/service-worker-8.2.14.tgz", + "integrity": "sha512-Xv1ES5bXDRxPJ5uyRqeKw6mGKaJVzKK0oFcR0mr4OSdyLXGZ+x6fC2S/QcLy4ugpb64fyEksrnHhHjeMVzGh2Q==", + "requires": { + "tslib": "^1.9.0" + } + }, "@babel/code-frame": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", @@ -1854,8 +1949,7 @@ "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, "@types/events": { "version": "3.0.0", @@ -3341,11 +3435,15 @@ "version": "3.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } }, + "cli-spinners": { + "version": "2.4.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/cli-spinners/-/cli-spinners-2.4.0.tgz", + "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==" + }, "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", @@ -4216,6 +4314,21 @@ } } }, + "defaults": { + "version": "1.0.3", + "resolved": "https://nexus.teamdlab.com/repository/npm/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://nexus.teamdlab.com/repository/npm/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + } + } + }, "define-properties": { "version": "1.1.3", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/define-properties/-/define-properties-1.1.3.tgz", @@ -6435,6 +6548,11 @@ "is-extglob": "^2.1.1" } }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6846,8 +6964,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", @@ -6870,6 +6987,11 @@ "minimist": "^1.2.0" } }, + "jsonc-parser": { + "version": "2.3.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/jsonc-parser/-/jsonc-parser-2.3.0.tgz", + "integrity": "sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA==" + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -7350,6 +7472,60 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "requires": { + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://nexus.teamdlab.com/repository/npm/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "log4js": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", @@ -7763,8 +7939,7 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mini-css-extract-plugin": { "version": "0.8.0", @@ -7924,8 +8099,7 @@ "mute-stream": { "version": "0.0.8", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "nan": { "version": "2.14.1", @@ -8465,7 +8639,6 @@ "version": "5.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/onetime/-/onetime-5.1.0.tgz", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, "requires": { "mimic-fn": "^2.1.0" } @@ -8494,6 +8667,80 @@ "is-wsl": "^1.1.0" } }, + "ora": { + "version": "5.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/ora/-/ora-5.0.0.tgz", + "integrity": "sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw==", + "requires": { + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.4.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://nexus.teamdlab.com/repository/npm/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://nexus.teamdlab.com/repository/npm/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "original": { "version": "1.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/original/-/original-1.0.2.tgz", @@ -8724,6 +8971,37 @@ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "optional": true }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + } + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + } + } + }, "parseqs": { "version": "0.0.5", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/parseqs/-/parseqs-0.0.5.tgz", @@ -9537,8 +9815,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "puppeteer": { "version": "1.20.0", @@ -10020,7 +10297,6 @@ "version": "3.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -10419,8 +10695,7 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "slash": { "version": "1.0.0", @@ -10858,8 +11133,7 @@ "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spdx-correct": { "version": "3.1.1", @@ -11681,7 +11955,6 @@ }, "ui-frontend-common": { "version": "file:../ui-frontend-common/ui-frontend-common-1.0.6.tgz", - "integrity": "sha512-bftHRYwqlxo1QVhFvLuGoDoScdGQsUo52EWDwvTyJ4pFcUxbK8BxVAzR/7G0kg02rbe1lHHJH/ZMbnzqVJ23Lw==", "requires": { "@angular/animations": "8.2.14", "@angular/cdk": "^8.2.3", @@ -11865,7 +12138,6 @@ "version": "4.2.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -12200,6 +12472,14 @@ "minimalistic-assert": "^1.0.0" } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://nexus.teamdlab.com/repository/npm/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "^1.0.3" + } + }, "web-animations-js": { "version": "2.3.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/web-animations-js/-/web-animations-js-2.3.2.tgz", diff --git a/ui/ui-frontend/package.json b/ui/ui-frontend/package.json index efbfa697e487937906f4d1dd087ef5dc21f4f825..8c7a75f4fb91006ab144fb8379336a29880c03e3 100644 --- a/ui/ui-frontend/package.json +++ b/ui/ui-frontend/package.json @@ -55,7 +55,9 @@ "@angular/material": "^8.2.3", "@angular/platform-browser": "8.2.14", "@angular/platform-browser-dynamic": "8.2.14", + "@angular/pwa": "^0.1001.3", "@angular/router": "8.2.14", + "@angular/service-worker": "8.2.14", "bootstrap": "^4.5.0", "bufferutil": "^4.0.1", "classlist.js": "^1.1.20150312", diff --git a/ui/ui-frontend/projects/identity/ngsw-config.json b/ui/ui-frontend/projects/identity/ngsw-config.json new file mode 100644 index 0000000000000000000000000000000000000000..ac7a93048b03fc8508c1f228b06bd400761b2722 --- /dev/null +++ b/ui/ui-frontend/projects/identity/ngsw-config.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/*.css", + "/*.js" + ] + } + }, { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/assets/**", + "/*.(eot|otf|svg|ttf|woff|woff2|ani)" + ] + } + } + ] +} diff --git a/ui/ui-frontend/projects/identity/src/app/app.module.ts b/ui/ui-frontend/projects/identity/src/app/app.module.ts index 4460e0ffb55e91a627fbf5dd089879652862be70..9215311447e94c568c9f660d108624da70507d05 100644 --- a/ui/ui-frontend/projects/identity/src/app/app.module.ts +++ b/ui/ui-frontend/projects/identity/src/app/app.module.ts @@ -41,7 +41,9 @@ import { BrowserModule, Title } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { VitamUICommonModule, WINDOW_LOCATION } from 'ui-frontend-common'; +import { ServiceWorkerModule } from '@angular/service-worker'; import { QuicklinkModule } from 'ngx-quicklink'; +import { environment } from '../environments/environment'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { CoreModule } from './core/core.module'; @@ -59,6 +61,7 @@ registerLocaleData(localeFr, 'fr'); VitamUICommonModule, AppRoutingModule, QuicklinkModule, + ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }), ], providers: [ Title, diff --git a/ui/ui-frontend/projects/identity/src/index.html b/ui/ui-frontend/projects/identity/src/index.html index 26d84feea6518499adf0c661d709d0bff92496dd..e13224396abc8069e56429a077f35940b966d605 100644 --- a/ui/ui-frontend/projects/identity/src/index.html +++ b/ui/ui-frontend/projects/identity/src/index.html @@ -11,7 +11,8 @@ <link rel="dns-prefetch" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="dns-prefetch" href="https://fonts.gstatic.com"> - <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"> + <meta name="theme-color" content="#1976d2"> </head> <body> <app-root> <!-- selector from app.component.ts --> @@ -26,5 +27,6 @@ </div> </app-root> + <noscript>Please enable JavaScript to continue using this application.</noscript> </body> </html> diff --git a/ui/ui-frontend/projects/portal/ngsw-config.json b/ui/ui-frontend/projects/portal/ngsw-config.json new file mode 100644 index 0000000000000000000000000000000000000000..ac7a93048b03fc8508c1f228b06bd400761b2722 --- /dev/null +++ b/ui/ui-frontend/projects/portal/ngsw-config.json @@ -0,0 +1,26 @@ +{ + "$schema": "../../node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/*.css", + "/*.js" + ] + } + }, { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/assets/**", + "/*.(eot|otf|svg|ttf|woff|woff2|ani)" + ] + } + } + ] +} diff --git a/ui/ui-frontend/projects/portal/src/app/app.module.ts b/ui/ui-frontend/projects/portal/src/app/app.module.ts index 9c9165e45eb995d0b0760e3aee82223c5705d55d..db0abc34ef43f04816b2d0dbef68d4aafac7401f 100644 --- a/ui/ui-frontend/projects/portal/src/app/app.module.ts +++ b/ui/ui-frontend/projects/portal/src/app/app.module.ts @@ -44,6 +44,7 @@ import { MatSnackBarModule } from '@angular/material/snack-bar'; import { BrowserModule, Title } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { ServiceWorkerModule } from '@angular/service-worker'; import { QuicklinkModule } from 'ngx-quicklink'; import { environment } from '../environments/environment'; import { AppRoutingModule } from './app-routing.module'; @@ -67,6 +68,7 @@ registerLocaleData(localeFr, 'fr'); AppRoutingModule, LoggerModule.forRoot(), QuicklinkModule, + ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }), ], providers: [ Title, diff --git a/ui/ui-frontend/projects/portal/src/index.html b/ui/ui-frontend/projects/portal/src/index.html index 26d84feea6518499adf0c661d709d0bff92496dd..e13224396abc8069e56429a077f35940b966d605 100644 --- a/ui/ui-frontend/projects/portal/src/index.html +++ b/ui/ui-frontend/projects/portal/src/index.html @@ -11,7 +11,8 @@ <link rel="dns-prefetch" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="dns-prefetch" href="https://fonts.gstatic.com"> - <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"> + <meta name="theme-color" content="#1976d2"> </head> <body> <app-root> <!-- selector from app.component.ts --> @@ -26,5 +27,6 @@ </div> </app-root> + <noscript>Please enable JavaScript to continue using this application.</noscript> </body> </html>