export async function app()

in integration/hapi-engine-ivy/server.ts [12:52]


export async function app() {
  const port = process.env.PORT || 4000;
  const distFolder = join(process.cwd(), 'dist/hapi-engine-ivy/browser');
  const server = new Server({
    port,
    routes: {
      files: {
        relativeTo: distFolder,
      },
    },
  });

  const documentFilePath = existsSync(join(distFolder, 'index.original.html'))
    ? join(distFolder, 'index.original.html')
    : join(distFolder, 'index.html');

  server.route({
    method: 'GET',
    path: '/{path*}',
    handler: (req: Request) =>
      ngHapiEngine({
        bootstrap: AppServerModule,
        documentFilePath,
        publicPath: distFolder,
        inlineCriticalCss: true,
        req,
      }),
  });

  await server.register(inert);

  // Client bundles will be statically served from the dist directory.
  server.route({
    method: 'GET',
    path: '/{filename}.{ext}',
    handler: (req: Request, res: ResponseToolkit) =>
      res.file(`${req.params.filename}.${req.params.ext}`),
  });

  return server;
}