hono 4.3.11 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/adapter/aws-lambda/handler.js +12 -9
- package/dist/adapter/bun/conninfo.js +21 -0
- package/dist/adapter/bun/index.js +2 -0
- package/dist/adapter/bun/websocket.js +1 -3
- package/dist/adapter/cloudflare-workers/conninfo.js +10 -0
- package/dist/adapter/cloudflare-workers/websocket.js +2 -6
- package/dist/adapter/deno/conninfo.js +15 -0
- package/dist/adapter/deno/index.js +2 -0
- package/dist/adapter/lambda-edge/handler.js +3 -3
- package/dist/cjs/adapter/aws-lambda/handler.js +12 -9
- package/dist/cjs/adapter/bun/conninfo.js +44 -0
- package/dist/cjs/adapter/bun/index.js +3 -0
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +33 -0
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +2 -6
- package/dist/cjs/adapter/deno/conninfo.js +38 -0
- package/dist/cjs/adapter/deno/index.js +3 -0
- package/dist/cjs/adapter/lambda-edge/handler.js +3 -3
- package/dist/cjs/helper/conninfo/index.js +16 -0
- package/dist/cjs/helper/ssg/ssg.js +64 -3
- package/dist/cjs/helper/streaming/text.js +1 -1
- package/dist/cjs/hono-base.js +10 -6
- package/dist/cjs/jsx/base.js +5 -2
- package/dist/cjs/jsx/dom/client.js +68 -0
- package/dist/cjs/jsx/dom/index.js +8 -4
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +6 -20
- package/dist/cjs/jsx/dom/render.js +41 -25
- package/dist/cjs/jsx/dom/utils.js +15 -0
- package/dist/cjs/jsx/hooks/index.js +4 -1
- package/dist/cjs/jsx/index.js +8 -4
- package/dist/cjs/middleware/jwt/index.js +5 -82
- package/dist/cjs/middleware/jwt/jwt.js +111 -0
- package/dist/cjs/middleware/secure-headers/index.js +3 -123
- package/dist/cjs/middleware/secure-headers/secure-headers.js +150 -0
- package/dist/cjs/middleware/timeout/index.js +48 -0
- package/dist/cjs/middleware/timing/index.js +5 -89
- package/dist/cjs/middleware/timing/timing.js +118 -0
- package/dist/cjs/utils/body.js +34 -9
- package/dist/cjs/utils/jwt/jws.js +4 -5
- package/dist/cjs/utils/jwt/jwt.js +6 -7
- package/dist/cjs/utils/url.js +26 -2
- package/dist/helper/css/index.js +4 -4
- package/dist/helper/html/index.js +1 -1
- package/dist/helper/ssg/ssg.js +63 -5
- package/dist/helper/streaming/text.js +1 -1
- package/dist/hono-base.js +11 -7
- package/dist/jsx/base.js +3 -1
- package/dist/jsx/dom/client.js +44 -0
- package/dist/jsx/dom/css.js +4 -4
- package/dist/jsx/dom/index.js +25 -21
- package/dist/jsx/dom/jsx-dev-runtime.js +6 -20
- package/dist/jsx/dom/render.js +40 -26
- package/dist/jsx/dom/utils.js +14 -0
- package/dist/jsx/hooks/index.js +4 -2
- package/dist/jsx/index.js +22 -18
- package/dist/jsx/jsx-runtime.js +1 -1
- package/dist/middleware/jsx-renderer/index.js +1 -1
- package/dist/middleware/jwt/index.js +1 -78
- package/dist/middleware/jwt/jwt.js +85 -0
- package/dist/middleware/secure-headers/index.js +1 -121
- package/dist/middleware/secure-headers/secure-headers.js +126 -0
- package/dist/middleware/timeout/index.js +25 -0
- package/dist/middleware/timing/index.js +1 -85
- package/dist/middleware/timing/timing.js +92 -0
- package/dist/request.js +1 -1
- package/dist/router/reg-exp-router/router.js +2 -2
- package/dist/router/smart-router/router.js +1 -1
- package/dist/router/trie-router/node.js +1 -1
- package/dist/types/adapter/aws-lambda/handler.d.ts +3 -3
- package/dist/types/adapter/aws-lambda/index.d.ts +4 -0
- package/dist/types/adapter/bun/conninfo.d.ts +7 -0
- package/dist/types/adapter/bun/index.d.ts +5 -0
- package/dist/types/adapter/bun/websocket.d.ts +2 -3
- package/dist/types/adapter/cloudflare-pages/index.d.ts +4 -0
- package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
- package/dist/types/adapter/cloudflare-workers/index.d.ts +4 -0
- package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +2 -2
- package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +1 -2
- package/dist/types/adapter/cloudflare-workers/utils.d.ts +1 -2
- package/dist/types/adapter/deno/conninfo.d.ts +7 -0
- package/dist/types/adapter/deno/index.d.ts +5 -0
- package/dist/types/adapter/lambda-edge/handler.d.ts +1 -2
- package/dist/types/adapter/lambda-edge/index.d.ts +4 -0
- package/dist/types/adapter/netlify/handler.d.ts +1 -7
- package/dist/types/adapter/netlify/index.d.ts +4 -0
- package/dist/types/adapter/netlify/mod.d.ts +0 -1
- package/dist/types/adapter/vercel/index.d.ts +4 -0
- package/dist/types/client/index.d.ts +4 -0
- package/dist/types/compose.d.ts +1 -1
- package/dist/types/helper/accepts/index.d.ts +4 -0
- package/dist/types/helper/adapter/index.d.ts +4 -0
- package/dist/types/helper/conninfo/index.d.ts +40 -0
- package/dist/types/helper/cookie/index.d.ts +5 -1
- package/dist/types/helper/css/index.d.ts +4 -0
- package/dist/types/helper/dev/index.d.ts +4 -0
- package/dist/types/helper/factory/index.d.ts +4 -0
- package/dist/types/helper/html/index.d.ts +4 -0
- package/dist/types/helper/ssg/index.d.ts +4 -0
- package/dist/types/helper/ssg/ssg.d.ts +6 -3
- package/dist/types/helper/streaming/index.d.ts +4 -0
- package/dist/types/helper/testing/index.d.ts +4 -0
- package/dist/types/helper/websocket/index.d.ts +4 -0
- package/dist/types/hono-base.d.ts +15 -15
- package/dist/types/http-exception.d.ts +4 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/jsx/base.d.ts +10 -11
- package/dist/types/jsx/components.d.ts +1 -1
- package/dist/types/jsx/context.d.ts +1 -1
- package/dist/types/jsx/dom/client.d.ts +26 -0
- package/dist/types/jsx/dom/components.d.ts +2 -2
- package/dist/types/jsx/dom/css.d.ts +31 -20
- package/dist/types/jsx/dom/index.d.ts +13 -7
- package/dist/types/jsx/dom/jsx-dev-runtime.d.ts +5 -1
- package/dist/types/jsx/dom/jsx-runtime.d.ts +4 -0
- package/dist/types/jsx/dom/render.d.ts +4 -3
- package/dist/types/jsx/dom/utils.d.ts +6 -0
- package/dist/types/jsx/hooks/index.d.ts +4 -0
- package/dist/types/jsx/index.d.ts +13 -7
- package/dist/types/jsx/intrinsic-elements.d.ts +629 -630
- package/dist/types/jsx/jsx-dev-runtime.d.ts +5 -0
- package/dist/types/jsx/jsx-runtime.d.ts +5 -0
- package/dist/types/jsx/streaming.d.ts +5 -1
- package/dist/types/jsx/types.d.ts +1 -0
- package/dist/types/middleware/basic-auth/index.d.ts +35 -0
- package/dist/types/middleware/bearer-auth/index.d.ts +33 -0
- package/dist/types/middleware/body-limit/index.d.ts +28 -11
- package/dist/types/middleware/cache/index.d.ts +29 -0
- package/dist/types/middleware/compress/index.d.ts +20 -0
- package/dist/types/middleware/cors/index.d.ts +43 -0
- package/dist/types/middleware/csrf/index.d.ts +41 -0
- package/dist/types/middleware/etag/index.d.ts +24 -0
- package/dist/types/middleware/jsx-renderer/index.d.ts +63 -2
- package/dist/types/middleware/jwt/index.d.ts +5 -17
- package/dist/types/middleware/jwt/jwt.d.ts +48 -0
- package/dist/types/middleware/logger/index.d.ts +20 -0
- package/dist/types/middleware/method-override/index.d.ts +22 -10
- package/dist/types/middleware/powered-by/index.d.ts +4 -0
- package/dist/types/middleware/pretty-json/index.d.ts +23 -0
- package/dist/types/middleware/secure-headers/index.d.ts +6 -64
- package/dist/types/middleware/secure-headers/secure-headers.d.ts +97 -0
- package/dist/types/middleware/serve-static/index.d.ts +4 -0
- package/dist/types/middleware/timeout/index.d.ts +31 -0
- package/dist/types/middleware/timing/index.d.ts +5 -29
- package/dist/types/middleware/timing/timing.d.ts +111 -0
- package/dist/types/middleware/trailing-slash/index.d.ts +29 -5
- package/dist/types/preset/quick.d.ts +4 -0
- package/dist/types/preset/tiny.d.ts +4 -0
- package/dist/types/request.d.ts +5 -4
- package/dist/types/router/linear-router/index.d.ts +4 -0
- package/dist/types/router/linear-router/router.d.ts +1 -1
- package/dist/types/router/pattern-router/index.d.ts +4 -0
- package/dist/types/router/reg-exp-router/index.d.ts +4 -0
- package/dist/types/router/reg-exp-router/router.d.ts +1 -1
- package/dist/types/router/reg-exp-router/trie.d.ts +1 -1
- package/dist/types/router/smart-router/index.d.ts +4 -0
- package/dist/types/router/smart-router/router.d.ts +1 -1
- package/dist/types/router/trie-router/index.d.ts +4 -0
- package/dist/types/router.d.ts +4 -0
- package/dist/types/types.d.ts +4 -0
- package/dist/types/utils/body.d.ts +61 -3
- package/dist/types/utils/buffer.d.ts +4 -0
- package/dist/types/utils/color.d.ts +4 -0
- package/dist/types/utils/concurrent.d.ts +4 -0
- package/dist/types/utils/cookie.d.ts +4 -0
- package/dist/types/utils/crypto.d.ts +4 -0
- package/dist/types/utils/encode.d.ts +4 -0
- package/dist/types/utils/filepath.d.ts +4 -0
- package/dist/types/utils/handler.d.ts +4 -0
- package/dist/types/utils/html.d.ts +4 -0
- package/dist/types/utils/http-status.d.ts +4 -0
- package/dist/types/utils/jwt/index.d.ts +4 -0
- package/dist/types/utils/jwt/jwt.d.ts +3 -3
- package/dist/types/utils/mime.d.ts +4 -0
- package/dist/types/utils/stream.d.ts +4 -0
- package/dist/types/utils/types.d.ts +4 -0
- package/dist/types/utils/url.d.ts +4 -0
- package/dist/types/validator/index.d.ts +4 -0
- package/dist/types/validator/validator.d.ts +1 -1
- package/dist/utils/body.js +34 -9
- package/dist/utils/jwt/index.js +1 -1
- package/dist/utils/jwt/jws.js +1 -2
- package/dist/utils/jwt/jwt.js +5 -5
- package/dist/utils/url.js +26 -2
- package/package.json +27 -6
- package/dist/cjs/adapter/aws-lambda/awslambda.d.js +0 -1
- package/dist/cjs/helper.js +0 -44
- package/dist/helper.js +0 -18
- /package/dist/{adapter/aws-lambda/awslambda.d.js → helper/conninfo/index.js} +0 -0
package/dist/cjs/jsx/base.js
CHANGED
|
@@ -25,7 +25,8 @@ __export(base_exports, {
|
|
|
25
25
|
isValidElement: () => isValidElement,
|
|
26
26
|
jsx: () => jsx,
|
|
27
27
|
jsxFn: () => jsxFn,
|
|
28
|
-
memo: () => memo
|
|
28
|
+
memo: () => memo,
|
|
29
|
+
reactAPICompatVersion: () => reactAPICompatVersion
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(base_exports);
|
|
31
32
|
var import_html = require("../helper/html");
|
|
@@ -290,6 +291,7 @@ const cloneElement = (element, props, ...children) => {
|
|
|
290
291
|
...children
|
|
291
292
|
);
|
|
292
293
|
};
|
|
294
|
+
const reactAPICompatVersion = "18.0.0-hono-jsx";
|
|
293
295
|
// Annotate the CommonJS export names for ESM import in node:
|
|
294
296
|
0 && (module.exports = {
|
|
295
297
|
Fragment,
|
|
@@ -299,5 +301,6 @@ const cloneElement = (element, props, ...children) => {
|
|
|
299
301
|
isValidElement,
|
|
300
302
|
jsx,
|
|
301
303
|
jsxFn,
|
|
302
|
-
memo
|
|
304
|
+
memo,
|
|
305
|
+
reactAPICompatVersion
|
|
303
306
|
});
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var client_exports = {};
|
|
20
|
+
__export(client_exports, {
|
|
21
|
+
createRoot: () => createRoot,
|
|
22
|
+
hydrateRoot: () => hydrateRoot
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(client_exports);
|
|
25
|
+
var import_hooks = require("../hooks");
|
|
26
|
+
var import_render = require("./render");
|
|
27
|
+
const createRoot = (element, options = {}) => {
|
|
28
|
+
let setJsxNode = void 0;
|
|
29
|
+
if (Object.keys(options).length > 0) {
|
|
30
|
+
console.warn("createRoot options are not supported yet");
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
render(jsxNode) {
|
|
34
|
+
if (setJsxNode === null) {
|
|
35
|
+
throw new Error("Cannot update an unmounted root");
|
|
36
|
+
}
|
|
37
|
+
if (setJsxNode) {
|
|
38
|
+
setJsxNode(jsxNode);
|
|
39
|
+
} else {
|
|
40
|
+
(0, import_render.renderNode)(
|
|
41
|
+
(0, import_render.buildNode)({
|
|
42
|
+
tag: () => {
|
|
43
|
+
const [_jsxNode, _setJsxNode] = (0, import_hooks.useState)(jsxNode);
|
|
44
|
+
setJsxNode = _setJsxNode;
|
|
45
|
+
return _jsxNode;
|
|
46
|
+
},
|
|
47
|
+
props: {}
|
|
48
|
+
}),
|
|
49
|
+
element
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
unmount() {
|
|
54
|
+
setJsxNode?.(null);
|
|
55
|
+
setJsxNode = null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
const hydrateRoot = (element, reactNode, options = {}) => {
|
|
60
|
+
const root = createRoot(element, options);
|
|
61
|
+
root.render(reactNode);
|
|
62
|
+
return root;
|
|
63
|
+
};
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
createRoot,
|
|
67
|
+
hydrateRoot
|
|
68
|
+
});
|
|
@@ -15,7 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
}
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
19
|
var dom_exports = {};
|
|
21
20
|
__export(dom_exports, {
|
|
@@ -45,6 +44,7 @@ __export(dom_exports, {
|
|
|
45
44
|
useEffect: () => import_hooks.useEffect,
|
|
46
45
|
useId: () => import_hooks.useId,
|
|
47
46
|
useImperativeHandle: () => import_hooks.useImperativeHandle,
|
|
47
|
+
useInsertionEffect: () => import_hooks.useInsertionEffect,
|
|
48
48
|
useLayoutEffect: () => import_hooks.useLayoutEffect,
|
|
49
49
|
useMemo: () => import_hooks.useMemo,
|
|
50
50
|
useReducer: () => import_hooks.useReducer,
|
|
@@ -52,7 +52,8 @@ __export(dom_exports, {
|
|
|
52
52
|
useState: () => import_hooks.useState,
|
|
53
53
|
useSyncExternalStore: () => import_hooks.useSyncExternalStore,
|
|
54
54
|
useTransition: () => import_hooks.useTransition,
|
|
55
|
-
useViewTransition: () => import_hooks.useViewTransition
|
|
55
|
+
useViewTransition: () => import_hooks.useViewTransition,
|
|
56
|
+
version: () => import_base.reactAPICompatVersion
|
|
56
57
|
});
|
|
57
58
|
module.exports = __toCommonJS(dom_exports);
|
|
58
59
|
var import_base = require("../base");
|
|
@@ -64,7 +65,6 @@ var import_context2 = require("./context");
|
|
|
64
65
|
var import_jsx_runtime = require("./jsx-runtime");
|
|
65
66
|
var import_render = require("./render");
|
|
66
67
|
var import_render2 = require("./render");
|
|
67
|
-
__reExport(dom_exports, require("../types"), module.exports);
|
|
68
68
|
const createElement = (tag, props, ...children) => {
|
|
69
69
|
const jsxProps = props ? { ...props } : {};
|
|
70
70
|
if (children.length) {
|
|
@@ -89,6 +89,7 @@ const cloneElement = (element, props, ...children) => {
|
|
|
89
89
|
);
|
|
90
90
|
};
|
|
91
91
|
var dom_default = {
|
|
92
|
+
version: import_base.reactAPICompatVersion,
|
|
92
93
|
useState: import_hooks.useState,
|
|
93
94
|
useEffect: import_hooks.useEffect,
|
|
94
95
|
useRef: import_hooks.useRef,
|
|
@@ -101,6 +102,7 @@ var dom_default = {
|
|
|
101
102
|
useViewTransition: import_hooks.useViewTransition,
|
|
102
103
|
useMemo: import_hooks.useMemo,
|
|
103
104
|
useLayoutEffect: import_hooks.useLayoutEffect,
|
|
105
|
+
useInsertionEffect: import_hooks.useInsertionEffect,
|
|
104
106
|
useReducer: import_hooks.useReducer,
|
|
105
107
|
useId: import_hooks.useId,
|
|
106
108
|
useDebugValue: import_hooks.useDebugValue,
|
|
@@ -148,6 +150,7 @@ var dom_default = {
|
|
|
148
150
|
useEffect,
|
|
149
151
|
useId,
|
|
150
152
|
useImperativeHandle,
|
|
153
|
+
useInsertionEffect,
|
|
151
154
|
useLayoutEffect,
|
|
152
155
|
useMemo,
|
|
153
156
|
useReducer,
|
|
@@ -155,5 +158,6 @@ var dom_default = {
|
|
|
155
158
|
useState,
|
|
156
159
|
useSyncExternalStore,
|
|
157
160
|
useTransition,
|
|
158
|
-
useViewTransition
|
|
161
|
+
useViewTransition,
|
|
162
|
+
version
|
|
159
163
|
});
|
|
@@ -23,30 +23,16 @@ __export(jsx_dev_runtime_exports, {
|
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(jsx_dev_runtime_exports);
|
|
25
25
|
var import_utils = require("../utils");
|
|
26
|
-
|
|
27
|
-
type: {
|
|
28
|
-
get() {
|
|
29
|
-
return this.tag;
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
ref: {
|
|
33
|
-
get() {
|
|
34
|
-
return this.props?.ref;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
26
|
+
var import_utils2 = require("./utils");
|
|
38
27
|
const jsxDEV = (tag, props, key) => {
|
|
39
28
|
if (typeof tag === "string") {
|
|
40
29
|
(0, import_utils.normalizeIntrinsicElementProps)(props);
|
|
41
30
|
}
|
|
42
|
-
return
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
},
|
|
48
|
-
JSXNodeCompatPrototype
|
|
49
|
-
);
|
|
31
|
+
return (0, import_utils2.newJSXNode)({
|
|
32
|
+
tag,
|
|
33
|
+
props,
|
|
34
|
+
key
|
|
35
|
+
});
|
|
50
36
|
};
|
|
51
37
|
const Fragment = (props) => jsxDEV("", props, void 0);
|
|
52
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -20,9 +20,11 @@ var render_exports = {};
|
|
|
20
20
|
__export(render_exports, {
|
|
21
21
|
build: () => build,
|
|
22
22
|
buildDataStack: () => buildDataStack,
|
|
23
|
+
buildNode: () => buildNode,
|
|
23
24
|
createPortal: () => createPortal,
|
|
24
25
|
flushSync: () => flushSync,
|
|
25
26
|
render: () => render,
|
|
27
|
+
renderNode: () => renderNode,
|
|
26
28
|
update: () => update
|
|
27
29
|
});
|
|
28
30
|
module.exports = __toCommonJS(render_exports);
|
|
@@ -32,6 +34,7 @@ var import_context = require("../context");
|
|
|
32
34
|
var import_hooks = require("../hooks");
|
|
33
35
|
var import_utils = require("../utils");
|
|
34
36
|
var import_context2 = require("./context");
|
|
37
|
+
var import_utils2 = require("./utils");
|
|
35
38
|
const HONO_PORTAL_ELEMENT = "_hp";
|
|
36
39
|
const eventAliasMap = {
|
|
37
40
|
Change: "Input",
|
|
@@ -53,6 +56,7 @@ const getEventSpec = (key) => {
|
|
|
53
56
|
}
|
|
54
57
|
return void 0;
|
|
55
58
|
};
|
|
59
|
+
const toAttributeName = (element, key) => element instanceof SVGElement && /[A-Z]/.test(key) && (key in element.style || key.match(/^(?:o|pai|str|u|ve)/)) ? key.replace(/([A-Z])/g, "-$1").toLowerCase() : key;
|
|
56
60
|
const applyProps = (container, attributes, oldAttributes) => {
|
|
57
61
|
attributes ||= {};
|
|
58
62
|
for (const [key, value] of Object.entries(attributes)) {
|
|
@@ -107,14 +111,15 @@ const applyProps = (container, attributes, oldAttributes) => {
|
|
|
107
111
|
;
|
|
108
112
|
container[key] = value;
|
|
109
113
|
}
|
|
114
|
+
const k = toAttributeName(container, key);
|
|
110
115
|
if (value === null || value === void 0 || value === false) {
|
|
111
|
-
container.removeAttribute(
|
|
116
|
+
container.removeAttribute(k);
|
|
112
117
|
} else if (value === true) {
|
|
113
|
-
container.setAttribute(
|
|
118
|
+
container.setAttribute(k, "");
|
|
114
119
|
} else if (typeof value === "string" || typeof value === "number") {
|
|
115
|
-
container.setAttribute(
|
|
120
|
+
container.setAttribute(k, value);
|
|
116
121
|
} else {
|
|
117
|
-
container.setAttribute(
|
|
122
|
+
container.setAttribute(k, value.toString());
|
|
118
123
|
}
|
|
119
124
|
}
|
|
120
125
|
}
|
|
@@ -132,7 +137,7 @@ const applyProps = (container, attributes, oldAttributes) => {
|
|
|
132
137
|
value.current = null;
|
|
133
138
|
}
|
|
134
139
|
} else {
|
|
135
|
-
container.removeAttribute(key);
|
|
140
|
+
container.removeAttribute(toAttributeName(container, key));
|
|
136
141
|
}
|
|
137
142
|
}
|
|
138
143
|
}
|
|
@@ -180,6 +185,8 @@ const getNextChildren = (node, container, nextChildren, childrenToRemove, callba
|
|
|
180
185
|
const findInsertBefore = (node) => {
|
|
181
186
|
if (!node) {
|
|
182
187
|
return null;
|
|
188
|
+
} else if (node.tag === HONO_PORTAL_ELEMENT) {
|
|
189
|
+
return findInsertBefore(node.nN);
|
|
183
190
|
} else if (node.e) {
|
|
184
191
|
return node.e;
|
|
185
192
|
}
|
|
@@ -241,7 +248,7 @@ const applyNodeObject = (node, container) => {
|
|
|
241
248
|
const callbacks = [];
|
|
242
249
|
getNextChildren(node, container, next, remove, callbacks);
|
|
243
250
|
const childNodes = container.childNodes;
|
|
244
|
-
let offset = findChildNodeIndex(childNodes, findInsertBefore(node.nN)) ?? findChildNodeIndex(childNodes, next.find((n) => n.e)?.e) ?? childNodes.length;
|
|
251
|
+
let offset = findChildNodeIndex(childNodes, findInsertBefore(node.nN)) ?? findChildNodeIndex(childNodes, next.find((n) => n.tag !== HONO_PORTAL_ELEMENT && n.e)?.e) ?? childNodes.length;
|
|
245
252
|
for (let i = 0, len = next.length; i < len; i++, offset++) {
|
|
246
253
|
const child = next[i];
|
|
247
254
|
let el;
|
|
@@ -256,11 +263,14 @@ const applyNodeObject = (node, container) => {
|
|
|
256
263
|
applyProps(el, child.props, child.pP);
|
|
257
264
|
applyNode(child, el);
|
|
258
265
|
}
|
|
259
|
-
if (
|
|
266
|
+
if (child.tag === HONO_PORTAL_ELEMENT) {
|
|
267
|
+
offset--;
|
|
268
|
+
} else if (childNodes[offset] !== el && childNodes[offset - 1] !== child.e) {
|
|
260
269
|
container.insertBefore(el, childNodes[offset] || null);
|
|
261
270
|
}
|
|
262
271
|
}
|
|
263
272
|
remove.forEach(removeNode);
|
|
273
|
+
callbacks.forEach(([, , , , cb]) => cb?.());
|
|
264
274
|
callbacks.forEach(([, cb]) => cb?.());
|
|
265
275
|
requestAnimationFrame(() => {
|
|
266
276
|
callbacks.forEach(([, , , cb]) => cb?.());
|
|
@@ -276,7 +286,7 @@ const build = (context, node, topLevelErrorHandlerNode, children) => {
|
|
|
276
286
|
}
|
|
277
287
|
const oldVChildren = node.vC ? [...node.vC] : [];
|
|
278
288
|
const vChildren = [];
|
|
279
|
-
|
|
289
|
+
node.vR = [];
|
|
280
290
|
let prevNode;
|
|
281
291
|
try {
|
|
282
292
|
children.flat().forEach((c) => {
|
|
@@ -290,24 +300,23 @@ const build = (context, node, topLevelErrorHandlerNode, children) => {
|
|
|
290
300
|
child[import_constants.DOM_STASH][2] = import_context.globalContexts.map((c2) => [c2, c2.values.at(-1)]);
|
|
291
301
|
}
|
|
292
302
|
let oldChild;
|
|
293
|
-
const i = oldVChildren.findIndex(
|
|
303
|
+
const i = oldVChildren.findIndex(
|
|
304
|
+
isNodeString(child) ? (c2) => isNodeString(c2) : child.key !== void 0 ? (c2) => c2.key === child.key : (c2) => c2.tag === child.tag
|
|
305
|
+
);
|
|
294
306
|
if (i !== -1) {
|
|
295
307
|
oldChild = oldVChildren[i];
|
|
296
308
|
oldVChildren.splice(i, 1);
|
|
297
309
|
}
|
|
298
310
|
if (oldChild) {
|
|
299
311
|
if (isNodeString(child)) {
|
|
300
|
-
if (
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
oldChild.t = child.t;
|
|
305
|
-
oldChild.d = true;
|
|
306
|
-
}
|
|
307
|
-
child = oldChild;
|
|
312
|
+
if (oldChild.t !== child.t) {
|
|
313
|
+
;
|
|
314
|
+
oldChild.t = child.t;
|
|
315
|
+
oldChild.d = true;
|
|
308
316
|
}
|
|
317
|
+
child = oldChild;
|
|
309
318
|
} else if (oldChild.tag !== child.tag) {
|
|
310
|
-
|
|
319
|
+
node.vR.push(oldChild);
|
|
311
320
|
} else {
|
|
312
321
|
oldChild.pP = oldChild.props;
|
|
313
322
|
oldChild.props = child.props;
|
|
@@ -329,8 +338,7 @@ const build = (context, node, topLevelErrorHandlerNode, children) => {
|
|
|
329
338
|
}
|
|
330
339
|
});
|
|
331
340
|
node.vC = vChildren;
|
|
332
|
-
|
|
333
|
-
node.vR = vChildrenToRemove;
|
|
341
|
+
node.vR.push(...oldVChildren);
|
|
334
342
|
} catch (e) {
|
|
335
343
|
if (errorHandler) {
|
|
336
344
|
const fallbackUpdateFn = () => update([0, false, context[2]], topLevelErrorHandlerNode);
|
|
@@ -365,10 +373,14 @@ const buildNode = (node) => {
|
|
|
365
373
|
} else if (typeof node === "string" || typeof node === "number") {
|
|
366
374
|
return { t: node.toString(), d: true };
|
|
367
375
|
} else {
|
|
376
|
+
if ("vR" in node) {
|
|
377
|
+
node = (0, import_utils2.newJSXNode)({
|
|
378
|
+
tag: node.tag,
|
|
379
|
+
props: node.props,
|
|
380
|
+
key: node.key
|
|
381
|
+
});
|
|
382
|
+
}
|
|
368
383
|
if (typeof node.tag === "function") {
|
|
369
|
-
if (node[import_constants.DOM_STASH]) {
|
|
370
|
-
node = { ...node };
|
|
371
|
-
}
|
|
372
384
|
;
|
|
373
385
|
node[import_constants.DOM_STASH] = [0, []];
|
|
374
386
|
} else {
|
|
@@ -444,8 +456,7 @@ const update = async (context, node) => {
|
|
|
444
456
|
}
|
|
445
457
|
return promise;
|
|
446
458
|
};
|
|
447
|
-
const
|
|
448
|
-
const node = buildNode({ tag: "", props: { children: jsxNode } });
|
|
459
|
+
const renderNode = (node, container) => {
|
|
449
460
|
const context = [];
|
|
450
461
|
context[4] = true;
|
|
451
462
|
build(context, node, void 0);
|
|
@@ -455,6 +466,9 @@ const render = (jsxNode, container) => {
|
|
|
455
466
|
replaceContainer(node, fragment, container);
|
|
456
467
|
container.replaceChildren(fragment);
|
|
457
468
|
};
|
|
469
|
+
const render = (jsxNode, container) => {
|
|
470
|
+
renderNode(buildNode({ tag: "", props: { children: jsxNode } }), container);
|
|
471
|
+
};
|
|
458
472
|
const flushSync = (callback) => {
|
|
459
473
|
const set = /* @__PURE__ */ new Set();
|
|
460
474
|
currentUpdateSets.push(set);
|
|
@@ -480,8 +494,10 @@ const createPortal = (children, container, key) => ({
|
|
|
480
494
|
0 && (module.exports = {
|
|
481
495
|
build,
|
|
482
496
|
buildDataStack,
|
|
497
|
+
buildNode,
|
|
483
498
|
createPortal,
|
|
484
499
|
flushSync,
|
|
485
500
|
render,
|
|
501
|
+
renderNode,
|
|
486
502
|
update
|
|
487
503
|
});
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var utils_exports = {};
|
|
20
20
|
__export(utils_exports, {
|
|
21
|
+
newJSXNode: () => newJSXNode,
|
|
21
22
|
setInternalTagFlag: () => setInternalTagFlag
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(utils_exports);
|
|
@@ -27,7 +28,21 @@ const setInternalTagFlag = (fn) => {
|
|
|
27
28
|
fn[import_constants.DOM_INTERNAL_TAG] = true;
|
|
28
29
|
return fn;
|
|
29
30
|
};
|
|
31
|
+
const JSXNodeCompatPrototype = {
|
|
32
|
+
type: {
|
|
33
|
+
get() {
|
|
34
|
+
return this.tag;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
ref: {
|
|
38
|
+
get() {
|
|
39
|
+
return this.props?.ref;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const newJSXNode = (obj) => Object.defineProperties(obj, JSXNodeCompatPrototype);
|
|
30
44
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
45
|
0 && (module.exports = {
|
|
46
|
+
newJSXNode,
|
|
32
47
|
setInternalTagFlag
|
|
33
48
|
});
|
|
@@ -30,6 +30,7 @@ __export(hooks_exports, {
|
|
|
30
30
|
useEffect: () => useEffect,
|
|
31
31
|
useId: () => useId,
|
|
32
32
|
useImperativeHandle: () => useImperativeHandle,
|
|
33
|
+
useInsertionEffect: () => useInsertionEffect,
|
|
33
34
|
useLayoutEffect: () => useLayoutEffect,
|
|
34
35
|
useMemo: () => useMemo,
|
|
35
36
|
useReducer: () => useReducer,
|
|
@@ -216,13 +217,14 @@ const useEffectCommon = (index, effect, deps) => {
|
|
|
216
217
|
data[index] = void 0;
|
|
217
218
|
data[2] = effect();
|
|
218
219
|
};
|
|
219
|
-
const data = [deps, void 0, void 0, void 0];
|
|
220
|
+
const data = [deps, void 0, void 0, void 0, void 0];
|
|
220
221
|
data[index] = runner;
|
|
221
222
|
effectDepsArray[hookIndex] = data;
|
|
222
223
|
}
|
|
223
224
|
};
|
|
224
225
|
const useEffect = (effect, deps) => useEffectCommon(3, effect, deps);
|
|
225
226
|
const useLayoutEffect = (effect, deps) => useEffectCommon(1, effect, deps);
|
|
227
|
+
const useInsertionEffect = (effect, deps) => useEffectCommon(4, effect, deps);
|
|
226
228
|
const useCallback = (callback, deps) => {
|
|
227
229
|
const buildData = import_render.buildDataStack.at(-1);
|
|
228
230
|
if (!buildData) {
|
|
@@ -356,6 +358,7 @@ const useSyncExternalStore = (subscribe, getSnapshot, getServerSnapshot) => {
|
|
|
356
358
|
useEffect,
|
|
357
359
|
useId,
|
|
358
360
|
useImperativeHandle,
|
|
361
|
+
useInsertionEffect,
|
|
359
362
|
useLayoutEffect,
|
|
360
363
|
useMemo,
|
|
361
364
|
useReducer,
|
package/dist/cjs/jsx/index.js
CHANGED
|
@@ -15,7 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
}
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
19
|
var jsx_exports = {};
|
|
21
20
|
__export(jsx_exports, {
|
|
@@ -42,6 +41,7 @@ __export(jsx_exports, {
|
|
|
42
41
|
useEffect: () => import_hooks.useEffect,
|
|
43
42
|
useId: () => import_hooks.useId,
|
|
44
43
|
useImperativeHandle: () => import_hooks.useImperativeHandle,
|
|
44
|
+
useInsertionEffect: () => import_hooks.useInsertionEffect,
|
|
45
45
|
useLayoutEffect: () => import_hooks.useLayoutEffect,
|
|
46
46
|
useMemo: () => import_hooks.useMemo,
|
|
47
47
|
useReducer: () => import_hooks.useReducer,
|
|
@@ -49,7 +49,8 @@ __export(jsx_exports, {
|
|
|
49
49
|
useState: () => import_hooks.useState,
|
|
50
50
|
useSyncExternalStore: () => import_hooks.useSyncExternalStore,
|
|
51
51
|
useTransition: () => import_hooks.useTransition,
|
|
52
|
-
useViewTransition: () => import_hooks.useViewTransition
|
|
52
|
+
useViewTransition: () => import_hooks.useViewTransition,
|
|
53
|
+
version: () => import_base.reactAPICompatVersion
|
|
53
54
|
});
|
|
54
55
|
module.exports = __toCommonJS(jsx_exports);
|
|
55
56
|
var import_base = require("./base");
|
|
@@ -58,8 +59,8 @@ var import_components = require("./components");
|
|
|
58
59
|
var import_context = require("./context");
|
|
59
60
|
var import_hooks = require("./hooks");
|
|
60
61
|
var import_streaming = require("./streaming");
|
|
61
|
-
__reExport(jsx_exports, require("./types"), module.exports);
|
|
62
62
|
var jsx_default = {
|
|
63
|
+
version: import_base.reactAPICompatVersion,
|
|
63
64
|
memo: import_base.memo,
|
|
64
65
|
Fragment: import_base.Fragment,
|
|
65
66
|
isValidElement: import_base.isValidElement,
|
|
@@ -83,6 +84,7 @@ var jsx_default = {
|
|
|
83
84
|
useViewTransition: import_hooks.useViewTransition,
|
|
84
85
|
useMemo: import_hooks.useMemo,
|
|
85
86
|
useLayoutEffect: import_hooks.useLayoutEffect,
|
|
87
|
+
useInsertionEffect: import_hooks.useInsertionEffect,
|
|
86
88
|
createRef: import_hooks.createRef,
|
|
87
89
|
forwardRef: import_hooks.forwardRef,
|
|
88
90
|
useImperativeHandle: import_hooks.useImperativeHandle,
|
|
@@ -114,6 +116,7 @@ var jsx_default = {
|
|
|
114
116
|
useEffect,
|
|
115
117
|
useId,
|
|
116
118
|
useImperativeHandle,
|
|
119
|
+
useInsertionEffect,
|
|
117
120
|
useLayoutEffect,
|
|
118
121
|
useMemo,
|
|
119
122
|
useReducer,
|
|
@@ -121,5 +124,6 @@ var jsx_default = {
|
|
|
121
124
|
useState,
|
|
122
125
|
useSyncExternalStore,
|
|
123
126
|
useTransition,
|
|
124
|
-
useViewTransition
|
|
127
|
+
useViewTransition,
|
|
128
|
+
version
|
|
125
129
|
});
|
|
@@ -18,90 +18,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var jwt_exports = {};
|
|
20
20
|
__export(jwt_exports, {
|
|
21
|
-
decode: () => decode,
|
|
22
|
-
jwt: () => jwt,
|
|
23
|
-
sign: () => sign,
|
|
24
|
-
verify: () => verify
|
|
21
|
+
decode: () => import_jwt.decode,
|
|
22
|
+
jwt: () => import_jwt.jwt,
|
|
23
|
+
sign: () => import_jwt.sign,
|
|
24
|
+
verify: () => import_jwt.verify
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(jwt_exports);
|
|
27
|
-
var
|
|
28
|
-
var import_http_exception = require("../../http-exception");
|
|
29
|
-
var import_jwt = require("../../utils/jwt");
|
|
30
|
-
var import_context = require("../../context");
|
|
31
|
-
const jwt = (options) => {
|
|
32
|
-
if (!options || !options.secret) {
|
|
33
|
-
throw new Error('JWT auth middleware requires options for "secret');
|
|
34
|
-
}
|
|
35
|
-
if (!crypto.subtle || !crypto.subtle.importKey) {
|
|
36
|
-
throw new Error("`crypto.subtle.importKey` is undefined. JWT auth middleware requires it.");
|
|
37
|
-
}
|
|
38
|
-
return async function jwt2(ctx, next) {
|
|
39
|
-
const credentials = ctx.req.raw.headers.get("Authorization");
|
|
40
|
-
let token;
|
|
41
|
-
if (credentials) {
|
|
42
|
-
const parts = credentials.split(/\s+/);
|
|
43
|
-
if (parts.length !== 2) {
|
|
44
|
-
const errDescription = "invalid credentials structure";
|
|
45
|
-
throw new import_http_exception.HTTPException(401, {
|
|
46
|
-
message: errDescription,
|
|
47
|
-
res: unauthorizedResponse({
|
|
48
|
-
ctx,
|
|
49
|
-
error: "invalid_request",
|
|
50
|
-
errDescription
|
|
51
|
-
})
|
|
52
|
-
});
|
|
53
|
-
} else {
|
|
54
|
-
token = parts[1];
|
|
55
|
-
}
|
|
56
|
-
} else if (options.cookie) {
|
|
57
|
-
token = (0, import_cookie.getCookie)(ctx)[options.cookie];
|
|
58
|
-
}
|
|
59
|
-
if (!token) {
|
|
60
|
-
const errDescription = "no authorization included in request";
|
|
61
|
-
throw new import_http_exception.HTTPException(401, {
|
|
62
|
-
message: errDescription,
|
|
63
|
-
res: unauthorizedResponse({
|
|
64
|
-
ctx,
|
|
65
|
-
error: "invalid_request",
|
|
66
|
-
errDescription
|
|
67
|
-
})
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
let payload;
|
|
71
|
-
let cause;
|
|
72
|
-
try {
|
|
73
|
-
payload = await import_jwt.Jwt.verify(token, options.secret, options.alg);
|
|
74
|
-
} catch (e) {
|
|
75
|
-
cause = e;
|
|
76
|
-
}
|
|
77
|
-
if (!payload) {
|
|
78
|
-
throw new import_http_exception.HTTPException(401, {
|
|
79
|
-
message: "Unauthorized",
|
|
80
|
-
res: unauthorizedResponse({
|
|
81
|
-
ctx,
|
|
82
|
-
error: "invalid_token",
|
|
83
|
-
statusText: "Unauthorized",
|
|
84
|
-
errDescription: "token verification failure"
|
|
85
|
-
}),
|
|
86
|
-
cause
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
ctx.set("jwtPayload", payload);
|
|
90
|
-
await next();
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
function unauthorizedResponse(opts) {
|
|
94
|
-
return new Response("Unauthorized", {
|
|
95
|
-
status: 401,
|
|
96
|
-
statusText: opts.statusText,
|
|
97
|
-
headers: {
|
|
98
|
-
"WWW-Authenticate": `Bearer realm="${opts.ctx.req.url}",error="${opts.error}",error_description="${opts.errDescription}"`
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
const verify = import_jwt.Jwt.verify;
|
|
103
|
-
const decode = import_jwt.Jwt.decode;
|
|
104
|
-
const sign = import_jwt.Jwt.sign;
|
|
27
|
+
var import_jwt = require("./jwt");
|
|
105
28
|
// Annotate the CommonJS export names for ESM import in node:
|
|
106
29
|
0 && (module.exports = {
|
|
107
30
|
decode,
|