* 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
* feat: Ensure that calls to `c.json()` have a type equivalent to `c.jsonT()`
* refactor: Objects with "response" properties are never returned by the handler
* refactor: "status" is not needed in TypedResponse
* refactor: Revive `c.jsonT()` and add @deprecated label
* refactor: Tweaks commenting on "eslint-disable" broken by `format:fix`
* test: Use `c.json()` instead of `c.jsonT()` to make sure there are no problems
* refactor: allow ambiguous type for `c.json()`
* chore: denoify
* fix: Remove unused TypedResponse from import statement
* feat(dev): Introduce "dev" helper
* feat(dev): Expose "dev" helper
* refactor: Use "named function" in some middleware.
* feat: `app.showRoutes()` is now deprecated. Use `showRoutes()` in `helper` instead.
* refactor: export RouterRoute interface for utility
* refactor: remove captureRouteStackTrace, add inspectRoutes
`captureRouteStackTrace` will be implemented after some more thought.
Instead, I added `inspectRoutes` to get routes as data.
* test: add tests for helper/dev/index.ts
* fix: run `format:fix`
* refactor: use named functions for middleware
* chore: denoify
* docs: tweaks deprecation warning message
* refactor(dev): Simplification of showList options
* chore: denoify