facebook / react-strict-dom

React Strict DOM (RSD) standardizes the development of styled React components for web and native.
https://facebook.github.io/react-strict-dom
MIT License
3.2k stars 161 forks source link

Fix length unit polyfill #160

Closed necolas closed 4 months ago

necolas commented 4 months ago

fontSize on a style object should first be resolved and then used to calculate other resolved lengths, instead of always using the inherited fontSize.

github-actions[bot] commented 4 months ago

compressed-size: runtime library

Size change: +0.01 kB Total size: 19.46 kB

Filename: gzip (minify) kB size kB change % change
./packages/react-strict-dom/dist/native/index.js 15.56 (50.17) +0.01 (+0.10) +0.1% (+0.2%) 🟡
View unchanged | Filename: gzip (minify) | kB size | kB change | % change | | :--- | :--- | :--- | :--- | | `./packages/react-strict-dom/dist/dom/index.js` | **2.94** (8.79) | **0.00** (0.00) | **0.0%** (0.0%) | | `./packages/react-strict-dom/dist/dom/runtime.js` | **0.95** (2.33) | **0.00** (0.00) | **0.0%** (0.0%) |
github-actions[bot] commented 4 months ago

RSD benchmarks (for native)

Base cb6229ff

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,203,951 0.42 95
small with units 431,273 2.63 91
small with variables 680,602 0.15 95
several small 332,664 0.95 96
large 220,656 0.21 98
large with polyfills 154,008 0.15 94
complex 105,156 0.13 95
unsupported 230,133 0.27 96
css.createTheme ops/sec deviation (%) samples
simple theme 228,843 0.14 93
polyfill theme 215,973 0.30 91
css.props ops/sec deviation (%) samples
small 233,688 0.34 91
small with units 191,375 0.37 90
small with variables 103,960 0.27 98
small with variables of units 75,513 0.27 94
large 94,189 0.40 92
large with polyfills 25,715 0.26 94
complex 18,709 0.59 95
unsupported 74,066 0.21 96
simple merge 177,379 1.14 92
wide merge 14,365 0.25 95
deep merge 14,198 0.42 91
internals ops/sec deviation (%) samples
extractStyleThemes 421,909 2.40 92
flattenStyle 645,053 0.36 94

Patch ec732e77

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,196,028 0.26 98
small with units 447,842 0.27 97
small with variables 674,271 0.19 95
several small 331,849 0.32 95
large 219,968 0.22 93
large with polyfills 154,431 0.18 95
complex 105,216 0.19 94
unsupported 230,867 1.20 95
css.createTheme ops/sec deviation (%) samples
simple theme 227,808 0.19 94
polyfill theme 216,261 0.19 96
css.props ops/sec deviation (%) samples
small 233,679 0.95 91
small with units 187,929 0.26 90
small with variables 103,534 1.09 94
small with variables of units 74,608 0.24 94
large 93,919 0.29 93
large with polyfills 25,223 0.26 92
complex 17,755 0.47 93
unsupported 73,501 0.88 94
simple merge 160,448 0.15 95
wide merge 13,300 1.24 94
deep merge 13,226 0.32 91
internals ops/sec deviation (%) samples
extractStyleThemes 424,566 0.76 94
flattenStyle 655,029 0.11 93
github-actions[bot] commented 4 months ago

RSD benchmarks (for native)

Base cb6229ff

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,175,756 0.22 96
small with units 446,348 0.35 97
small with variables 668,122 1.85 91
several small 331,599 1.10 92
large 217,241 0.60 95
large with polyfills 151,953 0.36 95
complex 105,011 0.16 95
unsupported 232,178 0.22 97
css.createTheme ops/sec deviation (%) samples
simple theme 224,846 0.15 96
polyfill theme 213,803 0.20 95
css.props ops/sec deviation (%) samples
small 233,067 0.47 92
small with units 190,625 0.48 92
small with variables 104,764 0.16 95
small with variables of units 75,152 0.54 95
large 93,507 0.24 92
large with polyfills 25,596 0.35 93
complex 18,445 0.30 96
unsupported 74,318 0.21 95
simple merge 178,258 0.25 94
wide merge 14,374 0.25 96
deep merge 14,102 0.29 94
internals ops/sec deviation (%) samples
extractStyleThemes 427,069 0.15 98
flattenStyle 653,104 0.10 94

Patch 6a8ab0f5

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,214,928 0.38 92
small with units 450,949 0.29 97
small with variables 688,272 0.16 96
several small 334,882 0.32 93
large 221,459 0.15 93
large with polyfills 154,482 0.64 94
complex 105,763 0.20 92
unsupported 234,473 0.22 94
css.createTheme ops/sec deviation (%) samples
simple theme 224,754 0.19 95
polyfill theme 213,430 0.16 93
css.props ops/sec deviation (%) samples
small 234,326 0.21 90
small with units 187,413 0.30 90
small with variables 105,028 0.22 94
small with variables of units 74,989 0.40 96
large 93,810 0.43 93
large with polyfills 25,626 0.33 93
complex 17,846 0.31 97
unsupported 74,210 0.23 98
simple merge 160,921 0.25 92
wide merge 13,547 0.19 96
deep merge 13,274 0.27 94
internals ops/sec deviation (%) samples
extractStyleThemes 424,141 0.14 98
flattenStyle 654,366 0.11 91
github-actions[bot] commented 4 months ago

RSD benchmarks (for native)

Base cb6229ff

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,142,206 2.13 90
small with units 451,489 0.25 96
small with variables 686,756 0.14 97
several small 334,180 0.33 94
large 221,055 0.19 94
large with polyfills 152,312 0.18 95
complex 103,792 0.18 96
unsupported 230,900 0.23 95
css.createTheme ops/sec deviation (%) samples
simple theme 225,732 0.15 95
polyfill theme 214,060 0.10 91
css.props ops/sec deviation (%) samples
small 234,623 0.32 92
small with units 192,001 0.32 94
small with variables 104,668 0.18 94
small with variables of units 75,835 0.37 94
large 93,333 0.32 94
large with polyfills 25,532 0.31 93
complex 18,473 0.36 94
unsupported 74,561 0.23 96
simple merge 178,623 0.23 95
wide merge 14,280 0.22 95
deep merge 14,104 0.31 96
internals ops/sec deviation (%) samples
extractStyleThemes 427,724 0.11 98
flattenStyle 653,010 0.42 98

Patch 53771586

react-strict-dom@0.0.18 benchmarks npm run build:benchmarks && node --jitless benchmarks/run.js

react-strict-dom@0.0.18 build:benchmarks rollup --config ./tools/rollup-benchmarks.config.js

css.create ops/sec deviation (%) samples
small 1,202,937 0.25 92
small with units 446,632 0.29 96
small with variables 685,986 0.69 98
several small 331,967 0.52 93
large 221,606 0.25 95
large with polyfills 154,317 0.70 94
complex 106,757 0.12 96
unsupported 233,866 0.30 94
css.createTheme ops/sec deviation (%) samples
simple theme 224,536 0.72 93
polyfill theme 213,846 0.23 97
css.props ops/sec deviation (%) samples
small 234,571 0.31 92
small with units 188,129 0.33 95
small with variables 104,325 0.18 93
small with variables of units 74,741 0.23 97
large 93,729 0.41 93
large with polyfills 25,221 0.27 94
complex 17,461 0.86 95
unsupported 73,679 0.18 94
simple merge 160,336 0.18 95
wide merge 13,558 0.29 97
deep merge 13,402 0.27 93
internals ops/sec deviation (%) samples
extractStyleThemes 428,163 0.11 94
flattenStyle 655,788 0.13 98