sftp-push-sync 1.0.0 → 1.0.2
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
CHANGED
|
@@ -6,6 +6,8 @@ Implements a push syncronisation with Dry-Run. Performs the following tasks:
|
|
|
6
6
|
2. Delete remote files that no longer exist locally
|
|
7
7
|
3. Identify changes based on size or altered content and upload them
|
|
8
8
|
|
|
9
|
+
I use the script to transfer [Hugo websites](https://gohugo.io) to the server.
|
|
10
|
+
|
|
9
11
|
Features:
|
|
10
12
|
|
|
11
13
|
- multiple connections in sync.config.json
|
|
@@ -18,7 +20,7 @@ Features:
|
|
|
18
20
|
- Parallel uploads/deletions via worker pool
|
|
19
21
|
- include/exclude patterns
|
|
20
22
|
|
|
21
|
-
The file
|
|
23
|
+
The file `sftp-push-sync.mjs` is pure JavaScript (ESM), not TypeScript. Node.js can execute it directly as long as "type": "module" is specified in package.json or the file has the extension .mjs.
|
|
22
24
|
|
|
23
25
|
## Config file
|
|
24
26
|
|
|
@@ -74,13 +76,13 @@ If you have stored the scripts in `package.json` as follows:
|
|
|
74
76
|
```json
|
|
75
77
|
|
|
76
78
|
"scripts": {
|
|
77
|
-
"sync:staging": "node
|
|
78
|
-
"sync:staging:dry": "node
|
|
79
|
+
"sync:staging": "node sftp-push-sync staging",
|
|
80
|
+
"sync:staging:dry": "node sftp-push-sync staging --dry-run",
|
|
79
81
|
"ss": "npm run sync:staging",
|
|
80
82
|
"ssd": "npm run sync:staging:dry",
|
|
81
83
|
|
|
82
|
-
"sync:prod": "node
|
|
83
|
-
"sync:prod:dry": "node
|
|
84
|
+
"sync:prod": "node sftp-push-sync prod",
|
|
85
|
+
"sync:prod:dry": "node sftp-push-sync prod --dry-run",
|
|
84
86
|
"sp": "npm run sync:prod",
|
|
85
87
|
"spd": "npm run sync:prod:dry",
|
|
86
88
|
},
|
|
@@ -90,7 +92,6 @@ The dry run is a great way to compare files and fill the cache.
|
|
|
90
92
|
|
|
91
93
|
## Which files are needed?
|
|
92
94
|
|
|
93
|
-
- `shell-scripts/sync-sftp.mjs` - The upload script (for details, see the script)
|
|
94
95
|
- `sync.config.json` - The configuration file (with passwords in plain text, so please leave it out of the git repository)
|
|
95
96
|
|
|
96
97
|
## Which files are created?
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sftp-push-sync",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "SFTP
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "SFTP sync tool for Hugo projects (local to remote, with hash cache)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
7
|
+
"sftp-push-sync": "bin/sftp-push-sync.mjs"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"release:patch": "npm run build:noop && npm version patch && git push && git push --tags && npm publish --access public",
|
|
11
|
+
"release:minor": "npm run build:noop && npm version minor && git push && git push --tags && npm publish --access public",
|
|
12
|
+
"release:major": "npm run build:noop && npm version major && git push && git push --tags && npm publish --access public",
|
|
13
|
+
"build:noop": "echo \"nothing to build\""
|
|
8
14
|
},
|
|
9
15
|
"keywords": [
|
|
10
16
|
"hugo",
|
|
@@ -20,4 +26,4 @@
|
|
|
20
26
|
"diff": "^5.2.0",
|
|
21
27
|
"picocolors": "^1.0.0"
|
|
22
28
|
}
|
|
23
|
-
}
|
|
29
|
+
}
|