Modulariy is an important aspect of software development, and what could be more modular than a library? That's what library-oriented architecture is all about: modularity. The main idea is that instead of building a monolithic application you build libraries, that can be installed and tested on their own. Like this, you don't need to understand the entire codebase, but you could rather just work on one feature (one library).
An example of library-oriented architecture would be, that in your application, module A doesn't import module B directly, but rather it
Pros: - Each individual unit can be understood, built and tested on its own - Stronger modularity - Clearer dependencies in NPM. E.g. if mongo requires @types/mongo and some driver it's only in the package.json of mongo - control what you expose Cons: - Overhead - More complexity - harder consistency accross project (unless tslint,tsconfig are imported externally)Well well...
What are the Pro's doing?
- Angular is using library-oriented-architecture (@angular/common, @angular/http, ...)
- React is using library-oriented-architecture (react, react-dom)
- Vscode isn't using library-oriented-architecture.