I've wanted this for so long - and @kettmeir.dev has finally implemented it!
View changes in the public API of packages between versions:
- what methods were added, changed (type signature), or removed
In the future we could even indicate if you are about to publish a breaking change
27.02.2026 16:30 β
π 23
π 2
π¬ 0
π 0
Oxc Plugin
Documentation on the Oxc code formatting plugin for dprint.
dprint init
dprint config add oxc
dprint config add biome
...along with various other formatters.
25.02.2026 22:26 β
π 2
π 0
π¬ 0
π 0
dprint's incremental formatter is incredibly fast and happens without needing an opt-in.
You can use both oxc and biome via dprint for faster performance.
25.02.2026 22:25 β
π 5
π 0
π¬ 1
π 0
The 2/0 is a little strange, but overall it's better.
13.02.2026 23:28 β
π 1
π 0
π¬ 0
π 0
It's good npmx.dev shows git and https dependencies. I still think it's crazy npmjs.org doesn't.
13.02.2026 17:38 β
π 26
π 1
π¬ 1
π 0
I didn't want a terminal based solution, so I vibe coded a desktop app to give the status of all my AI sessions regardless of where they're running and I can click to quickly jump to them.
12.02.2026 00:39 β
π 4
π 0
π¬ 0
π 0
Great to hear! It will be better for the ecosystem in the long term.
05.02.2026 16:59 β
π 0
π 0
π¬ 1
π 0
Additionally, pnpm 11 will block dependencies from exotic sources (like Git) in subdependencies.
05.02.2026 13:40 β
π 20
π 3
π¬ 2
π 0
Re config: I'm not sure what it should look like since there's so many variations on what a git dep could be. I'm thinking opt-in for all git deps or opt-in for a specific url git dep because there's so many variations on what the url could be I think.
04.02.2026 19:27 β
π 0
π 0
π¬ 1
π 0
It would also be hard for security tools to scan because the git/https deps can change.
04.02.2026 19:27 β
π 1
π 0
π¬ 1
π 0
Tools making this harder will also encourage npm packages to keep their dependencies on npm because it will cause friction for their users.
04.02.2026 16:50 β
π 2
π 0
π¬ 1
π 0
It's good there's the option, but most people won't and don't do this.
In my opinion, it's something that should be opt-in instead of opt-out in all the tools. For example, you can be hit by this while working on a project that doesn't have linting and you update a dependency.
04.02.2026 16:50 β
π 4
π 0
π¬ 2
π 0
Several popular npm packages transitively have this problem, including a recent popular one. It's only a matter of time before someone takes advantage of this.
04.02.2026 16:17 β
π 2
π 0
π¬ 1
π 0
Both of these are also possible using https dependencies in an npm package. Worst part is in some cases the package wouldn't easily be able to be taken down.
npm, pnpm, and bun all happily install this kind of stuffβ`deno install` errors.
04.02.2026 16:17 β
π 4
π 0
π¬ 1
π 0
How to recreate leftpad:
1. Publish an npm package with a git dependency.
2. Get usage and wait many months.
3. Delete the repo.
04.02.2026 16:17 β
π 1
π 0
π¬ 1
π 0
How to bypass minimum dependency/release age:
1. Publish an npm package with an unpinned git dependency.
2. Get usage and wait many months.
3. Push a malicious commit to the git dependency's repo.
04.02.2026 16:17 β
π 9
π 1
π¬ 1
π 0
The deno and dprint vscode extensions now prompt when a custom executable path is set in the workspace configuration.
I believe this should help reduce the chance of malicious config launching an executable in a trusted workspace.
22.01.2026 20:03 β
π 4
π 0
π¬ 0
π 0
We have a custom test runner in Rust and I added a JSON reporter github.com/denoland/den... for the CI that creates some artifacts on each CI job github.com/denoland/den... (scroll down to artifacts) then those get consumed by the website here github.com/denoland/den...
22.01.2026 14:57 β
π 0
π 0
π¬ 0
π 0
Vibe coded a website to give a summary of our frequently failing and flaky tests on the CI.
21.01.2026 21:47 β
π 9
π 0
π¬ 1
π 0
This was a highly requested feature that I put off implementing because I wasn't sure about the design (the dprint CLI has no idea how to format code, it relies on the plugins for that). I waited a few years and nowadays it seemed pretty straightforward how it should work.
05.01.2026 19:44 β
π 0
π 0
π¬ 0
π 0
In the Deno repo, we have a custom Rust test runner for our tests in order to support file/directory-based tests and improve stability on the CI. I just refactored the code to have a pty reporter that surfaces some useful information. It seems better than having failures whizz by.
17.12.2025 02:40 β
π 13
π 0
π¬ 1
π 0
Benchmark 1: dprint fmt --incremental=false (branch = main)
Time (mean Β± Ο): 42.703 s Β± 0.412 s [User: 0.733 s, System: 0.569 s]
Range (min β¦ max): 41.742 s β¦ 43.399 s 10 runs
Benchmark 2: dprint fmt --incremental=false (branch = jabaile/gofumpt-plugin)
Time (mean Β± Ο): 633.1 ms Β± 14.8 ms [User: 4887.2 ms, System: 1083.9 ms]
Range (min β¦ max): 617.3 ms β¦ 663.2 ms 10 runs
Summary
dprint fmt --incremental=false (branch = jabaile/gofumpt-plugin) ran
67.45 Β± 1.70 times faster than dprint fmt --incremental=false (branch = main)
Did something fun; used @tinygo.org to shove @mvdan.cc's wonderful gofumpt into @dsherret.bsky.social's amazing dprint formatter via a Wasm plugin.
We previously used an "exec" plugin to do this with go tool, but it was slow to run, and worse in parallel (and... Windows π).
Now it's fast!
13.12.2025 07:06 β
π 38
π 3
π¬ 3
π 0
Previously, we injected a specific `@types/node` package from the npm registry when we detected the use of a Node built-in module, but that didn't work when code only used Node globals like `process` and `module`. It also required an explicit caching/install step in many cases.
05.12.2025 00:40 β
π 0
π 0
π¬ 0
π 0
These built-in Node type declarations are used by default when Deno doesn't detect a `@types/node` npm package during type checking.
05.12.2025 00:40 β
π 1
π 0
π¬ 1
π 0
Using the `module` global in a cts file with type completions.
The next Deno release will include Node type declarations out of the box.
05.12.2025 00:40 β
π 14
π 1
π¬ 1
π 0
YouTube video by EuroRust
From Any to This - Leo Kettmeir | EuroRust 2025
In his talk at #EuroRust25, @kettmeir.dev shared how the @deno.land project improved error handling by migrating from the anyhow crate to using thiserror and concrete error types β watch it on YouTube now! π¦
π youtu.be/f6eofqicw_s
#RustLang #RustConference #EuroRust
06.11.2025 11:23 β
π 7
π 2
π¬ 0
π 0
Thanks! Just a fetch then find and replace. Itβs pretty hacked together π
23.10.2025 02:43 β
π 2
π 0
π¬ 0
π 0