preactjs / preact

⚛ī¸ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
https://preactjs.com
MIT License
36.64k stars 1.95k forks source link

debug: Disallow <tr> as a child of <table> #4375

Closed rschristian closed 4 months ago

rschristian commented 4 months ago

Closes #4111

Per the spec, <tr> can be a child of <table>, but this is only because the spec also necessitates that parsers will wrap the <tr> in a <tbody>.

input

<table>
<tr />
</table>

output

<table>
<tbody>
<tr></tr>
</tbody>
</table>

Will see if MDN is willing to alter their wording here, as while the input is "allowed", it's just allowing devs to be a bit sloppy. It's not really valid.

github-actions[bot] commented 4 months ago

📊 Tachometer Benchmark Results

Summary

duration

  • create10k: unsure 🔍 -1% - +1% (-11.87ms - +10.51ms)
    preact-local vs preact-main
  • filter-list: unsure 🔍 -1% - +0% (-0.10ms - +0.06ms)
    preact-local vs preact-main
  • hydrate1k: unsure 🔍 -4% - +2% (-3.30ms - +1.32ms)
    preact-local vs preact-main
  • many-updates: unsure 🔍 -5% - +2% (-0.84ms - +0.30ms)
    preact-local vs preact-main
  • replace1k: unsure 🔍 -3% - +2% (-1.98ms - +1.63ms)
    preact-local vs preact-main
  • text-update: unsure 🔍 -2% - +3% (-0.04ms - +0.06ms)
    preact-local vs preact-main
  • todo: unsure 🔍 -1% - +2% (-0.31ms - +0.69ms)
    preact-local vs preact-main
  • update10th1k: unsure 🔍 -1% - +2% (-0.23ms - +0.63ms)
    preact-local vs preact-main

usedJSHeapSize

  • create10k: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-main
  • filter-list: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-main
  • hydrate1k: unsure 🔍 -3% - +3% (-0.49ms - +0.39ms)
    preact-local vs preact-main
  • many-updates: unsure 🔍 -0% - +0% (-0.00ms - +0.01ms)
    preact-local vs preact-main
  • replace1k: unsure 🔍 -0% - +1% (-0.02ms - +0.03ms)
    preact-local vs preact-main
  • text-update: unsure 🔍 -2% - +5% (-0.02ms - +0.06ms)
    preact-local vs preact-main
  • todo: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-main
  • update10th1k: unsure 🔍 +0% - +0% (+0.00ms - +0.00ms)
    preact-local vs preact-main

Results

create10k
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local929.85ms - 947.34ms-unsure 🔍
-1% - +1%
-11.87ms - +10.51ms
preact-main932.29ms - 946.25msunsure 🔍
-1% - +1%
-10.51ms - +11.87ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local26.75ms - 26.75ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-main26.75ms - 26.75msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
filter-list
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local16.63ms - 16.73ms-unsure 🔍
-1% - +0%
-0.10ms - +0.06ms
preact-main16.64ms - 16.76msunsure 🔍
-0% - +1%
-0.06ms - +0.10ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local1.75ms - 1.75ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-main1.75ms - 1.75msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
hydrate1k
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local77.19ms - 79.40ms-unsure 🔍
-4% - +2%
-3.30ms - +1.32ms
preact-main77.26ms - 81.31msunsure 🔍
-2% - +4%
-1.32ms - +3.30ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local14.18ms - 14.82ms-unsure 🔍
-3% - +3%
-0.49ms - +0.39ms
preact-main14.25ms - 14.85msunsure 🔍
-3% - +3%
-0.39ms - +0.49ms
-
many-updates
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local17.48ms - 18.07ms-unsure 🔍
-5% - +2%
-0.84ms - +0.30ms
preact-main17.56ms - 18.53msunsure 🔍
-2% - +5%
-0.30ms - +0.84ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local4.86ms - 4.87ms-unsure 🔍
-0% - +0%
-0.00ms - +0.01ms
preact-main4.86ms - 4.86msunsure 🔍
-0% - +0%
-0.01ms - +0.00ms
-
replace1k
  • Browser: chrome-headless
  • Sample size: 100
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local72.08ms - 74.30ms-unsure 🔍
-3% - +2%
-1.98ms - +1.63ms
preact-main71.94ms - 74.79msunsure 🔍
-2% - +3%
-1.63ms - +1.98ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local3.67ms - 3.71ms-unsure 🔍
-0% - +1%
-0.02ms - +0.03ms
preact-main3.67ms - 3.70msunsure 🔍
-1% - +0%
-0.03ms - +0.02ms
-

run-warmup-0

VersionAvg timevs preact-localvs preact-main
preact-local29.26ms - 30.07ms-unsure 🔍
-3% - +2%
-0.76ms - +0.46ms
preact-main29.36ms - 30.27msunsure 🔍
-2% - +3%
-0.46ms - +0.76ms
-

run-warmup-1

VersionAvg timevs preact-localvs preact-main
preact-local36.73ms - 38.59ms-unsure 🔍
-3% - +4%
-1.12ms - +1.61ms
preact-main36.42ms - 38.40msunsure 🔍
-4% - +3%
-1.61ms - +1.12ms
-

run-warmup-2

VersionAvg timevs preact-localvs preact-main
preact-local26.33ms - 26.92ms-unsure 🔍
-1% - +2%
-0.40ms - +0.43ms
preact-main26.32ms - 26.90msunsure 🔍
-2% - +1%
-0.43ms - +0.40ms
-

run-warmup-3

VersionAvg timevs preact-localvs preact-main
preact-local24.58ms - 25.58ms-unsure 🔍
-2% - +4%
-0.45ms - +0.93ms
preact-main24.37ms - 25.31msunsure 🔍
-4% - +2%
-0.93ms - +0.45ms
-

run-warmup-4

VersionAvg timevs preact-localvs preact-main
preact-local28.90ms - 31.04ms-unsure 🔍
-6% - +4%
-1.80ms - +1.22ms
preact-main29.20ms - 31.32msunsure 🔍
-4% - +6%
-1.22ms - +1.80ms
-

run-final

VersionAvg timevs preact-localvs preact-main
preact-local24.46ms - 25.59ms-unsure 🔍
-3% - +4%
-0.77ms - +0.92ms
preact-main24.32ms - 25.59msunsure 🔍
-4% - +3%
-0.92ms - +0.77ms
-
text-update
  • Browser: chrome-headless
  • Sample size: 320
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local1.74ms - 1.82ms-unsure 🔍
-2% - +3%
-0.04ms - +0.06ms
preact-main1.74ms - 1.81msunsure 🔍
-3% - +2%
-0.06ms - +0.04ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local1.12ms - 1.18ms-unsure 🔍
-2% - +5%
-0.02ms - +0.06ms
preact-main1.11ms - 1.17msunsure 🔍
-5% - +2%
-0.06ms - +0.02ms
-
todo
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local28.01ms - 28.96ms-unsure 🔍
-1% - +2%
-0.31ms - +0.69ms
preact-main28.14ms - 28.46msunsure 🔍
-2% - +1%
-0.69ms - +0.31ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local1.25ms - 1.25ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-main1.25ms - 1.25msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
update10th1k
  • Browser: chrome-headless
  • Sample size: 50
  • Built by: Benchmarks #1485
  • Commit: cfc80bf

duration

VersionAvg timevs preact-localvs preact-main
preact-local30.18ms - 30.95ms-unsure 🔍
-1% - +2%
-0.23ms - +0.63ms
preact-main30.15ms - 30.57msunsure 🔍
-2% - +1%
-0.63ms - +0.23ms
-

usedJSHeapSize

VersionAvg timevs preact-localvs preact-main
preact-local3.70ms - 3.70ms-unsure 🔍
+0% - +0%
+0.00ms - +0.00ms
preact-main3.70ms - 3.70msunsure 🔍
-0% - -0%
-0.00ms - -0.00ms
-

tachometer-reporter-action v2 for Benchmarks

github-actions[bot] commented 4 months ago

Size Change: -12 B (0%)

Total Size: 61.2 kB

Filename Size Change
debug/dist/debug.js 3.62 kB -4 B (0%)
debug/dist/debug.module.js 3.62 kB -5 B (0%)
debug/dist/debug.umd.js 3.7 kB -3 B (0%)
ℹī¸ View Unchanged | Filename | Size | | :--- | :---: | | `compat/dist/compat.js` | 4.09 kB | | `compat/dist/compat.module.js` | 4.01 kB | | `compat/dist/compat.umd.js` | 4.14 kB | | `devtools/dist/devtools.js` | 231 B | | `devtools/dist/devtools.module.js` | 240 B | | `devtools/dist/devtools.umd.js` | 314 B | | `dist/preact.js` | 4.63 kB | | `dist/preact.min.js` | 4.67 kB | | `dist/preact.min.module.js` | 4.66 kB | | `dist/preact.min.umd.js` | 4.69 kB | | `dist/preact.module.js` | 4.65 kB | | `dist/preact.umd.js` | 4.71 kB | | `hooks/dist/hooks.js` | 1.55 kB | | `hooks/dist/hooks.module.js` | 1.59 kB | | `hooks/dist/hooks.umd.js` | 1.63 kB | | `jsx-runtime/dist/jsxRuntime.js` | 976 B | | `jsx-runtime/dist/jsxRuntime.module.js` | 949 B | | `jsx-runtime/dist/jsxRuntime.umd.js` | 1.06 kB | | `test-utils/dist/testUtils.js` | 453 B | | `test-utils/dist/testUtils.module.js` | 454 B | | `test-utils/dist/testUtils.umd.js` | 536 B |

compressed-size-action

coveralls commented 4 months ago

Coverage Status

coverage: 99.608% (-0.001%) from 99.609% when pulling cfc80bfbe92945bb2ba16a9a75d08d1eee225a9f on debug/tr-warning into 414c870e4395d1bf3ef8050a75d86bba46d36809 on main.