The latter. For example, the concept here seems like it ought to work with the Playwright test runner for Node.js (and then you'd have compatibility with the Playwright ecosystem).
OK. Yeah so I made the decision early to go one level below Playwright and target CDP directly, because I believe I need the tight connection with Chrome/Chromium to make it as fast as possible. Also I really value the distribution aspects of writing this in Rust and compiling to a single executable with everything in it.
Yes, the technical problem is fundamental. But if Deno managed to be a truly great runtime that solved a lot of people’s gripes with Node and made ES modules etc the price of admission for using it there would have been momentum to create a new module ecosystem.
But once you add that NPM compatibility layer the incentives shift, it just isn’t worth anyone’s while to create new, modern modules when the old ones work well enough.
It all feels similar to the Python 2 vs 3 dilemma. They went the other way and hey, it was a years long quagmire. But the ecosystem came out of it in a much better place in the end.
It wasn't worth recreating packages everytime you needed something that Deno had. If you ended up needing something and there was already something on npm for it, it was easier to just switch back to using node than to adapt/maintain a fork or alternative to an npm package. I think the lack of npm compatibility earlier on led to a lot of churn. Deno would probably be dead if they never improved the npm compatibility, especially considering the rise of bun promising performance improvements like Deno, but with better node compatibility at the time.
If you're talking about editions, this isn't how they work at all; every edition continues to be supported forever. (The part about automated migration tooling is true, and nice.)
There've been a few cases where code was unsound and should never have compiled, but did due to compiler bugs, and then they fixed the bugs and the code stopped compiling. These were handled through deprecation warnings with timelines at least several months long (Rust releases a new version every six weeks), but usually didn't have automated migration tooling, and didn't fracture the language mostly because they were rare edge cases that most programmers didn't encounter.
Editions are still allowed to remove old syntax or even remove APIs - they only can’t break ABIs. So the code is still there once removed from an edition in previous editions, but such symbols don’t even get linked if they’re unused supporting progressive removal. And similarly, I could see editions getting completely removed in the future at some point. Eg rather than indefinitely maintaining editions, in 20 years have a checkpoint version of a compiler that supports the previous 20 years of editions and going forward editions older than 10 aren’t in the build (for example, assuming a meaningful maintenance burden, which is hard to predict when that happens and what a specific policy looks like).
Have not yet. There’s nothing stopping them though and from talking with the std folks it seems like they will likely at some point experiment crossing that bridge.
What's not supported is the current draft proposal for standardized ECMAScript decorators; if you uncheck experimentalDecorators, the decorator syntax is simply passed through as-is, even when lowering to ES2015.
Awesome. Standard decorators support is not a dealbreaker for me, but enums and other types of non-erasable syntax would be.
Do you know what the status is on using Rolldown as a crate for rust usage? At the moment most rust projects use SWC but afaik its bundler is depreciated. I usually just call into Deno for builds but would be nice to have it all purely in Rust.
At least you think that this is satire, until the author receives a DMCA from one of the big corps saying that he leaked the transcript of their last meeting
I don't know - if you upload a package.json with any dependencies that map to real npmjs.com packages, it does lead you to a Stripe payment page which appears to be real... and it appears you'd be sending real money.
W.r.t. intent, yes. But w.r.t. content, we are long past a situation where it is unrealistic enough to function as satire.
While such tactics would render certain OSS software licenses absurd, the tactic itself, as a means to get around them, is entirely sound. It just reveals the flawed presupposition of such licenses. And I'm not sure there is really any way to patch them up now.
It would also entirely obviate the need for those very same OSS licenses, if LLMs can simply do a clean-room reimplementation of any copywritten software whatsoever.
It's not irrelevant, because if SPEC 0 says that a particular Python version is no longer supported, then libraries that follow it won't avoid language or standard library features that that version doesn't have. And then those libraries won't work in the corresponding PyPy version. If there isn't a newer PyPy version to upgrade to, then they won't work in PyPy at all.
reply