Skip to content

Commit 013e053

Browse files
committed
fix(napi/transform): fix define plugin not applying DCE correctly (#14264)
DCE options was using "smallest", hence `debugger` was removed. fixes 14260
1 parent 59dc17e commit 013e053

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

crates/oxc/src/compiler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ pub trait CompilerInterface {
198198
Compressor::new(&allocator).dead_code_elimination_with_scoping(
199199
&mut program,
200200
scoping,
201-
CompressOptions::smallest(),
201+
CompressOptions::dce(),
202202
);
203203
}
204204
}

napi/transform/test/transform.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,16 @@ describe('define plugin', () => {
290290
// Replaced `undefined` with `void 0` by DCE.
291291
expect(ret.code).toEqual('new (void 0)();\n');
292292
});
293+
294+
it('keeps debugger', () => {
295+
const code = 'Foo; debugger;';
296+
const ret = transform('test.js', code, {
297+
define: {
298+
Foo: 'Bar',
299+
},
300+
});
301+
expect(ret.code).toEqual('Bar;\ndebugger;\n');
302+
});
293303
});
294304

295305
describe('inject plugin', () => {

0 commit comments

Comments
 (0)