Merge ethie/cli-bundles at 0765ad689b.
Keep PM runtime publication, install identity, TLS policy, and module
boundaries from pm-clean.
Resolve the Node version-discovery method in its owning class. Preserve
staged tools if a repin download or publication fails. Carry extra-only
memory-provider setup through PM and retain restart-required reporting.
Keep target-specific TUI path assertions and discard obsolete self-lock
fixtures and the orphaned Windows service handler.
Verified locally with the canonical Python runner, root JS checks, TUI
checks/build, shell parsing, and workflow YAML parsing. Existing platform
pins and executable modes are unchanged. No full-suite CI, new bionic
bundle, or phone acceptance is claimed for this merge.
15 lines
576 B
Python
15 lines
576 B
Python
"""The package lock must never choose an unstable Node release."""
|
|
from pm import update
|
|
|
|
|
|
def test_node_candidates_exclude_prereleases(monkeypatch):
|
|
from pm.registry import get_package
|
|
|
|
monkeypatch.setattr(update, "_get_json", lambda url: [
|
|
{"version": "v26.8.0-alpha.0"}, {"version": "v26.7.0"},
|
|
{"version": "v24.0.0-rc.1"}, {"version": "v24.20.0"},
|
|
])
|
|
versions = get_package("node").latest_versions("linux-x64")
|
|
assert versions == ["26.7.0", "24.20.0"]
|
|
assert get_package("termux-docker").latest_versions("linux-arm64-bionic") == []
|