Blog

The Butterfly Effect - How we gave the linter a 100x boost

The Butterfly Effect - How we gave the linter a 100x boost

NxLinterPerformance

Recently we had a significant performance improvement in our linter rule. In some benchmarks, the increase was up to 100x! While one would expect such a dramatic change to result from implementing a sophisticated algorithm, the reality is that this resulted from minor tweaks. Like the butterfly effect  -  changing a few lines of code created a ripple effect that tremendously improved the overall performance.

August 23, 202210 min read
Taming Code Organization with Module Boundaries in Nx

Taming Code Organization with Module Boundaries in Nx

MonorepoNxArchitecture

As your repository grows, it becomes more challenging to organize and name the applications and libraries. This organization, when done right, feels intuitive and allows team members to easily find projects and understand how they work together. When done poorly, it results in a mess we eventually end up calling "the legacy software".

December 17, 202110 min read
Speeding up computations in GitHub/CircleCI workflows with Affected Commands

Speeding up computations in GitHub/CircleCI workflows with Affected Commands

NxCICircleCIGitHub Actions

One of the most exciting features of Nx is using the project graph to run the target commands. This article exposes a bit of magic behind the affected commands, explains the common use cases, and shows you how to effectively use them in your CI environment.

August 16, 20216 min read
Responsive Angular Components

Responsive Angular Components

AngularResponsive designMedia queries

Ever since mobile devices became capable of accessing the web and showing web pages, it became obvious that not all web pages are usable on a small screen. Today most websites implement responsive design, but often at a cost of extra DOM. This post will show you how to solve that last step in Angular.

November 04, 202012 min read
Today I learned - ReturnType<T>

Today I learned - ReturnType<T>

TypeScript

In TypeScript we often need to deal with third-party and/or native functions and based on the implementation their return types might differ. Luckily, TypeScript has a trick up the sleeve how to resolve them.

September 04, 20202 min read
Parsing ISO 8601 duration

Parsing ISO 8601 duration

ISO 8601DurationRegex

One of the lesser-known parts of the ISO 8601 standard is the duration specification. In this post we will learn how to parse it and construct a simple Angular pipe for template automation.

July 10, 20204 min read
Today I learned - Sentence case in CSS

Today I learned - Sentence case in CSS

CSSTricks

CSS provides an amazing toolset for style manipulation, but when it comes to text manipulation you often need to resort to JavaScript for additional help. However, CSS has many tricks up his sleeve you might not be aware of.

June 26, 20202 min read
Immutable arrays and objects

Immutable arrays and objects

JavaScriptImmutabilityArrayObject

Recently there has been an explosion of popularity of libraries like Redux and NGRX. One common requirement they have is an immutable state. Switching to the immutable state helps us to more easily reason about our state of the application and to easily track changes. It also helps us to avoid an unplanned side effect.

July 19, 201910 min read
You don’t need a full-stack developer

You don’t need a full-stack developer

DevelopmentHiringFull-stack

Hiring a developer is like scouting a new band member. You are looking for someone with a specific skill, who will match your spirit, doesn’t have a band already or is willing to change a band for the perks you are offering.

November 27, 20185 min read
A different approach to RxJS - Cooking with RxJS

A different approach to RxJS - Cooking with RxJS

RxJSObservableDesign Patterns

The simplest things are often the hardest to learn. Our experience dealing with complicated topics hinders us from switching our brains to comprehend simple things.

October 02, 20188 min read