diff --git a/default.nix b/default.nix
index 58c1024..308620f 100644
--- a/default.nix
+++ b/default.nix
@@ -1,9 +1,9 @@
-{ pkgs, google-chrome, symlinkJoin, stdenv, elmPackages, ... }:
+{ pkgs, google-chrome, symlinkJoin, stdenv, elmPackages, libjpeg, optipng, ... }:
let
pnpm2nix = pkgs.callPackage (builtins.fetchGit {
url = "https://github.com/notgne2/pnpm2nix.git";
- rev = "21e7f567485d5095343d5c397638e4dbeca0b4a4";
+ rev = "909accd35d23664254b43109ee58cd0c3d83a6d9";
}) {};
nodeCleanSourceFilter = name: type: pkgs.lib.cleanSourceFilter name type &&
@@ -41,11 +41,36 @@ let
chmod +x $local_chromium/chrome-linux/chrome
'';
}));
+ gifsicle = (drv: drv.overrideAttrs(oldAttrs: {
+ buildInputs = oldAttrs.buildInputs ++ [ pkgs.autoconf pkgs.automake ];
+ }));
+ jpegtran = (drv: drv.overrideAttrs(oldAttrs: {
+ buildInputs = [ libjpeg ];
+ }));
+ optipng = (drv: drv.overrideAttrs(oldAttrs: {
+ buildInputs = [ optipng ];
+ }));
+ optipng-bin = (drv: drv.overrideAttrs(oldAttrs: {
+ preBuild = ''
+ mkdir -p $HOME/node_modules/optipng-bin/vendor
+ ln -s ${optipng}/bin/optipng $HOME/node_modules/optipng-bin/vendor/optipng
+ '';
+ }));
+ jpegtran-bin = (drv: drv.overrideAttrs(oldAttrs: {
+ preBuild = ''
+ mkdir -p $HOME/node_modules/jpegtran-bin/vendor
+ ln -s ${libjpeg}/bin/jpegtran $HOME/node_modules/jpegtran-bin/vendor/jpegtran
+ '';
+ }));
};
};
mkWandardFront = {
name,
+ prettyName ? name,
+ description ? "",
+ themeColor ? "#000000",
+ backgroundColor ? "#000000",
src,
nodePackages ? null,
routes ? [ "/" ],
@@ -61,6 +86,10 @@ let
baseWebpackConfig = builtins.readFile ./webpack.config.js;
webpackConfig = ''
const ROUTES = ${builtins.toJSON routes}
+ const PRETTY_NAME = ${builtins.toJSON prettyName}
+ const DESCRIPTION = ${builtins.toJSON description}
+ const THEME_COLOR = ${builtins.toJSON themeColor}
+ const BACKGROUND_COLOR = ${builtins.toJSON backgroundColor}
'' + "\n" + baseWebpackConfig;
webpackConfigFile = pkgs.writeText "${name}-webpack-config" webpackConfig;
@@ -70,6 +99,54 @@ let
sourceTarget.src = '/main.js'
document.body.appendChild(sourceTarget)
'';
+
+ templateHtml = pkgs.writeText "template-html" ''
+
+
+
+
+ <%= htmlWebpackPlugin.options.title %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ '';
in
stdenv.mkDerivation {
inherit name;
@@ -86,6 +163,7 @@ let
ln -sf ${nodeSource}/node_modules .
cp ${webpackConfigFile} webpack.config.js
cp ${wandInit} wand.js
+ cp ${templateHtml} template.html
'';
shellHook = ''
diff --git a/package.json b/package.json
index 8ca2af8..9a58558 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,7 @@
"dependencies": {
"copy-webpack-plugin": "^5.1.1",
"elm-webpack-loader": "^6.0.1",
+ "favicons-webpack-plugin": "^1.0.2",
"html-webpack-plugin": "^3.2.0",
"imagemin-webpack-plugin": "^2.4.2",
"jsdom": "^15.2.1",
@@ -10,7 +11,6 @@
"terser-webpack-plugin": "^2.3.1",
"webpack": "^4.41.4",
"webpack-cli": "^3.3.10",
- "webpack-manifest-plugin": "^2.2.0",
"workbox-webpack-plugin": "^4.3.1"
},
"name": "wand-front-utils",
@@ -22,4 +22,4 @@
"author": "notgne2",
"license": "AGPL-3.0",
"description": ""
-}
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 81ef012..f8425d2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,6 +1,7 @@
dependencies:
copy-webpack-plugin: 5.1.1_webpack@4.41.4
elm-webpack-loader: 6.0.1
+ favicons-webpack-plugin: 1.0.2_webpack@4.41.4
html-webpack-plugin: 3.2.0_webpack@4.41.4
imagemin-webpack-plugin: 2.4.2
jsdom: 15.2.1
@@ -9,10 +10,16 @@ dependencies:
terser-webpack-plugin: 2.3.1_webpack@4.41.4
webpack: 4.41.4_webpack@4.41.4
webpack-cli: 3.3.10_webpack@4.41.4
- webpack-manifest-plugin: 2.2.0_webpack@4.41.4
workbox-webpack-plugin: 4.3.1_webpack@4.41.4
lockfileVersion: 5.1
packages:
+ /@babel/polyfill/7.7.0:
+ dependencies:
+ core-js: 2.6.11
+ regenerator-runtime: 0.13.3
+ dev: false
+ resolution:
+ integrity: sha512-/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ==
/@babel/runtime/7.7.7:
dependencies:
regenerator-runtime: 0.13.3
@@ -46,6 +53,327 @@ packages:
dev: false
resolution:
integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==
+ /@jimp/bmp/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ bmp-js: 0.1.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-P/ezH1FuoM3FwS0Dm2ZGkph4x5/rPBzFLEZor7KQkmGUnYEIEG4o0BUcAWFmJOp2HgzbT6O2SfrpJNBOcVACzQ==
+ /@jimp/core/0.5.4:
+ dependencies:
+ '@jimp/utils': 0.5.0
+ any-base: 1.1.0
+ buffer: 5.4.3
+ core-js: 2.6.11
+ exif-parser: 0.1.12
+ file-type: 9.0.0
+ load-bmfont: 1.4.0
+ mkdirp: 0.5.1
+ phin: 2.9.3
+ pixelmatch: 4.0.2
+ tinycolor2: 1.4.1
+ dev: false
+ resolution:
+ integrity: sha512-n3uvHy2ndUKItmbhnRO8xmU8J6KR+v6CQxO9sbeUDpSc3VXc1PkqrA8ZsCVFCjnDFcGBXL+MJeCTyQzq5W9Crw==
+ /@jimp/custom/0.5.4:
+ dependencies:
+ '@jimp/core': 0.5.4
+ core-js: 2.6.11
+ dev: false
+ resolution:
+ integrity: sha512-tLfyJoyouDl2J3RPFGfDzTtE+4S8ljqJUmLzy/cmx1n7+xS5TpLPdPskp7UaeAfNTqdF4CNAm94KYoxTZdj2mg==
+ /@jimp/gif/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ omggif: 1.0.10
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-HVB4c7b8r/yCpjhCjVNPRFLuujTav5UPmcQcFJjU6aIxmne6e29rAjRJEv3UMamHDGSu/96PzOsPZBO5U+ZGww==
+ /@jimp/jpeg/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ jpeg-js: 0.3.6
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-YaPWm+YSGCThNE/jLMckM3Qs6uaMxd/VsHOnEaqu5tGA4GFbfVaWHjKqkNGAFuiNV+HdgKlNcCOF3of+elvzqQ==
+ /@jimp/plugin-blit/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-WqDYOugv76hF1wnKy7+xPGf9PUbcm9vPW28/jHWn1hjbb2GnusJ2fVEFad76J/1SPfhrQ2Uebf2QCWJuLmOqZg==
+ /@jimp/plugin-blur/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-5k0PXCA1RTJdITL7yMAyZ5tGQjKLHqFvwdXj/PCoBo5PuMyr0x6qfxmQEySixGk/ZHdDxMi80vYxHdKHjNNgjg==
+ /@jimp/plugin-color/0.5.5_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ tinycolor2: 1.4.1
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-hWeOqNCmLguGYLhSvBrpfCvlijsMEVaLZAOod62s1rzWnujozyKOzm2eZe+W3To6mHbp5RGJNVrIwHBWMab4ug==
+ /@jimp/plugin-contain/0.5.4_effe26807522049089e686462993561e:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-blit': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-resize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-scale': 0.5.0_142393c0e8a1e2c34a74d6c9074d0d5e
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ resolution:
+ integrity: sha512-8YJh4FI3S69unri0nJsWeqVLeVGA77N2R0Ws16iSuCCD/5UnWd9FeWRrSbKuidBG6TdMBaG2KUqSYZeHeH9GOQ==
+ /@jimp/plugin-cover/0.5.4_cc14b5efba2d40bc5a3d5c26d9faa1e2:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-crop': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-resize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-scale': 0.5.0_142393c0e8a1e2c34a74d6c9074d0d5e
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ resolution:
+ integrity: sha512-2Rur7b44WiDDgizUI2M2uYWc1RmfhU5KjKS1xXruobjQ0tXkf5xlrPXSushq0hB6Ne0Ss6wv0+/6eQ8WeGHU2w==
+ /@jimp/plugin-crop/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-6t0rqn4VazquGk48tO6hFBrQ+nkvC+A1RnR6UM/m8ZtG2/yjpwF0MXcpgJI1Fb+a4Ug7BY1fu2GPcZOhnAVK/g==
+ /@jimp/plugin-displace/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-Bec7SQvnmKia4hOXEDjeNVx7vo/1bWqjuV6NO8xbNQcAO3gaCl91c9FjMDhsfAVb0Ou6imhbIuFPrLxorXsecQ==
+ /@jimp/plugin-dither/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-We2WJQsD/Lm8oqBFp/vUv9/5r2avyenL+wNNu/s2b1HqA5O4sPGrjHy9K6vIov0NroQGCQ3bNznLkTmjiHKBcg==
+ /@jimp/plugin-flip/0.5.0_59a74501089c250ca880dd6b4dc6feaa:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-rotate': 0.5.4_da324b333645aa6fcebd981c80045342
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-rotate': '>=0.3.5'
+ resolution:
+ integrity: sha512-D/ehBQxLMNR7oNd80KXo4tnSET5zEm5mR70khYOTtTlfti/DlLp3qOdjPOzfLyAdqO7Ly4qCaXrIsnia+pfPrA==
+ /@jimp/plugin-gaussian/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-Ln4kgxblv0/YzLBDb/J8DYPLhDzKH87Y8yHh5UKv3H+LPKnLaEG3L4iKTE9ivvdocnjmrtTFMYcWv2ERSPeHcg==
+ /@jimp/plugin-invert/0.5.0_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-/vyKeIi3T7puf+8ruWovTjzDC585EnTwJ+lGOOUYiNPsdn4JDFe1B3xd+Ayv9aCQbXDIlPElZaM9vd/+wqDiIQ==
+ /@jimp/plugin-mask/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-mUJ04pCrUWaJGXPjgoVbzhIQB8cVobj2ZEFlGO3BEAjyylYMrdJlNlsER8dd7UuJ2L/a4ocWtFDdsnuicnBghQ==
+ /@jimp/plugin-normalize/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-Q5W0oEz9wxsjuhvHAJynI/OqXZcmqEAuRONQId7Aw5ulCXSOg9C4y2a67EO7aZAt55T+zMVxI9UpVUpzVvO6hw==
+ /@jimp/plugin-print/0.5.4_c48ab6678865e479aa11b0b3e6e89b91:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-blit': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ load-bmfont: 1.4.0
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ resolution:
+ integrity: sha512-DOZr5TY9WyMWFBD37oz7KpTEBVioFIHQF/gH5b3O5jjFyj4JPMkw7k3kVBve9lIrzIYrvLqe0wH59vyAwpeEFg==
+ /@jimp/plugin-resize/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-lXNprNAT0QY1D1vG/1x6urUTlWuZe2dfL29P81ApW2Yfcio471+oqo45moX5FLS0q24xU600g7cHGf2/TzqSfA==
+ /@jimp/plugin-rotate/0.5.4_da324b333645aa6fcebd981c80045342:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-blit': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-crop': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-resize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ resolution:
+ integrity: sha512-SIdUpMc8clObMchy8TnjgHgcXEQM992z5KavgiuOnCuBlsmSHtE3MrXTOyMW0Dn3gqapV9Y5vygrLm/BVtCCsg==
+ /@jimp/plugin-scale/0.5.0_142393c0e8a1e2c34a74d6c9074d0d5e:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-resize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ resolution:
+ integrity: sha512-5InIOr3cNtrS5aQ/uaosNf28qLLc0InpNGKFmGFTv8oqZqLch6PtDTjDBZ1GGWsPdA/ljy4Qyy7mJO1QBmgQeQ==
+ /@jimp/plugins/0.5.5_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/plugin-blit': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-blur': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/plugin-color': 0.5.5_@jimp+custom@0.5.4
+ '@jimp/plugin-contain': 0.5.4_effe26807522049089e686462993561e
+ '@jimp/plugin-cover': 0.5.4_cc14b5efba2d40bc5a3d5c26d9faa1e2
+ '@jimp/plugin-crop': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-displace': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/plugin-dither': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/plugin-flip': 0.5.0_59a74501089c250ca880dd6b4dc6feaa
+ '@jimp/plugin-gaussian': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/plugin-invert': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/plugin-mask': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-normalize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-print': 0.5.4_c48ab6678865e479aa11b0b3e6e89b91
+ '@jimp/plugin-resize': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/plugin-rotate': 0.5.4_da324b333645aa6fcebd981c80045342
+ '@jimp/plugin-scale': 0.5.0_142393c0e8a1e2c34a74d6c9074d0d5e
+ core-js: 2.6.11
+ timm: 1.6.2
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-9oF6LbSM/K7YkFCcxaPaD8NUkL/ZY8vT8NIGfQ/NpX+tKQtcsLHcRavHpUC+M1xXShv/QGx9OdBV/jgiu82QYg==
+ /@jimp/png/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ '@jimp/utils': 0.5.0
+ core-js: 2.6.11
+ pngjs: 3.4.0
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-J2NU7368zihF1HUZdmpXsL/Hhyf+I3ubmK+6Uz3Uoyvtk1VS7dO3L0io6fJQutfWmPZ4bvu6Ry022oHjbi6QCA==
+ /@jimp/tiff/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/custom': 0.5.4
+ core-js: 2.6.11
+ utif: 2.0.1
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-hr7Zq3eWjAZ+itSwuAObIWMRNv7oHVM3xuEDC2ouP7HfE7woBtyhCyfA7u12KlgtM57gKWeogXqTlewRGVzx6g==
+ /@jimp/types/0.5.4_@jimp+custom@0.5.4:
+ dependencies:
+ '@jimp/bmp': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/custom': 0.5.4
+ '@jimp/gif': 0.5.0_@jimp+custom@0.5.4
+ '@jimp/jpeg': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/png': 0.5.4_@jimp+custom@0.5.4
+ '@jimp/tiff': 0.5.4_@jimp+custom@0.5.4
+ core-js: 2.6.11
+ timm: 1.6.2
+ dev: false
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ resolution:
+ integrity: sha512-nbZXM6TsdpnYHIBd8ZuoxGpvmxc2SqiggY30/bhOP/VJQoDBzm2v/20Ywz5M0snpIK2SdYG52eZPNjfjqUP39w==
+ /@jimp/utils/0.5.0:
+ dependencies:
+ core-js: 2.6.11
+ dev: false
+ resolution:
+ integrity: sha512-7H9RFVU+Li2XmEko0GGyzy7m7JjSc7qa+m8l3fUzYg2GtwASApjKF/LSG2AUQCUmDKFLdfIEVjxvKvZUJFEmpw==
/@mrmlnc/readdir-enhanced/2.2.1:
dependencies:
call-me-maybe: 1.0.1
@@ -416,6 +744,10 @@ packages:
node: '>=4'
resolution:
integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ /any-base/1.1.0:
+ dev: false
+ resolution:
+ integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==
/anymatch/2.0.0:
dependencies:
micromatch: 3.1.10
@@ -439,6 +771,13 @@ packages:
node: '>=4'
resolution:
integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=
+ /are-we-there-yet/1.1.5:
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 2.3.6
+ dev: false
+ resolution:
+ integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
/argparse/1.0.10:
dependencies:
sprintf-js: 1.0.3
@@ -565,6 +904,12 @@ packages:
hasBin: true
resolution:
integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+ /author-regex/1.0.0:
+ dev: false
+ engines:
+ node: '>=0.8'
+ resolution:
+ integrity: sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=
/aws-sign2/0.7.0:
dev: false
resolution:
@@ -640,6 +985,10 @@ packages:
dev: false
resolution:
integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+ /bignumber.js/2.4.0:
+ dev: false
+ resolution:
+ integrity: sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=
/bin-build/3.0.0:
dependencies:
decompress: 4.2.0
@@ -713,10 +1062,28 @@ packages:
dev: false
resolution:
integrity: sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==
+ /bl/3.0.0:
+ dependencies:
+ readable-stream: 3.4.0
+ dev: false
+ resolution:
+ integrity: sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==
/bluebird/3.7.2:
dev: false
resolution:
integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+ /bmp-js/0.0.1:
+ dev: false
+ resolution:
+ integrity: sha1-WtAUcJnROp84qnuZrx1ueGZu038=
+ /bmp-js/0.0.3:
+ dev: false
+ resolution:
+ integrity: sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=
+ /bmp-js/0.1.0:
+ dev: false
+ resolution:
+ integrity: sha1-4Fpj95amwf8l9Hcex62twUjAcjM=
/bn.js/4.11.8:
dev: false
resolution:
@@ -842,6 +1209,12 @@ packages:
dev: false
resolution:
integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+ /buffer-equal/0.0.1:
+ dev: false
+ engines:
+ node: '>=0.4.0'
+ resolution:
+ integrity: sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
/buffer-fill/1.0.0:
dev: false
resolution:
@@ -850,6 +1223,10 @@ packages:
dev: false
resolution:
integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+ /buffer-json/2.0.0:
+ dev: false
+ resolution:
+ integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==
/buffer-xor/1.0.3:
dev: false
resolution:
@@ -940,6 +1317,22 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ /cache-loader/3.0.1_webpack@4.41.4:
+ dependencies:
+ buffer-json: 2.0.0
+ find-cache-dir: 2.1.0
+ loader-utils: 1.2.3
+ mkdirp: 0.5.1
+ neo-async: 2.6.1
+ schema-utils: 1.0.0
+ webpack: 4.41.4_webpack@4.41.4
+ dev: false
+ engines:
+ node: '>= 6.9.0'
+ peerDependencies:
+ webpack: ^4.0.0
+ resolution:
+ integrity: sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==
/cacheable-request/2.1.4:
dependencies:
clone-response: 1.0.2
@@ -1105,12 +1498,36 @@ packages:
dev: false
resolution:
integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+ /clone-buffer/1.0.0:
+ dev: false
+ engines:
+ node: '>= 0.10'
+ resolution:
+ integrity: sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
/clone-response/1.0.2:
dependencies:
mimic-response: 1.0.1
dev: false
resolution:
integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ /clone-stats/1.0.0:
+ dev: false
+ resolution:
+ integrity: sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
+ /clone/2.1.2:
+ dev: false
+ engines:
+ node: '>=0.8'
+ resolution:
+ integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
+ /cloneable-readable/1.1.3:
+ dependencies:
+ inherits: 2.0.4
+ process-nextick-args: 2.0.1
+ readable-stream: 2.3.6
+ dev: false
+ resolution:
+ integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
/coa/2.0.2:
dependencies:
'@types/q': 1.5.2
@@ -1146,6 +1563,30 @@ packages:
dev: false
resolution:
integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+ /color-name/1.1.4:
+ dev: false
+ resolution:
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+ /color-string/1.5.3:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+ dev: false
+ resolution:
+ integrity: sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
+ /color/3.1.2:
+ dependencies:
+ color-convert: 1.9.3
+ color-string: 1.5.3
+ dev: false
+ resolution:
+ integrity: sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
+ /colors/1.4.0:
+ dev: false
+ engines:
+ node: '>=0.1.90'
+ resolution:
+ integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
/combined-stream/1.0.8:
dependencies:
delayed-stream: 1.0.0
@@ -1214,6 +1655,10 @@ packages:
dev: false
resolution:
integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+ /console-control-strings/1.1.0:
+ dev: false
+ resolution:
+ integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
/console-stream/0.1.1:
dev: false
resolution:
@@ -1291,6 +1736,11 @@ packages:
requiresBuild: true
resolution:
integrity: sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
+ /core-js/3.6.0:
+ dev: false
+ requiresBuild: true
+ resolution:
+ integrity: sha512-AHPTNKzyB+YwgDWoSOCaid9PUSEF6781vsfiK8qUz62zRR448/XgK2NtCbpiUGizbep8Lrpt0Du19PpGGZvw3Q==
/core-util-is/1.0.2:
dev: false
resolution:
@@ -1496,6 +1946,14 @@ packages:
node: '>=4'
resolution:
integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+ /decompress-response/4.2.1:
+ dependencies:
+ mimic-response: 2.0.0
+ dev: false
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
/decompress-tar/4.1.1:
dependencies:
file-type: 5.2.0
@@ -1554,6 +2012,12 @@ packages:
node: '>=4'
resolution:
integrity: sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=
+ /deep-extend/0.6.0:
+ dev: false
+ engines:
+ node: '>=4.0.0'
+ resolution:
+ integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
/deep-is/0.1.3:
dev: false
resolution:
@@ -1597,6 +2061,10 @@ packages:
node: '>=0.4.0'
resolution:
integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+ /delegates/1.0.0:
+ dev: false
+ resolution:
+ integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
/depd/1.1.2:
dev: false
engines:
@@ -1620,6 +2088,13 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
+ /detect-libc/1.0.3:
+ dev: false
+ engines:
+ node: '>=0.10'
+ hasBin: true
+ resolution:
+ integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
/diffie-hellman/5.0.3:
dependencies:
bn.js: 4.11.8
@@ -1658,6 +2133,10 @@ packages:
dev: false
resolution:
integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+ /dom-walk/0.1.1:
+ dev: false
+ resolution:
+ integrity: sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=
/domain-browser/1.2.0:
dev: false
engines:
@@ -1876,6 +2355,10 @@ packages:
node: '>= 0.4'
resolution:
integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ /es6-promise/3.3.1:
+ dev: false
+ resolution:
+ integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=
/es6-promise/4.2.8:
dev: false
resolution:
@@ -2038,6 +2521,10 @@ packages:
node: '>=4'
resolution:
integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==
+ /exif-parser/0.1.12:
+ dev: false
+ resolution:
+ integrity: sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=
/expand-brackets/2.1.4:
dependencies:
debug: 2.6.9
@@ -2052,6 +2539,12 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ /expand-template/2.0.3:
+ dev: false
+ engines:
+ node: '>=6'
+ resolution:
+ integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
/expand-tilde/2.0.2:
dependencies:
homedir-polyfill: 1.0.3
@@ -2191,6 +2684,41 @@ packages:
dev: false
resolution:
integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+ /favicons-webpack-plugin/1.0.2_webpack@4.41.4:
+ dependencies:
+ cache-loader: 3.0.1_webpack@4.41.4
+ camelcase: 5.3.1
+ favicons: 5.4.1
+ find-cache-dir: 2.1.0
+ find-root: 1.1.0
+ loader-utils: 1.2.3
+ parse-author: 2.0.0
+ webpack: 4.41.4_webpack@4.41.4
+ dev: false
+ peerDependencies:
+ webpack: ^3.0.0 || ^4.0.0
+ resolution:
+ integrity: sha512-iLsbVEhD4gimlI7B8Q8MnouUSebYK5UFFUNk8BUq249gHrJZ5wijoPdAuMOgEenw8dm53hPWqoKAt5UCVsoLrg==
+ /favicons/5.4.1:
+ dependencies:
+ clone: 2.1.2
+ colors: 1.4.0
+ core-js: 3.6.0
+ image-size: 0.7.5
+ jimp: 0.5.6
+ jsontoxml: 1.0.1
+ lodash.defaultsdeep: 4.6.1
+ require-directory: 2.1.1
+ sharp: 0.22.1
+ through2: 3.0.1
+ tinycolor2: 1.4.1
+ to-ico: 1.1.5
+ util.promisify: 1.0.0
+ vinyl: 2.2.0
+ xml2js: 0.4.23
+ dev: false
+ resolution:
+ integrity: sha512-lN8XEGDLtqxBR0erBSeNxD+Jd/ozP0iUCiwR2jTzHnVuVz7C477ncXV/b64O5U4VAtfSXAEOvGsvwTBrfK49dQ==
/fd-slicer/1.0.1:
dependencies:
pend: 1.2.0
@@ -2252,6 +2780,12 @@ packages:
node: '>=6'
resolution:
integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==
+ /file-type/9.0.0:
+ dev: false
+ engines:
+ node: '>=6'
+ resolution:
+ integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==
/file-uri-to-path/1.0.0:
dev: false
optional: true
@@ -2328,6 +2862,10 @@ packages:
hasBin: true
resolution:
integrity: sha512-nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ==
+ /find-root/1.1.0:
+ dev: false
+ resolution:
+ integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
/find-up/1.1.2:
dependencies:
path-exists: 2.1.0
@@ -2445,6 +2983,12 @@ packages:
dev: false
resolution:
integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+ /fs-copy-file-sync/1.1.1:
+ dev: false
+ engines:
+ node: '>=0.8'
+ resolution:
+ integrity: sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==
/fs-extra/4.0.3:
dependencies:
graceful-fs: 4.2.3
@@ -2453,16 +2997,12 @@ packages:
dev: false
resolution:
integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
- /fs-extra/7.0.1:
+ /fs-minipass/1.2.7:
dependencies:
- graceful-fs: 4.2.3
- jsonfile: 4.0.0
- universalify: 0.1.2
+ minipass: 2.9.0
dev: false
- engines:
- node: '>=6 <7 || >=8'
resolution:
- integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+ integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
/fs-minipass/2.0.0:
dependencies:
minipass: 3.1.1
@@ -2501,6 +3041,19 @@ packages:
dev: false
resolution:
integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+ /gauge/2.7.4:
+ dependencies:
+ aproba: 1.2.0
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.2
+ string-width: 1.0.2
+ strip-ansi: 3.0.1
+ wide-align: 1.1.3
+ dev: false
+ resolution:
+ integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
/get-caller-file/1.0.3:
dev: false
resolution:
@@ -2577,6 +3130,10 @@ packages:
requiresBuild: true
resolution:
integrity: sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==
+ /github-from-package/0.0.0:
+ dev: false
+ resolution:
+ integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
/glob-parent/3.1.0:
dependencies:
is-glob: 3.1.0
@@ -2639,6 +3196,13 @@ packages:
node: '>=6'
resolution:
integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+ /global/4.3.2:
+ dependencies:
+ min-document: 2.19.0
+ process: 0.5.2
+ dev: false
+ resolution:
+ integrity: sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=
/globby/7.1.1:
dependencies:
array-union: 1.0.2
@@ -2764,6 +3328,10 @@ packages:
dev: false
resolution:
integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
+ /has-unicode/2.0.1:
+ dev: false
+ resolution:
+ integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
/has-value/0.3.1:
dependencies:
get-value: 2.0.6
@@ -2994,6 +3562,20 @@ packages:
dev: false
resolution:
integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+ /image-size/0.5.5:
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ hasBin: true
+ resolution:
+ integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
+ /image-size/0.7.5:
+ dev: false
+ engines:
+ node: '>=6.9.0'
+ hasBin: true
+ resolution:
+ integrity: sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==
/imagemin-gifsicle/6.0.1:
dependencies:
exec-buffer: 3.2.0
@@ -3172,6 +3754,12 @@ packages:
node: '>=4'
resolution:
integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
+ /ip-regex/1.0.3:
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ resolution:
+ integrity: sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
/ip-regex/2.1.0:
dev: false
engines:
@@ -3204,6 +3792,10 @@ packages:
dev: false
resolution:
integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+ /is-arrayish/0.3.2:
+ dev: false
+ resolution:
+ integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
/is-binary-path/1.0.1:
dependencies:
binary-extensions: 1.13.1
@@ -3306,6 +3898,10 @@ packages:
node: '>=4'
resolution:
integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+ /is-function/1.0.1:
+ dev: false
+ resolution:
+ integrity: sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=
/is-gif/3.0.0:
dependencies:
file-type: 10.11.0
@@ -3484,6 +4080,49 @@ packages:
node: '>= 6'
resolution:
integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
+ /jimp/0.2.28:
+ dependencies:
+ bignumber.js: 2.4.0
+ bmp-js: 0.0.3
+ es6-promise: 3.3.1
+ exif-parser: 0.1.12
+ file-type: 3.9.0
+ jpeg-js: 0.2.0
+ load-bmfont: 1.4.0
+ mime: 1.6.0
+ mkdirp: 0.5.1
+ pixelmatch: 4.0.2
+ pngjs: 3.4.0
+ read-chunk: 1.0.1
+ request: 2.88.0
+ stream-to-buffer: 0.1.0
+ tinycolor2: 1.4.1
+ url-regex: 3.2.0
+ dev: false
+ resolution:
+ integrity: sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=
+ /jimp/0.5.6:
+ dependencies:
+ '@babel/polyfill': 7.7.0
+ '@jimp/custom': 0.5.4
+ '@jimp/plugins': 0.5.5_@jimp+custom@0.5.4
+ '@jimp/types': 0.5.4_@jimp+custom@0.5.4
+ core-js: 2.6.11
+ dev: false
+ resolution:
+ integrity: sha512-H0nHTu6KgAgQzDxa38ew2dXbnRzKm1w5uEyhMIxqwCQVjwgarOjjkV/avbNLxfxRHAFaNp4rGIc/qm8P+uhX9A==
+ /jpeg-js/0.1.2:
+ dev: false
+ resolution:
+ integrity: sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=
+ /jpeg-js/0.2.0:
+ dev: false
+ resolution:
+ integrity: sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=
+ /jpeg-js/0.3.6:
+ dev: false
+ resolution:
+ integrity: sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw==
/jpegtran-bin/4.0.0:
dependencies:
bin-build: 3.0.0
@@ -3594,6 +4233,12 @@ packages:
dev: false
resolution:
integrity: sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
+ /jsontoxml/1.0.1:
+ dev: false
+ engines:
+ node: '>=0.2.0'
+ resolution:
+ integrity: sha512-dtKGq0K8EWQBRqcAaePSgKR4Hyjfsz/LkurHSV3Cxk4H+h2fWDeaN2jzABz+ZmOJylgXS7FGeWmbZ6jgYUMdJQ==
/jsprim/1.4.1:
dependencies:
assert-plus: 1.0.0
@@ -3664,6 +4309,19 @@ packages:
node: '>= 0.8.0'
resolution:
integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ /load-bmfont/1.4.0:
+ dependencies:
+ buffer-equal: 0.0.1
+ mime: 1.6.0
+ parse-bmfont-ascii: 1.0.6
+ parse-bmfont-binary: 1.0.6
+ parse-bmfont-xml: 1.1.4
+ phin: 2.9.3
+ xhr: 2.5.0
+ xtend: 4.0.2
+ dev: false
+ resolution:
+ integrity: sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==
/load-json-file/1.1.0:
dependencies:
graceful-fs: 4.2.3
@@ -3722,6 +4380,10 @@ packages:
dev: false
resolution:
integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+ /lodash.defaultsdeep/4.6.1:
+ dev: false
+ resolution:
+ integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
/lodash.map/4.6.0:
dev: false
resolution:
@@ -4018,6 +4680,18 @@ packages:
node: '>=4'
resolution:
integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+ /mimic-response/2.0.0:
+ dev: false
+ engines:
+ node: '>=8'
+ resolution:
+ integrity: sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==
+ /min-document/2.19.0:
+ dependencies:
+ dom-walk: 0.1.1
+ dev: false
+ resolution:
+ integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
/minimalistic-assert/1.0.1:
dev: false
resolution:
@@ -4064,6 +4738,13 @@ packages:
node: '>=8'
resolution:
integrity: sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==
+ /minipass/2.9.0:
+ dependencies:
+ safe-buffer: 5.2.0
+ yallist: 3.1.1
+ dev: false
+ resolution:
+ integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
/minipass/3.1.1:
dependencies:
yallist: 4.0.0
@@ -4072,6 +4753,12 @@ packages:
node: '>=8'
resolution:
integrity: sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==
+ /minizlib/1.3.3:
+ dependencies:
+ minipass: 2.9.0
+ dev: false
+ resolution:
+ integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
/mississippi/3.0.0:
dependencies:
concat-stream: 1.6.2
@@ -4130,7 +4817,6 @@ packages:
integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
/nan/2.14.0:
dev: false
- optional: true
resolution:
integrity: sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
/nanomatch/1.2.13:
@@ -4151,6 +4837,10 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ /napi-build-utils/1.0.1:
+ dev: false
+ resolution:
+ integrity: sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==
/negotiator/0.6.2:
dev: false
engines:
@@ -4171,6 +4861,12 @@ packages:
dev: false
resolution:
integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+ /node-abi/2.13.0:
+ dependencies:
+ semver: 5.7.1
+ dev: false
+ resolution:
+ integrity: sha512-9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA==
/node-elm-compiler/5.0.4:
dependencies:
cross-spawn: 6.0.5
@@ -4210,6 +4906,10 @@ packages:
dev: false
resolution:
integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ /noop-logger/0.1.1:
+ dev: false
+ resolution:
+ integrity: sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
/normalize-package-data/2.5.0:
dependencies:
hosted-git-info: 2.8.5
@@ -4260,6 +4960,15 @@ packages:
node: '>=4'
resolution:
integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+ /npmlog/4.1.2:
+ dependencies:
+ are-we-there-yet: 1.1.5
+ console-control-strings: 1.1.0
+ gauge: 2.7.4
+ set-blocking: 2.0.0
+ dev: false
+ resolution:
+ integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
/nth-check/1.0.2:
dependencies:
boolbase: 1.0.0
@@ -4325,17 +5034,6 @@ packages:
node: '>= 0.4'
resolution:
integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
- /object.entries/1.1.1:
- dependencies:
- define-properties: 1.1.3
- es-abstract: 1.17.0-next.1
- function-bind: 1.1.1
- has: 1.0.3
- dev: false
- engines:
- node: '>= 0.4'
- resolution:
- integrity: sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==
/object.getownpropertydescriptors/2.1.0:
dependencies:
define-properties: 1.1.3
@@ -4364,6 +5062,10 @@ packages:
node: '>= 0.4'
resolution:
integrity: sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ /omggif/1.0.10:
+ dev: false
+ resolution:
+ integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
/on-finished/2.3.0:
dependencies:
ee-first: 1.1.1
@@ -4588,6 +5290,33 @@ packages:
dev: false
resolution:
integrity: sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
+ /parse-author/2.0.0:
+ dependencies:
+ author-regex: 1.0.0
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ resolution:
+ integrity: sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=
+ /parse-bmfont-ascii/1.0.6:
+ dev: false
+ resolution:
+ integrity: sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=
+ /parse-bmfont-binary/1.0.6:
+ dev: false
+ resolution:
+ integrity: sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=
+ /parse-bmfont-xml/1.1.4:
+ dependencies:
+ xml-parse-from-string: 1.0.1
+ xml2js: 0.4.23
+ dev: false
+ resolution:
+ integrity: sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==
+ /parse-headers/2.0.3:
+ dev: false
+ resolution:
+ integrity: sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==
/parse-json/2.2.0:
dependencies:
error-ex: 1.3.2
@@ -4602,6 +5331,14 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+ /parse-png/1.1.2:
+ dependencies:
+ pngjs: 3.4.0
+ dev: false
+ engines:
+ node: '>=4'
+ resolution:
+ integrity: sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I=
/parse5/5.1.0:
dev: false
resolution:
@@ -4704,6 +5441,10 @@ packages:
dev: false
resolution:
integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+ /phin/2.9.3:
+ dev: false
+ resolution:
+ integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
/pify/2.3.0:
dev: false
engines:
@@ -4736,6 +5477,13 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+ /pixelmatch/4.0.2:
+ dependencies:
+ pngjs: 3.4.0
+ dev: false
+ hasBin: true
+ resolution:
+ integrity: sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=
/pkg-dir/3.0.0:
dependencies:
find-up: 3.0.0
@@ -4756,6 +5504,12 @@ packages:
dev: false
resolution:
integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
+ /pngjs/3.4.0:
+ dev: false
+ engines:
+ node: '>=4.0.0'
+ resolution:
+ integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
/pngquant-bin/5.0.2:
dependencies:
bin-build: 3.0.0
@@ -4785,6 +5539,29 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+ /prebuild-install/5.3.3:
+ dependencies:
+ detect-libc: 1.0.3
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.0
+ mkdirp: 0.5.1
+ napi-build-utils: 1.0.1
+ node-abi: 2.13.0
+ noop-logger: 0.1.1
+ npmlog: 4.1.2
+ pump: 3.0.0
+ rc: 1.2.8
+ simple-get: 3.1.0
+ tar-fs: 2.0.0
+ tunnel-agent: 0.6.0
+ which-pm-runs: 1.0.0
+ dev: false
+ engines:
+ node: '>=6'
+ hasBin: true
+ resolution:
+ integrity: sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==
/prelude-ls/1.1.2:
dev: false
engines:
@@ -4836,6 +5613,12 @@ packages:
node: '>= 0.6.0'
resolution:
integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+ /process/0.5.2:
+ dev: false
+ engines:
+ node: '>= 0.6.0'
+ resolution:
+ integrity: sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
/progress/2.0.3:
dev: false
engines:
@@ -5013,6 +5796,22 @@ packages:
node: '>= 0.8'
resolution:
integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
+ /rc/1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.5
+ minimist: 1.2.0
+ strip-json-comments: 2.0.1
+ dev: false
+ hasBin: true
+ resolution:
+ integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ /read-chunk/1.0.1:
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ resolution:
+ integrity: sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=
/read-pkg-up/1.0.1:
dependencies:
find-up: 1.1.2
@@ -5205,6 +6004,19 @@ packages:
dev: false
resolution:
integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+ /resize-img/1.1.2:
+ dependencies:
+ bmp-js: 0.0.1
+ file-type: 3.9.0
+ get-stream: 2.3.1
+ jimp: 0.2.28
+ jpeg-js: 0.1.2
+ parse-png: 1.1.2
+ dev: false
+ engines:
+ node: '>=4'
+ resolution:
+ integrity: sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4=
/resolve-cwd/2.0.0:
dependencies:
resolve-from: 3.0.0
@@ -5423,6 +6235,24 @@ packages:
hasBin: true
resolution:
integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ /sharp/0.22.1:
+ dependencies:
+ color: 3.1.2
+ detect-libc: 1.0.3
+ fs-copy-file-sync: 1.1.1
+ nan: 2.14.0
+ npmlog: 4.1.2
+ prebuild-install: 5.3.3
+ semver: 6.3.0
+ simple-get: 3.1.0
+ tar: 4.4.13
+ tunnel-agent: 0.6.0
+ dev: false
+ engines:
+ node: '>=6'
+ requiresBuild: true
+ resolution:
+ integrity: sha512-lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==
/shebang-command/1.2.0:
dependencies:
shebang-regex: 1.0.0
@@ -5441,6 +6271,24 @@ packages:
dev: false
resolution:
integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+ /simple-concat/1.0.0:
+ dev: false
+ resolution:
+ integrity: sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
+ /simple-get/3.1.0:
+ dependencies:
+ decompress-response: 4.2.1
+ once: 1.4.0
+ simple-concat: 1.0.0
+ dev: false
+ resolution:
+ integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
+ /simple-swizzle/0.2.2:
+ dependencies:
+ is-arrayish: 0.3.2
+ dev: false
+ resolution:
+ integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
/slash/1.0.0:
dev: false
engines:
@@ -5670,6 +6518,20 @@ packages:
dev: false
resolution:
integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+ /stream-to-buffer/0.1.0:
+ dependencies:
+ stream-to: 0.2.2
+ dev: false
+ engines:
+ node: '>= 0.8'
+ resolution:
+ integrity: sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=
+ /stream-to/0.2.2:
+ dev: false
+ engines:
+ node: '>= 0.10.0'
+ resolution:
+ integrity: sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=
/strict-uri-encode/1.1.0:
dev: false
engines:
@@ -5790,6 +6652,12 @@ packages:
hasBin: true
resolution:
integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ /strip-json-comments/2.0.1:
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ resolution:
+ integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=
/strip-outer/1.0.1:
dependencies:
escape-string-regexp: 1.0.5
@@ -5851,6 +6719,15 @@ packages:
node: '>=6'
resolution:
integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+ /tar-fs/2.0.0:
+ dependencies:
+ chownr: 1.1.3
+ mkdirp: 0.5.1
+ pump: 3.0.0
+ tar-stream: 2.1.0
+ dev: false
+ resolution:
+ integrity: sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==
/tar-stream/1.6.2:
dependencies:
bl: 1.2.2
@@ -5865,6 +6742,30 @@ packages:
node: '>= 0.8.0'
resolution:
integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
+ /tar-stream/2.1.0:
+ dependencies:
+ bl: 3.0.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.4.0
+ dev: false
+ resolution:
+ integrity: sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==
+ /tar/4.4.13:
+ dependencies:
+ chownr: 1.1.3
+ fs-minipass: 1.2.7
+ minipass: 2.9.0
+ minizlib: 1.3.3
+ mkdirp: 0.5.1
+ safe-buffer: 5.2.0
+ yallist: 3.1.1
+ dev: false
+ engines:
+ node: '>=4.5'
+ resolution:
+ integrity: sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
/temp-dir/1.0.0:
dev: false
engines:
@@ -5957,6 +6858,12 @@ packages:
dev: false
resolution:
integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ /through2/3.0.1:
+ dependencies:
+ readable-stream: 3.4.0
+ dev: false
+ resolution:
+ integrity: sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==
/timed-out/4.0.1:
dev: false
engines:
@@ -5971,6 +6878,14 @@ packages:
node: '>=0.6.0'
resolution:
integrity: sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==
+ /timm/1.6.2:
+ dev: false
+ resolution:
+ integrity: sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw==
+ /tinycolor2/1.4.1:
+ dev: false
+ resolution:
+ integrity: sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
/to-arraybuffer/1.0.1:
dev: false
resolution:
@@ -5979,6 +6894,18 @@ packages:
dev: false
resolution:
integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==
+ /to-ico/1.1.5:
+ dependencies:
+ arrify: 1.0.1
+ buffer-alloc: 1.2.0
+ image-size: 0.5.5
+ parse-png: 1.1.2
+ resize-img: 1.1.2
+ dev: false
+ engines:
+ node: '>=4'
+ resolution:
+ integrity: sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg==
/to-object-path/0.3.0:
dependencies:
kind-of: 3.2.2
@@ -6219,6 +7146,14 @@ packages:
node: '>=4'
resolution:
integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+ /url-regex/3.2.0:
+ dependencies:
+ ip-regex: 1.0.3
+ dev: false
+ engines:
+ node: '>=0.10.0'
+ resolution:
+ integrity: sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=
/url-to-options/1.0.1:
dev: false
engines:
@@ -6238,6 +7173,12 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+ /utif/2.0.1:
+ dependencies:
+ pako: 1.0.10
+ dev: false
+ resolution:
+ integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==
/util-deprecate/1.0.2:
dev: false
resolution:
@@ -6303,6 +7244,19 @@ packages:
'0': node >=0.6.0
resolution:
integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ /vinyl/2.2.0:
+ dependencies:
+ clone: 2.1.2
+ clone-buffer: 1.0.0
+ clone-stats: 1.0.0
+ cloneable-readable: 1.1.3
+ remove-trailing-separator: 1.1.0
+ replace-ext: 1.0.0
+ dev: false
+ engines:
+ node: '>= 0.10'
+ resolution:
+ integrity: sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
/vm-browserify/1.1.2:
dev: false
resolution:
@@ -6364,20 +7318,6 @@ packages:
node: '>= 6'
resolution:
integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
- /webpack-manifest-plugin/2.2.0_webpack@4.41.4:
- dependencies:
- fs-extra: 7.0.1
- lodash: 4.17.15
- object.entries: 1.1.1
- tapable: 1.1.3
- webpack: 4.41.4_webpack@4.41.4
- dev: false
- engines:
- node: '>=6.11.5'
- peerDependencies:
- webpack: 2 || 3 || 4
- resolution:
- integrity: sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==
/webpack-sources/1.4.3:
dependencies:
source-list-map: 2.0.1
@@ -6444,6 +7384,10 @@ packages:
dev: false
resolution:
integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+ /which-pm-runs/1.0.0:
+ dev: false
+ resolution:
+ integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
/which/1.3.1:
dependencies:
isexe: 2.0.0
@@ -6451,6 +7395,12 @@ packages:
hasBin: true
resolution:
integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ /wide-align/1.1.3:
+ dependencies:
+ string-width: 1.0.2
+ dev: false
+ resolution:
+ integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
/word-wrap/1.2.3:
dev: false
engines:
@@ -6632,10 +7582,38 @@ packages:
optional: true
resolution:
integrity: sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==
+ /xhr/2.5.0:
+ dependencies:
+ global: 4.3.2
+ is-function: 1.0.1
+ parse-headers: 2.0.3
+ xtend: 4.0.2
+ dev: false
+ resolution:
+ integrity: sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==
/xml-name-validator/3.0.0:
dev: false
resolution:
integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+ /xml-parse-from-string/1.0.1:
+ dev: false
+ resolution:
+ integrity: sha1-qQKekp09vN7RafPG4oI42VpdWig=
+ /xml2js/0.4.23:
+ dependencies:
+ sax: 1.2.4
+ xmlbuilder: 11.0.1
+ dev: false
+ engines:
+ node: '>=4.0.0'
+ resolution:
+ integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
+ /xmlbuilder/11.0.1:
+ dev: false
+ engines:
+ node: '>=4.0'
+ resolution:
+ integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
/xmlchars/2.2.0:
dev: false
resolution:
@@ -6729,6 +7707,7 @@ packages:
specifiers:
copy-webpack-plugin: ^5.1.1
elm-webpack-loader: ^6.0.1
+ favicons-webpack-plugin: ^1.0.2
html-webpack-plugin: ^3.2.0
imagemin-webpack-plugin: ^2.4.2
jsdom: ^15.2.1
@@ -6737,5 +7716,4 @@ specifiers:
terser-webpack-plugin: ^2.3.1
webpack: ^4.41.4
webpack-cli: ^3.3.10
- webpack-manifest-plugin: ^2.2.0
workbox-webpack-plugin: ^4.3.1
diff --git a/webpack.config.js b/webpack.config.js
index 8937a33..664dfa3 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -5,8 +5,8 @@ const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer
const CopyPlugin = require('copy-webpack-plugin')
const { InjectManifest } = require('workbox-webpack-plugin')
-const ManifestPlugin = require('webpack-manifest-plugin')
const ImageminPlugin = require('imagemin-webpack-plugin').default
+const FaviconsWebpackPlugin = require('favicons-webpack-plugin')
const { JSDOM } = require('jsdom')
const tempy = require('tempy')
const fs = require('fs')
@@ -20,7 +20,7 @@ const magicFile = (text) => {
// const magicAppend = (orig, text, sep = '\n') => magicFile(fs.readFileSync(orig) + sep + text)
const jsMin = {
- pure_funcs: ["F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9"],
+ pure_funcs: ['F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9'],
pure_getters: true,
keep_fargs: false,
unsafe_comps: true,
@@ -29,11 +29,54 @@ const jsMin = {
mangle: true,
}
+prerenderOpts = (width, height, name) => ({
+ outputDir: path.join(__dirname, 'dist', 'prerender', name),
+ staticDir: path.join(__dirname, 'dist'),
+ routes: ROUTES,
+ minify: {
+ minifyCSS: {
+ compatibility: 'ie9',
+ level: 2
+ },
+ minifyJS: jsMin,
+
+ collapseBooleanAttributes: true,
+ collapseWhitespace: true,
+ removeRedundantAttributes: true,
+ removeScriptTypeAttributes: true,
+ removeStyleLinkTypeAttributes: true,
+
+ removeComments: true,
+ sortAttributes: true,
+ sortClassName: true,
+ },
+ renderer: new Renderer({
+ renderAfterTime: 500,
+ viewport: {
+ width: width,
+ height: height,
+ deviceScaleFactor: 1,
+ }
+ }),
+ postProcess(renderedRoute) {
+ const dom = new JSDOM(renderedRoute.html, { runScripts: 'outside-only' })
+ dom.window.eval(`
+ const wandTarget = document.createElement('script')
+ wandTarget.src = '/wand.js'
+ document.body.appendChild(wandTarget)
+ `)
+ return {
+ ...renderedRoute,
+ html: dom.serialize(),
+ }
+ }
+})
+
module.exports = {
output: {
- filename: "main.js",
- path: path.join(__dirname, "dist"),
- publicPath: "/"
+ filename: 'main.js',
+ path: path.join(__dirname, 'dist'),
+ publicPath: '/'
},
module: {
rules: [{
@@ -46,59 +89,37 @@ module.exports = {
}],
},
plugins: [
- new ManifestPlugin(),
- new ImageminPlugin({
- disable: false,
- pngquant: {
- quality: '95-100'
- }
- }),
new TerserPlugin({
terserOptions: jsMin,
}),
+ new CopyPlugin([{ from: 'data', to: 'data' }, { from: 'wand.js', to: 'wand.js' }]),
+ new ImageminPlugin({
+ jpegtran: { progressive: true },
+ }),
new HtmlWebpackPlugin({
hash: true,
+ inject: true,
+ name: PRETTY_NAME,
+ template: './template.html',
meta: {
viewport: 'width=device-width, initial-scale=1'
}
}),
- new CopyPlugin([{ from: 'data', to: 'data' }, { from: 'wand.js', to: 'wand.js' }]),
- new PrerenderSPAPlugin({
- staticDir: path.join(__dirname, 'dist'),
- routes: ROUTES,
- minify: {
- minifyCSS: {
- compatibility: 'ie9',
- level: 2
- },
- minifyJS: jsMin,
-
- collapseBooleanAttributes: true,
- collapseWhitespace: true,
- removeRedundantAttributes: true,
- removeScriptTypeAttributes: true,
- removeStyleLinkTypeAttributes: true,
-
- removeComments: true,
- sortAttributes: true,
- sortClassName: true,
- },
- renderer: new Renderer({
- renderAfterTime: 500,
- }),
- postProcess(renderedRoute) {
- const dom = new JSDOM(renderedRoute.html, { runScripts: 'outside-only' })
- dom.window.eval(`
- const wandTarget = document.createElement('script')
- wandTarget.src = '/wand.js'
- document.body.appendChild(wandTarget)
- `)
- return {
- ...renderedRoute,
- html: dom.serialize(),
- }
- },
+ new FaviconsWebpackPlugin({
+ logo: path.join(__dirname, 'data', 'images', 'logo.png'),
+ inject: false, // manually in our template for now cos its fuckd
+ mode: 'webapp',
+ prefix: 'appdata',
+ favicons: {
+ appName: PRETTY_NAME,
+ appDescription: DESCRIPTION,
+ background: BACKGROUND_COLOR,
+ theme_color: THEME_COLOR,
+ }
}),
+ new PrerenderSPAPlugin(prerenderOpts(1920, 1080, 'desktop')),
+ new PrerenderSPAPlugin(prerenderOpts(375, 667, 'phone')),
+ new PrerenderSPAPlugin(prerenderOpts(768, 1024, 'tablet')),
new InjectManifest({
importWorkboxFrom: 'local',
swSrc: magicFile(`