{
  "version": 3,
  "sources": ["../../../../src/packages/lockfile.fs/lockfileName.ts"],
  "sourcesContent": ["import { WANTED_LOCKFILE } from '../constants/index.ts';\nimport { getCurrentBranch } from '../git-utils/index.ts';\n\nexport type GetWantedLockfileNameOptions = {\n  useGitBranchLockfile?: boolean | undefined;\n  mergeGitBranchLockfiles?: boolean | undefined;\n};\n\nexport async function getWantedLockfileName(\n  opts: GetWantedLockfileNameOptions = {\n    useGitBranchLockfile: false,\n    mergeGitBranchLockfiles: false,\n  }\n): Promise<string> {\n  if (\n    opts.useGitBranchLockfile === true &&\n    opts.mergeGitBranchLockfiles !== true\n  ) {\n    const currentBranchName = await getCurrentBranch();\n\n    if (typeof currentBranchName === 'string') {\n      return WANTED_LOCKFILE.replace(\n        '.yaml',\n        `.${stringifyBranchName(currentBranchName)}.yaml`\n      );\n    }\n  }\n\n  return WANTED_LOCKFILE;\n}\n\n/**\n * 1. Git branch name may contains slashes, which is not allowed in filenames\n * 2. Filesystem may be case-insensitive, so we need to convert branch name to lowercase\n */\nfunction stringifyBranchName(branchName = ''): string {\n  return branchName.replace(/[^\\w.-]/g, '!').toLowerCase();\n}\n"],
  "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAOjC,eAAsB,sBACpB,OAAqC;AAAA,EACnC,sBAAsB;AAAA,EACtB,yBAAyB;AAC3B,GACiB;AACjB,MACE,KAAK,yBAAyB,QAC9B,KAAK,4BAA4B,MACjC;AACA,UAAM,oBAAoB,MAAM,iBAAiB;AAEjD,QAAI,OAAO,sBAAsB,UAAU;AACzC,aAAO,gBAAgB;AAAA,QACrB;AAAA,QACA,IAAI,oBAAoB,iBAAiB,CAAC;AAAA,MAC5C;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAMA,SAAS,oBAAoB,aAAa,IAAY;AACpD,SAAO,WAAW,QAAQ,YAAY,GAAG,EAAE,YAAY;AACzD;",
  "names": []
}
