@bleedingdev/modern-js-renderer-solid 0.0.0-bootstrap → 3.9.3-ultramodern.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/esm/actions.js +283 -0
- package/dist/esm/application-router.js +25 -0
- package/dist/esm/client.js +49 -0
- package/dist/esm/entry-application.js +60 -0
- package/dist/esm/entry-client.js +23 -0
- package/dist/esm/federation-context.js +25 -0
- package/dist/esm/federation-ssr.js +84 -0
- package/dist/esm/federation.js +83 -0
- package/dist/esm/i18n/I18nProvider.js +33 -0
- package/dist/esm/i18n/LocalizedLink.js +74 -0
- package/dist/esm/i18n/context.js +3 -0
- package/dist/esm/i18n/index.js +8 -0
- package/dist/esm/i18n/languageSync.js +50 -0
- package/dist/esm/i18n/types.js +0 -0
- package/dist/esm/i18n/useI18n.js +74 -0
- package/dist/esm/index.js +58 -0
- package/dist/esm/manifest.js +150 -0
- package/dist/esm/route-completion.js +150 -0
- package/dist/esm/route-data-error.js +108 -0
- package/dist/esm/router-binding/Asset.js +201 -0
- package/dist/esm/router-binding/CatchBoundary.js +94 -0
- package/dist/esm/router-binding/ClientOnly.js +26 -0
- package/dist/esm/router-binding/HeadContent.js +8 -0
- package/dist/esm/router-binding/LICENSE +21 -0
- package/dist/esm/router-binding/Match.js +319 -0
- package/dist/esm/router-binding/Matches.js +117 -0
- package/dist/esm/router-binding/PROVENANCE.json +94 -0
- package/dist/esm/router-binding/RouterProvider.js +51 -0
- package/dist/esm/router-binding/SafeFragment.js +5 -0
- package/dist/esm/router-binding/ScriptOnce.js +15 -0
- package/dist/esm/router-binding/Scripts.js +30 -0
- package/dist/esm/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm/router-binding/Transitioner.js +103 -0
- package/dist/esm/router-binding/awaited.js +48 -0
- package/dist/esm/router-binding/fileRoute.js +83 -0
- package/dist/esm/router-binding/flightData.js +23 -0
- package/dist/esm/router-binding/headContentUtils.js +162 -0
- package/dist/esm/router-binding/history.js +0 -0
- package/dist/esm/router-binding/index.js +35 -0
- package/dist/esm/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm/router-binding/link.js +389 -0
- package/dist/esm/router-binding/matchContext.js +7 -0
- package/dist/esm/router-binding/nonRouteComponentContext.js +13 -0
- package/dist/esm/router-binding/not-found.js +35 -0
- package/dist/esm/router-binding/publicMatchData.js +447 -0
- package/dist/esm/router-binding/registryTransfer.js +210 -0
- package/dist/esm/router-binding/renderRouteNotFound.js +23 -0
- package/dist/esm/router-binding/route.js +143 -0
- package/dist/esm/router-binding/router.js +13 -0
- package/dist/esm/router-binding/routerContext.js +3 -0
- package/dist/esm/router-binding/routerStores.js +50 -0
- package/dist/esm/router-binding/scroll-restoration.js +13 -0
- package/dist/esm/router-binding/typePrimitives.js +0 -0
- package/dist/esm/router-binding/useBlocker.js +152 -0
- package/dist/esm/router-binding/useCanGoBack.js +7 -0
- package/dist/esm/router-binding/useLoaderData.js +9 -0
- package/dist/esm/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm/router-binding/useLocation.js +14 -0
- package/dist/esm/router-binding/useMatch.js +28 -0
- package/dist/esm/router-binding/useNavigate.js +19 -0
- package/dist/esm/router-binding/useParams.js +13 -0
- package/dist/esm/router-binding/useRouteContext.js +8 -0
- package/dist/esm/router-binding/useRouter.js +10 -0
- package/dist/esm/router-binding/useRouterState.js +19 -0
- package/dist/esm/router-binding/useSearch.js +13 -0
- package/dist/esm/router-binding/utils.js +23 -0
- package/dist/esm/router.js +187 -0
- package/dist/esm-node/actions.js +263 -0
- package/dist/esm-node/application-router.js +25 -0
- package/dist/esm-node/client.js +49 -0
- package/dist/esm-node/entry-application.js +110 -0
- package/dist/esm-node/entry-client.js +23 -0
- package/dist/esm-node/entry-server.js +47 -0
- package/dist/esm-node/federation-context.js +25 -0
- package/dist/esm-node/federation-ssr.js +84 -0
- package/dist/esm-node/federation.js +83 -0
- package/dist/esm-node/i18n/I18nProvider.js +42 -0
- package/dist/esm-node/i18n/LocalizedLink.js +142 -0
- package/dist/esm-node/i18n/context.js +3 -0
- package/dist/esm-node/i18n/index.js +8 -0
- package/dist/esm-node/i18n/languageSync.js +50 -0
- package/dist/esm-node/i18n/types.js +1 -0
- package/dist/esm-node/i18n/useI18n.js +74 -0
- package/dist/esm-node/index.js +58 -0
- package/dist/esm-node/manifest.js +150 -0
- package/dist/esm-node/native-promise-serialization.js +113 -0
- package/dist/esm-node/plugin/compiler.js +209 -0
- package/dist/esm-node/plugin/create.js +235 -0
- package/dist/esm-node/plugin/index.js +73 -0
- package/dist/esm-node/plugin/profile.js +52 -0
- package/dist/esm-node/route-completion.js +160 -0
- package/dist/esm-node/route-data-error.js +108 -0
- package/dist/esm-node/router-binding/Asset.js +171 -0
- package/dist/esm-node/router-binding/CatchBoundary.js +136 -0
- package/dist/esm-node/router-binding/ClientOnly.js +46 -0
- package/dist/esm-node/router-binding/HeadContent.js +8 -0
- package/dist/esm-node/router-binding/LICENSE +21 -0
- package/dist/esm-node/router-binding/Match.js +660 -0
- package/dist/esm-node/router-binding/Matches.js +161 -0
- package/dist/esm-node/router-binding/PROVENANCE.json +94 -0
- package/dist/esm-node/router-binding/RouterProvider.js +87 -0
- package/dist/esm-node/router-binding/SafeFragment.js +5 -0
- package/dist/esm-node/router-binding/ScriptOnce.js +16 -0
- package/dist/esm-node/router-binding/Scripts.js +49 -0
- package/dist/esm-node/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm-node/router-binding/Transitioner.js +103 -0
- package/dist/esm-node/router-binding/awaited.js +75 -0
- package/dist/esm-node/router-binding/fileRoute.js +83 -0
- package/dist/esm-node/router-binding/flightData.js +23 -0
- package/dist/esm-node/router-binding/headContentUtils.js +162 -0
- package/dist/esm-node/router-binding/history.js +1 -0
- package/dist/esm-node/router-binding/index.js +35 -0
- package/dist/esm-node/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm-node/router-binding/link.js +399 -0
- package/dist/esm-node/router-binding/matchContext.js +7 -0
- package/dist/esm-node/router-binding/nonRouteComponentContext.js +22 -0
- package/dist/esm-node/router-binding/not-found.js +49 -0
- package/dist/esm-node/router-binding/publicMatchData.js +447 -0
- package/dist/esm-node/router-binding/registryTransfer.js +210 -0
- package/dist/esm-node/router-binding/renderRouteNotFound.js +22 -0
- package/dist/esm-node/router-binding/route.js +162 -0
- package/dist/esm-node/router-binding/router.js +13 -0
- package/dist/esm-node/router-binding/routerContext.js +3 -0
- package/dist/esm-node/router-binding/routerStores.js +50 -0
- package/dist/esm-node/router-binding/scroll-restoration.js +12 -0
- package/dist/esm-node/router-binding/typePrimitives.js +1 -0
- package/dist/esm-node/router-binding/useBlocker.js +152 -0
- package/dist/esm-node/router-binding/useCanGoBack.js +7 -0
- package/dist/esm-node/router-binding/useLoaderData.js +9 -0
- package/dist/esm-node/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm-node/router-binding/useLocation.js +14 -0
- package/dist/esm-node/router-binding/useMatch.js +28 -0
- package/dist/esm-node/router-binding/useNavigate.js +19 -0
- package/dist/esm-node/router-binding/useParams.js +13 -0
- package/dist/esm-node/router-binding/useRouteContext.js +8 -0
- package/dist/esm-node/router-binding/useRouter.js +10 -0
- package/dist/esm-node/router-binding/useRouterState.js +19 -0
- package/dist/esm-node/router-binding/useSearch.js +13 -0
- package/dist/esm-node/router-binding/utils.js +23 -0
- package/dist/esm-node/router.js +187 -0
- package/dist/esm-node/server.js +396 -0
- package/dist/types/actions.d.ts +45 -0
- package/dist/types/application-router.d.ts +5 -0
- package/dist/types/client.d.ts +23 -0
- package/dist/types/entry-application.d.ts +10 -0
- package/dist/types/entry-client.d.ts +5 -0
- package/dist/types/entry-server.d.ts +5 -0
- package/dist/types/federation-context.d.ts +16 -0
- package/dist/types/federation-ssr.d.ts +21 -0
- package/dist/types/federation.d.ts +30 -0
- package/dist/types/i18n/I18nProvider.d.ts +21 -0
- package/dist/types/i18n/LocalizedLink.d.ts +43 -0
- package/dist/types/i18n/context.d.ts +11 -0
- package/dist/types/i18n/index.d.ts +9 -0
- package/dist/types/i18n/languageSync.d.ts +31 -0
- package/dist/types/i18n/types.d.ts +33 -0
- package/dist/types/i18n/useI18n.d.ts +24 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/manifest.d.ts +55 -0
- package/dist/types/native-promise-serialization.d.ts +9 -0
- package/dist/types/plugin/compiler.d.ts +6 -0
- package/dist/types/plugin/create.d.ts +21 -0
- package/dist/types/plugin/index.d.ts +3 -0
- package/dist/types/plugin/lazy-modules.d.cts +15 -0
- package/dist/types/plugin/preserve-import-loader.d.cts +3 -0
- package/dist/types/plugin/profile.d.ts +2 -0
- package/dist/types/plugin/solid-loader.d.cts +2 -0
- package/dist/types/plugin/svg-component-template.d.cts +6 -0
- package/dist/types/route-completion.d.ts +21 -0
- package/dist/types/route-data-error.d.ts +17 -0
- package/dist/types/router-binding/Asset.d.ts +3 -0
- package/dist/types/router-binding/CatchBoundary.d.ts +13 -0
- package/dist/types/router-binding/ClientOnly.d.ts +31 -0
- package/dist/types/router-binding/HeadContent.d.ts +13 -0
- package/dist/types/router-binding/Match.d.ts +6 -0
- package/dist/types/router-binding/Matches.d.ts +26 -0
- package/dist/types/router-binding/RouterProvider.d.ts +10 -0
- package/dist/types/router-binding/SafeFragment.d.ts +2 -0
- package/dist/types/router-binding/ScriptOnce.d.ts +6 -0
- package/dist/types/router-binding/Scripts.d.ts +2 -0
- package/dist/types/router-binding/ScrollRestoration.d.ts +14 -0
- package/dist/types/router-binding/Transitioner.d.ts +2 -0
- package/dist/types/router-binding/awaited.d.ts +11 -0
- package/dist/types/router-binding/fileRoute.d.ts +54 -0
- package/dist/types/router-binding/flightData.d.ts +38 -0
- package/dist/types/router-binding/headContentUtils.d.ts +15 -0
- package/dist/types/router-binding/history.d.ts +8 -0
- package/dist/types/router-binding/index.d.ts +45 -0
- package/dist/types/router-binding/lazyRouteComponent.d.ts +2 -0
- package/dist/types/router-binding/link.d.ts +43 -0
- package/dist/types/router-binding/matchContext.d.ts +7 -0
- package/dist/types/router-binding/nonRouteComponentContext.d.ts +5 -0
- package/dist/types/router-binding/not-found.d.ts +11 -0
- package/dist/types/router-binding/publicMatchData.d.ts +19 -0
- package/dist/types/router-binding/registryTransfer.d.ts +47 -0
- package/dist/types/router-binding/renderRouteNotFound.d.ts +11 -0
- package/dist/types/router-binding/route.d.ts +105 -0
- package/dist/types/router-binding/router.d.ts +70 -0
- package/dist/types/router-binding/routerContext.d.ts +3 -0
- package/dist/types/router-binding/routerStores.d.ts +2 -0
- package/dist/types/router-binding/scroll-restoration.d.ts +2 -0
- package/dist/types/router-binding/typePrimitives.d.ts +10 -0
- package/dist/types/router-binding/useBlocker.d.ts +70 -0
- package/dist/types/router-binding/useCanGoBack.d.ts +2 -0
- package/dist/types/router-binding/useLoaderData.d.ts +8 -0
- package/dist/types/router-binding/useLoaderDeps.d.ts +8 -0
- package/dist/types/router-binding/useLocation.d.ts +7 -0
- package/dist/types/router-binding/useMatch.d.ts +10 -0
- package/dist/types/router-binding/useNavigate.d.ts +5 -0
- package/dist/types/router-binding/useParams.d.ts +9 -0
- package/dist/types/router-binding/useRouteContext.d.ts +4 -0
- package/dist/types/router-binding/useRouter.d.ts +4 -0
- package/dist/types/router-binding/useRouterState.d.ts +8 -0
- package/dist/types/router-binding/useSearch.d.ts +9 -0
- package/dist/types/router-binding/utils.d.ts +25 -0
- package/dist/types/router.d.ts +31 -0
- package/dist/types/server.d.ts +47 -0
- package/package.json +118 -4
- package/src/actions.tsx +437 -0
- package/src/application-router.tsx +41 -0
- package/src/client.ts +106 -0
- package/src/entry-application.tsx +73 -0
- package/src/entry-client.tsx +48 -0
- package/src/entry-server.tsx +85 -0
- package/src/federation-context.ts +47 -0
- package/src/federation-ssr.ts +117 -0
- package/src/federation.tsx +193 -0
- package/src/i18n/I18nProvider.tsx +54 -0
- package/src/i18n/LocalizedLink.tsx +122 -0
- package/src/i18n/context.ts +13 -0
- package/src/i18n/index.ts +35 -0
- package/src/i18n/languageSync.ts +113 -0
- package/src/i18n/types.ts +35 -0
- package/src/i18n/useI18n.ts +121 -0
- package/src/index.ts +41 -0
- package/src/manifest.ts +337 -0
- package/src/native-promise-serialization.ts +167 -0
- package/src/plugin/compiler.ts +320 -0
- package/src/plugin/create.ts +270 -0
- package/src/plugin/index.ts +72 -0
- package/src/plugin/lazy-modules.cjs +146 -0
- package/src/plugin/preserve-import-loader.cjs +46 -0
- package/src/plugin/profile.ts +42 -0
- package/src/plugin/solid-loader.cjs +83 -0
- package/src/plugin/svg-component-template.cjs +19 -0
- package/src/route-completion.tsx +222 -0
- package/src/route-data-error.ts +175 -0
- package/src/router-binding/Asset.tsx +283 -0
- package/src/router-binding/CatchBoundary.tsx +130 -0
- package/src/router-binding/ClientOnly.tsx +76 -0
- package/src/router-binding/HeadContent.tsx +23 -0
- package/src/router-binding/LICENSE +21 -0
- package/src/router-binding/Match.tsx +397 -0
- package/src/router-binding/Matches.tsx +242 -0
- package/src/router-binding/PROVENANCE.json +94 -0
- package/src/router-binding/RouterProvider.tsx +129 -0
- package/src/router-binding/SafeFragment.tsx +5 -0
- package/src/router-binding/ScriptOnce.tsx +23 -0
- package/src/router-binding/Scripts.tsx +44 -0
- package/src/router-binding/ScrollRestoration.tsx +49 -0
- package/src/router-binding/Transitioner.tsx +172 -0
- package/src/router-binding/awaited.tsx +71 -0
- package/src/router-binding/fileRoute.ts +268 -0
- package/src/router-binding/flightData.ts +90 -0
- package/src/router-binding/headContentUtils.tsx +290 -0
- package/src/router-binding/history.ts +9 -0
- package/src/router-binding/index.tsx +318 -0
- package/src/router-binding/lazyRouteComponent.tsx +70 -0
- package/src/router-binding/link.tsx +865 -0
- package/src/router-binding/matchContext.tsx +15 -0
- package/src/router-binding/nonRouteComponentContext.tsx +23 -0
- package/src/router-binding/not-found.tsx +65 -0
- package/src/router-binding/publicMatchData.ts +674 -0
- package/src/router-binding/registryTransfer.ts +383 -0
- package/src/router-binding/renderRouteNotFound.tsx +53 -0
- package/src/router-binding/route.tsx +665 -0
- package/src/router-binding/router.ts +121 -0
- package/src/router-binding/routerContext.tsx +6 -0
- package/src/router-binding/routerStores.ts +85 -0
- package/src/router-binding/scroll-restoration.tsx +15 -0
- package/src/router-binding/typePrimitives.ts +74 -0
- package/src/router-binding/useBlocker.tsx +359 -0
- package/src/router-binding/useCanGoBack.ts +9 -0
- package/src/router-binding/useLoaderData.tsx +50 -0
- package/src/router-binding/useLoaderDeps.tsx +46 -0
- package/src/router-binding/useLocation.tsx +43 -0
- package/src/router-binding/useMatch.tsx +111 -0
- package/src/router-binding/useNavigate.tsx +43 -0
- package/src/router-binding/useParams.tsx +72 -0
- package/src/router-binding/useRouteContext.ts +30 -0
- package/src/router-binding/useRouter.tsx +17 -0
- package/src/router-binding/useRouterState.tsx +50 -0
- package/src/router-binding/useSearch.tsx +72 -0
- package/src/router-binding/utils.ts +59 -0
- package/src/router.ts +376 -0
- package/src/server.ts +645 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { getLocationChangeInfo, trimPathRight } from "@tanstack/router-core";
|
|
2
|
+
import { isServer } from "@tanstack/router-core/isServer";
|
|
3
|
+
import { useRouter } from "./useRouter.js";
|
|
4
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
5
|
+
function describeNavigation(router, expected, at) {
|
|
6
|
+
if (expected.some((match)=>"pending" === match.status)) return;
|
|
7
|
+
const to = router.latestLocation;
|
|
8
|
+
const from = router.stores.resolvedLocation.get();
|
|
9
|
+
if (!from || from.href === to.href) return;
|
|
10
|
+
const leaf = expected[expected.length - 1];
|
|
11
|
+
const ref = {
|
|
12
|
+
kind: "navigation",
|
|
13
|
+
name: leaf?.fullPath || to.pathname,
|
|
14
|
+
to: to.pathname,
|
|
15
|
+
from: from.pathname
|
|
16
|
+
};
|
|
17
|
+
if (leaf && Object.keys(leaf.params).length) ref.params = leaf.params;
|
|
18
|
+
if (void 0 !== at) ref.at = at;
|
|
19
|
+
return ref;
|
|
20
|
+
}
|
|
21
|
+
function getResolvedLocation(router) {
|
|
22
|
+
const resolvedLocation = router.stores.resolvedLocation.get();
|
|
23
|
+
if (resolvedLocation?.href === router.latestLocation.href && resolvedLocation.state.__TSR_key === router.latestLocation.state.__TSR_key) return resolvedLocation;
|
|
24
|
+
}
|
|
25
|
+
function Transitioner() {
|
|
26
|
+
const router = useRouter();
|
|
27
|
+
const acks = [];
|
|
28
|
+
let committed;
|
|
29
|
+
const isCommitted = (expected)=>!!committed && committed.length === expected.length && expected.every((match, index)=>committed[index] === match);
|
|
30
|
+
let requestedAt;
|
|
31
|
+
router.startTransition = (fn, expectedMatches)=>{
|
|
32
|
+
if (isServer ?? router.isServer) {
|
|
33
|
+
fn();
|
|
34
|
+
return Promise.resolve(true);
|
|
35
|
+
}
|
|
36
|
+
return new Promise((resolve)=>{
|
|
37
|
+
const ack = [
|
|
38
|
+
expectedMatches,
|
|
39
|
+
resolve
|
|
40
|
+
];
|
|
41
|
+
acks.push(ack);
|
|
42
|
+
let publish = fn;
|
|
43
|
+
if (void 0 !== __rspack_external_solid_js_0ac0db99.OBSERVE) {
|
|
44
|
+
const ref = describeNavigation(router, expectedMatches, requestedAt);
|
|
45
|
+
if (void 0 !== ref) {
|
|
46
|
+
requestedAt = void 0;
|
|
47
|
+
const observe = __rspack_external_solid_js_0ac0db99.OBSERVE;
|
|
48
|
+
publish = ()=>observe.attribution.withOrigin(ref, fn);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
__rspack_external_solid_js_0ac0db99.runWithOwner(null, publish);
|
|
52
|
+
try {
|
|
53
|
+
__rspack_external_solid_js_0ac0db99.flush();
|
|
54
|
+
} catch {}
|
|
55
|
+
if (acks.includes(ack) && isCommitted(expectedMatches)) {
|
|
56
|
+
acks.splice(acks.indexOf(ack), 1);
|
|
57
|
+
resolve(true);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>router.stores.matches.get(), (current)=>{
|
|
62
|
+
committed = current;
|
|
63
|
+
if (acks.length) for (const [expected, resolve] of acks.splice(0))resolve(isCommitted(expected));
|
|
64
|
+
});
|
|
65
|
+
__rspack_external_solid_js_0ac0db99.onSettled(()=>{
|
|
66
|
+
const unsub = router.history.subscribe(()=>{
|
|
67
|
+
requestedAt ??= performance.now();
|
|
68
|
+
queueMicrotask(()=>router.load().catch(console.error));
|
|
69
|
+
});
|
|
70
|
+
router.updateLatestLocation();
|
|
71
|
+
const nextLocation = router.buildLocation({
|
|
72
|
+
to: router.latestLocation.pathname,
|
|
73
|
+
search: true,
|
|
74
|
+
params: true,
|
|
75
|
+
hash: true,
|
|
76
|
+
state: true,
|
|
77
|
+
_includeValidateSearch: true
|
|
78
|
+
});
|
|
79
|
+
if (trimPathRight(router.latestLocation.publicHref) !== trimPathRight(nextLocation.publicHref)) {
|
|
80
|
+
router.commitLocation({
|
|
81
|
+
...nextLocation,
|
|
82
|
+
replace: true,
|
|
83
|
+
ignoreBlocker: true
|
|
84
|
+
});
|
|
85
|
+
return unsub;
|
|
86
|
+
}
|
|
87
|
+
if (!getResolvedLocation(router) && !router._tx) queueMicrotask(()=>router.load().catch(console.error));
|
|
88
|
+
return unsub;
|
|
89
|
+
});
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
function Rendered() {
|
|
93
|
+
const router = useRouter();
|
|
94
|
+
__rspack_external_solid_js_0ac0db99.onSettled(()=>{
|
|
95
|
+
const resolvedLocation = getResolvedLocation(router);
|
|
96
|
+
if (resolvedLocation) router.emit({
|
|
97
|
+
type: "onRendered",
|
|
98
|
+
...getLocationChangeInfo(resolvedLocation, resolvedLocation)
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
export { Rendered, Transitioner };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createComponent } from "@solidjs/web";
|
|
2
|
+
import { TSR_DEFERRED_PROMISE, defer } from "@tanstack/router-core";
|
|
3
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
4
|
+
function track(promise) {
|
|
5
|
+
return defer(Object.isExtensible(promise) ? promise : promise.then((v)=>v));
|
|
6
|
+
}
|
|
7
|
+
function useAwaited({ promise: _promise }) {
|
|
8
|
+
const promise = track(_promise);
|
|
9
|
+
const data = __rspack_external_solid_js_0ac0db99.createMemo(async ()=>await promise);
|
|
10
|
+
return [
|
|
11
|
+
data(),
|
|
12
|
+
promise
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
function InnerAwait(props) {
|
|
16
|
+
return createComponent(__rspack_external_solid_js_0ac0db99.Show, {
|
|
17
|
+
get when () {
|
|
18
|
+
return props.ready();
|
|
19
|
+
},
|
|
20
|
+
children: (_)=>{
|
|
21
|
+
const state = props.deferred[TSR_DEFERRED_PROMISE];
|
|
22
|
+
if ("error" === state.status) throw state.error;
|
|
23
|
+
return props.children(state.data);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function Await(props) {
|
|
28
|
+
const deferred = track(props.promise);
|
|
29
|
+
const ready = __rspack_external_solid_js_0ac0db99.createMemo(async ()=>{
|
|
30
|
+
await deferred;
|
|
31
|
+
return true;
|
|
32
|
+
});
|
|
33
|
+
const inner = createComponent(InnerAwait, {
|
|
34
|
+
deferred,
|
|
35
|
+
ready,
|
|
36
|
+
get children () {
|
|
37
|
+
return props.children;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (void 0 === props.fallback) return inner;
|
|
41
|
+
return createComponent(__rspack_external_solid_js_0ac0db99.Loading, {
|
|
42
|
+
get fallback () {
|
|
43
|
+
return props.fallback;
|
|
44
|
+
},
|
|
45
|
+
children: inner
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export { Await, useAwaited };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { createRoute } from "./route.js";
|
|
2
|
+
import { useLoaderData } from "./useLoaderData.js";
|
|
3
|
+
import { useLoaderDeps } from "./useLoaderDeps.js";
|
|
4
|
+
import { useMatch } from "./useMatch.js";
|
|
5
|
+
import { useNavigate } from "./useNavigate.js";
|
|
6
|
+
import { useParams } from "./useParams.js";
|
|
7
|
+
import { useRouteContext } from "./useRouteContext.js";
|
|
8
|
+
import { useRouter } from "./useRouter.js";
|
|
9
|
+
import { useSearch } from "./useSearch.js";
|
|
10
|
+
function createFileRoute(_path) {
|
|
11
|
+
return (options)=>{
|
|
12
|
+
const route = createRoute(options);
|
|
13
|
+
route.isRoot = false;
|
|
14
|
+
return route;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
class FileRoute {
|
|
18
|
+
constructor(path, _opts){
|
|
19
|
+
this.path = path;
|
|
20
|
+
this.createRoute = (options)=>{
|
|
21
|
+
if ("production" !== process.env.NODE_ENV) {
|
|
22
|
+
if (!this.silent) console.warn("Warning: FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.");
|
|
23
|
+
}
|
|
24
|
+
const route = createRoute(options);
|
|
25
|
+
route.isRoot = false;
|
|
26
|
+
return route;
|
|
27
|
+
};
|
|
28
|
+
this.silent = _opts?.silent;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function FileRouteLoader(_path) {
|
|
32
|
+
if ("production" !== process.env.NODE_ENV) console.warn("Warning: FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the main route file, inside the `createFileRoute('/path/to/file')(options)` options");
|
|
33
|
+
return (loaderFn)=>loaderFn;
|
|
34
|
+
}
|
|
35
|
+
class LazyRoute {
|
|
36
|
+
constructor(opts){
|
|
37
|
+
this.useMatch = (opts)=>useMatch({
|
|
38
|
+
select: opts?.select,
|
|
39
|
+
from: this.options.id
|
|
40
|
+
});
|
|
41
|
+
this.useRouteContext = (opts)=>useRouteContext({
|
|
42
|
+
...opts,
|
|
43
|
+
from: this.options.id
|
|
44
|
+
});
|
|
45
|
+
this.useSearch = (opts)=>useSearch({
|
|
46
|
+
select: opts?.select,
|
|
47
|
+
from: this.options.id
|
|
48
|
+
});
|
|
49
|
+
this.useParams = (opts)=>useParams({
|
|
50
|
+
select: opts?.select,
|
|
51
|
+
from: this.options.id
|
|
52
|
+
});
|
|
53
|
+
this.useLoaderDeps = (opts)=>useLoaderDeps({
|
|
54
|
+
...opts,
|
|
55
|
+
from: this.options.id
|
|
56
|
+
});
|
|
57
|
+
this.useLoaderData = (opts)=>useLoaderData({
|
|
58
|
+
...opts,
|
|
59
|
+
from: this.options.id
|
|
60
|
+
});
|
|
61
|
+
this.useNavigate = ()=>{
|
|
62
|
+
const router = useRouter();
|
|
63
|
+
return useNavigate({
|
|
64
|
+
from: router.routesById[this.options.id].fullPath
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
this.options = opts;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function createLazyRoute(id) {
|
|
71
|
+
return (opts)=>new LazyRoute({
|
|
72
|
+
id,
|
|
73
|
+
...opts
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function createLazyFileRoute(id) {
|
|
77
|
+
if ("object" == typeof id) return new LazyRoute(id);
|
|
78
|
+
return (opts)=>new LazyRoute({
|
|
79
|
+
id,
|
|
80
|
+
...opts
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export { FileRoute, FileRouteLoader, LazyRoute, createFileRoute, createLazyFileRoute, createLazyRoute };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { REVALIDATE_HEADER } from "@solidjs/web";
|
|
2
|
+
import { REDIRECT_HEADER, decodeRedirectHeaderValue, subscribeFlightData } from "@solidjs/web/server-functions";
|
|
3
|
+
function setupFlightDataConsumer(router) {
|
|
4
|
+
return subscribeFlightData((_data, { response })=>applyResponseMetadata(router, response));
|
|
5
|
+
}
|
|
6
|
+
function applyResponseMetadata(router, response) {
|
|
7
|
+
const carried = decodeRedirectHeaderValue(response.headers.get(REDIRECT_HEADER));
|
|
8
|
+
const declared = response.headers.get(REVALIDATE_HEADER);
|
|
9
|
+
if (!carried && null === declared) return;
|
|
10
|
+
const reload = null === declared || declared.split(",").some(Boolean);
|
|
11
|
+
const target = carried ? new URL(carried.url) : void 0;
|
|
12
|
+
const origin = router.options.origin ?? window.location.origin;
|
|
13
|
+
if (target && target.origin !== origin) return void router.navigate({
|
|
14
|
+
href: target.href,
|
|
15
|
+
replace: true
|
|
16
|
+
});
|
|
17
|
+
if (target) router.navigate({
|
|
18
|
+
href: target.pathname + target.search + target.hash,
|
|
19
|
+
replace: true
|
|
20
|
+
}).catch(console.error);
|
|
21
|
+
if (reload) router.invalidate().catch(console.error);
|
|
22
|
+
}
|
|
23
|
+
export { applyResponseMetadata, setupFlightDataConsumer };
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { _getAssetMatches, appendUniqueUserTags, escapeHtml, getAssetCrossOrigin, getScriptPreloadAttrs, resolveManifestCssLink } from "@tanstack/router-core";
|
|
2
|
+
import { isServer } from "@tanstack/router-core/isServer";
|
|
3
|
+
import { useRouter } from "./useRouter.js";
|
|
4
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
5
|
+
const useTags = (assetCrossOrigin)=>{
|
|
6
|
+
const router = useRouter();
|
|
7
|
+
const nonce = router.options.ssr?.nonce;
|
|
8
|
+
const activeMatches = __rspack_external_solid_js_0ac0db99.createMemo(()=>_getAssetMatches(router.stores.matches.get()));
|
|
9
|
+
const routeMeta = __rspack_external_solid_js_0ac0db99.createMemo(()=>activeMatches().map((match)=>match.meta).filter((meta)=>void 0 !== meta));
|
|
10
|
+
const meta = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
11
|
+
const resultMeta = [];
|
|
12
|
+
const metaByAttribute = {};
|
|
13
|
+
let title;
|
|
14
|
+
const routeMetasArray = routeMeta();
|
|
15
|
+
for(let i = routeMetasArray.length - 1; i >= 0; i--){
|
|
16
|
+
const metas = routeMetasArray[i];
|
|
17
|
+
for(let j = metas.length - 1; j >= 0; j--){
|
|
18
|
+
const m = metas[j];
|
|
19
|
+
if (m) if (m.title) {
|
|
20
|
+
if (!title) title = {
|
|
21
|
+
tag: "title",
|
|
22
|
+
children: m.title
|
|
23
|
+
};
|
|
24
|
+
} else if ("script:ld+json" in m) try {
|
|
25
|
+
const json = JSON.stringify(m["script:ld+json"]);
|
|
26
|
+
resultMeta.push({
|
|
27
|
+
tag: "script",
|
|
28
|
+
attrs: {
|
|
29
|
+
type: "application/ld+json"
|
|
30
|
+
},
|
|
31
|
+
children: escapeHtml(json)
|
|
32
|
+
});
|
|
33
|
+
} catch {}
|
|
34
|
+
else {
|
|
35
|
+
const attribute = m.name ?? m.property;
|
|
36
|
+
if (attribute) {
|
|
37
|
+
if (metaByAttribute[attribute]) continue;
|
|
38
|
+
metaByAttribute[attribute] = true;
|
|
39
|
+
}
|
|
40
|
+
resultMeta.push({
|
|
41
|
+
tag: "meta",
|
|
42
|
+
attrs: {
|
|
43
|
+
...m,
|
|
44
|
+
nonce
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (title) resultMeta.push(title);
|
|
51
|
+
if (nonce) resultMeta.push({
|
|
52
|
+
tag: "meta",
|
|
53
|
+
attrs: {
|
|
54
|
+
property: "csp-nonce",
|
|
55
|
+
content: nonce
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
resultMeta.reverse();
|
|
59
|
+
return resultMeta;
|
|
60
|
+
});
|
|
61
|
+
const links = __rspack_external_solid_js_0ac0db99.createMemo(()=>activeMatches().flatMap((match)=>match.links ?? []).filter((link)=>void 0 !== link).map((link)=>({
|
|
62
|
+
tag: "link",
|
|
63
|
+
attrs: {
|
|
64
|
+
...link,
|
|
65
|
+
nonce
|
|
66
|
+
}
|
|
67
|
+
})));
|
|
68
|
+
const retainedManifestCssTags = new Map();
|
|
69
|
+
const manifestCssTags = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
70
|
+
const manifest = router.ssr?.manifest;
|
|
71
|
+
const tags = [];
|
|
72
|
+
if (!manifest) return tags;
|
|
73
|
+
for (const match of activeMatches())for (const link of manifest.routes[match.routeId]?.css ?? []){
|
|
74
|
+
const resolvedLink = resolveManifestCssLink(link);
|
|
75
|
+
const tag = {
|
|
76
|
+
tag: "link",
|
|
77
|
+
attrs: {
|
|
78
|
+
rel: "stylesheet",
|
|
79
|
+
...resolvedLink,
|
|
80
|
+
crossOrigin: getAssetCrossOrigin(assetCrossOrigin, "stylesheet") ?? resolvedLink.crossOrigin,
|
|
81
|
+
nonce
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const key = JSON.stringify(tag);
|
|
85
|
+
if (!retainedManifestCssTags.has(key)) retainedManifestCssTags.set(key, tag);
|
|
86
|
+
}
|
|
87
|
+
tags.push(...retainedManifestCssTags.values());
|
|
88
|
+
if (manifest.inlineStyle) tags.push({
|
|
89
|
+
tag: "style",
|
|
90
|
+
attrs: {
|
|
91
|
+
...manifest.inlineStyle.attrs,
|
|
92
|
+
nonce
|
|
93
|
+
},
|
|
94
|
+
children: manifest.inlineStyle.children,
|
|
95
|
+
inlineCss: true
|
|
96
|
+
});
|
|
97
|
+
return tags;
|
|
98
|
+
});
|
|
99
|
+
const preloadLinks = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
100
|
+
const manifest = router.ssr?.manifest;
|
|
101
|
+
const tags = [];
|
|
102
|
+
for (const match of activeMatches())for (const preload of manifest?.routes[match.routeId]?.preloads ?? [])if (preload) tags.push({
|
|
103
|
+
tag: "link",
|
|
104
|
+
attrs: {
|
|
105
|
+
...getScriptPreloadAttrs(manifest, preload, assetCrossOrigin),
|
|
106
|
+
nonce
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return tags;
|
|
110
|
+
});
|
|
111
|
+
const styles = __rspack_external_solid_js_0ac0db99.createMemo(()=>activeMatches().flatMap((match)=>match.styles ?? []).filter((style)=>void 0 !== style).map(({ children, ...attrs })=>({
|
|
112
|
+
tag: "style",
|
|
113
|
+
attrs: {
|
|
114
|
+
...attrs,
|
|
115
|
+
nonce
|
|
116
|
+
},
|
|
117
|
+
children: children
|
|
118
|
+
})));
|
|
119
|
+
const headScripts = __rspack_external_solid_js_0ac0db99.createMemo(()=>activeMatches().flatMap((match)=>match.headScripts ?? []).filter((script)=>void 0 !== script).map(({ children, ...attrs })=>({
|
|
120
|
+
tag: "script",
|
|
121
|
+
attrs: {
|
|
122
|
+
...attrs,
|
|
123
|
+
nonce
|
|
124
|
+
},
|
|
125
|
+
children: children
|
|
126
|
+
})));
|
|
127
|
+
return __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
128
|
+
const next = [];
|
|
129
|
+
appendUniqueUserTags(next, meta());
|
|
130
|
+
appendUniqueUserTags(next, links());
|
|
131
|
+
next.push(...manifestCssTags());
|
|
132
|
+
next.push(...preloadLinks());
|
|
133
|
+
appendUniqueUserTags(next, styles());
|
|
134
|
+
appendUniqueUserTags(next, headScripts());
|
|
135
|
+
return next;
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
const INLINE_CSS_HYDRATION_ATTR = "data-tsr-inline-css";
|
|
139
|
+
function toHeadTags(tags) {
|
|
140
|
+
return tags.map(toHeadTag);
|
|
141
|
+
}
|
|
142
|
+
function toHeadTag(t) {
|
|
143
|
+
const props = {
|
|
144
|
+
...t.attrs
|
|
145
|
+
};
|
|
146
|
+
let children = t.children;
|
|
147
|
+
if ("style" === t.tag && t.inlineCss && ("true" === process.env.TSS_INLINE_CSS_ENABLED || void 0 === process.env.TSS_INLINE_CSS_ENABLED && isServer)) props[INLINE_CSS_HYDRATION_ATTR] = "";
|
|
148
|
+
if ("style" === t.tag && t.inlineCss && void 0 === children && "u" > typeof document) children = document.querySelector(`style[${INLINE_CSS_HYDRATION_ATTR}]`)?.textContent ?? "";
|
|
149
|
+
if (void 0 !== children) props.children = children;
|
|
150
|
+
const headTag = {
|
|
151
|
+
tag: t.tag,
|
|
152
|
+
props
|
|
153
|
+
};
|
|
154
|
+
if ("style" === t.tag || "script" === t.tag && void 0 === props.src) headTag.key = `tsr-${hashString(t.tag + JSON.stringify(props))}`;
|
|
155
|
+
return headTag;
|
|
156
|
+
}
|
|
157
|
+
function hashString(s) {
|
|
158
|
+
let h = 5381;
|
|
159
|
+
for(let i = 0; i < s.length; i++)h = (h << 5) + h + s.charCodeAt(i) | 0;
|
|
160
|
+
return (h >>> 0).toString(36);
|
|
161
|
+
}
|
|
162
|
+
export { toHeadTags, useTags };
|
|
File without changes
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export * from "./history.js";
|
|
2
|
+
export { createBrowserHistory, createHashHistory, createHistory, createMemoryHistory } from "@tanstack/history";
|
|
3
|
+
export { DEFAULT_PROTOCOL_ALLOWLIST, SearchParamError, cleanPath, composeRewrites, createControlledPromise, createSerializationAdapter, deepEqual, defaultParseSearch, defaultStringifySearch, defer, functionalUpdate, interpolatePath, isMatch, isNotFound, isRedirect, joinPaths, lazyFn, notFound, parseSearchWith, redirect, replaceEqualDeep, resolvePath, retainSearchParams, rootRouteId, stringifySearchWith, stripSearchParams, trimPath, trimPathLeft, trimPathRight } from "@tanstack/router-core";
|
|
4
|
+
export { Asset } from "./Asset.js";
|
|
5
|
+
export { Await, useAwaited } from "./awaited.js";
|
|
6
|
+
export { CatchBoundary, ErrorComponent } from "./CatchBoundary.js";
|
|
7
|
+
export { ClientOnly, useHydrated } from "./ClientOnly.js";
|
|
8
|
+
export { FileRoute, FileRouteLoader, LazyRoute, createFileRoute, createLazyFileRoute, createLazyRoute } from "./fileRoute.js";
|
|
9
|
+
export { HeadContent } from "./HeadContent.js";
|
|
10
|
+
export { useTags } from "./headContentUtils.js";
|
|
11
|
+
export { lazyRouteComponent } from "./lazyRouteComponent.js";
|
|
12
|
+
export { Link, createLink, linkOptions, useLinkProps } from "./link.js";
|
|
13
|
+
export { Match, Outlet } from "./Match.js";
|
|
14
|
+
export { MatchRoute, Matches, useChildMatches, useMatchRoute, useMatches, useParentMatches } from "./Matches.js";
|
|
15
|
+
export { CatchNotFound, DefaultGlobalNotFound } from "./not-found.js";
|
|
16
|
+
export { preparePublicContextData, preparePublicLoaderData, preparePublicMatchError } from "./publicMatchData.js";
|
|
17
|
+
export { RouterContextProvider, RouterProvider } from "./RouterProvider.js";
|
|
18
|
+
export { prepareRouterMatchTransfer } from "./registryTransfer.js";
|
|
19
|
+
export { NotFoundRoute, RootRoute, Route, RouteApi, createRootRoute, createRootRouteWithContext, createRoute, createRouteMask, getRouteApi, rootRouteWithContext } from "./route.js";
|
|
20
|
+
export { Router, createRouter } from "./router.js";
|
|
21
|
+
export { ScriptOnce } from "./ScriptOnce.js";
|
|
22
|
+
export { Scripts } from "./Scripts.js";
|
|
23
|
+
export { ScrollRestoration, useElementScrollRestoration } from "./ScrollRestoration.js";
|
|
24
|
+
export { Block, useBlocker } from "./useBlocker.js";
|
|
25
|
+
export { useCanGoBack } from "./useCanGoBack.js";
|
|
26
|
+
export { useLoaderData } from "./useLoaderData.js";
|
|
27
|
+
export { useLoaderDeps } from "./useLoaderDeps.js";
|
|
28
|
+
export { useLocation } from "./useLocation.js";
|
|
29
|
+
export { useMatch } from "./useMatch.js";
|
|
30
|
+
export { Navigate, useNavigate } from "./useNavigate.js";
|
|
31
|
+
export { useParams } from "./useParams.js";
|
|
32
|
+
export { useRouteContext } from "./useRouteContext.js";
|
|
33
|
+
export { useRouter } from "./useRouter.js";
|
|
34
|
+
export { useRouterState } from "./useRouterState.js";
|
|
35
|
+
export { useSearch } from "./useSearch.js";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { isModuleNotFoundError } from "@tanstack/router-core";
|
|
2
|
+
import { lazy } from "solid-js";
|
|
3
|
+
function lazyRouteComponent(importer, exportName) {
|
|
4
|
+
const resolvedExport = exportName ?? "default";
|
|
5
|
+
let preloadPromise;
|
|
6
|
+
const comp = lazy(()=>importer().catch((error)=>{
|
|
7
|
+
if (isModuleNotFoundError(error) && error instanceof Error && "u" > typeof window && "u" > typeof sessionStorage) {
|
|
8
|
+
const storageKey = `tanstack_router_reload:${error.message}`;
|
|
9
|
+
if (!sessionStorage.getItem(storageKey)) {
|
|
10
|
+
sessionStorage.setItem(storageKey, "1");
|
|
11
|
+
window.location.reload();
|
|
12
|
+
return {
|
|
13
|
+
[resolvedExport]: ()=>null
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw error;
|
|
18
|
+
}), {
|
|
19
|
+
export: resolvedExport
|
|
20
|
+
});
|
|
21
|
+
const load = comp.preload;
|
|
22
|
+
comp.preload = ()=>{
|
|
23
|
+
if (!preloadPromise) preloadPromise = load().then(()=>{}, ()=>{
|
|
24
|
+
preloadPromise = void 0;
|
|
25
|
+
});
|
|
26
|
+
return preloadPromise;
|
|
27
|
+
};
|
|
28
|
+
return comp;
|
|
29
|
+
}
|
|
30
|
+
export { lazyRouteComponent };
|