From 37c5c722c382a3b2b8db15dce218e0c3945929a6 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 3 Sep 2018 07:33:11 +0200 Subject: [PATCH] debt - bring layering rules up to speed --- src/vs/base/node/zip.ts | 2 + src/vs/code/electron-main/app.ts | 4 +- .../platform/driver/electron-main/driver.ts | 2 + .../issue/electron-main/issueService.ts | 2 + .../electron-browser/label.contribution.ts | 2 + .../menubar/electron-main/menubarService.ts | 2 + .../inactiveExtensionUrlHandler.ts | 2 + tslint.json | 106 ++++++++++++++---- 8 files changed, 99 insertions(+), 23 deletions(-) diff --git a/src/vs/base/node/zip.ts b/src/vs/base/node/zip.ts index 9348104b49a..077f5d9c204 100644 --- a/src/vs/base/node/zip.ts +++ b/src/vs/base/node/zip.ts @@ -12,6 +12,8 @@ import { mkdirp, rimraf } from 'vs/base/node/pfs'; import { TPromise } from 'vs/base/common/winjs.base'; import { open as _openZip, Entry, ZipFile } from 'yauzl'; import * as yazl from 'yazl'; +// TODO@sandeep bad layering +// tslint:disable-next-line:import-patterns import { ILogService } from 'vs/platform/log/common/log'; import { CancellationToken } from 'vs/base/common/cancellation'; import { once } from 'vs/base/common/event'; diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 9b0dbe054cc..258608d91bb 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -19,7 +19,7 @@ import { Server as ElectronIPCServer } from 'vs/base/parts/ipc/electron-main/ipc import { Server, connect, Client } from 'vs/base/parts/ipc/node/ipc.net'; import { SharedProcess } from 'vs/code/electron-main/sharedProcess'; import { Mutex } from 'windows-mutex'; -import { LaunchService, LaunchChannel, ILaunchService } from './launch'; +import { LaunchService, LaunchChannel, ILaunchService } from 'vs/code/electron-main/launch'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; @@ -37,7 +37,7 @@ import { resolveCommonProperties } from 'vs/platform/telemetry/node/commonProper import { getDelayedChannel } from 'vs/base/parts/ipc/node/ipc'; import product from 'vs/platform/node/product'; import pkg from 'vs/platform/node/package'; -import { ProxyAuthHandler } from './auth'; +import { ProxyAuthHandler } from 'vs/code/electron-main/auth'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; import { TPromise } from 'vs/base/common/winjs.base'; diff --git a/src/vs/platform/driver/electron-main/driver.ts b/src/vs/platform/driver/electron-main/driver.ts index a17e1d9ac75..c602224c96b 100644 --- a/src/vs/platform/driver/electron-main/driver.ts +++ b/src/vs/platform/driver/electron-main/driver.ts @@ -19,7 +19,9 @@ import { Emitter, toPromise } from 'vs/base/common/event'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; // TODO@joao: bad layering! +// tslint:disable-next-line:import-patterns import { KeybindingIO } from 'vs/workbench/services/keybinding/common/keybindingIO'; +// tslint:disable-next-line:import-patterns import { ScanCodeBinding } from 'vs/workbench/services/keybinding/common/scanCode'; import { toWinJsPromise } from 'vs/base/common/async'; diff --git a/src/vs/platform/issue/electron-main/issueService.ts b/src/vs/platform/issue/electron-main/issueService.ts index cd8d79492cd..1ed0962b9ca 100644 --- a/src/vs/platform/issue/electron-main/issueService.ts +++ b/src/vs/platform/issue/electron-main/issueService.ts @@ -11,7 +11,9 @@ import * as objects from 'vs/base/common/objects'; import { parseArgs } from 'vs/platform/environment/node/argv'; import { IIssueService, IssueReporterData, IssueReporterFeatures, ProcessExplorerData } from 'vs/platform/issue/common/issue'; import { BrowserWindow, ipcMain, screen, Event } from 'electron'; +// tslint:disable-next-line:import-patterns import { ILaunchService } from 'vs/code/electron-main/launch'; +// tslint:disable-next-line:import-patterns import { getPerformanceInfo, PerformanceInfo, getSystemInfo, SystemInfo } from 'vs/code/electron-main/diagnostics'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { isMacintosh, IProcessEnvironment } from 'vs/base/common/platform'; diff --git a/src/vs/platform/label/electron-browser/label.contribution.ts b/src/vs/platform/label/electron-browser/label.contribution.ts index 2142f1f8fa6..68bd62b54a7 100644 --- a/src/vs/platform/label/electron-browser/label.contribution.ts +++ b/src/vs/platform/label/electron-browser/label.contribution.ts @@ -3,6 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +// TODO@Isidor bad layering +// tslint:disable-next-line:import-patterns import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { ILabelService } from 'vs/platform/label/common/label'; import { ipcRenderer as ipc } from 'electron'; diff --git a/src/vs/platform/menubar/electron-main/menubarService.ts b/src/vs/platform/menubar/electron-main/menubarService.ts index 7d7997c6812..b048a552cb7 100644 --- a/src/vs/platform/menubar/electron-main/menubarService.ts +++ b/src/vs/platform/menubar/electron-main/menubarService.ts @@ -6,6 +6,8 @@ 'use strict'; import { IMenubarService, IMenubarData, IMenubarKeybinding } from 'vs/platform/menubar/common/menubar'; +// TODO@sbatten bad layering +// tslint:disable-next-line:import-patterns import { Menubar } from 'vs/code/electron-main/menubar'; import { ILogService } from 'vs/platform/log/common/log'; import { TPromise } from 'vs/base/common/winjs.base'; diff --git a/src/vs/platform/url/electron-browser/inactiveExtensionUrlHandler.ts b/src/vs/platform/url/electron-browser/inactiveExtensionUrlHandler.ts index ffc232d2f09..f5e9eedca48 100644 --- a/src/vs/platform/url/electron-browser/inactiveExtensionUrlHandler.ts +++ b/src/vs/platform/url/electron-browser/inactiveExtensionUrlHandler.ts @@ -6,6 +6,8 @@ import { IURLService, IURLHandler } from 'vs/platform/url/common/url'; import URI from 'vs/base/common/uri'; import { TPromise } from 'vs/base/common/winjs.base'; +// TODO@Joao bad layering +// tslint:disable-next-line:import-patterns import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IDisposable, toDisposable, combinedDisposable } from 'vs/base/common/lifecycle'; diff --git a/tslint.json b/tslint.json index 1fcafd325b6..7f1388dfa76 100644 --- a/tslint.json +++ b/tslint.json @@ -51,7 +51,6 @@ // !!! Do not relax these rules !!! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! { - // vs/base/common cannot depend on anything else "target": "**/vs/base/common/**", "restrictions": [ "vs/nls", @@ -59,7 +58,6 @@ ] }, { - // vs/base/test/common contains tests for vs/base/common "target": "**/vs/base/test/common/**", "restrictions": [ "assert", @@ -69,7 +67,6 @@ ] }, { - // vs/base/browser can only depend on vs/base/common "target": "**/vs/base/browser/**", "restrictions": [ "vs/nls", @@ -77,6 +74,14 @@ "**/vs/base/{common,browser}/**" ] }, + { + "target": "**/vs/base/node/**", + "restrictions": [ + "vs/nls", + "**/vs/base/{common,browser,node}/**", + "*" // node modules + ] + }, { // vs/base/test/browser contains tests for vs/base/browser "target": "**/vs/base/test/browser/**", @@ -104,6 +109,34 @@ "**/vs/base/parts/*/{common,browser}/**" ] }, + { + "target": "**/vs/base/parts/*/node/**", + "restrictions": [ + "vs/nls", + "**/vs/base/{common,browser,node}/**", + "**/vs/base/parts/*/{common,browser,node}/**", + "*" // node modules + ] + }, + { + "target": "**/vs/base/parts/*/electron-browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/vs/base/{common,browser,node,electron-browser}/**", + "**/vs/base/parts/*/{common,browser,node,electron-browser}/**", + "*" // node modules + ] + }, + { + "target": "**/vs/base/parts/*/electron-main/**", + "restrictions": [ + "vs/nls", + "**/vs/base/{common,browser,node,electron-main}/**", + "**/vs/base/parts/*/{common,browser,node,electron-main}/**", + "*" // node modules + ] + }, { "target": "**/vs/platform/*/common/**", "restrictions": [ @@ -134,6 +167,40 @@ "**/vs/platform/*/{common,browser}/**" ] }, + { + "target": "**/vs/platform/*/node/**", + "restrictions": [ + "vs/nls", + "**/vs/base/{common,browser,node}/**", + "**/vs/base/parts/*/{common,browser,node}/**", + "**/vs/platform/node/*", + "**/vs/platform/*/{common,browser,node}/**", + "*" // node modules + ] + }, + { + "target": "**/vs/platform/*/electron-browser/**", + "restrictions": [ + "vs/nls", + "vs/css!./**/*", + "**/vs/base/{common,browser,node}/**", + "**/vs/base/parts/*/{common,browser,node,electron-browser}/**", + "**/vs/platform/node/*", + "**/vs/platform/*/{common,browser,node,electron-browser}/**", + "*" // node modules + ] + }, + { + "target": "**/vs/platform/*/electron-main/**", + "restrictions": [ + "vs/nls", + "**/vs/base/{common,browser,node}/**", + "**/vs/base/parts/*/{common,browser,node,electron-browser}/**", + "**/vs/platform/node/*", + "**/vs/platform/*/{common,browser,node,electron-main}/**", + "*" // node modules + ] + }, { "target": "**/vs/platform/*/test/browser/**", "restrictions": [ @@ -268,7 +335,6 @@ "target": "**/vs/workbench/common/**", "restrictions": [ "vs/nls", - "vs/css!./**/*", "**/vs/base/common/**", "**/vs/base/parts/*/common/**", "**/vs/platform/*/common/**", @@ -320,7 +386,6 @@ "target": "**/vs/workbench/node/**", "restrictions": [ "vs/nls", - "vs/css!./**/*", "**/vs/base/{common,node}/**", "**/vs/base/parts/*/{common,node}/**", "**/vs/platform/node/**", @@ -351,7 +416,6 @@ "target": "**/vs/workbench/services/**/common/**", "restrictions": [ "vs/nls", - "vs/css!./**/*", "**/vs/base/**/common/**", "**/vs/platform/**/common/**", "**/vs/editor/common/**", @@ -375,7 +439,6 @@ "target": "**/vs/workbench/services/**/node/**", "restrictions": [ "vs/nls", - "vs/css!./**/*", "**/vs/base/**/{common,node}/**", "**/vs/platform/**/{common,node}/**", "**/vs/editor/{common,node}/**", @@ -398,14 +461,13 @@ ] }, { - "target": "**/vs/code/electron-browser/**", + "target": "**/vs/code/node/**", "restrictions": [ "vs/nls", - "vs/css!./**/*", - "vs/nls", - "**/vs/base/**", - "**/vs/platform/**", - "**/vs/code/**", + "**/vs/base/**/{common,browser,node}/**", + "**/vs/base/parts/**/{common,browser,node}/**", + "**/vs/platform/**/{common,browser,node}/**", + "**/vs/code/**/{common,browser,node}/**", "*" // node modules ] }, @@ -414,20 +476,22 @@ "restrictions": [ "vs/nls", "vs/css!./**/*", - "vs/nls", - "**/vs/base/**", - "**/vs/platform/**", - "**/vs/code/**", + "**/vs/base/**/{common,browser,node,electron-browser}/**", + "**/vs/base/parts/**/{common,browser,node,electron-browser}/**", + "**/vs/platform/**/{common,browser,node,electron-browser}/**", + "**/vs/code/**/{common,browser,node,electron-browser}/**", "*" // node modules ] }, { - "target": "**/vs/code/**", + "target": "**/vs/code/electron-main/**", "restrictions": [ "vs/nls", - "**/vs/base/**", - "**/vs/platform/**", - "**/vs/code/**", + "**/vs/base/**/{common,browser,node}/**", + "**/vs/base/parts/**/{common,browser,node,electron-main}/**", + "**/vs/platform/**/{common,browser,node,electron-main}/**", + "**/vs/code/**/{common,browser,node,electron-main}/**", + "**/vs/code/code.main", "*" // node modules ] },