Skip to content

Commit 657faee

Browse files
committed
Update to latest loader.js
1 parent ead1537 commit 657faee

1 file changed

Lines changed: 31 additions & 14 deletions

File tree

src/vs/loader.js

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -624,17 +624,34 @@ var AMDLoader;
624624
script.addEventListener('error', errorEventListener);
625625
};
626626
BrowserScriptLoader.prototype.load = function (moduleManager, scriptSrc, callback, errorback) {
627-
var script = document.createElement('script');
628-
script.setAttribute('async', 'async');
629-
script.setAttribute('type', 'text/javascript');
630-
this.attachListeners(script, callback, errorback);
631-
script.setAttribute('src', scriptSrc);
632-
// Propagate CSP nonce to dynamically created script tag.
633-
var cspNonce = moduleManager.getConfig().getOptionsLiteral().cspNonce;
634-
if (cspNonce) {
635-
script.setAttribute('nonce', cspNonce);
636-
}
637-
document.getElementsByTagName('head')[0].appendChild(script);
627+
if (/^node\|/.test(scriptSrc)) {
628+
var opts = moduleManager.getConfig().getOptionsLiteral();
629+
var nodeRequire = (opts.nodeRequire || AMDLoader.global.nodeRequire);
630+
var pieces = scriptSrc.split('|');
631+
var moduleExports_1 = null;
632+
try {
633+
moduleExports_1 = nodeRequire(pieces[1]);
634+
}
635+
catch (err) {
636+
errorback(err);
637+
return;
638+
}
639+
moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_1; });
640+
callback();
641+
}
642+
else {
643+
var script = document.createElement('script');
644+
script.setAttribute('async', 'async');
645+
script.setAttribute('type', 'text/javascript');
646+
this.attachListeners(script, callback, errorback);
647+
script.setAttribute('src', scriptSrc);
648+
// Propagate CSP nonce to dynamically created script tag.
649+
var cspNonce = moduleManager.getConfig().getOptionsLiteral().cspNonce;
650+
if (cspNonce) {
651+
script.setAttribute('nonce', cspNonce);
652+
}
653+
document.getElementsByTagName('head')[0].appendChild(script);
654+
}
638655
};
639656
return BrowserScriptLoader;
640657
}());
@@ -742,15 +759,15 @@ var AMDLoader;
742759
var recorder = moduleManager.getRecorder();
743760
if (/^node\|/.test(scriptSrc)) {
744761
var pieces = scriptSrc.split('|');
745-
var moduleExports_1 = null;
762+
var moduleExports_2 = null;
746763
try {
747-
moduleExports_1 = nodeRequire(pieces[1]);
764+
moduleExports_2 = nodeRequire(pieces[1]);
748765
}
749766
catch (err) {
750767
errorback(err);
751768
return;
752769
}
753-
moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_1; });
770+
moduleManager.enqueueDefineAnonymousModule([], function () { return moduleExports_2; });
754771
callback();
755772
}
756773
else {

0 commit comments

Comments
 (0)