serlina
Version:
A progressive React serverside-rendering framework
51 lines (50 loc) • 1.4 kB
TypeScript
import '@babel/polyfill';
export interface SerlinaConfig {
nodeExternalsWhitelist?: string[];
webpack: (webpack: any) => void;
}
export interface SerlinaOptions {
baseDir: string;
outputPath?: string;
host?: string;
port?: number;
publicPath?: string;
useStream?: boolean;
dev?: boolean;
inlineCSS?: boolean;
forceBuild?: boolean;
__serlinaConfig?: any;
__testing?: boolean;
}
export interface SerlinaInstanceOptions extends SerlinaOptions {
serlinaConfig: any;
outputPath: string;
publicPath: string;
dev: boolean;
}
declare class Serlina {
private resolveOutput;
private options;
private _injectedPayload;
private _webpackConfig;
private chunks;
private assetsMap;
private __eventBus;
readonly _pageEntries: string[];
_makeWebpackConfig: (onFinishedClientSideCompilation?: any) => any[];
constructor(options: SerlinaOptions);
_onFinishedClientSideCompilation: (state: any, ctx: any) => void;
build(): any;
private waitForChunks;
prepare(): Promise<void> | Promise<{}> | undefined;
inject(payload: any): void;
render(pageName: any, injectedPayload: any): Promise<{
body: string;
__webpackConfig: {};
__injected: any;
__initialProps: any;
__pageScripts: string[];
__pageStyles: string[];
}>;
}
export default Serlina;