The reason is that getVersion function tries to execute execSync('pnpm --version') to detect presence of pnpm. But it throws exception if command writes into stderr - which is the case under windows.
info Using isolate-package version 1.16.0
'pnpm' is not recognized as an internal or external command,
operable program or batch file.
Error: Command failed: pnpm --version
'pnpm' is not recognized as an internal or external command,
operable program or batch file.
at checkExecSyncError (node:child_process:890:11)
at execSync (node:child_process:962:15)
at getVersion (file:///C:/Users/<reducted>/node_modules/isolate-package/src/lib/package-manager/helpers/infer-from-files.ts:30:18)
at inferFromFiles (file:///C:/Users/<reducted>/node_modules/isolate-package/src/lib/package-manager/helpers/infer-from-files.ts:12:21)
at detectPackageManager (file:///C:/Users/<reducted>/node_modules/isolate-package/src/lib/package-manager/index.ts:36:46)
at isolate (file:///C:/Users/<reducted>/node_modules/isolate-package/src/isolate.ts:106:26)
at run (file:///C:/Users/<reducted>/node_modules/isolate-package/src/isolate-bin.ts:9:3)
The reason is that getVersion function tries to execute execSync('pnpm --version') to detect presence of pnpm. But it throws exception if command writes into stderr - which is the case under windows.
https://github.com/0x80/isolate-package/blob/e9372344ae864010df94b90f44886db46e63e201/src/lib/package-manager/helpers/infer-from-files.ts#L30