zachleat.com is one of the many independent Mastodon servers you can use to participate in the fediverse.

Server stats:

1
active users

Zach Leatherman :11ty:

epicweb.dev/why-i-wont-use-nex from @kentcdodds details some of the very big problems that have been echoing for years through Vercel, Next.js, and React.

Here’s what he listed:

1. Not using The Platform
2. Vendor locked to Vercel
3. Next.js is eating React 🫡
4. Uses experimental features in stable releases
5. Overrides global fetch
6. Complexity in RSC
7. Instability

A good addition to zachleat.com/web/react-critici

Epic Web Dev by Kent C. DoddsWhy I Won't Use Next.jsFrom the perspective of web standards to concerns about increasing complexity, Kent C. Dodds shares his opinions on why he won't use Next.js.

@zachleat @kentcdodds
Next is changing quite a bit. Think they got a little scared of Remix.

Not sure Remix is really the lesser of 2 evils when it's owned by Shopify (though Shopify DX in general is pretty great). I suppose that's not the focus here.

But, if we're gonna be fair, 11ty badly needs ESM support. It's kind of painful trying to add 11ty to a modern stack. (I did see the project-streamline PR so looking forward to the day we see it 😁)

@zachleat awesome, I did consider using the branch directly but it seemed like the plugins would all still need to be moved over, so decided to wait.

@chris_hayes no, that shouldn’t be a requirement. CJS plugins should work as is. The one exception there is if you have a CJS config file in 3.0 and you want to import a bundled plugin from Eleventy core, you will need to use dynamic import() in an async config to do this.

@chris_hayes apologies if that was too jargon-y, basically I mean this example in Eleventy 3.0: 11ty.dev/docs/plugins/render/#

would need to use a ESM config (change your require to import) or your CJS config would need to be this instead:

```
module.exports = async function(eleventyConfig) {
const { EleventyRenderPlugin } = await import("@11ty/eleventy");
eleventyConfig.addPlugin(EleventyRenderPlugin);
};
```

EleventyRenderA docs page for Eleventy v2.0.1, a simpler static site generator.

@zachleat that's helpful, thank you. The lightweight 11ty + WebC flow has me excited.

@zachleat while I agree with the very high level sentiment, it's a bit beyond the pale for Kent to say that React wins on The Web Platform, Independence, Too Much Magic, Complexity, and Capability when he's spent years trashing native components at every opportunity.

As usual I suspect the problem is not "this tool is concerning," it's "this tool threatens my business model, and I have no fallback."

But maybe I'm just jaded from years of explicit abuse.

@rockerest I’ll keep saying this but I’m okay with folks learning lessons we’ve known for a long time—we need allies and not “I told you so’s!”

@zachleat @rockerest I don’t see this as an “I told you so” as much as questioning motivations. You don’t want to be a pawn in someone else’s pissing war.

@zachleat @rockerest @cferdinandi exactly, because they’re profiting directly from trashing something else, even if they’re the lesser evil. I’ve almost everyone from the remix team blocked because of their absolutely abhorrent behavior. Trashing next will not change that. Because imho, they’re only doing Uber because they expect it to bring in business.

To me, this blogpost is just evidence that these companies go to any length for profit. 🤷

@zachleat @kentcdodds "Overrides global fetch." WHHHHHHaaaaaaaaat?