Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 1.79 KB

DEVELOPMENT.md

File metadata and controls

51 lines (34 loc) · 1.79 KB

Development

Source Setup

The Windows launcher can prepare a source checkout automatically. For a manual setup:

npm ci
npm run setup
npm run check

Use Node.js 20+ and JDK 17+. npm run setup downloads ViaProxy 3.4.13 and compiles the included ViaBedrock compatibility sources. This release supports Java Edition 26.3 and uses Bedrock 1.26.45 for the local ViaBedrock connection. The Windows GUI is implemented in PowerShell with Windows Forms and has no Python dependency.

Useful Checks

npm run check:syntax
npm run check:bridge-desktop-gui
npm run check:public-release
npm run check:runtime-package
npm run check:updater

The complete relay suite is npm run check. Keep test scope proportional to the protocol behavior being changed.

Private Runtime Data

Never commit authentication caches, .env, runtime status, packet logs, Realm metadata, generated jars, or captures. Before publishing, run:

$env:PUBLIC_RELEASE_DENY_TERMS = "private-account-label,private-realm-label"
npm run check:public-release
Remove-Item Env:\PUBLIC_RELEASE_DENY_TERMS

The audit hides matched values and reports only category, path, and line number.

Build the Windows ZIP

npm run release:runtime

The ZIP is written under dist/. Its explicit allowlist includes only launch/runtime source, configuration, and required legal notices. It excludes tests, research notes, history, browser GUI code, dependencies, generated jars, auth data, and logs.

The build also writes a matching .sha256 file. Publish both files; the built-in updater refuses an archive it cannot verify.

Source Release

npm run release:stage creates a freshly audited source tree with no private Git history. Do not merge a private development history into the public repository.