Skip to content

Commit c19c9ec

Browse files
1 parent c4e12df commit c19c9ec

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

napi/minify/index.d.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,22 @@ export interface CompressOptions {
4545
unused?: true | false | 'keep_assign'
4646
/** Keep function / class names. */
4747
keepNames?: CompressOptionsKeepNames
48+
/**
49+
* Join consecutive var, let and const statements.
50+
*
51+
* @default true
52+
*/
53+
joinVars?: boolean
54+
/**
55+
* Join consecutive simple statements using the comma operator.
56+
*
57+
* `a; b` -> `a, b`
58+
*
59+
* @default true
60+
*/
61+
sequences?: boolean
62+
/** Limit the maximum number of iterations for debugging purpose. */
63+
passes?: number
4864
}
4965

5066
export interface CompressOptionsKeepNames {

napi/minify/src/options.rs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,21 @@ pub struct CompressOptions {
3838

3939
/// Keep function / class names.
4040
pub keep_names: Option<CompressOptionsKeepNames>,
41+
42+
/// Join consecutive var, let and const statements.
43+
///
44+
/// @default true
45+
pub join_vars: Option<bool>,
46+
47+
/// Join consecutive simple statements using the comma operator.
48+
///
49+
/// `a; b` -> `a, b`
50+
///
51+
/// @default true
52+
pub sequences: Option<bool>,
53+
54+
/// Limit the maximum number of iterations for debugging purpose.
55+
pub passes: Option<u8>,
4156
}
4257

4358
impl TryFrom<&CompressOptions> for oxc_minifier::CompressOptions {
@@ -52,14 +67,13 @@ impl TryFrom<&CompressOptions> for oxc_minifier::CompressOptions {
5267
},
5368
drop_console: o.drop_console.unwrap_or(default.drop_console),
5469
drop_debugger: o.drop_debugger.unwrap_or(default.drop_debugger),
55-
// TODO
56-
join_vars: true,
57-
sequences: true,
70+
join_vars: o.join_vars.unwrap_or(true),
71+
sequences: o.sequences.unwrap_or(true),
5872
// TODO
5973
unused: oxc_minifier::CompressOptionsUnused::Keep,
6074
keep_names: o.keep_names.as_ref().map(Into::into).unwrap_or_default(),
6175
treeshake: TreeShakeOptions::default(),
62-
max_iterations: None,
76+
max_iterations: o.passes,
6377
})
6478
}
6579
}

0 commit comments

Comments
 (0)