Releases: kitajs/html
Releases · kitajs/html
v3.0.5
Important Changes
- Improved performance
- Added react benchmarks
meta
property tag- More
iframe
attributes
Full Changelog: v3.0.4...v3.0.5
v3.0.4
Important Changes
- Added triple slash directives for error-boundary and suspense, allowing tools to detect and autoimport them.
Full Changelog: v3.0.3...v3.0.4
v3.0.3
Important Changes
- Added boolean
selected
for option tags in #47. - Fixed input
minlength
andmaxlength
. - Added
decoding
,srcset
andloading
for img tags.
Full Changelog: v3.0.2...v3.0.3
v3.0.2
Important Changes
- fix typo by @shakdoesgithub in #44
- Add hyperscript tag by @adicco in #45
New Contributors
- @shakdoesgithub made their first contribution in #44
- @adicco made their first contribution in #45
Full Changelog: v3.0.1...v3.0.2
v3.0.1
Important changes
- Added
as
attribute forlink
tags. - Typo in README by @Eejit43 in #38
- Added htmx's
disable-element
by @danielo515 in #40
New Contributors
- @Eejit43 made their first contribution in #38
- @danielo515 made their first contribution in #40
Full Changelog: v3.0.0...v3.0.1
v3.0.0
Breaking changes
- Due to the implementation of async components, the
JSX.Element
type is nowstring | Promise<string>
, which may emit type errors, learn more.
Important Changes
- Added Async Components, Suspense rendering and Error Boundary, read their respective documentation to learn more.
- Added all SVG properties by @tpguy825 in #27.
- Added Hotwire Turbo elements by @deriegle in #33.
- Improved documentation almost everywhere.
- Html.escapeHtml is a proxy for Bun.escapeHTML when using bun.
- Fixed img height and width attributes type.
- Fixed bun's bundle problem in #32.
- Added 100% test coverage.
- Improved performance of JSX in general and Fragments of around +20%.
New Contributors
Full Changelog: v2.2.2...v3.0.0
v2.2.2
Important Changes
- Fixed
disabled
attribute.
Benchmark
- 2023-09-14T21:20:07.035Z
- Node: v18.15.0
- V8: 10.2.154.26-node.25
- OS: linux
- Arch: x64
Hello World
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.0094ms | 0.0164ms | 1.74x | 0.0038ms | 2.5x | 4.34x |
10000 | 1.1723ms | 2.9252ms | 2.5x | 1.278ms | 0.92x | 2.29x |
100000 | 8.8428ms | 20.1493ms | 2.28x | 2.7031ms | 3.27x | 7.45x |
Many Props
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.1971ms | 1.3064ms | 6.63x | 0.0036ms | 54.09x | 358.62x |
10000 | 166.2978ms | 938.6489ms | 5.64x | 0.9456ms | 175.87x | 992.66x |
100000 | 1693.7948ms | 8952.945ms | 5.29x | 4.292ms | 394.64x | 2085.96x |
Many Components
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.2237ms | 0.7488ms | 3.35x | 0.0072ms | 31.14x | 104.22x |
10000 | 171.0714ms | 500.6814ms | 2.93x | 1.449ms | 118.06x | 345.53x |
100000 | 1818.6258ms | 5277.3456ms | 2.9x | 9.2505ms | 196.6x | 570.49x |
Big Component
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.5231ms | 0.9827ms | 1.88x | 0.0059ms | 88.03x | 165.38x |
10000 | 131.2238ms | 829.1856ms | 6.32x | 0.9444ms | 138.95x | 878x |
100000 | 1346.2388ms | 7372.6771ms | 5.48x | 4.6654ms | 288.56x | 1580.29x |
Full Changelog: v2.2.1...v2.2.2
v2.2.1
Important Changes
-
You may have to change some of your properties to kebab case
- Removed unused auto kebab feature. See #24.
Benchmark
- 2023-09-14T21:20:07.035Z
- Node: v18.15.0
- V8: 10.2.154.26-node.25
- OS: linux
- Arch: x64
Hello World
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.0094ms | 0.0164ms | 1.74x | 0.0038ms | 2.5x | 4.34x |
10000 | 1.1723ms | 2.9252ms | 2.5x | 1.278ms | 0.92x | 2.29x |
100000 | 8.8428ms | 20.1493ms | 2.28x | 2.7031ms | 3.27x | 7.45x |
Many Props
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.1971ms | 1.3064ms | 6.63x | 0.0036ms | 54.09x | 358.62x |
10000 | 166.2978ms | 938.6489ms | 5.64x | 0.9456ms | 175.87x | 992.66x |
100000 | 1693.7948ms | 8952.945ms | 5.29x | 4.292ms | 394.64x | 2085.96x |
Many Components
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.2237ms | 0.7488ms | 3.35x | 0.0072ms | 31.14x | 104.22x |
10000 | 171.0714ms | 500.6814ms | 2.93x | 1.449ms | 118.06x | 345.53x |
100000 | 1818.6258ms | 5277.3456ms | 2.9x | 9.2505ms | 196.6x | 570.49x |
Big Component
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.5231ms | 0.9827ms | 1.88x | 0.0059ms | 88.03x | 165.38x |
10000 | 131.2238ms | 829.1856ms | 6.32x | 0.9444ms | 138.95x | 878x |
100000 | 1346.2388ms | 7372.6771ms | 5.48x | 4.6654ms | 288.56x | 1580.29x |
Full Changelog: v2.2.0...v2.2.1
v2.2.0
Important Changes
- Index signature for attributes was removed by default. You now need to add
all-types
to your types. - Reduced the amount of characters needed to be escaped at attributes.
- Improved performance.
- Fixed missing register file.
- Improved package and security documentation.
Benchmark
- 2023-09-14T20:06:09.655Z
- Node: v18.15.0
- V8: 10.2.154.26-node.25
- OS: linux
- Arch: x64
Hello World
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.0088ms | 0.0177ms | 2.02x | 0.0066ms | 1.33x | 2.68x |
10000 | 0.9501ms | 3.2714ms | 3.44x | 0.6968ms | 1.36x | 4.7x |
100000 | 12.2114ms | 19.6453ms | 1.61x | 2.7776ms | 4.4x | 7.07x |
Many Props
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.2479ms | 1.3757ms | 5.55x | 0.0031ms | 79.8x | 442.91x |
10000 | 240.6256ms | 982.6665ms | 4.08x | 0.7723ms | 311.56x | 1272.37x |
100000 | 2436.4599ms | 10844.2049ms | 4.45x | 4.4179ms | 551.49x | 2454.59x |
Many Components
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.2174ms | 0.5805ms | 2.67x | 0.0058ms | 37.43x | 99.91x |
10000 | 169.6069ms | 665.6724ms | 3.92x | 1.5865ms | 106.91x | 419.6x |
100000 | 1747.2244ms | 5227.3891ms | 2.99x | 7.5666ms | 230.91x | 690.85x |
Big Component
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.2235ms | 0.8053ms | 3.6x | 0.0048ms | 46.53x | 167.64x |
10000 | 175.1073ms | 735.6298ms | 4.2x | 0.9891ms | 177.03x | 743.7x |
100000 | 1841.2463ms | 7872.5854ms | 4.28x | 5.1064ms | 360.58x | 1541.72x |
Full Changelog: v2.1.2...v2.2.0
v2.1.2
Important Changes
- Improved performance of
toKebabCase
andescapeHtml
up to 3x. See benchmark.
Benchmark
- 2023-09-11T18:08:10.527Z
- Node: v20.6.0
- V8: 11.3.244.8-node.14
- OS: linux
- Arch: x64
Hello World
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.0105ms | 0.0154ms | 1.47x | 0.0067ms | 1.57x | 2.3x |
10000 | 0.9791ms | 3.285ms | 3.36x | 0.5294ms | 1.85x | 6.21x |
100000 | 10.3421ms | 34.3962ms | 3.33x | 3.539ms | 2.92x | 9.72x |
Many Props
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.6015ms | 3.128ms | 5.2x | 0.0047ms | 127.98x | 665.53x |
10000 | 434.7339ms | 1408.6933ms | 3.24x | 0.94ms | 462.48x | 1498.61x |
100000 | 4323.8703ms | 13815.1441ms | 3.2x | 4.7838ms | 903.86x | 2887.9x |
Big Component
Runs | @kitajs/html | typed-html | + | .compile() | + / @kitajs/html | + / typed-html |
---|---|---|---|---|---|---|
10 | 0.3384ms | 1.0461ms | 3.09x | 0.0049ms | 69.06x | 213.49x |
10000 | 277.77ms | 1003.0324ms | 3.61x | 1.1829ms | 234.82x | 847.94x |
100000 | 2721.9826ms | 9898.4646ms | 3.64x | 5.6384ms | 482.76x | 1755.55x |
Full Changelog: v2.1.1...v2.1.2