Files
objdiff-web/package.json
T
2025-05-27 22:43:16 -06:00

381 lines
9.8 KiB
JSON

{
"name": "objdiff",
"displayName": "objdiff",
"description": "A local diffing tool for decompilation projects",
"publisher": "decomp-dev",
"version": "0.3.0",
"repository": {
"type": "git",
"url": "https://github.com/encounter/objdiff-web"
},
"license": "MIT",
"scripts": {
"check": "biome check --write",
"format": "biome format --write",
"web:build": "rsbuild build",
"web:dev": "rsbuild dev",
"extension:build": "rsbuild build --env-mode extension",
"extension:dev": "rsbuild build -w -m development --env-mode extension",
"extension:package": "pnpm run extension:build && vsce package --no-dependencies",
"extension:publish": "pnpm run extension:build && vsce publish --no-dependencies",
"postinstall": "tsx update-config.ts"
},
"dependencies": {
"@vscode/codicons": "^0.0.36",
"clsx": "^2.1.1",
"memoize-one": "^6.0.0",
"objdiff-wasm": "3.0.0-beta.9",
"picomatch": "^4.0.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-tooltip": "^5.28.1",
"react-virtualized-auto-sizer": "^1.0.26",
"react-window": "^1.8.11",
"shescape": "^2.1.3",
"zustand": "^5.0.4"
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
"@rsbuild/core": "^1.3.20",
"@rsbuild/plugin-react": "^1.3.1",
"@rsbuild/plugin-type-check": "^1.2.2",
"@rsbuild/plugin-typed-css-modules": "^1.0.2",
"@types/node": "^22.15.18",
"@types/picomatch": "^3.0.2",
"@types/react": "^18.3.21",
"@types/react-dom": "^18.3.7",
"@types/react-window": "^1.8.8",
"@types/vscode": "^1.96.0",
"@types/vscode-webview": "^1.57.5",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.5.2",
"@vscode/vsce": "^3.4.0",
"tsx": "^4.19.4",
"typescript": "^5.8.3"
},
"main": "./dist/extension.js",
"files": [
"LICENSE",
"README.md",
"package.json",
"dist",
"media"
],
"engines": {
"node": ">=20.0.0",
"vscode": "^1.96.0"
},
"packageManager": "pnpm@10.6.1",
"browserslist": [
"chrome 128"
],
"categories": [
"Other"
],
"activationEvents": [
"onWebviewPanel:objdiff"
],
"contributes": {
"commands": [
{
"command": "objdiff.build",
"title": "objdiff: Build"
},
{
"command": "objdiff.chooseUnit",
"title": "objdiff: Choose Unit"
},
{
"command": "objdiff.clearUnit",
"title": "objdiff: Clear Current Unit"
},
{
"command": "objdiff.chooseCurrentFile",
"title": "objdiff: Switch To Current File"
},
{
"command": "objdiff.settings",
"title": "objdiff: Settings"
},
{
"command": "objdiff.copySymbolName",
"title": "Copy name",
"enablement": "webviewId == 'objdiff' && contextType == 'symbol'"
},
{
"command": "objdiff.copySymbolDemangledName",
"title": "Copy demangled name",
"enablement": "webviewId == 'objdiff' && contextType == 'symbol' && symbolDemangledName"
}
],
"configuration": [
{
"title": "General",
"properties": {
"objdiff.functionRelocDiffs": {
"type": "string",
"description": "How relocation targets will be diffed in the function view.",
"default": "name_address",
"enum": [
"none",
"name_address",
"data_value",
"all"
],
"enumItemLabels": [
"None",
"Name or address",
"Data value",
"Name or address, data value"
],
"enumDescriptions": [
null,
null,
null,
null
]
},
"objdiff.spaceBetweenArgs": {
"type": "boolean",
"description": "Adds a space between arguments in the diff output.",
"default": true
},
"objdiff.combineDataSections": {
"type": "boolean",
"description": "Combines data sections with equal names.",
"default": false
},
"objdiff.combineTextSections": {
"type": "boolean",
"description": "Combines all text sections into one.",
"default": false
}
}
},
{
"title": "ARM",
"properties": {
"objdiff.arm.archVersion": {
"type": "string",
"description": "ARM architecture version to use for disassembly.",
"default": "auto",
"enum": [
"auto",
"v4t",
"v5te",
"v6k"
],
"enumItemLabels": [
"Auto",
"ARMv4T (GBA)",
"ARMv5TE (DS)",
"ARMv6K (3DS)"
],
"enumDescriptions": [
null,
null,
null,
null
]
},
"objdiff.arm.unifiedSyntax": {
"type": "boolean",
"description": "Disassemble as unified assembly language (UAL).",
"default": false
},
"objdiff.arm.avRegisters": {
"type": "boolean",
"description": "Display R0-R3 as A1-A4 and R4-R11 as V1-V8.",
"default": false
},
"objdiff.arm.r9Usage": {
"type": "string",
"default": "generalPurpose",
"enum": [
"generalPurpose",
"sb",
"tr"
],
"enumItemLabels": [
"R9 or V6",
"SB (static base)",
"TR (TLS register)"
],
"enumDescriptions": [
"Use R9 as a general-purpose register.",
"Used for position-independent data (PID).",
"Used for thread-local storage."
]
},
"objdiff.arm.slUsage": {
"type": "boolean",
"description": "Used for explicit stack limits.",
"default": false
},
"objdiff.arm.fpUsage": {
"type": "boolean",
"description": "Used for frame pointers.",
"default": false
},
"objdiff.arm.ipUsage": {
"type": "boolean",
"description": "Used for interworking and long branches.",
"default": false
}
}
},
{
"title": "MIPS",
"properties": {
"objdiff.mips.abi": {
"type": "string",
"description": "MIPS ABI to use for disassembly.",
"default": "auto",
"enum": [
"auto",
"o32",
"n32",
"n64"
],
"enumItemLabels": [
"Auto",
"O32",
"N32",
"N64"
],
"enumDescriptions": [
null,
null,
null,
null
]
},
"objdiff.mips.instrCategory": {
"type": "string",
"description": "MIPS instruction category to use for disassembly.",
"default": "auto",
"enum": [
"auto",
"cpu",
"rsp",
"r3000gte",
"r4000allegrex",
"r5900"
],
"enumItemLabels": [
"Auto",
"CPU",
"RSP (N64)",
"R3000 GTE (PS1)",
"R4000 ALLEGREX (PSP)",
"R5900 EE (PS2)"
],
"enumDescriptions": [
null,
null,
null,
null,
null,
null
]
},
"objdiff.mips.registerPrefix": {
"type": "boolean",
"description": "Display MIPS register names with a '$' prefix.",
"default": false
}
}
},
{
"title": "PowerPC",
"properties": {
"objdiff.ppc.calculatePoolRelocations": {
"type": "boolean",
"description": "Display pooled data references in functions as fake relocations.",
"default": true
}
}
},
{
"title": "x86",
"properties": {
"objdiff.x86.formatter": {
"type": "string",
"description": "x86 disassembly syntax.",
"default": "intel",
"enum": [
"intel",
"gas",
"nasm",
"masm"
],
"enumItemLabels": [
"Intel",
"AT&T",
"NASM",
"MASM"
],
"enumDescriptions": [
null,
null,
null,
null
]
}
}
}
],
"menus": {
"webview/context": [
{
"command": "objdiff.copySymbolName",
"when": "webviewId == 'objdiff' && contextType == 'symbol'"
},
{
"command": "objdiff.copySymbolDemangledName",
"when": "webviewId == 'objdiff' && contextType == 'symbol'"
}
]
},
"taskDefinitions": [
{
"type": "objdiff"
}
],
"viewsContainers": {
"panel": [
{
"id": "objdiff",
"title": "objdiff",
"icon": "media/icon.svg"
}
]
},
"views": {
"objdiff": [
{
"id": "objdiff",
"name": "objdiff",
"type": "webview"
}
]
},
"viewsWelcome": [
{
"view": "objdiff",
"contents": "Loading..."
}
]
},
"pnpm": {
"onlyBuiltDependencies": [
"@biomejs/biome",
"@vscode/vsce-sign",
"core-js",
"esbuild",
"keytar"
],
"overrides": {}
}
}