From b99cf7e41eb151dbac372f91424728bca5d144d0 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:44:03 -0700 Subject: [PATCH] Ensure 'undefined' does not make it into tsserver.web.js (#164064) --- .../extension-browser.webpack.config.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/typescript-language-features/extension-browser.webpack.config.js b/extensions/typescript-language-features/extension-browser.webpack.config.js index 6dbedab0a05..7fb010d0448 100644 --- a/extensions/typescript-language-features/extension-browser.webpack.config.js +++ b/extensions/typescript-language-features/extension-browser.webpack.config.js @@ -70,8 +70,14 @@ module.exports = withBrowserDefaults({ const dynamicImportCompatPath = path.join(__dirname, '..', 'node_modules', 'typescript', 'lib', 'dynamicImportCompat.js'); const prefix = fs.existsSync(dynamicImportCompatPath) ? fs.readFileSync(dynamicImportCompatPath) : undefined; const output = await Terser.minify(content.toString()); + if (!output.code) { + throw new Error('Terser returned undefined code'); + } - return prefix + '\n' + output.code; + if (prefix) { + return prefix.toString() + '\n' + output.code; + } + return output.code; }, transformPath: (targetPath) => { return targetPath.replace('tsserver.js', 'tsserver.web.js');