{
  "version": 3,
  "sources": ["../../../../src/packages/lifecycle/index.ts"],
  "sourcesContent": ["import { safeReadPackageJsonFromDir } from '../read-package-json/index.ts';\nimport {\n  runLifecycleHook,\n  type RunLifecycleHookOptions,\n} from './runLifecycleHook.ts';\nimport {\n  runLifecycleHooksConcurrently,\n  type RunLifecycleHooksConcurrentlyOptions,\n} from './runLifecycleHooksConcurrently.ts';\nimport process from 'node:process';\n\nexport function makeNodeRequireOption(modulePath: string): {\n  NODE_OPTIONS: string;\n} {\n  let { NODE_OPTIONS } = process.env;\n  NODE_OPTIONS = `${NODE_OPTIONS ?? ''} --require=${modulePath}`.trim();\n  return { NODE_OPTIONS };\n}\n\nexport {\n  runLifecycleHook,\n  runLifecycleHooksConcurrently,\n  type RunLifecycleHookOptions,\n  type RunLifecycleHooksConcurrentlyOptions,\n};\n\nexport async function runPostinstallHooks(\n  opts: RunLifecycleHookOptions\n): Promise<boolean> {\n  const pkg = await safeReadPackageJsonFromDir(opts.pkgRoot);\n\n  if (pkg == null) {\n    return false;\n  }\n\n  if (pkg.scripts == null) {\n    pkg.scripts = {};\n  }\n\n  if (typeof pkg.scripts.preinstall === 'string') {\n    await runLifecycleHook('preinstall', pkg, opts);\n  }\n\n  const executedAnInstallScript = await runLifecycleHook('install', pkg, opts);\n\n  if (typeof pkg.scripts.postinstall === 'string') {\n    await runLifecycleHook('postinstall', pkg, opts);\n  }\n\n  return (\n    pkg.scripts.preinstall != null ||\n    executedAnInstallScript ||\n    pkg.scripts.postinstall != null\n  );\n}\n"],
  "mappings": "AAAA,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AACP,OAAO,aAAa;AAEb,SAAS,sBAAsB,YAEpC;AACA,MAAI,EAAE,aAAa,IAAI,QAAQ;AAC/B,iBAAe,GAAG,gBAAgB,EAAE,cAAc,UAAU,GAAG,KAAK;AACpE,SAAO,EAAE,aAAa;AACxB;AASA,eAAsB,oBACpB,MACkB;AAClB,QAAM,MAAM,MAAM,2BAA2B,KAAK,OAAO;AAEzD,MAAI,OAAO,MAAM;AACf,WAAO;AAAA,EACT;AAEA,MAAI,IAAI,WAAW,MAAM;AACvB,QAAI,UAAU,CAAC;AAAA,EACjB;AAEA,MAAI,OAAO,IAAI,QAAQ,eAAe,UAAU;AAC9C,UAAM,iBAAiB,cAAc,KAAK,IAAI;AAAA,EAChD;AAEA,QAAM,0BAA0B,MAAM,iBAAiB,WAAW,KAAK,IAAI;AAE3E,MAAI,OAAO,IAAI,QAAQ,gBAAgB,UAAU;AAC/C,UAAM,iBAAiB,eAAe,KAAK,IAAI;AAAA,EACjD;AAEA,SACE,IAAI,QAAQ,cAAc,QAC1B,2BACA,IAAI,QAAQ,eAAe;AAE/B;",
  "names": []
}
