{"version":3,"file":"install-added-dependencies-DVSbzler.mjs","sources":["../src/utils/install-added-dependencies.ts"],"sourcesContent":["import { boolean, flag, optional } from \"cmd-ts\";\nimport { spawnSync } from \"node:child_process\";\nimport { detect, resolveCommand } from \"package-manager-detector\";\n\nexport const skipInstallArgs = {\n  skipInstall: flag({\n    type: optional(boolean),\n    long: \"skip-install\",\n    description:\n      \"Don't install the dependencies the command adds to package.json\",\n  }),\n};\n\n// Installs what a generate command just added to package.json. A failed\n// install doesn't fail the command: the files are written, so say what to run.\nexport async function installAddedDependencies(\n  added: readonly string[],\n  projectDir: string,\n  skipInstall?: boolean,\n) {\n  if (added.length === 0) return;\n  const agent = (await detect({ cwd: projectDir }))?.agent ?? \"npm\";\n  const resolved = resolveCommand(agent, \"install\", []);\n  if (!resolved) return;\n  const printed = [resolved.command, ...resolved.args].join(\" \");\n  if (skipInstall) {\n    console.log(`Run \\`${printed}\\` to install them.`);\n    return;\n  }\n  console.log(`Installing with \\`${printed}\\`...`);\n  const result = spawnSync(resolved.command, resolved.args, {\n    cwd: projectDir,\n    stdio: \"inherit\",\n    shell: process.platform === \"win32\",\n  });\n  if (result.status !== 0) {\n    console.warn(\n      `Install failed. Run \\`${printed}\\` in ${projectDir} to install them.`,\n    );\n  }\n}\n"],"names":[],"mappings":";;;;;;AAIA,MAAa,kBAAkB,EAC7B,aAAa,KAAK;CAChB,MAAM,SAAS,OAAO;CACtB,MAAM;CACN,aACE;AACJ,CAAC,EACH;AAIA,eAAsB,yBACpB,OACA,YACA,aACA;CACA,IAAI,MAAM,WAAW,GAAG;CACxB,MAAM,SAAS,MAAM,OAAO,EAAE,KAAK,WAAW,CAAC,EAAA,EAAI,SAAS;CAC5D,MAAM,WAAW,eAAe,OAAO,WAAW,CAAC,CAAC;CACpD,IAAI,CAAC,UAAU;CACf,MAAM,UAAU,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG;CAC7D,IAAI,aAAa;EACf,QAAQ,IAAI,SAAS,QAAQ,oBAAoB;EACjD;CACF;CACA,QAAQ,IAAI,qBAAqB,QAAQ,MAAM;CAM/C,IALe,UAAU,SAAS,SAAS,SAAS,MAAM;EACxD,KAAK;EACL,OAAO;EACP,OAAO,QAAQ,aAAa;CAC9B,CACS,CAAC,CAAC,WAAW,GACpB,QAAQ,KACN,yBAAyB,QAAQ,QAAQ,WAAW,kBACtD;AAEJ","debug_id":"94ff9d9a-8051-5d68-9574-45469dd39a97"}