$30 off During Our Annual Pro Sale. View Details »

The Age of monorepos (JSNation)

The Age of monorepos (JSNation)

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

    View Slide

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

    View Slide

  3. Miroslav

    Jonaš
    @meeroslav

    View Slide

  4. View Slide

  5. @meeroslav /
    STATIC WEB

    (pre JS era)

    View Slide

  6. View Slide

  7. @meeroslav /

    View Slide

  8. @meeroslav /
    successfully confusing

    recruiters since 1995

    View Slide

  9. @meeroslav /
    Age 

    of

    Scripting

    View Slide

  10. View Slide

  11. @meeroslav /
    Age
    of
    jQuery

    View Slide

  12. Age of SPAs

    View Slide

  13. @meeroslav /
    Age


    of


    JAMStack

    View Slide

  14. View Slide

  15. @meeroslav /
    Age
    of
    Monorepos

    View Slide

  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

    View Slide

  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

    View Slide

  18. Code sharing

    View Slide

  19. @meeroslav /
    Just collocation
    NOT

    View Slide

  20. Affected graph
    store
    games sales coupons
    core
    shared
    admin

    View Slide

  21. Workspace analysis

    View Slide

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

    View Slide

  23. now powered by Nx

    View Slide

  24. View Slide

  25. Caching
    Never { build, test, lint… } same code twice
    { build, test, lint,... }
    Nx
    Local cache
    { build, test, lint,... }
    Nx
    Local cache

    View Slide

  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

    View Slide

  27. Code constraints

    View Slide

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

    View Slide

  29. Powerful generators

    View Slide

  30. Consistent tooling

    View Slide

  31. @meeroslav /
    Monorepos bring clarity
    - workspace analysis

    - graph visualization

    View Slide

  32. @meeroslav /
    - local & remote caching

    - task orchestration

    - detecting affected nodes

    - distributed task execution
    Monorepos bring speed

    View Slide

  33. @meeroslav /
    - code sharing

    - code collocation

    - powerful generators

    - consistent tooling

    - code constraints
    Monorepos make it easy

    View Slide

  34. View Slide

  35. WHY BE A 10X 

    WHEN YOU CAN BE
    AN NX DEVELOPER?
    @meeroslav /

    View Slide

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

    View Slide