Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(context): Add types for c.header #3221

Merged
merged 4 commits into from
Aug 8, 2024

Conversation

nakasyou
Copy link
Contributor

@nakasyou nakasyou commented Aug 1, 2024

I added a types for c.header.
I'm sure you can type headers easier.

IMG_3616
IMG_3617

If we merged this, we can use custom header names as before.

From: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers

The author should do the following, if applicable

  • Add tests
  • Run tests
  • bun run format:fix && bun run lint:fix to format the code
  • Add TSDoc/JSDoc to document the code

Copy link

codecov bot commented Aug 1, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.23%. Comparing base (f23a416) to head (4fef5a3).
Report is 25 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3221      +/-   ##
==========================================
+ Coverage   96.18%   96.23%   +0.04%     
==========================================
  Files         151      151              
  Lines       15056    15194     +138     
  Branches     2623     2643      +20     
==========================================
+ Hits        14482    14622     +140     
+ Misses        574      572       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@EdamAme-x
Copy link
Contributor

Please check this

@yusukebe
Copy link
Member

yusukebe commented Aug 3, 2024

Hi @nakasyou !

This is awesome! I like it because it often takes time to set a correct header name.

Suggestion: how about adding the following change (sorry for it's long)?

diff --git a/src/context.ts b/src/context.ts
index f4338c95..2190099a 100644
--- a/src/context.ts
+++ b/src/context.ts
@@ -19,7 +19,86 @@ import type {
   SimplifyDeepArray,
 } from './utils/types'
 
-type HeaderRecord = Record<string, string | string[]>
+type HeaderKey =
+  | 'Access-Control-Allow-Credentials'
+  | 'Access-Control-Allow-Headers'
+  | 'Access-Control-Allow-Methods'
+  | 'Access-Control-Allow-Origin'
+  | 'Access-Control-Expose-Headers'
+  | 'Access-Control-Max-Age'
+  | 'Age'
+  | 'Allow'
+  | 'Cache-Control'
+  | 'Clear-Site-Data'
+  | 'Content-Disposition'
+  | 'Content-Encoding'
+  | 'Content-Language'
+  | 'Content-Length'
+  | 'Content-Location'
+  | 'Content-Range'
+  | 'Content-Security-Policy'
+  | 'Content-Security-Policy-Report-Only'
+  | 'Content-Type'
+  | 'Cookie'
+  | 'Cross-Origin-Embedder-Policy'
+  | 'Cross-Origin-Opener-Policy'
+  | 'Cross-Origin-Resource-Policy'
+  | 'Date'
+  | 'ETag'
+  | 'Expires'
+  | 'Last-Modified'
+  | 'Location'
+  | 'Permissions-Policy'
+  | 'Pragma'
+  | 'Retry-After'
+  | 'Save-Data'
+  | 'Sec-CH-Prefers-Color-Scheme'
+  | 'Sec-CH-Prefers-Reduced-Motion'
+  | 'Sec-CH-UA'
+  | 'Sec-CH-UA-Arch'
+  | 'Sec-CH-UA-Bitness'
+  | 'Sec-CH-UA-Form-Factor'
+  | 'Sec-CH-UA-Full-Version'
+  | 'Sec-CH-UA-Full-Version-List'
+  | 'Sec-CH-UA-Mobile'
+  | 'Sec-CH-UA-Model'
+  | 'Sec-CH-UA-Platform'
+  | 'Sec-CH-UA-Platform-Version'
+  | 'Sec-CH-UA-WoW64'
+  | 'Sec-Fetch-Dest'
+  | 'Sec-Fetch-Mode'
+  | 'Sec-Fetch-Site'
+  | 'Sec-Fetch-User'
+  | 'Sec-GPC'
+  | 'Server'
+  | 'Server-Timing'
+  | 'Service-Worker-Navigation-Preload'
+  | 'Set-Cookie'
+  | 'Strict-Transport-Security'
+  | 'Timing-Allow-Origin'
+  | 'Trailer'
+  | 'Transfer-Encoding'
+  | 'Upgrade'
+  | 'Vary'
+  | 'WWW-Authenticate'
+  | 'Warning'
+  | 'X-Content-Type-Options'
+  | 'X-DNS-Prefetch-Control'
+  | 'X-Frame-Options'
+  | 'X-Permitted-Cross-Domain-Policies'
+  | 'X-Powered-By'
+  | 'X-Robots-Tag'
+  | 'X-XSS-Protection'
+
+type HeadersInit = [string, string][] | Record<string, string> | Record<HeaderKey, string> | Headers
+
+interface ResponseInit {
+  headers?: HeadersInit
+  status?: number
+  statusText?: string
+}
+
+type HeaderRecord = Record<HeaderKey, string | string[]> | Record<string, string | string[]>
 
 /**
  * Data type can be a string, ArrayBuffer, or ReadableStream.
@@ -232,368 +311,7 @@ type SetHeadersValue = string | undefined
 type SetHeadersOptions = { append?: boolean }
 
 interface SetHeaders {
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials}
-   */
-  (
-    name: 'Access-Control-Allow-Credentials',
-    value: SetHeadersValue,
-    options?: SetHeadersOptions
-  ): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers}
-   */
-  (name: 'Access-Control-Allow-Headers', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods}
-   */
-  (name: 'Access-Control-Allow-Methods', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin}
-   */
-  (name: 'Access-Control-Allow-Origin', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers}
-   */
-  (name: 'Access-Control-Expose-Headers', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age}
-   */
-  (name: 'Access-Control-Max-Age', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Age}
-   */
-  (name: 'Age', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Allow}
-   */
-  (name: 'Allow', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control}
-   */
-  (name: 'Cache-Control', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data}
-   */
-  (name: 'Clear-Site-Data', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition}
-   */
-  (name: 'Content-Disposition', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding}
-   */
-  (name: 'Content-Encoding', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language}
-   */
-  (name: 'Content-Language', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length}
-   */
-  (name: 'Content-Length', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Location}
-   */
-  (name: 'Content-Location', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range}
-   */
-  (name: 'Content-Range', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy}
-   */
-  (name: 'Content-Security-Policy', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only}
-   */
-  (
-    name: 'Content-Security-Policy-Report-Only',
-    value: SetHeadersValue,
-    options?: SetHeadersOptions
-  ): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type}
-   */
-  (name: 'Content-Type', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cookie}
-   */
-  (name: 'Cookie', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy}
-   */
-  (name: 'Cross-Origin-Embedder-Policy', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy}
-   */
-  (name: 'Cross-Origin-Opener-Policy', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy}
-   */
-  (name: 'Cross-Origin-Resource-Policy', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Date}
-   */
-  (name: 'Date', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag}
-   */
-  (name: 'ETag', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires}
-   */
-  (name: 'Expires', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified}
-   */
-  (name: 'Last-Modified', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location}
-   */
-  (name: 'Location', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy}
-   */
-  (name: 'Permissions-Policy', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Pragma}
-   */
-  (name: 'Pragma', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After}
-   */
-  (name: 'Retry-After', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Save-Data}
-   */
-  (name: 'Save-Data', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme}
-   */
-  (name: 'Sec-CH-Prefers-Color-Scheme', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion}
-   */
-  (name: 'Sec-CH-Prefers-Reduced-Motion', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA}
-   */
-  (name: 'Sec-CH-UA', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Arch}
-   */
-  (name: 'Sec-CH-UA-Arch', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Bitness}
-   */
-  (name: 'Sec-CH-UA-Bitness', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Form-Factor}
-   */
-  (name: 'Sec-CH-UA-Form-Factor', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version}
-   */
-  (name: 'Sec-CH-UA-Full-Version', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Full-Version-List}
-   */
-  (name: 'Sec-CH-UA-Full-Version-List', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Mobile}
-   */
-  (name: 'Sec-CH-UA-Mobile', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Model}
-   */
-  (name: 'Sec-CH-UA-Model', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Platform}
-   */
-  (name: 'Sec-CH-UA-Platform', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-Platform-Version}
-   */
-  (name: 'Sec-CH-UA-Platform-Version', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA-WoW64}
-   */
-  (name: 'Sec-CH-UA-WoW64', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest}
-   */
-  (name: 'Sec-Fetch-Dest', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode}
-   */
-  (name: 'Sec-Fetch-Mode', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site}
-   */
-  (name: 'Sec-Fetch-Site', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-User}
-   */
-  (name: 'Sec-Fetch-User', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-GPC}
-   */
-  (name: 'Sec-GPC', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server}
-   */
-  (name: 'Server', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing}
-   */
-  (name: 'Server-Timing', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Service-Worker-Navigation-Preload}
-   */
-  (
-    name: 'Service-Worker-Navigation-Preload',
-    value: SetHeadersValue,
-    options?: SetHeadersOptions
-  ): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie}
-   */
-  (name: 'Set-Cookie', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}
-   */
-  (name: 'Strict-Transport-Security', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Timing-Allow-Origin}
-   */
-  (name: 'Timing-Allow-Origin', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Trailer}
-   */
-  (name: 'Trailer', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding}
-   */
-  (name: 'Transfer-Encoding', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Upgrade}
-   */
-  (name: 'Upgrade', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary}
-   */
-  (name: 'Vary', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate}
-   */
-  (name: 'WWW-Authenticate', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Warning}
-   */
-  (name: 'Warning', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options}
-   */
-  (name: 'X-Content-Type-Options', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control}
-   */
-  (name: 'X-DNS-Prefetch-Control', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options}
-   */
-  (name: 'X-Frame-Options', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Permitted-Cross-Domain-Policies}
-   */
-  (
-    name: 'X-Permitted-Cross-Domain-Policies',
-    value: SetHeadersValue,
-    options?: SetHeadersOptions
-  ): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Powered-By}
-   */
-  (name: 'X-Powered-By', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Robots-Tag}
-   */
-  (name: 'X-Robots-Tag', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  /**
-   * MDN: {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection}
-   */
-  (name: 'X-XSS-Protection', value: SetHeadersValue, options?: SetHeadersOptions): void
-
-  (name: string, value: SetHeadersValue, options?: SetHeadersOptions): void
+  (name: HeaderKey | string, value: SetHeadersValue, options?: SetHeadersOptions): void
 }
 
 export const TEXT_PLAIN = 'text/plain; charset=UTF-8'

Of course, the JSDoc of the link to the MDN will disappear, but there is an advantage. Type completion is also enabled when setting headers with methods such as c.text() and c.json().

CleanShot 2024-08-03 at 22 33 11@2x

CleanShot 2024-08-03 at 22 33 31@2x

Supporting methods such as c.text() and c.json() with keeping the JSDoc is ideal, but it may be impossible. Anyway, I think enabling completion in the methods is better than showing the JSDoc.

@nakasyou
Copy link
Contributor Author

nakasyou commented Aug 6, 2024

@yusukebe sorry for late reply. I agree for your comment. I changed.

Copy link
Member

@yusukebe yusukebe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@yusukebe
Copy link
Member

yusukebe commented Aug 8, 2024

@nakasyou No problem!

This is a good change! This is a feat, but it does not add a new function, only changing the types, so I'll merge this now and release it as a patch release. Thanks!

@yusukebe yusukebe merged commit 7cd0248 into honojs:main Aug 8, 2024
14 checks passed
@nakasyou nakasyou deleted the feat/add-header-types branch August 8, 2024 14:10
adamnolte referenced this pull request in autoblocksai/cli Aug 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hono](https://hono.dev/) ([source](https://togithub.com/honojs/hono))
| [`4.5.4` ->
`4.5.5`](https://renovatebot.com/diffs/npm/hono/4.5.4/4.5.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/hono/4.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hono/4.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hono/4.5.4/4.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hono/4.5.4/4.5.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>honojs/hono (hono)</summary>

### [`v4.5.5`](https://togithub.com/honojs/hono/releases/tag/v4.5.5)

[Compare
Source](https://togithub.com/honojs/hono/compare/v4.5.4...v4.5.5)

#### What's Changed

- fix(jsx): allow null, undefined, and boolean to be returned from
function component by [@&#8203;usualoma](https://togithub.com/usualoma)
in
[https://github.com/honojs/hono/pull/3241](https://togithub.com/honojs/hono/pull/3241)
- feat(context): Add types for `c.header` by
[@&#8203;nakasyou](https://togithub.com/nakasyou) in
[https://github.com/honojs/hono/pull/3221](https://togithub.com/honojs/hono/pull/3221)
- fix(jsx): fix draggable type to accept boolean by
[@&#8203;yasuaki640](https://togithub.com/yasuaki640) in
[https://github.com/honojs/hono/pull/3253](https://togithub.com/honojs/hono/pull/3253)
- feat(context): add Context-Type types to `c.header` by
[@&#8203;nakasyou](https://togithub.com/nakasyou) in
[https://github.com/honojs/hono/pull/3255](https://togithub.com/honojs/hono/pull/3255)
- fix(serve-static): supports directory contains `.` and not end `/` by
[@&#8203;yusukebe](https://togithub.com/yusukebe) in
[https://github.com/honojs/hono/pull/3256](https://togithub.com/honojs/hono/pull/3256)

**Full Changelog**:
honojs/hono@v4.5.4...v4.5.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/autoblocksai/cli).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants