hono 4.11.7 → 4.12.7
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/dist/adapter/aws-lambda/conninfo.js +24 -0
- package/dist/adapter/aws-lambda/handler.js +2 -2
- package/dist/adapter/aws-lambda/index.js +2 -0
- package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
- package/dist/adapter/cloudflare-pages/index.js +2 -0
- package/dist/adapter/lambda-edge/handler.js +2 -1
- package/dist/adapter/netlify/conninfo.js +9 -0
- package/dist/adapter/netlify/mod.js +2 -0
- package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
- package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
- package/dist/cjs/adapter/aws-lambda/index.js +3 -1
- package/dist/cjs/adapter/aws-lambda/types.js +0 -1
- package/dist/cjs/adapter/bun/conninfo.js +0 -1
- package/dist/cjs/adapter/bun/index.js +0 -1
- package/dist/cjs/adapter/bun/serve-static.js +0 -1
- package/dist/cjs/adapter/bun/server.js +0 -1
- package/dist/cjs/adapter/bun/ssg.js +0 -1
- package/dist/cjs/adapter/bun/websocket.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/index.js +3 -1
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
- package/dist/cjs/adapter/deno/conninfo.js +0 -1
- package/dist/cjs/adapter/deno/deno.d.js +0 -1
- package/dist/cjs/adapter/deno/index.js +0 -1
- package/dist/cjs/adapter/deno/serve-static.js +0 -1
- package/dist/cjs/adapter/deno/ssg.js +0 -1
- package/dist/cjs/adapter/deno/websocket.js +0 -1
- package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
- package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
- package/dist/cjs/adapter/lambda-edge/index.js +0 -1
- package/dist/cjs/adapter/netlify/conninfo.js +31 -0
- package/dist/cjs/adapter/netlify/handler.js +0 -1
- package/dist/cjs/adapter/netlify/index.js +0 -1
- package/dist/cjs/adapter/netlify/mod.js +3 -1
- package/dist/cjs/adapter/service-worker/handler.js +0 -1
- package/dist/cjs/adapter/service-worker/index.js +0 -1
- package/dist/cjs/adapter/service-worker/types.js +0 -1
- package/dist/cjs/adapter/vercel/conninfo.js +0 -1
- package/dist/cjs/adapter/vercel/handler.js +0 -1
- package/dist/cjs/adapter/vercel/index.js +0 -1
- package/dist/cjs/client/client.js +8 -3
- package/dist/cjs/client/fetch-result-please.js +0 -1
- package/dist/cjs/client/index.js +0 -1
- package/dist/cjs/client/types.js +0 -1
- package/dist/cjs/client/utils.js +0 -1
- package/dist/cjs/compose.js +0 -1
- package/dist/cjs/context.js +6 -6
- package/dist/cjs/helper/accepts/accepts.js +0 -1
- package/dist/cjs/helper/accepts/index.js +0 -1
- package/dist/cjs/helper/adapter/index.js +0 -1
- package/dist/cjs/helper/conninfo/index.js +0 -1
- package/dist/cjs/helper/conninfo/types.js +0 -1
- package/dist/cjs/helper/cookie/index.js +0 -1
- package/dist/cjs/helper/css/common.js +0 -1
- package/dist/cjs/helper/css/index.js +0 -1
- package/dist/cjs/helper/dev/index.js +0 -1
- package/dist/cjs/helper/factory/index.js +0 -1
- package/dist/cjs/helper/html/index.js +0 -1
- package/dist/cjs/helper/proxy/index.js +0 -1
- package/dist/cjs/helper/route/index.js +0 -1
- package/dist/cjs/helper/ssg/index.js +5 -1
- package/dist/cjs/helper/ssg/middleware.js +0 -1
- package/dist/cjs/helper/ssg/plugins.js +70 -0
- package/dist/cjs/helper/ssg/ssg.js +2 -12
- package/dist/cjs/helper/ssg/utils.js +0 -1
- package/dist/cjs/helper/streaming/index.js +0 -1
- package/dist/cjs/helper/streaming/sse.js +5 -1
- package/dist/cjs/helper/streaming/stream.js +0 -1
- package/dist/cjs/helper/streaming/text.js +0 -1
- package/dist/cjs/helper/streaming/utils.js +0 -1
- package/dist/cjs/helper/testing/index.js +0 -1
- package/dist/cjs/helper/websocket/index.js +0 -1
- package/dist/cjs/hono-base.js +0 -1
- package/dist/cjs/hono.js +0 -1
- package/dist/cjs/http-exception.js +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/jsx/base.js +0 -1
- package/dist/cjs/jsx/children.js +0 -1
- package/dist/cjs/jsx/components.js +0 -1
- package/dist/cjs/jsx/constants.js +0 -1
- package/dist/cjs/jsx/context.js +4 -3
- package/dist/cjs/jsx/dom/client.js +0 -1
- package/dist/cjs/jsx/dom/components.js +0 -1
- package/dist/cjs/jsx/dom/context.js +0 -1
- package/dist/cjs/jsx/dom/css.js +0 -1
- package/dist/cjs/jsx/dom/hooks/index.js +0 -1
- package/dist/cjs/jsx/dom/index.js +0 -1
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/dom/render.js +7 -10
- package/dist/cjs/jsx/dom/server.js +0 -1
- package/dist/cjs/jsx/dom/utils.js +0 -1
- package/dist/cjs/jsx/hooks/index.js +0 -1
- package/dist/cjs/jsx/index.js +0 -1
- package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
- package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
- package/dist/cjs/jsx/intrinsic-elements.js +0 -1
- package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/streaming.js +13 -4
- package/dist/cjs/jsx/types.js +0 -1
- package/dist/cjs/jsx/utils.js +0 -1
- package/dist/cjs/middleware/basic-auth/index.js +6 -1
- package/dist/cjs/middleware/bearer-auth/index.js +1 -2
- package/dist/cjs/middleware/body-limit/index.js +0 -1
- package/dist/cjs/middleware/cache/index.js +0 -1
- package/dist/cjs/middleware/combine/index.js +0 -1
- package/dist/cjs/middleware/compress/index.js +0 -1
- package/dist/cjs/middleware/context-storage/index.js +0 -1
- package/dist/cjs/middleware/cors/index.js +0 -1
- package/dist/cjs/middleware/csrf/index.js +0 -1
- package/dist/cjs/middleware/etag/digest.js +0 -1
- package/dist/cjs/middleware/etag/index.js +0 -1
- package/dist/cjs/middleware/ip-restriction/index.js +0 -1
- package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
- package/dist/cjs/middleware/jwk/index.js +0 -1
- package/dist/cjs/middleware/jwk/jwk.js +0 -1
- package/dist/cjs/middleware/jwt/index.js +0 -1
- package/dist/cjs/middleware/jwt/jwt.js +0 -1
- package/dist/cjs/middleware/language/index.js +0 -1
- package/dist/cjs/middleware/language/language.js +13 -3
- package/dist/cjs/middleware/logger/index.js +0 -1
- package/dist/cjs/middleware/method-override/index.js +0 -1
- package/dist/cjs/middleware/powered-by/index.js +0 -1
- package/dist/cjs/middleware/pretty-json/index.js +0 -1
- package/dist/cjs/middleware/request-id/index.js +0 -1
- package/dist/cjs/middleware/request-id/request-id.js +0 -1
- package/dist/cjs/middleware/secure-headers/index.js +0 -1
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
- package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
- package/dist/cjs/middleware/serve-static/index.js +2 -2
- package/dist/cjs/middleware/serve-static/path.js +0 -1
- package/dist/cjs/middleware/timeout/index.js +0 -1
- package/dist/cjs/middleware/timing/index.js +0 -1
- package/dist/cjs/middleware/timing/timing.js +0 -1
- package/dist/cjs/middleware/trailing-slash/index.js +18 -5
- package/dist/cjs/preset/quick.js +0 -1
- package/dist/cjs/preset/tiny.js +0 -1
- package/dist/cjs/request/constants.js +0 -1
- package/dist/cjs/request.js +0 -1
- package/dist/cjs/router/linear-router/index.js +0 -1
- package/dist/cjs/router/linear-router/router.js +0 -1
- package/dist/cjs/router/pattern-router/index.js +0 -1
- package/dist/cjs/router/pattern-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/index.js +0 -1
- package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
- package/dist/cjs/router/reg-exp-router/node.js +0 -1
- package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
- package/dist/cjs/router/reg-exp-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/trie.js +0 -1
- package/dist/cjs/router/smart-router/index.js +0 -1
- package/dist/cjs/router/smart-router/router.js +0 -1
- package/dist/cjs/router/trie-router/index.js +0 -1
- package/dist/cjs/router/trie-router/node.js +33 -17
- package/dist/cjs/router/trie-router/router.js +0 -1
- package/dist/cjs/router.js +0 -1
- package/dist/cjs/types.js +0 -1
- package/dist/cjs/utils/accept.js +188 -29
- package/dist/cjs/utils/basic-auth.js +0 -1
- package/dist/cjs/utils/body.js +3 -1
- package/dist/cjs/utils/buffer.js +29 -3
- package/dist/cjs/utils/color.js +0 -1
- package/dist/cjs/utils/compress.js +0 -1
- package/dist/cjs/utils/concurrent.js +0 -1
- package/dist/cjs/utils/constants.js +0 -1
- package/dist/cjs/utils/cookie.js +5 -1
- package/dist/cjs/utils/crypto.js +0 -1
- package/dist/cjs/utils/encode.js +0 -1
- package/dist/cjs/utils/filepath.js +0 -1
- package/dist/cjs/utils/handler.js +0 -1
- package/dist/cjs/utils/headers.js +0 -1
- package/dist/cjs/utils/html.js +0 -1
- package/dist/cjs/utils/http-status.js +0 -1
- package/dist/cjs/utils/ipaddr.js +0 -1
- package/dist/cjs/utils/jwt/index.js +0 -1
- package/dist/cjs/utils/jwt/jwa.js +0 -1
- package/dist/cjs/utils/jwt/jws.js +0 -1
- package/dist/cjs/utils/jwt/jwt.js +17 -14
- package/dist/cjs/utils/jwt/types.js +0 -1
- package/dist/cjs/utils/jwt/utf8.js +0 -1
- package/dist/cjs/utils/mime.js +0 -1
- package/dist/cjs/utils/stream.js +0 -1
- package/dist/cjs/utils/types.js +0 -1
- package/dist/cjs/utils/url.js +8 -5
- package/dist/cjs/validator/index.js +0 -1
- package/dist/cjs/validator/utils.js +0 -1
- package/dist/cjs/validator/validator.js +2 -3
- package/dist/client/client.js +8 -2
- package/dist/context.js +6 -5
- package/dist/helper/ssg/index.js +3 -0
- package/dist/helper/ssg/plugins.js +47 -0
- package/dist/helper/ssg/ssg.js +2 -10
- package/dist/helper/streaming/sse.js +5 -0
- package/dist/jsx/context.js +4 -2
- package/dist/jsx/dom/intrinsic-element/components.js +47 -10
- package/dist/jsx/dom/render.js +7 -9
- package/dist/jsx/intrinsic-element/common.js +10 -1
- package/dist/jsx/intrinsic-element/components.js +24 -12
- package/dist/jsx/streaming.js +13 -3
- package/dist/middleware/basic-auth/index.js +6 -0
- package/dist/middleware/bearer-auth/index.js +1 -1
- package/dist/middleware/jsx-renderer/index.js +1 -0
- package/dist/middleware/language/language.js +13 -2
- package/dist/middleware/serve-static/index.js +2 -1
- package/dist/middleware/trailing-slash/index.js +18 -4
- package/dist/router/trie-router/node.js +33 -16
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
- package/dist/types/adapter/aws-lambda/handler.d.ts +2 -2
- package/dist/types/adapter/aws-lambda/index.d.ts +1 -0
- package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
- package/dist/types/adapter/cloudflare-pages/index.d.ts +1 -0
- package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
- package/dist/types/adapter/netlify/mod.d.ts +1 -0
- package/dist/types/client/index.d.ts +1 -1
- package/dist/types/client/types.d.ts +43 -2
- package/dist/types/context.d.ts +4 -0
- package/dist/types/helper/ssg/index.d.ts +1 -0
- package/dist/types/helper/ssg/plugins.d.ts +27 -0
- package/dist/types/helper/ssg/ssg.d.ts +0 -8
- package/dist/types/hono-base.d.ts +1 -1
- package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
- package/dist/types/jsx/types.d.ts +1 -1
- package/dist/types/middleware/basic-auth/index.d.ts +19 -0
- package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
- package/dist/types/middleware/jwt/index.d.ts +1 -1
- package/dist/types/middleware/jwt/jwt.d.ts +1 -1
- package/dist/types/middleware/trailing-slash/index.d.ts +43 -2
- package/dist/types/request.d.ts +1 -1
- package/dist/types/types.d.ts +18 -18
- package/dist/types/utils/accept.d.ts +0 -5
- package/dist/types/utils/buffer.d.ts +10 -1
- package/dist/types/utils/url.d.ts +10 -0
- package/dist/utils/accept.js +188 -28
- package/dist/utils/body.js +3 -0
- package/dist/utils/buffer.js +29 -2
- package/dist/utils/cookie.js +5 -0
- package/dist/utils/jwt/jwt.js +17 -13
- package/dist/utils/url.js +6 -3
- package/dist/validator/validator.js +2 -2
- package/package.json +5 -4
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -20,20 +19,25 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
19
|
var ssg_exports = {};
|
|
21
20
|
__export(ssg_exports, {
|
|
22
21
|
X_HONO_DISABLE_SSG_HEADER_KEY: () => import_middleware.X_HONO_DISABLE_SSG_HEADER_KEY,
|
|
22
|
+
defaultPlugin: () => import_plugins.defaultPlugin,
|
|
23
23
|
disableSSG: () => import_middleware.disableSSG,
|
|
24
24
|
isSSGContext: () => import_middleware.isSSGContext,
|
|
25
25
|
onlySSG: () => import_middleware.onlySSG,
|
|
26
|
+
redirectPlugin: () => import_plugins.redirectPlugin,
|
|
26
27
|
ssgParams: () => import_middleware.ssgParams
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(ssg_exports);
|
|
29
30
|
__reExport(ssg_exports, require("./ssg"), module.exports);
|
|
30
31
|
var import_middleware = require("./middleware");
|
|
32
|
+
var import_plugins = require("./plugins");
|
|
31
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
34
|
0 && (module.exports = {
|
|
33
35
|
X_HONO_DISABLE_SSG_HEADER_KEY,
|
|
36
|
+
defaultPlugin,
|
|
34
37
|
disableSSG,
|
|
35
38
|
isSSGContext,
|
|
36
39
|
onlySSG,
|
|
40
|
+
redirectPlugin,
|
|
37
41
|
ssgParams,
|
|
38
42
|
...require("./ssg")
|
|
39
43
|
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var plugins_exports = {};
|
|
19
|
+
__export(plugins_exports, {
|
|
20
|
+
defaultPlugin: () => defaultPlugin,
|
|
21
|
+
redirectPlugin: () => redirectPlugin
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(plugins_exports);
|
|
24
|
+
var import_html = require("../html");
|
|
25
|
+
const defaultPlugin = () => {
|
|
26
|
+
return {
|
|
27
|
+
afterResponseHook: (res) => {
|
|
28
|
+
if (res.status !== 200) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return res;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const REDIRECT_STATUS_CODES = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
|
|
36
|
+
const generateRedirectHtml = (location) => {
|
|
37
|
+
const content = import_html.html`<!DOCTYPE html>
|
|
38
|
+
<title>Redirecting to: ${location}</title>
|
|
39
|
+
<meta http-equiv="refresh" content="0;url=${location}" />
|
|
40
|
+
<meta name="robots" content="noindex" />
|
|
41
|
+
<link rel="canonical" href="${location}" />
|
|
42
|
+
<body>
|
|
43
|
+
<a href="${location}">Redirecting to <code>${location}</code></a>
|
|
44
|
+
</body>
|
|
45
|
+
`;
|
|
46
|
+
return content.toString().replace(/\n/g, "");
|
|
47
|
+
};
|
|
48
|
+
const redirectPlugin = () => {
|
|
49
|
+
return {
|
|
50
|
+
afterResponseHook: (res) => {
|
|
51
|
+
if (REDIRECT_STATUS_CODES.has(res.status)) {
|
|
52
|
+
const location = res.headers.get("Location");
|
|
53
|
+
if (!location) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const htmlBody = generateRedirectHtml(location);
|
|
57
|
+
return new Response(htmlBody, {
|
|
58
|
+
status: 200,
|
|
59
|
+
headers: { "Content-Type": "text/html; charset=utf-8" }
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return res;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
defaultPlugin,
|
|
69
|
+
redirectPlugin
|
|
70
|
+
});
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -23,7 +22,6 @@ __export(ssg_exports, {
|
|
|
23
22
|
combineAfterResponseHooks: () => combineAfterResponseHooks,
|
|
24
23
|
combineBeforeRequestHooks: () => combineBeforeRequestHooks,
|
|
25
24
|
defaultExtensionMap: () => defaultExtensionMap,
|
|
26
|
-
defaultPlugin: () => defaultPlugin,
|
|
27
25
|
fetchRoutesContent: () => fetchRoutesContent,
|
|
28
26
|
saveContentToFile: () => saveContentToFile,
|
|
29
27
|
toSSG: () => toSSG
|
|
@@ -33,6 +31,7 @@ var import_utils = require("../../client/utils");
|
|
|
33
31
|
var import_concurrent = require("../../utils/concurrent");
|
|
34
32
|
var import_mime = require("../../utils/mime");
|
|
35
33
|
var import_middleware = require("./middleware");
|
|
34
|
+
var import_plugins = require("./plugins");
|
|
36
35
|
var import_utils2 = require("./utils");
|
|
37
36
|
const DEFAULT_CONCURRENCY = 2;
|
|
38
37
|
const DEFAULT_CONTENT_TYPE = "text/plain";
|
|
@@ -214,19 +213,11 @@ const saveContentToFile = async (data, fsModule, outDir, extensionMap) => {
|
|
|
214
213
|
}
|
|
215
214
|
return filePath;
|
|
216
215
|
};
|
|
217
|
-
const defaultPlugin = {
|
|
218
|
-
afterResponseHook: (res) => {
|
|
219
|
-
if (res.status !== 200) {
|
|
220
|
-
return false;
|
|
221
|
-
}
|
|
222
|
-
return res;
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
216
|
const toSSG = async (app, fs, options) => {
|
|
226
217
|
let result;
|
|
227
218
|
const getInfoPromises = [];
|
|
228
219
|
const savePromises = [];
|
|
229
|
-
const plugins = options?.plugins || [defaultPlugin];
|
|
220
|
+
const plugins = options?.plugins || [(0, import_plugins.defaultPlugin)()];
|
|
230
221
|
const beforeRequestHooks = [];
|
|
231
222
|
const afterResponseHooks = [];
|
|
232
223
|
const afterGenerateHooks = [];
|
|
@@ -319,7 +310,6 @@ const toSSG = async (app, fs, options) => {
|
|
|
319
310
|
combineAfterResponseHooks,
|
|
320
311
|
combineBeforeRequestHooks,
|
|
321
312
|
defaultExtensionMap,
|
|
322
|
-
defaultPlugin,
|
|
323
313
|
fetchRoutesContent,
|
|
324
314
|
saveContentToFile,
|
|
325
315
|
toSSG
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -34,6 +33,11 @@ class SSEStreamingApi extends import_stream.StreamingApi {
|
|
|
34
33
|
const dataLines = data.split(/\r\n|\r|\n/).map((line) => {
|
|
35
34
|
return `data: ${line}`;
|
|
36
35
|
}).join("\n");
|
|
36
|
+
for (const key of ["event", "id", "retry"]) {
|
|
37
|
+
if (message[key] && /[\r\n]/.test(message[key])) {
|
|
38
|
+
throw new Error(`${key} must not contain "\\r" or "\\n"`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
37
41
|
const sseData = [
|
|
38
42
|
message.event && `event: ${message.event}`,
|
|
39
43
|
dataLines,
|
package/dist/cjs/hono-base.js
CHANGED
package/dist/cjs/hono.js
CHANGED
package/dist/cjs/index.js
CHANGED
package/dist/cjs/jsx/base.js
CHANGED
package/dist/cjs/jsx/children.js
CHANGED
package/dist/cjs/jsx/context.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -35,12 +34,14 @@ const createContext = (defaultValue) => {
|
|
|
35
34
|
let string;
|
|
36
35
|
try {
|
|
37
36
|
string = props.children ? (Array.isArray(props.children) ? new import_base.JSXFragmentNode("", {}, props.children) : props.children).toString() : "";
|
|
38
|
-
}
|
|
37
|
+
} catch (e) {
|
|
39
38
|
values.pop();
|
|
39
|
+
throw e;
|
|
40
40
|
}
|
|
41
41
|
if (string instanceof Promise) {
|
|
42
|
-
return string.then((resString) => (0, import_html.raw)(resString, resString.callbacks));
|
|
42
|
+
return string.finally(() => values.pop()).then((resString) => (0, import_html.raw)(resString, resString.callbacks));
|
|
43
43
|
} else {
|
|
44
|
+
values.pop();
|
|
44
45
|
return (0, import_html.raw)(string);
|
|
45
46
|
}
|
|
46
47
|
});
|
package/dist/cjs/jsx/dom/css.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -80,11 +79,16 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
80
79
|
let element = null;
|
|
81
80
|
let created = false;
|
|
82
81
|
const deDupeKeys = import_common.deDupeKeyMap[tag];
|
|
82
|
+
const deDupeByKey = (0, import_common.shouldDeDupeByKey)(tag, supportSort);
|
|
83
|
+
const isDeDupeCandidateLink = (e) => e.getAttribute("rel") === "stylesheet" && e.getAttribute(import_common.dataPrecedenceAttr) !== null;
|
|
83
84
|
let existingElements = void 0;
|
|
84
|
-
if (
|
|
85
|
+
if (deDupeByKey) {
|
|
85
86
|
const tags = head.querySelectorAll(tag);
|
|
86
87
|
LOOP: for (const e of tags) {
|
|
87
|
-
|
|
88
|
+
if (tag === "link" && !isDeDupeCandidateLink(e)) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
for (const key of deDupeKeys) {
|
|
88
92
|
if (e.getAttribute(key) === props[key]) {
|
|
89
93
|
element = e;
|
|
90
94
|
break LOOP;
|
|
@@ -103,9 +107,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
103
107
|
if (props[key] !== void 0) {
|
|
104
108
|
e.setAttribute(key, props[key]);
|
|
105
109
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
}
|
|
111
|
+
if (props.rel) {
|
|
112
|
+
e.setAttribute("rel", props.rel);
|
|
109
113
|
}
|
|
110
114
|
return e;
|
|
111
115
|
})();
|
|
@@ -119,7 +123,26 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
119
123
|
}
|
|
120
124
|
const insert = (0, import_hooks.useCallback)(
|
|
121
125
|
(e) => {
|
|
122
|
-
if (
|
|
126
|
+
if (deDupeByKey) {
|
|
127
|
+
if (tag === "link" && precedence !== void 0) {
|
|
128
|
+
let found2 = false;
|
|
129
|
+
for (const existingElement of head.querySelectorAll(tag)) {
|
|
130
|
+
const existingPrecedence = existingElement.getAttribute(import_common.dataPrecedenceAttr);
|
|
131
|
+
if (existingPrecedence === null) {
|
|
132
|
+
head.insertBefore(e, existingElement);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (found2 && existingPrecedence !== precedence) {
|
|
136
|
+
head.insertBefore(e, existingElement);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (existingPrecedence === precedence) {
|
|
140
|
+
found2 = true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
head.appendChild(e);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
123
146
|
let found = false;
|
|
124
147
|
for (const existingElement of head.querySelectorAll(tag)) {
|
|
125
148
|
if (found && existingElement.getAttribute(import_common.dataPrecedenceAttr) !== precedence) {
|
|
@@ -131,6 +154,10 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
131
154
|
}
|
|
132
155
|
}
|
|
133
156
|
head.appendChild(e);
|
|
157
|
+
} else if (tag === "link") {
|
|
158
|
+
if (!head.contains(e)) {
|
|
159
|
+
head.appendChild(e);
|
|
160
|
+
}
|
|
134
161
|
} else if (existingElements) {
|
|
135
162
|
let found = false;
|
|
136
163
|
for (const existingElement of existingElements) {
|
|
@@ -148,7 +175,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
148
175
|
existingElements = void 0;
|
|
149
176
|
}
|
|
150
177
|
},
|
|
151
|
-
[precedence]
|
|
178
|
+
[deDupeByKey, precedence, tag]
|
|
152
179
|
);
|
|
153
180
|
const ref = composeRef(props.ref, (e) => {
|
|
154
181
|
const key = deDupeKeys[0];
|
|
@@ -161,6 +188,9 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
161
188
|
if (!onError && !onLoad) {
|
|
162
189
|
return;
|
|
163
190
|
}
|
|
191
|
+
if (!key) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
164
194
|
let promise = blockingPromiseMap[e.getAttribute(key)] ||= new Promise(
|
|
165
195
|
(resolve, reject) => {
|
|
166
196
|
e.addEventListener("load", resolve);
|
|
@@ -178,7 +208,7 @@ const documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportB
|
|
|
178
208
|
});
|
|
179
209
|
if (supportBlocking && blocking === "render") {
|
|
180
210
|
const key = import_common.deDupeKeyMap[tag][0];
|
|
181
|
-
if (props[key]) {
|
|
211
|
+
if (key && props[key]) {
|
|
182
212
|
const value = props[key];
|
|
183
213
|
const promise = blockingPromiseMap[value] ||= new Promise((resolve, reject) => {
|
|
184
214
|
insert(element);
|
|
@@ -254,7 +284,7 @@ const link = (props) => {
|
|
|
254
284
|
ref: props.ref
|
|
255
285
|
};
|
|
256
286
|
}
|
|
257
|
-
return documentMetadataTag("link", props, 1,
|
|
287
|
+
return documentMetadataTag("link", props, 1, (0, import_common.isStylesheetLinkWithPrecedence)(props), true);
|
|
258
288
|
};
|
|
259
289
|
const meta = (props) => {
|
|
260
290
|
return documentMetadataTag("meta", props, void 0, false, false);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -208,14 +207,10 @@ const getNextChildren = (node, container, nextChildren, childrenToRemove, callba
|
|
|
208
207
|
});
|
|
209
208
|
};
|
|
210
209
|
const findInsertBefore = (node) => {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return null;
|
|
214
|
-
}
|
|
215
|
-
if (node.tag !== HONO_PORTAL_ELEMENT && node.e) {
|
|
216
|
-
return node.e;
|
|
217
|
-
}
|
|
210
|
+
while (node && (node.tag === HONO_PORTAL_ELEMENT || !node.e)) {
|
|
211
|
+
node = node.tag === HONO_PORTAL_ELEMENT || !node.vC?.[0] ? node.nN : node.vC[0];
|
|
218
212
|
}
|
|
213
|
+
return node?.e;
|
|
219
214
|
};
|
|
220
215
|
const removeNode = (node) => {
|
|
221
216
|
if (!isNodeString(node)) {
|
|
@@ -313,7 +308,7 @@ const applyNodeObject = (node, container, isNew) => {
|
|
|
313
308
|
}
|
|
314
309
|
}
|
|
315
310
|
if (node.pP) {
|
|
316
|
-
|
|
311
|
+
node.pP = void 0;
|
|
317
312
|
}
|
|
318
313
|
if (callbacks.length) {
|
|
319
314
|
const useLayoutEffectCbs = [];
|
|
@@ -354,7 +349,9 @@ const build = (context, node, children) => {
|
|
|
354
349
|
let prevNode;
|
|
355
350
|
for (let i = 0; i < children.length; i++) {
|
|
356
351
|
if (Array.isArray(children[i])) {
|
|
357
|
-
children.splice(i, 1, ...children[i].flat());
|
|
352
|
+
children.splice(i, 1, ...children[i].flat(Infinity));
|
|
353
|
+
i--;
|
|
354
|
+
continue;
|
|
358
355
|
}
|
|
359
356
|
let child = buildNode(children[i]);
|
|
360
357
|
if (child) {
|
package/dist/cjs/jsx/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -20,7 +19,9 @@ var common_exports = {};
|
|
|
20
19
|
__export(common_exports, {
|
|
21
20
|
dataPrecedenceAttr: () => dataPrecedenceAttr,
|
|
22
21
|
deDupeKeyMap: () => deDupeKeyMap,
|
|
23
|
-
domRenderers: () => domRenderers
|
|
22
|
+
domRenderers: () => domRenderers,
|
|
23
|
+
isStylesheetLinkWithPrecedence: () => isStylesheetLinkWithPrecedence,
|
|
24
|
+
shouldDeDupeByKey: () => shouldDeDupeByKey
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(common_exports);
|
|
26
27
|
const deDupeKeyMap = {
|
|
@@ -32,9 +33,18 @@ const deDupeKeyMap = {
|
|
|
32
33
|
};
|
|
33
34
|
const domRenderers = {};
|
|
34
35
|
const dataPrecedenceAttr = "data-precedence";
|
|
36
|
+
const isStylesheetLinkWithPrecedence = (props) => props.rel === "stylesheet" && "precedence" in props;
|
|
37
|
+
const shouldDeDupeByKey = (tagName, supportSort) => {
|
|
38
|
+
if (tagName === "link") {
|
|
39
|
+
return supportSort;
|
|
40
|
+
}
|
|
41
|
+
return deDupeKeyMap[tagName].length > 0;
|
|
42
|
+
};
|
|
35
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
44
|
0 && (module.exports = {
|
|
37
45
|
dataPrecedenceAttr,
|
|
38
46
|
deDupeKeyMap,
|
|
39
|
-
domRenderers
|
|
47
|
+
domRenderers,
|
|
48
|
+
isStylesheetLinkWithPrecedence,
|
|
49
|
+
shouldDeDupeByKey
|
|
40
50
|
});
|