Pedro Cattori Profile Banner
Pedro Cattori Profile
Pedro Cattori

@pcattori

Followers
2,036
Following
158
Media
162
Statuses
966

💿 @remix_run at @shopify / 🤖 Ex- @Tamr_Inc / 🦫 @MIT CS / 🎥 Fighting footguns 🥾🔫 with sharp knives 🔪

Alexandria, VA
Joined May 2022
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@pcattori
Pedro Cattori
8 months
Ternaries could be beautiful 💄 👉 Read the article: @PrettierCode is asking for feedback on how to format ternaries. So whether you agree with me or not, make yourselves heard! 👉
13
33
247
@pcattori
Pedro Cattori
4 months
TIL @vitest_dev lets you colocated your tests in the same file as your implementation. So nice!
Tweet media one
34
41
501
@pcattori
Pedro Cattori
5 months
You can now select @remix_run directly from create-vite in @vite_js 's v5.2.1 release
Tweet media one
10
30
442
@pcattori
Pedro Cattori
10 months
👀 Unstable Vite support has officially landed in the @remix_run repo! 🎉 Still early and have to land support for runtimes and custom servers before stable, but dang does it feel good to say: Remix runs on @vite_js 🔥
16
45
385
@pcattori
Pedro Cattori
2 months
Typesafe route modules achieved internally at @remix_run + React Router v7 . All props (params, loader data, action data, etc.) all 💯% inferred. If you ask me really nice, I might even share the TypeScript playground for you to try out soon 😉
Tweet media one
24
20
284
@pcattori
Pedro Cattori
6 months
Happy to report that @Cloudflare Pages support in @remix_run 's Vite plugin is now merged! 🥳 Only officially support CF pages, since CF says not to use Workers Sites for fullstack apps: But if anyone wants to try with Workers, let me know how it goes!
15
29
246
@pcattori
Pedro Cattori
2 months
Look ma, no `useLoaderData<typeof loader>`! Coming soon to a React Router v7 (and probably will backport to @remix_run 2.x too)
Tweet media one
@localhost_5173
EGOIST
2 months
Type-safe routing is coming to React Router v7 👀
Tweet media one
4
22
206
23
27
244
@pcattori
Pedro Cattori
1 year
Should have done this a long time ago, but simplified types for `useLoaderData`, `useActionData`, `useFetcher` are coming to @remix_run ! Under-the-hood it uses a `Pretty` type helper to force TS to simplify the type. Got that from @mattpocockuk 🙏 👉
Tweet media one
10
18
215
@pcattori
Pedro Cattori
5 months
Remix Vite just landed in 2.7.0! 🥳 Most fulfilling thing I've shipped in my career so far. Loved collab'ing with @vite_js team & community, @DarioPiotrowicz & the @Cloudflare team, @hiroshi_18181 . Plus late night pairing sessions with @markdalgleish
@remix_run
Remix 💿
5 months
We are excited to announce the release of Remix v2.7.0 which stabilizes Remix Vite and Remix SPA mode We announced the unstable Vite plugin a little over 3 months ago. Now 75 closed issues and 136 pull requests later we are ready to call this plugin stable This release marks
44
179
1K
11
17
183
@pcattori
Pedro Cattori
7 months
MDX routes in @remix_run are finally a joy to use thanks to @vite_js . The best part is that its still Remix. Want to grab data from your db? Use a `loader`. Same goes for all the Remix features you know and love. 👉 Demo 👉 Repo
Tweet media one
5
17
182
@pcattori
Pedro Cattori
1 year
New post: Typesafe error handling in TS! Check out my `asError` utility to coerce `unknown` thrown types to `Error`. Heavily inspired by this @kentcdodds post (). It's another technique I use in the @remix_run compiler. 👉
Tweet media one
5
16
171
@pcattori
Pedro Cattori
6 months
You can download @remix_run with stable @vite_js support now in the 2.7 prerelease! (2.7.0-pre.0) Try it out and let us know if you hit any bugs! Pro tip: you'll want to use the `release-next` branch in the docs to preview what they'll be like for 2.7 ()
7
20
163
@pcattori
Pedro Cattori
1 year
HMR + HDR in @remix_run is merged! How I feel right now:
Tweet media one
8
23
161
@pcattori
Pedro Cattori
8 months
Sneak peek... 👀 @remix_run + @vite_js + @Cloudflare All with 🔥 HMR + HDR 🔥
Tweet media one
9
1
150
@pcattori
Pedro Cattori
10 months
@vite_js + @remix_run ? 🔥 Yep, @markdalgleish and I have been working on it! No promises yet, but its looking promising 🤞 Huge thanks to Vite community, esp. @patak_dev for the help! 👀 prototype: moving to remix-run/remix:
@youyuxi
Evan You
10 months
Probably one of the slides I should've stayed on a bit longer
5
14
257
5
17
137
@pcattori
Pedro Cattori
6 months
The team within @Shopify is internally reporting 50x faster 🔥 HMR + HDR after adopting @remix_run 's @vite_js plugin. So cool that our work is having such a direct impact!
@barrymcgee
Barry McGee
7 months
@kentcdodds @remix_run @vite_js Hate to rain on your parade Kent but we deployed Remix app using Vite this morning EU time :)
1
0
28
1
16
138
@pcattori
Pedro Cattori
7 months
The @remix_run + @vite_js cake 🍰 is almost done baking 👀
Tweet media one
8
1
137
@pcattori
Pedro Cattori
1 month
In TypeScript, types like `{title: string}` actually mean different things when used as w/ `type` vs `interface`. This is by design, not a bug. Minimal repro where typechecking fails for one but not the other: Want to know why and how to fix? 🧵👇
Tweet media one
7
5
133
@pcattori
Pedro Cattori
1 year
Integration tests for HMR + hot revalidation 🔥 in @remix_run are now passing! ✅ @ebey_jacob and I have tons of things we want to optimize and rough edges we want to smooth, but excited to share the MVP we have now. Coming soon to an `unstable_dev` server near you...
7
6
128
@pcattori
Pedro Cattori
6 months
Surreal... this phase is done. All these changes will be part of next release, still as "unstable". Now the work begins to start stripping all those `unstable_` prefixes off of the @remix_run Vite plugin.
4
8
126
@pcattori
Pedro Cattori
9 months
This is exactly why its so nice for Remix to be a plugin, and not a compiler. Look at how clean that is!
@AlemTuzlak
Alem Tuzlak 🇧🇦
9 months
Coming soon to a @remix_run app (with @vite_js ) near you! 🚀
Tweet media one
4
8
209
2
8
123
@pcattori
Pedro Cattori
6 months
. @remix_run + @vite_js : it's happening!
3
8
122
@pcattori
Pedro Cattori
9 months
I invented a tiny React-like ⚛️ framework for the terminal! It's just enough for me to be able to teach HMR without needing to deal with network/websockets/different JS runtimes/etc. Stay tuned for the full tutorial: "What the heck is HMR anyway?"
4
4
122
@pcattori
Pedro Cattori
10 months
I've worked so hard the past couple months on getting HMR + HDR in @remix_run ⚡️ to feel great. It's so validating to see it working well, esp. on @vite_js ! 🥲 Shout out to @ebey_jacob , @markdalgleish , and @brophdawg11 who all helped out! 💪
@BrooksLybrand
Brooks Lybrand
10 months
It's hard to capture in a video how instantaneous the new experimental @remix_run plugin for @vite_js feels Of course this is the simplest of simple demos, but if this continues to scale I'm super excited for the future And the dev speed is just the tip of the iceberg
15
18
167
3
11
116
@pcattori
Pedro Cattori
8 months
👀 Look what landed on my plate today for @remix_run
Tweet media one
5
3
116
@pcattori
Pedro Cattori
6 months
Just putting the icing on the @remix_run & @vite_js cake now 🎂 For the eagle-eyed among you: yes, 12 new and unexpected tasks snuck into the "Done" column since last time 😅
Tweet media one
@pcattori
Pedro Cattori
7 months
The @remix_run + @vite_js cake 🍰 is almost done baking 👀
Tweet media one
8
1
137
4
6
116
@pcattori
Pedro Cattori
6 months
This is HUGE! The new (experimental) runtime API unlocks the ability to delegate server code execution to `workerd`. Massive step towards closing the dev/prod gap with @Cloudflare & @vite_js .
@vite_js
Vite ⚡
6 months
Vite 5.1 is out! ⚡️ 🛠️ Experimental Vite Runtime API (vite-node into core), unlocking HMR for SSR and running code using Vite plugins in any environment 🔥 Dev server performance improvements ✨ import `css?url` support and more!
36
189
1K
2
14
114
@pcattori
Pedro Cattori
1 year
@remix_run just got even better: 🔥 HMR + HDR for all 🔥 `unstable_dev` 👉 `v2_dev` Now just gotta update docs and templates ✍️
6
14
110
@pcattori
Pedro Cattori
3 months
@little_bret "Say no to most things so you can focus on the few important things" - Google Gemini
0
2
110
@pcattori
Pedro Cattori
2 years
Just launched my new website: Plan is to do a ton of technical writing this year, so look for my blog posts there! Built with @remix_run , of course 😉
Tweet media one
17
5
107
@pcattori
Pedro Cattori
2 months
🚀 New package! babel-dead-code-elimination: composable primitives for dead code elimination in Babel Hoping this can be the canonical DCE algo for frameworks. Thanks to @_developit , @nextjs , @localhost_5173 , and @tannerlinsley for prior art!
5
11
107
@pcattori
Pedro Cattori
6 months
Soon @vite_js will be implicitly recommended by @reactjs since its now powering @remix_run 💪 👉
Tweet media one
@flaviocopes
flavio
6 months
Why the React docs don't recommend Vite as #1 , and why is Gatsby on this list?
Tweet media one
50
27
664
4
8
105
@pcattori
Pedro Cattori
1 year
#4 on HackerNews with unoptimized @remix_run app running on the free tier of @flydotio . No caching of any kind and dynamically transforming markdown in git to HTML on-demand. And with images too. 90% of responses <190ms, 99% <461ms. 🔥 Insanely good made so easy 😍
Tweet media one
Tweet media two
2
7
106
@pcattori
Pedro Cattori
8 months
People keep asking when @remix_run will stabilize @vite_js support. My answer has always been "It's done when it's done". But dang, we're so close now 🤏
Tweet media one
4
3
103
@pcattori
Pedro Cattori
10 days
Just got back from my trip and look what was waiting for me! @remix_run lookin bigger and better than ever
Tweet media one
3
4
99
@pcattori
Pedro Cattori
1 year
In the next @remix_run release, you'll have access to esbuild metafiles for all the build steps (css,js,server)! PR 👉 You can upload these to to analyze your bundles 🔬
Tweet media one
Tweet media two
6
10
96
@pcattori
Pedro Cattori
10 months
Needed to relax with something slower after working on Remix + Vite 🏎️🏁
Tweet media one
9
0
84
@pcattori
Pedro Cattori
2 years
Interested in nitty gritty technical decisions being made at @remix_run ? Check out our decision docs! Just finished writing the decision doc for `useLoaderData` type inference. TONS of interesting nuance in that decision:
3
16
80
@pcattori
Pedro Cattori
2 years
Captain's log 📝 Star date 098234J ✨🪐 Today's mission was a success. @ebey_jacob and I got HMR events wired up from the @remix_run compiler into the browser in under an hour. 🧑‍🚀 On to implementing the client-side HMR runtime + React Refresh. 🚀
6
9
80
@pcattori
Pedro Cattori
1 year
HUGE dev server improvements for @remix_run just dropped! 🦾 Already have a couple things to fix and optimize, but soooo close to releasing the new dev server as stable. Can't wait 🤩
4
8
78
@pcattori
Pedro Cattori
3 months
Planning to stream Crafting Interpreters, building an interpreter from scratch, in @typescript then VM in @rustlang or @OCamlLang . Also maybe the ✨ legendary ✨ Structure and Interpretation of Computer Programs, problems + solutions. In addition streaming @remix_run dev
9
2
77
@pcattori
Pedro Cattori
17 days
Haven't posed about defineRoute progress for @remix_run in a bit. But that's because I'm cookin up something even better for route typesafety. Just demo'd a prototype of it to the Remix team. If it keep going well, should be ready to share some details soon!
6
1
80
@pcattori
Pedro Cattori
7 months
I'm blown away by how thorough Hiroshi's contributions have been. Example: 👉 He's landed 40 PRs with the same attention to detail in @remix_run to improve our @vite_js plugin in the last ~2 months! 🤯 👉
@patak_dev
patak
7 months
I just started sponsoring hi-ogawa because I'm amazed by the way he is contributing to @vitest_dev and @vite_js . He is incredible sharp. And it has been one of the hidden benefits of @remix_run move, as he is focusing on improving the Remix/Vite story.
0
4
44
2
6
72
@pcattori
Pedro Cattori
2 months
Surreal to see @ChromiumDev cover stuff I personally worked on 🤯 esp. bringing @vite_js to @remix_run Queue the imposter syndrome! 😅 Seriously grateful be part of the Remix team, love working with y'all
3
5
73
@pcattori
Pedro Cattori
2 years
New blog post: Go-like channels in 10 lines of Javascript It's a technique I used in the Remix compiler implementation!
2
13
70
@pcattori
Pedro Cattori
1 year
Captain's log 📝 Star date Q78235R ✨🪐 The eagle has landed 🦅 🔥 HMR + Hot Revalidation in Remix is available for intrepid adventurers on the `0.0.0-experimental-0ec995c53` release. 🚀 One small PR for @remix_run , one giant leap in DX 🧑‍🚀 Will post a demo video soon... 👀
0
4
68
@pcattori
Pedro Cattori
1 year
Captain's log 📝 Star date 098234Z ✨🪐 @ebey_jacob and I have reached HMR, a small moon in the DEV_SERVER system. We've discovered intelligent life on the main planet, SSR. Reporting back to @remix_run station: SSR-aware HMR is on the horizon.
3
7
67
@pcattori
Pedro Cattori
2 years
I'm a snake_case 🐍 fan. Seeing @rossipedia and @Rich_Harris show their ❤️ for it recently inspired me to finally write out why I think snake_case is the best case: One hunch: it preserving word silhouettes that may tap into our prose-optimized perception
5
10
65
@pcattori
Pedro Cattori
9 months
Got HMR 🔥 working in my tiny React-like ⚛️ framework for the terminal! How cool is that?! Can't wait to use this simple, barebones playground to teach how HMR works. Stay tuned for the full tutorial: "What the heck is HMR anyway?"
2
1
64
@pcattori
Pedro Cattori
9 months
Underrated benefit of switching to @vite_js : community solves all the problems for you! 😆 👉 Seriously, can I just retire on a beach somewhere now? 🏝️
2
2
64
@pcattori
Pedro Cattori
1 year
Videos for @remix_run 's new dev server (v2_dev) are up! 👉 👉 👉 😅 realizing that I need a more consistent mic setup 🎤
8
7
63
@pcattori
Pedro Cattori
4 months
In a future where improvements from @remix_run + RSC feed back into React Router, I'll be able to say: "My website is RR SSR + RSC. It's CSR'd after initial load. Subscribe via RSS!" ...RSC,CSR,SSR,RSS,RR... It's like some weird haiku-like gibberish😅
4
0
61
@pcattori
Pedro Cattori
1 year
Captain's log 📝 Star date X98235T ✨🪐 The alien tech is more than just HMR. It "hot revalidates loader data" 🔥 according to the aliens. 👽 Integration with our @remix_run mothership is successful. Our scientists 👩‍🔬 are testing it now to make sure it's safe for universal use.
7
6
61
@pcattori
Pedro Cattori
2 years
New blog post: Offline dev and testing for @remix_run I've seen ways of integrating MSW with Remix before, but none that did so with the built-in Remix dev server. Note that this _should_ get even easier with
4
4
60
@pcattori
Pedro Cattori
9 months
Prepping my talk for @remix_run_nyc tomorrow... @vite_js is _just_ another compiler, right? So what would Remix be like in an alternate universe where we stuck with esbuild? Surely, we should have opened up the compiler sooner, right? RIGHT?? As always, the details matter 😉
Tweet media one
1
2
57
@pcattori
Pedro Cattori
1 year
Cooking up crazy amounts of dev server improvements for @remix_run . Can't wait for you all to try it out soon! 👉
Tweet media one
1
5
57
@pcattori
Pedro Cattori
3 months
Not only that, but @vite_js 's Environment API's gives @remix_run a way to run server code in workerd, unlocking local @CloudflareDev DX w/ all the Vite goodies your used to! And the build orchestration piece also unlocks RSC integration. So hyped!
@markdalgleish
Mark Dalgleish
3 months
The @vite_js Environment API is super exciting. It unlocks so many new use cases, but close to my heart is that it'll let @remix_run get back to being "just a Vite plugin" since plugins can co-ordinate multiple builds when invoked via `vite build --all`.
5
27
161
2
9
55
@pcattori
Pedro Cattori
2 months
Pairing with @markdalgleish
Tweet media one
4
2
54
@pcattori
Pedro Cattori
8 months
Fixed it for ya. Each line is independently comment-able so you can move precedence easily. Plus less git noise this way. Reads like a set of cascading preconditions/early returns. I wrote about similar thing in a blog post: 👉
Tweet media one
@trashh_dev
trash
8 months
you may not like it but this is super readable
Tweet media one
200
77
1K
4
2
51
@pcattori
Pedro Cattori
1 year
My #RemixConf talk about Legendary DX in @remix_run thru HMR + Hot Data Revalidation 🔥 is now up on Youtube! Link to the video and a writeup of some clarifications can be found in my new post about the talk.
Tweet media one
2
5
49
@pcattori
Pedro Cattori
11 months
@remix_run v2 is out! My wife made this sign for me like 3 months ago 😅 I was a _little_ optimistic, but now its finally time to celebrate 🍾
Tweet media one
@remix_run
Remix 💿
11 months
Today's the day, we've officially released Remix v2! Read @mjackson 's post all about what v2 offers and for a glimpse into Remix's future 👀
29
201
888
3
1
49
@pcattori
Pedro Cattori
1 year
For example, @remix_run Indie stack got ~2x faster builds and 3x faster rebuilds. 🤘 Plus check out those new, pretty logs! 🤩 Next release is gonna be great!
Tweet media one
Tweet media two
@pcattori
Pedro Cattori
1 year
Spent the week on perf optimizations for @remix_run with @markdalgleish and @ebey_jacob . I've seen build/rebuild times get 4x faster in some projects and ~20x faster in some extreme cases 🏎️ Highly depends on what your project looks like, but exciting!
2
4
40
0
0
48
@pcattori
Pedro Cattori
1 year
Experimenting with prettier logging for @remix_run `unstable_dev`. Still need to beautify the future flag warning, but other than that what do you think?
Tweet media one
Tweet media two
9
0
48
@pcattori
Pedro Cattori
6 months
Oh and checkout the new docs for Cloudflare on the `dev` branch 👇 General: Migrating:
@pcattori
Pedro Cattori
6 months
Happy to report that @Cloudflare Pages support in @remix_run 's Vite plugin is now merged! 🥳 Only officially support CF pages, since CF says not to use Workers Sites for fullstack apps: But if anyone wants to try with Workers, let me know how it goes!
15
29
246
2
4
45
@pcattori
Pedro Cattori
3 months
Just paired w/ @mjackson on more programmatic routing ideas for @remix_run and never been more excited about what we're cooking 🧑‍🍳 Like @jacobmparis said, all doable today in userland w/ routes config, just honing this w/ better defaults + APIs
@jacobmparis
Jacob Paris
3 months
People complain about Remix's routing but they're always talking about the file convention I LOVE the routing, but I usually want to tweak the file convention and that's something people should feel more comfortable doing
8
3
24
3
0
44
@pcattori
Pedro Cattori
9 months
`envinfo` is great btw, esp. for bug reports 🐛 👉
Tweet media one
1
5
43
@pcattori
Pedro Cattori
7 months
For anyone else migrating their @remix_run app to our @vite_js plugin, this is a great reference migration that touched all the edge cases 🐨🏂🤘 Step-by-step:
@markdalgleish
Mark Dalgleish
7 months
is now running on @remix_run + @vite_js ! This was a major milestone for us on the road to marking the Vite plugin as stable. Kudos to @pcattori for making this happen, and obviously @kentcdodds for helping us out.
5
4
94
2
6
41
@pcattori
Pedro Cattori
1 year
Not one, not two, but THREE videos on the new dev server are done! 🎥 Will upload to the @remix_run Youtube channel as soon as they finish exporting 🤘
Tweet media one
2
1
42
@pcattori
Pedro Cattori
1 month
Super cool to see defineRoute animated by @matt_stobbs ! Excited about typesafety esp. when both serverLoader + clientLoader are set; most put the wrong type in the `useLoaderData` generic. It'll be automatically correct soon!
@matt_stobbs
Matt Stobbs
1 month
Spent the weekend playing around with Remotion and Codehike and ended up creating a quick video explaining the up-coming defineRoute in @remix_run
3
3
50
4
0
40
@pcattori
Pedro Cattori
6 months
When I see @frandiox & @hiroshi_18181 working on getting @vite_js to run workerd for native Cloudflare support in @remix_run
Tweet media one
4
1
40
@pcattori
Pedro Cattori
1 year
Spent the week on perf optimizations for @remix_run with @markdalgleish and @ebey_jacob . I've seen build/rebuild times get 4x faster in some projects and ~20x faster in some extreme cases 🏎️ Highly depends on what your project looks like, but exciting!
@markdalgleish
Mark Dalgleish
1 year
I’m having a lot of fun swarming on performance for @remix_run at the moment 🔥🚀
1
0
48
2
4
40
@pcattori
Pedro Cattori
3 months
React Conf was a blast. Highlights include: Talking typesafe routing w/ @tannerlinsley Hearing how much @threepointone loves @remix_run ‘s old manual mode (might rename to “Sunil mode” 😜) Meeting @adamwathan to chat about framework-ness of React Router …and more!
2
0
38
@pcattori
Pedro Cattori
2 years
Finally got time to review some community PRs and address some issues in @remix_run this morning. Seems like I wasn't the only one on the team feeling that way; 95 issues closed since last week! 🙏 to everyone, but esp. @mac_hour & @MichaelDeBoey93 for triaging and PRs.
Tweet media one
1
5
36
@pcattori
Pedro Cattori
6 months
Hot off the presses, another @remix_run decision doc! Particularly proud of how we navigated the thorny issue of mixed client & server code for @vite_js 's dev server. 💪 Shout out to the venerable @markdalgleish for pairing on this with me.
3
2
36
@pcattori
Pedro Cattori
1 year
@remix_run v1.16.1 is out! Even more dev server goodness 🎉 Never been a better time to try Hot Data Revalidation 🔥 Now I can focus on perf improvements for the new dev server for next release 🤩 👉
1
3
35
@pcattori
Pedro Cattori
3 months
Real CI failure in @remix_run codebase. Somewhere on a distant mountain in Utah, @ryanflorence weeps CONSTantly.
Tweet media one
2
0
34
@pcattori
Pedro Cattori
1 year
@remix_run v1.18 is released w/ new dev server stabilized 🦾 That means hot updates 🔥 via HMR + HDR! What's "HDR"? Check out the new docs to find out! Plus a ton of perf improvements! Most apps will be at least 10% faster, but some up to 10x faster! 🏎️
@kentcdodds
Kent C. Dodds 🌌
1 year
This is a pretty significant release of @remix_run ! A very fast dev server gets even faster ⚡️
7
16
162
2
3
33
@pcattori
Pedro Cattori
2 months
The order of properties affects TypeScript inference, which seems like a bug to me. Interestingly, if I change the method to be an arrow function or change the order of the object properties, inference works as expected. Is this intentional? Playground:
Tweet media one
6
4
33
@pcattori
Pedro Cattori
7 months
Everyone replying "just use `if`/`switch`" has never authored conditional types in TS, where ternaries are the only option. On, and here's how I'd format it 👇 Real code w/ different ternary formats: ❌ ✅
Tweet media one
@housecor
Cory House
7 months
Nested ternaries aren’t good or bad. They’re contextual. A nested ternary that contains 100’s of lines of code? Yuck. 🤮 A nested ternary that contains a few lines of simple code? Fine by me. Example:
Tweet media one
159
39
755
6
5
33
@pcattori
Pedro Cattori
3 months
If you want to see what the future of @remix_run routing could look like, might want to check out my stream this week for a sneak peek 😉 It's literally the next thing on my plate!
@localhost_5173
EGOIST
3 months
not gonna lie, coming from other frameworks Remix’s routing had me wasting a few hours too
19
3
93
3
0
33
@pcattori
Pedro Cattori
8 months
First day trying OCaml! Here's my solution for day 1 of #AdventOfCode 2023. 👉 `|>` for pipelining is great 👉 Surprised something like `%>` doesn't already exist, but maybe I overlooked it. 👉 Really love passing `(+)` as an arg. Its a function, treat it that way!
Tweet media one
4
2
31
@pcattori
Pedro Cattori
2 months
🔴 Live working on more typesafe routes for React Router + @remix_run ft. `defineRoute`
@pcattori
Pedro Cattori
2 months
Look ma, no `useLoaderData<typeof loader>`! Coming soon to a React Router v7 (and probably will backport to @remix_run 2.x too)
Tweet media one
23
27
244
0
1
32
@pcattori
Pedro Cattori
1 year
Shout out to @dmarkow for filing super comprehensive bug reports for @remix_run 💯 Starting this week with a bug smashing session on the road to stabilizing the new dev server and the info he's added has been invaluable! Love having such a collaborative community for Remix ❤️
0
3
30
@pcattori
Pedro Cattori
3 months
Trying out this streaming thing, live now! 🔴 Going to be working on making single-fetch typesafe in @remix_run
4
5
31
@pcattori
Pedro Cattori
3 months
The design decisions @markdalgleish and I have made for vite-env-only are super interesting. Maybe I should submit a talk for it 🤔 I'm particularly proud of the type-safety it provides and how we implemented composable dead-code elimination 🤓
@markdalgleish
Mark Dalgleish
3 months
I'm excited about the work @pcattori and I are doing on vite-env-only. It's becoming a great little toolkit for Vite apps with server and client code mixed in the same file, making the boundaries more explicit and providing better errors when you slip up:
2
2
35
1
1
31
@pcattori
Pedro Cattori
6 months
Me continuously looking into the oven (CI checks) for the last PR needed to stabilize the @vite_js & @remix_run cake 🎂
@pcattori
Pedro Cattori
6 months
Just putting the icing on the @remix_run & @vite_js cake now 🎂 For the eagle-eyed among you: yes, 12 new and unexpected tasks snuck into the "Done" column since last time 😅
Tweet media one
4
6
116
3
0
29
@pcattori
Pedro Cattori
9 months
Love to hear it! A big goal of ours for @remix_run is to get out of your way and let you focus on your app, so this is great validation for us 🤝
@kettanaito
Artem Zakharchenko
9 months
I decided to use @remix_run in my video course on @ApiMocking because I like how it handles resource fetching (its loaders and actions). But in any case, it really doesn’t matter what framework you use when mocking APIs with MSW. That’s the entire point. Remix is fantastic for
1
4
67
3
0
29
@pcattori
Pedro Cattori
2 months
Best part is there's literally 0 type annotations required 🥹
1
0
30
@pcattori
Pedro Cattori
3 months
We mused about this API months ago, but kudos to @markdalgleish for making it a reality! Love how it came out 🤩
@markdalgleish
Mark Dalgleish
3 months
⚠️ Server code accidentally landing in your @vite_js client builds? ✅ vite-env-only v2.3.0 is out now with even more ways to guard against this! 🚀 Pairs well with @remix_run (as you can see below) but this is useful with any Vite-based server+client build.
Tweet media one
2
17
158
1
2
26
@pcattori
Pedro Cattori
8 months
@mjackson Or for explicitly separating server/client code in the same file! That's what I'm really excited about with this 👀
3
0
26
@pcattori
Pedro Cattori
8 months
If HMR has always seemed magical 🪄 to you, come watch me reinvent HMR in 50 lines of JS tonight during the @RemixBayArea live stream! 👀 Sneak peek:
@RemixBayArea
Remix Bay Area
8 months
Join us on Zoom tomorrow, Nov 29th, at 5:15 pm PST for "What the heck is HMR anyway?" by @pcattori where he will implement HMR in <50 lines of JS! RSVP here:
2
8
10
1
4
25
@pcattori
Pedro Cattori
2 months
@remix_run Also did a bit of redesign and not relying on `defineRoute$` as a macro anymore, so dropping the `$`. Instead, relying on `export default` location to know where to look for `loader`/`action` when stripping server code from browser bundle
Tweet media one
4
0
25