Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Age of monorepos (JSNation)

The Age of monorepos (JSNation)

B5a5aa65ece7b78c2b73afca48c48885?s=128

Miroslav Jonaš

June 16, 2022
Tweet

More Decks by Miroslav Jonaš

Other Decks in Programming

Transcript

  1. The Age of Monorepos Miroslav Jonas / @meeroslav / nx.dev

    / nrwl.io
  2. @meeroslav / WARNING! Bad design Flickering colors Life-changing features

  3. Miroslav
 Jonaš @meeroslav

  4. None
  5. @meeroslav / STATIC WEB
 (pre JS era)

  6. None
  7. @meeroslav /

  8. @meeroslav / successfully confusing 
 recruiters since 1995

  9. @meeroslav / Age 
 of
 Scripting

  10. None
  11. @meeroslav / Age of jQuery

  12. Age of SPAs

  13. @meeroslav / Age of JAMStack

  14. None
  15. @meeroslav / Age of Monorepos

  16. Homepage App 
 (framework X) Backend Every application* UI Components

    
 / 
 Design system Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Admin Portal App Mobile App Utility
  17. Homepage App 
 (framework X) Backend Collocate UI Components 


    / 
 Design system Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Admin Portal App Mobile App Utility
  18. Code sharing

  19. @meeroslav / Just collocation NOT

  20. Affected graph store games sales coupons core shared admin

  21. Workspace analysis

  22. Task orchestration Test Build Lint Build Lint Test Build Lint

    Test
  23. now powered by Nx

  24. None
  25. Caching Never { build, test, lint… } same code twice

    { build, test, lint,... } Nx Local cache { build, test, lint,... } Nx Local cache
  26. Distributed task execution 10 tasks 110 tasks 100 tasks 150

    tasks Single agent 10 tasks 105 tasks 5 tasks 60 tasks 35 tasks Agent 1 Agent 2 Agent 3 Agent 4 Agent 5
  27. Code constraints

  28. @meeroslav / But I have only one project…

  29. Powerful generators

  30. Consistent tooling

  31. @meeroslav / Monorepos bring clarity - workspace analysis - graph

    visualization
  32. @meeroslav / - local & remote caching - task orchestration

    - detecting affected nodes - distributed task execution Monorepos bring speed
  33. @meeroslav / - code sharing - code collocation - powerful

    generators - consistent tooling - code constraints Monorepos make it easy
  34. None
  35. WHY BE A 10X 
 WHEN YOU CAN BE AN

    NX DEVELOPER? @meeroslav /
  36. Miroslav Jonas / @meeroslav / nx.dev / nrwl.io Thank you