{"version":3,"file":"pull-request-C9wlHhWm.mjs","names":[],"sources":["../src/github/pull-request.ts"],"sourcesContent":["import { Octokit } from \"@octokit/rest\";\nimport { createColorize } from \"colorize-template\";\nimport isCI from \"is-in-ci\";\nimport pico from \"picocolors\";\n\nimport PULL_REQUEST from \"../templates/PULL_REQUEST__RELEASE\";\n\nif (!isCI) {\n  const dotenv = await import(\"dotenv\");\n  dotenv.config({ path: \"../../.env\" });\n}\n\nconst colorize = createColorize(pico);\nconst octokit = new Octokit({ auth: process.env.GH_TOKEN });\nconst _getVersion = (version) => {\n  const [major, minor, patch] = version.split(\"-\")[0].split(\".\");\n  return [parseInt(major), parseInt(minor), parseInt(patch)].join(\".\");\n};\n\nasync function setPullRequest({ base, dryRun = false, head, labels, owner, q, repo, version }) {\n  try {\n    const repo_id = `${owner}/${repo}`;\n    const { gitflow } = PULL_REQUEST;\n    const bodyTemplate = gitflow;\n    const titleTemplate = `merge: 🔀️ v{version} => {base} [gitflow]`;\n\n    const body = bodyTemplate\n      .replace(/\\{base\\}/g, base)\n      .replace(/\\{head\\}/g, head)\n      .replace(/\\{version\\}/g, version);\n\n    const title = titleTemplate\n      .replace(/\\{base\\}/g, base)\n      .replace(/\\{head\\}/g, head)\n      .replace(/\\{version\\}/g, version);\n\n    const response = await octokit.rest.search.issuesAndPullRequests({\n      q,\n    });\n    const doesGitflowPrExists = !!response.data && response.data.total_count === 1;\n    if (doesGitflowPrExists) {\n      const pr = response.data.items[0];\n      const pull_number = pr.number;\n      const _issue_number = pull_number;\n      console.log(colorize`{orange.bold 🤔️  ${pull_number} => Exists, should we update PR ?}`);\n      console.log(colorize`{orange.bold 🤪️  Right now we are not}`);\n      console.log(colorize`{orange.bold 😵️  https://github.com/${repo_id}/pull/${pull_number}}`);\n\n      // await octokit.rest.pulls.update({\n      //   owner,\n      //   repo,\n      //   head,\n      //   base,\n      //   title,\n      //   body,\n      //   pull_number,\n      // });\n\n      // await octokit.rest.issues.setLabels({\n      //   owner,\n      //   repo,\n      //   issue_number,\n      //   labels,\n      // });\n    } else {\n      console.log(colorize`{blue.bold 🤠️  Yee-haw, Create a Pee-Ahr}`);\n      console.log(colorize`{blue.bold 🤓️  ${title}}`);\n\n      if (dryRun) {\n        console.log(colorize`{orange.bold 🏃️  dryRun]`);\n      } else {\n        const pull = await octokit.rest.pulls.create({\n          base,\n          body,\n          head,\n          owner,\n          repo,\n          title,\n        });\n        void octokit.rest.issues.addLabels({\n          issue_number: pull.data.number,\n          labels,\n          owner,\n          repo,\n        });\n      }\n    }\n  } catch (error) {\n    console.log(colorize`{red.bold ❎️  error: ${owner}/${repo} => pulls.list}`);\n    console.log(colorize`{white.italic ${error}}`);\n  }\n}\n\nexport default setPullRequest;\n"],"mappings":"qPAOK,IAEH,MADqB,OAAO,sBAAS,CAAA,KAAA,GAAA,EAAA,EAAA,QAAA,CAAA,CAAA,EACrC,CAAO,OAAO,CAAE,KAAM,YAAa,CAAC,EAGtC,MAAM,EAAW,EAAe,CAAI,EAC9B,EAAU,IAAI,EAAQ,CAAE,KAAM,QAAQ,IAAI,QAAS,CAAC,EAM1D,eAAe,EAAe,CAAE,OAAM,SAAS,GAAO,OAAM,SAAQ,QAAO,IAAG,OAAM,WAAW,CAC7F,GAAI,CACF,IAAM,EAAU,GAAG,EAAM,GAAG,IACtB,CAAE,WAAY,EAId,EAAO,EACV,QAAQ,YAAa,CAAI,CAAC,CAC1B,QAAQ,YAAa,CAAI,CAAC,CAC1B,QAAQ,eAAgB,CAAO,EAE5B,EAAQ,4CACX,QAAQ,YAAa,CAAI,CAAC,CAC1B,QAAQ,YAAa,CAAI,CAAC,CAC1B,QAAQ,eAAgB,CAAO,EAE5B,EAAW,MAAM,EAAQ,KAAK,OAAO,sBAAsB,CAC/D,GACF,CAAC,EAED,GAD8B,EAAS,MAAQ,EAAS,KAAK,cAAgB,EACpD,CAEvB,IAAM,EADK,EAAS,KAAK,MAAM,EACX,CAAG,OAEvB,QAAQ,IAAI,CAAQ,qBAAqB,EAAY,mCAAmC,EACxF,QAAQ,IAAI,CAAQ,yCAAyC,EAC7D,QAAQ,IAAI,CAAQ,wCAAwC,EAAQ,QAAQ,EAAY,EAAE,CAkB5F,MAIE,GAHA,QAAQ,IAAI,CAAQ,4CAA4C,EAChE,QAAQ,IAAI,CAAQ,mBAAmB,EAAM,EAAE,EAE3C,EACF,QAAQ,IAAI,CAAQ,2BAA2B,MAC1C,CACL,IAAM,EAAO,MAAM,EAAQ,KAAK,MAAM,OAAO,CAC3C,OACA,OACA,OACA,QACA,OACA,OACF,CAAC,EACI,EAAQ,KAAK,OAAO,UAAU,CACjC,aAAc,EAAK,KAAK,OACxB,SACA,QACA,MACF,CAAC,CACH,CAEJ,OAAS,EAAO,CACd,QAAQ,IAAI,CAAQ,wBAAwB,EAAM,GAAG,EAAK,gBAAgB,EAC1E,QAAQ,IAAI,CAAQ,iBAAiB,EAAM,EAAE,CAC/C,CACF"}