From c393e6a3a9e855d9cd0fb34199578923e6e936cb Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 28 Aug 2020 17:21:45 +0200 Subject: [PATCH] debt - use some "import type" syntax to ensure the module is not getting loaded --- src/vs/base/parts/storage/node/storage.ts | 2 +- .../test/electron-main/nativeHelpers.test.ts | 5 ++--- .../credentials/node/credentialsService.ts | 4 ++-- src/vs/workbench/electron-browser/window.ts | 2 +- .../electron-browser/accessibilityService.ts | 22 +++++++++---------- .../services/extensions/node/proxyResolver.ts | 5 ++--- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/vs/base/parts/storage/node/storage.ts b/src/vs/base/parts/storage/node/storage.ts index 58a809a1c36..d6eca3ac03f 100644 --- a/src/vs/base/parts/storage/node/storage.ts +++ b/src/vs/base/parts/storage/node/storage.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { Database, Statement } from 'vscode-sqlite3'; +import type { Database, Statement } from 'vscode-sqlite3'; import { Event } from 'vs/base/common/event'; import { timeout } from 'vs/base/common/async'; import { mapToString, setToString } from 'vs/base/common/map'; diff --git a/src/vs/code/test/electron-main/nativeHelpers.test.ts b/src/vs/code/test/electron-main/nativeHelpers.test.ts index 199fa7acaf7..1ce46448038 100644 --- a/src/vs/code/test/electron-main/nativeHelpers.test.ts +++ b/src/vs/code/test/electron-main/nativeHelpers.test.ts @@ -28,9 +28,8 @@ suite('Windows Native Helpers', () => { }); test('vscode-windows-ca-certs', async () => { - const windowsCerts = await new Promise((resolve, reject) => { - require(['vscode-windows-ca-certs'], resolve, reject); - }); + // @ts-ignore Windows only + const windowsCerts = await import('vscode-windows-ca-certs'); assert.ok(windowsCerts, 'Unable to load vscode-windows-ca-certs dependency.'); }); diff --git a/src/vs/platform/credentials/node/credentialsService.ts b/src/vs/platform/credentials/node/credentialsService.ts index cce2f77f6b3..0960eb9a542 100644 --- a/src/vs/platform/credentials/node/credentialsService.ts +++ b/src/vs/platform/credentials/node/credentialsService.ts @@ -3,15 +3,15 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +import type * as keytar from 'keytar'; import { ICredentialsService } from 'vs/platform/credentials/common/credentials'; import { IdleValue } from 'vs/base/common/async'; -type KeytarModule = typeof import('keytar'); export class KeytarCredentialsService implements ICredentialsService { declare readonly _serviceBrand: undefined; - private readonly _keytar = new IdleValue>(() => import('keytar')); + private readonly _keytar = new IdleValue>(() => import('keytar')); async getPassword(service: string, account: string): Promise { const keytar = await this._keytar.value; diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index 72ca9a6ab07..92cc77b5b03 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -610,7 +610,7 @@ class NativeMenubarControl extends MenubarControl { @IStorageService storageService: IStorageService, @INotificationService notificationService: INotificationService, @IPreferencesService preferencesService: IPreferencesService, - @IWorkbenchEnvironmentService protected readonly environmentService: INativeWorkbenchEnvironmentService, + @IWorkbenchEnvironmentService protected readonly environmentService: IWorkbenchEnvironmentService, @IAccessibilityService accessibilityService: IAccessibilityService, @IMenubarService private readonly menubarService: IMenubarService, @IHostService hostService: IHostService, diff --git a/src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts b/src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts index 5834d7e9023..166a53e48e1 100644 --- a/src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts +++ b/src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts @@ -41,23 +41,21 @@ export class NativeAccessibilityService extends AccessibilityService implements this.setAccessibilitySupport(environmentService.configuration.accessibilitySupport ? AccessibilitySupport.Enabled : AccessibilitySupport.Disabled); } - alwaysUnderlineAccessKeys(): Promise { + async alwaysUnderlineAccessKeys(): Promise { if (!isWindows) { - return Promise.resolve(false); + return false; } - return new Promise(async (resolve) => { - const Registry = await import('vscode-windows-registry'); + const Registry = await import('vscode-windows-registry'); - let value; - try { - value = Registry.GetStringRegKey('HKEY_CURRENT_USER', 'Control Panel\\Accessibility\\Keyboard Preference', 'On'); - } catch { - resolve(false); - } + let value: string | undefined = undefined; + try { + value = Registry.GetStringRegKey('HKEY_CURRENT_USER', 'Control Panel\\Accessibility\\Keyboard Preference', 'On'); + } catch { + return false; + } - resolve(value === '1'); - }); + return value === '1'; } setAccessibilitySupport(accessibilitySupport: AccessibilitySupport): void { diff --git a/src/vs/workbench/services/extensions/node/proxyResolver.ts b/src/vs/workbench/services/extensions/node/proxyResolver.ts index 9c1fa07fd8e..3a9f49c4471 100644 --- a/src/vs/workbench/services/extensions/node/proxyResolver.ts +++ b/src/vs/workbench/services/extensions/node/proxyResolver.ts @@ -493,9 +493,8 @@ async function readCaCertificates() { } async function readWindowsCaCertificates() { - const winCA = await new Promise((resolve, reject) => { - require(['vscode-windows-ca-certs'], resolve, reject); - }); + // @ts-ignore Windows only + const winCA = await import('vscode-windows-ca-certs'); let ders: any[] = []; const store = winCA(); -- GitLab