diff --git a/external/builder/babel-plugin-pdfjs-preprocessor.mjs b/external/builder/babel-plugin-pdfjs-preprocessor.mjs index 65457f3f9..653c459fa 100644 --- a/external/builder/babel-plugin-pdfjs-preprocessor.mjs +++ b/external/builder/babel-plugin-pdfjs-preprocessor.mjs @@ -84,11 +84,13 @@ function babelPluginPDFJSPreprocessor(babel, ctx) { if (t.isBooleanLiteral(node.test)) { // if (true) stmt1; => stmt1 // if (false) stmt1; else stmt2; => stmt2 - path.replaceWith( - node.test.value === true - ? node.consequent - : node.alternate || t.emptyStatement() - ); + if (node.test.value === true) { + path.replaceWith(node.consequent); + } else if (node.alternate) { + path.replaceWith(node.alternate); + } else { + path.remove(node); + } } }, }, diff --git a/external/builder/fixtures_esprima/ifs-expected.js b/external/builder/fixtures_esprima/ifs-expected.js index 12599c619..db9f4af15 100644 --- a/external/builder/fixtures_esprima/ifs-expected.js +++ b/external/builder/fixtures_esprima/ifs-expected.js @@ -7,11 +7,12 @@ if ('test') { { "1"; } -; { "2"; } -; if ('1') { "1"; } +function f1() { + "1"; +} diff --git a/external/builder/fixtures_esprima/ifs.js b/external/builder/fixtures_esprima/ifs.js index a2f3d217f..187c7f932 100644 --- a/external/builder/fixtures_esprima/ifs.js +++ b/external/builder/fixtures_esprima/ifs.js @@ -23,3 +23,12 @@ if (true && false) { if (true && false || '1') { "1"; } + +function f1() { + if (true) { + "1"; + } + if (false) { + "2"; + } +}