{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-env/utils.ts"],
  "sourcesContent": ["import { promises as fs } from 'node:fs';\nimport path from 'node:path';\n\nexport const CURRENT_NODE_DIRNAME = 'nodejs_current';\n\nexport async function getNodeExecPathAndTargetDir(\n  pnpmHomeDir: string\n): Promise<{ nodePath: string; nodeLink?: string | undefined }> {\n  const nodePath = getNodeExecPathInBinDir(pnpmHomeDir);\n\n  const nodeCurrentDirLink = path.join(pnpmHomeDir, CURRENT_NODE_DIRNAME);\n\n  let nodeCurrentDir: string | undefined;\n\n  try {\n    nodeCurrentDir = await fs.readlink(nodeCurrentDirLink);\n  } catch {\n    nodeCurrentDir = undefined;\n  }\n\n  return {\n    nodePath,\n    nodeLink:\n      typeof nodeCurrentDir === 'string'\n        ? getNodeExecPathInNodeDir(nodeCurrentDir)\n        : undefined,\n  };\n}\n\nexport function getNodeExecPathInBinDir(pnpmHomeDir: string): string {\n  return path.resolve(\n    pnpmHomeDir,\n    process.platform === 'win32' ? 'node.exe' : 'node'\n  );\n}\n\nexport function getNodeExecPathInNodeDir(nodeDir: string): string {\n  return path.join(\n    nodeDir,\n    process.platform === 'win32' ? 'node.exe' : 'bin/node'\n  );\n}\n"],
  "mappings": "AAAA,SAAS,YAAY,UAAU;AAC/B,OAAO,UAAU;AAEV,MAAM,uBAAuB;AAEpC,eAAsB,4BACpB,aAC8D;AAC9D,QAAM,WAAW,wBAAwB,WAAW;AAEpD,QAAM,qBAAqB,KAAK,KAAK,aAAa,oBAAoB;AAEtE,MAAI;AAEJ,MAAI;AACF,qBAAiB,MAAM,GAAG,SAAS,kBAAkB;AAAA,EACvD,QAAQ;AACN,qBAAiB;AAAA,EACnB;AAEA,SAAO;AAAA,IACL;AAAA,IACA,UACE,OAAO,mBAAmB,WACtB,yBAAyB,cAAc,IACvC;AAAA,EACR;AACF;AAEO,SAAS,wBAAwB,aAA6B;AACnE,SAAO,KAAK;AAAA,IACV;AAAA,IACA,QAAQ,aAAa,UAAU,aAAa;AAAA,EAC9C;AACF;AAEO,SAAS,yBAAyB,SAAyB;AAChE,SAAO,KAAK;AAAA,IACV;AAAA,IACA,QAAQ,aAAa,UAAU,aAAa;AAAA,EAC9C;AACF;",
  "names": []
}
