Skip to content

Commit a15e4f0

Browse files
authored
Reduce usage of require (microsoft#166051)
* Reduce usage of `require` * Bootstrap's callback returns only the first required module
1 parent e793722 commit a15e4f0

File tree

5 files changed

+18
-13
lines changed

5 files changed

+18
-13
lines changed

src/bootstrap-window.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,11 @@
175175
}
176176

177177
// Actually require the main module as specified
178-
require(modulePaths, async result => {
178+
require(modulePaths, async firstModule => {
179179
try {
180180

181181
// Callback only after process environment is resolved
182-
const callbackResult = resultCallback(result, configuration);
182+
const callbackResult = resultCallback(firstModule, configuration);
183183
if (callbackResult instanceof Promise) {
184184
await callbackResult;
185185

src/vs/code/electron-sandbox/workbench/workbench.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@
2323
'vs/nls!vs/workbench/workbench.desktop.main',
2424
'vs/css!vs/workbench/workbench.desktop.main'
2525
],
26-
function (_, configuration) {
26+
function (desktopMain, configuration) {
2727

2828
// Mark start of workbench
2929
performance.mark('code/didLoadWorkbenchMain');
3030

31-
// @ts-ignore
32-
return require('vs/workbench/electron-sandbox/desktop.main').main(configuration);
31+
return desktopMain.main(configuration);
3332
},
3433
{
3534
configureDeveloperSettings: function (windowConfig) {

src/vs/workbench/browser/workbench.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,17 @@ export class Workbench extends Layout {
100100
phase: 'configuration';
101101
}
102102
type AnnotatedError = AnnotatedLoadingError | AnnotatedFactoryError | AnnotatedValidationError;
103-
(<any>window).require.config({
104-
onError: (err: AnnotatedError) => {
105-
if (err.phase === 'loading') {
106-
onUnexpectedError(new Error(localize('loaderErrorNative', "Failed to load a required file. Please restart the application to try again. Details: {0}", JSON.stringify(err))));
103+
104+
if (typeof (<any>window).require.config === 'function') {
105+
(<any>window).require.config({
106+
onError: (err: AnnotatedError) => {
107+
if (err.phase === 'loading') {
108+
onUnexpectedError(new Error(localize('loaderErrorNative', "Failed to load a required file. Please restart the application to try again. Details: {0}", JSON.stringify(err))));
109+
}
110+
console.error(err);
107111
}
108-
console.error(err);
109-
}
110-
});
112+
});
113+
}
111114
}
112115

113116
private previousUnexpectedError: { message: string | undefined; time: number } = { message: undefined, time: 0 };

src/vs/workbench/contrib/testing/browser/explorerProjections/hierarchalByName.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { AbstractTreeViewState } from 'vs/base/browser/ui/tree/abstractTree';
7-
import { TestExplorerTreeElement } from 'vs/workbench/contrib/testing/browser/explorerProjections';
7+
import { TestExplorerTreeElement } from 'vs/workbench/contrib/testing/browser/explorerProjections/index';
88
import { flatTestItemDelimiter } from 'vs/workbench/contrib/testing/browser/explorerProjections/display';
99
import { HierarchicalByLocationProjection as HierarchicalByLocationProjection } from 'vs/workbench/contrib/testing/browser/explorerProjections/hierarchalByLocation';
1010
import { ByLocationTestItemElement } from 'vs/workbench/contrib/testing/browser/explorerProjections/hierarchalNodes';

src/vs/workbench/workbench.desktop.main.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,6 @@ import 'vs/workbench/contrib/mergeEditor/electron-sandbox/mergeEditor.contributi
162162
import 'vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution';
163163

164164
//#endregion
165+
166+
167+
export { main } from 'vs/workbench/electron-sandbox/desktop.main';

0 commit comments

Comments
 (0)