@@ -43,20 +43,21 @@ func JSPMType(s string) JSPackageManager {
4343// JSPMPackageName strips the prefix and splits on @ to return (name, version).
4444// For "pnpm:vercel@latest" returns ("vercel", "latest").
4545// For "pnpm:vercel" returns ("vercel", "").
46- func JSPMPackageName (s string ) (name , version string ) {
46+ func JSPMPackageName (raw string ) (name , version string ) {
4747 // Strip the prefix
48+ pkg := raw
4849 switch {
49- case strings .HasPrefix (s , PnpmPrefix ):
50- s = strings .TrimPrefix (s , PnpmPrefix )
51- case strings .HasPrefix (s , YarnPrefix ):
52- s = strings .TrimPrefix (s , YarnPrefix )
53- case strings .HasPrefix (s , NpmPrefix ):
54- s = strings .TrimPrefix (s , NpmPrefix )
50+ case strings .HasPrefix (pkg , PnpmPrefix ):
51+ pkg = strings .TrimPrefix (pkg , PnpmPrefix )
52+ case strings .HasPrefix (pkg , YarnPrefix ):
53+ pkg = strings .TrimPrefix (pkg , YarnPrefix )
54+ case strings .HasPrefix (pkg , NpmPrefix ):
55+ pkg = strings .TrimPrefix (pkg , NpmPrefix )
5556 }
5657
5758 // Split on last @ (to handle scoped packages like @scope/pkg@version)
58- if i := strings .LastIndex (s , "@" ); i > 0 {
59- return s [:i ], s [i + 1 :]
59+ if i := strings .LastIndex (pkg , "@" ); i > 0 {
60+ return pkg [:i ], pkg [i + 1 :]
6061 }
61- return s , ""
62+ return pkg , ""
6263}
0 commit comments