tabby-sftp-ui 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -6
- package/dist/index.js +673 -406
- package/dist/index.js.map +1 -1
- package/dist/sftp-manager-tab.component.d.ts +21 -3
- package/dist/sftp-recovery-provider.d.ts +8 -0
- package/dist/sftp.service.d.ts +7 -0
- package/package.json +44 -44
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injector, OnInit } from '@angular/core';
|
|
2
2
|
import { AppService, BaseTabComponent, FileTransfer, ProfilesService } from 'tabby-core';
|
|
3
|
-
import {
|
|
3
|
+
import type { RecoveryToken } from 'tabby-core';
|
|
4
|
+
import { SftpConnectionService, SFTPFile, SSHSessionLike, SSHShellSessionLike } from './sftp.service';
|
|
4
5
|
type LocalEntry = {
|
|
5
6
|
name: string;
|
|
6
7
|
fullPath: string;
|
|
@@ -13,7 +14,9 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
|
|
|
13
14
|
private profilesService;
|
|
14
15
|
private app;
|
|
15
16
|
sshSession: SSHSessionLike | null;
|
|
17
|
+
shellSession: SSHShellSessionLike | null;
|
|
16
18
|
profile: any;
|
|
19
|
+
recoveredStub: boolean;
|
|
17
20
|
connecting: boolean;
|
|
18
21
|
connected: boolean;
|
|
19
22
|
host: string;
|
|
@@ -25,6 +28,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
|
|
|
25
28
|
remotePath: string;
|
|
26
29
|
remoteEntries: SFTPFile[];
|
|
27
30
|
private sftpSession;
|
|
31
|
+
private connectPromise;
|
|
28
32
|
localDropActive: boolean;
|
|
29
33
|
remoteDropActive: boolean;
|
|
30
34
|
transfers: Array<{
|
|
@@ -95,10 +99,14 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
|
|
|
95
99
|
constructor(injector: Injector, sftp: SftpConnectionService, profilesService: ProfilesService, app: AppService);
|
|
96
100
|
ngOnInit(): void;
|
|
97
101
|
connect(): Promise<void>;
|
|
102
|
+
private waitForConnection;
|
|
103
|
+
private connectInternal;
|
|
104
|
+
private initializeRemotePath;
|
|
98
105
|
disconnect(): Promise<void>;
|
|
99
106
|
canLocalUp(): boolean;
|
|
100
107
|
localUp(): void;
|
|
101
108
|
remoteUp(): void;
|
|
109
|
+
canRemoteUp(): boolean;
|
|
102
110
|
refreshLocal(): Promise<void>;
|
|
103
111
|
refreshRemote(): Promise<void>;
|
|
104
112
|
openLocal(e: LocalEntry): void;
|
|
@@ -162,7 +170,17 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
|
|
|
162
170
|
}): void;
|
|
163
171
|
private normalizeLocalPath;
|
|
164
172
|
private normalizeRemotePath;
|
|
165
|
-
private
|
|
173
|
+
private resolveDefaultRemotePath;
|
|
174
|
+
private syncRemotePathFromInput;
|
|
175
|
+
private ensureRemoteDirectoryReady;
|
|
176
|
+
private getRemoteUsername;
|
|
177
|
+
private buildDefaultRemotePathCandidates;
|
|
178
|
+
private canonicalizeRemotePath;
|
|
179
|
+
private remotePathExists;
|
|
180
|
+
private toRemoteSftpPath;
|
|
181
|
+
private isWindowsSftpPath;
|
|
182
|
+
private getWindowsSftpBreadcrumbs;
|
|
183
|
+
private remoteParentPath;
|
|
166
184
|
private loadRecentProfiles;
|
|
167
185
|
getProfileLabel(p: any): string;
|
|
168
186
|
launchProfileFromSFTP(p: any): void;
|
|
@@ -194,7 +212,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
|
|
|
194
212
|
getTransferProgress(transfer: FileTransfer): number;
|
|
195
213
|
onKeyDown(event: KeyboardEvent): void;
|
|
196
214
|
destroy(): void;
|
|
197
|
-
getRecoveryToken(_options?: any): Promise<
|
|
215
|
+
getRecoveryToken(_options?: any): Promise<RecoveryToken>;
|
|
198
216
|
confirmDelete(): Promise<void>;
|
|
199
217
|
cancelDelete(): void;
|
|
200
218
|
private showReplaceConfirm;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NewTabParameters, RecoveryToken, TabRecoveryProvider } from 'tabby-core';
|
|
2
|
+
import { SftpManagerTabComponent } from './sftp-manager-tab.component';
|
|
3
|
+
declare const SFTP_RECOVERY_TYPE = "tabby-sftp-ui:sftp-tab";
|
|
4
|
+
export declare class SftpTabRecoveryProvider extends TabRecoveryProvider<SftpManagerTabComponent> {
|
|
5
|
+
applicableTo(recoveryToken: RecoveryToken): Promise<boolean>;
|
|
6
|
+
recover(_recoveryToken: RecoveryToken): Promise<NewTabParameters<SftpManagerTabComponent>>;
|
|
7
|
+
}
|
|
8
|
+
export { SFTP_RECOVERY_TYPE };
|
package/dist/sftp.service.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export type SFTPSessionLike = {
|
|
|
15
15
|
rename: (oldPath: string, newPath: string) => Promise<void>;
|
|
16
16
|
upload: (remotePath: string, transfer: import('tabby-core').FileUpload) => Promise<void>;
|
|
17
17
|
download: (remotePath: string, transfer: import('tabby-core').FileDownload) => Promise<void>;
|
|
18
|
+
stat?: (p: string) => Promise<{
|
|
19
|
+
isDirectory: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
};
|
|
22
|
+
export type SSHShellSessionLike = {
|
|
23
|
+
getWorkingDirectory?: () => Promise<string | null>;
|
|
24
|
+
supportsWorkingDirectory?: () => boolean;
|
|
18
25
|
};
|
|
19
26
|
export type SSHSessionLike = {
|
|
20
27
|
openSFTP: () => Promise<SFTPSessionLike>;
|
package/package.json
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tabby-sftp-ui",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "SFTP UI for Tabby (Termius-like file manager).",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"tabby-plugin"
|
|
7
|
-
],
|
|
8
|
-
"main": "dist/index.js",
|
|
9
|
-
"typings": "dist/index.d.ts",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "webpack --progress --color",
|
|
12
|
-
"watch": "webpack --progress --color --watch",
|
|
13
|
-
"prepublishOnly": "npm run build"
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"dist"
|
|
17
|
-
],
|
|
18
|
-
"author": "gr0w1ng",
|
|
19
|
-
"license": "MIT",
|
|
20
|
-
"dependencies": {},
|
|
21
|
-
"devDependencies": {
|
|
22
|
-
"@angular/animations": "^9.1.13",
|
|
23
|
-
"@angular/common": "^9.1.13",
|
|
24
|
-
"@angular/core": "^9.1.13",
|
|
25
|
-
"@angular/forms": "^9.1.13",
|
|
26
|
-
"@angular/platform-browser": "^9.1.13",
|
|
27
|
-
"@angular/platform-browser-dynamic": "^9.1.13",
|
|
28
|
-
"@types/node": "^22.13.10",
|
|
29
|
-
"@types/webpack-env": "^1.18.8",
|
|
30
|
-
"apply-loader": "^2.0.0",
|
|
31
|
-
"css-loader": "^7.1.2",
|
|
32
|
-
"rxjs": "^6.6.7",
|
|
33
|
-
"sass": "^1.86.0",
|
|
34
|
-
"sass-loader": "^16.0.5",
|
|
35
|
-
"style-loader": "^4.0.0",
|
|
36
|
-
"tabby-core": "^1.0.163",
|
|
37
|
-
"tabby-settings": "^1.0.163",
|
|
38
|
-
"tabby-terminal": "^1.0.163",
|
|
39
|
-
"ts-loader": "^9.5.2",
|
|
40
|
-
"typescript": "^5.8.2",
|
|
41
|
-
"webpack": "^5.98.0",
|
|
42
|
-
"webpack-cli": "^6.0.1"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "tabby-sftp-ui",
|
|
3
|
+
"version": "0.2.6",
|
|
4
|
+
"description": "SFTP UI for Tabby (Termius-like file manager).",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"tabby-plugin"
|
|
7
|
+
],
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"typings": "dist/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "webpack --progress --color",
|
|
12
|
+
"watch": "webpack --progress --color --watch",
|
|
13
|
+
"prepublishOnly": "npm run build"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"author": "gr0w1ng",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"dependencies": {},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@angular/animations": "^9.1.13",
|
|
23
|
+
"@angular/common": "^9.1.13",
|
|
24
|
+
"@angular/core": "^9.1.13",
|
|
25
|
+
"@angular/forms": "^9.1.13",
|
|
26
|
+
"@angular/platform-browser": "^9.1.13",
|
|
27
|
+
"@angular/platform-browser-dynamic": "^9.1.13",
|
|
28
|
+
"@types/node": "^22.13.10",
|
|
29
|
+
"@types/webpack-env": "^1.18.8",
|
|
30
|
+
"apply-loader": "^2.0.0",
|
|
31
|
+
"css-loader": "^7.1.2",
|
|
32
|
+
"rxjs": "^6.6.7",
|
|
33
|
+
"sass": "^1.86.0",
|
|
34
|
+
"sass-loader": "^16.0.5",
|
|
35
|
+
"style-loader": "^4.0.0",
|
|
36
|
+
"tabby-core": "^1.0.163",
|
|
37
|
+
"tabby-settings": "^1.0.163",
|
|
38
|
+
"tabby-terminal": "^1.0.163",
|
|
39
|
+
"ts-loader": "^9.5.2",
|
|
40
|
+
"typescript": "^5.8.2",
|
|
41
|
+
"webpack": "^5.98.0",
|
|
42
|
+
"webpack-cli": "^6.0.1"
|
|
43
|
+
}
|
|
44
|
+
}
|