UNPKG

5.01 kBSource Map (JSON)View Raw
1{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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","sourcesContent":["import { commandJoin } from 'command-join';\n\nimport { execFileAsync, printVerbose } from './utils';\n\nexport async function tagExists(tagName: string): Promise<boolean> {\n try {\n const { stdout } = await execFileAsync('git', ['tag', '-l', tagName]);\n return stdout.split(/[\\r\\n]+/).includes(tagName);\n } catch (error) {\n throw new Error(`tagExists() Error: ${error}`);\n }\n}\n\nexport async function isHeadTag(tagName: string): Promise<boolean> {\n try {\n const { stdout } = await execFileAsync('git', [\n 'tag',\n '-l',\n tagName,\n '--points-at',\n 'HEAD',\n ]);\n return stdout.split(/[\\r\\n]+/).includes(tagName);\n } catch (error) {\n throw new Error(`isHeadTag() Error: ${error}`);\n }\n}\n\nfunction genTagCmdArgs(\n tagName: string,\n message?: string,\n sign: boolean = false,\n): { command: string; args: string[]; commandText: string } {\n const command = 'git';\n const args =\n sign || typeof message === 'string'\n ? /**\n * @see https://github.com/npm/cli/blob/v6.13.0/lib/version.js#L304\n */\n ['tag', tagName, sign ? '-sm' : '-m', message || '']\n : ['tag', tagName];\n\n return {\n command,\n args,\n get commandText() {\n return `${command} ${commandJoin(args)}`;\n },\n };\n}\n\nexport async function setTag(\n tagName: string,\n {\n message,\n sign,\n debug = false,\n dryRun = false,\n }: {\n message?: string;\n sign?: boolean;\n debug?: boolean | ((commandText: string) => string);\n dryRun?: boolean;\n } = {},\n): Promise<void> {\n const cmd = genTagCmdArgs(tagName, message, sign);\n\n if (typeof debug === 'function') {\n printVerbose(debug(cmd.commandText));\n } else if (debug) {\n printVerbose(`> ${cmd.commandText}`);\n }\n\n if (!dryRun) {\n try {\n await execFileAsync(cmd.command, cmd.args);\n } catch (error) {\n throw new Error(`setTag() Error: ${error}`);\n }\n }\n}\n\nexport async function push(\n src: string,\n {\n repository = 'origin',\n debug = false,\n dryRun = false,\n }: { repository?: string; debug?: boolean; dryRun?: boolean } = {},\n): Promise<void> {\n try {\n const args = ['push', repository, src];\n if (debug) {\n printVerbose(`> git ${commandJoin(args)}`);\n }\n if (!dryRun) {\n await execFileAsync('git', args);\n }\n } catch (error) {\n throw new Error(`push() Error: ${error}`);\n }\n}\n"]}
\No newline at end of file