Integrating a non-trivial tool or library into a Rakkas app usually entails some of the following:

  • Adding Vite plugins or tweaking Vite configuration options. Rakkas exposes the Vite configuration in rakkas.config.{js,ts}.
  • Wrapping the React application element in a React context provider (e.g. ApolloProvider for Apollo). Rakkas allows you to wrap your app in provider components. You can even wrap it differently on the server-side and on the client using customization hooks.
  • Applying a Babel plugin. Rakkas already uses Babel, you can add more plugins in your configuration.
  • Injecting HTML markup into the generated document's head: Server-side customization hooks support this use case via getHeadHtml.


Also be sure to check out RealWorld example app for a simple but complete fullstack application demonstrating how to approach building a REST API, accessing your database (via Prisma), handling authentication, deployment (Node, Vercel, Netlify, and Cloudflare Workers) and more.