Description
The compress.unused option implemented in PR #11796 cannot accept boolean values from the napi,
making it impossible to properly control unused variable removal behavior.
Current Behavior
- TypeScript definition declares
unused?: true | false | 'keep_assign'
- Rust implementation uses
Option<String>, which cannot handle boolean values correctly
- Setting
unused: true or unused: false doesn't work as expected and causes panic
Expected Behavior
The option should accept three types of values:
unused: true → Remove unused variables (CompressOptionsUnused::Remove)
unused: false → Keep unused variables (CompressOptionsUnused::Keep)
unused: 'keep_assign' → Keep variables with assignments (CompressOptionsUnused::KeepAssign)
Related