Repository navigation
feat(cli): warn when embed leaves lockfile versions of a package unembedded [RED-1315] [ship] - #1588
Merged
Merged
Conversation
…bedded [RED-1315] Checkly runners answer an embedded package's registry metadata from the code bundle alone, listing only the embedded versions. When an embed entry pins one version (or a '!' entry excludes one) while the shipped lockfile also uses another version of the same package, npm installs on the runner fail with ETARGET. checkly test/deploy now print a warning naming the package, the embedded versions and the missing ones. The comparison uses the pruned lockfile when pruning ran, so versions only needed by workspace members outside the bundle do not warn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear: RED-1315
Summary
Checkly runners answer an embedded package's registry metadata from the code bundle alone, so they list only the embedded versions. Suppose a
bundle.packages.embedentry pins one version ('legacy-private-pkg@2.1.0'), or a!entry excludes one, while the shipped lockfile also uses another version of the same package. npm installs on the runner then fail with ETARGET, and until now the user only found out after a check failed.checkly test/pw-test/deploynow print a warning at bundle time:findUnembeddedVersions()(lockfile-filter.ts) compares the embedded set with the lockfile's registry entries. The plan computes it against the full lockfile. When the bundled lockfile was pruned,filterTarballsByLockfile()recomputes it against the pruned one, so versions that only workspace members outside the bundle need do not trigger the warning.bundle.packages.embedJSDoc and theconfigure-playwright-checksAI-context reference now say that a pinned package installs only in its embedded versions.Test plan
findUnembeddedVersions()and the filter'sunembeddedresult🤖 Generated with Claude Code