mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-11-07 05:56:21 -10:00
* chore(release): prepare OpenRig 0.6.0 Add per-seat permission selection and typing protection, rig-wide Herdr entry, Node 22/24 support with SQLite 13, and first-use improvements. Label the optional Jev/Rig Stream classifier and Slack manifest setup assistance experimental. * docs: finalize 0.6.0 verification scope and release references Record the accepted Node 22 candidate install, retained Node 24 evidence, and unperformed native permission checks without broadening test claims. --------- Co-authored-by: dev-qa <[email protected]>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
import { readFileSync } from "node:fs";
|
|
import { test } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const LTS_ENGINE = "^22 || ^24";
|
|
const CLI_ENGINE = ">=22";
|
|
|
|
const LTS_PACKAGE_PATHS = [
|
|
"package.json",
|
|
"packages/daemon/package.json",
|
|
];
|
|
|
|
for (const pkgPath of LTS_PACKAGE_PATHS) {
|
|
test(`${pkgPath} has engines.node set to LTS-only constraint`, () => {
|
|
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
assert.ok(pkg.engines, `${pkgPath} is missing an "engines" field`);
|
|
assert.ok(pkg.engines.node, `${pkgPath} is missing "engines.node"`);
|
|
assert.equal(
|
|
pkg.engines.node,
|
|
LTS_ENGINE,
|
|
`${pkgPath} engines.node should be "${LTS_ENGINE}" (even-numbered LTS only) but got "${pkg.engines.node}"`
|
|
);
|
|
});
|
|
}
|
|
|
|
test("published CLI allows odd Node majors to reach the postinstall ABI guard", () => {
|
|
const pkgPath = "packages/cli/package.json";
|
|
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
assert.ok(pkg.engines, `${pkgPath} is missing an "engines" field`);
|
|
assert.equal(
|
|
pkg.engines.node,
|
|
CLI_ENGINE,
|
|
`${pkgPath} engines.node should be "${CLI_ENGINE}" so npm selects the latest package and check-abi.mjs prints the supported-Node fix`
|
|
);
|
|
});
|