From c204f6d5a47dd21d96b7ec52c38bdd77420a0822 Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Fri, 21 Dec 2018 21:21:33 +0100 Subject: [PATCH] use providedIn --- terminus-core/src/index.ts | 27 +------------------ terminus-core/src/services/app.service.ts | 2 +- terminus-core/src/services/config.service.ts | 2 +- terminus-core/src/services/docking.service.ts | 2 +- .../src/services/electron.service.ts | 2 +- .../src/services/homeBase.service.ts | 2 +- terminus-core/src/services/hostApp.service.ts | 2 +- terminus-core/src/services/hotkeys.service.ts | 2 +- terminus-core/src/services/log.service.ts | 2 +- .../src/services/shellIntegration.service.ts | 2 +- .../src/services/tabRecovery.service.ts | 2 +- terminus-core/src/services/themes.service.ts | 2 +- .../src/services/touchbar.service.ts | 2 +- terminus-core/src/services/updater.service.ts | 2 +- terminus-plugin-manager/src/index.ts | 1 - .../src/services/pluginManager.service.ts | 2 +- terminus-ssh/src/index.ts | 4 --- .../src/services/passwordStorage.service.ts | 3 ++- terminus-ssh/src/services/ssh.service.ts | 3 ++- terminus-terminal/src/index.ts | 7 +---- .../src/services/dockMenu.service.ts | 2 +- .../src/services/sessions.service.ts | 4 +-- .../src/services/terminal.service.ts | 2 +- .../src/services/terminalFrontend.service.ts | 2 +- 24 files changed, 25 insertions(+), 58 deletions(-) diff --git a/terminus-core/src/index.ts b/terminus-core/src/index.ts index 3c6d6ba2..0d755dc7 100644 --- a/terminus-core/src/index.ts +++ b/terminus-core/src/index.ts @@ -6,19 +6,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { PerfectScrollbarModule, PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar' import { DndModule } from 'ng2-dnd' -import { AppService } from './services/app.service' -import { ConfigService } from './services/config.service' -import { ElectronService } from './services/electron.service' -import { HostAppService } from './services/hostApp.service' -import { LogService } from './services/log.service' -import { HomeBaseService } from './services/homeBase.service' -import { HotkeysService, AppHotkeyProvider } from './services/hotkeys.service' -import { DockingService } from './services/docking.service' -import { ShellIntegrationService } from './services/shellIntegration.service' -import { TabRecoveryService } from './services/tabRecovery.service' -import { ThemesService } from './services/themes.service' -import { TouchbarService } from './services/touchbar.service' -import { UpdaterService } from './services/updater.service' +import { AppHotkeyProvider } from './services/hotkeys.service' import { AppRootComponent } from './components/appRoot.component' import { CheckboxComponent } from './components/checkbox.component' @@ -44,19 +32,6 @@ import 'perfect-scrollbar/css/perfect-scrollbar.css' import 'ng2-dnd/bundles/style.css' const PROVIDERS = [ - AppService, - ConfigService, - DockingService, - ElectronService, - HomeBaseService, - HostAppService, - HotkeysService, - LogService, - ShellIntegrationService, - TabRecoveryService, - ThemesService, - TouchbarService, - UpdaterService, { provide: HotkeyProvider, useClass: AppHotkeyProvider, multi: true }, { provide: Theme, useClass: StandardTheme, multi: true }, { provide: Theme, useClass: StandardCompactTheme, multi: true }, diff --git a/terminus-core/src/services/app.service.ts b/terminus-core/src/services/app.service.ts index fef30982..1dd90595 100644 --- a/terminus-core/src/services/app.service.ts +++ b/terminus-core/src/services/app.service.ts @@ -35,7 +35,7 @@ class CompletionObserver { } } -@Injectable() +@Injectable({ providedIn: 'root' }) export class AppService { tabs: BaseTabComponent[] = [] activeTab: BaseTabComponent diff --git a/terminus-core/src/services/config.service.ts b/terminus-core/src/services/config.service.ts index a57500ab..fc13e6fd 100644 --- a/terminus-core/src/services/config.service.ts +++ b/terminus-core/src/services/config.service.ts @@ -74,7 +74,7 @@ export class ConfigProxy { setValue (key: string, value: any) { } // tslint:disable-line } -@Injectable() +@Injectable({ providedIn: 'root' }) export class ConfigService { store: any restartRequested: boolean diff --git a/terminus-core/src/services/docking.service.ts b/terminus-core/src/services/docking.service.ts index 018522f7..a8eb2a8a 100644 --- a/terminus-core/src/services/docking.service.ts +++ b/terminus-core/src/services/docking.service.ts @@ -8,7 +8,7 @@ export interface IScreen { name: string } -@Injectable() +@Injectable({ providedIn: 'root' }) export class DockingService { constructor ( private electron: ElectronService, diff --git a/terminus-core/src/services/electron.service.ts b/terminus-core/src/services/electron.service.ts index 4a53c5c4..89920f22 100644 --- a/terminus-core/src/services/electron.service.ts +++ b/terminus-core/src/services/electron.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core' import { TouchBar, BrowserWindow, Menu, MenuItem } from 'electron' -@Injectable() +@Injectable({ providedIn: 'root' }) export class ElectronService { app: any ipcRenderer: any diff --git a/terminus-core/src/services/homeBase.service.ts b/terminus-core/src/services/homeBase.service.ts index 24334c67..75c72574 100644 --- a/terminus-core/src/services/homeBase.service.ts +++ b/terminus-core/src/services/homeBase.service.ts @@ -5,7 +5,7 @@ import { ConfigService } from './config.service' import ua = require('universal-analytics') import uuidv4 = require('uuid/v4') -@Injectable() +@Injectable({ providedIn: 'root' }) export class HomeBaseService { appVersion: string diff --git a/terminus-core/src/services/hostApp.service.ts b/terminus-core/src/services/hostApp.service.ts index d7ed0b24..6c3245d7 100644 --- a/terminus-core/src/services/hostApp.service.ts +++ b/terminus-core/src/services/hostApp.service.ts @@ -16,7 +16,7 @@ export interface Bounds { height: number } -@Injectable() +@Injectable({ providedIn: 'root' }) export class HostAppService { platform: Platform nodePlatform: string diff --git a/terminus-core/src/services/hotkeys.service.ts b/terminus-core/src/services/hotkeys.service.ts index d8a6ffd0..f921f338 100644 --- a/terminus-core/src/services/hotkeys.service.ts +++ b/terminus-core/src/services/hotkeys.service.ts @@ -17,7 +17,7 @@ interface EventBufferEntry { time: number, } -@Injectable() +@Injectable({ providedIn: 'root' }) export class HotkeysService { key = new EventEmitter() matchedHotkey = new EventEmitter() diff --git a/terminus-core/src/services/log.service.ts b/terminus-core/src/services/log.service.ts index 20023510..cfa1579e 100644 --- a/terminus-core/src/services/log.service.ts +++ b/terminus-core/src/services/log.service.ts @@ -53,7 +53,7 @@ export class Logger { log (...args: any[]) { this.doLog('log', ...args) } } -@Injectable() +@Injectable({ providedIn: 'root' }) export class LogService { private log: any diff --git a/terminus-core/src/services/shellIntegration.service.ts b/terminus-core/src/services/shellIntegration.service.ts index f55dcb6a..8ec2f079 100644 --- a/terminus-core/src/services/shellIntegration.service.ts +++ b/terminus-core/src/services/shellIntegration.service.ts @@ -6,7 +6,7 @@ import { Injectable } from '@angular/core' import { ElectronService } from './electron.service' import { HostAppService, Platform } from './hostApp.service' -@Injectable() +@Injectable({ providedIn: 'root' }) export class ShellIntegrationService { private automatorWorkflows = ['Open Terminus here.workflow', 'Paste path into Terminus.workflow'] private automatorWorkflowsLocation: string diff --git a/terminus-core/src/services/tabRecovery.service.ts b/terminus-core/src/services/tabRecovery.service.ts index f1678503..1c572874 100644 --- a/terminus-core/src/services/tabRecovery.service.ts +++ b/terminus-core/src/services/tabRecovery.service.ts @@ -5,7 +5,7 @@ import { Logger, LogService } from '../services/log.service' import { AppService } from '../services/app.service' import { ConfigService } from '../services/config.service' -@Injectable() +@Injectable({ providedIn: 'root' }) export class TabRecoveryService { logger: Logger diff --git a/terminus-core/src/services/themes.service.ts b/terminus-core/src/services/themes.service.ts index ce5c65db..6a2958a0 100644 --- a/terminus-core/src/services/themes.service.ts +++ b/terminus-core/src/services/themes.service.ts @@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core' import { ConfigService } from '../services/config.service' import { Theme } from '../api/theme' -@Injectable() +@Injectable({ providedIn: 'root' }) export class ThemesService { private styleElement: HTMLElement = null diff --git a/terminus-core/src/services/touchbar.service.ts b/terminus-core/src/services/touchbar.service.ts index b7bde349..8bd3dacd 100644 --- a/terminus-core/src/services/touchbar.service.ts +++ b/terminus-core/src/services/touchbar.service.ts @@ -6,7 +6,7 @@ import { ElectronService } from './electron.service' import { HostAppService } from './hostApp.service' import { IToolbarButton, ToolbarButtonProvider } from '../api' -@Injectable() +@Injectable({ providedIn: 'root' }) export class TouchbarService { private tabsSegmentedControl: TouchBarSegmentedControl private tabSegments: SegmentedControlSegment[] = [] diff --git a/terminus-core/src/services/updater.service.ts b/terminus-core/src/services/updater.service.ts index 8fa8ac46..c70b97cd 100644 --- a/terminus-core/src/services/updater.service.ts +++ b/terminus-core/src/services/updater.service.ts @@ -6,7 +6,7 @@ import { ElectronService } from './electron.service' const UPDATES_URL = 'https://api.github.com/repos/eugeny/terminus/releases/latest' -@Injectable() +@Injectable({ providedIn: 'root' }) export class UpdaterService { private logger: Logger private downloaded: Promise diff --git a/terminus-plugin-manager/src/index.ts b/terminus-plugin-manager/src/index.ts index e0912491..ca1c2c1c 100644 --- a/terminus-plugin-manager/src/index.ts +++ b/terminus-plugin-manager/src/index.ts @@ -22,7 +22,6 @@ import { PluginsSettingsTabProvider } from './settings' providers: [ { provide: SettingsTabProvider, useClass: PluginsSettingsTabProvider, multi: true }, { provide: ConfigProvider, useClass: PluginsConfigProvider, multi: true }, - PluginManagerService, ], entryComponents: [ PluginsSettingsTabComponent, diff --git a/terminus-plugin-manager/src/services/pluginManager.service.ts b/terminus-plugin-manager/src/services/pluginManager.service.ts index 41f9755d..7beba457 100644 --- a/terminus-plugin-manager/src/services/pluginManager.service.ts +++ b/terminus-plugin-manager/src/services/pluginManager.service.ts @@ -23,7 +23,7 @@ export interface IPluginInfo { path?: string } -@Injectable() +@Injectable({ providedIn: 'root' }) export class PluginManagerService { logger: Logger builtinPluginsPath: string = (window as any).builtinPluginsPath diff --git a/terminus-ssh/src/index.ts b/terminus-ssh/src/index.ts index d0ef1e36..81f252ba 100644 --- a/terminus-ssh/src/index.ts +++ b/terminus-ssh/src/index.ts @@ -11,8 +11,6 @@ import { EditConnectionModalComponent } from './components/editConnectionModal.c import { SSHModalComponent } from './components/sshModal.component' import { PromptModalComponent } from './components/promptModal.component' import { SSHSettingsTabComponent } from './components/sshSettingsTab.component' -import { SSHService } from './services/ssh.service' -import { PasswordStorageService } from './services/passwordStorage.service' import { ButtonProvider } from './buttonProvider' import { SSHConfigProvider } from './config' @@ -27,8 +25,6 @@ import { SSHSettingsTabProvider } from './settings' TerminusCoreModule, ], providers: [ - PasswordStorageService, - SSHService, { provide: ToolbarButtonProvider, useClass: ButtonProvider, multi: true }, { provide: ConfigProvider, useClass: SSHConfigProvider, multi: true }, { provide: SettingsTabProvider, useClass: SSHSettingsTabProvider, multi: true }, diff --git a/terminus-ssh/src/services/passwordStorage.service.ts b/terminus-ssh/src/services/passwordStorage.service.ts index 83e367ef..7fbcbd35 100644 --- a/terminus-ssh/src/services/passwordStorage.service.ts +++ b/terminus-ssh/src/services/passwordStorage.service.ts @@ -1,5 +1,6 @@ import { Injectable, NgZone } from '@angular/core' import { SSHConnection } from '../api' +import SSHModule from '..' let xkeychain let wincredmgr @@ -13,7 +14,7 @@ try { } } -@Injectable() +@Injectable({ providedIn: SSHModule }) export class PasswordStorageService { constructor ( private zone: NgZone, diff --git a/terminus-ssh/src/services/ssh.service.ts b/terminus-ssh/src/services/ssh.service.ts index b544fda7..0abf41ab 100644 --- a/terminus-ssh/src/services/ssh.service.ts +++ b/terminus-ssh/src/services/ssh.service.ts @@ -9,6 +9,7 @@ import { TerminalTabComponent } from 'terminus-terminal' import { SSHConnection, SSHSession } from '../api' import { PromptModalComponent } from '../components/promptModal.component' import { PasswordStorageService } from './passwordStorage.service' +import SSHModule from '..' const { SSH2Stream } = require('ssh2-streams') let windowsProcessTree @@ -17,7 +18,7 @@ try { } catch (e) { } // tslint:disable-line -@Injectable() +@Injectable({ providedIn: SSHModule }) export class SSHService { private logger: Logger diff --git a/terminus-terminal/src/index.ts b/terminus-terminal/src/index.ts index f9e737c3..6759f3b3 100644 --- a/terminus-terminal/src/index.ts +++ b/terminus-terminal/src/index.ts @@ -19,7 +19,7 @@ import { ColorPickerComponent } from './components/colorPicker.component' import { EditProfileModalComponent } from './components/editProfileModal.component' import { EnvironmentEditorComponent } from './components/environmentEditor.component' -import { SessionsService, BaseSession } from './services/sessions.service' +import { BaseSession } from './services/sessions.service' import { TerminalFrontendService } from './services/terminalFrontend.service' import { TerminalService } from './services/terminal.service' import { DockMenuService } from './services/dockMenu.service' @@ -57,11 +57,6 @@ import { hterm } from './hterm' TerminusCorePlugin, ], providers: [ - SessionsService, - TerminalFrontendService, - TerminalService, - DockMenuService, - { provide: SettingsTabProvider, useClass: AppearanceSettingsTabProvider, multi: true }, { provide: SettingsTabProvider, useClass: ShellSettingsTabProvider, multi: true }, { provide: SettingsTabProvider, useClass: TerminalSettingsTabProvider, multi: true }, diff --git a/terminus-terminal/src/services/dockMenu.service.ts b/terminus-terminal/src/services/dockMenu.service.ts index 1adb962d..04f0ed42 100644 --- a/terminus-terminal/src/services/dockMenu.service.ts +++ b/terminus-terminal/src/services/dockMenu.service.ts @@ -2,7 +2,7 @@ import { NgZone, Injectable } from '@angular/core' import { ElectronService, ConfigService, HostAppService, Platform } from 'terminus-core' import { TerminalService } from './terminal.service' -@Injectable() +@Injectable({ providedIn: 'root' }) export class DockMenuService { appVersion: string diff --git a/terminus-terminal/src/services/sessions.service.ts b/terminus-terminal/src/services/sessions.service.ts index 0709f96a..9b7871fc 100644 --- a/terminus-terminal/src/services/sessions.service.ts +++ b/terminus-terminal/src/services/sessions.service.ts @@ -6,7 +6,7 @@ import { first } from 'rxjs/operators' import { Injectable } from '@angular/core' import { Logger, LogService, ConfigService } from 'terminus-core' import { exec } from 'mz/child_process' - +import TerminalModule from '..' import { SessionOptions } from '../api' let macOSNativeProcessList @@ -248,7 +248,7 @@ export class Session extends BaseSession { } } -@Injectable() +@Injectable({ providedIn: TerminalModule }) export class SessionsService { sessions: {[id: string]: BaseSession} = {} logger: Logger diff --git a/terminus-terminal/src/services/terminal.service.ts b/terminus-terminal/src/services/terminal.service.ts index d6def558..b776fb0d 100644 --- a/terminus-terminal/src/services/terminal.service.ts +++ b/terminus-terminal/src/services/terminal.service.ts @@ -4,7 +4,7 @@ import { AppService, Logger, LogService, ConfigService } from 'terminus-core' import { IShell, ShellProvider, SessionOptions } from '../api' import { TerminalTabComponent } from '../components/terminalTab.component' -@Injectable() +@Injectable({ providedIn: 'root' }) export class TerminalService { private shells = new AsyncSubject() private logger: Logger diff --git a/terminus-terminal/src/services/terminalFrontend.service.ts b/terminus-terminal/src/services/terminalFrontend.service.ts index 5978c30b..63426fc3 100644 --- a/terminus-terminal/src/services/terminalFrontend.service.ts +++ b/terminus-terminal/src/services/terminalFrontend.service.ts @@ -5,7 +5,7 @@ import { HTermFrontend } from '../frontends/htermFrontend' import { XTermFrontend } from '../frontends/xtermFrontend' import { BaseSession } from '../services/sessions.service' -@Injectable() +@Injectable({ providedIn: 'root' }) export class TerminalFrontendService { private containers = new WeakMap()