adding feet support to their new Vite support

Issue #115.August 29, 2022.2 Minute read.

This week, we’ve got piping hot JavaScript tea, hairplugs in Tijuana, and a chance to use our expertise in advanced bird law.

Welcome to #115.

Real world on MTV but with JS frameworks

It’s time to find out what happens when OSS frameworks stop being polite, and start getting real.

Welcome to JavaScript Land™

If you’re a happy, balanced, well put together developer, you may have missed all the drama that has been JavaScript Twitter lately. But don’t worry. We created this 4-episode pitch for an OSS reality show called JavaScript Land™, which summarizes the most dramatic events of the last few months. And since it’s been a slow news week, we decided to share it with all of you too.

(If anyone has a connection who works for The CW, we’d love an intro.)

Episode 1: Trouble in paradise?

It was May. All the JS frameworks had just moved into the mansion for the summer and were busy sipping (virgin) champagne, counting their VC dollars, and promising each other that they were “here for the right reasons.”

But we got our first signs of tension when Next.js got on-stage at Reactathon and announced that they would be copying implementing Nested Routes — one of Remix’s killer features.

Remix clearly wasn’t too happy with the decision, but with Ember (and its router) having been in the house just a season before, they shrugged it off and said the right things about how we’re all helping to push the web forward. Peace in the house was restored… for now.

Episode 2: Stop copying me (for real this time).

Remix was considerably less understanding when they discovered that Solid.js had copy-pasted sections of the Remix docs into their own docs. The Remix team tweeted a lot, then deleted most of those tweets, then tweeted some more about how it’s OK to delete tweets.

The Solid team removed those sections from their docs and apologized, explaining that they were only “temporarily using the copy for prototyping their new docs infrastructure” without intending to ever publish the content as their own.

Eventually, everything calmed down once everyone remembered that developers don’t actually read documentation anyway.

Episode 3: Some yelling.

In this episode, a couple of web platform absolutists snuck into the house and start yelling at everyone about the JavaScript Industrial Complex.

They actually made some good points, but no one really listened because they wouldn’t stop yelling.

Episode 4: The finale no one saw coming.

Bun’s all-in-one runtime and overall blazing-ness made them the OSS golden child of the house. But in the season finale of JavaScript Land™️, they gave us a twist that even M. Night didn’t see coming.

Bun announced they had raised $7 million, and were hiring engineers. The controversy? In a now deleted Tweet, they described the job as “a grind, especially for the first 9 months or so.”

Some developers appreciated the candor and upfront disclosure of expectations. Others were filled with the righteous anger of Tyra Banks because “a grind” could lead to a toxic work environment. We even got some speculation that Bun was appropriating pregnancy culture.

It’s still too early to know how things will shake out in the long term for Bun (or any of the other newer OSS projects) — so I guess this means JavaScript Land™ will have to get renewed for a 2nd season?

Bottom Line: I’ve been told that correlation doesn’t equal causation, but has anyone else noticed that the drama seems to have increased as more and more VC dollars have flooded into OSS?

Ross from friends with text that says humor based on my pain

Laughing about building notifications so we don’t cry [sponsored]

Courier gave my team so much time for activities

Newton’s 3rd law of motion clearly states that, “building app notifications always takes 5x longer than you think.”

And that might be understating it now that we have so many different platforms to worry about (email, SMS, web and mobile push, Slack, and tons more).

That’s what makes Courier so amazing. They give you complete notification infrastructure with one API that you can set up in an afternoon.

That API integrates with over 50 notification channels, and it handles everything — templating, routing, automations, even logging and analytics. It’s your PM’s *wildest* dream come true.

Courier is used by Fortune 500 companies and startups like Lattice and LaunchDarkly to save an average of 480 engineering hours a year. That’s a lot more time for hide and go seek Fridays team building.

The best part? Courier lets you send your first 10,000 notifications of every month for free (no credit card required).

Check it out. 👈


Senior or Staff Front-end Engineer — React (100% Remote) is looking for 3 experienced individuals that have a solid understanding of React and want to help design, implement and launch major user-facing features. Close is a 100% globally distributed team of ~55 high-performing, happy people that are dedicated to building a product our customers love.

Spot the Bug — Sponsored by Retool

Retool’s app-building framework and 100+ pre-built UI components can help you build any interface 10x faster (not exaggerating).

function capitalize(string) {
  return string

Cool Bits

  1. Graphiql (graph-i-call) got a new UI with version 2.0 to celebrate the 7-year anniversary of GraphQl. It’s a lot like when I got hair plugs in Tijuana to surprise my wife for our 7th anniversary — but with less irreversible scalp damage.

  2. Heydon, the Bob Vila of CSS, wrote about how to use CSS power tools like clamp and flex-basis to do conditional width layouts. Be sure to pack some safety goggles.

  3. Appwrite is a secure, open-source backend as a service that gives you all the core CPIs you need to build any web or mobile app. It’s the only reason I feel confident telling people that I’m a senior back-end engineer. (Hopefully that never catches up with me.) [sponsored]

  4. Deno added Vite support, enabling it to run projects like SvelteKit and Astro. Here’s to hoping Deno adds new arch support insoles to their merch line, adding feet support to their new Vite support. Wow what a dumb joke how did this get by the editor?

  5. Heroku is ending its free tier on November 28th because someone at Salesforce took the lyrics of a Kendrick song about how certain things “ain’t free” a little too seriously.

  6. Google made a video giving you tips, tricks and shortcuts for the Chrome console. Will you stop only using console.log after watching this? (You already know the answer).

  7. Solid.js is going “Batch to the Future” (their words not ours) with their new v1.5 release. Ryan, we’re free if you ever need a pun consultation.

  8. John Merman wrote about Advanced TypeScript API Contracts. Given that our contract expertise is in advanced bird law, we’ll defer to John on this one.

Spot the Bug — Sponsored by Retool

When we call toUpperCase, we’re assuming that we’re modifying the string that was passed into the function. However, since strings are primitive values, that means they’re immutable and can’t be modified once they’re been created. Instead of trying to modify the string directly, we need to return a new string after capitalizing the first character.

const capitalize = ([firstLetter, ...restOfWord]) => {
  return firstLetter.toUpperCase() + restOfWord.join('')

For more information, visit How to capitalize the first letter of a string in JavaScript