Fast CLI static site generator I've been working on
Pannonico is a static site generator I have been building around the way I actually want to work on static sites. For many years I have been using P…
Tech news from the best sources
Pannonico is a static site generator I have been building around the way I actually want to work on static sites. For many years I have been using P…
The confusing part is only four characters long: ?url . Add it to a Vite import and the value changes from executable JavaScript to the address of a…
The Problem Every static site I've shipped has gone through the same ritual: build the site, then manually write a sitemap.xml, forget to update it…
Whether you're a senior developer or just starting out, writing clean, consistent code isn't optional — it's the baseline. The good news is you don'…
The Architectural Shift: From Vite to Next.js App Router When you move from a traditional Vite-based Single Page Application (SPA) to the Next.js Ap…
The Great Migration: Moving Beyond the SPA If you have been building in the React ecosystem recently, you've likely started with Vite. It’s fast, th…
The Architectural Shift: Client-Side vs Server-Side For years, the standard for building modern React applications was the Single Page Application (…
Introduction If you have been building applications using Vite and standard React for the last few years, you’ve likely mastered the Single Page App…
The Architectural Shift Migrating a production application from Vite to Next.js is one of the most common architectural decisions teams make as thei…
When a new version ships, I usually just type npm install and move on. But installing Vite 8 and looking inside node_modules made me stop for a seco…
Modern WordPress theme development does not have to feel stuck in the past. You can still use the parts of WordPress that are excellent - templates,…
Your schema is portable. But each runtime loads environment variables differently. CtroEnv adapters bridge the gap — same validation logic, differen…
I run Vite on almost everything. Astro sites, Nuxt projects, a small group of libraries I maintain on the side. The build tool is the part of the st…
Setting up a new React project shouldn't come with a wall of dependency errors or unnecessary bloat. In this quick guide, we’re installing Node.js a…
I ignored my bundle size for months. By the time I checked, my production build was several megabytes of JavaScript in a single file — and every dep…
Using Server-Sent Events using EventSource or microsoft's popular fetchEventSource library does work in Capacitor 8 as was clearly detailed in #6582…
Introduction This post walks through how PROTO RECON — an experimental app that combines phone sensors with in-browser ML — evolved from pre-coding…
This tutorial shows how to create a VS Code extension that opens a custom webview powered by: Vue for the webview UI Vite for fast frontend builds T…
I run RelahConvert , an online file conversion site with 50+ tools across 25 languages. Last week I noticed a problem in my Ahrefs audit: every sing…
Hi everybody, I'm a software engineer for as long as I can remember. When working with web application frameworks, I often get tired when having to…
TL;DR White screen ✅ A plugin show progress vite-plugin-white-screen-progress Background and Motivation In daily Vue app development, as the project…
Setting up TWD used to mean adding a block of dev-only code to your app's entry file — a dynamic import for the runner, a test glob, a service-worke…
Why Another Wheel? There are already some Vite packing plugins out there — vite-plugin-zip-pack , vite-plugin-compress , etc. They work, but they al…