From d7c10d2ee5dc2791c9c8fe7d7bc1bd41fe672fb1 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Sat, 25 Jul 2020 14:37:34 +0300 Subject: [PATCH] purge css & preact --- gatsby-config.js | 8 +++ package-lock.json | 134 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 4 ++ 3 files changed, 139 insertions(+), 7 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index f900eea..9b1de0d 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -15,7 +15,15 @@ module.exports = { }, plugins: [ "gatsby-plugin-react-helmet", + "gatsby-plugin-preact", "gatsby-plugin-sass", + { + resolve: `gatsby-plugin-purgecss`, + options: { + printRejected: true, + purgeOnly : ['components/'], + } + }, { resolve: "gatsby-source-filesystem", options: { diff --git a/package-lock.json b/package-lock.json index b3d1225..ea32a0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2371,6 +2371,25 @@ "schema-utils": "^2.6.5" } }, + "@prefresh/core": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@prefresh/core/-/core-0.7.2.tgz", + "integrity": "sha512-K01Yx3cWY+A4Cb61cJ93swmFS2ZaeCD2uRg8dvaUAw/6oZvtEPrqzueVRjjavkRdwhIuOwqHbCg4scSbo7jE/A==" + }, + "@prefresh/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@prefresh/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-Ju7WHncqUKsaFp7yAFoNSR2jdr0bjqr8AwV06LtpFmwliPe4IDGRcBGhofg+SY9yld3FUF1JWmEoUOfCyCGRhA==" + }, + "@prefresh/webpack": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@prefresh/webpack/-/webpack-0.8.2.tgz", + "integrity": "sha512-c4YsahgvnaOsSu9IW12yixiYfEKbC+DjqVPSezAhN0B5wXtoaTelEY5vmPSY3bFjcFiqnWXA1NJ49WbQ5ozAcw==", + "requires": { + "@prefresh/core": "^0.7.2", + "@prefresh/utils": "^0.2.1" + } + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -9186,6 +9205,69 @@ "micromatch": "^3.1.10" } }, + "gatsby-plugin-preact": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/gatsby-plugin-preact/-/gatsby-plugin-preact-4.0.9.tgz", + "integrity": "sha512-4OT75UHqIU/aNJuqFgqVSuwz4y7wi29lKF2PcGpszNgwFmdX2/Y0eK8P386FXrREmg3dgymeokMu1xlIbY+BXA==", + "requires": { + "@prefresh/webpack": "^0.8.1", + "react-refresh": "^0.8.2" + }, + "dependencies": { + "react-refresh": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", + "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" + } + } + }, + "gatsby-plugin-purgecss": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-purgecss/-/gatsby-plugin-purgecss-5.0.0.tgz", + "integrity": "sha512-vzBQSBfZuzmm6+P5qedw+LCgtQm0HRzdDUjytdCwgYCBRuxUjxSkHAFBpemSXqkklfWxs6jcLjRuElVqSDLT1w==", + "requires": { + "fs-extra": "^9.0.0", + "loader-utils": "^2.0.0", + "purgecss": "^2.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + } + } + }, "gatsby-plugin-react-helmet": { "version": "3.3.8", "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.3.8.tgz", @@ -10519,6 +10601,11 @@ "warning": "^3.0.0" } }, + "preact": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.1.0.tgz", + "integrity": "sha1-8DW4CO67dORtViRrAsoPGQttZXQ=" + }, "warning": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", @@ -16788,9 +16875,9 @@ } }, "preact": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/preact/-/preact-8.1.0.tgz", - "integrity": "sha1-8DW4CO67dORtViRrAsoPGQttZXQ=" + "version": "10.4.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.6.tgz", + "integrity": "sha512-80WJfXH53yyINig5Wza/8MD9n4lMg9G6aN00ws0ptsAaY/Fu/M7xW4zICf7OLfocVltxS30wvNQ8oIbUyZS1tw==" }, "preact-compat": { "version": "3.16.0", @@ -16802,14 +16889,29 @@ "preact-transition-group": "^1.1.0", "prop-types": "^15.5.8", "standalone-react-addons-pure-render-mixin": "^0.1.1" + }, + "dependencies": { + "preact-render-to-string": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.8.2.tgz", + "integrity": "sha512-przuZPajiurStGgxMoJP0EJeC4xj5CgHv+M7GfF3YxAdhGgEWAkhOSE0xympAFN20uMayntBZpttIZqqLl77fw==", + "requires": { + "pretty-format": "^3.5.1" + } + }, + "pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=" + } } }, "preact-render-to-string": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.8.2.tgz", - "integrity": "sha512-przuZPajiurStGgxMoJP0EJeC4xj5CgHv+M7GfF3YxAdhGgEWAkhOSE0xympAFN20uMayntBZpttIZqqLl77fw==", + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.1.10.tgz", + "integrity": "sha512-40svy7NDe5Qe0ymdsIC11f0hZb05MeTSUqqIaWJ5DEFCh/sF86KcpRW0kN/ymGYDVVUCfv9qFrVuLCXR7aQxgQ==", "requires": { - "pretty-format": "^3.5.1" + "pretty-format": "^3.8.0" }, "dependencies": { "pretty-format": { @@ -17157,6 +17259,24 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "requires": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + } + } + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", diff --git a/package.json b/package.json index 5b54b59..4bb0b2a 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "gatsby-plugin-netlify-cms": "^4.3.9", "gatsby-plugin-netlify-cms-paths": "^1.3.0", "gatsby-plugin-nprogress": "^2.3.10", + "gatsby-plugin-preact": "^4.0.9", + "gatsby-plugin-purgecss": "^5.0.0", "gatsby-plugin-react-helmet": "^3.3.8", "gatsby-plugin-react-svg": "^3.0.0", "gatsby-plugin-robots-txt": "^1.5.1", @@ -45,6 +47,8 @@ "material-theme": "github:Binaryify/OneDark-Pro", "netlify-cms-app": "^2.12.16", "node-sass": "^4.14.1", + "preact": "^10.4.6", + "preact-render-to-string": "^5.1.10", "prismjs": "^1.20.0", "prop-types": "^15.7.2", "query-string": "^6.13.1",