Class PnpmLockAdapter

java.lang.Object
org.openrewrite.javascript.internal.PnpmLockAdapter

public final class PnpmLockAdapter extends Object
Converts a pnpm-lock.yaml into the npm v3 shape consumed by LockFileParser.

pnpm-lock.yaml has explicit root-level top-level deps:

   dependencies:
     lodash:
       specifier: ^4.17.21
       version: 4.17.21
   packages:
     /[email protected]:
       resolution: {...}
 
Top-level packages (those listed at root) get node_modules/<name> paths; everything else in the packages map goes to a synthetic nested path so it's preserved in all but not in topLevel.

pnpm encodes peer-dep variants in its package keys: /[email protected]([email protected]). The peer-dep suffix is stripped during name/version extraction.

  • Method Details

    • toNpmV3

      public static String toNpmV3(String pnpmLockYaml)