diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..ed12a122 Binary files /dev/null and b/.nvmrc differ diff --git a/package.json b/package.json index da33189f..bfb6cf25 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "source-map-support": "~0.5.20", "spectre.css": "~0.5.9", "sql-formatter": "~13.0.0", - "ssh2-promise": "~1.0.2", + "@fabio286/ssh2-promise": "~1.0.4-b", "v-mask": "~2.3.0", "vue": "~3.3.4", "vue-i18n": "~9.2.2", @@ -208,10 +208,5 @@ "webpack-cli": "~4.9.1", "webpack-dev-server": "~4.11.1", "xvfb-maybe": "~0.2.1" - }, - "overrides": { - "ssh2-promise": { - "ssh2": "github:Fabio286/ssh2" - } } } diff --git a/src/common/interfaces/antares.ts b/src/common/interfaces/antares.ts index 45fc5ee7..7d80506b 100644 --- a/src/common/interfaces/antares.ts +++ b/src/common/interfaces/antares.ts @@ -1,3 +1,4 @@ +import SSHConfig from '@fabio286/ssh2-promise/lib/sshConfig'; import * as mysql from 'mysql2/promise'; import * as pg from 'pg'; import { FirebirdSQLClient } from 'src/main/libs/clients/FirebirdSQLClient'; @@ -5,7 +6,6 @@ import MysqlExporter from 'src/main/libs/exporters/sql/MysqlExporter'; import PostgreSQLExporter from 'src/main/libs/exporters/sql/PostgreSQLExporter'; import MySQLImporter from 'src/main/libs/importers/sql/MySQLlImporter'; import PostgreSQLImporter from 'src/main/libs/importers/sql/PostgreSQLImporter'; -import SSHConfig from 'ssh2-promise/lib/sshConfig'; import { MySQLClient } from '../../main/libs/clients/MySQLClient'; import { PostgreSQLClient } from '../../main/libs/clients/PostgreSQLClient'; diff --git a/src/main/libs/AntaresCore.ts b/src/main/libs/clients/BaseClient.ts similarity index 98% rename from src/main/libs/AntaresCore.ts rename to src/main/libs/clients/BaseClient.ts index 5607cd42..773f3277 100644 --- a/src/main/libs/AntaresCore.ts +++ b/src/main/libs/clients/BaseClient.ts @@ -1,7 +1,7 @@ import * as antares from 'common/interfaces/antares'; import mysql from 'mysql2/promise'; import * as pg from 'pg'; -import SSH2Promise from 'ssh2-promise'; +import SSH2Promise = require('@fabio286/ssh2-promise'); const queryLogger = ({ sql, cUid }: {sql: string; cUid: string}) => { // Remove comments, newlines and multiple spaces @@ -16,7 +16,7 @@ const queryLogger = ({ sql, cUid }: {sql: string; cUid: string}) => { /** * As Simple As Possible Query Builder Core */ -export abstract class AntaresCore { +export abstract class BaseClient { _client: antares.ClientCode; protected _cUid: string protected _params: mysql.ConnectionOptions | pg.ClientConfig | { databasePath: string; readonly: boolean}; diff --git a/src/main/libs/clients/FirebirdSQLClient.ts b/src/main/libs/clients/FirebirdSQLClient.ts index 7a98dc5a..7a99173a 100644 --- a/src/main/libs/clients/FirebirdSQLClient.ts +++ b/src/main/libs/clients/FirebirdSQLClient.ts @@ -4,9 +4,9 @@ import * as antares from 'common/interfaces/antares'; import * as firebird from 'node-firebird'; import * as path from 'path'; -import { AntaresCore } from '../AntaresCore'; +import { BaseClient } from './BaseClient'; -export class FirebirdSQLClient extends AntaresCore { +export class FirebirdSQLClient extends BaseClient { private _schema?: string; private _runningConnections: Map; private _connectionsToCommit: Map; diff --git a/src/main/libs/clients/MySQLClient.ts b/src/main/libs/clients/MySQLClient.ts index 36b24eba..9343aca2 100644 --- a/src/main/libs/clients/MySQLClient.ts +++ b/src/main/libs/clients/MySQLClient.ts @@ -1,12 +1,12 @@ +import SSH2Promise = require('@fabio286/ssh2-promise'); +import SSHConfig from '@fabio286/ssh2-promise/lib/sshConfig'; import dataTypes from 'common/data-types/mysql'; import * as antares from 'common/interfaces/antares'; import * as mysql from 'mysql2/promise'; -import { AntaresCore } from '../AntaresCore'; -import SSH2Promise = require('ssh2-promise'); -import SSHConfig from 'ssh2-promise/lib/sshConfig'; +import { BaseClient } from './BaseClient'; -export class MySQLClient extends AntaresCore { +export class MySQLClient extends BaseClient { private _schema?: string; private _runningConnections: Map; private _connectionsToCommit: Map; diff --git a/src/main/libs/clients/PostgreSQLClient.ts b/src/main/libs/clients/PostgreSQLClient.ts index 39c375f5..d13b425e 100644 --- a/src/main/libs/clients/PostgreSQLClient.ts +++ b/src/main/libs/clients/PostgreSQLClient.ts @@ -1,13 +1,13 @@ +import SSH2Promise = require('@fabio286/ssh2-promise'); +import SSHConfig from '@fabio286/ssh2-promise/lib/sshConfig'; import dataTypes from 'common/data-types/postgresql'; import * as antares from 'common/interfaces/antares'; import * as pg from 'pg'; import * as pgAst from 'pgsql-ast-parser'; - -import { AntaresCore } from '../AntaresCore'; -import SSH2Promise = require('ssh2-promise'); -import SSHConfig from 'ssh2-promise/lib/sshConfig'; import { ConnectionOptions } from 'tls'; +import { BaseClient } from './BaseClient'; + // eslint-disable-next-line @typescript-eslint/no-explicit-any function pgToString (value: any) { return value.toString(); @@ -81,7 +81,7 @@ type builtinsTypes = 'JSONB' | 'REGNAMESPACE' | 'REGROLE'; -export class PostgreSQLClient extends AntaresCore { +export class PostgreSQLClient extends BaseClient { private _schema?: string; private _runningConnections: Map; private _connectionsToCommit: Map; diff --git a/src/main/libs/clients/SQLiteClient.ts b/src/main/libs/clients/SQLiteClient.ts index b8b37ae7..f775aea7 100644 --- a/src/main/libs/clients/SQLiteClient.ts +++ b/src/main/libs/clients/SQLiteClient.ts @@ -3,9 +3,9 @@ import dataTypes from 'common/data-types/sqlite'; import { DATETIME, FLOAT, NUMBER, TIME } from 'common/fieldTypes'; import * as antares from 'common/interfaces/antares'; -import { AntaresCore } from '../AntaresCore'; +import { BaseClient } from './BaseClient'; -export class SQLiteClient extends AntaresCore { +export class SQLiteClient extends BaseClient { private _schema?: string; private _connectionsToCommit: Map; protected _connection?: sqlite.Database; diff --git a/src/main/workers/importer.ts b/src/main/workers/importer.ts index 84abed83..ae0c5079 100644 --- a/src/main/workers/importer.ts +++ b/src/main/workers/importer.ts @@ -1,8 +1,8 @@ +import SSHConfig from '@fabio286/ssh2-promise/lib/sshConfig'; import * as antares from 'common/interfaces/antares'; import { ImportOptions } from 'common/interfaces/importer'; import * as mysql from 'mysql2'; import * as pg from 'pg'; -import SSHConfig from 'ssh2-promise/lib/sshConfig'; import { MySQLClient } from '../libs/clients/MySQLClient'; import { PostgreSQLClient } from '../libs/clients/PostgreSQLClient';