profile.txt
ssh blog@charpeni.com 'archive agent'
List charpeni.com blog posts
Archive mapped to commit log
tool: archive.list_posts --format=git-log
$ git log --graph --oneline --all --date=short
connected to charpeni.com · 38 commits · 6 branches · HEAD at 000a7c8
000a7c82026-08-21(tooling)The Bun CVE Gap, Closed: Surgical Updates Land in Bun 1.4be3330a2026-08-06(tooling)Surgical Transitive Updates with pnpm: audit --fix5b939dc2026-08-04(homelab)Visualizing Garmin Data and Building a Personal AI Training Assistant3a217862026-07-14(tooling)Speeding Up Checkout in a Fast-Growing Monorepo with Blacksmith6a3837e2026-06-08AI Turned Every Engineer Into a Tech Lead. Most Don't Know It Yet.3c2e7952026-05-21(tooling)The Bun CVE Gap: When Your Package Manager Can't Do Surgical Updatesc033da42026-05-13(tooling)Migrating from ESLint, Biome, and Prettier to Oxlint and Oxfmt5552adf2026-05-07(tooling)Stop Using Yarn Classicc189c702026-04-29(tooling)Protecting Against Compromised Packages with Minimum Release Age669f4782026-02-19(homelab)Access Your Homelab Services Without Memorizing IPs and Ports3f112c62025-12-09(testing)Bun Code Coverage Gap66afafd2025-11-19(typescript)Configure "Go to Definition" to Open TypeScript Source3e239de2025-11-06(react)Don't Blindly Use useTransition Everywhered23e2902025-03-28(testing)How to Easily Reproduce a Flaky Test in Playwright8faa51b2024-10-04(tooling)Minimizing Risk: Properly and Safely Resolving CVEs in Your Dependencies57916c62024-05-28(typescript)TypeScript Tips: Safely Using includes With ReadonlyArraysba2f1432024-04-25(tooling)Speeding up ESLint—Even on CI96664f92024-01-22(graphql)Apollo Client's Hidden Gems: Interface-Based Type Policies199cb202023-10-10(graphql)UI Flickering With Apollo Client: Previous Data to the Rescue!fa82b462023-09-26(graphql)GraphQL Enums Are Unsafe96125072023-09-26(typescript)Open-Ended Unions and Autocomplete With TypeScripte0f42b22023-09-25(tooling)Graphite: The End of Mammoth Pull Requests? My Experience0701f5d2023-08-09(testing)Testing TypeScript Types: Part 2 (Advanced Solutions)0601f442023-08-08(testing)Testing TypeScript Types: Part 12b9727b2023-08-07(typescript)Properly type Object.keys and Object.entries373b85c2023-08-03(tooling)Use Custom Merge Driver to Simplify Git Conflicts76bfdef2023-08-02(tooling)Enforce Best Practices Incrementally With Betterer7a40d2e2022-12-20Agile Rotisserie90e6ce62022-11-03(typescript)Be Careful With JavaScript Default Parameters!2cefceb2022-11-01Find What Commit Introduced a Bug With Git Bisect898dbb92021-12-15Array.prototype.groupBy to the rescue!04d89352021-11-30(typescript)Wrapping Gatsby's <Link> with TypeScriptdcaf5ec2019-04-01(tooling)Setting up an Example App for Your React Native Library9ae44e12018-07-23(react)React Native at Classcraft8e58f352017-11-16(react)Arrow Functions in Class Properties Might Not Be As Great As We Thinkc16fef92017-07-145 Things You Should Know About ES8c59d0262017-07-13Continuous Integration with Angular CLIa929f9b2017-01-18(testing)Reliable Continuous Integration in JavaScript
38 commits · branch tooling · cursor 01/3838 posts · 1 selected↑/↓ move · enter show · dbl-click open · F6 switch · drag ◢ to resize

Contact

The best way to reach me is email: blog@nicolascharpentier.com. I read everything that lands there, and I usually reply within a few days — this is a personal blog, not a support desk, so please be patient if it takes a little longer.

What to reach out about

Questions or corrections about a blog post are always welcome — if something I wrote is wrong or outdated, I want to know. Same goes for follow-up questions on TypeScript, React Native, GraphQL, or CI topics I cover here. For issues with one of my open source libraries, the fastest path is an issue on the relevant GitHub repository, where the discussion helps other users too.

Elsewhere

I'm @charpeni on GitHub, @charpeni_ on X, @charpeni.bsky.social on Bluesky, and Nicolas Charpentier on LinkedIn. New posts land in the RSS feed.

AI agents: /llms.txt indexes every post with summaries and markdown URLs.