Svelte 5 sites don’t work as expected in Safari 12 and 13

Quite recently I upgraded a Svelte 4 project to Svelte 5, and soon afterwards I found some problems inside of Safari 12 and 13 that needed a tricky workaround.

read more

Putting Svelte stores inside context for fun and profit

Solving problems by putting writable reactive stores in Svelte’s context.

read more

SvelteKit architecture tip: return a writable store from your load function

How do you update content in real time when that content was fetched from the layout’s load function?

read more

SvelteKit session refactor

SvelteKit version 1.0.0-next.415 removed the session object and store. Refactoring my project wasn't very straightforward, let's go over the changes.

read more

SvelteKit Architecture - the solution

Last August I wrote about trying to come up with the architecture for a SvelteKit app I was working on, and failing. I'm happy to say that I have found a solution for all my problems!

read more

Working around HttpOnly cookie problems in SvelteKit

When HttpOnly cookies didn't work as expected in my SvelteKit project I had to find a workaround.

read more

Architecting a SvelteKit app - and failing

I was working to architect a SvelteKit app so that it does as few requests as possible, from a central place, so that all subpages have access to the content. Sadly dealing with SSR makes it very hard to achieve my goals.

read more

Automating your changelog and GitHub releases

In a short time I’ve created 25 releases for my static site generator Saga. For each release I’ve manually updated the CHANGELOG.md file, which is a bit tedious and easy to forget. I really wanted to automate this using GitHub Actions, which I was...

read more

Connecting Stripe to Firestore via Cloud Functions and webhooks

After adding subscriptions in iOS via Apple’s Storekit, I have now also added subscriptions to the web client of Critical Notes, using Stripe (even though they have some serious drawbacks at the moment). Since it was a bit of a puzzle to get it...

read more

Clean up Firestore and Storage when deleting a document

When you delete a document in Firestore, its subcollections and their documents are not automatically recursively deleted. Here is a simple Cloud Function that takes care of it.

read more

Our front end stack one year later

One year ago I wrote my third article in a series where I researched front end tools, and with all that I learned I began to improve our front end stack at Sling. It’s the big Angular app that I wrote about, on which I’ve worked for 2.5 years now....

read more

Researching front end tools, part 3: Angular & Webpack vs Browserify

Since early 2014 I’ve been working on a pretty big and complex Angular app called Sling and sadly it’s not using any module system and it’s still using ES5 only. It uses Gulp to bundle and minify all the JavaScript, compile and minify our Less files,...

read more

Researching front end tools, part 2: Deku, page.js and cssnext

Two weeks ago I started my journey into researching front end tools, with the idea to find my ultimate stack of build tools, JavaScript frameworks and/or libraries, CSS processors, a code style to follow and code linter to enforce it, and finally...

read more

Researching front end tools, part 1: Ampersand.js, React, Webpack, PostCSS and ESLint

Since early 2014 I’ve been building a fairly large and complex JavaScript app in AngularJS, using Less as the CSS pre-processor and Gulp as the build system. I haven’t used ES6 or modules so far, via Browserify or otherwise. While it works and...

read more