@modern-js/server-core
Version:
A Progressive React Framework for modern web development.
41 lines (40 loc) • 1.19 kB
JavaScript
import { createAsyncHook, createAsyncPipelineHook } from "@modern-js/plugin-v2";
import { getHookRunners } from "./hooks";
import { handleSetupResult } from "./hooks";
const compatPlugin = () => ({
name: "@modern-js/server-compat",
registryHooks: {
fallback: createAsyncHook(),
prepareWebServer: createAsyncPipelineHook(),
prepareApiServer: createAsyncPipelineHook(),
afterMatch: createAsyncPipelineHook(),
afterRender: createAsyncPipelineHook(),
afterStreamingRender: createAsyncPipelineHook()
},
_registryApi: (getServerContext, updateServerContext) => {
const getInternalContext = () => {
return getServerContext()._internalContext;
};
return {
useConfigContext: () => {
return getInternalContext().config;
},
useAppContext: () => {
const { _internalContext, ...serverContext } = getServerContext();
return serverContext;
},
setAppContext: (context) => {
return updateServerContext(context);
},
useHookRunners: () => {
return getHookRunners(getInternalContext());
}
};
},
setup: () => {
}
});
export {
compatPlugin,
handleSetupResult
};