phil 🫠
banner
kitten.sh
phil 🫠
@kitten.sh
👋 strangely typed
• dev tools at @expo.dev 𝝠
• n+1 semi-archived GraphQL/TS/React(Native) projects 🗻
• urql, gql.tada (prev. dank mono, css-in-js shenanigans)
• 🐙 https://github.com/kitten & https://tangled.sh/@kitten.sh
and thank you to all that submitted! you didn't make it easy to pick our nominees, and we appreciate all of you!

we're hoping to get a list of honorable mentions, apps on the horizon, shout-outs, and apps that also stole our hearts compiled by the end of the awards ❤️‍🔥
November 6, 2025 at 10:50 PM
clearly they must be struggling to follow the recipes
November 2, 2025 at 5:09 PM
i mean, currently Metro doesn't have tree shaking. From Expo's perspective, our goal is to start stabilising it as a feature but we'd make it export-all aware. From the standpoint of circular imports, live bindings make this mostly safe. But there can still be gotchas
October 14, 2025 at 1:31 PM
September 25, 2025 at 2:50 AM
oh on web.... i'm not sure imagemanipulator is in great shape if implemented at all on web lol
we're not yet very consistent about that. i have high hopes in mediabunny for media shenanigans on web though
September 25, 2025 at 2:49 AM
imagemanipulstor ? compress corresponds to the quality output and is specified via saveAsync. can fwd and see if anyone knows more though if it's giving you grief
September 25, 2025 at 2:42 AM
hm does blocking the dev of the app block the app though? not that it matters much since they can just create more accounts & apps, but basically just seeing an app and a big install button first feels bad here 😅
September 24, 2025 at 12:49 AM
the worst part imo is that it started as regular user accounts. But based on my notifications and this^ it's now github app bot accounts, which can't even be blocked

obv spam is happening via either of these, but spam from a source that can't even be blocked feels even worse
September 24, 2025 at 12:42 AM
but yea, the amount of JS features (and CSS properties) that even require prefixing/transpilation/polyfills is so small that personally I don't see the point of it over a lint rule. I'm hoping we can just remove this eventually
Actually, maybe we should just be picking a good default for now
September 19, 2025 at 11:40 PM
oh fwiw we only apply browserlist to CSS in Expo 😅 it'd be used if you were to slot in preset-env manually i guess (don't know if it supports browserlist) but it's otherwise only fed into lightningcss afaik
September 19, 2025 at 11:38 PM
I do wonder whether the CSS baseline makes most of it obsolete, yea. I feel the same way about JS library transpilation fwiw, and the main blocker here is the lack(?) of a linter that just points out what's not supported in a configurable range
September 19, 2025 at 11:34 PM
there's still kind of a place for a small SC lib with ordering guarantees (at least if it wouldn't be used for SSG but mostly dynamic apps) and without withComponent/styled(X) imo and with more of a CSS var focus

I vaguely remember @joshwcomeau.com writing a lot about that balance and subset
September 19, 2025 at 11:32 PM
oof now I'm also curious how much of the parsing can be cut out with CSS nesting and if it's supported by the StyleSheet API
September 19, 2025 at 11:32 PM
ah the project & history that went on a little too long 😂😛 yea I'm assuming that comment refers to this bug. fwiw as far as I know it didn't affect Firefox or Safari Webkit if I recall correctly though
September 19, 2025 at 11:25 PM
spinning up multiple transform workers 😅 I'm not a fan of the warning being in the bundler itself so may look to disabling and moving it to our startup & install checks instead, where it belongs 😄
September 19, 2025 at 11:14 PM
"make it work machine wheel people" 😫
September 18, 2025 at 12:20 PM
please :c, or else >:c
September 17, 2025 at 12:54 PM