From cb84d1a647995ea720a5bbab3c85494b1b44c098 Mon Sep 17 00:00:00 2001 From: notgne2 Date: Fri, 20 Dec 2019 04:20:57 -0700 Subject: [PATCH] metadata and logo stuff --- default.nix | 82 +++- package.json | 4 +- pnpm-lock.yaml | 1048 +++++++++++++++++++++++++++++++++++++++++++-- webpack.config.js | 117 ++--- 4 files changed, 1164 insertions(+), 87 deletions(-) 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(`