kiru 0.51.0-preview.2 → 0.51.1
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/router/client/index.d.ts.map +1 -1
- package/dist/router/client/index.js +47 -0
- package/dist/router/client/index.js.map +1 -1
- package/dist/router/head.d.ts +4 -36
- package/dist/router/head.d.ts.map +1 -1
- package/dist/router/head.js +33 -53
- package/dist/router/head.js.map +1 -1
- package/dist/router/index.d.ts +55 -4
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +64 -6
- package/dist/router/index.js.map +1 -1
- package/dist/router/server/index.d.ts +1 -3
- package/dist/router/server/index.d.ts.map +1 -1
- package/dist/router/server/index.js +6 -9
- package/dist/router/server/index.js.map +1 -1
- package/dist/types.dom.d.ts +3 -2
- package/dist/types.dom.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/appContext.ts +3 -0
- package/src/globals.ts +5 -1
- package/src/hooks/usePromise.ts +3 -2
- package/src/router/client/index.ts +67 -1
- package/src/router/head.ts +44 -54
- package/src/router/index.ts +65 -6
- package/src/router/server/index.ts +8 -15
- package/src/ssr/client.ts +17 -2
- package/src/types.dom.ts +6 -1
- package/dist/router/dev/index.d.ts +0 -2
- package/dist/router/dev/index.d.ts.map +0 -1
- package/dist/router/dev/index.js +0 -46
- package/dist/router/dev/index.js.map +0 -1
- package/src/router/dev/index.ts +0 -63
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/client/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAc,MAAM,mBAAmB,CAAA;AAQ3E,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;CAChC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/client/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAc,MAAM,mBAAmB,CAAA;AAQ3E,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;CAChC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,iBAgB1D"}
|
|
@@ -6,6 +6,7 @@ import { matchLayouts, matchRoute, match404Route, parseQuery, } from "../utils/i
|
|
|
6
6
|
import { fileRouterInstance, fileRouterRoute, routerCache } from "../globals.js";
|
|
7
7
|
import { FileRouterController } from "../fileRouterController.js";
|
|
8
8
|
import { FileRouterDataLoadError } from "../errors.js";
|
|
9
|
+
import { __DEV__ } from "../../env.js";
|
|
9
10
|
import { RouterCache } from "../cache.js";
|
|
10
11
|
export async function initClient(options) {
|
|
11
12
|
routerCache.current = new RouterCache();
|
|
@@ -19,6 +20,9 @@ export async function initClient(options) {
|
|
|
19
20
|
transition: true,
|
|
20
21
|
};
|
|
21
22
|
hydrate(createElement(FileRouter, { config }), document.body);
|
|
23
|
+
if (__DEV__) {
|
|
24
|
+
onLoadedDev();
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
27
|
async function preparePreloadConfig(options, isStatic404 = false) {
|
|
24
28
|
let pageProps = {};
|
|
@@ -84,4 +88,47 @@ async function preparePreloadConfig(options, isStatic404 = false) {
|
|
|
84
88
|
cacheData,
|
|
85
89
|
};
|
|
86
90
|
}
|
|
91
|
+
function onLoadedDev() {
|
|
92
|
+
if (!__DEV__) {
|
|
93
|
+
throw new Error("onLoadedDev should not have been included in production build.");
|
|
94
|
+
}
|
|
95
|
+
removeInjectedStyles();
|
|
96
|
+
}
|
|
97
|
+
function removeInjectedStyles() {
|
|
98
|
+
let sleep = 2;
|
|
99
|
+
function runClean() {
|
|
100
|
+
if (clean())
|
|
101
|
+
return;
|
|
102
|
+
if (sleep < 1000) {
|
|
103
|
+
sleep *= 2;
|
|
104
|
+
}
|
|
105
|
+
setTimeout(runClean, sleep);
|
|
106
|
+
}
|
|
107
|
+
setTimeout(runClean, sleep);
|
|
108
|
+
}
|
|
109
|
+
function clean() {
|
|
110
|
+
let isCleaned = true;
|
|
111
|
+
const VITE_ID = "data-vite-dev-id";
|
|
112
|
+
const injectedByVite = [
|
|
113
|
+
...document.querySelectorAll(`style[${VITE_ID}]`),
|
|
114
|
+
].map((style) => style.getAttribute(VITE_ID));
|
|
115
|
+
const suffix = "?temp";
|
|
116
|
+
const injectedByKiru = [
|
|
117
|
+
...document.querySelectorAll(`link[rel="stylesheet"][type="text/css"][href$="${suffix}"]`),
|
|
118
|
+
];
|
|
119
|
+
injectedByKiru.forEach((linkKiru) => {
|
|
120
|
+
const href = linkKiru.getAttribute("href");
|
|
121
|
+
let filePathAbsoluteUserRootDir = href.slice(0, -suffix.length);
|
|
122
|
+
const prefix = "/@fs/";
|
|
123
|
+
if (filePathAbsoluteUserRootDir.startsWith(prefix))
|
|
124
|
+
filePathAbsoluteUserRootDir = filePathAbsoluteUserRootDir.slice(prefix.length);
|
|
125
|
+
if (injectedByVite.some((filePathAbsoluteFilesystem) => filePathAbsoluteFilesystem.endsWith(filePathAbsoluteUserRootDir))) {
|
|
126
|
+
linkKiru.remove();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
isCleaned = false;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
return isCleaned;
|
|
133
|
+
}
|
|
87
134
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/client/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/router/head.d.ts
CHANGED
|
@@ -1,38 +1,6 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
* Used with SSG. Renders content to the document head via a corresponding `<Head.Outlet>` component placed in your `document.tsx`.
|
|
4
|
-
* @example
|
|
5
|
-
* // src/pages/index.tsx
|
|
6
|
-
* export default function Index() {
|
|
7
|
-
* return (
|
|
8
|
-
* <div>
|
|
9
|
-
* <Head.Content>
|
|
10
|
-
* <title>My App - Home</title>
|
|
11
|
-
* </Head.Content>
|
|
12
|
-
* <h1>Home</h1>
|
|
13
|
-
* </div>
|
|
14
|
-
* )
|
|
15
|
-
}
|
|
16
|
-
*/
|
|
17
|
-
declare function Content({ children }: {
|
|
1
|
+
export { HeadContent, HeadOutlet };
|
|
2
|
+
declare function HeadContent({ children }: {
|
|
18
3
|
children: JSX.Children;
|
|
19
|
-
}):
|
|
20
|
-
|
|
21
|
-
* Used with SSG. Renders content to the document head from a `<Head>` component in the currently rendered page.
|
|
22
|
-
* @example
|
|
23
|
-
* // document.tsx
|
|
24
|
-
* export default function Document() {
|
|
25
|
-
* return (
|
|
26
|
-
* <html lang="en">
|
|
27
|
-
* <head>
|
|
28
|
-
* <meta charset="utf-8" />
|
|
29
|
-
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
30
|
-
* <Head.Outlet />
|
|
31
|
-
* </head>
|
|
32
|
-
* <body>{children}</body>
|
|
33
|
-
* </html>
|
|
34
|
-
* )
|
|
35
|
-
}
|
|
36
|
-
*/
|
|
37
|
-
declare function Outlet(): Kiru.VNode;
|
|
4
|
+
}): JSX.Element;
|
|
5
|
+
declare function HeadOutlet(): JSX.Element;
|
|
38
6
|
//# sourceMappingURL=head.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/router/head.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/router/head.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAIlC,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAwC1E;AAED,iBAAS,UAAU,IAAI,GAAG,CAAC,OAAO,CAEjC"}
|
package/dist/router/head.js
CHANGED
|
@@ -1,63 +1,43 @@
|
|
|
1
|
-
import { createElement } from "../index.js";
|
|
2
1
|
import { Signal } from "../signals/base.js";
|
|
3
2
|
import { isValidTextChild, isVNode } from "../utils/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
import { createElement } from "../element.js";
|
|
4
|
+
import { __DEV__ } from "../env.js";
|
|
5
|
+
import { KiruError } from "../error.js";
|
|
6
|
+
import { node } from "../globals.js";
|
|
7
|
+
export { HeadContent, HeadOutlet };
|
|
8
|
+
const validHeadChildren = ["title", "base", "link", "meta", "style", "script"];
|
|
9
|
+
function HeadContent({ children }) {
|
|
10
|
+
if (__DEV__) {
|
|
11
|
+
const n = node.current;
|
|
12
|
+
const asArray = Array.isArray(children) ? children : [children];
|
|
13
|
+
const invalidNodes = asArray.filter((c) => !isVNode(c) ||
|
|
14
|
+
typeof c.type !== "string" ||
|
|
15
|
+
!validHeadChildren.includes(c.type));
|
|
16
|
+
if (invalidNodes.length) {
|
|
17
|
+
throw new KiruError({
|
|
18
|
+
message: `[kiru/router]: <Head.Content> only accepts title, base, link, meta, style and script elements as children. Received: ${invalidNodes.map((n) => (isVNode(n) ? `<${n.type.toString()}>` : `"${n}"`))}`,
|
|
19
|
+
vNode: n,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
21
23
|
if ("window" in globalThis) {
|
|
22
|
-
;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return document
|
|
35
|
-
.querySelector(`meta[name="${props.name}"]`)
|
|
36
|
-
?.setAttribute("content", String(props.content));
|
|
37
|
-
}
|
|
38
|
-
});
|
|
24
|
+
const asArray = Array.isArray(children) ? children : [children];
|
|
25
|
+
const titleNode = asArray.find((c) => isVNode(c) && c.type === "title");
|
|
26
|
+
if (titleNode) {
|
|
27
|
+
const props = titleNode.props;
|
|
28
|
+
const titleChildren = Array.isArray(props.children)
|
|
29
|
+
? props.children
|
|
30
|
+
: [props.children];
|
|
31
|
+
document.title = titleChildren
|
|
32
|
+
.map((c) => (Signal.isSignal(c) ? c.value : c))
|
|
33
|
+
.filter(isValidTextChild)
|
|
34
|
+
.join("");
|
|
35
|
+
}
|
|
39
36
|
return null;
|
|
40
37
|
}
|
|
41
38
|
return createElement("kiru-head-content", { children });
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
* Used with SSG. Renders content to the document head from a `<Head>` component in the currently rendered page.
|
|
45
|
-
* @example
|
|
46
|
-
* // document.tsx
|
|
47
|
-
* export default function Document() {
|
|
48
|
-
* return (
|
|
49
|
-
* <html lang="en">
|
|
50
|
-
* <head>
|
|
51
|
-
* <meta charset="utf-8" />
|
|
52
|
-
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
53
|
-
* <Head.Outlet />
|
|
54
|
-
* </head>
|
|
55
|
-
* <body>{children}</body>
|
|
56
|
-
* </html>
|
|
57
|
-
* )
|
|
58
|
-
}
|
|
59
|
-
*/
|
|
60
|
-
function Outlet() {
|
|
40
|
+
function HeadOutlet() {
|
|
61
41
|
return createElement("kiru-head-outlet");
|
|
62
42
|
}
|
|
63
43
|
//# sourceMappingURL=head.js.map
|
package/dist/router/head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/router/head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/router/head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAElC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AAE9E,SAAS,WAAW,CAAC,EAAE,QAAQ,EAA8B;IAC3D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAQ,CAAA;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC;YACX,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACtC,CAAA;QACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,SAAS,CAAC;gBAClB,OAAO,EAAE,wHAAwH,YAAY,CAAC,GAAG,CAC/I,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1D,EAAE;gBACH,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAC1B,CAAA;QAEf,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;YAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEpB,QAAQ,CAAC,KAAK,GAAG,aAAa;iBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C,MAAM,CAAC,gBAAgB,CAAC;iBACxB,IAAI,CAAC,EAAE,CAAC,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,aAAa,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAC1C,CAAC"}
|
package/dist/router/index.d.ts
CHANGED
|
@@ -4,12 +4,63 @@ export { FileRouter, type FileRouterProps } from "./fileRouter.js";
|
|
|
4
4
|
export * from "./link.js";
|
|
5
5
|
export * from "./pageConfig.js";
|
|
6
6
|
export type * from "./types.js";
|
|
7
|
-
import {
|
|
7
|
+
import { HeadContent, HeadOutlet } from "./head.js";
|
|
8
8
|
export declare const Head: {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* - During SSG, renders content to the document head via a corresponding `<Head.Outlet>` component placed in your `document.tsx`.
|
|
11
|
+
* - During CSR, updates document title.
|
|
12
|
+
* @example
|
|
13
|
+
* // src/pages/index.tsx
|
|
14
|
+
* export default function Index() {
|
|
15
|
+
* return (
|
|
16
|
+
* <div>
|
|
17
|
+
* <Head.Content>
|
|
18
|
+
* <title>My App - Home</title>
|
|
19
|
+
* </Head.Content>
|
|
20
|
+
* <h1>Home</h1>
|
|
21
|
+
* </div>
|
|
22
|
+
* )
|
|
23
|
+
}
|
|
24
|
+
*/
|
|
25
|
+
Content: typeof HeadContent;
|
|
26
|
+
/**
|
|
27
|
+
* Used with SSG. Renders content to the document head from a `<Head>` component in the currently rendered page.
|
|
28
|
+
* @example
|
|
29
|
+
* // src/pages/document.tsx
|
|
30
|
+
* export default function Document() {
|
|
31
|
+
* return (
|
|
32
|
+
* <html lang="en">
|
|
33
|
+
* <head>
|
|
34
|
+
* <meta charset="utf-8" />
|
|
35
|
+
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
36
|
+
* <Head.Outlet />
|
|
37
|
+
* </head>
|
|
38
|
+
* <Body.Outlet />
|
|
39
|
+
* </html>
|
|
40
|
+
* )
|
|
41
|
+
}
|
|
42
|
+
*/
|
|
43
|
+
Outlet: typeof HeadOutlet;
|
|
11
44
|
};
|
|
12
45
|
export declare const Body: {
|
|
13
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Used with SSG 'document' files. Renders content to the document body via a corresponding `<Body.Outlet>` component placed in your `document.tsx`.
|
|
48
|
+
* @example
|
|
49
|
+
* // src/pages/document.tsx
|
|
50
|
+
* export default function Document() {
|
|
51
|
+
* return (
|
|
52
|
+
* <html lang="en">
|
|
53
|
+
* <head>
|
|
54
|
+
* <meta charset="utf-8" />
|
|
55
|
+
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
56
|
+
* <Head.Outlet />
|
|
57
|
+
* </head>
|
|
58
|
+
* <Body.Outlet />
|
|
59
|
+
* </html>
|
|
60
|
+
* )
|
|
61
|
+
}
|
|
62
|
+
*/
|
|
63
|
+
Outlet: typeof BodyOutlet;
|
|
14
64
|
};
|
|
65
|
+
declare function BodyOutlet(): Kiru.VNode;
|
|
15
66
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACxE,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAClE,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,mBAAmB,YAAY,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,IAAI;IACf;;;;;;;;;;;;;;;KAeC;;IAED;;;;;;;;;;;;;;;;KAgBC;;CAEF,CAAA;AAED,eAAO,MAAM,IAAI;IACf;;;;;;;;;;;;;;;;OAgBG;;CAEJ,CAAA;AAED,iBAAS,UAAU,eAElB"}
|
package/dist/router/index.js
CHANGED
|
@@ -1,17 +1,75 @@
|
|
|
1
1
|
import { createElement } from "../element.js";
|
|
2
|
+
import { __DEV__ } from "../env.js";
|
|
2
3
|
export { useFileRouter } from "./context.js";
|
|
3
4
|
export * from "./errors.js";
|
|
4
5
|
export { FileRouter } from "./fileRouter.js";
|
|
5
6
|
export * from "./link.js";
|
|
6
7
|
export * from "./pageConfig.js";
|
|
7
|
-
import {
|
|
8
|
+
import { HeadContent, HeadOutlet } from "./head.js";
|
|
8
9
|
export const Head = {
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* - During SSG, renders content to the document head via a corresponding `<Head.Outlet>` component placed in your `document.tsx`.
|
|
12
|
+
* - During CSR, updates document title.
|
|
13
|
+
* @example
|
|
14
|
+
* // src/pages/index.tsx
|
|
15
|
+
* export default function Index() {
|
|
16
|
+
* return (
|
|
17
|
+
* <div>
|
|
18
|
+
* <Head.Content>
|
|
19
|
+
* <title>My App - Home</title>
|
|
20
|
+
* </Head.Content>
|
|
21
|
+
* <h1>Home</h1>
|
|
22
|
+
* </div>
|
|
23
|
+
* )
|
|
24
|
+
}
|
|
25
|
+
*/
|
|
26
|
+
Content: HeadContent,
|
|
27
|
+
/**
|
|
28
|
+
* Used with SSG. Renders content to the document head from a `<Head>` component in the currently rendered page.
|
|
29
|
+
* @example
|
|
30
|
+
* // src/pages/document.tsx
|
|
31
|
+
* export default function Document() {
|
|
32
|
+
* return (
|
|
33
|
+
* <html lang="en">
|
|
34
|
+
* <head>
|
|
35
|
+
* <meta charset="utf-8" />
|
|
36
|
+
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
37
|
+
* <Head.Outlet />
|
|
38
|
+
* </head>
|
|
39
|
+
* <Body.Outlet />
|
|
40
|
+
* </html>
|
|
41
|
+
* )
|
|
42
|
+
}
|
|
43
|
+
*/
|
|
44
|
+
Outlet: HeadOutlet,
|
|
11
45
|
};
|
|
12
46
|
export const Body = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Used with SSG 'document' files. Renders content to the document body via a corresponding `<Body.Outlet>` component placed in your `document.tsx`.
|
|
49
|
+
* @example
|
|
50
|
+
* // src/pages/document.tsx
|
|
51
|
+
* export default function Document() {
|
|
52
|
+
* return (
|
|
53
|
+
* <html lang="en">
|
|
54
|
+
* <head>
|
|
55
|
+
* <meta charset="utf-8" />
|
|
56
|
+
* <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
57
|
+
* <Head.Outlet />
|
|
58
|
+
* </head>
|
|
59
|
+
* <Body.Outlet />
|
|
60
|
+
* </html>
|
|
61
|
+
* )
|
|
62
|
+
}
|
|
63
|
+
*/
|
|
64
|
+
Outlet: BodyOutlet,
|
|
16
65
|
};
|
|
66
|
+
function BodyOutlet() {
|
|
67
|
+
return createElement("kiru-body-outlet");
|
|
68
|
+
}
|
|
69
|
+
if (__DEV__) {
|
|
70
|
+
;
|
|
71
|
+
Head.Content.displayName = "Kiru.Head.Content";
|
|
72
|
+
Head.Outlet.displayName = "Kiru.Head.Outlet";
|
|
73
|
+
Body.Outlet.displayName = "Kiru.Body.Outlet";
|
|
74
|
+
}
|
|
17
75
|
//# sourceMappingURL=index.js.map
|
package/dist/router/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,aAAa,EAA8B,MAAM,cAAc,CAAA;AACxE,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAA;AAClE,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB;;;;;;;;;;;;;;;KAeC;IACD,OAAO,EAAE,WAAW;IACpB;;;;;;;;;;;;;;;;KAgBC;IACD,MAAM,EAAE,UAAU;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,EAAE,UAAU;CACnB,CAAA;AAED,SAAS,UAAU;IACjB,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAC1C,CAAC;AAED,IAAI,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,IAAI,CAAC,OAAmB,CAAC,WAAW,GAAG,mBAAmB,CAC3D;IAAC,IAAI,CAAC,MAAkB,CAAC,WAAW,GAAG,kBAAkB,CACzD;IAAC,IAAI,CAAC,MAAkB,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAC5D,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Readable } from "node:stream";
|
|
2
1
|
import { FormattedViteImportMap } from "../types.internal.js";
|
|
3
2
|
export interface RenderContext {
|
|
4
3
|
pages: FormattedViteImportMap;
|
|
@@ -9,8 +8,7 @@ export interface RenderContext {
|
|
|
9
8
|
}
|
|
10
9
|
export interface RenderResult {
|
|
11
10
|
status: number;
|
|
12
|
-
|
|
13
|
-
stream: Readable | null;
|
|
11
|
+
body: string;
|
|
14
12
|
}
|
|
15
13
|
export declare function render(url: string, ctx: RenderContext, result?: RenderResult): Promise<RenderResult>;
|
|
16
14
|
export declare function generateStaticPaths(pages: FormattedViteImportMap): Promise<Record<string, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAA;AAKzE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;IACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,CAAC,CAwJvB;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,mCAmCtE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createElement, Fragment } from "../../element.js";
|
|
2
|
-
import { renderToReadableStream } from "../../ssr/server.js";
|
|
3
2
|
import { matchLayouts, matchRoute, match404Route, parseQuery, wrapWithLayouts, } from "../utils/index.js";
|
|
4
3
|
import { RouterContext } from "../context.js";
|
|
5
4
|
import { __DEV__ } from "../../env.js";
|
|
6
5
|
import { FileRouterDataLoadError } from "../errors.js";
|
|
6
|
+
import { renderToString } from "../../renderToString.js";
|
|
7
7
|
export async function render(url, ctx, result) {
|
|
8
8
|
const u = new URL(url, "http://localhost");
|
|
9
9
|
const pathSegments = u.pathname.split("/").filter(Boolean);
|
|
@@ -22,14 +22,12 @@ export async function render(url, ctx, result) {
|
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
24
24
|
status: 404,
|
|
25
|
-
|
|
26
|
-
stream: null,
|
|
25
|
+
body: "<!doctype html><html><head><title>Not Found</title></head><body><h1>404</h1></body></html>",
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
28
|
return render("/404", ctx, {
|
|
30
29
|
...(result ?? {}),
|
|
31
|
-
|
|
32
|
-
stream: null,
|
|
30
|
+
body: "",
|
|
33
31
|
status: 404,
|
|
34
32
|
});
|
|
35
33
|
}
|
|
@@ -89,7 +87,7 @@ export async function render(url, ctx, result) {
|
|
|
89
87
|
const children = wrapWithLayouts(layouts
|
|
90
88
|
.map((layout) => layout.default)
|
|
91
89
|
.filter((l) => typeof l === "function"), page.default, props);
|
|
92
|
-
let
|
|
90
|
+
let documentShell = renderToString(createElement(ctx.Document));
|
|
93
91
|
if (documentShell.includes("</body>") ||
|
|
94
92
|
!documentShell.includes("<kiru-body-outlet>")) {
|
|
95
93
|
throw new Error("[kiru/router]: Document is expected to contain a <Body.Outlet> element. See https://kirujs.dev/docs/api/file-router#ssg");
|
|
@@ -105,7 +103,7 @@ export async function render(url, ctx, result) {
|
|
|
105
103
|
},
|
|
106
104
|
},
|
|
107
105
|
});
|
|
108
|
-
let
|
|
106
|
+
let pageOutletContent = renderToString(app);
|
|
109
107
|
const hasHeadContent = pageOutletContent.includes("<kiru-head-content>");
|
|
110
108
|
const hasHeadOutlet = documentShell.includes("<kiru-head-outlet>");
|
|
111
109
|
if (hasHeadOutlet && hasHeadContent) {
|
|
@@ -125,8 +123,7 @@ export async function render(url, ctx, result) {
|
|
|
125
123
|
// console.log("immediate", immediate)
|
|
126
124
|
return {
|
|
127
125
|
status: is404Route ? 404 : result?.status ?? 200,
|
|
128
|
-
|
|
129
|
-
stream,
|
|
126
|
+
body: `<!doctype html>${prePageOutlet}<body>${pageOutletContent}</body>${postPageOutlet}`,
|
|
130
127
|
};
|
|
131
128
|
}
|
|
132
129
|
export async function generateStaticPaths(pages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.dom.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ type MediaType = string;
|
|
|
39
39
|
type MimeType = string;
|
|
40
40
|
type ReferrerPolicy = "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "unsafe-url";
|
|
41
41
|
type AnchorRel = "alternate" | "author" | "bookmark" | "external" | "help" | "license" | "next" | "nofollow" | "noreferrer" | "noopener" | "prev" | "search" | "tag";
|
|
42
|
-
type LinkRel = "alternate" | "archives" | "author" | "bookmark" | "external" | "first" | "help" | "icon" | "last" | "license" | "next" | "nofollow" | "noreferrer" | "pingback" | "prefetch" | "preload" | "prev" | "search" | "sidebar" | "stylesheet" | "tag" | "up";
|
|
42
|
+
type LinkRel = "alternate" | "archives" | "author" | "bookmark" | "external" | "first" | "help" | "icon" | "last" | "license" | "next" | "nofollow" | "noreferrer" | "pingback" | "preconnect" | "prefetch" | "preload" | "prev" | "search" | "sidebar" | "stylesheet" | "tag" | "up";
|
|
43
43
|
type Loading = "eager" | "lazy";
|
|
44
44
|
type Target = "_blank" | "_self" | "_parent" | "_top";
|
|
45
45
|
type EncType = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
|
|
@@ -92,7 +92,7 @@ declare global {
|
|
|
92
92
|
type EventHandler<E extends DOMEvent> = {
|
|
93
93
|
bivarianceHack(event: E): void;
|
|
94
94
|
}["bivarianceHack"];
|
|
95
|
-
interface
|
|
95
|
+
interface BaseEvent<T extends Element = Element> extends DOMEvent<Event, T> {
|
|
96
96
|
}
|
|
97
97
|
interface AnimationEvent<T extends Element = Element> extends DOMEvent<NativeAnimationEvent, T> {
|
|
98
98
|
}
|
|
@@ -124,6 +124,7 @@ declare global {
|
|
|
124
124
|
}
|
|
125
125
|
interface WheelEvent<T extends Element = Element> extends DOMEvent<NativeWheelEvent, T> {
|
|
126
126
|
}
|
|
127
|
+
type BaseEventHandler<T extends Element = Element> = EventHandler<BaseEvent<T>>;
|
|
127
128
|
type ClipboardEventHandler<T extends Element = Element> = EventHandler<ClipboardEvent<T>>;
|
|
128
129
|
type CompositionEventHandler<T extends Element = Element> = EventHandler<CompositionEvent<T>>;
|
|
129
130
|
type DragEventHandler<T extends Element = Element> = EventHandler<DragEvent<T>>;
|