PSA: If you want to use standard CSS Modules before they ships in Safari and Firefox, I built a Rollup plugin to support them:
www.npmjs.com/package/roll...
Converting CSS Modules to JS this way also support bundling before @sheet (which lets you put multiple stylsheets in one CSS file) lands.
Posts by Guy Bedford
We're hiring JavaScriptCore VM engineers in Cupertino, CA. Good opportunity to work on some truly foundational tech that underpins web performance in Apple products.
jobs.apple.com/en-us/detail...
Fascinating writeup by @hoodmane.bsky.social of Pyodide's WebAssembly JS promise integration, including a description and fix for the linear memory stack reentrancy problem.
blog.pyodide.org/posts/jspi-w...
JSPM 4.0: dependency management via import maps in browsers (benefits: reduced tooling and more)
@guybedford.com
jspm.org/jspm-4.0-rel...
#ECMAScript #JavaScript
Npm dependencies not being fully scoped is kind of an npm limitation I suppose? Import maps avoid this property.
First update on the open source I've been working on this past month:
ES Module Shims 2.5 - featuring hot reloading for native modules.
guybedford.com/hot-reloadin...
The simple approach came as a nice surprise to me too. Other coming modules features are likely a bit harder!
First update on the open source I've been working on this past month:
ES Module Shims 2.5 - featuring hot reloading for native modules.
guybedford.com/hot-reloadin...
Interesting experiment - Google’s experimenting with performance exceptions in the origin-segmented script cache, seemingly primarily for their own advertising, YouTube and Google Maps scripts.
bsky.app/profile/inte...
Excited to announce I'll be joining Cloudflare next month as a Systems Engineer on the Workers Runtime team, continuing to work on the platform-level intersection of JavaScript and WebAssembly.
And in the mean time, I will be taking a much needed break and dusting off some OSS work...
Stripped down packuments seem to be scaling surprisingly well even for these huge numbers of versions. Wonder when it breaks down though.
It blows my mind when JS packages publish for every commit and end up with thousands of versions on npm.
For example Primer React (www.npmjs.com/package/@pri...) publishes ~20 - 30 times a day via commit-based CI.
Good dev pattern, or misuse of npm?
Announcing ES Module Shims 2.0. The latest version of what started out as an import maps polyfill now supports production polyfilling of more than 8 existing and upcoming native browser modules features 🧵
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.
Lexing JavaScript / TypeScript is very much the definition of an interpreter. Unless you don’t want to use an interpreter language…
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.
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.
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...
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.
Announcing ES Module Shims 2.0. The latest version of what started out as an import maps polyfill now supports production polyfilling of more than 8 existing and upcoming native browser modules features 🧵