Desarol in the wild.

Stories, lessons learned and all the ways our team are helping make the web secure, accessible and performant for all.

Drupal + Gatsby

How to use Drupal to optimize images on the fly

Image styles are a powerful tool in Drupal which allow users to define transformations and optimizations for images to use in the rendering pipeline. But how does this work when you're using Drupal as a headless CMS?

David Disch

David Disch

14 min read
Typescript

Enforcing migrations for persisted Redux state using Typescript

Your Redux state is constantly having properties added, removed or modified as the site grows and gains new features or old features are iterated on and improved upon. These changes are for the most part usually pretty harmless but if you forget to handle the persisted state you can run into some insidious bugs.

David Disch

David Disch

4 min read
Serverless

Serverless Typescript, Rust and Go running in one repo on Netlify

With Netlify's new support for serverless Rust and Go, and native Typescript (no need to precompile to JS) I wanted to see what it would take to get all 3 running at the same time for a single Netlify site.

David Disch

David Disch

2 min read
Drupal + Gatsby

Gatsby’s Drupal source plugin now supports multilingual websites out of the box

Recently our team at Desarol migrated a large Drupal 7 website for a multinational hotel chain to a decoupled Drupal 9 back-end with a Gatsby front-end. First-class support for localization into Spanish was a key requirement to support the client’s many guests visiting South American locations.

Robert Caracaus

Robert Caracaus

6 min read
Drupal + Gatsby

Building a Drupal menu hierarchy using custom GraphQL resolvers in Gatsby

Drupal menus allow sitebuilders to create complex hierarchical content structures. However, due to JSON:API's output format these hierarchies end up being flattened out with parent child relationships being broken apart across different menu_link_content resources...

Robert Caracaus

Robert Caracaus

13 min read
Drupal + Gatsby

How Gatsby's Drupal source plugin handles file entity relationships for multilingual sites

Drupal has had core support for translation since Drupal 8. But some entity types are not translatable due to their nature. Files are a good example of this...

David Disch

David Disch

3 min read
Gatsby

Why your Gatsby links might be dropping query parameters or hashes after each service worker update

We recently discovered a rather interesting bug on one of our client's sites where, once every 30 minutes or so, links around the site would drop their query parameters...

Robert Caracaus

Robert Caracaus

3 min read
Drupal + Gatsby

Migrating a large Drupal 7 site to headless Drupal 8 and Gatsby

In late 2020 we set out to migrate a large, traditional Drupal 7 site to a Gatsby front-end fed by a Drupal 8 back-end. Here's a few of the key things we learned along the way...

David Disch

David Disch

11 min read
Static Sites

Why static sites are stealing back the internet from Wordpress

The nature of the internet has seen many changes since it's inception. Websites started out looking crude, with little care taken to the please the eye and styling was scarce if used at all. Fast forward almost 30 years and we now do things a bit differently...

David Disch

David Disch

4 min read