This was our goal when first developing BladeRunner internally. And it has remained our goal since, and as we have transformed the project into the BladeRunnerJS open source project.
Building large webapps requires consistency, and the ability to control and manage large codebases in a structured fashion. The JavaScript ecosystem provides many small and micro libraries to do almost anything you can think of doing. However, you need to use good judgement to produce a consistent, structured and extendable web stack set of tools.
There are toolsets within the ecosystem (like Karma) that can be extended using plugins. Combining best of breed tools means that you can constantly update to the latest and greatest tools. However, what you gain in up-to-dateness you can lose in efficiency of onboarding and common understanding of tools, and how they are used, within teams.
Having an underlying domain model provides an efficient abstraction of your codebase. It also allows plugin developers to exploit these efficiency gains without needing to understand the details.
To find out more see: Modelling Web Apps.