@testspectra/cli 1.1.8-rc.23 → 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 +11 -8
- package/bin/.testspectra-runner.hash +1 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/commands/__tests__/cloud-run.test.d.ts +1 -0
- package/dist/commands/__tests__/cloud-run.test.js +93 -0
- package/dist/commands/cloud-run.d.ts +13 -0
- package/dist/commands/cloud-run.js +120 -0
- package/dist/commands/upgrade.js +8 -6
- package/dist/generator/architecture-doc-generator.js +1 -3
- package/dist/index.js +1 -1
- package/dist/runner/bridge.js +3 -2
- package/dist/utils/background-update-check.js +1 -1
- package/package.json +8 -9
- package/templates/default/package.json +2 -2
- package/templates/nx/.nx/workspace-data/70094CFD-E89B-57A1-9619-2FC5F4963C54.db-shm +0 -0
- package/templates/nx/.nx/workspace-data/70094CFD-E89B-57A1-9619-2FC5F4963C54.db-wal +0 -0
- package/templates/nx/.nx/workspace-data/d/daemon.log +1162 -6269
- package/templates/nx/.nx/workspace-data/d/server-process.json +3 -0
- package/templates/nx/.nx/workspace-data/file-map.json +102 -102
- package/templates/nx/.nx/workspace-data/nx_files.nxt +0 -0
- package/templates/nx/.nx/workspace-data/parsed-lock-file.json +1 -6497
- package/templates/nx/.nx/workspace-data/project-graph.json +1 -7244
- package/templates/nx/package.json +2 -2
- package/templates/react-component/package.json +3 -3
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
83
|
-
and (with `--publish`) publishes the
|
|
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
|