Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ import { createPageContextObject, createPageContextShared } from '../../shared-s
import { getPageContextUrlComputed } from '../../shared-server-client/getPageContextUrlComputed.js'
import { getBaseServer } from './getBaseServer.js'
import { getGlobalContextClientInternal } from './getGlobalContextClientInternal.js'
import { assert, updateType, isBaseServer, objectAssign } from './utils.js'
import { assert } from '../../utils/assert.js'
import { objectAssign } from '../../utils/objectAssign.js'
import { isBaseServer } from '../../utils/parseUrl.js'
import { updateType } from '../../utils/updateType.js'

async function createPageContextClient(urlOriginal: string) {
const pageContext = createPageContextBase(urlOriginal)
Expand Down
2 changes: 1 addition & 1 deletion packages/vike/src/client/runtime-client-routing/entry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { assertClientRouting } from '../../utils/assertRoutingType.js'
assertClientRouting()

import { initClientRouter } from './initClientRouter.js'
import { assertSingleInstance_onClientEntryClientRouting } from './utils.js'
import { assertSingleInstance_onClientEntryClientRouting } from '../../utils/assertSingleInstance.js'
import { removeFoucBuster } from '../shared/removeFoucBuster.js'
import { setVirtualFileExportsGlobalEntry } from '../shared/getGlobalContextClientInternalShared.js'
// @ts-expect-error
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { getBaseServer }

import { assert } from '../runtime-server-routing/utils.js'
import { assert } from '../../utils/assert.js'

function getBaseServer(): string {
const baseServer = import.meta.env.BASE_SERVER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export type { GlobalContextClientInternal }
import { getGlobalContextClientInternalShared } from '../shared/getGlobalContextClientInternalShared.js'
import { loadPageRoutes } from '../../shared-server-client/route/loadPageRoutes.js'
import type { GlobalContextBase } from '../../shared-server-client/createGlobalContextShared.js'
import { objectAssign } from './utils.js'
import { objectAssign } from '../../utils/objectAssign.js'

type GlobalContextClientInternal = Awaited<ReturnType<typeof getGlobalContextClientInternal>>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { removeBuiltInOverrides }

import { assert, assertWarning } from '../utils.js'
import { assert, assertWarning } from '../../../utils/assert.js'

const BUILT_IN_CLIENT_ROUTER = ['urlPathname', 'urlParsed'] as const
const BUILT_IN_CLIENT = ['Page', 'pageExports', 'exports'] as const
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export { setPageContextCurrent }
export { getPageContextCurrent }

import { getGlobalObject } from './utils.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js'

type PageContextCurrent = PageContextConfig & {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,12 @@ export { getPageContextFromHooksServer_firstRender }
export { setPageContextInitIsPassedToClient }
export type { PageContextFromHooksServer }

import {
assert,
assertUsage,
hasProp,
objectAssign,
getProjectError,
redirectHard,
isObject,
getGlobalObject,
} from './utils.js'
import { assert, assertUsage, getProjectError } from '../../utils/assert.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { hasProp } from '../../utils/hasProp.js'
import { isObject } from '../../utils/isObject.js'
import { objectAssign } from '../../utils/objectAssign.js'
import { redirectHard } from '../../utils/redirectHard.js'
import { parse } from '@brillout/json-serializer/parse'
import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js'
import type { PageContextConfig, PageFile } from '../../shared-server-client/getPageFiles.js'
Expand Down
5 changes: 4 additions & 1 deletion packages/vike/src/client/runtime-client-routing/history.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ export type { HistoryInfo }
export type { ScrollPosition }

import { getCurrentUrl } from '../shared/getCurrentUrl.js'
import { assert, assertUsage, getGlobalObject, isObject, redirectHard } from './utils.js'
import { assert, assertUsage } from '../../utils/assert.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { isObject } from '../../utils/isObject.js'
import { redirectHard } from '../../utils/redirectHard.js'

const globalObject = getGlobalObject('history.ts', {
monkeyPatched: false,
Expand Down
2 changes: 1 addition & 1 deletion packages/vike/src/client/runtime-client-routing/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
export { navigate, reload } from './navigate.js'
export { prefetch } from './prefetch.js'
export { getPageContextClient } from './renderPageClient.js'
export { PROJECT_VERSION as version } from './utils.js'
export { PROJECT_VERSION as version } from '../../utils/PROJECT_VERSION.js'

// TO-DO/next-major-release: remove this
import type { PageContextBuiltInClientWithClientRouting } from '../../types/PageContext.js'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { initClientRouter }

import { assert } from './utils.js'
import { assert } from '../../utils/assert.js'
import { getRenderCount, renderPageClient } from './renderPageClient.js'
import { initOnPopState } from './initOnPopState.js'
import { initOnLinkClick } from './initOnLinkClick.js'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ export { initOnPopState }
import { onPopStateBegin, type HistoryInfo } from './history.js'
import { renderPageClient } from './renderPageClient.js'
import { type ScrollTarget, setScrollPosition } from './setScrollPosition.js'
import { catchInfiniteLoop } from './utils.js'

import { catchInfiniteLoop } from '../../utils/catchInfiniteLoop.js'
// The 'popstate' event is triggered when the browser doesn't fully load the new URL, for example:
// - `location.hash='#foo'` triggers the popstate event while `location.href='/foo'` doesn't.
// - Clicking on the browser's back-/forward button triggers a popstate event only if the history entry was generated with history.pushState() — no popstate event is fired upon Server Routing.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ export { isHrefCurrentUrl }

import { normalizeClientSideUrl } from '../shared/normalizeClientSideUrl.js'
import { getBaseServer } from './getBaseServer.js'
import { assert, parseUrl, isBaseServer, isUrl, isUrlExternal } from './utils.js'
import { assert } from '../../utils/assert.js'
import { parseUrl, isBaseServer, isUrl, isUrlExternal } from '../../utils/parseUrl.js'

function isLinkSkipped(linkTag: HTMLElement): boolean {
const href = linkTag.getAttribute('href')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export { logErrorClient }

import { isObject } from './utils.js'
import { isObject } from '../../utils/isObject.js'

function logErrorClient(err: unknown) {
if (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { getCurrentUrl } from '../shared/getCurrentUrl.js'
import { normalizeUrlArgument } from './normalizeUrlArgument.js'
import { firstRenderStartPromise, renderPageClient } from './renderPageClient.js'
import type { ScrollTarget } from './setScrollPosition.js'
import { assertClientRouting } from './utils.js'
import { assertClientRouting } from '../../utils/assertRoutingType.js'

assertClientRouting()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export { normalizeUrlArgument }

import { assertUsage, isUrl, isUrlRelative } from './utils.js'
import { assertUsage } from '../../utils/assert.js'
import { isUrl, isUrlRelative } from '../../utils/parseUrl.js'

function normalizeUrlArgument(url: string, fnName: 'prefetch' | 'navigate'): string {
// Succinct error message to save client-side KBs
Expand Down
10 changes: 0 additions & 10 deletions packages/vike/src/client/runtime-client-routing/onLoad.ts

This file was deleted.

15 changes: 5 additions & 10 deletions packages/vike/src/client/runtime-client-routing/prefetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,11 @@ export { addLinkPrefetchHandlers }
export { addLinkPrefetchHandlers_watch }
export { addLinkPrefetchHandlers_unwatch }

import {
assert,
assertClientRouting,
assertUsage,
assertWarning,
checkIfClientRouting,
getGlobalObject,
hasProp,
objectAssign,
} from './utils.js'
import { assert, assertUsage, assertWarning } from '../../utils/assert.js'
import { assertClientRouting, checkIfClientRouting } from '../../utils/assertRoutingType.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { hasProp } from '../../utils/hasProp.js'
import { objectAssign } from '../../utils/objectAssign.js'
import { isErrorFetchingStaticAssets, loadPageConfigsLazyClientSide } from '../shared/loadPageConfigsLazyClientSide.js'
import { isLinkSkipped } from './isLinkSkipped.js'
import { disableClientRouting } from './renderPageClient.js'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ export { getPrefetchSettings }
export { PAGE_CONTEXT_MAX_AGE_DEFAULT }
export type { PrefetchSettingResolved }

import { assertUsage, assertInfo } from '../utils.js'
import { assertUsage, assertInfo } from '../../../utils/assert.js'
import type { PageContextConfig } from '../../../shared-server-client/getPageFiles.js'
import type { PrefetchSetting, PrefetchStaticAssets } from './PrefetchSetting.js'

// TO-DO/pageContext-prefetch: Make it `Infinity` for pre-rendered pages.
const PAGE_CONTEXT_MAX_AGE_DEFAULT = 5000
const prefetchSettingTrue = {
Expand Down
22 changes: 10 additions & 12 deletions packages/vike/src/client/runtime-client-routing/renderPageClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,16 @@ export { getPageContextClient }
export type { PageContextBegin }
export type { PageContextInternalClientAfterRender }

import {
assert,
objectAssign,
redirectHard,
getGlobalObject,
hasProp,
updateType,
genPromise,
isCallable,
catchInfiniteLoop,
} from './utils.js'
import { assert, assertInfo, assertWarning } from '../../utils/assert.js'
import { catchInfiniteLoop } from '../../utils/catchInfiniteLoop.js'
import { genPromise } from '../../utils/genPromise.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { hasProp } from '../../utils/hasProp.js'
import { isCallable } from '../../utils/isCallable.js'
import { isReact } from '../../utils/isReact.js'
import { objectAssign } from '../../utils/objectAssign.js'
import { redirectHard } from '../../utils/redirectHard.js'
import { updateType } from '../../utils/updateType.js'
import {
getPageContextFromHooksClient,
getPageContextFromHooksServer,
Expand All @@ -33,7 +32,6 @@ import {
getPageContextPrefetched,
populatePageContextPrefetchCache,
} from './prefetch.js'
import { assertInfo, assertWarning, isReact } from './utils.js'
import { type PageContextBeforeRenderClient, execHookOnRenderClient } from '../shared/execHookOnRenderClient.js'
import {
isErrorFetchingStaticAssets,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export { scrollRestoration_initialRenderIsDone }

// See also: https://github.com/cyco130/knave/blob/e9e1bc7687848504293197f1b314b7d12ad0d228/design.md#scroll-restoration

import { getGlobalObject, onPageHide, onPageShow } from './utils.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { onPageHide, onPageShow } from '../../utils/onPageVisibilityChange.js'
const globalObject = getGlobalObject<{ initialRenderIsDone?: true }>('runtime-client-routing/scrollRestoration.ts', {})

function scrollRestoration_init() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ export { autoSaveScrollPosition }
export { scrollToHashOrTop }
export type { ScrollTarget }

import { assert, onPageHide, sleep, throttle } from './utils.js'
import { assert } from '../../utils/assert.js'
import { onPageHide } from '../../utils/onPageVisibilityChange.js'
import { sleep } from '../../utils/sleep.js'
import { throttle } from '../../utils/throttle.js'
import { replaceHistoryStateOriginal, saveScrollPosition, type ScrollPosition } from './history.js'

type ScrollTarget = undefined | { preserveScroll: boolean } | ScrollPosition
Expand Down
30 changes: 0 additions & 30 deletions packages/vike/src/client/runtime-client-routing/utils.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export { createPageContextClient }
export type PageContextCreatedClient_ServerRouting = Awaited<ReturnType<typeof createPageContextClient>>

import { updateType, objectAssign } from './utils.js'

import { objectAssign } from '../../utils/objectAssign.js'
import { updateType } from '../../utils/updateType.js'
import { createPageContextObject, createPageContextShared } from '../../shared-server-client/createPageContextShared.js'
import { getGlobalContextClientInternal } from './getGlobalContextClientInternal.js'

Expand Down
4 changes: 3 additions & 1 deletion packages/vike/src/client/runtime-server-routing/entry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ assertServerRouting()

import { createPageContextClient } from './createPageContextClient.js'
import { execHookOnRenderClient } from '../shared/execHookOnRenderClient.js'
import { assertSingleInstance_onClientEntryServerRouting, assertUsage, objectAssign } from './utils.js'
import { assertUsage } from '../../utils/assert.js'
import { assertSingleInstance_onClientEntryServerRouting } from '../../utils/assertSingleInstance.js'
import { objectAssign } from '../../utils/objectAssign.js'
import { removeFoucBuster } from '../shared/removeFoucBuster.js'
import { execHook } from '../../shared-server-client/hooks/execHook.js'
import { getPageContextPublicClient } from './getPageContextPublicClient.js'
Expand Down
7 changes: 0 additions & 7 deletions packages/vike/src/client/runtime-server-routing/onLoad.ts

This file was deleted.

20 changes: 0 additions & 20 deletions packages/vike/src/client/runtime-server-routing/utils.ts

This file was deleted.

2 changes: 1 addition & 1 deletion packages/vike/src/client/shared/execHookOnRenderClient.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export { execHookOnRenderClient }
export type { PageContextBeforeRenderClient }

import { assert, assertUsage } from '../runtime-server-routing/utils.js'
import { assert, assertUsage } from '../../utils/assert.js'
import { getHookFromPageContext, type Hook } from '../../shared-server-client/hooks/getHook.js'
import type { PageFile, PageContextConfig } from '../../shared-server-client/getPageFiles.js'
import { execHookSingle } from '../../shared-server-client/hooks/execHook.js'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ import {
import type { GlobalContextClientInternal } from '../runtime-client-routing/getGlobalContextClientInternal.js'
import type { GlobalContextClientInternalWithServerRouting } from '../runtime-server-routing/getGlobalContextClientInternal.js'
import { getGlobalContextSerializedInHtml } from './getJsonSerializedInHtml.js'
import { assert, assertUsage, genPromise, getGlobalObject, objectAssign, checkType } from './utils.js'
import { assert, assertUsage } from '../../utils/assert.js'
import { checkType } from '../../utils/checkType.js'
import { genPromise } from '../../utils/genPromise.js'
import { getGlobalObject } from '../../utils/getGlobalObject.js'
import { objectAssign } from '../../utils/objectAssign.js'

type GlobalContextNotTyped = Record<string, unknown>
const globalObject = getGlobalObject<{
Expand Down
3 changes: 2 additions & 1 deletion packages/vike/src/client/shared/getJsonSerializedInHtml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ export { getPageContextSerializedInHtml }
export { getGlobalContextSerializedInHtml }

import { parse } from '@brillout/json-serializer/parse'
import { hasProp, assert, assertUsage } from './utils.js'
import { assert, assertUsage } from '../../utils/assert.js'
import { hasProp } from '../../utils/hasProp.js'
import { htmlElementId_globalContext, htmlElementId_pageContext } from '../../shared-server-client/htmlElementIds.js'

// elements should exist because:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export { getPageContextPublicClientShared }
export { getPageContextPublicClientMinimal }

import { objectAssign } from '../runtime-server-routing/utils.js'
import { objectAssign } from '../../utils/objectAssign.js'
import type { PageContextConfig } from '../../shared-server-client/getPageFiles.js'
import {
assertPropertyGetters,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { resolvePageContextConfig } from '../../shared-server-client/page-config
import { findPageConfig } from '../../shared-server-client/page-configs/findPageConfig.js'
import { loadAndParseVirtualFilePageEntry } from '../../shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js'
import type { PageConfigGlobalRuntime, PageConfigRuntime, PageConfigRuntimeLoaded } from '../../types/PageConfig.js'
import { objectAssign } from '../runtime-server-routing/utils.js'
import { objectAssign } from '../../utils/objectAssign.js'

const errStamp = '_isAssetsError'

Expand Down
3 changes: 2 additions & 1 deletion packages/vike/src/client/shared/normalizeClientSideUrl.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export { normalizeClientSideUrl }

import { assert, parseUrl } from './utils.js'
import { assert } from '../../utils/assert.js'
import { parseUrl } from '../../utils/parseUrl.js'

/** Resolves relative URLs */
function normalizeClientSideUrl(url: string, options?: { withoutHash: true }): `/${string}` {
Expand Down
Loading
Loading