vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
15 lines (14 loc) • 839 B
JavaScript
import '../../assertEnvServer.js';
export { execHookServer };
import { execHookList } from '../../../shared-server-client/hooks/execHook.js';
import { getPageContextPublicServer } from './getPageContextPublicServer.js';
import { getHooksFromPageContextNew } from '../../../shared-server-client/hooks/getHook.js';
import { getFileSuffixes } from '../../../shared-server-node/getFileSuffixes.js';
async function execHookServer(hookName, pageContext) {
const allHooks = getHooksFromPageContextNew(hookName, pageContext);
const hooks = !pageContext.isClientSideNavigation
? allHooks
: // Don't execute `.ssr.js` hooks upon client-side navigation
allHooks.filter((hook) => !getFileSuffixes(hook.hookFilePath).includes('ssr'));
return await execHookList(hooks, pageContext, getPageContextPublicServer);
}