Skip to content

Commit 4161a68

Browse files
committed
perf: change to React.createContext
reduce bundle size by using React.createContext instead of create-react-context BREAKING CHANGE: remove support to older react versions. React.createContext is available only to react 16.3 or later
1 parent da9a974 commit 4161a68

File tree

3 files changed

+6
-64
lines changed

3 files changed

+6
-64
lines changed

package.json

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
1515
}
1616
},
17-
"dependencies": {
18-
"create-react-context": "^0.2.3"
19-
},
2017
"devDependencies": {
2118
"@babel/core": "^7.1.5",
2219
"@babel/plugin-proposal-class-properties": "^7.1.0",
@@ -48,6 +45,6 @@
4845
},
4946
"peerDependencies": {
5047
"prop-types": "^15.0.0",
51-
"react": "^0.14.0 || ^15.0.0 || ^16.0.0"
48+
"react": "^16.3.0"
5249
}
5350
}

src/OptimizeContext.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import createContext from "create-react-context";
1+
import React from "react";
22

3-
const OptimizeContext = createContext();
3+
const OptimizeContext = React.createContext();
44

55
export default OptimizeContext;

yarn.lock

+3-58
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,7 @@ arrify@^1.0.1:
13171317
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
13181318
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
13191319

1320-
asap@^2.0.0, asap@~2.0.3:
1320+
asap@^2.0.0:
13211321
version "2.0.6"
13221322
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
13231323

@@ -2310,10 +2310,6 @@ copy-descriptor@^0.1.0:
23102310
version "0.1.1"
23112311
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
23122312

2313-
core-js@^1.0.0:
2314-
version "1.2.7"
2315-
resolved "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
2316-
23172313
core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5:
23182314
version "2.6.5"
23192315
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
@@ -2378,13 +2374,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
23782374
safe-buffer "^5.0.1"
23792375
sha.js "^2.4.8"
23802376

2381-
create-react-context@^0.2.3:
2382-
version "0.2.3"
2383-
resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3"
2384-
dependencies:
2385-
fbjs "^0.8.0"
2386-
gud "^1.0.0"
2387-
23882377
cross-env@^5.2.0:
23892378
version "5.2.0"
23902379
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2"
@@ -3235,18 +3224,6 @@ fast-levenshtein@~2.0.4:
32353224
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
32363225
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
32373226

3238-
fbjs@^0.8.0:
3239-
version "0.8.17"
3240-
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
3241-
dependencies:
3242-
core-js "^1.0.0"
3243-
isomorphic-fetch "^2.1.1"
3244-
loose-envify "^1.0.0"
3245-
object-assign "^4.1.0"
3246-
promise "^7.1.1"
3247-
setimmediate "^1.0.5"
3248-
ua-parser-js "^0.7.18"
3249-
32503227
figgy-pudding@^3.0.0, figgy-pudding@^3.1.0, figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
32513228
version "3.5.1"
32523229
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
@@ -3664,10 +3641,6 @@ [email protected]:
36643641
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
36653642
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
36663643

3667-
gud@^1.0.0:
3668-
version "1.0.0"
3669-
resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
3670-
36713644
handlebars@^4.0.1, handlebars@^4.1.0:
36723645
version "4.1.2"
36733646
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67"
@@ -4265,7 +4238,7 @@ is-retry-allowed@^1.0.0:
42654238
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
42664239
integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=
42674240

4268-
is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
4241+
is-stream@^1.0.0, is-stream@^1.1.0:
42694242
version "1.1.0"
42704243
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
42714244

@@ -4341,13 +4314,6 @@ isobject@^3.0.0, isobject@^3.0.1:
43414314
version "3.0.1"
43424315
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
43434316

4344-
isomorphic-fetch@^2.1.1:
4345-
version "2.2.1"
4346-
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
4347-
dependencies:
4348-
node-fetch "^1.0.1"
4349-
whatwg-fetch ">=0.10.0"
4350-
43514317
isstream@~0.1.2:
43524318
version "0.1.2"
43534319
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -5415,13 +5381,6 @@ node-fetch-npm@^2.0.2:
54155381
json-parse-better-errors "^1.0.0"
54165382
safe-buffer "^5.1.1"
54175383

5418-
node-fetch@^1.0.1:
5419-
version "1.7.3"
5420-
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
5421-
dependencies:
5422-
encoding "^0.1.11"
5423-
is-stream "^1.0.1"
5424-
54255384
node-fetch@^2.3.0:
54265385
version "2.3.0"
54275386
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5"
@@ -6398,12 +6357,6 @@ promise-retry@^1.1.1:
63986357
err-code "^1.0.0"
63996358
retry "^0.10.0"
64006359

6401-
promise@^7.1.1:
6402-
version "7.3.1"
6403-
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
6404-
dependencies:
6405-
asap "~2.0.3"
6406-
64076360
promzard@^0.3.0:
64086361
version "0.3.0"
64096362
resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
@@ -7184,7 +7137,7 @@ set-value@^2.0.0:
71847137
is-plain-object "^2.0.3"
71857138
split-string "^3.0.1"
71867139

7187-
setimmediate@^1.0.4, setimmediate@^1.0.5:
7140+
setimmediate@^1.0.4:
71887141
version "1.0.5"
71897142
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
71907143

@@ -7929,10 +7882,6 @@ typedarray@^0.0.6:
79297882
version "0.0.6"
79307883
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
79317884

7932-
ua-parser-js@^0.7.18:
7933-
version "0.7.19"
7934-
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b"
7935-
79367885
uglify-es@^3.3.4:
79377886
version "3.3.9"
79387887
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
@@ -8294,10 +8243,6 @@ webpack@^4.25.1:
82948243
watchpack "^1.5.0"
82958244
webpack-sources "^1.3.0"
82968245

8297-
whatwg-fetch@>=0.10.0:
8298-
version "3.0.0"
8299-
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
8300-
83018246
which-module@^2.0.0:
83028247
version "2.0.0"
83038248
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"

0 commit comments

Comments
 (0)