diff --git a/packages/vike/src/client/runtime-client-routing/createPageContextClient.ts b/packages/vike/src/client/runtime-client-routing/createPageContextClient.ts index fc6ed23b7d2..781a0b25f38 100644 --- a/packages/vike/src/client/runtime-client-routing/createPageContextClient.ts +++ b/packages/vike/src/client/runtime-client-routing/createPageContextClient.ts @@ -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) diff --git a/packages/vike/src/client/runtime-client-routing/entry.ts b/packages/vike/src/client/runtime-client-routing/entry.ts index 8e705d03e63..4a06d69649d 100644 --- a/packages/vike/src/client/runtime-client-routing/entry.ts +++ b/packages/vike/src/client/runtime-client-routing/entry.ts @@ -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 diff --git a/packages/vike/src/client/runtime-client-routing/getBaseServer.ts b/packages/vike/src/client/runtime-client-routing/getBaseServer.ts index b6d11cc7dff..7ed09845243 100644 --- a/packages/vike/src/client/runtime-client-routing/getBaseServer.ts +++ b/packages/vike/src/client/runtime-client-routing/getBaseServer.ts @@ -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 diff --git a/packages/vike/src/client/runtime-client-routing/getGlobalContextClientInternal.ts b/packages/vike/src/client/runtime-client-routing/getGlobalContextClientInternal.ts index 06ba7a8ed01..3d25c44dd7d 100644 --- a/packages/vike/src/client/runtime-client-routing/getGlobalContextClientInternal.ts +++ b/packages/vike/src/client/runtime-client-routing/getGlobalContextClientInternal.ts @@ -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> diff --git a/packages/vike/src/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.ts b/packages/vike/src/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.ts index 070da55167e..a7f67d5dc7b 100644 --- a/packages/vike/src/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.ts +++ b/packages/vike/src/client/runtime-client-routing/getPageContext/removeBuiltInOverrides.ts @@ -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 diff --git a/packages/vike/src/client/runtime-client-routing/getPageContextCurrent.ts b/packages/vike/src/client/runtime-client-routing/getPageContextCurrent.ts index 0936b1e35bf..212926e21f1 100644 --- a/packages/vike/src/client/runtime-client-routing/getPageContextCurrent.ts +++ b/packages/vike/src/client/runtime-client-routing/getPageContextCurrent.ts @@ -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 & { diff --git a/packages/vike/src/client/runtime-client-routing/getPageContextFromHooks.ts b/packages/vike/src/client/runtime-client-routing/getPageContextFromHooks.ts index 65c1d904b52..c947fd939c9 100644 --- a/packages/vike/src/client/runtime-client-routing/getPageContextFromHooks.ts +++ b/packages/vike/src/client/runtime-client-routing/getPageContextFromHooks.ts @@ -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' diff --git a/packages/vike/src/client/runtime-client-routing/history.ts b/packages/vike/src/client/runtime-client-routing/history.ts index 364acc7a5f1..4a187a97496 100644 --- a/packages/vike/src/client/runtime-client-routing/history.ts +++ b/packages/vike/src/client/runtime-client-routing/history.ts @@ -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, diff --git a/packages/vike/src/client/runtime-client-routing/index.ts b/packages/vike/src/client/runtime-client-routing/index.ts index 3f7ebbaa3a2..88e331d1f43 100644 --- a/packages/vike/src/client/runtime-client-routing/index.ts +++ b/packages/vike/src/client/runtime-client-routing/index.ts @@ -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' diff --git a/packages/vike/src/client/runtime-client-routing/initClientRouter.ts b/packages/vike/src/client/runtime-client-routing/initClientRouter.ts index c7aa01f033a..2d720daa0de 100644 --- a/packages/vike/src/client/runtime-client-routing/initClientRouter.ts +++ b/packages/vike/src/client/runtime-client-routing/initClientRouter.ts @@ -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' diff --git a/packages/vike/src/client/runtime-client-routing/initOnPopState.ts b/packages/vike/src/client/runtime-client-routing/initOnPopState.ts index 402b7de628a..7c21fdfa3a0 100644 --- a/packages/vike/src/client/runtime-client-routing/initOnPopState.ts +++ b/packages/vike/src/client/runtime-client-routing/initOnPopState.ts @@ -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. diff --git a/packages/vike/src/client/runtime-client-routing/isLinkSkipped.ts b/packages/vike/src/client/runtime-client-routing/isLinkSkipped.ts index 7b0976133e4..a7352f63896 100644 --- a/packages/vike/src/client/runtime-client-routing/isLinkSkipped.ts +++ b/packages/vike/src/client/runtime-client-routing/isLinkSkipped.ts @@ -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') diff --git a/packages/vike/src/client/runtime-client-routing/logErrorClient.ts b/packages/vike/src/client/runtime-client-routing/logErrorClient.ts index 33bb0def6ca..1d7a2a4fd74 100644 --- a/packages/vike/src/client/runtime-client-routing/logErrorClient.ts +++ b/packages/vike/src/client/runtime-client-routing/logErrorClient.ts @@ -1,6 +1,6 @@ export { logErrorClient } -import { isObject } from './utils.js' +import { isObject } from '../../utils/isObject.js' function logErrorClient(err: unknown) { if ( diff --git a/packages/vike/src/client/runtime-client-routing/navigate.ts b/packages/vike/src/client/runtime-client-routing/navigate.ts index 7fad338b52d..dcc26286307 100644 --- a/packages/vike/src/client/runtime-client-routing/navigate.ts +++ b/packages/vike/src/client/runtime-client-routing/navigate.ts @@ -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() diff --git a/packages/vike/src/client/runtime-client-routing/normalizeUrlArgument.ts b/packages/vike/src/client/runtime-client-routing/normalizeUrlArgument.ts index d91200bf08f..0be639ec9b6 100644 --- a/packages/vike/src/client/runtime-client-routing/normalizeUrlArgument.ts +++ b/packages/vike/src/client/runtime-client-routing/normalizeUrlArgument.ts @@ -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 diff --git a/packages/vike/src/client/runtime-client-routing/onLoad.ts b/packages/vike/src/client/runtime-client-routing/onLoad.ts deleted file mode 100644 index 95b8119aa86..00000000000 --- a/packages/vike/src/client/runtime-client-routing/onLoad.ts +++ /dev/null @@ -1,10 +0,0 @@ -export { onLoad } - -import { assertIsBrowser } from '../../utils/assertIsBrowser.js' -import { assertClientRouting } from '../../utils/assertRoutingType.js' - -function onLoad() { - assertIsBrowser() - // Ensure we don't bloat the Server Routing runtime with Client Routing utils - assertClientRouting() -} diff --git a/packages/vike/src/client/runtime-client-routing/prefetch.ts b/packages/vike/src/client/runtime-client-routing/prefetch.ts index 9323ff93e24..a49c4c9ba8e 100644 --- a/packages/vike/src/client/runtime-client-routing/prefetch.ts +++ b/packages/vike/src/client/runtime-client-routing/prefetch.ts @@ -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' diff --git a/packages/vike/src/client/runtime-client-routing/prefetch/getPrefetchSettings.ts b/packages/vike/src/client/runtime-client-routing/prefetch/getPrefetchSettings.ts index 4a509c733f9..316f335ec99 100644 --- a/packages/vike/src/client/runtime-client-routing/prefetch/getPrefetchSettings.ts +++ b/packages/vike/src/client/runtime-client-routing/prefetch/getPrefetchSettings.ts @@ -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 = { diff --git a/packages/vike/src/client/runtime-client-routing/renderPageClient.ts b/packages/vike/src/client/runtime-client-routing/renderPageClient.ts index 94cd2267801..6f1208e07d7 100644 --- a/packages/vike/src/client/runtime-client-routing/renderPageClient.ts +++ b/packages/vike/src/client/runtime-client-routing/renderPageClient.ts @@ -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, @@ -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, diff --git a/packages/vike/src/client/runtime-client-routing/scrollRestoration.ts b/packages/vike/src/client/runtime-client-routing/scrollRestoration.ts index 985e03c264f..bd3468f49c5 100644 --- a/packages/vike/src/client/runtime-client-routing/scrollRestoration.ts +++ b/packages/vike/src/client/runtime-client-routing/scrollRestoration.ts @@ -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() { diff --git a/packages/vike/src/client/runtime-client-routing/setScrollPosition.ts b/packages/vike/src/client/runtime-client-routing/setScrollPosition.ts index e710d8fb87a..13cabbd891c 100644 --- a/packages/vike/src/client/runtime-client-routing/setScrollPosition.ts +++ b/packages/vike/src/client/runtime-client-routing/setScrollPosition.ts @@ -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 diff --git a/packages/vike/src/client/runtime-client-routing/utils.ts b/packages/vike/src/client/runtime-client-routing/utils.ts deleted file mode 100644 index 6e19bf03383..00000000000 --- a/packages/vike/src/client/runtime-client-routing/utils.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Utils needed by Vike's client runtime (with Client Routing) - -// We call onLoad() here so that it's called even when only a subset of the runtime is loaded. (Making the assert() calls inside onLoad() a lot stronger.) -import { onLoad } from './onLoad.js' -onLoad() - -export * from '../../utils/assert.js' -export * from '../../utils/assertSingleInstance.js' -export * from '../../utils/getGlobalObject.js' -export * from '../../utils/hasProp.js' -export * from '../../utils/isBrowser.js' -export * from '../../utils/isCallable.js' -export * from '../../utils/isObject.js' -export * from '../../utils/isPlainObject.js' -export * from '../../utils/isReact.js' -export * from '../../utils/objectAssign.js' -export * from '../../utils/parseUrl.js' -export * from '../../utils/PromiseType.js' -export * from '../../utils/redirectHard.js' -export * from '../../utils/sleep.js' -export * from '../../utils/slice.js' -export * from '../../utils/throttle.js' -export * from '../../utils/assertRoutingType.js' -export * from '../../utils/onPageVisibilityChange.js' -export * from '../../utils/updateType.js' -export * from '../../utils/PROJECT_VERSION.js' -export * from '../../utils/genPromise.js' -export * from '../../utils/catchInfiniteLoop.js' -export * from '../../utils/changeEnumerable.js' -export * from '../../utils/cast.js' diff --git a/packages/vike/src/client/runtime-server-routing/createPageContextClient.ts b/packages/vike/src/client/runtime-server-routing/createPageContextClient.ts index 1dcc8980fb7..2cfc5f785be 100644 --- a/packages/vike/src/client/runtime-server-routing/createPageContextClient.ts +++ b/packages/vike/src/client/runtime-server-routing/createPageContextClient.ts @@ -1,8 +1,8 @@ export { createPageContextClient } export type PageContextCreatedClient_ServerRouting = Awaited> -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' diff --git a/packages/vike/src/client/runtime-server-routing/entry.ts b/packages/vike/src/client/runtime-server-routing/entry.ts index 2acf01ad04a..353eaff4c09 100644 --- a/packages/vike/src/client/runtime-server-routing/entry.ts +++ b/packages/vike/src/client/runtime-server-routing/entry.ts @@ -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' diff --git a/packages/vike/src/client/runtime-server-routing/onLoad.ts b/packages/vike/src/client/runtime-server-routing/onLoad.ts deleted file mode 100644 index 4177544f14d..00000000000 --- a/packages/vike/src/client/runtime-server-routing/onLoad.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { onLoad } - -import { assertIsBrowser } from '../../utils/assertIsBrowser.js' - -function onLoad() { - assertIsBrowser() -} diff --git a/packages/vike/src/client/runtime-server-routing/utils.ts b/packages/vike/src/client/runtime-server-routing/utils.ts deleted file mode 100644 index e2fc34588ae..00000000000 --- a/packages/vike/src/client/runtime-server-routing/utils.ts +++ /dev/null @@ -1,20 +0,0 @@ -// Utils needed by Vike's client runtime (with Server Routing) - -// We call onLoad() here so that it's called even when only a subset of the runtime is loaded. (Making the assert() calls inside onLoad() a lot stronger.) -import { onLoad } from './onLoad.js' -onLoad() - -export * from '../../utils/assert.js' -export * from '../../utils/assertSingleInstance.js' -export * from '../../utils/checkType.js' // Only used by Server Routing (not needed for Client Routing) -export * from '../../utils/getGlobalObject.js' -export * from '../../utils/hasProp.js' -export * from '../../utils/isCallable.js' -export * from '../../utils/isObject.js' -export * from '../../utils/objectAssign.js' -export * from '../../utils/parseUrl.js' -export * from '../../utils/slice.js' -export * from '../../utils/unique.js' // Only used by Server Routing (not needed for Client Routing) -export * from '../../utils/getPropAccessNotation.js' -export * from '../../utils/updateType.js' -export * from '../../utils/changeEnumerable.js' diff --git a/packages/vike/src/client/shared/execHookOnRenderClient.ts b/packages/vike/src/client/shared/execHookOnRenderClient.ts index 53ecc25519b..c0e4d7e8c5e 100644 --- a/packages/vike/src/client/shared/execHookOnRenderClient.ts +++ b/packages/vike/src/client/shared/execHookOnRenderClient.ts @@ -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' diff --git a/packages/vike/src/client/shared/getGlobalContextClientInternalShared.ts b/packages/vike/src/client/shared/getGlobalContextClientInternalShared.ts index 90cea545e08..83e04760b13 100644 --- a/packages/vike/src/client/shared/getGlobalContextClientInternalShared.ts +++ b/packages/vike/src/client/shared/getGlobalContextClientInternalShared.ts @@ -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 const globalObject = getGlobalObject<{ diff --git a/packages/vike/src/client/shared/getJsonSerializedInHtml.ts b/packages/vike/src/client/shared/getJsonSerializedInHtml.ts index 136b2a24194..0d198c83971 100644 --- a/packages/vike/src/client/shared/getJsonSerializedInHtml.ts +++ b/packages/vike/src/client/shared/getJsonSerializedInHtml.ts @@ -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: diff --git a/packages/vike/src/client/shared/getPageContextPublicClientShared.ts b/packages/vike/src/client/shared/getPageContextPublicClientShared.ts index 90511cc91d0..258970ced3e 100644 --- a/packages/vike/src/client/shared/getPageContextPublicClientShared.ts +++ b/packages/vike/src/client/shared/getPageContextPublicClientShared.ts @@ -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, diff --git a/packages/vike/src/client/shared/loadPageConfigsLazyClientSide.ts b/packages/vike/src/client/shared/loadPageConfigsLazyClientSide.ts index 25aa5a2cc01..0b85133af32 100644 --- a/packages/vike/src/client/shared/loadPageConfigsLazyClientSide.ts +++ b/packages/vike/src/client/shared/loadPageConfigsLazyClientSide.ts @@ -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' diff --git a/packages/vike/src/client/shared/normalizeClientSideUrl.ts b/packages/vike/src/client/shared/normalizeClientSideUrl.ts index 5e10c8e919c..85e8c866d3c 100644 --- a/packages/vike/src/client/shared/normalizeClientSideUrl.ts +++ b/packages/vike/src/client/shared/normalizeClientSideUrl.ts @@ -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}` { diff --git a/packages/vike/src/client/shared/removeFoucBuster.ts b/packages/vike/src/client/shared/removeFoucBuster.ts index 3130289cf35..a7bf402dd88 100644 --- a/packages/vike/src/client/shared/removeFoucBuster.ts +++ b/packages/vike/src/client/shared/removeFoucBuster.ts @@ -1,6 +1,6 @@ export { removeFoucBuster } -import { assert } from './utils.js' +import { assert } from '../../utils/assert.js' // See also: // - Alternative approach of exactly injecting what Vite injects: diff --git a/packages/vike/src/client/shared/utils.ts b/packages/vike/src/client/shared/utils.ts deleted file mode 100644 index 9e24c935580..00000000000 --- a/packages/vike/src/client/shared/utils.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from '../../utils/assert.js' -export * from '../../utils/parseUrl.js' -export * from '../../utils/getGlobalObject.js' -export * from '../../utils/objectAssign.js' -export * from '../../utils/hasProp.js' -export * from '../../utils/genPromise.js' -export * from '../../utils/checkType.js' diff --git a/packages/vike/src/node/prerender/resolvePrerenderConfig.ts b/packages/vike/src/node/prerender/resolvePrerenderConfig.ts index 40ac4701604..cad100a72e2 100644 --- a/packages/vike/src/node/prerender/resolvePrerenderConfig.ts +++ b/packages/vike/src/node/prerender/resolvePrerenderConfig.ts @@ -2,7 +2,10 @@ export { resolvePrerenderConfigGlobal } export { resolvePrerenderConfigLocal } import { VikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.js' -import { assert, assertUsage, isArray, isObject, objectAssign } from './utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { isArray } from '../../utils/isArray.js' +import { isObject } from '../../utils/isObject.js' +import { objectAssign } from '../../utils/objectAssign.js' import { getConfigValueBuildTime } from '../../shared-server-client/page-configs/getConfigValueBuildTime.js' import type { PageConfigBuildTime } from '../../types/PageConfig.js' import { getConfigDefinedAt } from '../../shared-server-client/page-configs/getConfigDefinedAt.js' diff --git a/packages/vike/src/node/prerender/runPrerender.ts b/packages/vike/src/node/prerender/runPrerender.ts index 69f3fe2df22..543b0937eac 100644 --- a/packages/vike/src/node/prerender/runPrerender.ts +++ b/packages/vike/src/node/prerender/runPrerender.ts @@ -9,27 +9,22 @@ export type { PrerenderTrigger } import path from 'node:path' import { route } from '../../shared-server-client/route/index.js' -import { - assert, - assertUsage, - assertWarning, - hasProp, - objectAssign, - isObjectWithKeys, - isCallable, - isPropertyGetter, - assertPosixPath, - urlToFile, - isPlainObject, - pLimit, - PLimit, - isArray, - onSetupPrerender, - PROJECT_VERSION, - preservePropertyGetters, - changeEnumerable, - escapeHtml, -} from './utils.js' +import { PROJECT_VERSION } from '../../utils/PROJECT_VERSION.js' +import { assert, assertUsage, assertWarning } from '../../utils/assert.js' +import { onSetupPrerender } from '../../utils/assertSetup.js' +import { changeEnumerable } from '../../utils/changeEnumerable.js' +import { escapeHtml } from '../../utils/escapeHtml.js' +import { hasProp } from '../../utils/hasProp.js' +import { isArray } from '../../utils/isArray.js' +import { isCallable } from '../../utils/isCallable.js' +import { isObjectWithKeys } from '../../utils/isObjectWithKeys.js' +import { isPlainObject } from '../../utils/isPlainObject.js' +import { isPropertyGetter } from '../../utils/isPropertyGetter.js' +import { objectAssign } from '../../utils/objectAssign.js' +import { pLimit, PLimit } from '../../utils/pLimit.js' +import { preservePropertyGetters } from '../../utils/preservePropertyGetters.js' +import { assertPosixPath } from '../../utils/path.js' +import { urlToFile } from '../../utils/urlToFile.js' import { prerenderPage } from '../../server/runtime/renderPageServer/renderPageServerAfterRoute.js' import { createPageContextServer } from '../../server/runtime/renderPageServer/createPageContextServer.js' import pc from '@brillout/picocolors' diff --git a/packages/vike/src/node/prerender/runPrerenderEntry.ts b/packages/vike/src/node/prerender/runPrerenderEntry.ts index 23781de46b9..d5e61829e5b 100644 --- a/packages/vike/src/node/prerender/runPrerenderEntry.ts +++ b/packages/vike/src/node/prerender/runPrerenderEntry.ts @@ -3,7 +3,7 @@ export { runPrerenderFromCLIPrerenderCommand } export { runPrerenderFromAutoRun } export { runPrerender_forceExit } -import { assert } from './utils.js' +import { assert } from '../../utils/assert.js' import type { InlineConfig, ResolvedConfig } from 'vite' import { prepareViteApiCall } from '../api/prepareViteApiCall.js' import { isVikeCli } from '../cli/context.js' diff --git a/packages/vike/src/node/prerender/utils.ts b/packages/vike/src/node/prerender/utils.ts deleted file mode 100644 index 435f6222ce1..00000000000 --- a/packages/vike/src/node/prerender/utils.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js' -assertIsNotBrowser() - -export * from '../../utils/assert.js' -export * from '../../utils/hasProp.js' -export * from '../../utils/PROJECT_VERSION.js' -export * from '../../utils/objectAssign.js' -export * from '../../utils/isObjectWithKeys.js' -export * from '../../utils/isCallable.js' -export * from '../../utils/isPropertyGetter.js' -export * from '../../utils/path.js' -export * from '../../utils/urlToFile.js' -export * from '../../utils/isPlainObject.js' -export * from '../../utils/assertSetup.js' -export * from '../../utils/pLimit.js' -export * from '../../utils/isFilePathAbsoluteFilesystem.js' -export * from '../../utils/isArray.js' -export * from '../../utils/isObject.js' -export * from '../../utils/isNullish.js' -export * from '../../utils/preservePropertyGetters.js' -export * from '../../utils/changeEnumerable.js' -export * from '../../utils/escapeHtml.js' diff --git a/packages/vike/src/server/runtime/renderPageServer/resolveRedirects.ts b/packages/vike/src/server/runtime/renderPageServer/resolveRedirects.ts index 7337853a558..9852f189026 100644 --- a/packages/vike/src/server/runtime/renderPageServer/resolveRedirects.ts +++ b/packages/vike/src/server/runtime/renderPageServer/resolveRedirects.ts @@ -5,13 +5,8 @@ export { getStaticRedirectsForPrerender } export { resolveRouteStringRedirect } import { assertIsNotBrowser } from '../../../utils/assertIsNotBrowser.js' -import { - assert, - assertUsage, - assertUsageUrlRedirectTarget, - assertWarning, - isUrlRedirectTarget, -} from '../../../shared-server-client/utils.js' +import { assert, assertUsage, assertWarning } from '../../../utils/assert.js' +import { isUrlRedirectTarget, assertUsageUrlRedirectTarget } from '../../../utils/parseUrl.js' import { resolveUrlPathname } from '../../../shared-server-client/route/resolveUrlPathname.js' import { assertRouteString, diff --git a/packages/vike/src/shared-server-client/addIs404ToPageProps.ts b/packages/vike/src/shared-server-client/addIs404ToPageProps.ts index 839c5516b7c..09df415c8f2 100644 --- a/packages/vike/src/shared-server-client/addIs404ToPageProps.ts +++ b/packages/vike/src/shared-server-client/addIs404ToPageProps.ts @@ -1,6 +1,7 @@ export { addIs404ToPageProps } -import { assertWarning, isObject } from './utils.js' +import { assertWarning } from '../utils/assert.js' +import { isObject } from '../utils/isObject.js' function addIs404ToPageProps(pageContext: Record) { addIs404(pageContext) diff --git a/packages/vike/src/shared-server-client/assertHookReturnedObject.ts b/packages/vike/src/shared-server-client/assertHookReturnedObject.ts index 5e50bbecdb6..5dfb8556427 100644 --- a/packages/vike/src/shared-server-client/assertHookReturnedObject.ts +++ b/packages/vike/src/shared-server-client/assertHookReturnedObject.ts @@ -1,6 +1,7 @@ export { assertHookReturnedObject } -import { assert, assertUsage, stringifyStringArray } from './utils.js' +import { assert, assertUsage } from '../utils/assert.js' +import { stringifyStringArray } from '../utils/stringifyStringArray.js' function assertHookReturnedObject( obj: Record, diff --git a/packages/vike/src/shared-server-client/assertOnBeforeRenderHookReturn.ts b/packages/vike/src/shared-server-client/assertOnBeforeRenderHookReturn.ts index da601d07466..6026284f0c2 100644 --- a/packages/vike/src/shared-server-client/assertOnBeforeRenderHookReturn.ts +++ b/packages/vike/src/shared-server-client/assertOnBeforeRenderHookReturn.ts @@ -1,6 +1,7 @@ export { assertOnBeforeRenderHookReturn } -import { assertUsage, isPlainObject } from './utils.js' +import { assertUsage } from '../utils/assert.js' +import { isPlainObject } from '../utils/isPlainObject.js' import { assertPageContextProvidedByUser } from './assertPageContextProvidedByUser.js' import { assertHookReturnedObject } from './assertHookReturnedObject.js' import pc from '@brillout/picocolors' diff --git a/packages/vike/src/shared-server-client/assertPageContextProvidedByUser.ts b/packages/vike/src/shared-server-client/assertPageContextProvidedByUser.ts index c095b4d0140..cb3058259dc 100644 --- a/packages/vike/src/shared-server-client/assertPageContextProvidedByUser.ts +++ b/packages/vike/src/shared-server-client/assertPageContextProvidedByUser.ts @@ -1,6 +1,7 @@ export { assertPageContextProvidedByUser } -import { assert, assertUsage, assertWarning, isObject } from './utils.js' +import { assert, assertUsage, assertWarning } from '../utils/assert.js' +import { isObject } from '../utils/isObject.js' import pc from '@brillout/picocolors' function assertPageContextProvidedByUser( diff --git a/packages/vike/src/shared-server-client/assertVirtualFileExports.ts b/packages/vike/src/shared-server-client/assertVirtualFileExports.ts index f8f0299f735..c1cc565f5db 100644 --- a/packages/vike/src/shared-server-client/assertVirtualFileExports.ts +++ b/packages/vike/src/shared-server-client/assertVirtualFileExports.ts @@ -1,6 +1,6 @@ export { assertVirtualFileExports } -import { assert } from './utils.js' +import { assert } from '../utils/assert.js' function assertVirtualFileExports( moduleExports: ModuleExports, diff --git a/packages/vike/src/shared-server-client/createGlobalContextShared.ts b/packages/vike/src/shared-server-client/createGlobalContextShared.ts index 616a4b1693a..173968b7559 100644 --- a/packages/vike/src/shared-server-client/createGlobalContextShared.ts +++ b/packages/vike/src/shared-server-client/createGlobalContextShared.ts @@ -4,7 +4,12 @@ export type { GlobalContextBase } export type { GlobalContextBasePublic } export type GlobalContextInternal = GlobalContextServerInternal | GlobalContextClientInternal -import { assert, changeEnumerable, genPromise, objectAssign, objectReplace, unique } from './utils.js' +import { assert } from '../utils/assert.js' +import { objectReplace } from '../utils/objectReplace.js' +import { changeEnumerable } from '../utils/changeEnumerable.js' +import { genPromise } from '../utils/genPromise.js' +import { objectAssign } from '../utils/objectAssign.js' +import { unique } from '../utils/unique.js' import type { PageFile } from './getPageFiles.js' import { parseVirtualFileExportsGlobalEntry } from './getPageFiles/parseVirtualFileExportsGlobalEntry.js' import { resolveGlobalContextConfig } from './page-configs/resolveVikeConfigPublic.js' diff --git a/packages/vike/src/shared-server-client/createPageContextShared.ts b/packages/vike/src/shared-server-client/createPageContextShared.ts index 6b01f551124..b08c13fe3eb 100644 --- a/packages/vike/src/shared-server-client/createPageContextShared.ts +++ b/packages/vike/src/shared-server-client/createPageContextShared.ts @@ -2,7 +2,8 @@ export { createPageContextShared } export { createPageContextObject } export type { PageContextCreated } -import { changeEnumerable, objectAssign } from './utils.js' +import { changeEnumerable } from '../utils/changeEnumerable.js' +import { objectAssign } from '../utils/objectAssign.js' import type { GlobalConfigPublic } from './page-configs/resolveVikeConfigPublic.js' import type { PageContextCreatedClient } from '../client/runtime-client-routing/createPageContextClient.js' import type { PageContextCreatedServer } from '../server/runtime/renderPageServer/createPageContextServer.js' diff --git a/packages/vike/src/shared-server-client/determinePageIdOld.ts b/packages/vike/src/shared-server-client/determinePageIdOld.ts index 13a37c68f7b..430c27e0d6b 100644 --- a/packages/vike/src/shared-server-client/determinePageIdOld.ts +++ b/packages/vike/src/shared-server-client/determinePageIdOld.ts @@ -1,6 +1,7 @@ export { determinePageIdOld } -import { slice, assert } from './utils.js' +import { assert } from '../utils/assert.js' +import { slice } from '../utils/slice.js' // TO-DO/next-major-release: remove function determinePageIdOld(filePath: string): string { diff --git a/packages/vike/src/shared-server-client/error-page.ts b/packages/vike/src/shared-server-client/error-page.ts index 6971fcd1291..896dabacb33 100644 --- a/packages/vike/src/shared-server-client/error-page.ts +++ b/packages/vike/src/shared-server-client/error-page.ts @@ -4,7 +4,8 @@ export { isErrorPage } // TO-DO/next-major-release: consider loading this file only for Client Routing -import { assert, assertUsage, unique } from './utils.js' +import { assert, assertUsage } from '../utils/assert.js' +import { unique } from '../utils/unique.js' import type { PageConfigRuntime } from '../types/PageConfig.js' import type { PageFile } from './getPageFiles.js' diff --git a/packages/vike/src/shared-server-client/forkPageContext.ts b/packages/vike/src/shared-server-client/forkPageContext.ts index fa0552547c8..368dbe8dcc7 100644 --- a/packages/vike/src/shared-server-client/forkPageContext.ts +++ b/packages/vike/src/shared-server-client/forkPageContext.ts @@ -1,6 +1,6 @@ export { forkPageContext } -import { objectAssign } from './utils.js' +import { objectAssign } from '../utils/objectAssign.js' // Create pageContext forks to avoid leaks: upon an error (bug or abort) a brand new pageContext object is created, in order to avoid previous pageContext modifications that are now obsolete to leak to the new pageContext object. function forkPageContext>(pageContext: PageContext) { diff --git a/packages/vike/src/shared-server-client/getGlobalContextPublicShared.ts b/packages/vike/src/shared-server-client/getGlobalContextPublicShared.ts index c9d1c07e10f..22eb036f490 100644 --- a/packages/vike/src/shared-server-client/getGlobalContextPublicShared.ts +++ b/packages/vike/src/shared-server-client/getGlobalContextPublicShared.ts @@ -2,7 +2,7 @@ export { getGlobalContextPublicShared } export type { GlobalContextPublicMinimum } import { getPublicProxy } from './getPublicProxy.js' -import { assert } from './utils.js' +import { assert } from '../utils/assert.js' import type { PageConfigGlobalRuntime } from '../types/PageConfig.js' type GlobalContextPublicMinimum = { diff --git a/packages/vike/src/shared-server-client/getPageContextPublicShared.ts b/packages/vike/src/shared-server-client/getPageContextPublicShared.ts index 7a0df007c59..6598f13bc88 100644 --- a/packages/vike/src/shared-server-client/getPageContextPublicShared.ts +++ b/packages/vike/src/shared-server-client/getPageContextPublicShared.ts @@ -2,7 +2,9 @@ export { getPageContextPublicShared } export { assertPropertyGetters } export type { PageContextPublicMinimum } -import { assert, assertWarning, compareString, isPropertyGetter } from './utils.js' +import { assert, assertWarning } from '../utils/assert.js' +import { compareString } from '../utils/compareString.js' +import { isPropertyGetter } from '../utils/isPropertyGetter.js' import { addIs404ToPageProps } from './addIs404ToPageProps.js' import { getGlobalContextPublicShared } from './getGlobalContextPublicShared.js' import { getPublicProxy } from './getPublicProxy.js' diff --git a/packages/vike/src/shared-server-client/getPageContextUrlComputed.ts b/packages/vike/src/shared-server-client/getPageContextUrlComputed.ts index c81ba0dc2e2..f1c01aac1b4 100644 --- a/packages/vike/src/shared-server-client/getPageContextUrlComputed.ts +++ b/packages/vike/src/shared-server-client/getPageContextUrlComputed.ts @@ -11,7 +11,11 @@ export type { PageContextUrlSource } import { objectDefineProperty } from '../utils/objectDefineProperty.js' import { assertPropertyGetters } from './getPageContextPublicShared.js' -import { assert, parseUrl, assertWarning, isBrowser, changeEnumerable, type UrlPublic } from './utils.js' +import { assert, assertWarning } from '../utils/assert.js' +import type { UrlPublic } from '../utils/parseUrl.js' +import { changeEnumerable } from '../utils/changeEnumerable.js' +import { isBrowser } from '../utils/isBrowser.js' +import { parseUrl } from '../utils/parseUrl.js' import type { PageContextCreated } from './createPageContextShared.js' import type { PageContextExecHook } from './hooks/execHook.js' diff --git a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide.ts b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide.ts index e91ec92a4ed..8da49ef2b71 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide.ts @@ -6,7 +6,7 @@ import { analyzeExports } from './analyzePageClientSide/analyzeExports.js' import { determineClientEntry } from './analyzePageClientSide/determineClientEntry.js' import { getPageFilesClientSide } from './getAllPageIdFiles.js' import { getPageFilesServerSide } from './getAllPageIdFiles.js' -import { assert } from '../utils.js' +import { assert } from '../../utils/assert.js' import { getExportNames } from './analyzePageClientSide/getExportNames.js' import type { PageFile } from './getPageFileObject.js' import type { ClientDependency } from './analyzePageClientSide/ClientDependency.js' diff --git a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.ts b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.ts index bc351121b49..db2d1625056 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/analyzeExports.ts @@ -1,7 +1,7 @@ export { analyzeExports } import { getExportNames } from './getExportNames.js' -import { assertUsage } from '../../utils.js' +import { assertUsage } from '../../../utils/assert.js' import type { PageFile } from '../getPageFileObject.js' // TO-DO/next-major-release: remove diff --git a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.ts b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.ts index be1f624c4a4..1f1d77e71d9 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/analyzePageClientSide/getExportNames.ts @@ -1,6 +1,6 @@ export { getExportNames } -import { assert } from '../../utils.js' +import { assert } from '../../../utils/assert.js' import type { PageFile } from '../getPageFileObject.js' function getExportNames(p: PageFile): string[] { diff --git a/packages/vike/src/shared-server-client/getPageFiles/analyzePageServerSide.ts b/packages/vike/src/shared-server-client/getPageFiles/analyzePageServerSide.ts index c956ced0192..ed9642c27e2 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/analyzePageServerSide.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/analyzePageServerSide.ts @@ -1,6 +1,6 @@ export { analyzePageServerSide } -import { assert } from '../utils.js' +import { assert } from '../../utils/assert.js' import { getPageFilesServerSide } from './getAllPageIdFiles.js' import type { PageFile } from './getPageFileObject.js' diff --git a/packages/vike/src/shared-server-client/getPageFiles/assert_exports_old_design.ts b/packages/vike/src/shared-server-client/getPageFiles/assert_exports_old_design.ts index b9ebfd09a80..db5ee0422a4 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/assert_exports_old_design.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/assert_exports_old_design.ts @@ -4,7 +4,7 @@ export { assertDefaultExports } export { assertExportValues } export { forbiddenDefaultExports } -import { assert, assertUsage } from '../utils.js' +import { assert, assertUsage } from '../../utils/assert.js' import type { PageFile } from './getPageFileObject.js' const enforceTrue = ['clientRouting'] diff --git a/packages/vike/src/shared-server-client/getPageFiles/fileTypes.ts b/packages/vike/src/shared-server-client/getPageFiles/fileTypes.ts index 317629bd347..98fa1732ba5 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/fileTypes.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/fileTypes.ts @@ -5,7 +5,7 @@ export { fileTypes } export { isValidFileType } export { determineFileType } -import { assert } from '../utils.js' +import { assert } from '../../utils/assert.js' import { isScriptFile } from '../../utils/isScriptFile.js' const fileTypes = [ diff --git a/packages/vike/src/shared-server-client/getPageFiles/getAllPageIdFiles.ts b/packages/vike/src/shared-server-client/getPageFiles/getAllPageIdFiles.ts index 85c9de7fec8..082781e6637 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/getAllPageIdFiles.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/getAllPageIdFiles.ts @@ -3,7 +3,8 @@ export { getPageFilesClientSide } export { getPageFilesServerSide } -import { assert, assertUsage, isNotNullish } from '../utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { isNotNullish } from '../../utils/isNullish.js' import type { PageFile } from './getPageFileObject.js' function getPageFilesClientSide(pageFilesAll: PageFile[], pageId: string): PageFile[] { diff --git a/packages/vike/src/shared-server-client/getPageFiles/getPageFileObject.ts b/packages/vike/src/shared-server-client/getPageFiles/getPageFileObject.ts index 6e81d6453ab..c42a5ff4af2 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/getPageFileObject.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/getPageFileObject.ts @@ -5,7 +5,8 @@ export type { PageFile } import { determinePageIdOld } from '../determinePageIdOld.js' import { isErrorPageId } from '../error-page.js' -import { assert, slice } from '../utils.js' +import { assert } from '../../utils/assert.js' +import { slice } from '../../utils/slice.js' import { determineFileType, FileType } from './fileTypes.js' type PageFile = { diff --git a/packages/vike/src/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.ts b/packages/vike/src/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.ts index 0bf7e4acf93..697639d091d 100644 --- a/packages/vike/src/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.ts +++ b/packages/vike/src/shared-server-client/getPageFiles/parseVirtualFileExportsGlobalEntry.ts @@ -2,7 +2,12 @@ export { parseVirtualFileExportsGlobalEntry } // TO-DO/next-major-release: remove old design code, and remove all assertions. -import { assert, hasProp, isCallable, isObject, cast, isArray } from '../utils.js' +import { assert } from '../../utils/assert.js' +import { cast } from '../../utils/cast.js' +import { hasProp } from '../../utils/hasProp.js' +import { isArray } from '../../utils/isArray.js' +import { isCallable } from '../../utils/isCallable.js' +import { isObject } from '../../utils/isObject.js' import { assertExportValues } from './assert_exports_old_design.js' import { getPageFileObject, type PageFile } from './getPageFileObject.js' import { fileTypes, type FileType } from './fileTypes.js' diff --git a/packages/vike/src/shared-server-client/getPublicProxy.ts b/packages/vike/src/shared-server-client/getPublicProxy.ts index 8b65768f2c6..5f4cad2fe8a 100644 --- a/packages/vike/src/shared-server-client/getPublicProxy.ts +++ b/packages/vike/src/shared-server-client/getPublicProxy.ts @@ -11,7 +11,9 @@ export type { DangerouslyUseInternals } // Show warning when user is accessing internal `_` properties. import { NOT_SERIALIZABLE } from './NOT_SERIALIZABLE.js' -import { assert, assertUsage, assertWarning, getPropAccessNotation, isBrowser } from './utils.js' +import { assert, assertUsage, assertWarning } from '../utils/assert.js' +import { getPropAccessNotation } from '../utils/getPropAccessNotation.js' +import { isBrowser } from '../utils/isBrowser.js' type ObjProxy = { _isProxyObject: true diff --git a/packages/vike/src/shared-server-client/hooks/execHook.ts b/packages/vike/src/shared-server-client/hooks/execHook.ts index ce5c55eb05e..a7a6fe682c4 100644 --- a/packages/vike/src/shared-server-client/hooks/execHook.ts +++ b/packages/vike/src/shared-server-client/hooks/execHook.ts @@ -10,7 +10,6 @@ export { providePageContext } export { isUserHookError } export type { PageContextExecHook } -// TODO: minor refactor — maybe completely remove (some) utils.js files? import { assert, getProjectError, assertWarning, assertUsage } from '../../utils/assert.js' import { getGlobalObject } from '../../utils/getGlobalObject.js' import { humanizeTime } from '../../utils/humanizeTime.js' diff --git a/packages/vike/src/shared-server-client/hooks/getHook.ts b/packages/vike/src/shared-server-client/hooks/getHook.ts index 2dd80ec8ebb..6a31abc6f80 100644 --- a/packages/vike/src/shared-server-client/hooks/getHook.ts +++ b/packages/vike/src/shared-server-client/hooks/getHook.ts @@ -19,7 +19,11 @@ import type { HookNameOld, HookNamePage, HookNameGlobal, HookName } from '../../ import type { ConfigValue, PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/PageConfig.js' import { getHookFilePathToShowToUser } from '../page-configs/helpers.js' import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js' -import { assert, assertUsage, checkType, isArray, isCallable, isObject } from '../utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { checkType } from '../../utils/checkType.js' +import { isArray } from '../../utils/isArray.js' +import { isCallable } from '../../utils/isCallable.js' +import { isObject } from '../../utils/isObject.js' import pc from '@brillout/picocolors' import type { GlobalContextPublicMinimum } from '../getGlobalContextPublicShared.js' import type { PageContextPublicMinimum } from '../getPageContextPublicShared.js' diff --git a/packages/vike/src/shared-server-client/modifyUrl.ts b/packages/vike/src/shared-server-client/modifyUrl.ts index af97ac088ea..cc39c3c1e0d 100644 --- a/packages/vike/src/shared-server-client/modifyUrl.ts +++ b/packages/vike/src/shared-server-client/modifyUrl.ts @@ -1,7 +1,7 @@ export { modifyUrl } import { modifyUrlSameOrigin, type ModifyUrlSameOriginOptions } from './modifyUrlSameOrigin.js' -import { createUrlFromComponents, parseUrl } from './utils.js' +import { parseUrl, createUrlFromComponents } from '../utils/parseUrl.js' /** * Modify a URL. diff --git a/packages/vike/src/shared-server-client/modifyUrlSameOrigin.ts b/packages/vike/src/shared-server-client/modifyUrlSameOrigin.ts index 3ff1344989e..e2a79a95e2f 100644 --- a/packages/vike/src/shared-server-client/modifyUrlSameOrigin.ts +++ b/packages/vike/src/shared-server-client/modifyUrlSameOrigin.ts @@ -4,13 +4,9 @@ export { ModifyUrlSameOriginOptions } // We don't move modifyUrlSameOrigin() to the modifyUrl.ts file because we plan to use modifyUrlSameOrigin() on the client-side: // https://github.com/vikejs/vike/blob/c5a2de5e85262771f97851767c00ac35da69c64b/packages/vike/client/runtime-client-routing/navigate.ts#L4 -import { - createUrlFromComponents, - isNotNullish_keyVal, - parseUrl, - objectFilter, - assertUsageUrlPathAbsolute, -} from './utils.js' +import { createUrlFromComponents, assertUsageUrlPathAbsolute, parseUrl } from '../utils/parseUrl.js' +import { isNotNullish_keyVal } from '../utils/isNullish.js' +import { objectFilter } from '../utils/objectFilter.js' type ModifyUrlSameOriginOptions = { hash?: string | null diff --git a/packages/vike/src/shared-server-client/page-configs/assertPlusFileExport.ts b/packages/vike/src/shared-server-client/page-configs/assertPlusFileExport.ts index 5fdc43b16e7..bdee9781fb6 100644 --- a/packages/vike/src/shared-server-client/page-configs/assertPlusFileExport.ts +++ b/packages/vike/src/shared-server-client/page-configs/assertPlusFileExport.ts @@ -1,6 +1,6 @@ export { assertPlusFileExport } -import { assert, assertUsage, assertWarning } from '../utils.js' +import { assert, assertUsage, assertWarning } from '../../utils/assert.js' import pc from '@brillout/picocolors' const SIDE_EXPORTS_TOLERATE = [ diff --git a/packages/vike/src/shared-server-client/page-configs/findPageConfig.ts b/packages/vike/src/shared-server-client/page-configs/findPageConfig.ts index 14a91ea98be..babde4a86f9 100644 --- a/packages/vike/src/shared-server-client/page-configs/findPageConfig.ts +++ b/packages/vike/src/shared-server-client/page-configs/findPageConfig.ts @@ -1,6 +1,6 @@ export { findPageConfig } -import { assert } from '../utils.js' +import { assert } from '../../utils/assert.js' import type { PageConfigRuntime } from '../../types/PageConfig.js' function findPageConfig(pageConfigs: PageConfigRuntime[], pageId: string): null | PageConfigRuntime { diff --git a/packages/vike/src/shared-server-client/page-configs/getConfigDefinedAt.ts b/packages/vike/src/shared-server-client/page-configs/getConfigDefinedAt.ts index 11df2088e0c..f18a13ec3fc 100644 --- a/packages/vike/src/shared-server-client/page-configs/getConfigDefinedAt.ts +++ b/packages/vike/src/shared-server-client/page-configs/getConfigDefinedAt.ts @@ -5,7 +5,9 @@ export { getDefinedByString } export type { ConfigDefinedAt } export type { ConfigDefinedAtOptional } -import { assert, checkType, isArray } from '../utils.js' +import { assert } from '../../utils/assert.js' +import { checkType } from '../../utils/checkType.js' +import { isArray } from '../../utils/isArray.js' import type { DefinedAt, DefinedAtData, DefinedBy } from '../../types/PageConfig.js' import pc from '@brillout/picocolors' import { getExportPath } from './getExportPath.js' diff --git a/packages/vike/src/shared-server-client/page-configs/getConfigValueBuildTime.ts b/packages/vike/src/shared-server-client/page-configs/getConfigValueBuildTime.ts index 2311090dc02..8fac7319f06 100644 --- a/packages/vike/src/shared-server-client/page-configs/getConfigValueBuildTime.ts +++ b/packages/vike/src/shared-server-client/page-configs/getConfigValueBuildTime.ts @@ -1,6 +1,7 @@ export { getConfigValueBuildTime } -import { assert, type ResolveTypeAsString } from '../utils.js' +import { assert } from '../../utils/assert.js' +import type { ResolveTypeAsString } from '../../utils/hasProp.js' import type { PageConfigBuildTime, ConfigValue, ConfigValueSource, DefinedAt } from '../../types/PageConfig.js' import type { ConfigNameBuiltIn } from '../../types/Config.js' import { assertIsNotProductionRuntime } from '../../utils/assertSetup.js' diff --git a/packages/vike/src/shared-server-client/page-configs/getConfigValueRuntime.ts b/packages/vike/src/shared-server-client/page-configs/getConfigValueRuntime.ts index 256187a8e79..e0e53519f70 100644 --- a/packages/vike/src/shared-server-client/page-configs/getConfigValueRuntime.ts +++ b/packages/vike/src/shared-server-client/page-configs/getConfigValueRuntime.ts @@ -1,6 +1,6 @@ export { getConfigValueRuntime } -import { type ResolveTypeAsString } from '../utils.js' +import type { ResolveTypeAsString } from '../../utils/hasProp.js' import type { PageConfigRuntime, ConfigValue } from '../../types/PageConfig.js' import type { ConfigNameBuiltIn } from '../../types/Config.js' import { getConfigValueTyped, type TypeAsString } from './getConfigValueTyped.js' diff --git a/packages/vike/src/shared-server-client/page-configs/getConfigValueTyped.ts b/packages/vike/src/shared-server-client/page-configs/getConfigValueTyped.ts index ca211c87c12..ca74d38d156 100644 --- a/packages/vike/src/shared-server-client/page-configs/getConfigValueTyped.ts +++ b/packages/vike/src/shared-server-client/page-configs/getConfigValueTyped.ts @@ -1,7 +1,9 @@ export { getConfigValueTyped } export type { TypeAsString } -import { type ResolveTypeAsString, assert, assertUsage, getValuePrintable } from '../utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import type { ResolveTypeAsString } from '../../utils/hasProp.js' +import { getValuePrintable } from '../../utils/getValuePrintable.js' import type { ConfigValue, DefinedAtData } from '../../types/PageConfig.js' import type { ConfigNameBuiltIn } from '../../types/Config.js' import pc from '@brillout/picocolors' diff --git a/packages/vike/src/shared-server-client/page-configs/getExportPath.ts b/packages/vike/src/shared-server-client/page-configs/getExportPath.ts index 187984e5a57..f0aa9b7c6d7 100644 --- a/packages/vike/src/shared-server-client/page-configs/getExportPath.ts +++ b/packages/vike/src/shared-server-client/page-configs/getExportPath.ts @@ -1,6 +1,6 @@ export { getExportPath } -import { assert } from '../utils.js' +import { assert } from '../../utils/assert.js' function getExportPath(fileExportPathToShowToUser: null | string[], configName: string): null | string { if (!fileExportPathToShowToUser) return null diff --git a/packages/vike/src/shared-server-client/page-configs/helpers.ts b/packages/vike/src/shared-server-client/page-configs/helpers.ts index 1f646307828..c40a4b0e5ed 100644 --- a/packages/vike/src/shared-server-client/page-configs/helpers.ts +++ b/packages/vike/src/shared-server-client/page-configs/helpers.ts @@ -2,7 +2,8 @@ export { getPageConfig } export { getConfigValueFilePathToShowToUser } export { getHookFilePathToShowToUser } -import { assert, isArray } from '../utils.js' +import { assert } from '../../utils/assert.js' +import { isArray } from '../../utils/isArray.js' import type { PageConfigRuntime, DefinedAtData } from '../../types/PageConfig.js' function getPageConfig(pageId: string, pageConfigs: PageConfigRuntime[]): PageConfigRuntime { diff --git a/packages/vike/src/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.ts b/packages/vike/src/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.ts index fb7c2d8bf3b..923484d6b26 100644 --- a/packages/vike/src/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.ts +++ b/packages/vike/src/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.ts @@ -1,6 +1,6 @@ export { loadAndParseVirtualFilePageEntry } -import { objectAssign } from '../utils.js' +import { objectAssign } from '../../utils/objectAssign.js' import type { ConfigValues, PageConfigRuntime, diff --git a/packages/vike/src/shared-server-client/page-configs/resolveVikeConfigPublic.ts b/packages/vike/src/shared-server-client/page-configs/resolveVikeConfigPublic.ts index 6360a471703..a1adf7d601d 100644 --- a/packages/vike/src/shared-server-client/page-configs/resolveVikeConfigPublic.ts +++ b/packages/vike/src/shared-server-client/page-configs/resolveVikeConfigPublic.ts @@ -25,17 +25,12 @@ import type { } from '../../types/PageConfig.js' import { type ConfigDefinedAtOptional, getConfigDefinedAtOptional, getDefinedAtString } from './getConfigDefinedAt.js' import { getConfigValueFilePathToShowToUser } from './helpers.js' -import { - assert, - isObject, - assertWarning, - assertUsage, - makeLast, - isBrowser, - isScriptFile, - isTemplateFile, - objectDefineProperty, -} from '../utils.js' +import { assert, assertWarning, assertUsage } from '../../utils/assert.js' +import { makeLast } from '../../utils/sorter.js' +import { isScriptFile, isTemplateFile } from '../../utils/isScriptFile.js' +import { objectDefineProperty } from '../../utils/objectDefineProperty.js' +import { isBrowser } from '../../utils/isBrowser.js' +import { isObject } from '../../utils/isObject.js' import pc from '@brillout/picocolors' import type { ConfigResolved } from '../../types/Config/ConfigResolved.js' import type { Route } from '../../types/Config.js' diff --git a/packages/vike/src/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.ts b/packages/vike/src/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.ts index 22468f5ff96..b9794b4776b 100644 --- a/packages/vike/src/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.ts +++ b/packages/vike/src/shared-server-client/page-configs/serialize/parsePageConfigsSerialized.ts @@ -13,7 +13,8 @@ import type { PageConfigRuntimeSerialized, ValueSerialized, } from './PageConfigSerialized.js' -import { assert, assertUsage, isCallable } from '../../utils.js' +import { assert, assertUsage } from '../../../utils/assert.js' +import { isCallable } from '../../../utils/isCallable.js' import { getConfigDefinedAt } from '../getConfigDefinedAt.js' import type { ConfigValueSerialized } from './PageConfigSerialized.js' import { parseTransform } from '@brillout/json-serializer/parse' diff --git a/packages/vike/src/shared-server-client/route/abort.ts b/packages/vike/src/shared-server-client/route/abort.ts index 0ea02675dad..fbbaba21046 100644 --- a/packages/vike/src/shared-server-client/route/abort.ts +++ b/packages/vike/src/shared-server-client/route/abort.ts @@ -15,21 +15,15 @@ export type { UrlRedirect } export type { PageContextAbort } import { isUserHookError } from '../hooks/execHook.js' -import { - assert, - assertInfo, - assertUsage, - assertUsageUrlPathAbsolute, - assertUsageUrlRedirectTarget, - assertWarning, - checkType, - hasProp, - isBrowser, - joinEnglish, - objectAssign, - truncateString, - unique, -} from './utils.js' +import { assert, assertInfo, assertUsage, assertWarning } from '../../utils/assert.js' +import { assertUsageUrlPathAbsolute, assertUsageUrlRedirectTarget } from '../../utils/parseUrl.js' +import { checkType } from '../../utils/checkType.js' +import { hasProp } from '../../utils/hasProp.js' +import { isBrowser } from '../../utils/isBrowser.js' +import { joinEnglish } from '../../utils/joinEnglish.js' +import { objectAssign } from '../../utils/objectAssign.js' +import { truncateString } from '../../utils/truncateString.js' +import { unique } from '../../utils/unique.js' import pc from '@brillout/picocolors' // For improved IntelliSense, we define the list of status codes directly on the argument types of redirect() and render() diff --git a/packages/vike/src/shared-server-client/route/deduceRouteStringFromFilesystemPath.ts b/packages/vike/src/shared-server-client/route/deduceRouteStringFromFilesystemPath.ts index 5516f6fe384..ce16fcab226 100644 --- a/packages/vike/src/shared-server-client/route/deduceRouteStringFromFilesystemPath.ts +++ b/packages/vike/src/shared-server-client/route/deduceRouteStringFromFilesystemPath.ts @@ -1,6 +1,8 @@ // Unit tests at ./deduceRouteStringFromFilesystemPath.spec.ts -import { assert, higherFirst, slice } from './utils.js' +import { assert } from '../../utils/assert.js' +import { slice } from '../../utils/slice.js' +import { higherFirst } from '../../utils/sorter.js' export { deduceRouteStringFromFilesystemPath } export type { FilesystemRoot } diff --git a/packages/vike/src/shared-server-client/route/execHookGuard.ts b/packages/vike/src/shared-server-client/route/execHookGuard.ts index a297909b7ca..a32e973e233 100644 --- a/packages/vike/src/shared-server-client/route/execHookGuard.ts +++ b/packages/vike/src/shared-server-client/route/execHookGuard.ts @@ -1,7 +1,8 @@ export { execHookGuard } import { getHookFromPageContext, getHookTimeoutDefault, type Hook } from '../hooks/getHook.js' -import { assert, assertUsage, isCallable } from './utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { isCallable } from '../../utils/isCallable.js' import type { PageContextConfig, PageFile } from '../getPageFiles.js' import { execHookSingle, type PageContextExecHook } from '../hooks/execHook.js' import type { GlobalContextInternal } from '../createGlobalContextShared.js' diff --git a/packages/vike/src/shared-server-client/route/execHookOnBeforeRoute.ts b/packages/vike/src/shared-server-client/route/execHookOnBeforeRoute.ts index 47cbfc5e702..800874e331d 100644 --- a/packages/vike/src/shared-server-client/route/execHookOnBeforeRoute.ts +++ b/packages/vike/src/shared-server-client/route/execHookOnBeforeRoute.ts @@ -1,16 +1,12 @@ export { execHookOnBeforeRoute } import { assertPageContextProvidedByUser } from '../assertPageContextProvidedByUser.js' -import { - assertUsage, - hasProp, - isObjectWithKeys, - objectAssign, - assertWarning, - assertUsageUrlAbsolute, - joinEnglish, - assert, -} from './utils.js' +import { assertUsage, assertWarning, assert } from '../../utils/assert.js' +import { assertUsageUrlAbsolute } from '../../utils/parseUrl.js' +import { hasProp } from '../../utils/hasProp.js' +import { isObjectWithKeys } from '../../utils/isObjectWithKeys.js' +import { joinEnglish } from '../../utils/joinEnglish.js' +import { objectAssign } from '../../utils/objectAssign.js' import { assertRouteParams, assertSyncRouting } from './resolveRouteFunction.js' import pc from '@brillout/picocolors' import type { PageContextBeforeRoute, PageContextAfterRoute } from './index.js' diff --git a/packages/vike/src/shared-server-client/route/index.ts b/packages/vike/src/shared-server-client/route/index.ts index 0658ac9bb38..c6f644c1d9c 100644 --- a/packages/vike/src/shared-server-client/route/index.ts +++ b/packages/vike/src/shared-server-client/route/index.ts @@ -11,7 +11,10 @@ if (isBrowser()) { assertClientRouting() } -import { assert, assertUsage, isPlainObject, objectAssign, debug } from './utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { debug } from '../../utils/debug.js' +import { isPlainObject } from '../../utils/isPlainObject.js' +import { objectAssign } from '../../utils/objectAssign.js' import type { PageContextUrlInternal, PageContextUrlSource } from '../getPageContextUrlComputed.js' import { resolvePrecedence } from './resolvePrecedence.js' import { resolveRouteString } from './resolveRouteString.js' diff --git a/packages/vike/src/shared-server-client/route/loadPageRoutes.ts b/packages/vike/src/shared-server-client/route/loadPageRoutes.ts index 8c589c79862..aa4f30cc257 100644 --- a/packages/vike/src/shared-server-client/route/loadPageRoutes.ts +++ b/packages/vike/src/shared-server-client/route/loadPageRoutes.ts @@ -5,9 +5,12 @@ export type { RouteType } import type { PageFile } from '../getPageFiles.js' import { isErrorPageId } from '../error-page.js' -import { assert, assertUsage, hasProp, slice } from './utils.js' +import { assert, assertUsage } from '../../utils/assert.js' +import { hasProp } from '../../utils/hasProp.js' +import { isArray } from '../../utils/isArray.js' +import { isCallable } from '../../utils/isCallable.js' +import { slice } from '../../utils/slice.js' import { FilesystemRoot, deduceRouteStringFromFilesystemPath } from './deduceRouteStringFromFilesystemPath.js' -import { isArray, isCallable } from '../utils.js' import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../types/PageConfig.js' import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js' import { getDefinedAtString } from '../page-configs/getConfigDefinedAt.js' diff --git a/packages/vike/src/shared-server-client/route/resolvePrecedence.ts b/packages/vike/src/shared-server-client/route/resolvePrecedence.ts index 897ce1d61c1..9651634b756 100644 --- a/packages/vike/src/shared-server-client/route/resolvePrecedence.ts +++ b/packages/vike/src/shared-server-client/route/resolvePrecedence.ts @@ -2,8 +2,7 @@ export { resolvePrecedence } // export type { RouteMatch } import { analyzeRouteString } from './resolveRouteString.js' -import { higherFirst, lowerFirst } from './utils.js' -import { makeFirst } from './utils.js' +import { higherFirst, lowerFirst, makeFirst } from '../../utils/sorter.js' import { isStaticRouteString } from './resolveRouteString.js' import type { RouteType } from './loadPageRoutes.js' diff --git a/packages/vike/src/shared-server-client/route/resolveRoute.ts b/packages/vike/src/shared-server-client/route/resolveRoute.ts index 389c7036dff..517159471c9 100644 --- a/packages/vike/src/shared-server-client/route/resolveRoute.ts +++ b/packages/vike/src/shared-server-client/route/resolveRoute.ts @@ -1,6 +1,6 @@ export { resolveRoute } -import { assertUsage } from './utils.js' +import { assertUsage } from '../../utils/assert.js' import { resolveRouteString } from './resolveRouteString.js' import pc from '@brillout/picocolors' diff --git a/packages/vike/src/shared-server-client/route/resolveRouteFunction.ts b/packages/vike/src/shared-server-client/route/resolveRouteFunction.ts index 1c14def6701..5eec101b69f 100644 --- a/packages/vike/src/shared-server-client/route/resolveRouteFunction.ts +++ b/packages/vike/src/shared-server-client/route/resolveRouteFunction.ts @@ -6,7 +6,10 @@ export { warnDeprecatedAllowKey } import type { PageContextUrlInternal } from '../getPageContextUrlComputed.js' import { execHookSingleSync } from '../hooks/execHook.js' import { getPageContextPublicShared } from '../getPageContextPublicShared.js' -import { assert, assertUsage, assertWarning, hasProp, isPlainObject, isPromise } from './utils.js' +import { assert, assertUsage, assertWarning } from '../../utils/assert.js' +import { hasProp } from '../../utils/hasProp.js' +import { isPlainObject } from '../../utils/isPlainObject.js' +import { isPromise } from '../../utils/isPromise.js' import pc from '@brillout/picocolors' async function resolveRouteFunction( diff --git a/packages/vike/src/shared-server-client/route/resolveRouteString.ts b/packages/vike/src/shared-server-client/route/resolveRouteString.ts index dd05e1edf13..3a5bf752459 100644 --- a/packages/vike/src/shared-server-client/route/resolveRouteString.ts +++ b/packages/vike/src/shared-server-client/route/resolveRouteString.ts @@ -5,8 +5,9 @@ export { analyzeRouteString } export { assertRouteString } export { getRouteStringParameterList } -import { assertWarning, isBrowser, escapeRegex } from '../utils.js' -import { assert, assertUsage } from './utils.js' +import { assertWarning, assert, assertUsage } from '../../utils/assert.js' +import { escapeRegex } from '../../utils/escapeRegex.js' +import { isBrowser } from '../../utils/isBrowser.js' import pc from '@brillout/picocolors' const PARAM_TOKEN_NEW = '@' diff --git a/packages/vike/src/shared-server-client/route/resolveUrlPathname.ts b/packages/vike/src/shared-server-client/route/resolveUrlPathname.ts index 36e412e3cb0..0a7cbf25539 100644 --- a/packages/vike/src/shared-server-client/route/resolveUrlPathname.ts +++ b/packages/vike/src/shared-server-client/route/resolveUrlPathname.ts @@ -1,7 +1,8 @@ export { resolveUrlPathname } import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js' -import { assert, assertUsage } from '../utils.js' +import { assert, assertUsage } from '../../utils/assert.js' + assertIsNotBrowser() // Don't bloat the client type Part = diff --git a/packages/vike/src/shared-server-client/route/utils.ts b/packages/vike/src/shared-server-client/route/utils.ts deleted file mode 100644 index 7f67623b41e..00000000000 --- a/packages/vike/src/shared-server-client/route/utils.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Utils needed by: -// - runtime of server -// - runtime of client (Client Routing) - -// Ensure we don't bloat runtime of Server Routing with the utils down below -import { assertClientRouting } from '../../utils/assertRoutingType.js' -import { isBrowser } from '../../utils/isBrowser.js' -if (isBrowser()) { - assertClientRouting() -} - -export * from '../../utils/assert.js' -export * from '../../utils/hasProp.js' -export * from '../../utils/isObjectWithKeys.js' -export * from '../../utils/sorter.js' -export * from '../../utils/isPromise.js' -export * from '../../utils/isPlainObject.js' -export * from '../../utils/objectAssign.js' -export * from '../../utils/slice.js' -export * from '../../utils/unique.js' -export * from '../../utils/isBrowser.js' -export * from '../../utils/parseUrl.js' -export * from '../../utils/checkType.js' -export * from '../../utils/joinEnglish.js' -export * from '../../utils/truncateString.js' -export * from '../../utils/isCallable.js' -export * from '../../utils/debug.js' diff --git a/packages/vike/src/shared-server-client/utils.ts b/packages/vike/src/shared-server-client/utils.ts deleted file mode 100644 index 5c24632f10e..00000000000 --- a/packages/vike/src/shared-server-client/utils.ts +++ /dev/null @@ -1,34 +0,0 @@ -// Utils needed by all runtimes: -// - runtime of server -// - runtime of client (Server Routing) -// - runtime of client (Client Routing) - -export * from '../utils/assert.js' -export * from '../utils/parseUrl.js' -export * from '../utils/objectAssign.js' -export * from '../utils/objectReplace.js' -export * from '../utils/isCallable.js' -export * from '../utils/isObject.js' -export * from '../utils/unique.js' -export * from '../utils/slice.js' -export * from '../utils/sorter.js' -export * from '../utils/isBrowser.js' -export * from '../utils/hasProp.js' -export * from '../utils/isPlainObject.js' -export * from '../utils/compareString.js' -export * from '../utils/isNullish.js' -export * from '../utils/stringifyStringArray.js' -export * from '../utils/cast.js' -export * from '../utils/isPropertyGetter.js' -export * from '../utils/isPromise.js' -export * from '../utils/checkType.js' -export * from '../utils/getValuePrintable.js' -export * from '../utils/escapeRegex.js' -export * from '../utils/isArray.js' -export * from '../utils/changeEnumerable.js' -export * from '../utils/objectDefineProperty.js' -export * from '../utils/isScriptFile.js' -export * from '../utils/objectFilter.js' -export * from '../utils/getPropAccessNotation.js' -export * from '../utils/getGlobalObject.js' -export * from '../utils/genPromise.js' diff --git a/packages/vike/src/shared-server-node/assertV1Design.ts b/packages/vike/src/shared-server-node/assertV1Design.ts index 029de8be945..92e3f8847a5 100644 --- a/packages/vike/src/shared-server-node/assertV1Design.ts +++ b/packages/vike/src/shared-server-node/assertV1Design.ts @@ -4,7 +4,9 @@ export { assertV1Design } import { PageFile } from '../shared-server-client/getPageFiles.js' import type { PageConfigBuildTime } from '../types/PageConfig.js' -import { assert, assertUsage, assertWarning, isNotNullish, unique } from './utils.js' +import { assert, assertUsage, assertWarning } from '../utils/assert.js' +import { isNotNullish } from '../utils/isNullish.js' +import { unique } from '../utils/unique.js' function assertV1Design(pageConfigs: PageConfigBuildTime[] | boolean, pageFilesAll: PageFile[] | boolean): void { const isOldDesign = pageFilesAll === true || (pageFilesAll !== false && pageFilesAll.length > 0) diff --git a/packages/vike/src/shared-server-node/extractAssetsQuery.ts b/packages/vike/src/shared-server-node/extractAssetsQuery.ts index 8e92381a886..4d952e911fb 100644 --- a/packages/vike/src/shared-server-node/extractAssetsQuery.ts +++ b/packages/vike/src/shared-server-node/extractAssetsQuery.ts @@ -2,7 +2,8 @@ export { extractAssetsAddQuery } export { extractAssetsRemoveQuery } // We import from node/utils.ts instead of node/vite/utils.ts because this file is loaded by the server runtime -import { assert, getFileExtension } from './utils.js' +import { assert } from '../utils/assert.js' +import { getFileExtension } from '../utils/getFileExtension.js' const query = 'extractAssets' diff --git a/packages/vike/src/shared-server-node/getVikeConfigError.ts b/packages/vike/src/shared-server-node/getVikeConfigError.ts index a3f543ac1e4..036b724aba2 100644 --- a/packages/vike/src/shared-server-node/getVikeConfigError.ts +++ b/packages/vike/src/shared-server-node/getVikeConfigError.ts @@ -3,7 +3,8 @@ export { getVikeConfigErrorBuild } export { setVikeConfigError } export { debugFileChange } -import { getGlobalObject, createDebug } from './utils.js' +import { createDebug } from '../utils/debug.js' +import { getGlobalObject } from '../utils/getGlobalObject.js' const globalObject = getGlobalObject('server/shared/getVikeConfigError.ts', { errorRuntime: false as VikeConfigHasError, diff --git a/packages/vike/src/shared-server-node/prependEntriesDir.ts b/packages/vike/src/shared-server-node/prependEntriesDir.ts index 10698916853..55c382bbf95 100644 --- a/packages/vike/src/shared-server-node/prependEntriesDir.ts +++ b/packages/vike/src/shared-server-node/prependEntriesDir.ts @@ -1,6 +1,6 @@ export { prependEntriesDir } -import { assert } from './utils.js' +import { assert } from '../utils/assert.js' function prependEntriesDir(entryName: string): string { if (entryName.startsWith('/')) { diff --git a/packages/vike/src/shared-server-node/resolveBase.ts b/packages/vike/src/shared-server-node/resolveBase.ts index 54b2a3e4832..34a4dd7ccb1 100644 --- a/packages/vike/src/shared-server-node/resolveBase.ts +++ b/packages/vike/src/shared-server-node/resolveBase.ts @@ -1,7 +1,9 @@ export { resolveBase } export type { BaseUrlsResolved } -import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js' +import { assert, assertUsage } from '../utils/assert.js' +import { isBaseServer } from '../utils/parseUrl.js' +import { isBaseAssets } from '../utils/parseUrl-extras.js' import pc from '@brillout/picocolors' type BaseUrlsResolved = { diff --git a/packages/vike/src/shared-server-node/utils.ts b/packages/vike/src/shared-server-node/utils.ts deleted file mode 100644 index 6026a260261..00000000000 --- a/packages/vike/src/shared-server-node/utils.ts +++ /dev/null @@ -1,4 +0,0 @@ -// We can load all server/utils.ts since shared-server-node/ imports from server/runime/ anyways. -// And since /server/runime/ imports from shared-server-node/ both list of utils can be kept equivalent => this file can stay as-is. -// While node/vite/ imports from shared-server-node/ the inverse isn't true: shared-server-node/ doesn't import from node/vite/ => node/vite/utils.ts can be (and actually is) a superset of shared-server-node/utils.js -export * from '../server/utils.js' diff --git a/packages/vike/src/shared-server-node/virtualFileId.ts b/packages/vike/src/shared-server-node/virtualFileId.ts index a73c90852ad..8195ffb22f9 100644 --- a/packages/vike/src/shared-server-node/virtualFileId.ts +++ b/packages/vike/src/shared-server-node/virtualFileId.ts @@ -5,7 +5,10 @@ export { virtualFileIdGlobalEntryClientSR } export { virtualFileIdGlobalEntryClientCR } import { extractAssetsRemoveQuery } from './extractAssetsQuery.js' -import { assert, assertIsNotBrowser, removeVirtualFileIdPrefix } from './utils.js' +import { assert } from '../utils/assert.js' +import { assertIsNotBrowser } from '../utils/assertIsNotBrowser.js' +import { removeVirtualFileIdPrefix } from '../utils/virtualFileId.js' + assertIsNotBrowser() // Global entries