whoever decided that using `import.meta` out-of-pocket should throw a SyntaxError (meaning you can’t really feature test for it in code) made a choice that I do not agree with
Mastodon
TIL you can feature test Import Maps support using `HTMLScriptElement.supports("importmap")`
https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/supports_static
via @guybedford’s https://github.com/guybedford/es-module-shims
Looks like using Svelte via import maps got a lot more gnarly between v4 and v5, unfortunately.
(via https://generator.jspm.io/)

dril said it best

The thing you need to know about me is that I’m not above forking an old package just to update its dependencies: https://github.com/zachleat/get-pixels
apropos of nothing — if mitch mcconnell himself started singing the praises of web components, you wouldn’t hear a word about it from me
Best of luck to JSX — of whom I do not predict will have the same success 😅
With type stripping in Node.js and `--erasableSyntaxOnly` in the TypeScript compiler — in my curmudgeonly luddite brain this has *finally* elevated TypeScript as-a-project beyond a minimal tier of long-term stability in the JS ecosystem.
Glad to see it make it over the hump.
Just shipped zachleat@42.0.0 https://www.npmjs.com/package/zachleat
I’ll pass it along to @lynnandtonic @hexagoncircle and @sarajw!
I was tagged in the Blog Questions 2025 Challenge by @anders!
Just finished up a 3D print of a chess set for my son to take to school 😍

“The 12-month Amazon Web Services Free Tier period associated with your Amazon Web Services account will expire on January 31”
In related news, the @eleventy Screenshots service moved again yesterday 😅
Write it down.
https://dansinker.com/posts/2025-02-1-write-it-down/ from @dansinker
Had a little time at my son’s basketball practice so I converted my 18 year old blog from CommonJS to ESM 😅
@KiwiKilian just moving forward (to be clear) not retroactively
@KiwiKilian I wonder if I might humbly ask that you name your releases on GitHub with an Eleventy Vite prefix (or similar)?
They show up on the Firehose with only the version number: https://www.11ty.dev/firehose/?type=github
Delighted: I’m finishing up an experimental @eleventy plugin for @font.awesome icons that uses per-page tree-shook (tree-shaken? tree-darmok-and-jalad-at-tanagra) SVG sprite-sheets (with zero CSS or JS)
if they had used this web component from @scottjehl, it would have solved the problem quite nicely! https://scottjehl.com/posts/q-r/
Friends of Slack, a couple desktop-client things:
1. Huddles should prevent the screen saver — I am talking on the computer.
2. Defaulting to “Automatically leave huddles” when the screen saver starts (when paired with above) is a very bad software default
(please fix one of the above, thx)
is… is this where we’re at now?
instead of a hyperlink to the app store (which was already not particularly web-friendly) we’re obfuscating links as smartphone-first QR-codes?

what is apple’s beef with SVG https://fediverse.zachleat.com/@zachleat/113114654283999351
The episode of Arrested Development from which this quote originates aired in November, 2003 — and $10 in 2003 is roughly the same as $17 in 2025.
“It's one SVG, Michael — what could it cost, $10?”
the browser support for SVG favicons in 2025 is *wild* https://caniuse.com/link-icon-svg
TIL I needed to opt-in to an allow-list of domains for `fediverse:creator` on my profile (in addition to the `<meta>` tag on my web site)
Edit Profile -> Verification (tab) -> Author attribution (section) -> Websites allowed to credit you (textarea)
Read more about fediverse:creator here: https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/
Found some unnecessary twitter metadata still sitting around on my web site and it’s always a good time to delete code (*especially* now).
Might be worth checking your web sites to see if you can delete it too?

I’ve been to far too many family funerals in the past couple of years.
When my time is up (far, far from now) I hope that whoever speaks offers the listeners a message of acceptance and peace — not one of fire and brimstone, not one of conditional love through unconditional allegiance.
Take care of each other, y’all ❤️
A few Eleventy build server image optimization tests for the project I’m currently working on (×1088 images):
formats: webp, auto =>
❄️ cold cache: 4m 33s
🔥 warm cache: 36s
formats: avif, webp, auto =>
❄️ cold cache: 11m 32s
🔥 warm cache: 38s
Do y’all think the AVIF build cost is worth it if the build server cache is ~always warm?
we did it, web performance folks — it’s done. time to close up shop and go home — I just loaded up a 1.3GB text-based web app
(using a client-side LLM)

For the record, the creator of the Remix JavaScript framework posted in defense of Elon’s fascist salute yesterday.
Always keep receipts.
img:not([alt]) {
visibility: hidden;
}
In the past month my kids and I have played (on all the original *never-repaired* hardware):
1️⃣ 30+ year old Super Nintendo
2️⃣ 15+ year old Wii
3️⃣ 5+ year old Switch
Nintendo is an incredibly special company — looking forward to the next iteration.
I am very unserious but also simultaneously extremely serious
multitudes wish they contained me
your nose is 3d printer for boogers, think about it
we’ve formalized this process here: https://www.11ty.dev/blog/certification/
9 y/o tried to say that I was middle aged but instead said that I was from the Middle Ages
if you want one of these on your linkedin — I dub thee officially certified

hoping my midlife crisis will be to build increasingly unhinged web sites
After 7 years, it was time to update the ol’ avatar. This is your one and only warning — I look different now
Curious about the State of JS survey, did y’all participate in 2024?
shout out to everyone with streaming preferences based on caption design and readability
Well designed and beautifully typeset subtitles and closed captions are a competitive advantage for *all* video products.
(it’s wild how poorly some streaming services are at this—in 2025)
If you search for “Google” in Bing it shows you a page that is designed to look very similar to the Google home page…
via @verge https://www.theverge.com/2025/1/6/24337117/microsoft-bing-search-results-google-design-trick
First image: search results for “Bing” on Bing
Second image: search results for “Google” on Bing

happy january 6th to those CEOs that celebrate
the primary purpose of breaking changes is to remind developers that they shouldn’t get too comfortable
I have converted the old syntax to the new syntax to please the churn gods
modern software (pejorative)
why is no one talking about how many pirates are coming out of the eye doctor—eye health may be the top indicator of criminality
in my house we can print 3D in 4 different colors but only one color in 2D
I regret to inform you all that 3d printing has become my entire personality (temporarily)
happy new year ya filthy animals
shout out to static sites—casually and calmly doing their thing—while folks are out for the holidays
my partner got me a 3D printer for christmas and it’s the first “magic technology feeling” I’ve had in a very long time—a glimpse at what a star trek replicator might feel like.
any good recommendations for useful or fun prints?
Eleventy End of Week Update:
⛴️ Pre-release v3.0.1-alpha.1 https://github.com/11ty/eleventy/releases/tag/v3.0.1-alpha.1 (Import Attributes, Relative assets)
🦴 Big efficiency wins in Fetch v5.0.2 (beta) https://github.com/11ty/eleventy-fetch/releases/tag/v5.0.2-beta.1
🏞️ In progress: Image v6 https://github.com/11ty/eleventy-img/milestone/22?closed=1 (hook directly into sharp for adv processing)
@yaypie I’m curious if you have opinions on the best way to convert https://github.com/rgrove/parse-xml/ objects back to XML? does this exist?
Also asking for @paul via https://bsky.app/profile/paul.kinlan.me/post/3ldr6n3ngts2j
to everyone suggesting that I change the code to do some kind of harm to their web site (humorous or not)—no, I will not be doing that.
I think we can all agree that it would be wrong to cause production harm to another organization or company’s web site—right?
a reminder that <snow-fall> can do emoji too!

bless us (maintainers), every one (not monetarily)
looks like https://wordpress.org/ shipped <snow-fall> on the *entire* web site so I will now be taking on the role of tiny tim in the novella A Christmas Carol about Providing Free Labor via Open Source Software
Looks like @photomatt added `<snow-fall>` to his personal web site—’tis the season to celebrate others getting value out of open source and web components!
https://mastodon.social/@photomatt/113675699709565433
You can get it for your web site too: https://github.com/zachleat/snow-fall
Added a `text` attribute to the <snow-fall> web component (v1.0.3+). Now you can add any emoji character you might want (maybe ❄️, maybe a 🤡)
Demo: https://zachleat.github.io/snow-fall/demo-clown.html
Get <snow-fall> for your web site: https://github.com/zachleat/snow-fall
(Idea inspired by https://techarseholeoftheyear.com/)
HTML — much like the cheese — stands alone
suggestions welcome: if one might be looking for a reliable multi-platform dependency to convert GIF to <video>, what might one use?
I regret to inform you that I’ve taken your critique that did not reference or mention me in any way as a very personal attack
went to see Peter Pan in the theater with the 9 y/o (amazing!) and the stage flying was incredible but they didn’t do defying gravity?? seems like they only did stuff from the new album
88% to 13% …wait
⚛️ 🤝 🚾
(positive) the linkedin web site is far too slow to be addictive
fine I’ll post the context https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause
Error#cause is for snitches
<a href> pronunciation poll:
it’s wild that some people go through their entire lives thinking that the status quo is fine
Shout out to `Promise.withResolvers`—shipping with Node.js 22+
let { promise, resolve, reject } = Promise.withResolvers();
1. use this web component, it has zero dependencies, weighs 4KB, shipped in 2018—still works great
2. OR, you can use this react component—it has many dependencies, requires a transpiler, weighs 200KB+, uses outdated react best practices from 3 months ago
you gotta choose #2, right? otherwise they’re gonna make fun of you
every web site is progressively-enhanced (some better than others)
For folks in the northern hemisphere, it’s <snow-fall> season: https://www.zachleat.com/web/snow-fall/
love to get annoyingly productive right before a long vacation weekend but not productive enough to finish the thing so it can live rent free in my head for even more time
“Bluesky is insulated from billionaire influence because everything is open source!”
oh you sweet summer child
bernie sanders would love web components—no I will not elaborate at this time
Teaching the 7 and 9 y/o to play StarCraft II and it is going *incredible* 🤩
First time they’ve ever used a mouse after years with touchscreens and trackpads.
what’s your least favorite emoji? I’ll go first: ✨
Fascinating article about mobile device privacy from @josephcox and @404mediaco today: https://www.404media.co/i-dont-own-a-cellphone-can-this-privacy-focused-network-change-that/
Navigating to Cape’s web site tells another story about privacy if you look at the DevTools Network tab—lots of requests to Google servers 👀
sure, I can touch grass—but can I grep grass? can I sed grass? can I tail grass? yeah, that’s what I thought
Experimenting with @eleventy’s Import to create a single (eventually searchable) archive for Bluesky and Mastodon (and others, eventually).
Super early preview: https://nexodus.zachleat.dev/
any URI that isn’t on your web site isn’t very cool anyway
what is the best JavaScript framework? we asked 2000 next.js superfans to find out
this is mostly just for me but they’re all archived here using @eleventy’s tweetback: https://www.zachleat.com/twitter/
sometimes cool URIs don’t change but other times you must burn previously cool URIs to the ground so they can’t be further monetized for evil 🔥
Deleting 41,987 tweets.
(thank you @Luca and https://github.com/lucahammer/tweetXer)
this is what I think of when I hear bluesky

7 y/o just asked me if 0 - 0 = -0 and I am absolutely delighted by this question
there is only one hard problem in computer science: abstracting the entirety of CSS into HTML classes
For the record, Bluesky can be “worse” than Mastodon (in important ways that we care about) and still be a temporarily valuable place to get folks off of Twitter/X.
For years there has been a stinky cloud of web performance misinformation and propaganda coming from folks in the React community.
So much so that apparently a 57 score on Lighthouse is “fast” (even with 1160ms of TBT and a 5.4s LCP).
(There is *some* nuance here, of course—but we haven’t graduated to those discussions yet!)
If you too want to pretend that your slow web site is fast, use this handy guide: https://www.zachleat.com/web/lighthouse-deception/
web components are good
Having a sizeable following on social media hardens you—in the same way that any small measure of power might.
At our worst we think of this as a suit of armor, a sort of mental toughness.
At our best we mourn this as a loss of compassion, a subtraction of our humanity and connectedness.
soft skill issue
