Ayc0's Avatar

Ayc0

@ayc0.github.io

Frontend engineer at @datadoghq: https://druids.datadoghq.com Personal website: https://ayc0.github.io/ I try to build good tools for #javascript and #reactjs πŸ˜…

74
Followers
183
Following
93
Posts
08.09.2023
Joined
Posts Following

Latest posts by Ayc0 @ayc0.github.io

Preview
Announcing TypeScript 6.0 RC - TypeScript Today we are excited to announce the Release Candidate (RC) of TypeScript 6.0! To get started using the RC, you can get it through npm with the following command: npm install -D typescript@rc TypeScri...

The Release Candidate for TypeScript 6.0 is now available!

Read up on what's coming up with 6.0 & 7.0, and try it out on your codebase today!

devblogs.microsoft.com/typescript/a...

06.03.2026 19:31 πŸ‘ 135 πŸ” 23 πŸ’¬ 2 πŸ“Œ 8
Preview
Release v2.0.0 Beta - The <Suspense> is Over Β· solidjs/solid I know you all probably weren't expecting this announcement next. But after reviewing the roadmap, we spent so long iterating in the Experimental phase, most of the goalposts within Alpha don't app...

The <Suspense> is over.

Solid 2.0 Beta is now released (next tag on npm). πŸŽ‰

github.com/solidjs/soli...

03.03.2026 23:49 πŸ‘ 152 πŸ” 34 πŸ’¬ 5 πŸ“Œ 4
Video thumbnail

Deno v2.7 is here!

πŸ•› Temporal API stabilized
πŸͺŸ Windows ARM native support
βš™οΈ npm overrides support
πŸ“¦ deno compile --self-extracting
🩹 Node compat fixes

...and more!

deno.com/blog/v2.7

25.02.2026 18:20 πŸ‘ 75 πŸ” 11 πŸ’¬ 2 πŸ“Œ 5
Preview
Oxfmt Beta A collection of high-performance JavaScript tools written in Rust

Announcing Oxfmt Beta

* 100% Prettier Compatibility
* Additional File Formats
* Tailwind CSS Integration
* Import Sorting
* package.json Sorting
* Embedded Language Formatting
* Node.js API
* `--migrate prettier`
* config overrides
* Full IDE support

oxc.rs/blog/2026-02...

24.02.2026 04:22 πŸ‘ 204 πŸ” 34 πŸ’¬ 4 πŸ“Œ 11
Video thumbnail

Element-Scoped View Transitions are gonna be **SO GOOD**

There’s still some details to settle, but the main thing is there: run VTs on a subtree of the DOM, allowing parallel VTs.

And with `view-transition-scope` you can limit the scope of `view-transition-name` values, allowing VTs to be nested.

18.02.2026 11:14 πŸ‘ 223 πŸ” 37 πŸ’¬ 5 πŸ“Œ 2
Preview
una.im | border-shape: the future of the non-rectangular web Learn about new geometry capabilities with this game-changing experimental CSS feature.

I've been experimenting with an upcoming CSS feature called border-shape lately.

It's really cool what you can do with it: lots of practical applications + it opens a lot of doors for non-rectangular UIs!

Try it in Canary w/experimental web platform features on, & read more:

una.im/border-shape

19.02.2026 22:06 πŸ‘ 122 πŸ” 33 πŸ’¬ 10 πŸ“Œ 5
Infographic showing Rolldown's entriesAware code splitting feature in 3 steps. Step 1 shows three entry points (Dashboard using chart.js, Admin using marked, Landing using gsap - all sharing es-toolkit). Step 2 shows the problem: without entriesAware, all entries load a single 305KB vendor.js containing all libraries. Step 3 shows the solution: with entriesAware enabled, chunks are split by usage - a shared 8KB chunk for es-toolkit plus entry-specific chunks (195KB for dashboard, 40KB for admin, 63KB for landing), reducing average page load to 107KB and eliminating unused library downloads. Code snippet shows the configuration: entriesAware: true and entriesAwareMergeThreshold: 20000.

Infographic showing Rolldown's entriesAware code splitting feature in 3 steps. Step 1 shows three entry points (Dashboard using chart.js, Admin using marked, Landing using gsap - all sharing es-toolkit). Step 2 shows the problem: without entriesAware, all entries load a single 305KB vendor.js containing all libraries. Step 3 shows the solution: with entriesAware enabled, chunks are split by usage - a shared 8KB chunk for es-toolkit plus entry-specific chunks (195KB for dashboard, 40KB for admin, 63KB for landing), reducing average page load to 107KB and eliminating unused library downloads. Code snippet shows the configuration: entriesAware: true and entriesAwareMergeThreshold: 20000.

Chunks are now entry-aware in Rolldown 1.0.0-rc.5 ⚑

What does that mean? When grouping chunks via `codeSplitting`, they can now be automatically split per entry point (usually per page), so users download less unused JavaScript.

Just set `entriesAware: true`.

19.02.2026 23:02 πŸ‘ 50 πŸ” 4 πŸ’¬ 3 πŸ“Œ 1
Preview
Something is Going on with Colorectal Cancer An interactive data journalism piece exploring the rise of young-onset colorectal cancer, with population simulations, risk factors, and prevention information.

Woah, @hankgreen.bsky.social just released an explorable explanation!

Great deep dive into what’s going on with young people and colorectal cancer.

www.hankgreen.com/crc

20.02.2026 02:18 πŸ‘ 60 πŸ” 12 πŸ’¬ 3 πŸ“Œ 0
Preview
build: enable Temporal by default by richardlau Β· Pull Request #61806 Β· nodejs/node Enabling Temporal support requires cargo and rustc, which are new build toolchain requirements. Add a --v8-disable-temporal-support option to configure.py to explicitly opt-out of Temporal support ...

It's nearly time for Node.js

github.com/nodejs/node/...

13.02.2026 20:22 πŸ‘ 64 πŸ” 7 πŸ’¬ 2 πŸ“Œ 1
Preview
Announcing TypeScript 6.0 Beta - TypeScript Today we are announcing the beta release of TypeScript 6.0! To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta TypeScript 6.0 is a uni...

TypeScript 6.0 beta is now published!

This release brings

- inference improvements for functions
- updates to package.json 'imports'
- the Temporal APIs
- alignments for the upcoming TypeScript 7.0
- & more!

Try it today!

devblogs.microsoft.com/typescript/a...

11.02.2026 19:46 πŸ‘ 149 πŸ” 36 πŸ’¬ 3 πŸ“Œ 5
Post image

Given anyone can post to any bsky registry, I've got a 1st pass at record attestation (e.g. proving who posted the record)

It's an _sig object which lives in the record: pdsls.dev/at://did:plc... - it re-uses the oauth JWKs

You extract the collection, sans $type + _sig, canonicalize and verify

07.02.2026 15:51 πŸ‘ 14 πŸ” 1 πŸ’¬ 4 πŸ“Œ 0
Preview
Add proposal-upsert methods to lib.esnext.collection by Renegade334 Β· Pull Request #62612 Β· microsoft/TypeScript proposal-upsert is now stage 3, shipped in Safari 18.4, shipping in Firefox 144, and staging in Chromium.

TypeScript excitement πŸ˜‰

Congrats to Renegade334 on landing support for @tc39.es "Upsert" in upstream TypeScript. Heading for TS 6.0 Beta next week πŸŽ‰

let map = new Map();
map.getOrInsert(key, defaultVal);

It sets a default value on a map key with no overwriting.

github.com/microsoft/Ty...

07.02.2026 01:41 πŸ‘ 12 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Add types for `RegExp.escape` by lionel-rowe Β· Pull Request #62138 Β· microsoft/TypeScript Closes #61321 Towards #61735

TypeScript excitement πŸ˜‰

Congrats to Lionel-Rowe on landing support for RegExp.escape in upstream TypeScript πŸŽ‰

Heading for TS 6.0 Beta next week πŸ‘

github.com/microsoft/Ty...

07.02.2026 02:02 πŸ‘ 20 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
Add lib.esnext.temporal by Renegade334 Β· Pull Request #62628 Β· microsoft/TypeScript Closes #60164. No custom calendar support, as per the latest spec changes. There are lots of places in the spec where property bags have &quot;at least one of&quot; constraints (eg. either month or...

TypeScript excitement πŸ˜‰

Congrats to Renegade334 on landing type declarations for @tc39.es Temporal - the new JS Date-Time API - in upstream TypeScript πŸŽ‰

Heading for TS 6.0 Beta next week πŸ‘

Temporal is available in Firefox & Chrome today.

github.com/microsoft/Ty...

07.02.2026 01:30 πŸ‘ 41 πŸ” 11 πŸ’¬ 1 πŸ“Œ 3
Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

From Chrome 145 (on general release next week!), DevTools we will start to show so called "soft" navigations and "Soft LCP" in the Performance Panel traces.

These are for SPAs which don't do a full page load, but instead "fake it" by updating the current page and pushing a new history entry.

1/5 🧡

04.02.2026 09:40 πŸ‘ 46 πŸ” 12 πŸ’¬ 2 πŸ“Œ 2
Video thumbnail

This border-radius transition 🀌🏽
Believe it or not, it's just CSS.

03.02.2026 06:25 πŸ‘ 219 πŸ” 18 πŸ’¬ 9 πŸ“Œ 3
Implementing the Temporal proposal in JavaScriptCore Implementing the Temporal proposal for date and time handling in JavaScript in JavaScriptCore, the JavaScript engine in WebKit

Wrote a blog post about the work I've been doing at @igalia.com to implement the Temporal proposal in JavaScriptCore:

blogs.igalia.com/compilers/20...

02.02.2026 20:53 πŸ‘ 37 πŸ” 11 πŸ’¬ 0 πŸ“Œ 1

TypeScript excitement πŸ˜‰

Congrats to @jakebailey.dev on updating upstream tsc to default to an unpinned *latest* yearly edition of ES20xx. Heading for TS 6.0 πŸŽ‰

This mean less transpilation of new JS features & more use of native language features provided by JS engines πŸ‘

github.com/microsoft/Ty...

31.01.2026 10:37 πŸ‘ 82 πŸ” 12 πŸ’¬ 2 πŸ“Œ 2
Preview
RFC: `useIsolation` by Ayc0 Β· Pull Request #257 Β· reactjs/rfcs This RFC related to: useIsolation in isolation-hook and a new pattern to pass hooks to another(hook or hook creator)Β #168, useContextSelector in RFC: Context selectorsΒ #119. This is about perform...

Even with the @react.dev 's new compiler, not every team can use it. And as @notyoojun.bsky.social is pointing out in github.com/reactjs/rfcs..., it could be nice to allow teams more granular controls on how elements (re)-renders

31.01.2026 08:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ai is kinda giving web3 vibes these days

30.01.2026 09:08 πŸ‘ 16 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0
The Polypane elements panel showing a 'debug' tab with multiple CSS properties and contexts. There is a bright pink arrow overlaid pointing to the 'stacking context parent', showing a DOM element.

The Polypane elements panel showing a 'debug' tab with multiple CSS properties and contexts. There is a bright pink arrow overlaid pointing to the 'stacking context parent', showing a DOM element.

Did you know we wrote a deep dive on offset parents and stacking context? Two essential concepts when it comes to positioning in all three dimensions.

They're hard to debug, but not with Polypane! Contexts are just listed in our elements panel, easy peasy.

Read here: polypane.app/blog/offset-...

29.01.2026 08:29 πŸ‘ 10 πŸ” 3 πŸ’¬ 0 πŸ“Œ 1

🀬😭
Cyclistes, ne restez jamais Γ  droite d'un camion mΓͺme si le feu est rouge et sans M12: GRILLEZ LE PUTAIN DE FEU ROUGE, IL EN VA DE VOTRE SECURITE!

Quand les pouvoirs publics vont-ils enfin faire autre chose que pondre une loi demandant à mettre des autocollants sur un camion!? 😑

27.01.2026 12:17 πŸ‘ 35 πŸ” 8 πŸ’¬ 2 πŸ“Œ 0
Post image

βš›οΈ React Server Components in Rspack πŸ‘€

Rspack 2.0 alpha.1 now has built-in support

github.com/web-infra-de...

27.01.2026 10:42 πŸ‘ 11 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1
Post image

πŸ‘€ Nice React types narrowing improvements for form events coming

Scheduled for React 19 (or React 20 if too disruptive)

github.com/DefinitelyTy...

27.01.2026 12:40 πŸ‘ 25 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Secretary Noem has forfeited her right to lead. I’m calling on her to resign.

Gregory Bovino must also be fired.

No one, not an ICE agent, not a federal officer, not a president, is above the law.

25.01.2026 19:04 πŸ‘ 16600 πŸ” 3956 πŸ’¬ 475 πŸ“Œ 273

Encore un manifestant tuΓ©. Vu que visiblement je ne peux avoir de rΓ©pis, il faut qu'on en parle. Et de deux ou trois autres trucs. Thread nocturne bordel de merde

25.01.2026 00:33 πŸ‘ 337 πŸ” 252 πŸ’¬ 5 πŸ“Œ 40
Preview
feat: V8 14.5 by littledivy Β· Pull Request #31873 Β· denoland/deno Bump v8 to 145.0.0 (14.5) Bump deno_ast to 0.52.0: swc_common depends on serde::__private which is not available post 1.0.220

Soon in Deno: with the release of V8 14.5 the Temporal API will be unflagged and ready for general use.

github.com/denoland/den...

22.01.2026 10:36 πŸ‘ 53 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Post image

Rolldown 1.0 RC is here πŸŽ‰

πŸ”’ Stable API: No breaking changes planned before 1.0
⚑ 10-30x faster than Rollup while staying compatible
🧩 Multiple chunking algorithm improvements
πŸ“¦ 3,400+ commits since beta: 749 features, 682 fixes, 109 perf optimizations

22.01.2026 14:28 πŸ‘ 209 πŸ” 40 πŸ’¬ 4 πŸ“Œ 5
Video thumbnail

Did anyone say Retargetable View Transitions (aka Interruptible View Transitions)?

I think I’ve got it working (by throwing some extra JavaScript at it) …

21.01.2026 21:25 πŸ‘ 117 πŸ” 9 πŸ’¬ 3 πŸ“Œ 3
let fs;
try {
  fs = import.sync('node:fs');
} catch {}

if (fs) {
  // Use node:fs, only if it is available
}

let fs; try { fs = import.sync('node:fs'); } catch {} if (fs) { // Use node:fs, only if it is available }

ECMAScript excitement πŸ˜‰

Congrats to @guybedford.com on advancing Import Sync to Stage 2 at @tc39.es today πŸŽ‰

const mod = import.sync(<specifier>);

Like Node's require(<specifier>), it synchronously loads a module. It throws if sync loading is not possible.

github.com/guybedford/p...

20.01.2026 19:35 πŸ‘ 44 πŸ” 5 πŸ’¬ 0 πŸ“Œ 2