GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - vuetifyjs/pkg-diff: Tool to quickly inspect effective changes between versions

BranchesTags
Open more actions menu

Latest commit

 

History

47 Commits
47 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
cli
cli
 
 
public
public
 
 
scripts
scripts
 
 
src
src
 
 
wasm
wasm
 
 
.gitignore
.gitignore
 
 
.nvmrc
.nvmrc
 
 
AGENTS.md
AGENTS.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
docker-compose.yml
docker-compose.yml
 
 
env.d.ts
env.d.ts
 
 
eslint.config.js
eslint.config.js
 
 
index.html
index.html
 
 
nginx.conf
nginx.conf
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
screenshot.png
screenshot.png
 
 
tsconfig.app.json
tsconfig.app.json
 
 
tsconfig.json
tsconfig.json
 
 
tsconfig.node.json
tsconfig.node.json
 
 
unocss.config.ts
unocss.config.ts
 
 
vite.config.mts
vite.config.mts
 
 

Repository files navigation

Vuetify Logo

License: GPL-3.0 Discord

pkg-diff

Diff two npm package versions entirely in the browser — no server, no backend. Tarballs are fetched straight from the npm registry, unpacked, and diffed client-side, with the line-diffing done by a Rust → WebAssembly module. The whole app is a static site you can drop on any host.

pkg-diff.vuetifyjs.com

pkg-diff screenshot

Alternatives

  • npmdiff.dev – SSR, slow at times, no cross-package diffs, unknown source (but handles very large files with no limit, which is a big advantage)
  • MUI diff-package – slow, crashes easily
  • npm diff – CLI only, no HTML output, no filters
  • other CLI tools – unmaintained, cumbersome to use

CLI (for agents)

Example prompt:

use `pnpm diff [email protected] latest` command and drill a bit deeper to give me high-level overview
of the effective changes. I am only interested in things affecting my app based on Vuetify framework

cli/pkg-diff.ts runs the same pipeline headless on Node.js (requires v24.x) — no build step needed. The default call is a quick summary (files & stats). Patches are pulled per file and paged. Includes caching.

pnpm diff --help
pnpm diff [email protected] 4.1.0 # summary
pnpm diff [email protected] 4.1.0 --filter 'lib/components/VTreeview/**' # narrow the summary
pnpm diff [email protected] 4.1.0 --file package.json # display actual file diff
pnpm diff [email protected] 4.1.0 --file 'lib/**/*.js' --file 'lib/**/*.{scss,sass}'
npm link # install global command
pkg-diff --help

Two deliberate differences from the web UI: *.d.ts is kept (it's the cheapest signal for API changes) and *.min.* is excluded.

Caveats

  • code order in Vuetify's dist/*.css bundle files is not deterministic between builds
    • pass --exclude 'dist/*.css' to drop that noise, and look at lib/**/*.(sass|scss) instead
  • declaration order in Vuetify's *.d.ts and dist/json/*.json files is not deterministic either
    • prefer lib/**/*.js files instead until the issue is resolved

vs GitHub compare

You might reasonable think that since direct NPM assets diff is full of noise, agents time would be better spent with source code diffs. While it would work for Vuetify most of the time, there are some major limitations.

gh api repos/vuetifyjs/vuetify/compare/v4.0.8...v4.0.9 -H "Accept: application/vnd.github.diff"
  • files list caps at 300, while patch is dropped for large files, and very large version ranges are rejected
  • might include unrelated tweaks to the documentation, while hiding effective changes that affects framework API
  • cross-package comparisons are not possible (e.g. vuetify vs @vuetify/nightly to get pre-release sneak peak)
  • needs a GitHub repo with matching release tags. Expecting it from every NPM package is not realistic.
  • rate-limited without a token

Develop

pnpm install
pnpm dev

Build

pnpm build      # type-check + vite build → dist/ (static website)
pnpm preview    # serve dist/ locally
pnpm test       # for the CLI's arg parsing and paging

Credits

Diff rendering is powered by @pierre/trees (file tree sidebar) and @pierre/diffs (diff content pane).

About

Tool to quickly inspect effective changes between versions

pkg-diff.vuetifyjs.com

Resources

Readme
GPL-3.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

1 star

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.