// the find
denoland/deno
A modern runtime for JavaScript and TypeScript.
Deno is a JavaScript/TypeScript/WebAssembly runtime built on V8 and Tokio, positioned as a successor to Node.js from the same original creator. It ships TypeScript support, a built-in formatter, linter, test runner, and bundler without any npm install dance. Target audience is developers who want a batteries-included JS runtime with sane security defaults.
Permission model is the right default — network, file, and env access are opt-in flags rather than opt-out, which catches accidental data exfiltration in scripts. Native TypeScript execution without a build step is genuinely useful for tooling and scripts. The built-in toolchain (fmt, lint, test, bench, doc) eliminates the usual 15-package bootstrap that Node projects carry. JSR integration as a first-class package registry sidesteps npm's long-tail of abandoned packages by enforcing TypeScript-first publishing.
Node.js compatibility mode (`--unstable-node`) is still a crutch — if you're reaching for it, you haven't actually escaped the Node ecosystem, you've just added a compatibility shim on top. The permission flag UX gets unwieldy in practice: production scripts end up with `--allow-net --allow-read --allow-env --allow-write` chains that nobody audits. JSR package selection is thin compared to npm; anything not in the top 5% of npm downloads will send you back to npm anyway. Build times from source are Rust-slow — contributing to the runtime itself has a steep iteration cost that Node's C++ core doesn't have.