https://github.com/encounter/objdiff-web
objdiff web interface & VS Code extension
https://github.com/encounter/objdiff-web
Last synced: about 1 year ago
JSON representation
objdiff web interface & VS Code extension
- Host: GitHub
- URL: https://github.com/encounter/objdiff-web
- Owner: encounter
- License: mit
- Created: 2024-12-17T05:37:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-01T18:43:29.000Z (about 1 year ago)
- Last Synced: 2025-04-10T20:25:41.736Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 991 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# objdiff-web
Web interface for [objdiff](https://github.com/encounter/objdiff): a local diffing tool for decompilation projects.
This project contains both a standalone web interface and a [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=decomp-dev.objdiff).
## How It Works
The object parsing and diffing is powered by [objdiff-core](https://github.com/encounter/objdiff/tree/main/objdiff-core), compiled into a [WebAssembly Component](https://component-model.bytecodealliance.org/). The [API](https://github.com/encounter/objdiff/blob/main/objdiff-wasm/wit/objdiff.wit) is defined using [WIT](https://component-model.bytecodealliance.org/design/wit.html).
Performance is a priority, so the web stack is deliberately minimal. The application loads from scratch in under 200ms and diffs large object files in 20ms. The build system, powered by [Rsbuild](https://rsbuild.dev/), produces a production build in under 300ms, with near-instantaneous live reloading during development.
## Setup
- Install dependencies:
```bash
pnpm install
```
## Run Dev Server
- Start the dev server using:
```bash
pnpm web:dev
```
- Visit [http://localhost:3000/](http://localhost:3000/). (The port may change if it is already in use.)
## Run Extension
- Open the project in Visual Studio Code.
- Start the extension build using `Ctrl+Shift+B` or by running:
```bash
pnpm extension:dev
```
- Run the extension in debug mode using `F5`.