This site runs best with JavaScript enabled.
Looking for something specific? Search for a blogpost here.

Becoming an Open Source Project Maintainer

I have a lot of open source projects that I maintain. I have personally published over 100 packages to npm. Not all of them are widely used (or used at all), but many of them are. I have some ideas about how to maintain open source projects. I've given a talk on this in the past (unfortunately each…

Read →

Rendering a function with React

EDIT: This "feature" will soon be removed from React 16, so please don't rely on it. That said, this is kinda fun so keep reading! This week I was working on an internal module at PayPal and had to do something kinda sorta-hacky with React . I thought You'd be interested to hear what I learned. No…

Read →

Improving the usability of your modules

This last week I worked on my team's internationalization (aka i18n ) solution. We call it react-i18n (if we ever open source it, we'll need to rename it, because that's already taken ). It's pretty neat and really small. I'm not going to talk about why we don't use any of the myriad of other…

Read →

Effective Snapshot Testing

I guess I've been on a bit of a testing kick recently, I promise this newsletter will delve into more stuff later. But I saw this tweet from Justin Searls (a developer who I admire with a great deal of experience in testing) and thought it would be a great subject to write about. In that tweet…

Read →

Making your UI tests resilient to change

You're a developer and you want to avoid shipping a broken login experience, so you're writing some tests to make sure you don't. Let's get a quick look at an example of such a form : Now, if we were to test this form, we'd want to fill in the username, password, and submit the form. To do that…

Read →

Make maintainable workarounds with codegen 💥

This last week Andrew Blick filed an issue on glamorous indicating that the UMD build of glamorous doesn't work with React 16. The problem is that glamorous does a lazy-require for the prop-types module and apparently when building the UMD bundle, rollup can't handle the CommonJS…

Read →

How to give rendering control to users with prop getters

If you're an egghead.io subscriber, you can also learn about this pattern with these two lessons: Use Prop Collections with Render Props and Use Prop Getters with Render Props Since I released downshift 🏎 a few weeks ago. Of all things, I think the most common question I've gotten has been…

Read →