Introduction

What is Essencium?

A scalable, easy-to-maintain and adaptable boilerplate based on Next.js.

Background

The goal of Essencium is effortlessly build a scalable, easy-to-maintain and adaptable frontend. Projects based on Essencium should receive updates in the simplest way. Therefore, the Essencium library is built as an npm-package that can be installed via a package manager like npm, yarn or pnpm. As a consequence, new changes made on the Essencium library can be rolled-out as a new version and Essencium-based projects can easily update the dependency without copy and pasting the code manually.

Monorepository

We chose to use a monorepo architecture with the library, types, docs and the application as packages. That allows to easily develop the library, utilizing Vite and inspect the source code changes of the library via HMR inside the browser as if it was a single codebase. As a build tool we use nx (opens in a new tab). That allows us to run certain commands (like build or test) for all packages, with keeping the correct dependency order in mind. Additionally, nx caches jobs, that means if source files of a dependency have not been changed, the needed files get fetched from the cache instead of being re-built.