@@ -96,7 +96,12 @@ let removeNpmPackageLock = async () => {
9696
9797let installVersions = async ({rescriptVersion , rescriptCoreVersion }) => {
9898 let packageManagerInfo = await PackageManagers .getPackageManagerInfo ()
99- let {command : packageManagerCommand , packageManager } = packageManagerInfo
99+ let {packageManager } = packageManagerInfo
100+
101+ let execCommand = async command => {
102+ let fullCommand = ` ${packageManagerInfo.command} ${command}`
103+ let _ = await Promisified .ChildProcess .exec (fullCommand )
104+ }
100105
101106 let packages = switch rescriptCoreVersion {
102107 | Some (rescriptCoreVersion ) => [
@@ -106,13 +111,13 @@ let installVersions = async ({rescriptVersion, rescriptCoreVersion}) => {
106111 | None => [` rescript@${rescriptVersion}` ]
107112 }
108113
109- if packageManager === YarnBerry {
110- await ensureYarnNodeModulesLinker ()
114+ switch packageManager {
115+ | YarnBerry => await ensureYarnNodeModulesLinker ()
116+ | Pnpm => await execCommand ("import" ) // import versions from package-lock.json
117+ | _ => ()
111118 }
112119
113- let command = ` ${packageManagerCommand} add ${packages-> Array.join(" " )}`
114-
115- let _ = await Promisified .ChildProcess .exec (command )
120+ await execCommand (` add ${packages-> Array.join(" " )}` )
116121
117122 if packageManager !== Npm {
118123 await removeNpmPackageLock ()
0 commit comments