terminus-cloud-settings-sync-plus 0.0.0-stage → 1.0.0
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/LICENSE +21 -0
- package/NOTICE +7 -0
- package/README.en.md +41 -0
- package/README.md +40 -2
- package/dist/index.js +2 -0
- package/dist/index.js.LICENSE.txt +7439 -0
- package/dist/src/components/change-logs/change-logs.component.d.ts +244 -0
- package/dist/src/components/checkbox.component.d.ts +13 -0
- package/dist/src/components/cloud-sync-settings.component.d.ts +431 -0
- package/dist/src/components/feeback-form/feeback.component.d.ts +242 -0
- package/dist/src/components/master-password/master-password.component.d.ts +244 -0
- package/dist/src/components/sub-components/about/about.component.d.ts +20 -0
- package/dist/src/components/sub-components/amazon/amazon-settings.component.d.ts +459 -0
- package/dist/src/components/sub-components/built-in/builtin-settings.component.d.ts +444 -0
- package/dist/src/components/sub-components/check-for-updates/check-for-updates.component.d.ts +267 -0
- package/dist/src/components/sub-components/dropbox/dropbox-encryption-secret-modal.component.d.ts +252 -0
- package/dist/src/components/sub-components/dropbox/dropbox-settings.component.d.ts +488 -0
- package/dist/src/components/sub-components/ftp/ftp-settings.component.d.ts +460 -0
- package/dist/src/components/sub-components/gist/gist-settings.component.d.ts +461 -0
- package/dist/src/components/sub-components/webdav/webdav-settings.component.d.ts +454 -0
- package/dist/src/components/toggle.component.d.ts +4 -0
- package/dist/src/data/lang.d.ts +245 -0
- package/dist/src/data/s3-data.d.ts +15 -0
- package/dist/src/data/setting-items.d.ts +198 -0
- package/dist/src/index.d.ts +47 -0
- package/dist/src/interface/index.d.ts +65 -0
- package/dist/src/providers/cloud-sync-actions.d.ts +15 -0
- package/dist/src/providers/cloud-sync-command.provider.d.ts +16 -0
- package/dist/src/providers/cloud-sync-toolbar.provider.d.ts +7 -0
- package/dist/src/services/dev-constants.d.ts +4 -0
- package/dist/src/services/tabby-sync-upgrade.d.ts +10 -0
- package/dist/src/services/toast.d.ts +61 -0
- package/dist/src/settings.d.ts +7 -0
- package/dist/src/utils/CloudSyncSettingsHelper.d.ts +8 -0
- package/dist/src/utils/Logger.d.ts +29 -0
- package/dist/src/utils/cloud-components/AmazonS3.d.ts +38 -0
- package/dist/src/utils/cloud-components/Dropbox.d.ts +50 -0
- package/dist/src/utils/cloud-components/FTP.d.ts +46 -0
- package/dist/src/utils/cloud-components/WebDav.d.ts +34 -0
- package/dist/src/utils/cloud-components/gist.d.ts +86 -0
- package/dist/src/utils/cloud-components/gists/gists.d.ts +15 -0
- package/dist/src/utils/cloud-components/gists/gitee.d.ts +16 -0
- package/dist/src/utils/cloud-components/gists/github.d.ts +16 -0
- package/dist/src/utils/cloud-components/gists/gitlab.d.ts +44 -0
- package/dist/src/utils/cloud-components/sync-utils.d.ts +90 -0
- package/dist/src/utils/config-hash.d.ts +21 -0
- package/dist/src/utils/dev-mock-data.d.ts +6 -0
- package/dist/src/utils/settings-crypto.d.ts +53 -0
- package/dist/src/utils/settings-helper.d.ts +177 -0
- package/dist/src/utils/settings-secret.d.ts +16 -0
- package/dist/src/utils/sync-lock.d.ts +44 -0
- package/dist/src/utils/sync-payload.d.ts +38 -0
- package/dist/src/utils/sync-state.d.ts +55 -0
- package/package.json +98 -6
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PlatformService } from 'terminus-core';
|
|
2
|
+
import { StoredSettings } from '../interface';
|
|
3
|
+
/**
|
|
4
|
+
* Record of the last successful sync for a single provider.
|
|
5
|
+
*
|
|
6
|
+
* `hash` is the fingerprint of the *decrypted* config content that both sides
|
|
7
|
+
* agreed on. It is the baseline the next cycle compares against to work out
|
|
8
|
+
* which side actually changed, instead of guessing from timestamps alone.
|
|
9
|
+
*/
|
|
10
|
+
export interface SyncBaseline {
|
|
11
|
+
/** Hash of the plain config content that was last synced successfully. */
|
|
12
|
+
hash: string;
|
|
13
|
+
/** ISO-8601 remote modified time observed at that point, when known. */
|
|
14
|
+
remoteUpdatedAt: string;
|
|
15
|
+
/** ISO-8601 time at which this baseline was recorded. */
|
|
16
|
+
syncedAt: string;
|
|
17
|
+
}
|
|
18
|
+
/** Return a stable, non-secret fingerprint for the configured sync target. */
|
|
19
|
+
export declare function resolveTargetFingerprint(savedConfigs: StoredSettings): string;
|
|
20
|
+
export declare function resolveBaselineKey(savedConfigs: StoredSettings): string;
|
|
21
|
+
/**
|
|
22
|
+
* Persists a per-provider "last synced" baseline next to the Tabby config.
|
|
23
|
+
*
|
|
24
|
+
* This is deliberately a separate, unencrypted file: it holds nothing but
|
|
25
|
+
* hashes and timestamps, and it is rewritten far more often than the
|
|
26
|
+
* credentials file, which we do not want to churn.
|
|
27
|
+
*/
|
|
28
|
+
declare class SyncStateStore {
|
|
29
|
+
private cache;
|
|
30
|
+
/** Absolute path of the sync-state file. */
|
|
31
|
+
private getPath;
|
|
32
|
+
/** Load and memoise the whole state file, tolerating a missing/corrupt file. */
|
|
33
|
+
private load;
|
|
34
|
+
/** Flush the in-memory state to disk, swallowing write errors. */
|
|
35
|
+
private persist;
|
|
36
|
+
/** Return the stored baseline for a provider, or `null` when there is none. */
|
|
37
|
+
read(platform: PlatformService, adapterId: string): SyncBaseline;
|
|
38
|
+
/** Clear state entries belonging to an adapter, including legacy keys. */
|
|
39
|
+
clearAdapter(platform: PlatformService, adapterId: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Record the content hash both sides now agree on.
|
|
42
|
+
*
|
|
43
|
+
* The write is skipped when nothing actually changed, so an idle install
|
|
44
|
+
* does not rewrite the file on every polling cycle.
|
|
45
|
+
*/
|
|
46
|
+
record(platform: PlatformService, adapterId: string, hash: string, remoteUpdatedAt?: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Drop the baseline for one provider (or all of them), forcing the next
|
|
49
|
+
* cycle back to the timestamp comparison. Used when the saved settings are
|
|
50
|
+
* removed or replaced.
|
|
51
|
+
*/
|
|
52
|
+
clear(platform: PlatformService, adapterId?: string): void;
|
|
53
|
+
}
|
|
54
|
+
declare const _default: SyncStateStore;
|
|
55
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,98 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "terminus-cloud-settings-sync-plus",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"description": "
|
|
6
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "terminus-cloud-settings-sync-plus",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"date": "06-11-2026",
|
|
5
|
+
"description": "Sync Tabby settings and SSH connections across Windows, macOS and Linux.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"terminus-plugin"
|
|
8
|
+
],
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"typings": "dist/index.d.ts",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build:local": "node --openssl-legacy-provider node_modules/webpack/bin/webpack.js --progress --color --mode=production",
|
|
13
|
+
"build": "node scripts/validate-publish-env.js && node --openssl-legacy-provider node_modules/webpack/bin/webpack.js --progress --color --mode=production",
|
|
14
|
+
"watch": "node scripts/validate-publish-env.js && node --openssl-legacy-provider node_modules/webpack/bin/webpack.js --progress --color --watch",
|
|
15
|
+
"prepublishOnly": "npm run build:local",
|
|
16
|
+
"lint": "eslint --ext ts */src */lib",
|
|
17
|
+
"test": "jest",
|
|
18
|
+
"postbuild": "node scripts/postbuild.js"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"LICENSE",
|
|
23
|
+
"NOTICE",
|
|
24
|
+
"README.md",
|
|
25
|
+
"README.en.md"
|
|
26
|
+
],
|
|
27
|
+
"author": "Jym2004",
|
|
28
|
+
"contributors": [
|
|
29
|
+
"TranIT - tran.tuan@tranit.co (upstream)"
|
|
30
|
+
],
|
|
31
|
+
"support_url": "https://github.com/Jym2004/tabby-settings-sync#readme",
|
|
32
|
+
"github_url": "https://github.com/Jym2004/tabby-settings-sync",
|
|
33
|
+
"license": "MIT",
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@angular/animations": "^7.2.8",
|
|
36
|
+
"@angular/common": "^7.2.8",
|
|
37
|
+
"@angular/core": "^7.2.8",
|
|
38
|
+
"@angular/forms": "^7.2.8",
|
|
39
|
+
"@angular/platform-browser": "^7.2.8",
|
|
40
|
+
"@ng-bootstrap/ng-bootstrap": "^2.2.0",
|
|
41
|
+
"@types/jest": "^26.0.23",
|
|
42
|
+
"@types/js-yaml": "^4.0.0",
|
|
43
|
+
"@types/webpack-env": "^1.16.0",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
45
|
+
"@typescript-eslint/parser": "^4.33.0",
|
|
46
|
+
"acorn-import-assertions": "^1.8.0",
|
|
47
|
+
"apply-loader": "^2.0.0",
|
|
48
|
+
"aws-sdk": "niceit/aws-sdk-js",
|
|
49
|
+
"axios": "^0.21.1",
|
|
50
|
+
"basic-ftp": "^4.6.6",
|
|
51
|
+
"clean-webpack-plugin": "^0.1.19",
|
|
52
|
+
"css-loader": "^5.1.1",
|
|
53
|
+
"electron": "^14.2.7",
|
|
54
|
+
"eslint": "^7.32.0",
|
|
55
|
+
"jest": "^27.0.6",
|
|
56
|
+
"js-yaml": "^4.1.0",
|
|
57
|
+
"keytar": "^7.6.0",
|
|
58
|
+
"moment": "^2.29.3",
|
|
59
|
+
"ngx-toastr": "^8.8.0",
|
|
60
|
+
"sass": "1.77.8",
|
|
61
|
+
"pug": "^3.0.2",
|
|
62
|
+
"pug-loader": "^2.4.0",
|
|
63
|
+
"rxjs": "^6.2.1",
|
|
64
|
+
"sass-loader": "^11.0.1",
|
|
65
|
+
"semver": "^7.3.8",
|
|
66
|
+
"strip-ansi": "^5.0.0",
|
|
67
|
+
"style-loader": "^2.0.0",
|
|
68
|
+
"terminus-core": "^1.0.140",
|
|
69
|
+
"terminus-settings": "^1.0.140",
|
|
70
|
+
"terminus-terminal": "^1.0.140",
|
|
71
|
+
"to-string-loader": "^1.1.6",
|
|
72
|
+
"ts-jest": "^27.0.3",
|
|
73
|
+
"ts-loader": "^9.2.3",
|
|
74
|
+
"typescript": "^4.3.5",
|
|
75
|
+
"webdav": "^4.6.0",
|
|
76
|
+
"webpack": "^5.24.4",
|
|
77
|
+
"webpack-cli": "^4.5.0",
|
|
78
|
+
"winston": "^3.3.3"
|
|
79
|
+
},
|
|
80
|
+
"peerDependencies": {
|
|
81
|
+
"@angular/core": "^4.0.1"
|
|
82
|
+
},
|
|
83
|
+
"repository": {
|
|
84
|
+
"type": "git",
|
|
85
|
+
"url": "git+https://github.com/Jym2004/tabby-settings-sync.git"
|
|
86
|
+
},
|
|
87
|
+
"dependencies": {
|
|
88
|
+
"crypto-js": "^4.0.0",
|
|
89
|
+
"dropbox": "^10.34.0"
|
|
90
|
+
},
|
|
91
|
+
"publishConfig": {
|
|
92
|
+
"registry": "https://registry.npmjs.org"
|
|
93
|
+
},
|
|
94
|
+
"bugs": {
|
|
95
|
+
"url": "https://github.com/Jym2004/tabby-settings-sync/issues"
|
|
96
|
+
},
|
|
97
|
+
"homepage": "https://github.com/Jym2004/tabby-settings-sync#readme"
|
|
98
|
+
}
|