0
0
mirror of https://github.com/honojs/hono.git synced 2024-12-01 10:51:01 +00:00
Commit Graph

1306 Commits

Author SHA1 Message Date
Gabriel Donnantuoni Lima
b80895a8bd
feat(types): Support types until 10 handlers (#1735)
* feat: Support types until 10 handlers

* denoify

* feat: extend OnHandlerInterface to support until 10 handlers

* denoify
2023-11-29 04:18:11 +09:00
Yusuke Wada
19641d07c1 Merge branch 'main' into next 2023-11-28 18:00:14 +09:00
Yusuke Wada
d34343c4a3 v3.10.3 2023-11-28 17:57:57 +09:00
Yusuke Wada
7dc215577a
fix(helper/cookie): make default Path=/ for setCookie()/setSignedCookie() (#1742)
* fix(helper/cookie): make default `path` as `/` for `setCookie()`/`setSignedCookie()`

* denoify

* fixed test
2023-11-28 17:52:34 +09:00
Taku Amano
c3275eebf0
fix(jsx): Write the raw value if the value is a HtmlEscaped string (#1739)
* fix(jsx): Write the raw value if the value is a HtmlEscaped string

* chore: denoify
2023-11-27 17:19:35 +09:00
watany
bea87a0429
feat(adaptor): Enhance AWS Lambda Event Handling and Interface (#1710) 2023-11-27 15:31:10 +09:00
Robert Sasak
79dc187dbb
fix(validator): Invalid HTTP header error is hidden (#1694)
* Invalid HTTP header error is hidden

This error is captured and never shown which may by misleading. This PR suggest to throw this error directly to the reponse.

* fixed the linter error

* add a test

* denoify

---------

Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
2023-11-21 19:42:27 +09:00
Taku Amano
cd6c488b76
feat(jsx): Introduce ErrorBoundary component (#1714)
* feat(jsx/streaming): Support Suspense in non-streaming mode.

* feat(jsx): Introduce ErrorBoundary component.

* chore: denoify

* feat: Support ErrorBoundary[fallbackRender].

* chore: denoify

* Rename utils.ts to components.ts

* refactor: export the ErrorBoundary component from the top level.

* fix: tweaks `resolveStream` to work with nested components

* refactor: Import `childrenToString` from `components.ts`

* fix: return immediately if the element is not found

* test: add test for jsx/components

* fix: run `npm run format:fix`

* chore: denoify
2023-11-21 18:05:05 +09:00
Yusuke Wada
f20e4fc73f
chore: remove jest.config.js (#1731) 2023-11-21 17:38:00 +09:00
Yusuke Wada
1a3a9022ca v3.10.2 2023-11-21 17:20:50 +09:00
Yusuke Wada
257d5711b4
fix(compose): allow onError() handler to be async (#1730)
* fix(compose): allow `onError()` handler to be async

* denoify
2023-11-21 17:15:01 +09:00
Russell Schick
710992fcd4
fix(compose): allow notFound handler to be async (#1729) 2023-11-21 16:59:41 +09:00
juho
0a2b54a14c
fix(aws-lambda): export APIGatewayProxyResult (#1711)
* Export APIGatewayProxyResult from aws-lambda

Adds an export for `APIGatewayProxyResult` so that it can be referenced from a handler:

```ts
export const handler: APIGatewayProxyResult = handle(app);
```

Without it exposed, TS complains:

```
Exported variable 'handler' has or is using name 'APIGatewayProxyResult' from external module "node_modules/.pnpm/hono@3.10.1/node_modules/hono/dist/types/adapter/aws-lambda/handler" but cannot be named.
```

* Separate APIGatewayProxyResult type export

Separates APIGatewayProxyResult type export

* Updated handler.ts
2023-11-21 16:55:29 +09:00
Yusuke Wada
3b71dc647f
fix(types): fixed a typo (#1721)
* fix(types): fixed a typo

* denoify
2023-11-19 05:23:45 +09:00
Taku Amano
ae3546e32a
fix: References this._s only when paramStash is passed from the router (#1715)
* fix: References this._s only when paramStash is passed from the router.

* chore: denoify

* fix: remove debug statement.

* test: Fix test for param keys.
2023-11-17 07:35:48 +09:00
Yusuke Wada
1ed742bdb8
ci: rename fastly compute@edge to compute (#1708) 2023-11-16 16:36:28 +09:00
Yusuke Wada
e13000f199 v3.10.1 2023-11-15 22:43:30 +09:00
Yusuke Wada
16396bc225
perf(compose): simplify (#1701)
* perf(compose): simplify

* denoify
2023-11-15 22:22:31 +09:00
Yusuke Wada
871cf80b6a
fix(context): c.text() set the status set by c.status() (#1702)
* fix(context): `c.text()` set the status set by `c.status()`

* fixed logic

* denoify
2023-11-15 22:16:38 +09:00
Yusuke Wada
b158143075 v3.10.0 2023-11-13 14:30:12 +09:00
Yusuke Wada
5e3e85a179
Merge pull request #1690 from honojs/next
Next
2023-11-13 14:25:42 +09:00
Yusuke Wada
d711484ac7
feat(app): use console.error() for default errorHandler (#1687)
* feat(app): use `console.error()` for default `errorHandler`

* denoify
2023-11-13 01:18:54 +09:00
Yusuke Wada
db3387353f
fix(context): implement ContextVariableMap for c.var (#1682)
* fix(context): implement `ContextVariableMap` for `c.var`

* denoify
2023-11-12 09:06:40 +09:00
Christian Rackerseder
47942ffc68
fix(types): allow arbitrary values as environment values (#1680) 2023-11-12 09:05:54 +09:00
watany
c7e4035700
fix(Adaptor): Lambda Response Streaming With Content Type (#1673)
* lambda 0.1

* ok stream setted content-type

* fix d.ts
2023-11-11 00:44:20 +09:00
Yusuke Wada
397e9a5cb5
feat(hono): remove experimental flag from app.mount() (#1669)
* feat(hono): remove `experimental` flag from `app.mount()`

* denoify
2023-11-10 08:20:20 +09:00
Yusuke Wada
c6fbf84de3
fix(types): infer env types with chaining handlers (#1668)
* fix(types): infer env types with chaining handlers

* denoify
2023-11-09 15:40:25 +09:00
Taku Amano
fa1abf637b
fix(jsx/streaming): Fixed a problem when multiple children are added directly under Suspense. (#1665)
* fix(jsx/streaming): Fixed a problem when multiple children are added directly under Suspense.

* refactor: Use `raw()` helper as constructor of `HtmlEscapedString`.

* chore: denoify.
2023-11-09 14:37:47 +09:00
Yusuke Wada
d6cd2720ea
docs: rename Fastly Compute@Edge to Compute (#1664) 2023-11-09 05:13:09 +09:00
Taku Amano
ebd43b91ff
feat(jsx-renderer): Support "stream" option in jsxRenderer. (#1662)
* fix(jsx/streaming): Fix await order again.

* feat(jsx): Support async component in useContext().

* fix(html): fix async component bug in html helper.

* feat(jsx-renderer): Support "stream" option in jsxRenderer.

* chore: denoify

* fix(jsx-renderer): Add "eslint-disable @typescript-eslint/no-explicit-any".
2023-11-09 05:03:54 +09:00
Taku Amano
691d02450e
perf(jsx/streaming): In multiple Suspense, go ahead in the order of resolved. (#1663)
* perf(jsx/streaming): In multiple Suspense, go ahead in the order of resolved.

* chore: denoify
2023-11-09 04:13:50 +09:00
Taku Amano
7fd9cba89d
feat(jsx/streaming): Support nested Suspense. (#1660) 2023-11-08 23:49:42 +09:00
Yusuke Wada
d7d6ced432 v3.10.0-rc.2 2023-11-08 21:33:21 +09:00
Taku Amano
652ef7c867
feat(jsx): Define jsxTemplate/jsxAttr/jsxEscape for "@jsx precompile" of Deno 1.38 (#1651)
* fix(jsx/streaming): Fix for renderToReadableStream(promise: Promise<HtmlEscapedString>).

* feat(jsx): Define jsxTemplate/jsxAttr/jsxEscape for "@jsx precompile" of Deno 1.38

* chore: denoify

* fix(jsx/streaming): some times jsxDEV is called with null props.

* test(deno-jsx): Add runtime tests for JSX by Deno.

* test: Refactor import map.

* test: Added @jsxImportSource to avoid type warnings
2023-11-08 21:07:35 +09:00
watany
7adae90fd7
fix(helper): Stream SSE Helper Non-Closure (#1650)
* fix(helper): Stream SSE Helper Non-Closure

* denoify

* test fixed.
2023-11-08 20:54:02 +09:00
Taku Amano
a98661b419
fix(jsx/streaming): Fixed a bug that caused async components to be evaluated multiple times inside Suspense. (#1656)
* fix(jsx/streaming): Fixed a bug that caused async components to be evaluated multiple times inside Suspense.

* test(jsx/streaming): The problem of catching the global unhandledRejection and causing an error has been fixed in the vitest.

* chore: denoify
2023-11-08 20:52:29 +09:00
Yusuke Wada
86037a54eb
feat(helper/factory): remove @experimental from createMiddleware() (#1653)
* feat(helper/factory): remove `@experimental` from `createMiddleware()`

* denoify
2023-11-08 12:19:15 +09:00
Yusuke Wada
125cf98398 v3.10.0-rc.1 2023-11-07 07:23:23 +09:00
Taku Amano
fedeb3d696
feat: Introduce streaming API with Suspense and use. (#1630)
* 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()`.
2023-11-07 07:09:04 +09:00
watany
8b4392fa36
feat(adaptor): Support AWS Function URL Streaming (#1625)
* 0.1

* lint

* stream

* type safe

* ignore

* lint

* test Node.writablestream

* 1.0

* fixed pipeline

* fixed
2023-11-07 07:05:23 +09:00
Yusuke Wada
88e89a46a8 v3.9.2 2023-11-04 06:59:46 +09:00
Yusuke Wada
48dc87dfd5
fix(utils/filepath): filepath supports Windows (#1642) 2023-11-04 06:56:14 +09:00
watany
d1ff3d89c7
chore(ci): maintenance Node.js (#1636) 2023-11-02 00:12:49 +09:00
Yusuke Wada
dcb5e10add v3.9.1 2023-10-31 18:37:51 +09:00
Yusuke Wada
85d5074bfc
fix(package.json): export types correctly (#1633) 2023-10-31 18:35:26 +09:00
Yusuke Wada
ce36f83978 v3.9.0 2023-10-27 16:40:35 +09:00
Yusuke Wada
eb530cd75c
Merge pull request #1624 from honojs/next
Next
2023-10-27 16:36:15 +09:00
Yusuke Wada
517a6c486e
feat(jsx-renderer): docType option (#1621)
* feat(jsx-renderer): `docType` option

* denoify

* refactor

Co-authored-by: Taku Amano <taku@taaas.jp>

* denoify

---------

Co-authored-by: Taku Amano <taku@taaas.jp>
2023-10-27 11:11:07 +09:00
Yusuke Wada
3ead9a761c
feat(helper/adapter): add runtime option to env (#1622)
* feat(helper/adapter): add `runtime` option to `env`

* denoify
2023-10-27 11:06:21 +09:00
Yusuke Wada
0bc72b8c6f v3.9.0-rc.1 2023-10-27 06:26:55 +09:00