Wakaru

Unpack. Unminify. Understand.

Fast JavaScript decompiler and bundle splitter for modern frontend. Feed it a bundle, get back readable modules.

$ npx @wakaru/cli input.js -o output.js

Features

Bundle Splitting

Unpack webpack 4/5, esbuild, Bun, and Browserify bundles back into individual modules.

Transpiler Recovery

Reverse transforms from Terser, Babel, SWC, and TypeScript. Recover modern syntax like optional chaining and nullish coalescing.

Source Map Support

Use source maps for better identifier names and import deduplication.

Rewrite Levels

Choose minimal, standard, or aggressive — from safe-only transforms to full intent-recovery heuristics.

Blazing Fast

Written in Rust. Handles large bundles in seconds, not minutes.

CLI & WASM

Use from the command line, or run in the browser via WebAssembly in the playground.

Why Wakaru?

Production JavaScript is hard to read because multiple tools have transformed it. Wakaru handles all three layers in a single command.

📦

Bundlers

Collapse modules into one file with runtime wrappers

🔄

Transpilers

Downgrade modern syntax and insert helper functions

🗜️

Minifiers

Erase names, fold constants, and compress control flow