From 146f20c9ebf4376061121f9366aa46f8bc8099ce Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Fri, 18 Mar 2022 15:59:52 -0700 Subject: [PATCH] Throw more detailed error when compilation fails Currently the error only shows as something like this `Uncaught SyntaxError: Unexpected token '??'` which makes it difficult to track down which file is failing. New error : `Uncaught Error: Error compiling file:///.../vs/workbench/browser/parts/editor/editorGroupView.js. SyntaxError: Unex pected token '??'` --- src/loader.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/loader.js b/src/loader.js index 69554c5..8ec9b0f 100644 --- a/src/loader.js +++ b/src/loader.js @@ -839,7 +839,12 @@ var AMDLoader; catch (_e) { recorder.record(61 /* CachedDataMissed */, cachedDataPath); } - var script = new that._vm.Script(scriptSource, options); + var script; + try { + script = new that._vm.Script(scriptSource, options); + } catch (err) { + throw new Error(`Error compiling ${filename}. ${err}`); + } var compileWrapper = script.runInThisContext(options); // run script var dirname = that._path.dirname(filename); @@ -902,7 +907,12 @@ var AMDLoader; NodeScriptLoader.prototype._createAndEvalScript = function (moduleManager, contents, options, callback, errorback) { var recorder = moduleManager.getRecorder(); recorder.record(31 /* NodeBeginEvaluatingScript */, options.filename); - var script = new this._vm.Script(contents, options); + var script; + try { + script = new this._vm.Script(contents, options); + } catch (err) { + throw new Error(`Error compiling ${options.filename}. ${err}`); + } var ret = script.runInThisContext(options); var globalDefineFunc = moduleManager.getGlobalAMDDefineFunc(); var receivedDefineCall = false;