cd /news/developer-tools/i-thought-most-of-a-pull-request-was… · home › topics › developer-tools › article
[ARTICLE · art-162902] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

I thought most of a pull request was noise. I measured 1,000 of them. I was wrong.

A computer science student built ReviewRaccoon, a free GitHub Action that parses changed JavaScript and TypeScript files into syntax trees and flags lines that provably cannot change behavior, then tested the premise that most pull request content is refactor noise. Across the last 100 merged pull requests from 10 major projects — React, Next.js, VS Code, TypeScript, Vite, Svelte, Angular, Prettier, ESLint and Node.js — totaling 1,000 PRs and 170,160 changed lines, only 3% of changed lines were refactor-only, ranging from 1% in VS Code and TypeScript to 6% in Svelte, and just 11 of the 666 PRs touching JS/TS changed nothing. The developer kept the tool but changed its pitch to lead each pull request with the two items the data supports.

by read2 min views1 publishedNov 3, 2026

I'm a CSE student, and reviewing pull requests always felt slower than it should be. My theory was simple: most of a pull request is noise. Renamed variables, reformatted lines, code moved from one place to another. If a tool could prove which lines don't change what the code does, reviewers could skip them.

So I built that tool. ReviewRaccoon is a free GitHub Action. It turns the old and new version of every changed JavaScript and TypeScript file into a syntax tree, strips out everything that can't change behavior (formatting, comments, local variable names), and compares the two trees piece by piece. There's no AI involved: a piece is only called safe when it is provably the same.

Before launching, I wanted a big number for the README. So I tested my theory.

I ran ReviewRaccoon over the last 100 merged pull requests of 10 well-known projects: React, Next.js, VS Code, TypeScript, Vite, Svelte, Angular, Prettier, ESLint and Node.js. That came to 1,000 pull requests and 170,160 changed lines of JavaScript and TypeScript.

Only 3% of the changed lines were refactor-only. The other 97% changed what the code does. No project came close to my guess: the range was 1% (VS Code and TypeScript) to 6% (Svelte).

Pure refactor pull requests were almost nonexistent. Of the 666 pull requests that touched JavaScript or TypeScript, 11 changed nothing, and the biggest of those was 11 lines of tidied comments and types in Svelte.

My best guess is that experienced teams don't mix refactors into feature work, so there's very little noise to remove. I had imagined a problem these projects don't have.

Two caveats, so you can judge the numbers yourself. The count is strict: if a function changed, every changed line inside it counts as a change, even a rename on the next line, so the true share is somewhat higher. And the scanner skipped 8 giant pull requests with more than 100 code files, which is where mass renames would most likely be.

I kept the tool and changed the pitch to match the data. On every pull request, ReviewRaccoon now leads with two things:

Installing it takes one workflow file, and the README has it. The scanner is in the repo too, so you can rerun my numbers or measure your own repo:

git clone https://github.com/TheRealJahaan/reviewraccoon
cd reviewraccoon
npm install
GITHUB_TOKEN=$(gh auth token) node scripts/scan.js your-name/your-repo --prs 100

I only measured big, well-run projects. If you run it on your team's repo, reply with your number. I'd really like to know if it looks different.

── more in #developer-tools 4 stories · sorted by recency
── more on @reviewraccoon 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-thought-most-of-a-…] indexed:0 read:2min 2026-11-03 · —