@testspectra/cli 1.1.8-rc.24 → 1.1.8-rc.25

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
@@ -44,31 +44,34 @@ portable JS, so one npm package can't ship a single binary that works on every O
44
44
  `@testspectra/cli` follows the same pattern as esbuild/swc/turbo:
45
45
 
46
46
  - `@testspectra/cli` itself ships **no native binary** — only the JS launcher (`bin/spectra.js`).
47
- - The binary is published as four separate, platform-locked packages under `cli/npm/`:
47
+ - The binary is published as three separate, platform-locked packages under `cli/npm/`:
48
48
  - `@testspectra/cli-darwin-arm64`
49
49
  - `@testspectra/cli-win32-x64`
50
- - `@testspectra/cli-win32-arm64`
51
50
  - `@testspectra/cli-linux-x64`
52
51
 
52
+ (Windows arm64 has no native build — `resolveBinaryPath()` throws a clear "not supported"
53
+ error there instead of pointing at a package that was never published.)
54
+
53
55
  Each has `os`/`cpu` fields in its `package.json`, so npm/pnpm/yarn only ever download the one
54
56
  matching the installing machine.
55
- - `@testspectra/cli` lists all four as `optionalDependencies`, pinned to an exact version (not
57
+
58
+ - `@testspectra/cli` lists all three as `optionalDependencies`, pinned to an exact version (not
56
59
  `^`) that always matches the `@testspectra/cli` release it ships with.
57
60
  - At runtime, `RustCoreBridge.resolveBinaryPath()` (`cli/src/runner/bridge.ts`) resolves the
58
61
  binary from whichever platform package got installed (`require.resolve('@testspectra/cli-<platform>/package.json')`),
59
62
  falling back to the monorepo's local build output (`core/target/release/...`) for local dev
60
63
  where no optional package is installed.
61
- - If a user's platform/arch isn't one of the four above, install succeeds (optional deps just
64
+ - If a user's platform/arch isn't one of the three above, install succeeds (optional deps just
62
65
  get skipped) but `resolveBinaryPath()` throws a clear "not supported" error at run time.
63
66
 
64
67
  ### Building & releasing all platforms
65
68
 
66
- `scripts/build-cross-platform-binaries.js` builds the binary for all four platforms from a
69
+ `scripts/build-cross-platform-binaries.js` builds the binary for all three platforms from a
67
70
  single macOS machine and copies each into `cli/npm/<platform>/bin/`:
68
71
 
69
72
  - **macOS arm64** — native `cargo build` (this machine only builds arm64; there's no x64 macOS
70
73
  package).
71
- - **Windows x64 / arm64** — cross-compiled via [`cargo-xwin`](https://github.com/rust-cross/cargo-xwin)
74
+ - **Windows x64** — cross-compiled via [`cargo-xwin`](https://github.com/rust-cross/cargo-xwin)
72
75
  (`cargo install cargo-xwin`), which downloads the MSVC CRT/Windows SDK bits needed for linking.
73
76
  reqwest's default `native-tls` backend uses Schannel on Windows, so no OpenSSL cross-compile
74
77
  headaches here.
@@ -79,8 +82,8 @@ single macOS machine and copies each into `cli/npm/<platform>/bin/`:
79
82
  Docker must be running for this step.
80
83
 
81
84
  `scripts/release-cli-local.sh` runs this automatically, then stamps every `cli/npm/*/package.json`
82
- and `cli/package.json`'s `optionalDependencies` with the target version, packs all five tarballs,
83
- and (with `--publish`) publishes the four platform packages before `@testspectra/cli` itself.
85
+ and `cli/package.json`'s `optionalDependencies` with the target version, packs all four tarballs,
86
+ and (with `--publish`) publishes the three platform packages before `@testspectra/cli` itself.
84
87
 
85
88
  ---
86
89
 
@@ -0,0 +1 @@
1
+ 2db95c618fc201b3c5e4b2f56e93c5e5fca36ba0d31250c65c98aabed5385361