Skip to content

napi/minifier: compress.unused option cannot be set correctly from napi binding #14512

@sushichan044

Description

@sushichan044

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions