From fdec7b2b3dd8737a29b8b5f2331fd684173c7ad1 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Mon, 21 Nov 2022 07:42:30 -0800 Subject: [PATCH] docs: add details on use of Svelte v2 / Sapper --- docs/Architecture.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 5fccb360..955ddd44 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -5,9 +5,17 @@ Basically think of it as a "lay of the land" as well as "weird unusual stuff tha ## Overview -Pinafore uses [SvelteJS](https://svelte.technology) and [SapperJS](https://sapper.svelte.technology). Most of it is a fairly typical Svelte/Sapper project, but there +Pinafore uses [SvelteJS](https://svelte.technology) v2 and [SapperJS](https://sapper.svelte.technology). Most of it is a fairly typical Svelte/Sapper project, but there are some quirks, which are described below. This list of quirks is non-exhaustive. +## Why Svelte v2 / Sapper ? + +There is [no upgrade path from Svelte v2 to v3](https://github.com/sveltejs/svelte/issues/2462). Doing so would require manually migrating every component over. And in the end, it would probably not change the UX (user experience) of Pinafore – only the DX (developer experience). + +Similarly, [Sapper would need to be migrated to SvelteKit](https://kit.svelte.dev/docs/migrating). Since Pinafore generates static files, there is probably not much benefit in moving from Sapper to SvelteKit. + +For this reason, Pinafore has been stuck on Svelte v2 and Sapper for a long time. Migrating it is not something I've considered. The [v2 Svelte docs](https://v2.svelte.dev/) are still online, and share many similarities with Svelte v3. + ## Prebuild process The `template.html` is itself templated. The "template template" has some inline scripts, CSS, and SVGs