From 823b93603a20ac2badb0ab14464e897d26b62948 Mon Sep 17 00:00:00 2001 From: Michael Haufe Date: Tue, 5 Dec 2023 13:14:40 -0600 Subject: [PATCH] 25 define pwa (#41) * Updated icon manifest * Reduced image size --- package-lock.json | 564 ++++++++++++++++++ package.json | 2 + src/presentation/Application.mts | 1 + src/presentation/assets/icons/favicon.ico | Bin 318 -> 0 bytes .../assets/images/favicon-32x32.png | Bin 953 -> 0 bytes .../assets/images/logo-maskable.png | Bin 0 -> 88614 bytes webpack.config.mjs | 43 +- 7 files changed, 606 insertions(+), 4 deletions(-) delete mode 100644 src/presentation/assets/icons/favicon.ico delete mode 100644 src/presentation/assets/images/favicon-32x32.png create mode 100644 src/presentation/assets/images/logo-maskable.png diff --git a/package-lock.json b/package-lock.json index 71fc647a..b174992d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,8 @@ "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.29.0", "eslint-webpack-plugin": "^4.0.1", + "favicons": "^7.1.4", + "favicons-webpack-plugin": "^6.0.1", "html-webpack-plugin": "^5.5.3", "ts-loader": "^9.5.0", "typescript": "^5.3.2", @@ -3475,6 +3477,15 @@ "node": ">= 4.0.0" } }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -3487,6 +3498,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", @@ -3541,6 +3558,26 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -3556,6 +3593,17 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", @@ -3660,6 +3708,30 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -3793,6 +3865,12 @@ "node": ">= 6" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -3847,6 +3925,19 @@ "node": ">=6" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3865,6 +3956,16 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -4131,6 +4232,30 @@ "ms": "2.0.0" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4217,6 +4342,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -4374,6 +4508,15 @@ "node": ">= 0.8" } }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", @@ -5055,6 +5198,15 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -5108,6 +5260,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -5165,6 +5323,41 @@ "reusify": "^1.0.4" } }, + "node_modules/favicons": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/favicons/-/favicons-7.1.4.tgz", + "integrity": "sha512-lnZpVgT7Fzz+DUjioKF1dMwLYlpqWCaB4gIksIfIKwtlhHO1Q7w23hERwHQjEsec+43iENwbTAPRDW3XvpLhbg==", + "dev": true, + "dependencies": { + "escape-html": "^1.0.3", + "sharp": "^0.32.4", + "xml2js": "^0.6.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/favicons-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/favicons-webpack-plugin/-/favicons-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-Gl0Co4zIZq74EKXdpfe8FaoJqbuf0undV4UgpsL34vqICRAYUDwQdp3D+z+uxEOV0i9o+vHDn7Q6jaSxRiDJUA==", + "dev": true, + "dependencies": { + "find-root": "^1.1.0", + "parse-author": "^2.0.0", + "parse5": "^7.1.1" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "html-webpack-plugin": "^5.5.0" + }, + "peerDependencies": { + "favicons": "^7.0.1", + "webpack": "^5.0.0" + } + }, "node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -5258,6 +5451,12 @@ "node": ">= 0.8" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -5347,6 +5546,12 @@ "node": ">= 0.6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -5482,6 +5687,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -5911,6 +6122,26 @@ "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", "dev": true }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", @@ -5989,6 +6220,12 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "node_modules/internal-slot": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", @@ -6035,6 +6272,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -6753,6 +6996,18 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6780,6 +7035,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6816,6 +7077,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6846,6 +7113,24 @@ "tslib": "^2.0.3" } }, + "node_modules/node-abi": { + "version": "3.52.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", + "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -7131,6 +7416,42 @@ "node": ">=6" } }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -7326,6 +7647,60 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7385,6 +7760,16 @@ "node": ">= 0.10" } }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -7428,6 +7813,12 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -7469,6 +7860,30 @@ "node": ">= 0.8" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -7844,6 +8259,12 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true + }, "node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", @@ -8059,6 +8480,29 @@ "node": ">=8" } }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8109,6 +8553,60 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -8255,6 +8753,16 @@ "node": ">= 0.8" } }, + "node_modules/streamx": { + "version": "2.15.5", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", + "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -8441,6 +8949,28 @@ "node": ">=6" } }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -8690,6 +9220,18 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9605,6 +10147,28 @@ } } }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/package.json b/package.json index e4d48203..f53dd6cc 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,8 @@ "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.29.0", "eslint-webpack-plugin": "^4.0.1", + "favicons": "^7.1.4", + "favicons-webpack-plugin": "^6.0.1", "html-webpack-plugin": "^5.5.3", "ts-loader": "^9.5.0", "typescript": "^5.3.2", diff --git a/src/presentation/Application.mts b/src/presentation/Application.mts index c3ed7d95..0182f1f0 100644 --- a/src/presentation/Application.mts +++ b/src/presentation/Application.mts @@ -19,6 +19,7 @@ export default class Application extends Container { constructor() { super({}, []); + document.body.innerHTML = ''; this._installOrUpdateServiceWorker(); this._initRouter().then(() => { self.navigation.navigate(location.pathname); diff --git a/src/presentation/assets/icons/favicon.ico b/src/presentation/assets/icons/favicon.ico deleted file mode 100644 index cd410c2d6d98298459110517db39d7bcc1e81e2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 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≪poA| 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 M-hGbt@?ZA90HA7#!T ` + + + + + + ${htmlWebpackPlugin.options.title} + + + + Loading... + + + ` }), new GenerateSW({ navigateFallback: 'index.html',