Skip to content
This repository was archived by the owner on Jul 25, 2022. It is now read-only.

Commit d64d784

Browse files
committed
refactor: Add relative path to imports
1 parent 9a61872 commit d64d784

39 files changed

+191
-163
lines changed

app/Terminal.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import XTerminalFactory from './factories/XTerminalFactory';
2-
import PtyProcessFactory from './factories/process/PtyProcessFactory';
3-
import { IConfig, IShell, ISSHHost } from '../common/config/Config';
4-
import ProcessFactory from './factories/ProcessFactory';
1+
import XTerminalFactory from '@app/factories/XTerminalFactory';
2+
import PtyProcessFactory from '@app/factories/process/PtyProcessFactory';
3+
import { IConfig, IShell, ISSHHost } from '@common/config/Config';
4+
import ProcessFactory from '@app/factories/ProcessFactory';
55
import { IPty } from 'node-pty';
66
import { Client } from 'ssh2';
7-
import SSHProcessFactory from './factories/process/SSHProcessFactory';
7+
import SSHProcessFactory from '@app/factories/process/SSHProcessFactory';
88
import { Terminal as XTerminal } from 'xterm';
9-
import { isTerminalSSH } from '../common/utils/utils';
9+
import { isTerminalSSH } from '@common/utils/utils';
1010

1111
export type ProcessType = IPty | Client;
1212
export type TerminalType = ISSHHost | IShell;
@@ -24,7 +24,7 @@ export default class Terminal {
2424
this.xTerminal = new XTerminalFactory(config);
2525

2626
const isSSH = isTerminalSSH(terminalType);
27-
this.process = isSSH ? new SSHProcessFactory() : new PtyProcessFactory();
27+
this.process = isSSH ? new SSHProcessFactory() : new PtyProcessFactory();
2828

2929
const terminal = this.xTerminal.build({
3030

app/addons/AddonsProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { Addon, AddonType } from './Addons';
1+
import { Addon, AddonType } from '@app/addons/Addons';
22
import { FitAddon } from 'xterm-addon-fit';
33
import { Unicode11Addon } from 'xterm-addon-unicode11';
44
import { LigaturesAddon } from 'xterm-addon-ligatures';
55
import { WebglAddon } from 'xterm-addon-webgl';
66
import { WebLinksAddon } from 'xterm-addon-web-links';
77
import { ITerminalAddon, Terminal as XTerminal } from 'xterm';
88
import { shell } from 'electron';
9-
import { IConfig } from '../../common/config/Config';
9+
import { IConfig } from '@common/config/Config';
1010

1111
export default class AddonsProvider {
1212

app/factories/ProcessFactory.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { Factory, FactoryBuildParams } from '../../common/factories/Factory';
2-
import { UndefinedObject } from '../../common/types/types';
1+
import { Factory, FactoryBuildParams } from '@common/factories/Factory';
2+
import { UndefinedObject } from '@common/types/types';
33
import { Terminal as XTerminal } from 'xterm';
44

55
export default abstract class ProcessFactory<T> implements Factory<T> {

app/factories/XTerminalFactory.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { ITerminalAddon, Terminal as XTerminal } from 'xterm';
2-
import { Factory } from '../../common/factories/Factory';
3-
import { UndefinedObject } from '../../common/types/types';
2+
import { Factory } from '@common/factories/Factory';
3+
import { UndefinedObject } from '@common/types/types';
44
import { clipboard } from 'electron';
55
import { FitAddon } from 'xterm-addon-fit';
6-
import { AddonType } from '../addons/Addons';
7-
import AddonsProvider from '../addons/AddonsProvider';
8-
import { IConfig } from '../../common/config/Config';
9-
import { isWin } from '../../common/utils/utils';
10-
import ProcessFactory from './ProcessFactory';
11-
import { ProcessType } from '../Terminal';
6+
import { AddonType } from '@app/addons/Addons';
7+
import AddonsProvider from '@app/addons/AddonsProvider';
8+
import { IConfig } from '@common/config/Config';
9+
import { isWin } from '@common/utils/utils';
10+
import ProcessFactory from '@app/factories/ProcessFactory';
11+
import { ProcessType } from '@app/Terminal';
1212

1313
export default class XTerminalFactory implements Factory<XTerminal> {
1414

app/factories/process/PtyProcessFactory.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { UndefinedObject } from '../../../common/types/types';
1+
import { UndefinedObject } from '@common/types/types';
22
import { IPty } from 'node-pty';
33
import * as pty from 'node-pty';
44
import { Terminal as XTerminal } from 'xterm';
5-
import ProcessFactory from '../ProcessFactory';
5+
import ProcessFactory from '@app/factories/ProcessFactory';
66

77
export default class PtyProcessFactory extends ProcessFactory<IPty>{
88

app/factories/process/SSHProcessFactory.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Client, ClientChannel, ClientErrorExtensions } from 'ssh2';
2-
import { UndefinedObject } from '../../../common/types/types';
2+
import { UndefinedObject } from '@common/types/types';
33
import { Terminal as XTerminal } from 'xterm';
4-
import ProcessFactory from '../ProcessFactory';
4+
import ProcessFactory from '@app/factories/ProcessFactory';
55

66
export default class SSHProcessFactory extends ProcessFactory<Client> {
77

@@ -43,7 +43,7 @@ export default class SSHProcessFactory extends ProcessFactory<Client> {
4343
rows: terminal.rows,
4444
cols: terminal.cols,
4545
}, (err: Error | undefined, channel: ClientChannel) => {
46-
46+
4747
if(err)
4848
onClose();
4949

app/store/notifications/actions.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { INotification } from '../../../common/notifications/notification';
2-
import { NotificationsAction } from '../types';
1+
import { INotification } from '@common/notifications/notification';
2+
import { NotificationsAction } from '@app/store/types';
33

44
export enum NOTIFICATIONS_ACTION_TYPES {
55

app/store/notifications/reducer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { NotificationsState, NotificationsAction } from '../types';
2-
import { NOTIFICATIONS_ACTION_TYPES } from './actions';
1+
import { NotificationsState, NotificationsAction } from '@app/store/types';
2+
import { NOTIFICATIONS_ACTION_TYPES } from '@app/store/notifications/actions';
33

4-
// Set initial notifications to empty
4+
// Set initial notifications to empty
55
export const initialState: NotificationsState = [];
66

77
/**

app/store/selected/actions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { SelectedAction } from '../types';
1+
import { SelectedAction } from '@app/store/types';
22

33
export enum SELECTED_ACTION_TYPES {
44

app/store/selected/reducer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { SelectedState, SelectedAction } from '../types';
2-
import { SELECTED_ACTION_TYPES } from './actions';
1+
import { SelectedState, SelectedAction } from '@app/store/types';
2+
import { SELECTED_ACTION_TYPES } from '@app/store/selected/actions';
33

44
// Set initial terminal id to 0, as in terminal's reducer
55
export const initialState: SelectedState = 0;

app/store/store.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { createStore, combineReducers, Reducer, CombinedState } from 'redux';
2-
import { AppState } from './types';
3-
import { terminals } from './terminals/reducer';
4-
import { selected } from './selected/reducer';
5-
import { notifications } from './notifications/reducer';
2+
import { AppState } from '@app/store/types';
3+
import { terminals } from '@app/store/terminals/reducer';
4+
import { selected } from '@app/store/selected/reducer';
5+
import { notifications } from '@app/store/notifications/reducer';
66

77
// We combine all the reducers into one single reducer
88
const reducer: Reducer<CombinedState<AppState>> = combineReducers<AppState>({ terminals, selected , notifications });

app/store/terminals/actions.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { TerminalsAction } from '../types';
2-
import { ITerminal } from '../../Terminal';
1+
import { TerminalsAction } from '@app/store/types';
2+
import { ITerminal } from '@app/Terminal';
33

44
export enum TERMINALS_ACTION_TYPES {
55

app/store/terminals/reducer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { TerminalsState, TerminalsAction } from '../types';
2-
import { TERMINALS_ACTION_TYPES } from './actions';
3-
import Config from '../../../common/config/Config';
1+
import { TerminalsState, TerminalsAction } from '@app/store/types';
2+
import { TERMINALS_ACTION_TYPES } from '@app/store/terminals/actions';
3+
import Config from '@common/config/Config';
44

55
// Set initial terminal object with id to 0, as in selected's reducer
66
export const initialState: TerminalsState = [{

app/store/types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { INotification } from '../../common/notifications/notification';
2-
import { ITerminal } from '../Terminal';
1+
import { INotification } from '@common/notifications/notification';
2+
import { ITerminal } from '@app/Terminal';
33

44
export type TerminalsState = ITerminal[];
55
export type TerminalsAction = {

common/config/Config.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import * as path from 'path';
22
import * as fs from 'fs';
3-
import { userDataPath } from '../utils/utils';
4-
import { defaultConfig } from './defaultConfig';
3+
import { userDataPath } from '@common/utils/utils';
4+
import { defaultConfig } from '@common/config/defaultConfig';
55
import watch from 'node-watch';
66
import { VibrancyEffect, VibrancyTheme } from 'electron-acrylic-window';
77
import { FontWeight } from 'xterm';
8-
import { UndefinedObject } from '../types/types';
9-
import { IShortcut } from './shortcuts';
8+
import { UndefinedObject } from '@common/types/types';
9+
import { IShortcut } from '@common/config/shortcuts';
1010

1111
export default class Config {
1212

common/config/defaultConfig.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { IConfig, IShell, ISSHHost } from './Config';
2-
import { isMac, isWin } from '../utils/utils';
3-
import { IShortcut } from './shortcuts';
1+
import { IConfig, IShell, ISSHHost } from '@common/config/Config';
2+
import { isMac, isWin } from '@common/utils/utils';
3+
import { IShortcut } from '@common/config/shortcuts';
44

55
const bashShell: IShell = {
66

@@ -64,7 +64,7 @@ const shortcuts: IShortcut[] = [
6464
},
6565
{
6666
name: 'Zoom in',
67-
keybinds: `${leader}+Shift+O`,
67+
keybinds: `${leader}+Shift+O`,
6868
action: 'terminal:zoomin',
6969
},
7070
{
@@ -79,7 +79,7 @@ const shortcuts: IShortcut[] = [
7979
},
8080
{
8181
name: 'Focus right terminal',
82-
keybinds: `${leader}+Shift+M`,
82+
keybinds: `${leader}+Shift+M`,
8383
action: 'terminal:right',
8484
},
8585
{
@@ -91,7 +91,7 @@ const shortcuts: IShortcut[] = [
9191
name: 'Reload window',
9292
keybinds: 'Ctrl+Shift+R',
9393
action: 'window:reload',
94-
},
94+
},
9595
];
9696

9797
const sshHosts: ISSHHost[] = [

common/factories/Factory.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { UndefinedObject } from '../types/types';
1+
import { UndefinedObject } from '@common/types/types';
22

33
/**
44
* Represent a factory of T, to build and get a T object.

common/notifications/notification.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { IUpdateStatus } from '../types/types';
1+
import { IUpdateStatus } from '@common/types/types';
22

33
export interface INotification {
44

@@ -29,7 +29,7 @@ export interface INotification {
2929
export interface INotificationButton {
3030

3131
/**
32-
* The title of this button.
32+
* The title of this button.
3333
*/
3434
title: string;
3535
/**
@@ -76,7 +76,7 @@ export const configReloadedNotification = (error: boolean): INotification => ({
7676

7777
/**
7878
* Build a notification for the updater with a button to restart the app
79-
* to apply the downloaded update.
79+
* to apply the downloaded update.
8080
*
8181
* @param update - The update status
8282
* @param onClick - Callback when the user clicked on the button
@@ -93,5 +93,5 @@ export const updateNotification = (update: IUpdateStatus, onClick: () => void):
9393
onClick,
9494

9595
} : undefined,
96-
level: update.readyToInstall ? INotificationLevel.SUCCESS : INotificationLevel.INFO,
96+
level: update.readyToInstall ? INotificationLevel.SUCCESS : INotificationLevel.INFO,
9797
});

common/utils/utils.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import electron from 'electron';
2-
import { ITerminal, TerminalType } from '../../app/Terminal';
3-
import { IShell } from '../config/Config';
2+
import { ITerminal, TerminalType } from '@app/Terminal';
3+
import { IShell } from '@common/config/Config';
44

55
export const userDataPath = (electron.app || electron.remote.app).getPath('userData');
66
export const isWin = process.platform === 'win32';

electron-webpack.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
"title": true,
55
"whiteListedModules": ["react", "react-redux", "react-dom", "node-pty"],
66
"main": {
7-
"sourceDirectory": "src"
7+
"sourceDirectory": "src",
8+
"webpackConfig": "webpack.config.js"
89
},
910
"renderer": {
10-
"sourceDirectory": "ui"
11+
"sourceDirectory": "ui",
12+
"webpackConfig": "webpack.config.js"
1113
}
1214
}

src/app/App.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { UndefinedObject } from '../../common/types/types';
2-
import WindowFactory from '../window/WindowFactory';
3-
import NativeContextMenu from '../window/NativeContextMenu';
1+
import { UndefinedObject } from '@common/types/types';
2+
import WindowFactory from '@src/window/WindowFactory';
3+
import NativeContextMenu from '@src/window/NativeContextMenu';
44
import { app } from 'electron';
5-
import Updater from '../updater/Updater';
5+
import Updater from '@src/updater/Updater';
66

77
export default class App {
88

src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'v8-compile-cache';
2-
import App from './app/App';
2+
import App from '@src/app/App';
33

44
// Start hot reloading in dev
55
if(module.hot)

src/updater/Updater.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { autoUpdater } from 'electron-updater';
22
import { BrowserWindow, ipcMain } from 'electron';
3-
import { IUpdateStatus } from '../../common/types/types';
3+
import { IUpdateStatus } from '@common/types/types';
44

55
// 5 seconds (in milliseconds)
66
const WAIT_TIME = 5 * 1000;
@@ -9,11 +9,11 @@ export default class Updater {
99

1010
constructor() {
1111

12-
// Listen for updates after the wait time
12+
// Listen for updates after the wait time
1313
setTimeout(() => {
1414

1515
this.listen();
16-
16+
1717
}, WAIT_TIME);
1818
}
1919

@@ -24,7 +24,7 @@ export default class Updater {
2424
private listen() {
2525

2626
autoUpdater.checkForUpdatesAndNotify();
27-
27+
2828
autoUpdater.on('update-available', () => {
2929

3030
this.sendUpdate({ updateAvailable: true });

src/window/NativeContextMenu.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { UndefinedObject } from '../../common/types/types';
2-
import { isWin } from '../../common/utils/utils';
1+
import { UndefinedObject } from '@common/types/types';
2+
import { isWin } from '@common/utils/utils';
33

44
// eslint-disable-next-line @typescript-eslint/no-explicit-any
55
let Registry: UndefinedObject<any>;

src/window/WindowFactory.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { BrowserWindow } from 'electron-acrylic-window';
2-
import { Factory } from '../../common/factories/Factory';
2+
import { Factory } from '@common/factories/Factory';
33
import { format as formatUrl } from 'url';
44
import path from 'path';
5-
import { UndefinedObject } from '../../common/types/types';
6-
import Config, { IVibrancy } from '../../common/config/Config';
5+
import { UndefinedObject } from '@common/types/types';
6+
import Config, { IVibrancy } from '@common/config/Config';
77
import windowStateKeeper, { State } from 'electron-window-state';
8-
import { IConfig } from '../../common/config/Config';
8+
import { IConfig } from '@common/config/Config';
99

1010
export default class WindowFactory implements Factory<BrowserWindow> {
1111

@@ -15,7 +15,7 @@ export default class WindowFactory implements Factory<BrowserWindow> {
1515
private readonly DEFAULT_HEIGHT = 800;
1616

1717
constructor(isDev: boolean) {
18-
18+
1919
const config = Config.getInstance().loadConfig((config) => {
2020

2121
this.config = config;
@@ -43,7 +43,7 @@ export default class WindowFactory implements Factory<BrowserWindow> {
4343
public build(): BrowserWindow {
4444

4545
let params: Record<string, unknown> = {
46-
46+
4747
width: this.DEFAULT_WIDTH,
4848
height: this.DEFAULT_HEIGHT,
4949
};

0 commit comments

Comments
 (0)