Skip to content

Can't find lockfile entry for non semver compliant packages when using yarn #360

@MHekert

Description

@MHekert

When trying to add patch for package that has non semver compliant version in its package.json patch generation throws error:

Can't find lockfile entry for ...

For example:
plugin serverless-plugin-aws-alerts has version specified as v1.7.4, while in yarn.lock it's saved as 1.7.4. Because of this entry from yarn.lock is filtered out in following code:

const entries = Object.entries(appLockFile.object).filter(
  ([k, v]) =>
    k.startsWith(packageDetails.name + "@") &&
   v.version === installedVersion,
)

Potential solution that I would like to propose is to coerce versions (semver.coerce) while searching for lockfile entry in yarn.lock.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions