I share the investigation into Visual Studio Code not loading Typescript and the solution I found - enabling the @builtin typescript extension.
Recent writing
Some notes on what changes I'm introducing to my learning system.
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…
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…
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…
A couple of months ago, I reached Shopify 's Senior Staff Developer level. They were exciting news and excellent proof that Shopify continues to be a place for growth. Yet they pushed me out of my comfort zone, throwing me into a new realm…
Learn about an NPM package that we published recently, typed-file-system-path, that adds primitives to work with file-system paths more safely using types.
As you might have noticed, I’ve been learning Elixir for the past few weeks. Why? You might wonder. I’m a programming languages nerd. I like learning about how different languages solve the same challenges, which gives me new perspectives a…
What am I professionally? I don't have a clear answer. I used to say I was an iOS developer with a passion for Swift , but that's no longer true. Shopify turned me into a more generalist developer and, more importantly, helped me see techno…
Have you tried to set up a modular Typescript project with multiple NPM packages? It's painful. Typescript tried to solve that with project references , an API to declare the project graph to Typescript for it to build the packages in the c…
Over the past few years, I’ve tried and failed many times at giving my chaotic self some order — something that inevitably made me feel anxious . I tried to organize myself using todo apps. I always used any random piece of paper that I fou…
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…
I often hear a statement when justifying decisions in building developer tools: but they are developers too. It bugs me a ton because it throws all the developers into the same bag and assumes that they know what you know. If we want to bui…
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…
Over the years of working on command-line interface tools I observed that they are not often perceived as products. Consequently, organizations don't embrace the same principles as UI-oriented products, which leads to complex tools designed…
We, software crafters, naturally tend to distance ourselves from users led by excitement for technological cycles and innovation. Our industry is full of examples. For instance, the crypto trend is an excellent example of that. No one can o…
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…
I'm a firm believer that shaping products as developer platforms is an amazing idea to let developers from all over the world make your product diverse . Otherwise, you have products like Facebook and Apple 's that work great in California…
I recently came across a tweet that suggested me to undo my blog post on Web3 after sharing some bad things I'd uncovered in the technology. I couldn't understand why an undo and not a follow-up . I see opinions as alive entities that evolv…
I migrated this blog to SvelteKit . I did it to consolidate everything I had learned about the framework, and be able to SSR static pages with dynamic content. For example, I'll be able to collect data from external sources like GitHub and…