The ultimate guide to set up your Angular library project

Automated code formatting with Prettier & Husky, test coverage reports, deployed showcase and fully automated releases with Travis CI for your Angular library

Kevin Kreuzer
Angular In Depth
Published in
18 min readJun 11, 2019


AngularInDepth is moving away from Medium. More recent articles are hosted on the new platform Thanks for being part of indepth movement!

Angular is such an awesome framework, and we all love it 😍 It’s a complete tool kit that helps us build amazing stuff.

And it gets even better. Angular also contains a great community. A community which continually grows and pushes Angular forward.

Therefore, it is not surprising that the framework has a massive ecosystem around it. From useful services to fully featured component libraries, the Angular ecosystem provides it all.

So nothing is impossible. Do you have an idea for a cool angular library? Then go on, participate, implement your library, and share it with the world! 🌎

What you will learn 👨‍🎓

The newest Angular versions already have excellent support for the creation of libraries. However, developing and testing is only one part when creating your Angular library. Another part is shipping the artifact. 🚢

Delivering software requires some steps; we need to run tests, build our artifact, publish it, update the project with the release assets, and document the release.

As software engineers, we tend to automate recurring manual steps. So that’s what we are going to do here. Automating the release of an Angular library is not an easy task. Especially not, if you not only want to automate the release but also the handling of the release assets.

This blog post aspires to give you an ultimate guide on a fully automated and complete setup for your Angular library. It covers many topics and may, therefore, be best read in multiple goes.

So, without further ado, let’s grep a ☕ and jump right into it!

Table of contents



Kevin Kreuzer
Angular In Depth

Passionate freelance frontend engineer. ❤️ Always eager to learn, share and expand knowledge.