Ashley Claymore's Avatar

Ashley Claymore

@ashley-c.bsky.social

JavaScript Infrastructure & Tooling at Bloomberg. TC39 Delegate. London.

730 Followers  |  264 Following  |  565 Posts  |  Joined: 31.10.2023
Posts Following

Posts by Ashley Claymore (@ashley-c.bsky.social)

I don't think there is a mapping page. Under the hood it uses amaro, which is a wrapper around swc.
So to know if certain syntax is supported you'll need to work backwards from when it was added to swc.

01.03.2026 22:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Yeah import extensions are the main complexity there. As still nice to be able to run the `.ts` directly during `--test`.

01.03.2026 18:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Modules: node:module API | Node.js v25.7.0 Documentation

As long as you're using the right versions of Node.js yeah! It follows the same approach as ts-blank-space, replacing type annotations with whitespace.

nodejs.org/api/module.h...

01.03.2026 17:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A `package.json` with zero dependencies and the following build script:

node -p "require('node:module').stripTypeScriptTypes(''+fs.readFileSync(0))"<index.ts>index.js

A `package.json` with zero dependencies and the following build script: node -p "require('node:module').stripTypeScriptTypes(''+fs.readFileSync(0))"<index.ts>index.js

If anyone needs a silly, not portable, zero dependency, one liner TypeScript build script that can only handle a single file. Look no further!

01.03.2026 16:00 โ€” ๐Ÿ‘ 14    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

The other day I had an AI saying that there was no such thing as Date.prototype.toTemporalInstant.

Even after I gave it the link to the mdn page it was still very suspicious and didnt give me a "you're absolutely right"

01.03.2026 12:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Preview
Add abortSignal.addAbortCallback by jakearchibald ยท Pull Request #1425 ยท whatwg/dom This PR is a discussion starter. The goals: Make progress on allowing TC39 able to adopt/use AbortController and AbortSignal without requiring Event and EventTarget. Provide a system where abort &...

github.com/whatwg/dom/p...

01.03.2026 10:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Add Explicit Resource Management update to agenda by rbuckton ยท Pull Request #2048 ยท tc39/agendas

'using` isn't stage 4 yet.
If it gets conditional advancement at the plenary in 1 weeks time then it might make it in before ES2026 ๐Ÿคž๐Ÿป
github.com/tc39/agendas...

01.03.2026 10:41 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I don't immediately hate that code either.
I would love to start seeing more code unattach their abort handler when they complete - it's way too uncommon today.

28.02.2026 09:45 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Slide 9 isn't using 'using` on the DisposableStack btw

28.02.2026 07:21 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
MockMethod memory leak ยท Issue #41 ยท 43081j/hanbi Each call to mockMethod creates a long lived restore function that leaks if never used. I'm wondering: might be worth documenting the risk of not calling `restore' after tests mockMethod could eith...

or maybe easier to discuss on gh
github.com/43081j/hanbi...

26.02.2026 01:33 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Looks like creating method stubs is a leak until restore is called.
Maybe worth calling out in the README @43081j.com?

26.02.2026 01:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

"See this stash, don't try this again - you will lose marks"

24.02.2026 08:41 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Is this the one you're implementing in prolog?

19.02.2026 16:42 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Mutable Signals - Reactivity's Missing Link YouTube video by Ryan Carniato

Hey! I've got this stream queued up to watch next. Looks like it covers stores, nested getters, and diffing.

www.youtube.com/live/jfZdl3Q...

19.02.2026 07:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thanks for the extra info Jovi!

19.02.2026 07:34 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I was reading the signals docs and was a little confused by preactjs.com/guide/v10/si...
The example shows passing in global signal, but looking at the implementation it looks like that would return Signal<Signal>.
I'm wondering if I'm missing something or if the docs are not the best example

18.02.2026 21:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thanks Ryan! Much appreciated. I'll have a dig back though the old streams around that time.

18.02.2026 21:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@ryansolid.bsky.social was there a stream where you covered the solid 2.0 createStore ideas?
You talked about it briefly in the more recent stream and it sounded very interesting - only diffing store changes when there is a known listener (I think thats what I heard).
Thanks!

18.02.2026 18:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

In terms of potential 2.0 'breaking changes' - it looks like there is a strong chance that `setSignal(newValue)` and then immediately reading the signal will now see the old value.

Though I'm not sure how much code is relying on the current semantics. I can't think of a case off the top of my head.

13.02.2026 19:35 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Loving the streams btw! Being able to switch a memo to be async and it can still render without more changes is super impressive.

13.02.2026 19:35 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

arr["-0"]; // oh no!

13.02.2026 19:16 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thanks for looking further into it. I'll have another play to see how I get on ๐Ÿ˜ƒ

12.02.2026 17:54 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Nice! Will make it even easier to compare 6.0 and 7.0

11.02.2026 21:21 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Let's resolve modules once and for all

11.02.2026 21:19 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Feels a shame to need to make the resource a public field.
I think I'd prefer to explicitly register it locally:

```
# privateField = this.#stack.use(new Resource());
```

Admittedly more verbose.

11.02.2026 02:42 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Pastebin? ๐Ÿ™ƒ

10.02.2026 17:53 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

bsky.app/profile/ashl...

09.02.2026 22:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I don't think this works in practice. If the components are rendered in a list the indexes that form the keys will go out of sync over time.

09.02.2026 22:23 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 2

Compared to react where the data is "plain immutable objects", when the data changes the whole object changes.
Downside: "Key" is needed to track the underlying "identity" of the data.
Upside: slightly easier to inspect the data when doing debugging/console.log.

09.02.2026 20:37 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

'.map' wouldn't work. Solid tracks the references. The expectation is that the objects in the array don't change. If it's a list of Todos then each item is consistently represented by the same object that has inner signals that represents the changes to the item.

09.02.2026 20:37 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0