---
title: "Software development"
url: "https://www.sparkfabrik.com/en/engineering/families/dev/"
lang: "en"
type: "engineering-family"
lastmod: "2026-08-31"
description: "Drupal, PHP, JavaScript, Node and the frameworks we ship with."
image: "https://www.sparkfabrik.com/images/og/families-dev-en.webp"
---

# Software development

Drupal, PHP, JavaScript, Node and the frameworks we ship with.

- [AsyncLocalStorage in NestJS: propagating request context](https://www.sparkfabrik.com/en/engineering/async-local-storage-in-nestjs-request-context/) (2026-08-31): How to stop cascading parameters and access request data exactly where you need it.
- [Scheduling content expiry in Drupal with SM Entity Scheduler](https://www.sparkfabrik.com/en/engineering/scheduling-content-expiry-drupal-sm-entity-scheduler/) (2026-07-18): How and why we built SM Entity Scheduler, a config-driven Drupal module that hides or deletes entities once a date field has passed, running on Symfony Messenger instead of hook_cron.
- [Vue.js 3 Meets Drupal: an Integration Guide](https://www.sparkfabrik.com/en/engineering/integrating-multiple-vue-apps-in-drupal/) (2026-04-16): A short how-to on the integration of multiple Vue.js 3 apps into a Drupal-based website.
- [Drupal Global Contribution Weekend 2026: SparkFabrik sostiene la community](https://www.sparkfabrik.com/en/engineering/drupal-contribution-weekend-2026-milano/) (2026-02-27): Il racconto del Drupal Contribution Weekend 2026 presso gli uffici SparkFabrik di Milano: issue risolte, nuovi standard AI e la cultura della restituzione alla community.
- [Drupal service container deep dive (Part 3): service collectors](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-3/) (2026-02-05): In this third part of our deep dive into the Drupal service container, we explore service collectors, which aggregate multiple services into a single service for streamlined access.
- [Drupal service container deep dive (Part 2): aliases, autowiring, and named arguments](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-2/) (2025-12-10): In this second part of our deep dive into the Drupal service container, we explore the concepts of aliases, autowiring, and named arguments.
- [Drupal service container deep dive (Part 1): tags, compiler passes, service providers and autoconfiguration](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-1/) (2025-11-03): In this first part of our deep dive into the Drupal service container, we explore the concepts of tags, compiler passes, service providers, and autoconfiguration.
- [The Lord Of The Stores: A Quest For Angular State Mastery](https://www.sparkfabrik.com/en/engineering/the-lord-of-the-stores/) (2025-09-04): In the complex world of NgRx state management three powerful stores can guide us: Global Store, vast and unifying; Component Store, swift and precise; Signal Store, reactive and efficient. But wielding them unwisely leads to an unmanageable state. Join this journey through NgRx best practices, avoiding pitfalls, and mastering scalability. Will your app stand strong or fall into disorder? The fate of state management rests in your hands!
- [Lambda Calculus](https://www.sparkfabrik.com/en/engineering/lambda-calculus-modern-javascript/) (2025-08-25): Reflections from my recent tech talk on lambda calculus and how it shapes modern development.
- [Tracking 4G stats from the CLI with Node.js](https://www.sparkfabrik.com/en/engineering/zy-stats/) (2025-05-29): Tracking 4G stats from the CLI with Node.js
- [JSDay 2025: Unraveling Memory Leaks and Dependency Management](https://www.sparkfabrik.com/en/engineering/jsday-2025/) (2025-04-15): My experience at JSDay 2025 in Bologna, with insights from two standout talks on memory leak debugging and dependency management.
- [Drupal Global Contribution Weekend 2025](https://www.sparkfabrik.com/en/engineering/drupal-global-contribution-weekend-2025/) (2025-01-25): Discover what the Italian community contributed back to Drupal during the latest DGCW.
- [Drupal Access Policy demystified](https://www.sparkfabrik.com/en/engineering/drupal-access-policy-demystified/) (2024-06-24): Deep dive into the new Access Policy API in Drupal 10.3
- [DruBOM: An SBOM for Drupal](https://www.sparkfabrik.com/en/engineering/drubom/) (2024-01-29): DruBOM is a Bill of Materials (BOM) for Drupal. It is a list of all the dependencies of a Drupal project, including the Drupal core, modules, themes, and libraries.
- [UpsertDialog in React](https://www.sparkfabrik.com/en/engineering/upsertdialog-in-react/) (2024-01-18): How to create a dialog containing a dynamic and reusable form in React
- [When Drupal meets AI](https://www.sparkfabrik.com/en/engineering/when-drupal-meets-ai/) (2023-12-05): How the Drupal community is moving to embrace this new era of advancement.
- [Drupal new contributions releases](https://www.sparkfabrik.com/en/engineering/drupal-drupal-new-contributions-releases/) (2023-11-21): A list of new releases and fixes on Drupal modules maintained in SparkFabrik.
- [SDC in Drupal core](https://www.sparkfabrik.com/en/engineering/drupal-sdc/) (2023-09-14): Finally, Drupal 10.1 standardizes the way to build components. Let's see how to use them and how to integrate them with WebProfiler.
- [Angular Signals: what's all the fuss about?](https://www.sparkfabrik.com/en/engineering/angular-signals-whats-all-the-fuss-about/) (2023-09-12): In recent releases of Angular, signals have been introduced, which are going to fundamentally change how we use this framework. Let's take a closer look at what they are and how they came to be.
- [Introduction to Qwik and the Power of Loaders and Actions](https://www.sparkfabrik.com/en/engineering/qwik-and-the-power-of-loaders-and-actions/) (2023-08-07): Qwik is a JavaScript framework for building web applications with a focus on speed. Let's take a look at how to use two of Qwik's amazing features, routeLoader$ and routeAction$.
- [Share features in Angular using libraries and npm link](https://www.sparkfabrik.com/en/engineering/start-working-with-angular-libraries/) (2023-07-10): How to setup your workspaces to work smoothly on shared features for multiple Angular projects, using libraries and npm-link.
- [Using the Command pattern in Drupal](https://www.sparkfabrik.com/en/engineering/command-pattern-drupal/) (2023-05-30): Implementing the Command pattern in Drupal using the Symfony Messenger component.
- [Next.js - An introduction](https://www.sparkfabrik.com/en/engineering/nextjs-intro/) (2023-05-11): A quick introduction to Next.js, a React framework for building server-side rendered and static web applications.
- [WebProfiler Drupal Module - Updates](https://www.sparkfabrik.com/en/engineering/webprofiler-updates/) (2023-04-06): A quick update on the WebProfiler Drupal module, with the new features of the 10.0.0 release.
- [How to build and deploy React Native applications with Fastlane](https://www.sparkfabrik.com/en/engineering/fastlane-build/) (2022-03-03): A detailed look at our internal Fastlane setup, operating on cross-platform React Native projects as a team, integrating the CI/CD environment and CLI operations.
- [Drupal Front-End Optimization](https://www.sparkfabrik.com/en/engineering/drupal-frontend-optimisation/) (2021-10-18): The optimization best practices for your Drupal website front-end development
- [Dispatching Events in Laravel](https://www.sparkfabrik.com/en/engineering/laravel-dispatching-events/) (2021-09-22): An introduction to Laravel's Event Layer
- [On creating my first public npm package](https://www.sparkfabrik.com/en/engineering/first-npm-module/) (2021-07-19): What I've learned publishing my first npm module
- [PHP profiling with blackfire](https://www.sparkfabrik.com/en/engineering/php-profiling-with-blackfire/) (2021-06-21): How to set up and profile php using blackfire.io
- [PHP REST tools showdown SeriesPart 1: really RESTful APIs](https://www.sparkfabrik.com/en/engineering/php-rest-tools-showdown/) (2017-03-04): A 10.000 feet overview of PHP tools and approaches to RESTful APIs
- [Drush Make overwrites your custom .gitignore file](https://www.sparkfabrik.com/en/engineering/drush-make-gitignore/) (2016-04-08): An investigation about an undesired behavior: bug or feature?

---

This is the Markdown version of an Engineering page of SparkFabrik, for AI agents and crawlers. The full page is at https://www.sparkfabrik.com/en/engineering/families/dev/.
