@void/react 0.10.5 → 0.10.6
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/deferred-shell-CBIT2Zwq.mjs +5 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/plugin.mjs +3 -4
- package/dist/runtime/index.d.mts +2 -2
- package/dist/runtime/index.mjs +3 -3
- package/dist/runtime/pages-client.mjs +8 -4
- package/dist/runtime/pages-server.mjs +3 -4
- package/dist/{runtime-C0j3tKTP.mjs → runtime-W1oiBA4P.mjs} +4 -3
- package/package.json +10 -10
- /package/dist/{action-BFWtavbf.mjs → action-Bq1iSG6m.mjs} +0 -0
- /package/dist/{context-CBGCQE3p.mjs → context-B0GL7p5m.mjs} +0 -0
- /package/dist/{index-CykTJ4Xm.d.mts → index-5JoQg_-q.d.mts} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region src/runtime/deferred-shell.ts
|
|
2
|
+
const DEFERRED_SHELL_END_ID = "__VOID_DEFERRED_SHELL_END__";
|
|
3
|
+
const DEFERRED_SHELL_END_MARKER = `<template id="${DEFERRED_SHELL_END_ID}"></template>`;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { DEFERRED_SHELL_END_MARKER as n, DEFERRED_SHELL_END_ID as t };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ParamsContext, c as action, d as useNavigation, f as useForm, g as Link, h as useRouter, i as NavigationContext, l as setActionRouter, m as useParams, n as InferProps, o as RouterContext, p as useShared, r as ErrorsContext, s as SharedContext, t as Deferred, u as useIslandForm } from "./index-
|
|
2
|
-
export { Deferred, ErrorsContext, InferProps, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
|
1
|
+
import { a as ParamsContext, c as action, d as useNavigation, f as useForm, g as Link, h as useRouter, i as NavigationContext, l as setActionRouter, m as useParams, n as InferProps, o as RouterContext, p as useShared, r as ErrorsContext, s as SharedContext, t as Deferred, u as useIslandForm } from "./index-5JoQg_-q.mjs";
|
|
2
|
+
export { Deferred, ErrorsContext, type InferProps, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "./context-
|
|
2
|
-
import { a as useParams, i as useShared, n as useNavigation, o as useRouter, r as useForm, s as Link, t as useIslandForm } from "./runtime-
|
|
3
|
-
import { n as setActionRouter, t as action } from "./action-
|
|
1
|
+
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "./context-B0GL7p5m.mjs";
|
|
2
|
+
import { a as useParams, i as useShared, n as useNavigation, o as useRouter, r as useForm, s as Link, t as useIslandForm } from "./runtime-W1oiBA4P.mjs";
|
|
3
|
+
import { n as setActionRouter, t as action } from "./action-Bq1iSG6m.mjs";
|
|
4
4
|
export { ErrorsContext, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
package/dist/plugin.mjs
CHANGED
|
@@ -377,7 +377,6 @@ initIslands(islands, hydrateIsland);
|
|
|
377
377
|
}
|
|
378
378
|
//#endregion
|
|
379
379
|
//#region src/plugin-pages.ts
|
|
380
|
-
const RENDERER_ID = "virtual:void-pages-renderer";
|
|
381
380
|
const CLIENT_ENTRY_ID = "virtual:void-pages-client";
|
|
382
381
|
const WORKER_ENVIRONMENT_NAME = "void_worker";
|
|
383
382
|
const REACT_DEDUPE = ["react", "react-dom"];
|
|
@@ -423,7 +422,7 @@ function pagesPlugin(pagesDir, options) {
|
|
|
423
422
|
return pendingRescan;
|
|
424
423
|
};
|
|
425
424
|
const invalidatePageModules = (server) => {
|
|
426
|
-
for (const env of Object.values(server.environments)) for (const id of ["\
|
|
425
|
+
for (const env of Object.values(server.environments)) for (const id of ["\0virtual:void-pages-renderer", "\0virtual:void-pages-client"]) {
|
|
427
426
|
const mod = env.moduleGraph.getModuleById(id);
|
|
428
427
|
if (mod) env.moduleGraph.invalidateModule(mod);
|
|
429
428
|
}
|
|
@@ -444,11 +443,11 @@ function pagesPlugin(pagesDir, options) {
|
|
|
444
443
|
async handler(id) {
|
|
445
444
|
if (isDev && pendingRescan) await pendingRescan;
|
|
446
445
|
if (!pageScan && existsSync(pagesDir)) await runRescan();
|
|
447
|
-
if (id === "\
|
|
446
|
+
if (id === "\0virtual:void-pages-renderer") {
|
|
448
447
|
if (!pageScan) return "export function renderPage() { throw new Error('No pages found'); }";
|
|
449
448
|
return generateRendererModule(pageScan, pagesDir, isDev);
|
|
450
449
|
}
|
|
451
|
-
if (id === "\
|
|
450
|
+
if (id === "\0virtual:void-pages-client") {
|
|
452
451
|
if (!pageScan) return "";
|
|
453
452
|
return generateClientEntry(pageScan, pagesDir, options?.viewTransitions, options?.prefetch, resolveStaticPageDataBuildOptions(root, { publicDir: viteConfig?.publicDir }));
|
|
454
453
|
}
|
package/dist/runtime/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ParamsContext, c as action, d as useNavigation, f as useForm, g as Link, h as useRouter, i as NavigationContext, l as setActionRouter, m as useParams, n as InferProps, o as RouterContext, p as useShared, r as ErrorsContext, s as SharedContext, t as Deferred, u as useIslandForm } from "../index-
|
|
2
|
-
export { Deferred, ErrorsContext, InferProps, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
|
1
|
+
import { a as ParamsContext, c as action, d as useNavigation, f as useForm, g as Link, h as useRouter, i as NavigationContext, l as setActionRouter, m as useParams, n as InferProps, o as RouterContext, p as useShared, r as ErrorsContext, s as SharedContext, t as Deferred, u as useIslandForm } from "../index-5JoQg_-q.mjs";
|
|
2
|
+
export { Deferred, ErrorsContext, type InferProps, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
package/dist/runtime/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-
|
|
2
|
-
import { a as useParams, i as useShared, n as useNavigation, o as useRouter, r as useForm, s as Link, t as useIslandForm } from "../runtime-
|
|
3
|
-
import { n as setActionRouter, t as action } from "../action-
|
|
1
|
+
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-B0GL7p5m.mjs";
|
|
2
|
+
import { a as useParams, i as useShared, n as useNavigation, o as useRouter, r as useForm, s as Link, t as useIslandForm } from "../runtime-W1oiBA4P.mjs";
|
|
3
|
+
import { n as setActionRouter, t as action } from "../action-Bq1iSG6m.mjs";
|
|
4
4
|
export { ErrorsContext, Link, NavigationContext, ParamsContext, RouterContext, SharedContext, action, setActionRouter, useForm, useIslandForm, useNavigation, useParams, useRouter, useShared };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-
|
|
2
|
-
import { n as setActionRouter } from "../action-
|
|
1
|
+
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-B0GL7p5m.mjs";
|
|
2
|
+
import { n as setActionRouter } from "../action-Bq1iSG6m.mjs";
|
|
3
|
+
import { t as DEFERRED_SHELL_END_ID } from "../deferred-shell-CBIT2Zwq.mjs";
|
|
3
4
|
import React, { Suspense, startTransition, use, useCallback, useEffect, useInsertionEffect, useLayoutEffect, useMemo, useReducer, useRef, useTransition } from "react";
|
|
4
5
|
import { createPageNavigationEngine, createRouterFacade, idleNavigationState, isAbortError, isCallSiteActionError } from "void/pages-client";
|
|
5
6
|
import { createRoot, hydrateRoot } from "react-dom/client";
|
|
@@ -423,13 +424,16 @@ async function startReactPages(config) {
|
|
|
423
424
|
setActionRouter(router);
|
|
424
425
|
const appEl = document.getElementById("app");
|
|
425
426
|
if (!appEl) throw new Error("pages: Missing #app element for Void React pages hydration.");
|
|
426
|
-
const
|
|
427
|
+
const appRoot = React.createElement(App, {
|
|
427
428
|
engine,
|
|
428
429
|
router,
|
|
429
430
|
viewTransitions: config.viewTransitions
|
|
430
431
|
});
|
|
432
|
+
const isSsr = appEl.getAttribute("data-void-ssr") !== "false";
|
|
433
|
+
const hasDeferred = Boolean(engine.initialPageData.deferredKeys);
|
|
434
|
+
const app = isSsr && hasDeferred ? React.createElement(React.Fragment, null, appRoot, React.createElement("template", { id: DEFERRED_SHELL_END_ID })) : appRoot;
|
|
431
435
|
startTransition(() => {
|
|
432
|
-
if (
|
|
436
|
+
if (!isSsr) createRoot(appEl).render(app);
|
|
433
437
|
else hydrateRoot(appEl, app);
|
|
434
438
|
});
|
|
435
439
|
appEl.setAttribute("data-hydrated", "true");
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-
|
|
1
|
+
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext, t as ErrorsContext } from "../context-B0GL7p5m.mjs";
|
|
2
|
+
import { n as DEFERRED_SHELL_END_MARKER, t as DEFERRED_SHELL_END_ID } from "../deferred-shell-CBIT2Zwq.mjs";
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { createSsrRouter, idleNavigationState } from "void/pages-client";
|
|
4
5
|
import { renderToReadableStream } from "react-dom/server";
|
|
@@ -6,8 +7,6 @@ import { renderBodyAttrs, renderHeadToString, renderHtmlAttrs } from "void/pages
|
|
|
6
7
|
import { serializePageData } from "void/pages-server";
|
|
7
8
|
//#region src/runtime/pages-server.ts
|
|
8
9
|
const DEFERRED_SHELL_CANCEL_REASON = "Void deferred shell complete";
|
|
9
|
-
const DEFERRED_SHELL_END_ID = "__VOID_DEFERRED_SHELL_END__";
|
|
10
|
-
const DEFERRED_SHELL_END_MARKER = `<template id="${DEFERRED_SHELL_END_ID}"></template>`;
|
|
11
10
|
function createPendingDeferred() {
|
|
12
11
|
return new Promise(() => {});
|
|
13
12
|
}
|
|
@@ -62,7 +61,7 @@ function readDeferredShell(stream) {
|
|
|
62
61
|
buffer += decoder.decode(value, { stream: true });
|
|
63
62
|
const markerIndex = buffer.indexOf(DEFERRED_SHELL_END_MARKER);
|
|
64
63
|
if (markerIndex !== -1) {
|
|
65
|
-
flush(buffer.slice(0, markerIndex));
|
|
64
|
+
flush(buffer.slice(0, markerIndex + DEFERRED_SHELL_END_MARKER.length));
|
|
66
65
|
await reader.cancel(DEFERRED_SHELL_CANCEL_REASON);
|
|
67
66
|
break;
|
|
68
67
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext } from "./context-
|
|
2
|
-
import "./action-
|
|
1
|
+
import { a as SharedContext, i as RouterContext, n as NavigationContext, r as ParamsContext } from "./context-B0GL7p5m.mjs";
|
|
2
|
+
import "./action-Bq1iSG6m.mjs";
|
|
3
3
|
import { useActionState, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { VoidActionError, categorizeActionError, isAbortError, isEqualFormValue, ssrProxy, submitAction } from "void/pages-client";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -65,7 +65,8 @@ function Link({ href, method = "GET", data, preserveScroll = false, preserveStat
|
|
|
65
65
|
if (reloadDocument && !isGet) throw new Error("Link: reloadDocument only supports GET links.");
|
|
66
66
|
const doPrefetch = useCallback(() => {
|
|
67
67
|
if (!router?.prefetch) return;
|
|
68
|
-
|
|
68
|
+
const current = window.location.pathname + window.location.search;
|
|
69
|
+
if (hrefWithData === current) return;
|
|
69
70
|
const options = {};
|
|
70
71
|
if (cacheFor !== void 0) options.cacheFor = cacheFor;
|
|
71
72
|
if (normalizedMethod) options.method = normalizedMethod;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@void/react",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/voidzero-dev/void.git",
|
|
@@ -40,24 +40,24 @@
|
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@vitejs/plugin-react": "^6.0.
|
|
43
|
+
"@vitejs/plugin-react": "^6.0.3"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@types/node": "^
|
|
47
|
-
"@types/react": "^19.2.
|
|
46
|
+
"@types/node": "^26.1.0",
|
|
47
|
+
"@types/react": "^19.2.17",
|
|
48
48
|
"@types/react-dom": "^19.2.3",
|
|
49
49
|
"pathe": "^2.0.3",
|
|
50
|
-
"react": "^19.2.
|
|
51
|
-
"react-dom": "^19.2.
|
|
52
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@0.
|
|
53
|
-
"vite-plus": "^0.
|
|
54
|
-
"void": "0.10.
|
|
50
|
+
"react": "^19.2.7",
|
|
51
|
+
"react-dom": "^19.2.7",
|
|
52
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@0.2.2",
|
|
53
|
+
"vite-plus": "^0.2.2",
|
|
54
|
+
"void": "0.10.6"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"react": "^19.0.0",
|
|
58
58
|
"react-dom": "^19.0.0",
|
|
59
59
|
"vite": "^8.0.0",
|
|
60
|
-
"void": "0.10.
|
|
60
|
+
"void": "0.10.6"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "vp pack",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|