Member-only story

The 6 Best Practices for building Custom Angular Components Library

Tomas Trajan
13 min readJul 20, 2021

System, have a system! (📷 by Dose Juice — 🎨 by Tomas Trajan)

UPDATE (10.08.2021) — Check out Angular Rocks podcast where Aliaksei Kuncevič and I discuss topics presented in this article!

Angular Rocks Episode about best practices for building of custom Angular component libraries!

The Experience

The ideas presented in this article are based on extensive experience from a large enterprise environment (150 Angular SPAs and 30+ libs ) — many of which consume our custom Angular component library!

🤫 Wanna know how we can manage such a large environment without our heads going 🤯

Check out Omniboard, the best tool for lead software engineers and architects that helps them to get an overview to drive change by querying and tracking all their code bases! 🛠

ps: I made it using Angular / Material & NgRx and it served as an inspiration for many of the articles you have read already 😉

☕☕☕☕☕: This article is going to be one of the longer ones so do not hesitate to jump straight to the section which interests you the most based on the issues you’re currently working on!

Table of Content

  1. Have a Plan & Definitely Have a Design System

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Tomas Trajan
Tomas Trajan

Written by Tomas Trajan

👋 I build, teach, write & speak about #Angular & #NgRx for enterprises 👨‍💻 Google Developer Expert #GDE 👨‍🏫 @AngularZurich meetup co-organizer

Responses (4)

Write a response

Thank you Thomas! Your articles on Angular libraries are like "the unofficial docs" on the subject! I've tried "deep-diving" into Angular Material's repo, but it seems like the usual guidelines aren't followed there.
Recently I've created an issue on…

Nice article, Tomas!
Are you able to explain in which cases that sub-entries are necessary?
I tried setting up a new project, exporting two modules from a library, and checking if the build of an app tree-shaked correctly when only importing one of…

Good points! And funny enough, we identified a very similiar set in our company. The only point where we differ is the decoupling of the translation solution. Instead of only allowing simple strings to be passed in, we provide an interface that the…

Recommended from Medium

Lists

See more recommendations