← Back to Blog

ngx-toolkit, a new open-source project from DataKitchen

At DataKitchen, we use Angular and strive for well-tested and maintainable code. We’ve created three libraries that have helped accelerate Angular development in our software projects. We are proud today to present these to the open source community.

Written by Chris Bergh on March 5, 2024

Open Source
ngx-toolkit, a new open-source project from DataKitchen

ngx-toolkit, a new open-source project from DataKitchen

At DataKitchen, we use Angular and strive for well-tested and maintainable code. We’ve created three libraries that have helped accelerate Angular development in our software projects. We are proud today to present to the open source community our monorepo with some of the libraries we have developed for Angular and Jest.

TIP

(https://github.com/DataKitchen/ngx-toolkit) is a monorepo that contains three npm packages:
@datakitchen/ngx-toolkit
@datakitchen/ngx-monaco-editor
@datakitchen/rxjs-marbles

ngx-toolkit

It is a library that contains several utilities that we find useful when building Angular applications. The principal element in this library is what we call the CoreComponent. This abstract component handles different use cases automatically. Automatic unsubscription of observables is just the most trivial of them.

Another less trivial example is the following. Our Angular app often has a table with pagination, sorting, and search features. We may also have some of all the properties related to the page state reflected in the URL parameters for ease of sharing. Angular developers know how complicated it can be to have a reactive form whose values can be hydrated from the localStorage and/or the query parameters and synchronized with Angular’s Material Paginator. Easily, all of the above can be achieved by letting a component extend CoreComponent and adding some decorators, so you can stay DRY. See ngx-toolkit’s readme

rxjs-marbles

In our app, we heavily use reactive programming, and we know how complicated it is to properly test observables chains. Using them in an Angular app is even more complicated. This is another of the goodies we are proud to share with the open-source community: @datakitchen/rxjs-marbles is a set of utilities for streamlining marble testing and making it really easy to do in an Angular application. See rxjs-marbles

ngx-monaco-editor

Last but not least, @datakichen/ngx-monaco-editor is our take on wrapping Microsoft’s monaco editor into an Angular component, and yes it supports Reactive Forms and Angular Material mat-form-field. See ngx-monaco-editor

We hope you find these as useful as we do! We will be maintaining and improving the library moving forward.

Davide Cavaliere, DataKitchen

Chris Bergh

Chris Bergh

CEO and Head Chef at DataKitchen. He is a leader of the DataOps movement and is the co-author of the DataOps Cookbook and the DataOps Manifesto.

LinkedIn →