A brief history of specifiers and protocols

132 · Tom MacWright · Dec. 8, 2025, 6:40 p.m.
Summary
This blog post explores the evolution of JavaScript module import protocols, focusing on the changes introduced by Node.js and Deno from 2021 to 2025. It discusses the `node:`, `npm:`, and `jsr:` protocols, their benefits and challenges, and highlights the ongoing complexities within the JavaScript ecosystem regarding module imports. Insights into the differences between Node.js and Deno's approaches to module handling are provided, emphasizing the tensions and competitive dynamics in the landscape of JavaScript development.