Repository navigation
Releases: ejfkdev/jscd
Releases · ejfkdev/jscd
Release list
jscd v0.1.0
jscd v0.1.0 — reverse bytenode-compiled .jsc (V8 code cache) back to JavaScript.
Static parsing: no patched V8, no Node runtime, no subprocesses.
Install
brew install ejfkdev/tap/jscd # macOS / Linux
scoop bucket add ejfkdev https://github.com/ejfkdev/scoop-bucket && scoop install jscd # Windows
cargo binstall jscd # anywhere with Rust (cargo-binstall)Or take a bare binary straight from this release (no archive, no installer — the file is the
executable):
| file | platform | build notes |
|---|---|---|
jscd-v0.1.0-linux-amd64 |
Linux x86_64 | static (musl) |
jscd-v0.1.0-linux-arm64 |
Linux arm64 | glibc, cross-built |
jscd-v0.1.0-macos-arm64 |
macOS (Apple Silicon) | |
jscd-v0.1.0-macos-amd64 |
macOS (Intel) | |
jscd-v0.1.0-windows-amd64.exe |
Windows x86_64 | |
jscd-v0.1.0-windows-arm64.exe |
Windows arm64 |
Linux and Windows builds are UPX-compressed (--best --lzma, best effort — a build
whose UPX step fails is still uploaded uncompressed). macOS binaries are not: UPX
does not support Mach-O.
Quick start
chmod +x jscd-v0.1.0-linux-amd64
./jscd-v0.1.0-linux-amd64 app.jsc # decompile one file to stdout
./jscd-v0.1.0-linux-amd64 dist/ # dist/**.jsc -> dist-out/**.js
./jscd-v0.1.0-linux-amd64 help decompile # per-subcommand help, with examplesVerify it yourself
./jscd-v0.1.0-linux-amd64 info app.jsc # header + detected Node/V8 version
./jscd-v0.1.0-linux-amd64 --verify app.jsc -o app.js # output must pass `node --check`Supported Node/V8 versions, the fixture list and how the test numbers are produced
(31 Node.js lines × 36 behavior fixtures, whole-script diffs, the sample corpus) are
documented in the README's Verification section.