Guy Bedford
guybedford.com
Guy Bedford
@guybedford.com
Rabbit hole explorer. Working on JS & WebAssembly at Cloudflare. TC39. Creator https://jspm.org.
Npm dependencies not being fully scoped is kind of an npm limitation I suppose? Import maps avoid this property.
May 15, 2025 at 4:31 PM
The simple approach came as a nice surprise to me too. Other coming modules features are likely a bit harder!
May 12, 2025 at 10:18 PM
Stripped down packuments seem to be scaling surprisingly well even for these huge numbers of versions. Wonder when it breaks down though.
February 10, 2025 at 1:09 AM
Yes, it’s one exception for convenience here given we don’t have a well defined mime type for typescript. In a true type stripping future there maybe wouldn’t ever be one as well.
January 27, 2025 at 6:05 PM
Lexing JavaScript / TypeScript is very much the definition of an interpreter. Unless you don’t want to use an interpreter language…
January 27, 2025 at 4:39 PM
Since JS modules require application/javascript, we default to processing application/typescript and any .ts or .mts files not served with an otherwise valid JS Mime.
January 27, 2025 at 4:37 PM
Exactly, and only when Typescript is first encountered. Didn’t do any comparisons yet, that would be a good idea to try other libraries like this one.
January 27, 2025 at 4:35 PM
See the announcement post for an example of running a TypeScript Vue app with #nobuild.

Other recent features including Wasm modules with source phase imports and multiple import maps are also explained in more detail.

guybedford.com/es-module-sh...
Announcing ES Module Shims 2.0
ES Module Shims 2.0 release post, featuring TypeScript type stripping, Wasm modules, source phase imports and multiple import maps support.
guybedford.com
January 27, 2025 at 8:03 AM
A major new feature of this release is a development convenience - TypeScript type stripping support per the proposed type stripping proposal, fully supporting in-browser transpilation of TypeScript.
January 27, 2025 at 8:03 AM