A brief history of specifiers and protocols

· 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.
AUTHOR
Sponsored
Zulip logo Zulip
Organized team chat for people who take work seriously. Topic-based threading keeps conversations focused.
Try Zulip
Become a sponsor →