* feat(jsx/dom): rewrite renderer to use virtual tree
* test(deno): add runtime_tests/deno/deno.json in order to allow `document`, `Element`, etc.
* refactor(jsx/dom): Removed redundant `map()` calls
* refactor(jsx/dom): tweaks getNextChildren for reduce code size
* refactor(jsx/dom): optimize findInsertBefore
* refactor(jsx/dom): optimize `build()`
* refactor(jsx/dom): reuse oldChild even in text nodes.
* feat(jsx/dom): handle promise rejection in use()
* feat(jsx): The result of using Suspense and use() is now the same as React's renderToReadableStream().
* chore: denoify
* test(deno): "dom.iterable" is required for 'Headers.entries()'
* feat: SSG works without `node:path`
* chore: denoify
* chore: pretter
* chore: move `joinPath` and `dirname` functions
* chore: format code
* chore: denoify
* feat: add more test code
* fix: forgot remove `console.log`
* fix(ssg): Invalid joined path
If `/test` and `/test2` joined, joined path should be `/test/test2`
* chore: denoify
* feat(css): Introduce pseudo global selector and class name based extend syntax
* chore: denoify
* feat(css): Generated deferent class name for deferent first line comment even if the content is the same
* feat(css): enable to embed global style via <Style> component
* chore: denoify
* Introduce jsx/dom
* feat(jsx): add some hooks and tidy up dom core
* feat(jsx/dom): support css`` helper
* chore: denoify
* fix(jsx/dom): fix type error.
* fix(jsx/dom): avoid type error in deno
* fix(jsx/dom): fix some bugs
* chore: denoify
* refactor(jsx/dom): refactor invokeUpdate function
* feat: introduce CSS Helper
* shorten
* feat(css): Implement css helper with callback (#1858)
* feat(css): Implement css helper with callback
* feat(css): add keyframes and pseudo selectors support
* fix(css): Specify missing "context" argument in resolveCallback()
* feat(css): use WeakMap instead of Map, to avoid memory leak
* feat(css): improve CSS helper
* fix(css): fix formatting and types in css helper
* chore: denoify
* docs(css): add experimental flag to css helper
* feat(css): Enable to embed sub `css`.
* fix(css): propagate selector to parent class
* feat(css): Use Record again for usedClassNameData
* feat(css): escape only close tag "</...>", not all slashes. we can use url() without escaping.
* fix(css): embedded `css` must have ";"
* Fix format.
* feat(css): add cx() helper
`cx()` is a helper function to combine multiple css classes.
This function is compatible with `cx()` in @emotion/css.
* feat(css): ignore boolean, null, and undefined values as same as jsx
* chore: denoify
* feat(css): enable to use cx() with external class name
* refactor(css): use symbols for keys
* chore: denoify
---------
Co-authored-by: Taku Amano <taku@taaas.jp>
* feat: pass context to onNotFound callback in serveStatic
* chore: denoify
* test: update notFoundHandler's callback expect
* feat: add Env generics for serveStatic to support `c.env` type in callback handler
* feat: add Env generics for serveStatic to support c.env type in cloudflare workers module's callback handler
* refactor: move streaming helper to `streaming/sse.ts`
* feat: add streamSSE's export in streaming handler
* feat: move `stream` and `streamText` to streaming helper
* chore: add deprecated expression for `c.stream` and `c.streamText`
* fix: use `stream` helper in streamSSE
* refactor: move `streamText` to `text.ts`
* test: add some case to `stream` and `streamText`
* test: refactor `streamSSE` case for uniformity
* chore: denoify
* fix: update jsdoc's deprecated description, simplify `c.stream` and `c.streamText`
* fix: match the header notation with that of `streamSSE
* chore: denoify
* refactor: remove unnecesary export