Workspace Level Multi Application Configuration Patterns in Angular Monorepo Environments
DOI:
https://doi.org/10.15662/IJEETR.2020.0202003Keywords:
Angular Monorepo, Workspace Configuration, Multi-Application Architecture, Shared Libraries, Dependency Graph, Build Target Configuration, Continuous IntegrationAbstract
As enterprise organizations increasingly consolidate related frontend applications and shared libraries within a single source repository, the Angular command line interface has evolved a workspace centric project model capable of hosting multiple applications and libraries under a shared configuration root. This article presents a systematic examination of workspace level configuration patterns applicable to multi application Angular monorepo environments, focusing on the angular.json workspace schema, the path mapping conventions that enable cross project library consumption, and the build target configuration that governs how individual applications within a shared workspace are compiled, tested, and deployed. The study examines library categorization strategies for organizing shared code by responsibility, dependency graph awareness as a mechanism for constraining continuous integration effort to only the projects affected by a given change, and the versioning strategies applicable when multiple independently deployable applications share a common set of libraries. The article further addresses environment specific configuration replacement, workspace level testing conventions, and the governance considerations relevant to large organizations maintaining numerous applications within a single workspace. The findings indicate that effective monorepo configuration depends on establishing clear project boundaries and consistent build target conventions early in a workspace's development, since retrofitting such conventions onto an already sprawling multi application workspace carries substantially greater cost than establishing them from the outset.References
1. Fowler, M. Patterns of Enterprise Application Architecture. Addison Wesley, 2002.
2. Bass, L., Clements, P., and Kazman, R. Software Architecture in Practice. Third Edition, Addison Wesley, 2012.
3. Humble, J., and Farley, D. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison Wesley, 2010.
4. Newman, S. Building Microservices: Designing Fine Grained Systems. O'Reilly Media, 2015.
5. Martin, R. C. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, 2002.
6. McConnell, S. Code Complete. Second Edition, Microsoft Press, 2004.
7. Freeman, A. Pro Angular 6. Third Edition, Apress, 2018.
8. Fain, Y., and Moiseev, A. Angular Development with TypeScript. Second Edition, Manning Publications, 2018.
9. Papa, J. Angular Style Guide. Self published developer reference, 2019.
10. Boduch, A. Angular 2 Components. Packt Publishing, 2016.
11. Meszaros, G. xUnit Test Patterns: Refactoring Test Code. Addison Wesley, 2007.
12. Fowler, M. Continuous Integration. martinfowler.com, 2006.
13. European Computer Manufacturers Association International. ECMAScript 2017 Language Specification, ECMA 262, Eighth Edition. 2017.
14. World Wide Web Consortium. Web Components. W3C Working Draft, 2018.





