* feat(jsx): Support async component.
* chore: denoify
* feat: Support nested async components.
* chore: denoify
* Remove unintended file from commit.
* test(jsx): Add test for html tagged template strings.
* feat: Introduce streaming API with `Suspense` and `use`.
* chore: denoify
* "use" receives only Promise.
* feat: Support multiple calls and nested calls to "use".
* refactor: tweaks replacement script.
* test: Add test for replacement result of streaming
* chore: denoify
* test: Add test "Complex fallback content"
* refactor: Add "typescript-eslint/no-explicit-any".
* Use jsdom instead of happy-dom due to ci failure.
* test: update test data for suspense.
* refactor: Remove excessive exports
* refactor: Changed initialization of `useContexts[]` to clarify intent.
* perf: improve `renderToReadableStream()` performance.
* chore: denoify
* pref: Shortened the output JS a bit.
* pref: Delete unneeded condition
* docs(jsx/streaming): Add `@experimental` flag to streaming API.
* fix(jsx/streadming): fix loop when using fullfilled Promise with null or undefined.
* fix(jsx/streaming): Catch unhandledRejection to avoid streaming not being closed.
* chore(jsx/streaming): Add entries for jsx/streaming to package.json.
* chore: denoify
* feat(jsx/streaming): Support the Async Component inside Suspense.
* chore: denoify
* feat(jsx/streaming): remove implementation of `use()`.
* test(vitest): replace `jest` with `vitest` for core tests
* test(fastly): `jest` -> `vitest`, correct env for fastly
* test(jest): remove `jest-environment-miniflare` as dep
* test(lagon): configure `lagon` tests to run on `vitest`
* test(lambda): `jest` -> `vitest`
* test(lambda-edge): `jest` -> `vitest`
* test(node): `jest` -> `vitest`
* test(wrangler): `jest` -> `vitest`
* chore(deps): remove `jest` and `ts-jest` from deps
* test(vitest): add `yarn coverage` for checking coverage
* test(fastly): fix check for `globalThis.crypto`
* test(handler): fix stray `.only`
* test(lagon): change env file back to original path
* test(fastly): go back to `jest` until `vitest` has support for fastly env
* test(fastly): remove hack for the `crypto` global from the test
* feat: `env` support enviroment variables for multi runtimes
* typo
* denoify
* fixed ci settings
* fixed deno command
* comment out lagon test
* remove warnings
* refactor: support new `@cloudflare/worker-types`
* do not attach crypto to global
* denoify ignore serve-static for cloudlfare
* ignore the utility for cloudflare
* import types
* Add compress middleware
* Format code
* Update order of executions
* Add test
* Remove version check
* Remove node:stream/web
* Update dependency
* Remove version check
# BREAKING CHANGES!!
Now, builtin middleware are not in main package. You can't use `Middleware.logger()` method. Call sub modules if needed:
```js
import { Hono } from 'hono'
import { poweredBy } from 'hono/powered-by'
import { logger } from 'hono/logger'
const app = new Hono()
app.use('*', poweredBy())
app.use('*', logger())
```
Closes: #80
---
* feat: builtin middleware as sub module
* fixed middleware
* Update readme
* Add types
* New gif
* [WIP] feat: Mustache Middleware
Dirty code.
A Big problem is tests for Workers Site KV does not work well...
* feat: mustache middleware
* Add readme