Sign in

nuqayah.bsky.social

@nuqayah.bsky.social
14 followers 2 following 108 posts
PostsRepliesMedia
nuqayah.bsky.social @nuqayah.bsky.social · 11/07/2026
oxc powered by rsvelte: try it out. insanely fast and svelte • www.npmjs.com/package/@mus... • www.npmjs.com/package/@mus... • github.com/mustafa0x/ox... • pnpm add -D @mustafaj/oxlint @mustafaj/oxfmt • pnpm exec oxlint . • pnpm exec oxfmt .
010 0
nuqayah.bsky.social @nuqayah.bsky.social · 04/07/2026
That's terrible
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 22/06/2026
I built a complex editor on top of it. Thanks!
010 0
nuqayah.bsky.social @nuqayah.bsky.social · 15/06/2026
No formatting options? Eg semi: false, singleQuote: true, tabWidth: 4, printWidth: 100, quoteProps: 'as-needed', bracketSpacing: false, arrowParens: 'avoid',
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 15/06/2026
Impressive. Where does this fit relative to oxc and rsvelte?
110 0
nuqayah.bsky.social @nuqayah.bsky.social · 08/06/2026
For svelte, does this completely supersede oxc?
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 05/06/2026
awesome i asked for this a couple times bsky.app/profile/nuqa... bsky.app/profile/nuqa...
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 10/05/2026
I wanted to use headless Chrome to SSR my Svelte app. I hit a blocker: mount()/hydrate() doesn't emit hydration markers. I* changed them so it does. It seems to work well (adds ~300 LOC, sans tests + debug logs I added). How bad of an idea is this? @rich-harris.dev github.com/sveltejs/sve...
010 0
nuqayah.bsky.social @nuqayah.bsky.social · 05/05/2026
5.5 high with svelte is amazing
010 0
nuqayah.bsky.social @nuqayah.bsky.social · 06/04/2026
Have you considered wuchale
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 05/04/2026
github.com/oxc-project/... i opened a draft pr to add svelte support to oxfmt + oxlint
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 24/03/2026
I want to help with the coding
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/03/2026
Why not await tick()?
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 22/03/2026
bundle.es.js before/after for one of my projects: - 3,469.06 kB - 3,357.75 kB = 111kb! bundle.es.js.map: -500kb! lucide.svg: 21kb Of course after minifying and zipping the savings will be much less than 90kb. But this is still a significant improvement.
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 22/03/2026
vite-plugin-lucide-sprite: eliminate the 500b per-icon overhead + keep SVG paths outside of the JS bundle! Svelte only atm. npmjs.com/package/vite-plugin-lucide-sprite - Zero config (except for a list of used icons). No DX impact. - Includes a codemod (wip) that makes the needed one time changes
160 0
nuqayah.bsky.social @nuqayah.bsky.social · 20/03/2026
Is there a github repo to track progress?
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 13/03/2026
awesome! i found that ai needs reminding of these: - avoid `class={`hello ${world}`}`. simplify it to `class="hello {world}"` - Use `onMount` only when DOM access is required! For async, use an iife. - {window,document}.addEventListener: avoid. use <svelte:{window,document} onfoo={}/> instead
001 0
nuqayah.bsky.social @nuqayah.bsky.social · 07/03/2026
The AI-speak is so loud it distracts from any substance :/
030 0
nuqayah.bsky.social @nuqayah.bsky.social · 20/02/2026
it's insane how much ai has trouble with this: › you only need one import they're shared • <script module> and normal <script> are not shared scope in Svelte runtime, but the Svelte ESLint parser currently treats duplicate top-level identifiers across both blocks as a redeclaration in one file.
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 12/02/2026
Thanks, appreciate the offer! I might not have time these days, but maybe if there's an opportunity down the road.
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 12/02/2026
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 12/02/2026
i* made the most feature rich SPA router for svelte (even compared to kit's**). it's also the smallest at ~1k loc (plus a few slim deps) * with an a before the i ** notable additions: automatic SWR, regex routes, declarative param coercing, & two way search params store github.com/mustafa0x/na...
220 0
nuqayah.bsky.social @nuqayah.bsky.social · 09/01/2026
git archive HEAD | zstd | ssh $HOST ' cd /srv/apps/$APP_NAME/ tar --zstd -xf - sudo systemctl restart $APP_NAME '
010 0
nuqayah.bsky.social @nuqayah.bsky.social · 11/12/2025
> when is your training cutoff gpt 5.2: My training data goes up to August 2025 > write a valid svelte 5 component see photo. it did decent. two issues: `on:click` and passing a fn to $derived()
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 05/12/2025
also it doesn't mention class={[]} syntax. just class={{}}
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 05/12/2025
svelte.dev/docs/svelte/... has 30 lines with trailing whitespace
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
AI agrees that the div should not have an aria role in this case chatgpt.com/share/692314...
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
The content is dynamic, so buttons are added at run time, not compile time. bsky.app/profile/nuqa...
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
AI returns `text[#ref ...]`. I post process the AI response, and replace `[#ref]` with `<button data-ref="">...</button>` Then I listen to click events on the container, and if e.target.matches(data-ref) I process it accordingly. Is there a better way? I'm replicating what ChatGPT does.
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
I do indeed have that. svelte-check doesn't read vite.config afaict.
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
(I need to figure out how to tell svelte-check to ignore a11y_no_static_element_interactions)
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
No it shouldn't be. I moved to markdown-exit. Same end result for now (140kb / 40kb min/gz). Even though it doesn't say that it explicitly supports streaming. github.com/serkodev/mar...
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
Yes, it's dynamic ai content that is interactive. I'm posting this so others don't fall in the same mistake. With more reliance on AI, especially to fix lint warnings, we must be careful the fix isn't worse than the warning.
200 0
nuqayah.bsky.social @nuqayah.bsky.social · 23/11/2025
Total or the package itself? Total is >15mb. Most of it goes to shikijs and similar. The original streamdown has the same problem. github.com/vercel/strea...
110 0
nuqayah.bsky.social @nuqayah.bsky.social · 22/11/2025
svelte-streamdown adds >15mb (!!) to bundle size. Any advice on alternatives? github.com/beynar/svelt...
120 0
nuqayah.bsky.social @nuqayah.bsky.social · 21/11/2025
Sorry Paolo, I didn't really explain. :) The a11y_no_static_element_interactions error. My main div has an onclick. Ai saw svelte-check's warning: > Warning: `<div>` with a click, dblclick or keydown handler must have an ARIA role So it "helpfully" added role=button. I didn't think much of it.
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 21/11/2025
svelte's a11y onclick warning causes ai to add role="button". I deployed that change and several blind users reached out complaining that their screen reader started failing them.
110 0
nuqayah.bsky.social @nuqayah.bsky.social · 16/11/2025
You are absolutely correct. I just tried on my VPS directly, to avoid any network overhead. A static asset took ~10ms, while an SSR'ed page took ~25ms.
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
That's cached. Uncached is ~800ms, as shared above. Caching is without a doubt _the_ key to performance.
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
Thanks Rich. Again, I really enjoyed the talk. Re ssr, fwiw (maybe not that much!), I asked ai, and it had this to say. chatgpt.com/s/t_69175cb1...
110 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
I'm not excluding it :) I'm questioning whether the 200-500ms on the server will be more if moved to the client. According to my tests, no. But it needs proper benchmarking.
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
> Obviously a static asset is faster That's the whole point. An SPA is a static asset. Sending it can be done 200-500ms faster than SSRing. Yes, the SPA needs to request the data once it the shell has started, but I'd argue the end numbers are the same.
200 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
I tested this. > time curl -sD - -o /dev/null svelte.dev/__?_nc=$(date +%s%3N) 0m0.785s (I have to hit a 404 to avoid vercel's cache) > time curl_h svelte.dev/_app/immutab... 0m0.279s node added 500ms :)
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
It's far faster for a web server (eg nginx) to serve a static file (SPA) than to proxy the request to Node, have Node render the page server-side, and return the result. That SSR process easily adds 200ms. And like I initially said, I've been thinking about this a lot!
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
> AND it has to do a roundtrip to your server to get the data 1. In my case, I always have an external API (ie, not just kit). (I would argue this is often and maybe the majority of cases.) So there isn't much difference whether kit calls it or the client. 2. preload helps, per above
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
> as the browser can't start downloading data before JS is downloaded You can send it in a preload header, so it's parallel. > before JS is downloaded and parsed The server has to do parsing as well. V8 will be cooking either way. :)
200 0
nuqayah.bsky.social @nuqayah.bsky.social · 14/11/2025
Great talk; thanks! > SSR is about performance I thought about this a lot (I've been writing a custom router and SSR layer for Svelte). I've concluded that js + data (SPA) can be sent independently as fast (or even faster) as they can be sent rendered together (SSR). Thoughts?
100 0
nuqayah.bsky.social @nuqayah.bsky.social · 06/11/2025
😄
000 0
nuqayah.bsky.social @nuqayah.bsky.social · 06/11/2025
pnpx shadcn-svelte@latest update -a -y
130 0
nuqayah.bsky.social @nuqayah.bsky.social · 04/11/2025
Weird post to steal
000 0