From e931dae203571febd5bdd09d3b55c51f434948bf Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sat, 2 Dec 2023 20:26:23 +0100 Subject: [PATCH] fix: replace webpack-favicons dep by maintained favicons-webpack-plugin (#467) --- package-lock.json | 241 ++++++++++------------------------------------ package.json | 2 +- webpack.config.js | 30 +++--- 3 files changed, 67 insertions(+), 206 deletions(-) diff --git a/package-lock.json b/package-lock.json index d9abdd3..a550e93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,8 @@ "eslint": "8.54.0", "eslint-config-prettier": "9.0.0", "eslint-plugin-prettier": "5.0.1", - "favicons": "7.1.4", + "favicons": "^7.1.4", + "favicons-webpack-plugin": "^6.0.1", "npm-run-all": "4.1.5", "postcss-loader": "7.3.3", "prettier": "3.1.0", @@ -34,7 +35,6 @@ "svgtofont": "4.0.1", "webpack": "5.89.0", "webpack-cli": "5.1.4", - "webpack-favicons": "1.3.8", "webpack-manifest-plugin": "5.0.0", "webpack-remove-empty-scripts": "1.0.4" }, @@ -1718,6 +1718,15 @@ "node": ">= 4.5.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/auto-config-loader": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/auto-config-loader/-/auto-config-loader-1.7.4.tgz", @@ -2697,15 +2706,6 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/colors-cli": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/colors-cli/-/colors-cli-1.0.32.tgz", @@ -4903,6 +4903,27 @@ "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/fecha": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", @@ -4969,6 +4990,12 @@ "node": ">=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": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6696,12 +6723,6 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, - "node_modules/lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, "node_modules/lodash.escape": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", @@ -8314,6 +8335,18 @@ "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/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -11703,180 +11736,6 @@ "node": ">= 10.13.0" } }, - "node_modules/webpack-favicons": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/webpack-favicons/-/webpack-favicons-1.3.8.tgz", - "integrity": "sha512-c40JTAUOorQSle2X1p5eRBpNl/zWw4rqR5EvCvLGZqMaXHUtJM/waCLgz0H4Pg1nXvvqV/LoYoqSvoAI0WiD0g==", - "dev": true, - "dependencies": { - "favicons": "7.0.0-beta.1" - }, - "engines": { - "node": ">=14.17.0" - } - }, - "node_modules/webpack-favicons/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/webpack-favicons/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-favicons/node_modules/favicons": { - "version": "7.0.0-beta.1", - "resolved": "https://registry.npmjs.org/favicons/-/favicons-7.0.0-beta.1.tgz", - "integrity": "sha512-68NaOyryvZpQlQw1w1K40AH6bl8KfhpL2Nb/EBedeBseYS7Rpz1d3t4eBaLIdOBRM2/353EKkZeKzBvQnp6LvA==", - "dev": true, - "dependencies": { - "colors": "^1.4.0", - "escape-html": "^1.0.3", - "lodash.defaultsdeep": "^4.6.1", - "sharp": "^0.29.1", - "through2": "^4.0.2", - "vinyl": "^2.2.1", - "xml2js": "^0.4.23" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-favicons/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/webpack-favicons/node_modules/node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true - }, - "node_modules/webpack-favicons/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-favicons/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/webpack-favicons/node_modules/sharp": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.29.3.tgz", - "integrity": "sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "color": "^4.0.1", - "detect-libc": "^1.0.3", - "node-addon-api": "^4.2.0", - "prebuild-install": "^7.0.0", - "semver": "^7.3.5", - "simple-get": "^4.0.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/webpack-favicons/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/webpack-favicons/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/webpack-favicons/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/webpack-favicons/node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-favicons/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/webpack-manifest-plugin": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-5.0.0.tgz", diff --git a/package.json b/package.json index 6e6394a..aedf184 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "eslint-config-prettier": "9.0.0", "eslint-plugin-prettier": "5.0.1", "favicons": "7.1.4", + "favicons-webpack-plugin": "6.0.1", "npm-run-all": "4.1.5", "postcss-loader": "7.3.3", "prettier": "3.1.0", @@ -56,7 +57,6 @@ "svgtofont": "4.0.1", "webpack": "5.89.0", "webpack-cli": "5.1.4", - "webpack-favicons": "1.3.8", "webpack-manifest-plugin": "5.0.0", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/webpack.config.js b/webpack.config.js index 9964355..a4a439a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,7 @@ const glob = require("glob") const { WebpackManifestPlugin } = require("webpack-manifest-plugin") const GitVersionPlugin = require("@eloquent/git-version-webpack-plugin") -const WebpackFavicons = require("webpack-favicons") +const FaviconsWebpackPlugin = require("favicons-webpack-plugin") const RemoveEmptyScriptsPlugin = require("webpack-remove-empty-scripts") const CopyPlugin = require("copy-webpack-plugin") const SRIPlugin = require("./webpack.plugins") @@ -56,19 +56,21 @@ var config = { ] }), - new WebpackFavicons({ - src: path.resolve("src", "static", "favicon", "favicon.svg"), - path: "favicon/", - background: "#efefef", - theme_color: "#efefef", - icons: { - android: { offset: 10 }, - appleIcon: { offset: 10 }, - appleStartup: { offset: 10 }, - favicons: true, - windows: { offset: 10 }, - yandex: false, - coast: false + new FaviconsWebpackPlugin({ + logo: path.resolve("src", "static", "favicon", "favicon.svg"), + prefix: "favicon/", + inject: false, + favicons: { + background: "#efefef", + theme_color: "#efefef", + icons: { + android: { offset: 10 }, + appleIcon: { offset: 10 }, + appleStartup: { offset: 10 }, + favicons: true, + windows: { offset: 10 }, + yandex: false + } } }),