Skip to content

v8.1.0

  • v8.1.0
  • a5509e5
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v8.1.0
  • a5509e5
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@sorccu sorccu tagged this 27 May 05:36
* feat: add Engine class for Playwright Check Suite engine selection

Adds Engine.node('24') and Engine.bun('1.3') static factory methods
for selecting the JavaScript runtime engine. Also accepts plain
{ name, version } objects in checkly.config.ts.

Omitting the engine property sends null to the backend (auto-detect).

* feat: add known-version autocomplete hints to Engine factory methods

* feat: auto-detect engine from project version files

Detects the JavaScript engine from .node-version, .nvmrc,
.tool-versions, .bun-version, or package.json engines field.
No hardcoded version list — extracted versions are passed through
to the backend, which validates them.

Detection is cached per session via a shared promise on Session,
so concurrent bundle() calls only read version files once.

* feat: add Node.js 26 to engine version autocomplete hints

* fix: restrict engine prop to Engine type only, update docs

* feat: add engines.json rule-based version resolution with warnings

Resolves detected and explicit engine versions through semver-based
rules. EOL/unavailable versions are remapped with WarningDiagnostic
notices. Denied versions (e.g. Bun 2.x) clear the engine selection.

Rules are inlined as TypeScript constants (canonical source:
monorepo/engines.json). The loader has an async signature to support
future API-based rule loading.

* chore: update engine rule notice wording

* feat: add SubstitutedPropertyValueDiagnostic for engine version notices

Uses a dedicated diagnostic class for substituted property values.
Auto-detected substitutions include a hint about version files and
how to override with explicit Engine.node() / Engine.bun().

* fix: propagate notices for denied engine versions

When a version is denied (e.g. Bun 2.0), the notices were silently
discarded because resolveNode/resolveBun returned undefined. Now
denied results propagate notices so warnings are shown to the user.

* fix: use InvalidPropertyValueDiagnostic for denied engine versions

Denied versions (e.g. Bun 2.x) now produce an error diagnostic
instead of a warning, while substituted versions (e.g. Node 18 → 22)
remain as warnings.

* test: add engine resolver unit tests and sandbox integration tests

Unit tests (15): verify all rule matching, follow chains, remapping,
and deny behavior for both Node and Bun.

Sandbox integration tests (3): verify engine diagnostics flow
end-to-end through parse-project — EOL warning, denied error,
and clean pass for valid versions.

* chore: update Bun rule notices to include substitution target

* ci: retrigger CI
Assets 2
Loading