Skip to main content

Nx Cookbook

Introductionโ€‹

At Marmicode, we like to define Nx as a Progressive Build Companion. In fact, Nx is an extensible open-source build system that not only helps you create, organize, and maintain apps using modern JS tools (e.g. Angular, React, Nest.js, NextJS, Storybook, Playwright, Vitest, ...) and other tecnologies (e.g. Java & Rust), but it also provides a set of powerful features to handle and optimize monorepos and CI workflows.

Why this Cookbook?โ€‹

When it comes to organizing a code workspace, lots of questions arise:

  • Should you use Nx?
  • Should you use a single repository (monorepo) or multiple repositories (polyrepo)?
  • Should you split your code into apps and libraries?
  • If so, how should you organize them?
  • And how fine-grained the libraries should be?

We've asked ourselves these questions many times, and we've met many teams struggling with them too. We tried different approaches which made us realize that there are many options and no one-size-fits-all solution.

That is why we decided to write this Cookbook: to help you make the right choice based on your context because the best solution is the one that adapts to your needs.

Our Goalsโ€‹

Provide comprehensive guidance and recipes which:

  • ๐Ÿงญ are context-specific (from small to enterprise scale),
  • ๐ŸŽฏ let you focus on business and features instead of tooling,
  • ๐Ÿ’Ž enhance code maintainability with clear separation of concerns,
  • โšก๏ธ speed up your development workflow,
  • ๐Ÿ› ๏ธ help you migrate progressively (100% big-bang-free ๐Ÿ˜‰),
  • ๐Ÿค improve collaboration & collective ownership.

Learn Moreโ€‹

Pragmatic Angular Testing
๐Ÿ‘จ๐Ÿปโ€๐Ÿณ Let's cook some tests โ†’

๐Ÿ’ฐ 80โ‚ฌ ยท 170โ‚ฌ ยท Lifetime access

Learn how to write reliable tests that survive upgrades and refactorings.