JavaScript DX without JavaScript

In this post, I explore the idea of having a platform-agnostic and technology-agnostic compiler that can be plugged in as an in-code backend for rendering purposes in any other stack (Rails, Phoenix, Express).

JavaScript-owned state and accessibility

WAI-ARIA attributes are a great layer to persist application state and make the website accessible. However, the convenience of JavaScript APIs to store state makes them store all the state in JavaScript, making the websites less accessible.

Static imports with ESM and startup time

When building a Command-line interface (CLI) with Javascript and ESM to run on NodeJS , one can end up with a CLI that's slow to launch (above hundreds of milliseconds). It's common for developers to use static imports at the top of the sou…

An explicit build graph with Nx for a better DX

When I started doing Javascript more actively, something that got my attention was the absence of a build system that allowed declaring a build graph explicitly. Most of the time, developers combine package.json scripts with shell operators…

Hot-reloading and ESM

While building Gestalt , I realized that many web frameworks don’t move away from CommonJS because their usage of modules in ESM would lead to a slower hot-reloading experience. This is primarily due to how module graphs are loaded with ESM…

Mitigating 'delete node_modules'

If you've worked in the Javascript ecosystem, you might already be familiar with the "delete node_modules" solution commonly suggested on StackOverflow and GitHub Issues. People make fun of it, but it's a frustrating scenario that…

Javascript, ESM, and tools

I'm using Javascript, Typescript, and Node a lot these days as part of my work at Shopify and Gestalt and I'm really loving it. In particular, its module system because it allows extensibility in ways it'd be more challenging with compiled…

OSS and extrinsic motivators

More and more, we see open-source projects being backed by investment rounds . It's positive for the projects because they can innovate faster and sustain themselves by paying people to work on it full-time, making money one of the main dri…

The React chain

I’ve been thinking a lot lately about the role React plays when building a web app. Companies like GitHub and Shopify , both very successful software companies, introduced React recently in areas where it makes sense . This led me to the qu…

Tuist and JS bundlers

I think there are a lot of similarities between Tuist and JS bundlers. First, they both are functions that take input and return an output. In the case of a JS bundler, it takes Javascript or any variation of it, and converts it into Javasc…