Ryan Dahl
👤 PersonAppearances Over Time
Podcast Appearances
Not that we were changing them very often, but... you know, having a branch that we backport security fixes to. So, yeah, this all kind of comes together. And, yeah, we want to let people know that, like, things are pretty different than, you know, the Deno one days where you can only import HEP specifiers, which, by the way, you can still do in Deno.
Not that we were changing them very often, but... you know, having a branch that we backport security fixes to. So, yeah, this all kind of comes together. And, yeah, we want to let people know that, like, things are pretty different than, you know, the Deno one days where you can only import HEP specifiers, which, by the way, you can still do in Deno.
But it's not necessarily the recommended path for distributing code. we recommend you publish to NPM, pull in packages there, or publish to JSR, which is the delightful alternative to that if you can't figure out how to compile your TypeScript to JavaScript and whether you should support ESM or CommonJS or some other thing.
But it's not necessarily the recommended path for distributing code. we recommend you publish to NPM, pull in packages there, or publish to JSR, which is the delightful alternative to that if you can't figure out how to compile your TypeScript to JavaScript and whether you should support ESM or CommonJS or some other thing.
And if you want to be supporting multiple runtimes, because JSR is not just for Node, it is for Deno, Node, bun, CloudFlare workers, et cetera, browsers.
And if you want to be supporting multiple runtimes, because JSR is not just for Node, it is for Deno, Node, bun, CloudFlare workers, et cetera, browsers.
Uh, I mean, we just pay for it right now that the Dino company it's designed to be simply hosted. Uh, it's, it's designed to be cost effective. It's designed to be very cashable and, and simple, you know, JSR is not, is not a commercial project. It is also MIT licensed. It, I have no intention of, of ever turning this into a business.
Uh, I mean, we just pay for it right now that the Dino company it's designed to be simply hosted. Uh, it's, it's designed to be cost effective. It's designed to be very cashable and, and simple, you know, JSR is not, is not a commercial project. It is also MIT licensed. It, I have no intention of, of ever turning this into a business.
We, you know, the Dino company is, is running this right now, but, um, I'm, I'm hoping to get this into a foundation and, uh, generally having this be a public service for JavaScript because NPM is just not evolving ever. It's just not changing post GitHub acquisition. And this is just really strange for the world's most popular programming language.
We, you know, the Dino company is, is running this right now, but, um, I'm, I'm hoping to get this into a foundation and, uh, generally having this be a public service for JavaScript because NPM is just not evolving ever. It's just not changing post GitHub acquisition. And this is just really strange for the world's most popular programming language.
Are we really just going to stand by and let this be a static future forever? How difficult is it to publish a JavaScript package these days? You have to have a lot of knowledge. That's in a language where things are just supposed to be trivially easy. If I want something that's really hard, let me go to the Rust ecosystem and at least I'll get a lot of speed out of it.
Are we really just going to stand by and let this be a static future forever? How difficult is it to publish a JavaScript package these days? You have to have a lot of knowledge. That's in a language where things are just supposed to be trivially easy. If I want something that's really hard, let me go to the Rust ecosystem and at least I'll get a lot of speed out of it.
JavaScript should be simple. This is a scripting language. It's for the children. It should just be super easy to do stuff. Because of this module, because of the CommonJS ESM,
JavaScript should be simple. This is a scripting language. It's for the children. It should just be super easy to do stuff. Because of this module, because of the CommonJS ESM,
situation, because NPM is not changing, because Node changes very, very slowly, and us old-timers in the JavaScript world maybe look past this because we're so familiar with all of the troubles that we don't even see them as troubles anymore. You realize that actually writing a library in TypeScript and figuring out how to post it to NPM in a way that...
situation, because NPM is not changing, because Node changes very, very slowly, and us old-timers in the JavaScript world maybe look past this because we're so familiar with all of the troubles that we don't even see them as troubles anymore. You realize that actually writing a library in TypeScript and figuring out how to post it to NPM in a way that...
Lots of people can consume it is not actually super trivial, like definitely does not tell you how to do that on the NPM website. And yeah, in JSR, this is super trivial. You just write your TypeScript, you post it directly, and suddenly you can use it in Node. You can use it anywhere. Like it is delightfully trivial.
Lots of people can consume it is not actually super trivial, like definitely does not tell you how to do that on the NPM website. And yeah, in JSR, this is super trivial. You just write your TypeScript, you post it directly, and suddenly you can use it in Node. You can use it anywhere. Like it is delightfully trivial.
So there are quite a few people posting them to both just because JSR is new and people are kind of uncertain about it. But I think that will dissipate with time. JSR actually has an NPM registry built into it. So npm.jsr.io is the NPM registry. And when you publish there, it builds an NPM package and speaks the NPM protocol.
So there are quite a few people posting them to both just because JSR is new and people are kind of uncertain about it. But I think that will dissipate with time. JSR actually has an NPM registry built into it. So npm.jsr.io is the NPM registry. And when you publish there, it builds an NPM package and speaks the NPM protocol.