@procedures/tailscale 0.34.0 → 0.35.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/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @procedures/tailscale
2
2
 
3
+ ## 0.35.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 0b0cb42: One CLI-tool runner in `@procedures/shell` (dedupe review F2, tracker item O60).
8
+
9
+ PATCH: new exports `defineCliTool` and `./testing`, no break. Before 1.0.0, a feature raises the PATCH, and the fixed group shares one version.
10
+
11
+ - The new entry `@procedures/shell/cli` gives `defineCliTool({ name, resolve, error })`. Its runner has `run`, `runJson`, `output`, `json`, `arg` and `shellInput`. Each command goes as argv to `shell.run` through `ctx.client`, never as a shell string.
12
+ - The entry also gives `cliArg()`, `buildArgv()`, `parseJsonDocument()`, `parseJsonOutput()`, the shared result `CliToolOutput` with `cliToolOutputSchema()`, and the program lookup `nodeScript()`, `execPathProgram()` and `findInPath()`. The package root exports them too.
13
+ - The new entry `@procedures/shell/testing` gives `fakeShell(results)`: the shell procedures with their real schemas, effects and root rules, and handlers that record each input. Use `shell.module` in `createRegistry()`, or `shell.client` as `ctx.client`.
14
+ - gh, npm, pnpm, docker and `cli.run` run their program through `defineCliTool()`. Each procedure keeps its path, its schemas, its effects and its behavior. The exported helpers (`resolveNpm`, `resolvePnpm`, the output types and schemas) stay.
15
+ - `PnpmCommandOutput`, `NpmCommandOutput`, `DockerCommandOutput` and `CliRunOutput` extend `CliToolOutput`. Their schemas come from `cliToolOutputSchema()`. The `stderr` description of pnpm and `cli.run` now also names the error message when the program did not start.
16
+ - `@procedures/restic` and `@procedures/tailscale` re-export `buildArgv`, `parseJsonOutput`, `FLAG_NAME` and `ArgValue` from `@procedures/shell/cli`. The two copies of `argv.ts` are gone.
17
+ - `@procedures/vite` and `@procedures/vitest` use `cliArg()` for their argument guard.
18
+ - `SERVER-LAYERS.md` records the one run path of a CLI wrapper, and the reasons.
19
+ - fc5df9d: PATCH: internal, no change to the public API. The follow-ups of the one CLI-tool runner (tracker item O64).
20
+
21
+ - `pnpm.store.path` runs `pnpm store path` with argv through the nested `shell.run` call, as the other pnpm procedures do. Before, it ran a shell string with `execSync`. Its path, schemas, effects and output stay the same. It declares `calls: ["shell.run"]`.
22
+ - `tailscale.run` runs tailscale through `defineCliTool()` and the nested `shell.run` call. The engine applies its rules to that call, and a cancel stops the program. The module requires the module of `@procedures/shell`. A program that does not start still gives the error "tailscale did not start".
23
+ - `@procedures/mark` no longer declares `@clack/prompts`. No file of mark imports it since the move to `@procedures/cli-kit`.
24
+ - Updated dependencies [0b0cb42]
25
+ - @procedures/shell@0.35.0
26
+ - @procedures/client@0.35.0
27
+
3
28
  ## 0.34.0
4
29
 
5
30
  ### Patch Changes