Luca Schneider's Avatar

Luca Schneider

@luca.schneider.is

πŸ‡¨πŸ‡­ Software engineer @digitec-galaxus Currently working on https://yak.js.org the modern compiled css-in-js solution

87
Followers
315
Following
105
Posts
04.11.2023
Joined
Posts Following

Latest posts by Luca Schneider @luca.schneider.is

But isn't there an issue with the request-aware CSS when someone navigates to a page client-side vs. server-side so that the order of the CSS stylesheets get mixed up?

24.02.2026 08:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Yeah I think that makes sense. Also making CSS request-aware is the right direction and adding some tools and/or rules for users to remember helps in the long run πŸ™‚

24.02.2026 07:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This is very complicated and not easy to do. If you mix ambient and lazy css imports with shared styles and default chunking it gets messy quite quickly so that it's very hard to reason about.

23.02.2026 21:18 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I thought so πŸ˜… it makes more sense this way around without any additional effort

23.02.2026 21:06 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

But I bet you know that :) Just wanted to clarify. Rspack has a way better webpack API coverage.

23.02.2026 15:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

A webpack plugin doesn't automatically mean that it works in turbopack. The API's aren't 100% compatible

23.02.2026 15:24 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Good question. No I think this is currently not possible. You could write components that pass the props a certain way to other defined components but not as generalized mixin.

Do you have an example where you would need that?

18.02.2026 15:37 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I would love it when OXC not only supports generating this kind of comment but arbitrary comments

18.02.2026 05:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I sign this as Swiss too 😁

17.02.2026 08:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

@jensimmons.bsky.social

we need your help

@⁠⁠media queries stopped working on our production page

safari now requires a reload to trigger the media query after resize

bugs.webkit.org/show_bug.cgi...
Safari Version 26.3 (21623.2.7.11.6) & Safari TP

the reproduction has no javascript only css:

17.02.2026 07:05 πŸ‘ 10 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

You could have a font mixin for this case that does more or less what your `fontCss` does, but with less optimal ergonomics, as we need to have the same API as styled-components

17.02.2026 06:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah I think this is something that is hard to migrate. We can't cross the static-dynamic boundary with a function. So yak files are only good to create some variations of styles and using them in normal components and not to create dynamic properties & values during runtime.

17.02.2026 06:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

If you export the function from a .yak.ts(x) file you can use any build time macros/js code you want πŸ˜…

14.02.2026 17:12 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Danke fΓΌrs heads up. Ich luege au immer chli sini Streams und ich denke fΓΌr ΓΌs wird sich nid gross was Γ€ndere mit 2.0 πŸ˜… Aber ich bin gspannt

13.02.2026 17:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This is exactly how it works :) (e.g. github.com/nvim-treesit...)

And I have to correct myself. For us the template syntax is way easier to handle, aa next-yak doesn't do a lot there and just uses the platform that's available (postcss or lightning css). So we don't need a complete parser

13.02.2026 17:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

But still. Another perspective or the focus on instrumentation of react could be interesting and create some ideas :)

12.02.2026 05:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

How do you measure/instrumentize this? Is it during CI and you compile every package on it's own?

12.02.2026 05:22 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
React Internals Deep Dive A live series of JSer deep diving into React internals, by reading the actual React source code. This series helps you understand how React works internally and write better React code.

I would read both. There is also this: jser.dev/series/react...
Which I've read a lot and is quite niche.

12.02.2026 05:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This is the missing piece. Excited to see what the future holds

11.02.2026 18:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Crazy tech. Really nice πŸŽ‰

11.02.2026 16:01 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Vite SPA Β· Issue #319 Β· DigitecGalaxus/next-yak Hello! Great work, but I have a question - does next-yak suitable for default SPA's apps (like styled-components pkg)? Thanks for the answer

Vite support (github.com/DigitecGalax...) ΓΆffnet ΓΌs grad sehr viel TΓΌΓΌre :)

11.02.2026 15:58 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

πŸ‡¨πŸ‡­ Das isch au immer guet πŸ˜… mir sind grad sehr viel Sache am baue/usprobiere fΓΌr next-yak, denn passt solid grad au no drii. MΓΌend nur luege dass d runtime solid anstatt react nimmt, chli patterns aapasse mit de reactivity rules und de grossi teil (transpilation) chan genauso bliibe

11.02.2026 15:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

In theory we could do both, but we wanted to stay as small and focused as possible to really give the best solution for this specific problem.
Additionally if new CSS features come around we don't have to do anything and they mostly just work

11.02.2026 15:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

From a technical side I would say that object syntax is easier to compile but template literals are easier to use if you know CSS. Our deciding factor was that we already had styled-components with the literal syntax, didn't want to migrate and saw not many benefits in the object syntax.

11.02.2026 15:53 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

About the second part... Yeah we're in the CSS tagged template literal zone and have no plans to move to objects. There are other libraries that do this better (StyleX, pandaCSS, vanilla-extract) than we ever could.

11.02.2026 11:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thank you for the response & feedback. I'm also glad that I can do this during my work time.

Makes sense that it isn't in your toolbox (yet πŸ˜‰). As we now support vite we're also looking into growing beyond react.

I will try to figure out how easy a solid integration would be.

11.02.2026 11:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Next-Yak | Zero-runtime CSS-in-JS powered by Rust πŸ¦€ Zero-runtime CSS-in-JS powered by Rust. Write styled-components syntax, get build-time CSS extraction and full RSC compatibility.

How about next-yak? (yak.js.org). It has turbopack, webpack and vite support. Disclaimer: I'm one of the creators

11.02.2026 06:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Next-Yak | Zero-runtime CSS-in-JS powered by Rust πŸ¦€ Zero-runtime CSS-in-JS powered by Rust. Write styled-components syntax, get build-time CSS extraction and full RSC compatibility.

How about next-yak? (yak.js.org). Disclaimer: I'm one of the creators

11.02.2026 06:01 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Really nice writeup. TIL how SEA works :)

27.01.2026 05:45 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A cute yak riding on a rusty rocket towards the vite logo. This should symbolize that next-yak now supports vite

A cute yak riding on a rusty rocket towards the vite logo. This should symbolize that next-yak now supports vite

Finally, after adding turbopack support, next-yak also supports vite (for rolldown and rollup). Additionally we published a new storybook addon (compatible with webpack & vite).

Read up upon here: yak.js.org/docs/vite & yak.js.org/docs/storybook

16.01.2026 09:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0