Stefan Haas

Stefan Haas

Senior Software Engineer at Microsoft writing deep-dive engineering articles about TypeScript, Angular, monorepos, and developer experience.

9 articles latest: Apr 2026 TypeScript · Angular · Nx

All Articles (9)

2026

2025

NPM Supply Chain Under Attack cover image
NPM Supply Chain Security

NPM Supply Chain Under Attack

An in-depth look at recent vulnerabilities in the NPM ecosystem and how to protect your projects.

5 min read
How to find Missing Nx Target Inputs cover image
Monorepos Nx Caching

How to find Missing Nx Target Inputs

In order to use the Nx cache, Nx defines target inputs that are hashed to determine cache hits. However, these inputs can be misconfigured or incomplete and lead to wrong cache hits - which is a serious problem for reliable builds. In this post, we explore how to use eBPF to trace file accesses during target execution to identify missing inputs.

9 min read
Monorepos with PNPM Workspaces cover image
Monorepos PNPM Workspaces TypeScript

Monorepos with PNPM Workspaces

PNPM is not just a modern package manager but also a great tool for managing lean monorepos. Learn how to set up and use PNPM workspaces from scratch including TypeScript Project References for building and typechecking incrementally.

18 min read
Introduction to Frontend Monorepos cover image
Monorepos Nx PNPM Workspaces

Introduction to Frontend Monorepos

Commonly used in large enterprise codebases by companies likes Meta, Google & Microsoft, monorepos are a way to manage multiple projects within a single repository. This article introduces the concept of monorepos, their benefits, and the most popular tools used to manage them.

19 min read
Creating a TypeScript ES Lint Plugin cover image
Angular TypeScript ES Lint

Creating a TypeScript ES Lint Plugin

Learn how to create a custom typescript-eslint rule for your TypeScript project. If you ever wanted to enforce a certain pattern in your codebase, this article is for you. I will show you how to create a custom rule based on a real-world example.

10 min read
Incremental Builds with Nx cover image
Nx Monorepo Angular

Incremental Builds with Nx

If you have a monorepo with multiple projects and libraries, you might run into the problem of long build times. This article explains how incremental builds with Nx work under the hood and we will explore Nx's internal codebase to understand how it works.

6 min read

2024

2023