@procedures/tailscale 0.33.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,56 @@
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
+
28
+ ## 0.34.0
29
+
30
+ ### Patch Changes
31
+
32
+ - fa1a61a: Less boilerplate in each procedure definition (dedupe review F1, tracker item O58).
33
+
34
+ PATCH (pre-1.0): this change adds exports and deprecates names. It removes no export and changes no behavior.
35
+
36
+ - `@procedures/client` has the new export `typed<T>()`. It is the one pass-through schema that gives only the type `T`.
37
+ - `@procedures/client` has the new export `definePackage(name, procedures, requires?)`. It gives `{ module, register }` and registers nothing at the call. The new type `PackageDefinition` is its result.
38
+ - `zodAdapter` is deprecated. `input()` and `output()` take each Standard Schema and infer its type, so a zod schema goes in directly.
39
+ - `typedAnySchema` and `outputSchema` are deprecated. Use `typed<T>()`. They give the same pass-through schema.
40
+ - The procedures of the packages give their zod schemas to `input()` and `output()` directly. The `.build() as AnyProcedure` casts are gone. The schemas, the types of the exports and the validation do not change.
41
+ - `mark procedure new` writes `.input(<Name>InputSchema)` and `.output(<Name>OutputSchema)`, without `zodAdapter`.
42
+
43
+ Migration:
44
+
45
+ - The site, MiniMongo, Graph and jarvis: no change at this time. The deprecated names work until the next MINOR.
46
+ - Before the next MINOR, replace `zodAdapter<T>(schema)` with `schema`. To keep the check of a schema against a type, write `const schema: z.ZodType<T> = ...`.
47
+ - Before the next MINOR, replace `typedAnySchema<T>()` and `outputSchema<T>()` with `typed<T>()`.
48
+ - A parse-only object (`{ parse }`) in `zodAdapter` becomes a Standard Schema with a `~standard` property.
49
+ - Updated dependencies [d4376c2]
50
+ - Updated dependencies [fa1a61a]
51
+ - @procedures/client@0.34.0
52
+ - @procedures/shell@0.34.0
53
+
3
54
  ## 0.33.0
4
55
 
5
56
  ### Patch Changes