facebook / lexical

Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.
https://lexical.dev
MIT License
17.5k stars 1.45k forks source link

Fix add root element count #6002

Closed zurfyx closed 2 weeks ago

zurfyx commented 2 weeks ago

Element precendence https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence

Additive > logical or

For reference, the second time

> 1 || 0 + 1
1
vercel[bot] commented 2 weeks ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lexical ✅ Ready (Inspect) Visit Preview May 1, 2024 8:53pm
lexical-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 1, 2024 8:53pm
github-actions[bot] commented 2 weeks ago

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
packages/lexical/dist/Lexical.js 23.69 KB (0%) 474 ms (0%) 402 ms (+15.05% 🔺) 875 ms
packages/lexical-rich-text/dist/LexicalRichText.js 33.97 KB (+0.17% 🔺) 680 ms (+0.17% 🔺) 977 ms (+7.94% 🔺) 1.7 s
packages/lexical-plain-text/dist/LexicalPlainText.js 33.93 KB (+0.11% 🔺) 679 ms (+0.11% 🔺) 1.1 s (+1.8% 🔺) 1.7 s
vjeux commented 1 week ago

I'd be interested to see if this lint rule by @captbaritone would have caught it. https://eslint.org/blog/2022/07/interesting-bugs-caught-by-no-constant-binary-expression/

vjeux commented 1 week ago

Doesn't look like it. @captbaritone fyi this issue caused a big SEV on lexical. I feel like you may be able to do something to catch it with your lint rule. https://eslint.org/play/#eyJ0ZXh0IjoiLyplc2xpbnQgbm8tY29uc3RhbnQtYmluYXJ5LWV4cHJlc3Npb246IFwiZXJyb3JcIiovXG5cbnJvb3RFbGVtZW50c1JlZ2lzdGVyZWQuc2V0KGRvYywgZG9jdW1lbnRSb290RWxlbWVudHNDb3VudCB8fCAwICsgMSk7XG5cbmNvbnN0IHZhbHVlMSA9ICt4ID09IG51bGw7XG5cbmNvbnN0IHZhbHVlMiA9IGNvbmRpdGlvbiA/IHggOiB7fSB8fCBERUZBVUxUO1xuXG5jb25zdCB2YWx1ZTMgPSAhZm9vID09IG51bGw7XG5cbmNvbnN0IHZhbHVlNCA9IG5ldyBCb29sZWFuKGZvbykgPT09IHRydWU7XG5cbmNvbnN0IG9iaklzRW1wdHkgPSBzb21lT2JqID09PSB7fTtcblxuY29uc3QgYXJySXNFbXB0eSA9IHNvbWVBcnIgPT09IFtdO1xuXG5jb25zdCBzaG9ydENpcmN1aXQxID0gY29uZGl0aW9uMSAmJiBmYWxzZSAmJiBjb25kaXRpb24yO1xuXG5jb25zdCBzaG9ydENpcmN1aXQyID0gY29uZGl0aW9uMSB8fCB0cnVlIHx8IGNvbmRpdGlvbjI7XG5cbmNvbnN0IHNob3J0Q2lyY3VpdDMgPSBjb25kaXRpb24xID8/IFwibm9uLW51bGxpc2hcIiA/PyBjb25kaXRpb24yOyIsIm9wdGlvbnMiOnsicnVsZXMiOnt9LCJsYW5ndWFnZU9wdGlvbnMiOnsic291cmNlVHlwZSI6Im1vZHVsZSIsInBhcnNlck9wdGlvbnMiOnsiZWNtYUZlYXR1cmVzIjp7fX19fX0=