David Sherret

@dsherret.dev

Software developer. Prev @deno.land. Working on ts-morph, dprint, and more (https://github.com/dsherret)

Released dprint 0.55—a pluggable and configurable code formatting platform that unifies all your formatters behind a single command. This substantial release lets you specify formatting plugins from npm.

A dprint.json configuration file with npm specifiers in the plugins array.

Reporting the same security issue to pnpm vs bun: pnpm acknowledged it quickly, shipped a fix, backported it, and published an advisory. bun never acknowledged, silently fixed this and another issue I reported, has not published advisories. One takes security more seriously.

Prompt response from pnpm. Fixed and published.No response on github from bun.No response from bun on email.

I've found maintaining GitHub Actions workflow files is much easier when it's generated from Typescript. The latest realization is that the output yaml file can act like a lockfile. So I maintain `actions/checkout@v6`, but the generated output gets locked to a hash.

Bild

Last Monday was my last day at Deno. It was a privilege to work with such talented colleagues. The standard library has been my passion for years. I've reviewed all PRs since 2023 and learned a lot from them. Proud to see it often mentioned as one of the best parts of Deno.

My last day at Deno was this week. I really enjoyed maintaining the language server and working with the CLI team, and I'm sure they will keep building great things. Looking for new work in the space of native-backed JS/TS tooling, or something new!

Yesterday was my last day at Deno. I'm sad to leave but I'm proud of everything the team and I were able to build. I'm glad I had the opportunity to work with some of the most talented people I've met. I wish them all the best! I'm actively looking for my next challenge, my DMs are open!

Today is my last day with the Deno team 🦕💖💔 I know they're gonna keep making awesome things. But now *I* need to make awesome things for someone else! If you're looking for a DevRel with a JS focus and extra sparkle, get in touch!

Yesterday was my last day at Deno. I'm going to transition from two days a week to full time on a business I cofounded in the auto glass industry. My plan is to increase my contributions to my personal open source projects and keep contributing features/fixes to Deno that I need or want.

Yesterday I updated my bio as I'm no longer with the #1 🦕-themed javascript company. I'm sad to go but excited to see what's next. I've spent the last few years designing exclusively in code, building agent skills, working on command-line tools, and crafting dev docs experiences. Hit me up.

Also merged a perf improvement to the sharp pkg's install script. Once released, it will make all pkg managers faster installing Next.js with lifecycle scripts when brew is installed (except Bun because it overrides the maintainer's decision and always skips the install script)

Deno@deno.land · 5mo ago

...and we've optimized postinstall scripts for npm packages to run in parallel for a 100% speed up. Also shipping in v2.7.6 next week. github.com/denoland/den...

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

JSR@jsr.io · 5mo ago

JSR now lets you diff the generated documentation between released versions of a package, making it easy and clear what has changed in a visual manner! Example: jsr.io/@david/gagen...

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.

Bild

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.

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.

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.

Bild

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.