MCPcopy Index your code
hub / github.com/BuilderIO/SSDiff

github.com/BuilderIO/SSDiff @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
25 symbols 64 edges 14 files 3 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SSDiff

The open-source tool for pixel-perfect website migrations

![Diff](./packages/ssdiff/docs/images/hero.png) ### Use Cases:
  • Compare two URLs to achieve a pixel-perfect match
  • Ideal for website migrations to a new stack
  • Spot differences in similar-looking web pages
  • Open-source and customizable
  • Perform diffing in realtime without any hassle
### Installation If you want to run websites (automated) on a browser based environment and get PNG diffs for multiple paths and URLs use,
npm install ssdiff
#### Vite plugin If you want to do the visual testing yourself on your browser by just adding `?_diff=true` command, use our vite plugin. This will show you the output directly and compare it with two base URLs that you provide.
npm install -D vite-plugin-realtime-diff
// vite.config.ts
import { realtimeDiff } from 'vite-plugin-realtime-diff'

export  default  defineConfig(() => {
    return {
        plugins: [realtimeDiff('https://builder.io/')],
    }
})

Extension points exported contracts — how you extend this code

BrowserConfig (Interface)
(no doc)
packages/ssdiff/src/index.ts
DefaultWidths (Interface)
(no doc)
packages/vite-plugin-realtime-diff/src/types.ts
ScreenshotConfig (Interface)
(no doc)
packages/ssdiff/src/index.ts
PageConfig (Interface)
(no doc)
packages/ssdiff/src/index.ts
SSDiffConfig (Interface)
(no doc)
packages/ssdiff/src/index.ts

Core symbols most depended-on inside this repo

log
called by 12
packages/ssdiff/src/index.ts
puppeteer_browser_open
called by 4
packages/ssdiff/src/index.ts
puppeteer_browser_close
called by 4
packages/ssdiff/src/index.ts
isValidUrl
called by 4
packages/vite-plugin-realtime-diff/src/utils.ts
getFileName
called by 3
packages/ssdiff/src/index.ts
resizeImage
called by 3
packages/ssdiff/src/index.ts
screenshot
called by 3
packages/ssdiff/src/index.ts
getIframeWidth
called by 3
packages/vite-plugin-realtime-diff/src/utils.ts

Shape

Method 10
Function 8
Interface 5
Class 2

Languages

TypeScript100%

Modules by API surface

packages/ssdiff/src/index.ts16 symbols
packages/vite-plugin-realtime-diff/src/utils.ts2 symbols
packages/vite-plugin-realtime-diff/src/index.ts2 symbols
packages/ssdiff/example/index.js2 symbols
packages/vite-plugin-realtime-diff/src/types.ts1 symbols
packages/vite-plugin-realtime-diff/src/template.ts1 symbols
packages/ssdiff/src/__tests__/ssdiff.test.ts1 symbols

For agents

$ claude mcp add SSDiff \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact