@tanstack/solid-router 1.124.0 → 1.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Match.js","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n pick,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const routeId = useRouterState({\n select: (s) => {\n return s.matches.find((d) => d.id === props.matchId)?.routeId as string\n },\n })\n\n invariant(\n routeId,\n `Could not find routeId for matchId \"${props.matchId}\". Please file an issue!`,\n )\n\n const route: () => AnyRoute = () => router.routesById[routeId()]\n\n const PendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const ResolvedSuspenseBoundary = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot || route().options.wrapInSuspense) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n (route().options.errorComponent as any)?.preload)\n ? Solid.Suspense\n : SafeFragment\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={<Dynamic component={PendingComponent()} />}\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${props.matchId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <MatchInner matchId={props.matchId} />\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n // { match, key, routeId } =\n const matchState: Solid.Accessor<any> = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: pick(match, ['id', 'status', 'error']),\n }\n },\n })\n\n const route = () => router.routesById[matchState().routeId]!\n\n // function useChangedDiff(value: any) {\n // const ref = Solid.useRef(value)\n // const changed = ref.current !== value\n // if (changed) {\n // console.log(\n // 'Changed:',\n // value,\n // Object.fromEntries(\n // Object.entries(value).filter(\n // ([key, val]) => val !== ref.current[key],\n // ),\n // ),\n // )\n // }\n // ref.current = value\n // }\n\n // useChangedDiff(match)\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n return (\n <Solid.Switch>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (router.isServer) {\n const RouteErrorComponent =\n (route().options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={match().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs && !router.getMatch(match().id)?.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise,\n }))\n })\n\n setTimeout(() => {\n minPendingPromise.resolve()\n\n // We've handled the minPendingPromise, so we can delete it\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise: undefined,\n }))\n }, pendingMinMs)\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>{out()}</Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\n )\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n return (\n <Solid.Switch>\n <Solid.Match when={router.isShell}>\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <ErrorComponent error={new Error('ShellBoundaryError')} />\n </Solid.Suspense>\n </Solid.Match>\n\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","routeId","useRouterState","select","s","matches","find","d","id","matchId","invariant","route","routesById","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","ResolvedSuspenseBoundary","wrapInSuspense","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchState","matchIndex","match","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","pick","out","Comp","defaultComponent","Outlet","Switch","when","status","_","renderRouteNotFound","isRedirect","loaderResult","createResource","Promise","r","setTimeout","getMatch","loadPromise","isServer","RouteErrorComponent","info","componentStack","pendingMinMs","defaultPendingMinMs","minPendingPromise","createControlledPromise","resolve","then","updateMatch","prev","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","isShell","Error","Show"],"mappings":"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"}
1
+ {"version":3,"file":"Match.js","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n pick,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n invariant(\n match,\n `Could not find match for matchId \"${props.matchId}\". Please file an issue!`,\n )\n return pick(match, ['routeId', 'ssr', '_displayPending'])\n },\n })\n\n const route: () => AnyRoute = () => router.routesById[matchState().routeId]\n\n const PendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr =\n matchState().ssr === false || matchState().ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot ||\n route().options.wrapInSuspense ||\n resolvedNoSsr ||\n matchState()._displayPending) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n ((route().options.errorComponent as any)?.preload || resolvedNoSsr))\n ? Solid.Suspense\n : SafeFragment\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={<Dynamic component={PendingComponent()} />}\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${props.matchId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState().routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr || router.isShell}>\n <Solid.Show\n when={!router.isServer}\n fallback={<Dynamic component={PendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: pick(match, [\n 'id',\n 'status',\n 'error',\n '_forcePending',\n '_displayPending',\n ]),\n }\n },\n })\n\n const route = () => router.routesById[matchState().routeId]!\n\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending' || match()._forcePending}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs && !router.getMatch(match().id)?.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise,\n }))\n })\n\n setTimeout(() => {\n minPendingPromise.resolve()\n\n // We've handled the minPendingPromise, so we can delete it\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise: undefined,\n }))\n }, pendingMinMs)\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (router.isServer) {\n const RouteErrorComponent =\n (route().options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={match().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>{out()}</Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\n )\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n return (\n <Solid.Switch>\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","invariant","pick","route","routesById","routeId","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ssr","ResolvedSuspenseBoundary","wrapInSuspense","_displayPending","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","isShell","Show","isServer","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchIndex","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","out","Comp","defaultComponent","Outlet","_","displayPendingResult","createResource","getMatch","displayPendingPromise","status","_forcePending","pendingMinMs","defaultPendingMinMs","minPendingPromise","createControlledPromise","resolve","then","updateMatch","prev","setTimeout","loaderResult","Promise","r","loadPromise","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { AsyncRouteComponent } from './route.js';
2
- export declare function lazyRouteComponent<T extends Record<string, any>, TKey extends keyof T = 'default'>(importer: () => Promise<T>, exportName?: TKey, ssr?: () => boolean): T[TKey] extends (props: infer TProps) => any ? AsyncRouteComponent<TProps> : never;
2
+ export declare function lazyRouteComponent<T extends Record<string, any>, TKey extends keyof T = 'default'>(importer: () => Promise<T>, exportName?: TKey): T[TKey] extends (props: infer TProps) => any ? AsyncRouteComponent<TProps> : never;
@@ -1,19 +1,11 @@
1
1
  import { memo, createComponent, Dynamic, mergeProps } from "solid-js/web";
2
2
  import { createResource } from "solid-js";
3
- import { Outlet } from "./Match.js";
4
- import { ClientOnly } from "./ClientOnly.js";
5
- function isModuleNotFoundError(error) {
6
- return typeof (error == null ? void 0 : error.message) === "string" && /Failed to fetch dynamically imported module/.test(error.message);
7
- }
8
- function lazyRouteComponent(importer, exportName, ssr) {
3
+ import { isModuleNotFoundError } from "@tanstack/router-core";
4
+ function lazyRouteComponent(importer, exportName) {
9
5
  let loadPromise;
10
6
  let comp;
11
7
  let error;
12
8
  const load = () => {
13
- if (typeof document === "undefined" && (ssr == null ? void 0 : ssr()) === false) {
14
- comp = () => null;
15
- return Promise.resolve(comp);
16
- }
17
9
  if (!loadPromise) {
18
10
  loadPromise = importer().then((res) => {
19
11
  loadPromise = void 0;
@@ -48,18 +40,6 @@ function lazyRouteComponent(importer, exportName, ssr) {
48
40
  });
49
41
  return memo(compResource);
50
42
  }
51
- if ((ssr == null ? void 0 : ssr()) === false) {
52
- return createComponent(ClientOnly, {
53
- get fallback() {
54
- return createComponent(Outlet, {});
55
- },
56
- get children() {
57
- return createComponent(Dynamic, mergeProps({
58
- component: comp
59
- }, props));
60
- }
61
- });
62
- }
63
43
  return createComponent(Dynamic, mergeProps({
64
44
  component: comp
65
45
  }, props));
@@ -1 +1 @@
1
- {"version":3,"file":"lazyRouteComponent.js","sources":["../../src/lazyRouteComponent.tsx"],"sourcesContent":["import { Dynamic } from 'solid-js/web'\nimport { createResource } from 'solid-js'\nimport { Outlet } from './Match'\nimport { ClientOnly } from './ClientOnly'\nimport type { AsyncRouteComponent } from './route'\n\n// If the load fails due to module not found, it may mean a new version of\n// the build was deployed and the user's browser is still using an old version.\n// If this happens, the old version in the user's browser would have an outdated\n// URL to the lazy module.\n// In that case, we want to attempt one window refresh to get the latest.\nfunction isModuleNotFoundError(error: any): boolean {\n return (\n typeof error?.message === 'string' &&\n /Failed to fetch dynamically imported module/.test(error.message)\n )\n}\n\nexport function lazyRouteComponent<\n T extends Record<string, any>,\n TKey extends keyof T = 'default',\n>(\n importer: () => Promise<T>,\n exportName?: TKey,\n ssr?: () => boolean,\n): T[TKey] extends (props: infer TProps) => any\n ? AsyncRouteComponent<TProps>\n : never {\n let loadPromise: Promise<any> | undefined\n let comp: T[TKey] | T['default']\n let error: any\n\n const load = () => {\n if (typeof document === 'undefined' && ssr?.() === false) {\n comp = (() => null) as any\n return Promise.resolve(comp)\n }\n if (!loadPromise) {\n loadPromise = importer()\n .then((res) => {\n loadPromise = undefined\n comp = res[exportName ?? 'default']\n return comp\n })\n .catch((err) => {\n error = err\n })\n }\n\n return loadPromise\n }\n\n const lazyComp = function Lazy(props: any) {\n // Now that we're out of preload and into actual render path,\n // throw the error if it was a module not found error during preload\n if (error) {\n if (isModuleNotFoundError(error)) {\n // We don't want an error thrown from preload in this case, because\n // there's nothing we want to do about module not found during preload.\n // Record the error, recover the promise with a null return,\n // and we will attempt module not found resolution during the render path.\n\n if (\n error instanceof Error &&\n typeof window !== 'undefined' &&\n typeof sessionStorage !== 'undefined'\n ) {\n // Again, we want to reload one time on module not found error and not enter\n // a reload loop if there is some other issue besides an old deploy.\n // That's why we store our reload attempt in sessionStorage.\n // Use error.message as key because it contains the module path that failed.\n const storageKey = `tanstack_router_reload:${error.message}`\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, '1')\n window.location.reload()\n\n // Return empty component while we wait for window to reload\n return {\n default: () => null,\n }\n }\n }\n }\n\n // Otherwise, just throw the error\n throw error\n }\n\n if (!comp) {\n const [compResource] = createResource(load, {\n initialValue: comp,\n ssrLoadFrom: 'initial',\n })\n return <>{compResource()}</>\n }\n\n if (ssr?.() === false) {\n return (\n <ClientOnly fallback={<Outlet />}>\n <Dynamic component={comp} {...props} />\n </ClientOnly>\n )\n }\n return <Dynamic component={comp} {...props} />\n }\n\n ;(lazyComp as any).preload = load\n\n return lazyComp as any\n}\n"],"names":["isModuleNotFoundError","error","message","test","lazyRouteComponent","importer","exportName","ssr","loadPromise","comp","load","document","Promise","resolve","then","res","undefined","catch","err","lazyComp","Lazy","props","Error","window","sessionStorage","storageKey","getItem","setItem","location","reload","default","compResource","createResource","initialValue","ssrLoadFrom","_$memo","_$createComponent","ClientOnly","fallback","Outlet","children","Dynamic","_$mergeProps","component","preload"],"mappings":";;;;AAWA,SAASA,sBAAsBC,OAAqB;AAClD,SACE,QAAOA,+BAAOC,aAAY,YAC1B,8CAA8CC,KAAKF,MAAMC,OAAO;AAEpE;AAEgBE,SAAAA,mBAIdC,UACAC,YACAC,KAGQ;AACJC,MAAAA;AACAC,MAAAA;AACAR,MAAAA;AAEJ,QAAMS,OAAOA,MAAM;AACjB,QAAI,OAAOC,aAAa,gBAAeJ,kCAAY,OAAO;AACxDE,aAAQ,MAAM;AACPG,aAAAA,QAAQC,QAAQJ,IAAI;AAAA,IAAA;AAE7B,QAAI,CAACD,aAAa;AACFH,oBAAAA,SAAAA,EACXS,KAAMC,CAAQ,QAAA;AACCC,sBAAAA;AACPD,eAAAA,IAAIT,cAAc,SAAS;AAC3BG,eAAAA;AAAAA,MAAAA,CACR,EACAQ,MAAOC,CAAQ,QAAA;AACNA,gBAAAA;AAAAA,MAAAA,CACT;AAAA,IAAA;AAGEV,WAAAA;AAAAA,EACT;AAEMW,QAAAA,WAAW,SAASC,KAAKC,OAAY;AAGzC,QAAIpB,OAAO;AACLD,UAAAA,sBAAsBC,KAAK,GAAG;AAMhC,YACEA,iBAAiBqB,SACjB,OAAOC,WAAW,eAClB,OAAOC,mBAAmB,aAC1B;AAKMC,gBAAAA,aAAa,0BAA0BxB,MAAMC,OAAO;AAC1D,cAAI,CAACsB,eAAeE,QAAQD,UAAU,GAAG;AACxBE,2BAAAA,QAAQF,YAAY,GAAG;AACtCF,mBAAOK,SAASC,OAAO;AAGhB,mBAAA;AAAA,cACLC,SAASA,MAAM;AAAA,YACjB;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAII7B,YAAAA;AAAAA,IAAAA;AAGR,QAAI,CAACQ,MAAM;AACT,YAAM,CAACsB,YAAY,IAAIC,eAAetB,MAAM;AAAA,QAC1CuB,cAAcxB;AAAAA,QACdyB,aAAa;AAAA,MAAA,CACd;AACD,aAAAC,KAAUJ,YAAY;AAAA,IAAA;AAGpBxB,SAAAA,kCAAY,OAAO;AACrB,aAAA6B,gBACGC,YAAU;AAAA,QAAA,IAACC,WAAQ;AAAAF,iBAAAA,gBAAGG,QAAM,EAAA;AAAA,QAAA;AAAA,QAAA,IAAAC,WAAA;AAAAJ,iBAAAA,gBAC1BK,SAAOC,WAAA;AAAA,YAACC,WAAWlC;AAAAA,UAAI,GAAMY,KAAK,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAIzCe,WAAAA,gBAAQK,SAAOC,WAAA;AAAA,MAACC,WAAWlC;AAAAA,IAAI,GAAMY,KAAK,CAAA;AAAA,EAC5C;AAEEF,WAAiByB,UAAUlC;AAEtBS,SAAAA;AACT;"}
1
+ {"version":3,"file":"lazyRouteComponent.js","sources":["../../src/lazyRouteComponent.tsx"],"sourcesContent":["import { Dynamic } from 'solid-js/web'\nimport { createResource } from 'solid-js'\nimport { isModuleNotFoundError } from '@tanstack/router-core'\nimport type { AsyncRouteComponent } from './route'\n\nexport function lazyRouteComponent<\n T extends Record<string, any>,\n TKey extends keyof T = 'default',\n>(\n importer: () => Promise<T>,\n exportName?: TKey,\n): T[TKey] extends (props: infer TProps) => any\n ? AsyncRouteComponent<TProps>\n : never {\n let loadPromise: Promise<any> | undefined\n let comp: T[TKey] | T['default']\n let error: any\n\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer()\n .then((res) => {\n loadPromise = undefined\n comp = res[exportName ?? 'default']\n return comp\n })\n .catch((err) => {\n error = err\n })\n }\n\n return loadPromise\n }\n\n const lazyComp = function Lazy(props: any) {\n // Now that we're out of preload and into actual render path,\n // throw the error if it was a module not found error during preload\n if (error) {\n // If the load fails due to module not found, it may mean a new version of\n // the build was deployed and the user's browser is still using an old version.\n // If this happens, the old version in the user's browser would have an outdated\n // URL to the lazy module.\n // In that case, we want to attempt one window refresh to get the latest.\n if (isModuleNotFoundError(error)) {\n // We don't want an error thrown from preload in this case, because\n // there's nothing we want to do about module not found during preload.\n // Record the error, recover the promise with a null return,\n // and we will attempt module not found resolution during the render path.\n\n if (\n error instanceof Error &&\n typeof window !== 'undefined' &&\n typeof sessionStorage !== 'undefined'\n ) {\n // Again, we want to reload one time on module not found error and not enter\n // a reload loop if there is some other issue besides an old deploy.\n // That's why we store our reload attempt in sessionStorage.\n // Use error.message as key because it contains the module path that failed.\n const storageKey = `tanstack_router_reload:${error.message}`\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, '1')\n window.location.reload()\n\n // Return empty component while we wait for window to reload\n return {\n default: () => null,\n }\n }\n }\n }\n\n // Otherwise, just throw the error\n throw error\n }\n\n if (!comp) {\n const [compResource] = createResource(load, {\n initialValue: comp,\n ssrLoadFrom: 'initial',\n })\n return <>{compResource()}</>\n }\n\n return <Dynamic component={comp} {...props} />\n }\n\n ;(lazyComp as any).preload = load\n\n return lazyComp as any\n}\n"],"names":["lazyRouteComponent","importer","exportName","loadPromise","comp","error","load","then","res","undefined","catch","err","lazyComp","Lazy","props","isModuleNotFoundError","Error","window","sessionStorage","storageKey","message","getItem","setItem","location","reload","default","compResource","createResource","initialValue","ssrLoadFrom","_$memo","_$createComponent","Dynamic","_$mergeProps","component","preload"],"mappings":";;;AAKgBA,SAAAA,mBAIdC,UACAC,YAGQ;AACJC,MAAAA;AACAC,MAAAA;AACAC,MAAAA;AAEJ,QAAMC,OAAOA,MAAM;AACjB,QAAI,CAACH,aAAa;AACFF,oBAAAA,SAAAA,EACXM,KAAMC,CAAQ,QAAA;AACCC,sBAAAA;AACPD,eAAAA,IAAIN,cAAc,SAAS;AAC3BE,eAAAA;AAAAA,MAAAA,CACR,EACAM,MAAOC,CAAQ,QAAA;AACNA,gBAAAA;AAAAA,MAAAA,CACT;AAAA,IAAA;AAGER,WAAAA;AAAAA,EACT;AAEMS,QAAAA,WAAW,SAASC,KAAKC,OAAY;AAGzC,QAAIT,OAAO;AAMLU,UAAAA,sBAAsBV,KAAK,GAAG;AAMhC,YACEA,iBAAiBW,SACjB,OAAOC,WAAW,eAClB,OAAOC,mBAAmB,aAC1B;AAKMC,gBAAAA,aAAa,0BAA0Bd,MAAMe,OAAO;AAC1D,cAAI,CAACF,eAAeG,QAAQF,UAAU,GAAG;AACxBG,2BAAAA,QAAQH,YAAY,GAAG;AACtCF,mBAAOM,SAASC,OAAO;AAGhB,mBAAA;AAAA,cACLC,SAASA,MAAM;AAAA,YACjB;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAIIpB,YAAAA;AAAAA,IAAAA;AAGR,QAAI,CAACD,MAAM;AACT,YAAM,CAACsB,YAAY,IAAIC,eAAerB,MAAM;AAAA,QAC1CsB,cAAcxB;AAAAA,QACdyB,aAAa;AAAA,MAAA,CACd;AACD,aAAAC,KAAUJ,YAAY;AAAA,IAAA;AAGxBK,WAAAA,gBAAQC,SAAOC,WAAA;AAAA,MAACC,WAAW9B;AAAAA,IAAI,GAAMU,KAAK,CAAA;AAAA,EAC5C;AAEEF,WAAiBuB,UAAU7B;AAEtBM,SAAAA;AACT;"}
@@ -13,13 +13,14 @@ import { renderRouteNotFound } from './renderRouteNotFound';
13
13
  import { ScrollRestoration } from './scroll-restoration';
14
14
  export const Match = (props) => {
15
15
  const router = useRouter();
16
- const routeId = useRouterState({
16
+ const matchState = useRouterState({
17
17
  select: (s) => {
18
- return s.matches.find((d) => d.id === props.matchId)?.routeId;
18
+ const match = s.matches.find((d) => d.id === props.matchId);
19
+ invariant(match, `Could not find match for matchId "${props.matchId}". Please file an issue!`);
20
+ return pick(match, ['routeId', 'ssr', '_displayPending']);
19
21
  },
20
22
  });
21
- invariant(routeId, `Could not find routeId for matchId "${props.matchId}". Please file an issue!`);
22
- const route = () => router.routesById[routeId()];
23
+ const route = () => router.routesById[matchState().routeId];
23
24
  const PendingComponent = () => route().options.pendingComponent ?? router.options.defaultPendingComponent;
24
25
  const routeErrorComponent = () => route().options.errorComponent ?? router.options.defaultErrorComponent;
25
26
  const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
@@ -28,12 +29,16 @@ export const Match = (props) => {
28
29
  (route().options.notFoundComponent ??
29
30
  router.options.notFoundRoute?.options.component)
30
31
  : route().options.notFoundComponent;
32
+ const resolvedNoSsr = matchState().ssr === false || matchState().ssr === 'data-only';
31
33
  const ResolvedSuspenseBoundary = () =>
32
34
  // If we're on the root route, allow forcefully wrapping in suspense
33
- (!route().isRoot || route().options.wrapInSuspense) &&
35
+ (!route().isRoot ||
36
+ route().options.wrapInSuspense ||
37
+ resolvedNoSsr ||
38
+ matchState()._displayPending) &&
34
39
  (route().options.wrapInSuspense ??
35
40
  PendingComponent() ??
36
- route().options.errorComponent?.preload)
41
+ (route().options.errorComponent?.preload || resolvedNoSsr))
37
42
  ? Solid.Suspense
38
43
  : SafeFragment;
39
44
  const ResolvedCatchBoundary = () => routeErrorComponent() ? CatchBoundary : SafeFragment;
@@ -64,12 +69,21 @@ export const Match = (props) => {
64
69
  // If the current not found handler doesn't exist or it has a
65
70
  // route ID which doesn't match the current route, rethrow the error
66
71
  if (!routeNotFoundComponent() ||
67
- (error.routeId && error.routeId !== routeId) ||
72
+ (error.routeId && error.routeId !== matchState().routeId) ||
68
73
  (!error.routeId && !route().isRoot))
69
74
  throw error;
70
75
  return (<Dynamic component={routeNotFoundComponent()} {...error}/>);
71
76
  }}>
72
- <MatchInner matchId={props.matchId}/>
77
+ <Solid.Switch>
78
+ <Solid.Match when={resolvedNoSsr || router.isShell}>
79
+ <Solid.Show when={!router.isServer} fallback={<Dynamic component={PendingComponent()}/>}>
80
+ <MatchInner matchId={props.matchId}/>
81
+ </Solid.Show>
82
+ </Solid.Match>
83
+ <Solid.Match when={!resolvedNoSsr}>
84
+ <MatchInner matchId={props.matchId}/>
85
+ </Solid.Match>
86
+ </Solid.Switch>
73
87
  </Dynamic>
74
88
  </Dynamic>
75
89
  </Dynamic>
@@ -105,7 +119,6 @@ function OnRendered() {
105
119
  }
106
120
  export const MatchInner = (props) => {
107
121
  const router = useRouter();
108
- // { match, key, routeId } =
109
122
  const matchState = useRouterState({
110
123
  select: (s) => {
111
124
  const matchIndex = s.matches.findIndex((d) => d.id === props.matchId);
@@ -123,28 +136,17 @@ export const MatchInner = (props) => {
123
136
  return {
124
137
  key,
125
138
  routeId,
126
- match: pick(match, ['id', 'status', 'error']),
139
+ match: pick(match, [
140
+ 'id',
141
+ 'status',
142
+ 'error',
143
+ '_forcePending',
144
+ '_displayPending',
145
+ ]),
127
146
  };
128
147
  },
129
148
  });
130
149
  const route = () => router.routesById[matchState().routeId];
131
- // function useChangedDiff(value: any) {
132
- // const ref = Solid.useRef(value)
133
- // const changed = ref.current !== value
134
- // if (changed) {
135
- // console.log(
136
- // 'Changed:',
137
- // value,
138
- // Object.fromEntries(
139
- // Object.entries(value).filter(
140
- // ([key, val]) => val !== ref.current[key],
141
- // ),
142
- // ),
143
- // )
144
- // }
145
- // ref.current = value
146
- // }
147
- // useChangedDiff(match)
148
150
  const match = () => matchState().match;
149
151
  const out = () => {
150
152
  const Comp = route().options.component ?? router.options.defaultComponent;
@@ -154,36 +156,13 @@ export const MatchInner = (props) => {
154
156
  return <Outlet />;
155
157
  };
156
158
  return (<Solid.Switch>
157
- <Solid.Match when={match().status === 'notFound'}>
159
+ <Solid.Match when={match()._displayPending}>
158
160
  {(_) => {
159
- invariant(isNotFound(match().error), 'Expected a notFound error');
160
- return renderRouteNotFound(router, route(), match().error);
161
+ const [displayPendingResult] = Solid.createResource(() => router.getMatch(match().id)?.displayPendingPromise);
162
+ return <>{displayPendingResult()}</>;
161
163
  }}
162
164
  </Solid.Match>
163
- <Solid.Match when={match().status === 'redirected'}>
164
- {(_) => {
165
- invariant(isRedirect(match().error), 'Expected a redirect error');
166
- const [loaderResult] = Solid.createResource(async () => {
167
- await new Promise((r) => setTimeout(r, 0));
168
- return router.getMatch(match().id)?.loadPromise;
169
- });
170
- return <>{loaderResult()}</>;
171
- }}
172
- </Solid.Match>
173
- <Solid.Match when={match().status === 'error'}>
174
- {(_) => {
175
- if (router.isServer) {
176
- const RouteErrorComponent = (route().options.errorComponent ??
177
- router.options.defaultErrorComponent) ||
178
- ErrorComponent;
179
- return (<RouteErrorComponent error={match().error} info={{
180
- componentStack: '',
181
- }}/>);
182
- }
183
- throw match().error;
184
- }}
185
- </Solid.Match>
186
- <Solid.Match when={match().status === 'pending'}>
165
+ <Solid.Match when={match().status === 'pending' || match()._forcePending}>
187
166
  {(_) => {
188
167
  const pendingMinMs = route().options.pendingMinMs ?? router.options.defaultPendingMinMs;
189
168
  if (pendingMinMs && !router.getMatch(match().id)?.minPendingPromise) {
@@ -213,6 +192,35 @@ export const MatchInner = (props) => {
213
192
  return <>{loaderResult()}</>;
214
193
  }}
215
194
  </Solid.Match>
195
+ <Solid.Match when={match().status === 'notFound'}>
196
+ {(_) => {
197
+ invariant(isNotFound(match().error), 'Expected a notFound error');
198
+ return renderRouteNotFound(router, route(), match().error);
199
+ }}
200
+ </Solid.Match>
201
+ <Solid.Match when={match().status === 'redirected'}>
202
+ {(_) => {
203
+ invariant(isRedirect(match().error), 'Expected a redirect error');
204
+ const [loaderResult] = Solid.createResource(async () => {
205
+ await new Promise((r) => setTimeout(r, 0));
206
+ return router.getMatch(match().id)?.loadPromise;
207
+ });
208
+ return <>{loaderResult()}</>;
209
+ }}
210
+ </Solid.Match>
211
+ <Solid.Match when={match().status === 'error'}>
212
+ {(_) => {
213
+ if (router.isServer) {
214
+ const RouteErrorComponent = (route().options.errorComponent ??
215
+ router.options.defaultErrorComponent) ||
216
+ ErrorComponent;
217
+ return (<RouteErrorComponent error={match().error} info={{
218
+ componentStack: '',
219
+ }}/>);
220
+ }
221
+ throw match().error;
222
+ }}
223
+ </Solid.Match>
216
224
  <Solid.Match when={match().status === 'success'}>{out()}</Solid.Match>
217
225
  </Solid.Switch>);
218
226
  };
@@ -240,12 +248,6 @@ export const Outlet = () => {
240
248
  },
241
249
  });
242
250
  return (<Solid.Switch>
243
- <Solid.Match when={router.isShell}>
244
- <Solid.Suspense fallback={<Dynamic component={router.options.defaultPendingComponent}/>}>
245
- <ErrorComponent error={new Error('ShellBoundaryError')}/>
246
- </Solid.Suspense>
247
- </Solid.Match>
248
-
249
251
  <Solid.Match when={parentGlobalNotFound()}>
250
252
  {renderRouteNotFound(router, route(), undefined)}
251
253
  </Solid.Match>
@@ -1 +1 @@
1
- {"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { AsyncRouteComponent } from './route';
2
- export declare function lazyRouteComponent<T extends Record<string, any>, TKey extends keyof T = 'default'>(importer: () => Promise<T>, exportName?: TKey, ssr?: () => boolean): T[TKey] extends (props: infer TProps) => any ? AsyncRouteComponent<TProps> : never;
2
+ export declare function lazyRouteComponent<T extends Record<string, any>, TKey extends keyof T = 'default'>(importer: () => Promise<T>, exportName?: TKey): T[TKey] extends (props: infer TProps) => any ? AsyncRouteComponent<TProps> : never;
@@ -1,25 +1,11 @@
1
1
  import { Dynamic } from 'solid-js/web';
2
2
  import { createResource } from 'solid-js';
3
- import { Outlet } from './Match';
4
- import { ClientOnly } from './ClientOnly';
5
- // If the load fails due to module not found, it may mean a new version of
6
- // the build was deployed and the user's browser is still using an old version.
7
- // If this happens, the old version in the user's browser would have an outdated
8
- // URL to the lazy module.
9
- // In that case, we want to attempt one window refresh to get the latest.
10
- function isModuleNotFoundError(error) {
11
- return (typeof error?.message === 'string' &&
12
- /Failed to fetch dynamically imported module/.test(error.message));
13
- }
14
- export function lazyRouteComponent(importer, exportName, ssr) {
3
+ import { isModuleNotFoundError } from '@tanstack/router-core';
4
+ export function lazyRouteComponent(importer, exportName) {
15
5
  let loadPromise;
16
6
  let comp;
17
7
  let error;
18
8
  const load = () => {
19
- if (typeof document === 'undefined' && ssr?.() === false) {
20
- comp = (() => null);
21
- return Promise.resolve(comp);
22
- }
23
9
  if (!loadPromise) {
24
10
  loadPromise = importer()
25
11
  .then((res) => {
@@ -37,6 +23,11 @@ export function lazyRouteComponent(importer, exportName, ssr) {
37
23
  // Now that we're out of preload and into actual render path,
38
24
  // throw the error if it was a module not found error during preload
39
25
  if (error) {
26
+ // If the load fails due to module not found, it may mean a new version of
27
+ // the build was deployed and the user's browser is still using an old version.
28
+ // If this happens, the old version in the user's browser would have an outdated
29
+ // URL to the lazy module.
30
+ // In that case, we want to attempt one window refresh to get the latest.
40
31
  if (isModuleNotFoundError(error)) {
41
32
  // We don't want an error thrown from preload in this case, because
42
33
  // there's nothing we want to do about module not found during preload.
@@ -70,11 +61,6 @@ export function lazyRouteComponent(importer, exportName, ssr) {
70
61
  });
71
62
  return <>{compResource()}</>;
72
63
  }
73
- if (ssr?.() === false) {
74
- return (<ClientOnly fallback={<Outlet />}>
75
- <Dynamic component={comp} {...props}/>
76
- </ClientOnly>);
77
- }
78
64
  return <Dynamic component={comp} {...props}/>;
79
65
  };
80
66
  lazyComp.preload = load;
@@ -1 +1 @@
1
- {"version":3,"file":"lazyRouteComponent.jsx","sourceRoot":"","sources":["../../src/lazyRouteComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazyRouteComponent.jsx","sourceRoot":"","sources":["../../src/lazyRouteComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,MAAM,UAAU,kBAAkB,CAIhC,QAA0B,EAC1B,UAAiB;IAIjB,IAAI,WAAqC,CAAA;IACzC,IAAI,IAA4B,CAAA;IAChC,IAAI,KAAU,CAAA;IAEd,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,QAAQ,EAAE;iBACrB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,WAAW,GAAG,SAAS,CAAA;gBACvB,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAA;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,KAAK,GAAG,GAAG,CAAA;YACb,CAAC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,KAAU;QACvC,6DAA6D;QAC7D,oEAAoE;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,0EAA0E;YAC1E,+EAA+E;YAC/E,gFAAgF;YAChF,0BAA0B;YAC1B,yEAAyE;YACzE,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,mEAAmE;gBACnE,uEAAuE;gBACvE,4DAA4D;gBAC5D,0EAA0E;gBAE1E,IACE,KAAK,YAAY,KAAK;oBACtB,OAAO,MAAM,KAAK,WAAW;oBAC7B,OAAO,cAAc,KAAK,WAAW,EACrC,CAAC;oBACD,4EAA4E;oBAC5E,oEAAoE;oBACpE,4DAA4D;oBAC5D,4EAA4E;oBAC5E,MAAM,UAAU,GAAG,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAA;oBAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBACxC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;wBACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;wBAExB,4DAA4D;wBAC5D,OAAO;4BACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;yBACpB,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE;gBAC1C,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,SAAS;aACvB,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAA;QAC9B,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;IAChD,CAAC,CAEA;IAAC,QAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IAEjC,OAAO,QAAe,CAAA;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "1.124.0",
3
+ "version": "1.125.0",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -90,7 +90,7 @@
90
90
  "tiny-invariant": "^1.3.3",
91
91
  "tiny-warning": "^1.0.3",
92
92
  "@tanstack/history": "1.121.34",
93
- "@tanstack/router-core": "1.124.0"
93
+ "@tanstack/router-core": "1.125.0"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@solidjs/testing-library": "^0.8.10",