From bf2299cda19e0106c527b29530dca47ba306ca94 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 7 Jul 2020 23:06:41 +0200 Subject: [PATCH] Update to latest loader --- src/vs/loader.js | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/vs/loader.js b/src/vs/loader.js index 377ac910c32..5da6a16b13e 100644 --- a/src/vs/loader.js +++ b/src/vs/loader.js @@ -195,7 +195,7 @@ var AMDLoader; return isEmpty; }; Utilities.recursiveClone = function (obj) { - if (!obj || typeof obj !== 'object') { + if (!obj || typeof obj !== 'object' || obj instanceof RegExp) { return obj; } var result = Array.isArray(obj) ? [] : {}; @@ -304,6 +304,9 @@ var AMDLoader; if (typeof options.cspNonce !== 'string') { options.cspNonce = ''; } + if (typeof options.preferScriptTags === 'undefined') { + options.preferScriptTags = false; + } if (!Array.isArray(options.nodeModules)) { options.nodeModules = []; } @@ -459,7 +462,9 @@ var AMDLoader; * Transform a module id to a location. Appends .js to module ids */ Configuration.prototype.moduleIdToPaths = function (moduleId) { - if (this.nodeModulesMap[moduleId] === true) { + var isNodeModule = ((this.nodeModulesMap[moduleId] === true) + || (this.options.amdModulesPattern instanceof RegExp && !this.options.amdModulesPattern.test(moduleId))); + if (isNodeModule) { // This is a node module... if (this.isBuild()) { // ...and we are at build time, drop it @@ -567,11 +572,24 @@ var AMDLoader; OnlyOnceScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) { var _this = this; if (!this._scriptLoader) { - this._scriptLoader = (this._env.isWebWorker - ? new WorkerScriptLoader() - : this._env.isNode - ? new NodeScriptLoader(this._env) - : new BrowserScriptLoader()); + if (this._env.isWebWorker) { + this._scriptLoader = new WorkerScriptLoader(); + } + else if (this._env.isElectronRenderer) { + var preferScriptTags = moduleManager.getConfig().getOptionsLiteral().preferScriptTags; + if (preferScriptTags) { + this._scriptLoader = new BrowserScriptLoader(); + } + else { + this._scriptLoader = new NodeScriptLoader(this._env); + } + } + else if (this._env.isNode) { + this._scriptLoader = new NodeScriptLoader(this._env); + } + else { + this._scriptLoader = new BrowserScriptLoader(); + } } var scriptCallbacks = { callback: callback, -- GitLab