{"version":3,"sources":["jsdelivr-header.js","/npm/@gitsync/post-commit-command@0.5.13/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,MAAM,SAAW,QAAQ,mBACnB,kBAAoB,QAAQ,mBAC5B,MAAQ,QAAQ,gBAChB,iBAAmB,QAAQ,2BACjC,IAAI,QAAU,CACV,QAAS,QAyCb,eAAe,WAAW,EAAS,SACzB,EAAQ,QAAQ,EAC1B,CAxCA,QAAQ,QAAU,cAClB,QAAQ,SAAW,6EACnB,QAAQ,QAAU,MAAO,IACrB,GAAI,QAAQ,IAAI,eAEZ,YADA,MAAM,QAAQ,KAAK,qDAGvB,MAAM,EAAS,kBAAkB,QAAQ,KACnC,EAAS,IAAI,SAAS,OAC5B,IAAI,EACJ,MAAM,QAAa,EAAO,IAAI,CAAC,WAAY,KAAM,IAAK,UACtD,IAAK,EAED,YADA,MAAM,QAAQ,KAAK,iDAGvB,OAAQ,EAAK,MAAM,MAAM,QACrB,KAAK,EAED,EAAO,2CACP,MACJ,KAAK,EACD,EAAO,QAEf,MAAM,QAAe,EAAO,IAAI,CAAC,OAAQ,cAAe,OAAQ,IAChE,MAAM,QAAQ,KAAK,0BAA4B,GAC/C,MAAM,EAAQ,EAAO,MAAM,MACrB,EAAe,EAAO,gBAAgB,GAC5C,IAAK,MAAM,KAAQ,EACX,EAAK,OACL,MAAM,QAAQ,KAAK,oCAAoC,EAAK,mBAG1D,WAAW,iBAAiB,QAAS,CACvC,UAAW,EAAK,UAChB,KAAK,GAEb,EAKJ,QAAQ,QAAU","file":"/npm/@gitsync/post-commit-command@0.5.13/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@gitsync/post-commit-command@0.5.13/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst config_1 = require(\"@gitsync/config\");\nconst git_cli_wrapper_1 = require(\"git-cli-wrapper\");\nconst log_1 = require(\"@gitsync/log\");\nconst commit_command_1 = require(\"@gitsync/commit-command\");\nlet command = {\n    handler: () => {\n    }\n};\ncommand.command = 'post-commit';\ncommand.describe = 'A git hook, use to sync the commits to relative repositories after commit.';\ncommand.handler = async (argv) => {\n    if (process.env.GITSYNC_UPDATE) {\n        log_1.default.info('Gitsync is updating commit, skipping post commit.');\n        return;\n    }\n    const source = git_cli_wrapper_1.default('.');\n    const config = new config_1.Config();\n    let prev;\n    const revs = await source.run(['rev-list', '-n', '2', '--all']);\n    if (!revs) {\n        log_1.default.warn('The repository does not have any commits yet.');\n        return;\n    }\n    switch (revs.split('\\n').length) {\n        case 1:\n            // Git empty tree hash\n            prev = '4b825dc642cb6eb9a060e54bf8d69288fbee4904';\n            break;\n        case 2:\n            prev = 'HEAD^';\n    }\n    const result = await source.run(['diff', '--name-only', 'HEAD', prev]);\n    log_1.default.info('Found changed files: \\n' + result);\n    const files = result.split(\"\\n\");\n    const changedRepos = config.getReposByFiles(files);\n    for (const repo of changedRepos) {\n        if (repo.squash) {\n            log_1.default.info(`Ignore sync squashed repository: ${repo.sourceDir}`);\n            continue;\n        }\n        await runCommand(commit_command_1.default, {\n            sourceDir: repo.sourceDir,\n            yes: true,\n        });\n    }\n};\nasync function runCommand(command, options) {\n    await command.handler(options);\n}\nexports.default = command;\n"]}