Sign in

Doug Parker

@develwithoutacause.dwac.dev
987 followers 145 following 997 posts

Overly opinionated software developer on the Angular team at Google. Web development is hard, so I build tooling that makes it easier. Blog: dwac.dev Mastodon: techhub.social/@develwithoutacause GitHub: github.com/dgp1130

PostsRepliesMedia
Doug Parker @develwithoutacause.dwac.dev · 29/09/2026
``` $ git config user.email --global # No output... ``` 🤨 ``` $ git config --global user.email dgp1130@users.noreply.github.com ``` Ok, that's what I expected. So does that mean... ``` $ git config user.email --global ``` Yep, that's exactly why I wanted from my first command.
010
Reposted by Doug Parker
Angular @angular.dev · 28/09/2026
We’re rewriting the Angular compiler in Rust (partially)! Meet ngp (Angular Preprocessor): a hybrid compiler decoupling our transforms from TypeScript using Oxc, readying Angular for TypeScript 7 & native tooling. Read the deep dive: medium.com/@angularteam... 🛠️
medium.com
An update on Angular's TypeScript 7-powered Compiler
Alex Rickabaugh & Mark Techson
12811
Reposted by Doug Parker
VoidZero @voidzero.dev · 28/09/2026
Vite+ 1.0 is here 🚀 A single `vp` CLI for managing your Node.js runtime, package manager, and frontend toolchain. Built on top of Vite, Vitest, Rolldown, Oxc, and tsdown. All with a single config. Free and open source under the MIT license. Start with `vp create` or migrate with `vp migrate`.
voidzero.dev
Announcing Vite+ 1.0
Vite+ 1.0 is here. One CLI manages your runtime, package manager, and frontend toolchain.
213532
Reposted by Doug Parker
James @43081j.com · 24/09/2026
Today we're launching ai-policy.dev! A collaboration of me, @danielroe.dev and @matteogabriele.npmx.social - this provides a few human curated AI contribution policies you can choose from. Our hope is that this will help you better define your stance and what kind of contributions you accept 🙏
ai-policy.dev
AI Contribution Policies
Ready-to-use AI contribution policies for open source projects.
1313540
Doug Parker @develwithoutacause.dwac.dev · 24/09/2026
Credit where it's due, Alan followed up with a bug and pnpm fixed it basically immediately. 😯 github.com/pnpm/pnpm/is...
github.com
[v12] Updating dependency from prerelease (e.g. `X.Y.Z-rc.0`) to stable (`X.Y.Z`) retains `X.Y.Z-rc.0` in lockfile, causing `pnpm install --frozen-lockfile` to fail · Issue #15528 · pnpm/pnpm
Verify latest release I verified that the issue exists in the latest pnpm release pnpm version 12.6.0 (regression from 11.27.1; also reproduces in 12.4.2) Which area(s) of pnpm are affected? (leave...
010
Reposted by Doug Parker
Angular @angular.dev · 23/09/2026
Angular v2.0 dropped on Sept 15, 2016 - marking 10 years of modern Angular last week 🥳✨ A decade of shared growth, transformative updates, and millions of apps shipped worldwide. Which version was your very first ng new? Drop it below 👇
7228
Doug Parker @develwithoutacause.dwac.dev · 23/09/2026
#TIL `pnpm install --fix-lockfile`, which was apparently the solution I needed. And really begs the question of "What does `pnpm install` do the lockfile if not fix it? Is it `--break-lockfile` by default?"
260
Doug Parker @develwithoutacause.dwac.dev · 23/09/2026
``` $ pnpm install # Success! $ pnpm install --frozen-lockfile Scope: all 15 workspace projects Error: ERR_PNPM_OUTDATED_LOCKFILE ``` 🤨
140
Reposted by Doug Parker
danielroe @danielroe.dev · 22/09/2026
you can read what I've written about why this is EXACTLY my role in leading nuxt > I would be remiss not to speak about values. > Values shape the direction of projects and people [and] the culture of open source communities […] both in where we end up + what the journey there is like.
roe.dev
Diversity, equity and inclusion
I'm in favour of diversity, equity and inclusion in open source communities, and here's why I think it matters.
3506
Reposted by Doug Parker
Ryan Carniato @ryansolid.bsky.social · 22/09/2026
I've finally been able to put all frontend solutions on the same grid by recognizing them as a product of 2 axes and 3 core responsibilities. HTMX, LiveView, RSCs, islands, SPAs, Sync Engines... None express what another can't. They differ in efficiency and ergonomics. 👇
6396
Reposted by Doug Parker
danielroe @danielroe.dev · 22/09/2026
I'm really delighted to announce that 🎂 `unifont` has turned 1.0 … and it finally has a home! ✨
unifont.dev
Every font CDN, one lookup · unifont
unifont reads font metadata from Google Fonts, Bunny, Fontshare, Fontsource and npm through one API. Look up a family, see what it really offers, and copy the CSS.
413418
Doug Parker @develwithoutacause.dwac.dev · 21/09/2026
Also, could you simplify the "don't publish the source directory" problem by just putting `private: true` in source code and then having your build script remove it along with the `.dist/` paths? Just a thought.
000
Doug Parker @develwithoutacause.dwac.dev · 21/09/2026
I haven't looked much into the CDN use case, but couldn't it handle the `package.json#exports` stuff and avoid leaking source file paths? Does anyone do that?
100
Reposted by Doug Parker
Bramus @bram.us · 20/09/2026
New on the blog: Ship cleaner packages (without the `./dist` or `./src` folder) by publishing a subfolder to NPM → brm.us/npm-publish-...
brm.us
Ship cleaner packages (without the ./dist or ./src folder) by publishing a subfolder to NPM
One detail that has always bugged me about publishing a package to NPM is how build output paths like dist/ can leak into the public API.Turns out, npm publish can do it, but to make it work seamlessl...
5453
Doug Parker @develwithoutacause.dwac.dev · 21/09/2026
I have bought from them in the past, so it's possible they already had my email plus a cookie associating my browser with it. But nothing on the page shows that I'm logged in, it even asks for an email to sign up for their newsletter. Definitely fails the creepiness test.
000
Doug Parker @develwithoutacause.dwac.dev · 21/09/2026
Just scanned a QR code in a store, did *not* log in or provide any personal information, and then a few minutes later received a discount offer (from a third party!) in my email. I'm struggling to figure out how they knew my email...
100
Reposted by Doug Parker
IntentToShip @intenttoship.dev · 21/09/2026
Blink: Intent to Ship: Web Install API
groups.google.com
Blink: Intent to Ship: Web Install API
Blink: Intent to Ship: Web Install API
073
Reposted by Doug Parker
danielroe @danielroe.dev · 19/09/2026
don't be nice.
roe.dev
Don't be nice
Sometimes, it's more important to be good than it is to be nice.
41734246
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
This minor thought experiment has quickly turned into a new library, custom testing harness, and a blog post. Please send help...
031
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
That said, I'm pretty sure there is a hazard that `.size()`, `.keys()`, and `.values()` can lead to observably inconsistent results depending on non-deterministic GC timing, so I still suspect hiding the `WeakRef` usage is a bad API design, as much as I wish it could work.
000
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
@justinfagnani.com, actually I think those two examples are fine? `WeakRef` can't target `undefined` or `false`, so there's no way `.deref()` can evaluate to falsey expressions.
100
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
Maybe I should publish my own version.
100
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
Yeah, in my head I was debating whether or not to collapse a `WeakRef` pointing to a GC'd value as `undefined`, but I suspect that would just cause more problems. My immediate thought was that `.keys()` and `.values()` should return the same count, and if you ignore GC'd refs, that breaks.
210
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
github.com/jhunterkohle... seems more or less what I'm envisioning, but the requirement for `.clean()` seems weird. I suspect a `FinalizationRegistry` should solve that automatically.
github.com
GitHub - jhunterkohler/weak-value-map: Weak value map JS
Weak value map JS. Contribute to jhunterkohler/weak-value-map development by creating an account on GitHub.
100
Doug Parker @develwithoutacause.dwac.dev · 19/09/2026
I feel like `Map<Key, WeakRef<T>>` should be a small library for the two use cases where it's actually helpful over `WeakMap`. Wondering if such a library already exists somewhere.
100
Doug Parker @develwithoutacause.dwac.dev · 17/09/2026
I'm forever torn between my undying support for multi-factor authentication and the importance of being secure everywhere against my desire to just not give a shit about the app which I only use to notify me when my garage door is left open.
000
Reposted by Doug Parker
Suw @suw.bsky.social · 16/09/2026
Fucking hell. Facebook is now limiting the number of links that a page or professional profile can include in a post to TWO PER MONTH, unless you pay them $7.99 a month. Fucking assholes.
A warning pop-up from Facebook that says "you used 2 of your posts with links this month. With Meta One, continue sharing links in your posts and comments, plus other subscriber benefits".
3426868
Doug Parker @develwithoutacause.dwac.dev · 17/09/2026
When you know you're gonna have a bad day: ``` $ git status BUG: dir.c:4038: untracked_cache_invalidate_trimmed_path given zero length path [1] 910069 IOT instruction (core dumped) git status ```
140
Reposted by Doug Parker
Anthony Fu @antfu.me · 16/09/2026
It's been a while... Introducing Devframe v1.0 🚀 The framework for building DevTools that can run everywhere, for any meta-framework, for both humans and agents. Check out the announcement post and join our Discord 👇
devfra.me
Pluggable, Extensible, and Playful DevTools
Introduction to Devframe, a framework for building pluggable, extensible, and playful DevTools.
614630
Reposted by Doug Parker
danielroe @danielroe.dev · 14/09/2026
🙋‍♂️ ever wanted to build something without needing to configure a db, auth, file storage or a cms? it turns out you already have all four if you have a bluesky account 👉 airspace is a typed client for it
getair.space
airspace
The database you already have.
1950789
Reposted by Doug Parker
Laurie Voss @seldo.com · 13/09/2026
I have been writing this post about the economics of open source, on and off, for 13 years. I wasn't expecting to end up at "Microsoft should send corporations a huge bill" but nothing else we've tried has worked. seldo.com/posts/nobody-pays-for-ope…
seldo.com
Nobody pays for open source. We can force them to. | Seldo.com
Thirty years of voluntary funding schemes haven&#x27;t paid open source maintainers because asking doesn&#x27;t scale. The real money already flows — to JFrog, Docker, Sonatype — at the registry layer. The fix: registries charge companies for supply (they already do), then route a slice automatically to the maintainers who make that supply worth having.
2016655
Reposted by Doug Parker
Zach Weinersmith @zachweinersmith.bsky.social · 11/09/2026
I miss Old Internet a lot, but admittedly a major part of that is that the early internet had a very weird opt-in procedure that you can't recreate, the result of which is that the default user was a curious dorkwad. Plus, there was no money to be made, so no branding/positioning all the time.
1854338
Reposted by Doug Parker
Visual Studio Code @vscode.dev · 10/09/2026
🐾 The VS Code pet needs a name! Have you met your new coding companion? Open GitHub Copilot Chat in VS Code and enter /vscode-pet 💡 Submit your name ideas September 10 - 17, 2026 🏆 Winner: 1 month of GitHub Copilot Max ✨ Honorable mentions: VS Code swag 👉 Learn more: aka.ms/vscode-pet
6147
Reposted by Doug Parker
Sarah Drasner @sarahedo.bsky.social · 08/09/2026
I’m excited to share that we've added a consequential hint to the WebMCP spec! For site devs: set to true when WebMCP tools may perform a high-stakes action: anything that needs explicit user permission in order to execute. If you’re going to make a purchase, send an email, or book travel.
developer.chrome.com
Imperative API  |  AI in Chrome  |  Chrome for Developers
Define many types of WebMCP tools with standard JavaScript.
3274
Reposted by Doug Parker
Rainer Hahnekamp @rainerhahnekamp.bsky.social · 07/09/2026
Switzerland is an Angular country 🇨🇭 57% of Swiss frontend jobs naming a framework ask for #Angular. It’s time for a Swiss Angular conference. It’s happening and @wolfmanfx.bsky.social and I (both @soverius-ai.bsky.social) are there with workshop & talk: ng-switzerland.ch
ng-switzerland.ch
NG Switzerland — 11–12 February 2027, Lucerne, Switzerland
The Angular conference in the heart of Switzerland. 11–12 February 2027, Lucerne, Switzerland.
132
Reposted by Doug Parker
Dare Obasanjo @carnage4life.bsky.social · 05/09/2026
Frontier AI models are converging on similar intelligence, yet cost per task can still vary 10x-60x across vendors. That seems unsustainable as models become more substitutable. A lot of frontier lab economics depend on customers paying huge premiums for increasingly marginal intelligence gains.
69617
Doug Parker @develwithoutacause.dwac.dev · 04/09/2026
I get that you don't exactly open a new project every day, but like at least 3 of these could be eliminated pretty easily? And when using remote development, that "reloads window" step is establishing a new network tunnel and potentially requires a gnubby touch.
010
Doug Parker @develwithoutacause.dwac.dev · 04/09/2026
A timeline of using #VSCode: 1. Open the app, loads window. 2. Remote connection to target machine, reloads window. 3. Open folder, reloads window. 4. "Do you trust this project?" > Yes, reloads window. 5. "Extensions are out of date", reloads window.
120
Reposted by Doug Parker
Visual Studio Code @vscode.dev · 04/09/2026
🍿 The Story of VS Code premieres today! 🔔 Join us for the world premiere at 8:00 AM PT: aka.ms/the-story-of...
youtube.com
The Story of VS Code | Official Documentary
Erich Gamma once called VS Code an overnight success 10 years in the making. Those 10 years were pretty eventful. Before becoming one of the most widely used developer tools in the world, VS Code…
0235
Reposted by Doug Parker
Patrick Brosset @patrickbrosset.com · 03/09/2026
📢 Calling for Interop 2027 proposals. If you’ve encountered web features that behave differently across browsers, or standards-based capabilities that are difficult to rely on today, we want to hear from you.
blogs.windows.com
Calling for Interop 2027 proposals
The Interop 2027 call for proposals is open, submit your ideas now! Over the past six years, the I
1129
Reposted by Doug Parker
Laurie Voss @seldo.com · 02/09/2026
Here's the thing about SEO: the way to get ranked is to have reputable people link to you. That's it, that's the whole thing. Everything else is snake oil being sold by people who are trying to game an algorithm that is constantly being changed to nullify their efforts.
4346
Doug Parker @develwithoutacause.dwac.dev · 02/09/2026
Not sure how other orgs are solving this problem more broadly or how easily #npmx would fit the required deployment shape, but it does feel conceptually aligned at least? Is this something you all have put any thought into?
110
Doug Parker @develwithoutacause.dwac.dev · 02/09/2026
General context is that we're spinning up an artifact registry of private packages and need a way to discover and view published packages. Someone vibe-coded a simplistic internal NPM-style app, but this feels like something where it would be great to consolidate with the external community.
110
Doug Parker @develwithoutacause.dwac.dev · 01/09/2026
My library solves file watching by "just" not working at all!
100
Reposted by Doug Parker
Jiahan Chen @chenjiahan.bsky.social · 01/09/2026
Excited that TypeScript will finally support module types based on import attributes! Bundlers and frameworks can now provide accurate types for custom imports:
27116
Doug Parker @develwithoutacause.dwac.dev · 01/09/2026
Would `visibility: hidden;` be more performant? My intuition is that `opacity: 0;` needs more rasterization work (unless browsers special case `0`), but I'm no expert on it for sure. Might also be better for accessibility to align the sighted UX with the screen reader UX?
100
Doug Parker @develwithoutacause.dwac.dev · 01/09/2026
@patak.cat, how crazy would be to ask for a variant of #npmx which is self-hosted and displays packages from a private corp artifact registry? Asking for a friend.
2111
Reposted by Doug Parker
Michael Small @michaelsmalldev.bsky.social · 30/08/2026
In depth article from a major Angular contributor who has contributed all sorts of features and documentation around @\defer
medium.com
Inside Angular’s @defer: The Instructions Behind Deferrable Views
While working on timeout support for the idle trigger in Angular’s @defer blocks, I expected a fairly contained change.
032
Reposted by Doug Parker
Kelsey Hightower @kelseyhightower.com · 27/08/2026
I love this framing, but in reality we treat developers of our internal platforms like users, and not customers, because most enterprise developers cannot behave as customers, and are forced to use whatever the platform engineering team gives them.
2508
Reposted by Doug Parker
Igor Sedov @igorsedov.com · 27/08/2026
🚀 Coming in #Angular 22.2 ✔️ Watch Signal feature Angular DevTools will support the new Watch Signal feature for real-time signal tracking starting with the upcoming Angular 22.2, expected in September
Infographic displays the new Watch Signal feature for real-time signal tracking in Angular DevTools for the upcoming Angular 22.2 (expected in September). The infographic shows UI button states comparing "Inactive" vs "Active (Watching)" and a browser console screenshot streaming live signal value updates. Automatically tracks and logs every value update for any watched signal in real time. Requires Angular v22.2+, Expected September 2026.
0126