From 13792aef66731c2621e08e04ae02f78163755a5d Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Sun, 10 Mar 2019 14:13:05 -0700 Subject: [PATCH] perf: switch from inferno to preact, use emoji-mart prerelease (#1094) * perf: switch from inferno to preact, use emoji-mart prerelease * use preact@10 --- package.json | 4 +- webpack/shared.config.js | 6 +-- yarn.lock | 94 +++++++++------------------------------- 3 files changed, 25 insertions(+), 79 deletions(-) diff --git a/package.json b/package.json index c787ece5..71460e33 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "cross-env": "^5.2.0", "css-dedoupe": "^0.1.1", "css-loader": "^2.1.0", - "emoji-mart": "github:nolanlawson/emoji-mart#for-pinafore-4", + "emoji-mart": "github:nolanlawson/emoji-mart#803351d", "emoji-regex": "^8.0.0", "encoding": "^0.1.12", "escape-html": "^1.0.3", @@ -70,7 +70,6 @@ "glob": "^7.1.3", "idb-keyval": "^3.1.0", "indexeddb-getall-shim": "^1.3.5", - "inferno-compat": "^7.1.9", "intersection-observer": "^0.5.1", "localstorage-memory": "^1.0.3", "lodash-es": "^4.17.11", @@ -83,6 +82,7 @@ "page-lifecycle": "^0.1.1", "performance-now": "^2.1.0", "pinch-zoom-element": "^1.1.1", + "preact": "^10.0.0-alpha.1", "prop-types": "^15.7.2", "quick-lru": "^3.0.0", "remount": "^0.9.5", diff --git a/webpack/shared.config.js b/webpack/shared.config.js index 31cbeb72..a7947eae 100644 --- a/webpack/shared.config.js +++ b/webpack/shared.config.js @@ -8,9 +8,9 @@ const resolve = { extensions: ['.js', '.json', '.html'], mainFields: ['svelte', 'module', 'browser', 'main'], alias: { - 'react': 'inferno-compat', - 'react-dom': 'inferno-compat', - 'inferno': dev ? 'inferno/dist/index.dev.esm.js' : 'inferno' + 'react': 'preact/compat/dist/compat.js', + 'react-dom': 'preact/compat/dist/compat.js', + 'preact/hooks': 'preact/hooks/dist/hooks.js' } } diff --git a/yarn.lock b/yarn.lock index df1832dc..d373c777 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2676,9 +2676,11 @@ emittery@^0.4.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d" integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ== -"emoji-mart@github:nolanlawson/emoji-mart#for-pinafore-4": +"emoji-mart@github:nolanlawson/emoji-mart#803351d": version "2.9.2" - resolved "https://codeload.github.com/nolanlawson/emoji-mart/tar.gz/7cb2cabcf54b53728258d652d45fe06d052605c2" + resolved "https://codeload.github.com/nolanlawson/emoji-mart/tar.gz/803351dcafad02c22e59eb57454903681bb4a91c" + dependencies: + prop-types "^15.6.0" emoji-regex@^8.0.0: version "8.0.0" @@ -3981,64 +3983,6 @@ indexof@0.0.1: resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= -inferno-clone-vnode@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-clone-vnode/-/inferno-clone-vnode-7.1.9.tgz#7ff791e983c4205d39e4ad5e46c35369c1c99577" - integrity sha512-AWDR1DjCsmH8T67+4nANL4DSpuZLOS0zphDadzKbbm5eatQyc67LEfzmNYcgPQR217Dvu/haSEi02ElafzgfuA== - dependencies: - inferno "7.1.9" - -inferno-compat@^7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-compat/-/inferno-compat-7.1.9.tgz#efbd1a975af4de813b3db2bbf84f0b634bdbf2da" - integrity sha512-dlRptbni5iaxEQsrPyLsGT6YZYrxHcOCEImp6vDPI4NN/gqMe4x1+lhQJvSWmGLVP8zjFswE/llcg4ncWvTqGg== - dependencies: - inferno "7.1.9" - inferno-clone-vnode "7.1.9" - inferno-create-class "7.1.9" - inferno-create-element "7.1.9" - inferno-extras "7.1.9" - -inferno-create-class@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-create-class/-/inferno-create-class-7.1.9.tgz#e3671cb5b8289272006ba541f37f17822dd5d988" - integrity sha512-iNNCuJSOEfjrFKGl+9Wz7WRdjEZopo5xN3MdJCFnd+A9tR9g2Gb2WC3S+rvwzD9qpuC3sHDA16KCoTje7YjsaQ== - dependencies: - inferno "7.1.9" - -inferno-create-element@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-create-element/-/inferno-create-element-7.1.9.tgz#b2fe8f085ee9388fb88f693db16b786a60027f5b" - integrity sha512-JwRdEBrP9kE4aV1OSMNoBek7WEc7La2XpUL+P3p/H7P4exyrQ7628bnDMlc/piTeMMEdmYmipVv8O4pfPdH0dQ== - dependencies: - inferno "7.1.9" - -inferno-extras@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-extras/-/inferno-extras-7.1.9.tgz#3d382e05c7d9fb8a65bd778563d39e98bd51a18a" - integrity sha512-NxkiXr6LOUP8XnQYOROWcs2u4BDC/IL7ivDYYMKA8GUIzFYIH73ldBsRjukbpyGHm0lOtfN0xv3en0s6oN6juA== - dependencies: - inferno "7.1.9" - -inferno-shared@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-shared/-/inferno-shared-7.1.9.tgz#bba330e96e07a5ad5f8a3a26ea88f8aae44d7d23" - integrity sha512-uOtvDq82+mJH8fZ+7Lof83gkLtvU/xyUW3LiNijQov2odQ1iy06i69OgmaI5IZn46/AzZACqIZBVxrlKu2lD6A== - -inferno-vnode-flags@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno-vnode-flags/-/inferno-vnode-flags-7.1.9.tgz#a03ef2fa027a280aa7e3da295b634e087d881525" - integrity sha512-hAE09h6Nh1qKVfRordJBAV7GifskRskGVqqOCkHD3+01y7K3X7RnjXuwzqHPg30gsZqn/kkHFksgSmcnUrBytQ== - -inferno@7.1.9: - version "7.1.9" - resolved "https://registry.yarnpkg.com/inferno/-/inferno-7.1.9.tgz#53caca7376a839376516986f7bfb2291f339ca84" - integrity sha512-eEc2jrrKUnKQPH/TzrqPvpgL3kjIbebNomb2Ak6UIeakf2q+8u2SsVh/ojEpTpJy1KVlIkZJd6uoMMQZ5dSNNw== - dependencies: - inferno-shared "7.1.9" - inferno-vnode-flags "7.1.9" - opencollective-postinstall "^2.0.2" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5501,11 +5445,6 @@ onetime@^2.0.0, onetime@^2.0.1: dependencies: mimic-fn "^1.0.0" -opencollective-postinstall@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" - integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== - opener@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" @@ -5979,6 +5918,13 @@ postcss@^7.0.5, postcss@^7.0.6: source-map "^0.6.1" supports-color "^6.1.0" +preact@^10.0.0-alpha.1: + version "10.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.0.0-alpha.1.tgz#0c8ee161fcd23839568cd52487d2dc07ca1b3166" + integrity sha512-9mDFKeU8SkepfCcjsoq/lODLKBtjgZj/aGBJaVXTNOEZV5XgOfE2TZQkFWDejE7w/q1qKUh1tJZaAeICxAKJ1g== + dependencies: + prop-types "^15.6.2" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6026,15 +5972,7 @@ promisify-event@^1.0.0: dependencies: pinkie-promise "^2.0.0" -prop-types@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" - integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== - dependencies: - loose-envify "^1.3.1" - object-assign "^4.1.1" - -prop-types@^15.7.2: +prop-types@^15.6.0, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -6043,6 +5981,14 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +prop-types@^15.6.2: + version "15.6.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" + integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + proxy-addr@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"