This pattern seems mundane – like, why is this any different from run-of-the-mill SPA codebase structures?
The answer:
It's particularly useful as an incremental refactor strategy for turning massive messy codebases into cleanly scoped packages. Over time, the codebase consolidates into a set of /packages that are compatible with the many mono-repo tools that are available.
For codebases that prefer a mono-repo-like structure, without the complexity and overhead of a mono-repo, this structure is great. It provides clean /package scopes for each app, service, and common shared logic.
Subscribe to my weekly newsletter
The latest news, tips, artwork releases, and business updates from yours truly.