Ryac minifies Ruby source code using Prism AST transformations and TypeProf type inference. It bundles a program's require_relative and autoload graph into one file (dynamic requires become lazy regions), compacts and folds the AST, renames constants, variables and methods with compatibility aliases for the names a caller outside the bundle may still use, and can emit the result as a self-extracting file. Two levels: stable renames a method only when type inference resolved every caller; unstable also renames methods with unresolved callers. Ryac is under active development: its architecture, interfaces and output format may change between releases.
Required Ruby Version
>= 3.4.0
Authors
ahogappa