game-harness 1.1.1 → 1.1.2
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/AGENTS.md +5 -3
- package/CHANGELOG.md +8 -0
- package/README.md +10 -8
- package/docs/contributing.md +4 -1
- package/docs/decisions.md +14 -0
- package/docs/getting-started.md +6 -6
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -33,7 +33,8 @@ pnpm exec playwright install chromium
|
|
|
33
33
|
pnpm add -D game-harness
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
Node 22
|
|
36
|
+
Node.js 22, 24 and 26 are supported (`engines.node: >=22`). This maintained-line
|
|
37
|
+
policy does not require equality to a patch release.
|
|
37
38
|
|
|
38
39
|
### Entry points
|
|
39
40
|
|
|
@@ -105,8 +106,9 @@ pnpm install --frozen-lockfile
|
|
|
105
106
|
pnpm verify
|
|
106
107
|
```
|
|
107
108
|
|
|
108
|
-
`mise.toml` is local-only. CI
|
|
109
|
-
|
|
109
|
+
`mise.toml` is local-only. CI verifies Node majors 22, 24 and 26; `.nvmrc`
|
|
110
|
+
selects major 26 for local development. Release and docs jobs select `lts/*`.
|
|
111
|
+
CI reads the pnpm version from `package.json`'s `packageManager` field via the official
|
|
110
112
|
`actions/setup-node` and `pnpm/action-setup` actions — never edit a
|
|
111
113
|
hardcoded version string into a workflow file.
|
|
112
114
|
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ All notable changes are recorded here. Releases follow
|
|
|
4
4
|
[Semantic Versioning](https://semver.org/) and are generated from Conventional
|
|
5
5
|
Commits by release-please.
|
|
6
6
|
|
|
7
|
+
## [1.1.2](https://github.com/jbcom/game-harness/compare/game-harness-v1.1.1...game-harness-v1.1.2) (2026-10-07)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* declare maintained Node support and standardize CI gates ([86b5dae](https://github.com/jbcom/game-harness/commit/86b5daea84d5680b2a1252e4f4d3dfbccb2754db))
|
|
13
|
+
* declare the supported Node lines and test each in CI ([3454eb6](https://github.com/jbcom/game-harness/commit/3454eb6b13c55593ff12eba1f4ff78edaf51f8f6))
|
|
14
|
+
|
|
7
15
|
## [1.1.1](https://github.com/jbcom/game-harness/compare/game-harness-v1.1.0...game-harness-v1.1.1) (2026-10-07)
|
|
8
16
|
|
|
9
17
|
|
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ and Vitest Browser Mode.
|
|
|
41
41
|
`@jbdevprimary/game-harness` package is a personal-user scope and is being
|
|
42
42
|
retired; update existing dependency declarations and imports to `game-harness`.
|
|
43
43
|
|
|
44
|
-
Node 22
|
|
44
|
+
Node.js 22, 24 and 26 are supported. Install the package plus only the peer family for
|
|
45
45
|
the integration you use:
|
|
46
46
|
|
|
47
47
|
```sh
|
|
@@ -123,11 +123,11 @@ framework entry point it imports. A Playwright-only game, for example, installs
|
|
|
123
123
|
|
|
124
124
|
## Current release matrix
|
|
125
125
|
|
|
126
|
-
`engines.node` declares `>=22
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
`engines.node` declares `>=22`. Supported maintained lines are Node.js 22,
|
|
127
|
+
24 and 26; CI runs the full verification and packed-consumer smoke on each
|
|
128
|
+
line on Linux, plus Node 26 portability on macOS and Windows. `.nvmrc`
|
|
129
|
+
selects major 26 without requiring an exact patch. This is a maintained-line
|
|
130
|
+
policy, not a promise about every historical patch. The current
|
|
131
131
|
conformance matrix is Playwright 1.62.1 and Vitest Browser 4.1.10 and 5.0.3.
|
|
132
132
|
Package-boundary consumers run with a credential-free home directory and npm
|
|
133
133
|
configuration, install only the peer family needed by each entry point, and
|
|
@@ -313,7 +313,7 @@ Keep `reuseExistingServer` false for release evidence and assert the game
|
|
|
313
313
|
identity before exercising a journey. A process from another repository on a
|
|
314
314
|
familiar port must never be accepted as proof.
|
|
315
315
|
|
|
316
|
-
Before publishing, run `pnpm verify` under
|
|
316
|
+
Before publishing, run `pnpm verify` under a supported Node line. The
|
|
317
317
|
package verifier uses npm 11.17.0 directly from the package directory, packs a
|
|
318
318
|
tarball, and installs it into credential-free temporary consumers for the
|
|
319
319
|
peer-free root, Playwright/production-runtime, and Vitest Browser boundaries.
|
|
@@ -526,7 +526,9 @@ An agent integrating this package should read [AGENTS.md](AGENTS.md) first;
|
|
|
526
526
|
|
|
527
527
|
## Development
|
|
528
528
|
|
|
529
|
-
Use
|
|
529
|
+
Use Node.js 22, 24 or 26, npm 11 for packed-consumer verification, and the
|
|
530
|
+
package's declared pnpm version. On Node 22, install npm 11 with
|
|
531
|
+
`npm install --global npm@11` to avoid npm 10's optional-peer resolver crash. With
|
|
530
532
|
[mise](https://mise.jdx.dev) (recommended — it also reads `.nvmrc` and keeps
|
|
531
533
|
pnpm current via `mise.toml`):
|
|
532
534
|
|
package/docs/contributing.md
CHANGED
|
@@ -3,7 +3,10 @@ title: Contributing
|
|
|
3
3
|
description: Development, validation, and pull-request expectations.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Game Harness uses pnpm and Node
|
|
6
|
+
Game Harness uses pnpm and supports Node.js 22, 24 and 26. `.nvmrc` selects
|
|
7
|
+
major 26 for local development; no exact patch is required.
|
|
8
|
+
Use npm 11 for packed-consumer verification (`npm install --global npm@11`);
|
|
9
|
+
Node 22's bundled npm 10 has an optional-peer resolver crash in that smoke test.
|
|
7
10
|
|
|
8
11
|
```sh
|
|
9
12
|
mise install # or: nvm use && corepack enable
|
package/docs/decisions.md
CHANGED
|
@@ -6,6 +6,20 @@ description: Why the package is shaped the way it is, and how a predecessor harn
|
|
|
6
6
|
Each entry records a decision, the reason for it, and what it means for a
|
|
7
7
|
consumer. Newest first.
|
|
8
8
|
|
|
9
|
+
## Maintained Node lines
|
|
10
|
+
|
|
11
|
+
Keep `engines.node: >=22`: Node.js 22, 24 and 26 are the supported maintained
|
|
12
|
+
lines. Linux CI runs full verification and packed-consumer smoke on all three;
|
|
13
|
+
local verification covers Node 22 and 26. `.nvmrc` selects major 26, and release
|
|
14
|
+
and documentation jobs use `lts/*`. No hook or script requires an exact patch.
|
|
15
|
+
This policy covers maintained lines rather than every historical patch, and
|
|
16
|
+
does not change runtime behavior or the public API.
|
|
17
|
+
|
|
18
|
+
Packed-consumer verification uses npm 11 on every CI verification leg. The
|
|
19
|
+
Node 22 bundled npm 10.9.9 crashes in its optional-peer resolver (`edgesOut`)
|
|
20
|
+
when installing the Vitest consumer; npm 11 handles the same tarball and peer
|
|
21
|
+
set. This is verification tooling, not an additional runtime requirement.
|
|
22
|
+
|
|
9
23
|
## Pixel tolerance for screenshot baselines
|
|
10
24
|
|
|
11
25
|
Byte equality is not stable across renders, even on the same machine. Decode
|
package/docs/getting-started.md
CHANGED
|
@@ -3,7 +3,7 @@ title: Getting started
|
|
|
3
3
|
description: Install Game Harness and pick the entry points your game needs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Node 22
|
|
6
|
+
Node.js 22, 24 and 26 are supported. Install the package plus only the peer family
|
|
7
7
|
for the integration you use:
|
|
8
8
|
|
|
9
9
|
```sh
|
|
@@ -26,11 +26,11 @@ the framework entry point it imports — a Playwright-only game installs
|
|
|
26
26
|
|
|
27
27
|
## Current release matrix
|
|
28
28
|
|
|
29
|
-
`engines.node` declares `>=22
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
`engines.node` declares `>=22`. Supported maintained lines are Node.js 22,
|
|
30
|
+
24 and 26; CI runs the full verification and packed-consumer smoke on each
|
|
31
|
+
line on Linux, plus Node 26 portability on macOS and Windows. `.nvmrc`
|
|
32
|
+
selects major 26 without requiring an exact patch. This is a maintained-line
|
|
33
|
+
policy, not a promise about every historical patch. The current
|
|
34
34
|
conformance matrix is Playwright 1.62.1 and Vitest Browser 4.1.10 and 5.0.3.
|
|
35
35
|
Package-boundary consumers run with a credential-free home directory and npm
|
|
36
36
|
configuration, install only the peer family needed by each entry point, and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "game-harness",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Release-grade browser QA primitives for TypeScript games: silent Playwright/Vitest sessions, deterministic screenshots, runtime proof, and Lighthouse gates.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|