@domsync/darwin-x64 1.2.0 → 1.3.1
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 +20 -2
- package/domsync +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -153,7 +153,7 @@ Within each section, patterns are sorted; section order is otherwise preserved;
|
|
|
153
153
|
|
|
154
154
|
A missing local file is treated as an empty list, so the first run bootstraps the local snapshot from the provider file: every provider-only domain is adopted and written locally. An empty local file with an empty provider file is a no-op. A plan whose final list would be empty while the provider file is not is an error: domsync refuses to wipe the provider file.
|
|
155
155
|
|
|
156
|
-
Concurrent runs are refused. A run holds an exclusive lock on
|
|
156
|
+
Concurrent runs are refused. A run holds an exclusive lock on a hidden `.<name>.lock` file next to the config, where `<name>` is the config file name without its extension, from the moment the configuration is loaded until every write and post-write command has finished, so a cron job and a manual run cannot interleave their reads and writes. For `domsync.yaml` that file is `.domsync.lock`; two configs with different file names get different locks and can run at the same time. On Windows the file is also marked with the hidden attribute, since a leading dot alone does not hide it there. The lock file stays on disk after the run; the lock itself is released by the operating system when the process exits, including after a crash.
|
|
157
157
|
|
|
158
158
|
### Provider file validation
|
|
159
159
|
|
|
@@ -240,7 +240,7 @@ With `--json` the output is one object with `ok` and `servers`; each server carr
|
|
|
240
240
|
| `1` | Usage or configuration error, local file read/write error, log write error, or another run holding the config lock. |
|
|
241
241
|
| `2` | Validation error in a local list or a provider file, including `--strict` warnings, and an empty final list. |
|
|
242
242
|
| `3` | SSH connection, authentication, host-key or remote read/write/verify error. |
|
|
243
|
-
| `4` | Update error, including the Homebrew/npm refusal. |
|
|
243
|
+
| `4` | Update error, including the Homebrew/npm refusal; uninstall cancelled or left to a package manager. |
|
|
244
244
|
| `5` | A post-write command failed (non-zero exit or transport error). |
|
|
245
245
|
|
|
246
246
|
When several things fail, the exit code is the code of the first failure in execution order: server order, then file order. A server that cannot be dialled counts at its own position, before its pairs, so a connection error beats a later pair failure. A failure in one pair or one server never stops the rest.
|
|
@@ -275,6 +275,24 @@ domsync установлен через npm. Обновление: npm i -g @dom
|
|
|
275
275
|
|
|
276
276
|
So update those installs with `brew upgrade --cask domsync` or `npm i -g @domsync/cli@latest`. The same refusal applies to `domsync update --check`, because install detection happens first. A standalone binary is replaced atomically after its archive has been checked against `checksums.txt`.
|
|
277
277
|
|
|
278
|
+
## Uninstall
|
|
279
|
+
|
|
280
|
+
`domsync uninstall` removes what the installation created: the binary and the cache directory (`os.UserCacheDir()/domsync`, which holds the update cache). It never touches your config, domain lists or log file.
|
|
281
|
+
|
|
282
|
+
```sh
|
|
283
|
+
domsync uninstall # asks: Удалить domsync и созданные им файлы? [y/N]
|
|
284
|
+
domsync uninstall --yes # no question, for scripts
|
|
285
|
+
domsync --dry-run uninstall # print what would be removed and change nothing
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Enter, or anything other than `y`, `yes`, `д` or `да`, cancels and exits with code 4. Without a terminal the question cannot be asked, so `--yes` is required.
|
|
289
|
+
|
|
290
|
+
The install method is detected the same way as for updates. Homebrew and npm installs are removed through the package manager: domsync runs `brew uninstall --cask --zap domsync` or `npm uninstall -g @domsync/cli` itself and then removes the cache directory. The cask declares a `zap` stanza for that directory, so `brew uninstall --cask --zap domsync` is just as complete without this command. On Windows a running npm package cannot delete itself, so the command prints the npm command and exits 4; the same happens when `brew` or `npm` is not on `PATH`, except the cache directory is still removed.
|
|
291
|
+
|
|
292
|
+
The empty hidden `.<name>.lock` beside a config (`.domsync.lock` for `domsync.yaml`) is a run lock, not an install artifact; it goes away with the config.
|
|
293
|
+
|
|
294
|
+
With `--json` the output is the usual envelope, with `removed` listing the paths and `dry_run` set for `--dry-run`.
|
|
295
|
+
|
|
278
296
|
## Output
|
|
279
297
|
|
|
280
298
|
The default human report is Russian and looks like this for a run that changed one pair:
|
package/domsync
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domsync/darwin-x64",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"packageManager": "npm@11.5.1+sha512.232e6f5d9e799bcb486920b3e9ba907fdf96e576cf7e8c9446c8162e33a416096a1d37a9e910d9a918f6b1f606791c99bc6bb61ee2569b496ec74af13d0dbd95",
|
|
5
5
|
"os": "darwin",
|
|
6
6
|
"cpu": "x64",
|