Profile banner
Profile picture

{🧪} +paoloricciuti.svelte

@paolo.ricciuti.me

S1 | Developer | https://sveltelab.dev | Fat guy | Svelte Ambassador 🔶 | Svelte maintainer 🧡 | JavaScript Bender

created May 12, 2023

1,356 followers 429 following 1,678 posts

view profile on Bluesky

Posts

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

"We are so so sorry to see you go #63876" - some random unsubscribe newsletter page probably

9/9/2025, 8:22:51 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

You can technically update the path with css but that doesn't work in Firefox and safari unfortunately (and it doesn't work in the bad way...it completely breaks and doesn't update at all). I guess updating with JS might be fine because for a video to be controlled by a button you still need it

9/9/2025, 9:18:29 AM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

If you are using svelte you are probably safe in this pretty big supply chain attack that's going on since we don't use those dependencies in the browser but please check to see if YOU included them in your client dependencies and promptly update to the safe version!

8/9/2025, 8:23:29 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

I was always fascinated by the play pause animation on youtube...so I replicated it! It was actually way simpler than i was expecting and it works on all browsers! Check it out here: svelte.dev/playground/7...

8/9/2025, 3:57:27 PM | 15 2 | View on Bluesky | view

Profile picture Fabian Hiller (@fabianhiller.com) reposted

Formisch for @svelte.dev will probably drop in the next few days! 🔥 @sveltesociety.dev @rich-harris.dev @paolo.ricciuti.me

8/9/2025, 2:20:39 AM | 19 2 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Oh my god this is literally github.com/paoloricciut... I had the same repulsion to all the extra dependencies, express, zod V3 etc so I created this. I also have a tooooon of extra packages to simplify the conversion to JSON schema and deploying them to serverless. Would love your opinion 🧡

7/9/2025, 11:58:12 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Even tho I did change my mind on better auth in general...implementing with express was a bit annoying but with sveltekit was a breeze

7/9/2025, 4:59:16 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Uh this is interesting...I wonder I didn't notice the server tag, might have to take a second look 🤔

7/9/2025, 4:58:08 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

The thing it really messed with me is how the entirety of the docs focus on the client side client for auth. To be auth is 100% to progressively enhance and it doesn't make sense to have a JS api for it.

7/9/2025, 4:23:35 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I was thinking: since it's just a checkbox...you could store it in a cookie rather than local storage. This way you could even SSR the value and fix the hydration problem (and you could potentially also progressive enhance that setting the cookie with JS It available and on the server if not)

7/9/2025, 4:20:50 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I first tried better auth with express to try the MCP plugin and it was literal nightmare especially to create a progressive enhanced experience. With sveltekit it's like 1000 times better and the MCP plugin is very cool but I don't think there's a db adapter for convex which I can see be a problem

7/9/2025, 3:34:24 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Shareability is a byproduct of that...the real winner imho is that it works before JS loads...but I guess for svelte-changelog is less important. I also found it easier to code in general.

7/9/2025, 1:30:43 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

without any JS with a link or a form AND you also get a shareable url for free. Local storage give you nothing of this. Also you have to write an utility for local storage while with the url you get that for free from sveltekit

7/9/2025, 11:13:26 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Correct...the point is that just as any other reactive value you need to wrap it in a closure of some sort. For objects that closure is handled by svelte in a proxy so you can mutate properties (but not reassign the whole object). The advantage of state in the url is that you can modify that

7/9/2025, 11:13:26 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

If you NEED to go with client side state I would go with context as this way you know you are not leaking in any way. But if possible I would just use the URL and store the info there by navigating

7/9/2025, 12:43:03 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

That file was veeeeery big. This happened during the migration with Claude lol bsky.app/profile/paol...

6/9/2025, 6:27:30 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

I just love valibot so when I tried the codemod with a huge file, found some issues I knew I had to fix them 🧡 Having something I can remorseless ship to the client is just chef kiss 😘👌🏻

6/9/2025, 5:53:21 PM | 10 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I've been bugging him a lot with tmcp lol

6/9/2025, 2:42:15 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

@joyofcode.xyz as usual doing god work 🧡 watch this is your are learning svelte 🤟🏻🤟🏻🤟🏻

6/9/2025, 10:11:04 AM | 16 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Join me for this week instalment of This week in Svelte...live in 17 minutes or so! youtube.com/live/PHk7YFA...

5/9/2025, 3:14:20 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

`.well-known` 🧡

5/9/2025, 10:15:25 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Just learned something new in sveltekit: if you have a route that starts with `.` the tsconfig will automatically exclude it and you can't import from `$lib` for example. To fix this you can use `kit.typescript.config` in your svelte config to add the path to the tsconfig `include` field. 🧡

5/9/2025, 8:17:05 AM | 7 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

I have to say I'm pretty excited about this workshop...if you want to go from 0 to typescript maestro check out this workshop 🤟🏻🤟🏻🤟🏻

4/9/2025, 11:41:57 AM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

While preparing an MCP workshop (👀) I got a chance to play with better-auth. The library seem solid but I can't believe nobody is pissed by the fact that unless you want to do it manually there's no way to progressively enhance things. I feel like Don Quixote 😔 The MCP plugin is interesting tho 🤔

4/9/2025, 8:53:49 AM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

@dominikg.dev is also there and it's a svelte maintainer (also I'm available to join you in case you need it 👀👀👀)

3/9/2025, 11:27:58 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

I honestly don't understand why conference websites don't have a clear CFP section 100% of the times. I always have to scout around to find them in the most hidden angle of the second tab.

2/9/2025, 7:57:29 PM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Kraft/Heintz uses sveltekit 👀👀👀

2/9/2025, 10:55:14 AM | 12 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I always use animotion from @joyofcode.xyz ...a svelte component per slide 🧡

1/9/2025, 6:14:16 PM | 5 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Wanna learn about brand new Sveltekit remote functions from the man, the legend, the goat himself @dummdidumm.bsky.social ? Then watch this video asap, thank me later 🧡

1/9/2025, 11:35:38 AM | 12 4 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Excited about this 🔥🔥🔥

31/8/2025, 1:50:27 PM | 13 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

The power it gives me: if I need something I can just build it. Also in general every thing I need to solve is like a small puzzle, fixing a bug or building a feature is like solving that puzzle.

31/8/2025, 12:42:34 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

It could take me literally 0 runs to go from couch to Marathon...if I lived here maps.app.goo.gl/REaXhr4RCavz...

31/8/2025, 12:39:45 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

is not what a newcomer should have to it's side. Writing code that might seem to work until it doesn't it's the worst possible start for a student. And writing tests is a non solution because that also requires expertise. This might be solved in 1 year but for now we are not there yet imho

29/8/2025, 6:21:29 PM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

It is definitely a good thing...however at least for the moment it needs to be approached with the right amount of skepticism. I use ai and I've had success with it but that's because I have experience and I can recognize a bad pattern. A robot holding your hand while you learn but writing bad code

29/8/2025, 6:21:29 PM | 1 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Join me live for a quick episode of This Week in Svelte...live in 9 minutes or so! youtube.com/live/FnUWuLQ...

29/8/2025, 12:51:26 PM | 4 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Whenever I'm testing stuff I always pack things...it takes just a second but you get the actual experience and remove any variable from the game. Glad you sorted this out 🧡

29/8/2025, 11:30:05 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

include that by default. I can't wait to implement the auto fixers because I think we can really make good use of our expertise with svelte to guide the LLM into writing good code. The idea would be that the LLM would send the code to the MCP and we return a list of tips to make it better.

29/8/2025, 9:48:03 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Yeah one of the problems with the MCP is that the AI needs to be smart enough to use it and even to know how to use it, especially if it's just looking up docs. @khromov.se recently added the docs also as resources so if you need your task needs a specific portion of the svelte docs you can also

29/8/2025, 9:48:03 AM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

We are working on the official Svelte MCP which will likely stem from the awesome work @khromov.se did

29/8/2025, 8:06:14 AM | 6 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

We are also working on tools for AI for svelte...we will likely build an official MCP server that should help and direct AI not only with docs but also with fixers to signal various issues to the llm through static analysis.

28/8/2025, 9:48:02 PM | 7 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Literally the same...I've had positive experiences with AI but nothing really to the level of what I've heard. I've heard people saying claude rewrote the Linux kernel in JS or un-minified a 10k JS file and all i can think is: I'm sure it's just garbage but on the surface it looks like it worked!

28/8/2025, 9:24:33 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

@trueadm.dev as usually pushing further and further...it's basically svelte with JSX (while fixing some of the problems with JSX)...veeeeeeery interested to take a look at the runtime 😋

28/8/2025, 9:20:05 PM | 5 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Are you sure about that? I've also created a library in another folder that exports the `.d.ts` and it also seems to work. If i remove the import it goes back to be just `string`. Also if i remove the export, re-package the application, remove and reinstall it goes back to be just `string`

Two editor with two files in separate folders, on the left a svelte component ```svelte <h1>Welcome to SvelteKit</h1> <p>Visit <a href=svelte.dev/docs/kit to read the documentation

``` on the right /lib/index.ts module ```ts // place files you want to import through the `$lib` alias in this folder. declare module 'svelte/elements' { interface SvelteHTMLElements { 'file-pond': { animations?: 'auto' | 'always' | 'never'; }; } } export {}; ``` the hover on `animations` shows ```ts (property) animations?: "auto" | "always" | "never" | undefined ``` which is the expected behaviour" title="Click to view full size" style="vertical-align: middle;"> Two editor with two files in separate folders, on the left a svelte component ```svelte <h1>Welcome to SvelteKit</h1> <p>Visit <a href=svelte.dev/docs/kit to read the documentation

``` on the right /lib/index.ts module ```ts // place files you want to import through the `$lib` alias in this folder. declare module 'svelte/elements' { interface SvelteHTMLElements { 'file-pond': { animations?: 'auto' | 'always' | 'never'; }; } } // export {}; ``` notice the extra commented export {} the hover on `animations` shows ```ts (property) "animations": string ``` which is not the expected behaviour" title="Click to view full size" style="vertical-align: middle;">
28/8/2025, 8:40:30 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

This is a local module but it seems the same behaviour

An editor with two split files, on the left a svelte component ```svelte <h1>Welcome to SvelteKit</h1> <p>Visit <a href=svelte.dev/docs/kit to read the documentation

``` on the right /lib/index.ts module ```ts // place files you want to import through the `$lib` alias in this folder. declare module 'svelte/elements' { interface SvelteHTMLElements { 'file-pond': { animations?: 'auto' | 'always' | 'never'; }; } } export {}; ``` the hover on `animations` shows ```ts (property) animations?: "auto" | "always" | "never" | undefined ``` which is the expected behaviour" title="Click to view full size" style="vertical-align: middle;"> An editor with two split files, on the left a svelte component ```svelte <h1>Welcome to SvelteKit</h1> <p>Visit <a href=svelte.dev/docs/kit to read the documentation

``` on the right /lib/index.ts module ```ts // place files you want to import through the `$lib` alias in this folder. declare module 'svelte/elements' { interface SvelteHTMLElements { 'file-pond': { animations?: 'auto' | 'always' | 'never'; }; } } // export {}; ``` notice the extra commented export {} the hover on `animations` shows ```ts (property) "animations": string ``` which is not the expected behaviour" title="Click to view full size" style="vertical-align: middle;">
28/8/2025, 4:15:22 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Are you also doing an `export {}` outside the declare module? Otherwise it will not work to do interface merging

28/8/2025, 4:01:41 PM | 0 0 | View on Bluesky | view

Profile picture Mainmatter (@mainmatter.com) reposted

Testing #Svelte and #SvelteKit apps can be challenging. Join our 2 day remote workshop next week to learn from Svelte Maintainer @paolo.ricciuti.me how to write tests that are fast, stable, and easy to maintain! Get your ticket now for only 476€ 👉 ti.to/mainmatter/t...

28/8/2025, 8:00:37 AM | 3 2 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Hey guys, here's a brand new blog post on how to mock your db in end to end tests in sveltekit...this is something that always annoyed me so I've decided to give it a proper thought and I think i found a decent solution! Give it a read!

25/8/2025, 2:51:50 PM | 17 3 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Are you following the svelte tutorial? If you open the playground there's literally a counter app built...if you send me the error I can definitely help you (and if docs are not good in that place fix them)

25/8/2025, 8:47:27 AM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

This kinda reminds me of this www.cve.org/CVERecord?id... Some bugs are just so frickin weird it's incredible people actually find out about them

24/8/2025, 3:46:30 PM | 2 0 | View on Bluesky | view

Profile picture Ilja (@fubits.dev) reposted

Pace of Svelte|Kit is 🚀 so I wrote down a list of resources that help me stay up-to-date. Let me know if I missed something: fubits.dev/notes/how-to...

24/8/2025, 2:23:11 PM | 29 10 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

What do you mean it doesn't have a client side version? Svelte is primarily a client side UI framework, SSR is baked in as a first class citizen and you can get it easily with sveltekit but it absolutely has client side reactivity

23/8/2025, 1:55:46 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I was stoked to see you there...congrats 🧡

23/8/2025, 9:44:15 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

This time's for real...join me and @reinhold.is live for This week in Svelte...live in 19 minutes or so! youtube.com/live/h0MHSpL...

22/8/2025, 2:11:42 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

rcc.im/30min pick your time 🧡

22/8/2025, 8:04:16 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Mmm that seems weird...wanna hop on a call?

22/8/2025, 7:43:46 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Uh you can? I mean at the very lowest level you can just import compile from "svelte/compiler"...but `@sveltejs/vite-plugin-svelte` it's the vite plugin used to compile them in vite and there's a parallel one for rollup and webpack.

22/8/2025, 7:35:46 AM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I think a bit of opinions don't hurt...that said we are working on allowing community adders for the official svelte cli. That will bring more variety to the game.

22/8/2025, 7:28:38 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

We are discussing if Sveltekit Remote Functions should include a form of form validation (pun intended) and as usual we want your input 🧡

21/8/2025, 6:05:53 PM | 20 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

We are proposing our workshops again...learn the ins and outs of svelte 5, learn how to test your fullstack sveltekit apps and a brand new Typescript workshop that will bring you from "WTF is this colon thing" to "I'm a branded type connoisseur U_U" 🧡 Join me on September!

21/8/2025, 9:07:34 AM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Ooooooohhhhh maaaaaaan! @khromov.se upping his svelte AI game every second! 🧡

21/8/2025, 9:05:11 AM | 4 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Just had the weirdest bug...11ty was taking 500sec to rebuild on our designer mac for every change. Me and @chris.manson.ie bisected the problem but it was a very innocuous commit...turns out the slowness was caused by the author name being uppercase...lowercasing it produced a x6 reduction 🤯🤯🤯 wtf

20/8/2025, 4:52:56 PM | 6 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

If you are using Laravel with Svelte now it's time to speak up! It would be very cool to have an official integration 🧡

19/8/2025, 3:25:42 PM | 2 0 | View on Bluesky | view

Profile picture Lukas Stracke (@stracke.tech) reposted

Congrats to @gruntled.bsky.social and @svelte.dev for becoming leaders in o11y support in ESM frameworks! Super happy to see what I talked about at Svelte Summit becoming reality. Thanks for letting me help out out a bit along the way! Full @sentry.io support is already WIP and will ship soon!

19/8/2025, 7:56:42 AM | 40 10 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

This is a real bummer...I learned a lot from @trueadm.dev ...lucky whoever gets to work with him, thanks for all you've done for svelte 🧡

18/8/2025, 9:01:32 PM | 9 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Open telemetry is now as easy as 1, 2, 3 in sveltekit...incredible work done by @gruntled.bsky.social and @stracke.tech 🧡

18/8/2025, 8:59:13 PM | 10 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Can @theetrain.ca remove this svelte post?

18/8/2025, 6:12:08 PM | 0 0 | View on Bluesky | view

Profile picture Jeppe Reinhold 🇩🇰 (@reinhold.is) reposted

We keep seeing continuous growth in @svelte.dev usage in @storybook.js.org, and it warms my heart. ❤️

18/8/2025, 10:22:44 AM | 34 4 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

It's this plugin...it's added automatically by vite-plugin-svelte and you just need to enable it just like Rich did in his presentation.

18/8/2025, 10:54:34 AM | 6 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Honestly I don't think there's anything missing, there might be some different way of doing different things but you will definitely not feel out by yourself by picking svelte 🧡

17/8/2025, 3:39:07 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

@benmccann.com should be able to remove this svelte post

15/8/2025, 7:37:02 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Matia once again doing god works for the svelte community 🧡 Show him some love and learn svelte in the meantime 🧡

14/8/2025, 8:43:41 PM | 23 1 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Oh for sure, will also do that just wanted to know how you wanted it to work

13/8/2025, 6:10:22 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Wouldn't this be better? You have information about the node already so you don't need a type argument no? tsplay.dev/W4YyOw

13/8/2025, 4:27:28 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

It's not my blog [goes to change the db entry]

13/8/2025, 12:20:10 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

and you are guaranteed to find a blog post...why? Well if it's not there yet an AI will generate one on the fly (and stored for future use). Built with Sveltekit (obviously), Sqlite as the db with @drizzle.team, partially Tailwind it was hella fun to make and it's yours to use. 🧡

13/8/2025, 11:19:17 AM | 6 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

I can finally show y'all my latest dummy side project: The Blog of Alexandria. Much like the Library this blog is full of knowledge. Inspired by the incredible proficiency of @tkdodo.eu I've built a truly infinite blog. You can just visit the-blog-of-alexandria.ricciuti.app/blog/whateve...

13/8/2025, 11:19:17 AM | 17 2 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I'll take a stab at it later

13/8/2025, 8:52:43 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

fix it you need to explicitly add a `Cache-Control` header...you can do it in your sveltekit load function using the following code ```ts export function load({ setHeaders }){ setHeaders({ 'Cache-Control': 'no-cache, no-transform' }); } ``` just lost 1hr for this.

12/8/2025, 9:34:52 PM | 5 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

PSA for whoever uses Cloudflare to manage their DNS and it's using streaming with Sveltekit. Last week Cloudflare randomly decided to remove the `Transfer-Encoding: chunking` header that is required to actually stream your HTML...without it will SSR the streamed page but still load in one chunk...to

12/8/2025, 9:34:52 PM | 16 2 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I have and my browser actually won...but I'm exploring 👀

12/8/2025, 7:04:34 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Anybody has a Comet invitation by any chance? 👀

12/8/2025, 4:01:47 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Yeah that should be fine...hit me up on discord

12/8/2025, 11:34:02 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I think it would be easier if we jump on a call to chit chat about it...would you be available?

12/8/2025, 11:05:21 AM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

What are you struggling with?

12/8/2025, 9:54:27 AM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

And all of this is to say that we care A LOT about bundle size.

11/8/2025, 9:39:08 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

I think you are vastly exaggerating the runtime cost of svelte..here you can see that the total size if you are using EVERYTHING from svelte (there's no treeshake in action) it's 42kb gzipped). For most applications this will be way way less because you are not using everything in every single page

11/8/2025, 9:38:25 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

it's a reminder that is not "just a function". Even today actions and loads are kinda magic and yet they can still be called outside your sveltekit application. I really don't see how we could make this different (at least not without compromising DX) {await DANGEROUSLY_CALL_QUERY(get_likes)}

11/8/2025, 9:19:42 PM | 3 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

But what's the difference there? You are still exposing a way to do something on your system. If your concern is "I will forgot that people can call this function from the outside and I will not do validation" i don't see how sveltekit can help you rather than forcing you to pass validation so that

11/8/2025, 9:19:42 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

Build time reactivity was awesome but it had a lot of problems unfortunately...most people tries runes and are flabbergasted by the extra possibilities it entail. And again, I'm curious, what you plan to switch to, as far as I know svelte is still one of the smallest and fastest out there.

10/8/2025, 2:05:56 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

anyway. And again, it you think the sveltekit runtime is too big for your needs you can use svelte as is.

10/8/2025, 1:53:14 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

The runtime grew a bit since we moved from pure compile time reactivity to runtime reactivity. But it's still one of the smallest runtimes out there so I'm curious what you are switching to. Also most of the dependencies of svelte are just for the compiler and are generally under the svelte org

10/8/2025, 1:53:14 PM | 1 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

install a separate router to navigate from there. So, if the real problem is the docs that gets intermingled with the sveltekit ones I think we could definitely be a better job there (and ironically AI could really help here with llm.txt). But for the rest most seem non issues. Sorry for the 🧵

9/8/2025, 9:02:29 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

compatible and you can run them just fine and even migrate most of them automatically. So, if you want to use svelte just as svelte you can use the vite preset, I would still suggest you to use sveltekit and simply not use any feature you don't like, heck you can even have a single +page.svelte and

9/8/2025, 9:02:29 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

LLM need without eating your tokens with html tags that means nothing for the objective of writing code. The syntax did change for svelte 5 and that's why unfortunately a lot of repl are "outdated". Look at the quotes tho: they are not really outdated because svelte 5 was completely back

9/8/2025, 9:02:29 PM | 0 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

solid but had to build one anyway cause people wanted it). The llm.txt are not there because it's complicated: llms train on existing code and there's simply not enough available sveltekit code out there for them to be good with it. We could say. llm.txt is a way for you to give all the context an

9/8/2025, 9:02:29 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

This sounds more like a documentation issue than a svelte issue. Sveltekit uses svelte but it's not mandatory to use svelte (even tho it's recommended) and saying that nobody asked for a meta framework for svelte is just wrong. Nowadays a metaframework is basically expected (Ryan didn't want one for

9/8/2025, 9:02:29 PM | 2 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Side projects are THE best way to learn. I always approach them with a mix of "Do whatever nobody will visit them" and "Do it properly" For my latest one I wanted to have a redirect-to-random page, since it takes time, I wanted to show the user a "loading" that worked without JS Here's what I did!

A svelte component with the following code ```svelte <h1>Looking for the best article just for you...</h1> ```
9/8/2025, 5:02:17 PM | 17 0 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me) reply parent

How is svelte getting more bloated? What can we do to make it more svelte?

8/8/2025, 8:38:10 PM | 4 0 | View on Bluesky | view

Profile picture Svelte (@svelte.dev) reposted

If this change would cause problems for you, please pipe up github.com/sveltejs/kit.... We'd like to remove these options altogether in SvelteKit 3

8/8/2025, 4:38:55 PM | 24 4 | View on Bluesky | view

Profile picture {🧪} +paoloricciuti.svelte (@paolo.ricciuti.me)

Sorry guys, i had to run...see you in two fridays 🧡

8/8/2025, 2:37:45 PM | 3 0 | View on Bluesky | view