Relationships
#3601 eval-skill-triggers ignores evals/promptfoo/package-lock.json, so promptfoo's transitive deps are not locked
Opened by skunk-ape · 10/19/2026· Shipped 10/20/2026
scripts/eval_skill_triggers_promptfoo.ts installs promptfoo with npm install --package-lock=false. npm documents package-lock=false as ignoring package-lock.json when installing, so the committed lockfile in evals/promptfoo/ is never used. The lockfile was added in #1115 to pin transitive dependencies after the css-color breakage, and later bumps (#1619, #2064 for the Shai-Hulud supply chain fix) updated it, but none of those pins reach the install.
Measured 2026-10-19 with promptfoo 0.122.0: of 676 installed packages that appear in the lockfile, 211 resolved to a different version than the lockfile records (for example @ai-sdk/gateway 3.0.133 locked vs 3.0.217 installed, @aws-sdk/client-bedrock-runtime 3.1073.0 vs 3.1152.0).
The original comment says npm ci was avoided because the lockfile, generated on macOS, lacked Linux platform-specific optional packages. That was the reason for npm install; --package-lock=false goes further and drops the lock entirely. Affects the scheduled multi-model eval in CI and the local verify-skills workflow. scripts/audit_deps.ts scans the lockfile, so the audit reports on versions that are not what runs.
Found while triaging swamp-club#3516 (omit optional deps from that install); out of scope there.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.