one-way-git-sync 6.0.27 → 6.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +16 -17
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  import e from"node:fs";import t from"node:path";import{hideBin as i}from"yargs/helpers";import o from"yargs/yargs";import{pino as r}from"pino";import a from"node:child_process";import n from"node:fs/promises";import{copy as s}from"fs-extra";import c from"micromatch";import{simpleGit as d}from"simple-git";const m=r({transport:{target:"pino-pretty",options:{colorize:!0}}});const l=t.join("node_modules",".temp","sync-git-repo");const g={dest:{type:"string",alias:"d",describe:"A URL of a destination git repository.",demand:!0},prefix:{type:"string",alias:"p",describe:"A prefix of a commit hash used to generate a commit title, e.g. 'sync <prefix>/<hash>'.\n A typical value is like 'https://github.com/WillBooster/one-way-git-sync/commits'"},branch:{type:"string",alias:"b",describe:"Specify branch of destination repo."},tag:{type:"string",alias:"t",describe:"Specify tag to be created in destination repo."},"tag-hash":{type:"boolean",describe:"Create version+hash tag (e.g. v1.31.5-2-gcdde507). It should be a unique tag."},"tag-version":{type:"boolean",describe:"Create version tag (e.g. v1.31.5). It could be a non-unique tag."},"ignore-patterns":{type:"array",alias:"i",describe:"Exclude the files whose path matches one of the given patterns.\n The patterns are processed by micromatch (https://github.com/micromatch/micromatch).\n You may specify the option multiple times. Default value is \"-i .git -i .github -i node_modules -i '.renovaterc.*' -i '.renovate.*'\"",default:[".git",".github","node_modules",".renovaterc.*","renovate.*"]},dry:{type:"boolean",describe:"Enable dry-run mode."},force:{type:"boolean",describe:"Force to overwrite the destination git repository."},verbose:{type:"boolean",alias:"v",describe:"Show details logs."}},p=await o(i(process.argv)).scriptName("one-way-git-sync").options(g).middleware(e=>{m.level=e.verbose?"trace":"info"}).strict().version(function(){let i=t.dirname(new URL(import.meta.url).pathname);for(;!e.existsSync(t.join(i,"package.json"));)i=t.dirname(i);return JSON.parse(e.readFileSync(t.join(i,"package.json"),"utf8")).version}()).help().argv;await async function(e){await n.mkdir(l,{recursive:!0});const i=await n.mkdtemp(t.join(l,"repo-")),o=await async function(e,i,o=process.cwd()){const r={"--single-branch":null};i.force||(r["--depth"]=1);i.branch&&(r["--branch"]=i.branch);try{await d(o).clone(i.dest,e,r)}catch{delete r["--branch"],delete r["--single-branch"],await d(o).clone(i.dest,e,r),await d(e).checkout(["-b",i.branch])}m.debug(`Cloned destination repo on ${e}`);const l=d(e);let g=[];try{g=function(e){if(0===e.all.length)return m.debug("No commit history"),[];for(const t of e.all){const[e,...i]=t.message.replaceAll(/[()]/g,"").split(/[\s/]/);if("sync"===e&&i.length>0)return[t.message,i.at(-1)]}const[t]=e.all;t&&m.debug(`No sync commit: ${t.message}`);return[]}(await l.log())}catch{}const[p,h]=g;if(h)m.debug(`Extracted a valid commit: ${h}`),m.debug(`(${p})`);else if(!i.force)return m.error("No valid commit in destination repo"),!1;const u=d(o);let f;try{f=await u.log(h?{from:h,to:"HEAD","--first-parent":void 0}:void 0)}catch(e){return m.error(`Failed to get source commit history: ${e.stack}`),!1}const b=f.latest?.hash;if(!b)return m.info("No synchronizable commit"),!0;const y=[...new Set([...i["ignore-patterns"].map(String),".git"])];let[w,v]=await Promise.all([n.readdir(e),n.readdir(o)]);w=c.not(w,y),v=c.not(v,y),m.debug("destFiles: %o",w),m.debug("srcFiles: %o",v);for(const i of w)await n.rm(t.join(e,i),{recursive:!0,force:!0});for(const i of v)await s(t.join(o,i),t.join(e,i));await l.add("-A");let $="";if(i["tag-hash"]||i["tag-version"]){const e="git describe --tags --always "+(i["tag-version"]?"--abbrev=0":"");$=a.execSync(e,{cwd:o}).toString().trim()}let j=i.prefix??await async function(e){const t=(await e.getRemotes(!0)).find(e=>"origin"===e.name);if(!t)return;let i=t.refs.fetch;if(i||(i=t.refs.push),"string"==typeof i&&i.includes("github.com")){const e=i.split("/"),t=e.at(-2),o=e.at(-1)?.replace(/.git$/,"");if(t&&o)return`https://github.com/${t}/${o}/commits`}}(u)??"";j&&!j.endsWith("/")&&(j+="/");const x=`${j}${b}`,S=$?`sync ${$} (${x})`:`sync ${x}`,k=h?f.all.map(e=>`* ${e.message}`).join("\n\n"):`Replace all the files with those of ${i.dest} due to missing sync commit.`;try{const e=await l.commit(`${S}\n\n${k}`);m.debug("Created a commit: %o",e),m.debug(S),m.debug(` with body: ${k}`)}catch(e){return m.error(`Failed to commit changes: ${e.stack}`),!1}const F=$||i.tag;if(F)try{await l.addTag(F),m.debug(`Created a tag: ${F}`)}catch{m.warn(`Failed to create a tag: ${F}`)}if(i.dry)return m.debug("Finished dry run"),!0;try{await(i.branch?l.push("origin",i.branch):l.push()),F&&await l.push({"--tags":null})}catch(e){return m.error(`Failed to push the commit: ${e.stack}`),!1}return m.debug("Pushed the commit"),!0}(i,e);process.exit(o?0:1)}(p);
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnZXIudHMiLCIuLi9zcmMvc3luYy50cyIsIi4uL3NyYy95YXJnc09wdGlvbnMudHMiLCIuLi9zcmMvaW5kZXgudHMiLCIuLi9zcmMvZ2l0SHViLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpbm8gfSBmcm9tICdwaW5vJztcblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IHBpbm8oe1xuICB0cmFuc3BvcnQ6IHtcbiAgICB0YXJnZXQ6ICdwaW5vLXByZXR0eScsXG4gICAgb3B0aW9uczoge1xuICAgICAgY29sb3JpemU6IHRydWUsXG4gICAgfSxcbiAgfSxcbn0pO1xuIiwiaW1wb3J0IGNoaWxkX3Byb2Nlc3MgZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBmcyBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IGNvcHkgfSBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgbWljcm9tYXRjaCBmcm9tICdtaWNyb21hdGNoJztcbmltcG9ydCB0eXBlIHsgTG9nUmVzdWx0LCBPcHRpb25zLCBTaW1wbGVHaXQsIFRhc2tPcHRpb25zIH0gZnJvbSAnc2ltcGxlLWdpdCc7XG5pbXBvcnQgeyBzaW1wbGVHaXQgfSBmcm9tICdzaW1wbGUtZ2l0JztcbmltcG9ydCB0eXBlIHsgSW5mZXJyZWRPcHRpb25UeXBlcyB9IGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgZ2V0R2l0SHViQ29tbWl0c1VybCB9IGZyb20gJy4vZ2l0SHViLmpzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgeWFyZ3NPcHRpb25zIH0gZnJvbSAnLi95YXJnc09wdGlvbnMuanMnO1xuXG5jb25zdCBzeW5jRGlyUGF0aCA9IHBhdGguam9pbignbm9kZV9tb2R1bGVzJywgJy50ZW1wJywgJ3N5bmMtZ2l0LXJlcG8nKTtcblxuZXhwb3J0IHR5cGUgWWFyZ3NPcHRpb25zID0gSW5mZXJyZWRPcHRpb25UeXBlczx0eXBlb2YgeWFyZ3NPcHRpb25zPjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN5bmMob3B0czogWWFyZ3NPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGZzLm1rZGlyKHN5bmNEaXJQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgZGlyUGF0aCA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKHN5bmNEaXJQYXRoLCAncmVwby0nKSk7XG4gIGNvbnN0IHJldCA9IGF3YWl0IHN5bmNDb3JlKGRpclBhdGgsIG9wdHMpO1xuICAvLyBhd2FpdCBmcy5ybShkaXJQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIHByb2Nlc3MuZXhpdChyZXQgPyAwIDogMSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzeW5jQ29yZShcbiAgZGVzdFJlcG9QYXRoOiBzdHJpbmcsXG4gIG9wdHM6IFlhcmdzT3B0aW9ucyxcbiAgc3JjUmVwb1BhdGggPSBwcm9jZXNzLmN3ZCgpXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tbnVsbFxuICBjb25zdCBjbG9uZU9wdHM6IE9wdGlvbnMgPSB7ICctLXNpbmdsZS1icmFuY2gnOiBudWxsIH07XG4gIGlmICghb3B0cy5mb3JjZSkge1xuICAgIGNsb25lT3B0c1snLS1kZXB0aCddID0gMTtcbiAgfVxuICBpZiAob3B0cy5icmFuY2gpIHtcbiAgICBjbG9uZU9wdHNbJy0tYnJhbmNoJ10gPSBvcHRzLmJyYW5jaDtcbiAgfVxuICB0cnkge1xuICAgIGF3YWl0IHNpbXBsZUdpdChzcmNSZXBvUGF0aCkuY2xvbmUob3B0cy5kZXN0LCBkZXN0UmVwb1BhdGgsIGNsb25lT3B0cyk7XG4gIH0gY2F0Y2gge1xuICAgIGRlbGV0ZSBjbG9uZU9wdHNbJy0tYnJhbmNoJ107XG4gICAgZGVsZXRlIGNsb25lT3B0c1snLS1zaW5nbGUtYnJhbmNoJ107XG4gICAgYXdhaXQgc2ltcGxlR2l0KHNyY1JlcG9QYXRoKS5jbG9uZShvcHRzLmRlc3QsIGRlc3RSZXBvUGF0aCwgY2xvbmVPcHRzKTtcbiAgICBhd2FpdCBzaW1wbGVHaXQoZGVzdFJlcG9QYXRoKS5jaGVja291dChbJy1iJywgb3B0cy5icmFuY2hdIGFzIFRhc2tPcHRpb25zKTtcbiAgfVxuICBsb2dnZXIuZGVidWcoYENsb25lZCBkZXN0aW5hdGlvbiByZXBvIG9uICR7ZGVzdFJlcG9QYXRofWApO1xuXG4gIGNvbnN0IGRzdEdpdDogU2ltcGxlR2l0ID0gc2ltcGxlR2l0KGRlc3RSZXBvUGF0aCk7XG4gIGxldCBjb21taXRIYXNoUmVzdWx0OiBbc3RyaW5nLCBzdHJpbmddIHwgW10gPSBbXTtcbiAgdHJ5IHtcbiAgICBjb25zdCBkc3RMb2cgPSBhd2FpdCBkc3RHaXQubG9nKCk7XG4gICAgY29tbWl0SGFzaFJlc3VsdCA9IGV4dHJhY3RDb21taXRIYXNoKGRzdExvZyk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuICBjb25zdCBbaGVhZCwgZnJvbV0gPSBjb21taXRIYXNoUmVzdWx0O1xuICBpZiAoZnJvbSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgRXh0cmFjdGVkIGEgdmFsaWQgY29tbWl0OiAke2Zyb219YCk7XG4gICAgbG9nZ2VyLmRlYnVnKGAoJHtoZWFkfSlgKTtcbiAgfSBlbHNlIGlmICghb3B0cy5mb3JjZSkge1xuICAgIGxvZ2dlci5lcnJvcignTm8gdmFsaWQgY29tbWl0IGluIGRlc3RpbmF0aW9uIHJlcG8nKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBzcmNHaXQ6IFNpbXBsZUdpdCA9IHNpbXBsZUdpdChzcmNSZXBvUGF0aCk7XG4gIGxldCBzcmNMb2c6IExvZ1Jlc3VsdDtcbiAgdHJ5IHtcbiAgICAvLyAnLS1maXJzdC1wYXJlbnQnIGhpZGVzIGNoaWxkcmVuIGNvbW1pdHMgb2YgbWVyZ2UgY29tbWl0c1xuICAgIHNyY0xvZyA9IGF3YWl0IHNyY0dpdC5sb2coZnJvbSA/IHsgZnJvbSwgdG86ICdIRUFEJywgJy0tZmlyc3QtcGFyZW50JzogdW5kZWZpbmVkIH0gOiB1bmRlZmluZWQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGdldCBzb3VyY2UgY29tbWl0IGhpc3Rvcnk6ICR7KGVycm9yIGFzIEVycm9yKS5zdGFja31gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBsYXRlc3RIYXNoID0gc3JjTG9nLmxhdGVzdD8uaGFzaDtcbiAgaWYgKCFsYXRlc3RIYXNoKSB7XG4gICAgbG9nZ2VyLmluZm8oJ05vIHN5bmNocm9uaXphYmxlIGNvbW1pdCcpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gRm9yY2UgdG8gaWdub3JlIC5naXQgZGlyZWN0b3J5XG4gIGNvbnN0IGlnbm9yZVBhdHRlcm5zID0gWy4uLm5ldyBTZXQoWy4uLm9wdHNbJ2lnbm9yZS1wYXR0ZXJucyddLm1hcChTdHJpbmcpLCAnLmdpdCddKV07XG4gIGxldCBbZGVzdEZpbGVzLCBzcmNGaWxlc10gPSBhd2FpdCBQcm9taXNlLmFsbChbZnMucmVhZGRpcihkZXN0UmVwb1BhdGgpLCBmcy5yZWFkZGlyKHNyY1JlcG9QYXRoKV0pO1xuICBkZXN0RmlsZXMgPSBtaWNyb21hdGNoLm5vdChkZXN0RmlsZXMsIGlnbm9yZVBhdHRlcm5zKTtcbiAgc3JjRmlsZXMgPSBtaWNyb21hdGNoLm5vdChzcmNGaWxlcywgaWdub3JlUGF0dGVybnMpO1xuICBsb2dnZXIuZGVidWcoJ2Rlc3RGaWxlczogJW8nLCBkZXN0RmlsZXMpO1xuICBsb2dnZXIuZGVidWcoJ3NyY0ZpbGVzOiAlbycsIHNyY0ZpbGVzKTtcbiAgZm9yIChjb25zdCBkZXN0RmlsZSBvZiBkZXN0RmlsZXMpIHtcbiAgICBhd2FpdCBmcy5ybShwYXRoLmpvaW4oZGVzdFJlcG9QYXRoLCBkZXN0RmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfVxuICBmb3IgKGNvbnN0IHNyY0ZpbGUgb2Ygc3JjRmlsZXMpIHtcbiAgICBhd2FpdCBjb3B5KHBhdGguam9pbihzcmNSZXBvUGF0aCwgc3JjRmlsZSksIHBhdGguam9pbihkZXN0UmVwb1BhdGgsIHNyY0ZpbGUpKTtcbiAgfVxuICBhd2FpdCBkc3RHaXQuYWRkKCctQScpO1xuXG4gIGxldCBzcmNUYWcgPSAnJztcbiAgaWYgKG9wdHNbJ3RhZy1oYXNoJ10gfHwgb3B0c1sndGFnLXZlcnNpb24nXSkge1xuICAgIC8vIGUuZy4gYC0tYWJicmV2PTBgIGNoYW5nZXMgYHYxLjMxLjUtMi1nY2RkZTUwN2AgdG8gYHYxLjMxLjVgXG4gICAgY29uc3QgZGVzY3JpYmVDb21tYW5kID0gYGdpdCBkZXNjcmliZSAtLXRhZ3MgLS1hbHdheXMgJHtvcHRzWyd0YWctdmVyc2lvbiddID8gJy0tYWJicmV2PTAnIDogJyd9YDtcbiAgICBzcmNUYWcgPSBjaGlsZF9wcm9jZXNzLmV4ZWNTeW5jKGRlc2NyaWJlQ29tbWFuZCwgeyBjd2Q6IHNyY1JlcG9QYXRoIH0pLnRvU3RyaW5nKCkudHJpbSgpO1xuICB9XG4gIGxldCBwcmVmaXggPSBvcHRzLnByZWZpeCA/PyAoYXdhaXQgZ2V0R2l0SHViQ29tbWl0c1VybChzcmNHaXQpKSA/PyAnJztcbiAgaWYgKHByZWZpeCAmJiAhcHJlZml4LmVuZHNXaXRoKCcvJykpIHtcbiAgICBwcmVmaXggKz0gJy8nO1xuICB9XG4gIGNvbnN0IGxpbmsgPSBgJHtwcmVmaXh9JHtsYXRlc3RIYXNofWA7XG4gIGNvbnN0IHRpdGxlID0gc3JjVGFnID8gYHN5bmMgJHtzcmNUYWd9ICgke2xpbmt9KWAgOiBgc3luYyAke2xpbmt9YDtcbiAgY29uc3QgYm9keSA9IGZyb21cbiAgICA/IHNyY0xvZy5hbGwubWFwKChsKSA9PiBgKiAke2wubWVzc2FnZX1gKS5qb2luKCdcXG5cXG4nKVxuICAgIDogYFJlcGxhY2UgYWxsIHRoZSBmaWxlcyB3aXRoIHRob3NlIG9mICR7b3B0cy5kZXN0fSBkdWUgdG8gbWlzc2luZyBzeW5jIGNvbW1pdC5gO1xuICB0cnkge1xuICAgIGNvbnN0IHJldCA9IGF3YWl0IGRzdEdpdC5jb21taXQoYCR7dGl0bGV9XFxuXFxuJHtib2R5fWApO1xuICAgIGxvZ2dlci5kZWJ1ZyhgQ3JlYXRlZCBhIGNvbW1pdDogJW9gLCByZXQpO1xuICAgIGxvZ2dlci5kZWJ1Zyh0aXRsZSk7XG4gICAgbG9nZ2VyLmRlYnVnKGAgIHdpdGggYm9keTogJHtib2R5fWApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGNvbW1pdCBjaGFuZ2VzOiAkeyhlcnJvciBhcyBFcnJvcikuc3RhY2t9YCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGVzdFRhZyA9IHNyY1RhZyB8fCBvcHRzLnRhZztcbiAgaWYgKGRlc3RUYWcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZHN0R2l0LmFkZFRhZyhkZXN0VGFnKTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgQ3JlYXRlZCBhIHRhZzogJHtkZXN0VGFnfWApO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWdub3JlIHRoZSBlcnJvciBzaW5jZSBgLS1hYmJyZXY9MGAgbWF5IHlpZWxkIGEgdGFnIHRoYXQgYWxyZWFkeSBleGlzdHNcbiAgICAgIGxvZ2dlci53YXJuKGBGYWlsZWQgdG8gY3JlYXRlIGEgdGFnOiAke2Rlc3RUYWd9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdHMuZHJ5KSB7XG4gICAgbG9nZ2VyLmRlYnVnKCdGaW5pc2hlZCBkcnkgcnVuJyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IChvcHRzLmJyYW5jaCA/IGRzdEdpdC5wdXNoKCdvcmlnaW4nLCBvcHRzLmJyYW5jaCkgOiBkc3RHaXQucHVzaCgpKTtcbiAgICBpZiAoZGVzdFRhZykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tbnVsbFxuICAgICAgYXdhaXQgZHN0R2l0LnB1c2goeyAnLS10YWdzJzogbnVsbCB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gcHVzaCB0aGUgY29tbWl0OiAkeyhlcnJvciBhcyBFcnJvcikuc3RhY2t9YCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKCdQdXNoZWQgdGhlIGNvbW1pdCcpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENvbW1pdEhhc2gobG9nUmVzdWx0OiBMb2dSZXN1bHQpOiBbc3RyaW5nLCBzdHJpbmddIHwgW10ge1xuICBpZiAobG9nUmVzdWx0LmFsbC5sZW5ndGggPT09IDApIHtcbiAgICBsb2dnZXIuZGVidWcoJ05vIGNvbW1pdCBoaXN0b3J5Jyk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZm9yIChjb25zdCBsb2cgb2YgbG9nUmVzdWx0LmFsbCkge1xuICAgIGNvbnN0IFtoZWFkLCAuLi53b3Jkc10gPSBsb2cubWVzc2FnZS5yZXBsYWNlQWxsKC9bKCldL2csICcnKS5zcGxpdCgvW1xccy9dLyk7XG4gICAgaWYgKGhlYWQgPT09ICdzeW5jJyAmJiB3b3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gW2xvZy5tZXNzYWdlLCB3b3Jkcy5hdCgtMSkgYXMgc3RyaW5nXTtcbiAgICB9XG4gIH1cbiAgY29uc3QgW2ZpcnN0TG9nXSA9IGxvZ1Jlc3VsdC5hbGw7XG4gIGlmIChmaXJzdExvZykge1xuICAgIGxvZ2dlci5kZWJ1ZyhgTm8gc3luYyBjb21taXQ6ICR7Zmlyc3RMb2cubWVzc2FnZX1gKTtcbiAgfVxuICByZXR1cm4gW107XG59XG4iLCJleHBvcnQgY29uc3QgeWFyZ3NPcHRpb25zID0ge1xuICBkZXN0OiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgYWxpYXM6ICdkJyxcbiAgICBkZXNjcmliZTogJ0EgVVJMIG9mIGEgZGVzdGluYXRpb24gZ2l0IHJlcG9zaXRvcnkuJyxcbiAgICBkZW1hbmQ6IHRydWUsXG4gIH0sXG4gIHByZWZpeDoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAncCcsXG4gICAgZGVzY3JpYmU6IGBBIHByZWZpeCBvZiBhIGNvbW1pdCBoYXNoIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb21taXQgdGl0bGUsIGUuZy4gJ3N5bmMgPHByZWZpeD4vPGhhc2g+Jy5cbiAgICAgICAgICAgICAgIEEgdHlwaWNhbCB2YWx1ZSBpcyBsaWtlICdodHRwczovL2dpdGh1Yi5jb20vV2lsbEJvb3N0ZXIvb25lLXdheS1naXQtc3luYy9jb21taXRzJ2AsXG4gIH0sXG4gIGJyYW5jaDoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAnYicsXG4gICAgZGVzY3JpYmU6ICdTcGVjaWZ5IGJyYW5jaCBvZiBkZXN0aW5hdGlvbiByZXBvLicsXG4gIH0sXG4gIHRhZzoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAndCcsXG4gICAgZGVzY3JpYmU6ICdTcGVjaWZ5IHRhZyB0byBiZSBjcmVhdGVkIGluIGRlc3RpbmF0aW9uIHJlcG8uJyxcbiAgfSxcbiAgJ3RhZy1oYXNoJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmliZTogJ0NyZWF0ZSB2ZXJzaW9uK2hhc2ggdGFnIChlLmcuIHYxLjMxLjUtMi1nY2RkZTUwNykuIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSB0YWcuJyxcbiAgfSxcbiAgJ3RhZy12ZXJzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmliZTogJ0NyZWF0ZSB2ZXJzaW9uIHRhZyAoZS5nLiB2MS4zMS41KS4gSXQgY291bGQgYmUgYSBub24tdW5pcXVlIHRhZy4nLFxuICB9LFxuICAnaWdub3JlLXBhdHRlcm5zJzoge1xuICAgIHR5cGU6ICdhcnJheScsXG4gICAgYWxpYXM6ICdpJyxcbiAgICBkZXNjcmliZTogYEV4Y2x1ZGUgdGhlIGZpbGVzIHdob3NlIHBhdGggbWF0Y2hlcyBvbmUgb2YgdGhlIGdpdmVuIHBhdHRlcm5zLlxuICAgICAgICAgICAgICAgVGhlIHBhdHRlcm5zIGFyZSBwcm9jZXNzZWQgYnkgbWljcm9tYXRjaCAoaHR0cHM6Ly9naXRodWIuY29tL21pY3JvbWF0Y2gvbWljcm9tYXRjaCkuXG4gICAgICAgICAgICAgICBZb3UgbWF5IHNwZWNpZnkgdGhlIG9wdGlvbiBtdWx0aXBsZSB0aW1lcy4gRGVmYXVsdCB2YWx1ZSBpcyBcIi1pIC5naXQgLWkgLmdpdGh1YiAtaSBub2RlX21vZHVsZXMgLWkgJy5yZW5vdmF0ZXJjLionIC1pICcucmVub3ZhdGUuKidcImAsXG4gICAgZGVmYXVsdDogWycuZ2l0JywgJy5naXRodWInLCAnbm9kZV9tb2R1bGVzJywgJy5yZW5vdmF0ZXJjLionLCAncmVub3ZhdGUuKiddLFxuICB9LFxuICBkcnk6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpYmU6ICdFbmFibGUgZHJ5LXJ1biBtb2RlLicsXG4gIH0sXG4gIGZvcmNlOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaWJlOiAnRm9yY2UgdG8gb3ZlcndyaXRlIHRoZSBkZXN0aW5hdGlvbiBnaXQgcmVwb3NpdG9yeS4nLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGFsaWFzOiAndicsXG4gICAgZGVzY3JpYmU6ICdTaG93IGRldGFpbHMgbG9ncy4nLFxuICB9LFxufSBhcyBjb25zdDtcbiIsImltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IGhpZGVCaW4gfSBmcm9tICd5YXJncy9oZWxwZXJzJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncy95YXJncyc7XG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLmpzJztcbmltcG9ydCB7IHN5bmMgfSBmcm9tICcuL3N5bmMuanMnO1xuaW1wb3J0IHsgeWFyZ3NPcHRpb25zIH0gZnJvbSAnLi95YXJnc09wdGlvbnMuanMnO1xuXG5jb25zdCBhcmd2ID0gYXdhaXQgeWFyZ3MoaGlkZUJpbihwcm9jZXNzLmFyZ3YpKVxuICAuc2NyaXB0TmFtZSgnb25lLXdheS1naXQtc3luYycpXG4gIC5vcHRpb25zKHlhcmdzT3B0aW9ucylcbiAgLm1pZGRsZXdhcmUoKGFyZ3YpID0+IHtcbiAgICBsb2dnZXIubGV2ZWwgPSBhcmd2LnZlcmJvc2UgPyAndHJhY2UnIDogJ2luZm8nO1xuICB9KVxuICAuc3RyaWN0KClcbiAgLnZlcnNpb24oZ2V0VmVyc2lvbigpKVxuICAuaGVscCgpLmFyZ3Y7XG5cbmZ1bmN0aW9uIGdldFZlcnNpb24oKTogc3RyaW5nIHtcbiAgbGV0IHBhY2thZ2VKc29uRGlyID0gcGF0aC5kaXJuYW1lKG5ldyBVUkwoaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZSk7XG4gIHdoaWxlICghZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4ocGFja2FnZUpzb25EaXIsICdwYWNrYWdlLmpzb24nKSkpIHtcbiAgICBwYWNrYWdlSnNvbkRpciA9IHBhdGguZGlybmFtZShwYWNrYWdlSnNvbkRpcik7XG4gIH1cbiAgY29uc3QgcGFja2FnZUpzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocGFja2FnZUpzb25EaXIsICdwYWNrYWdlLmpzb24nKSwgJ3V0ZjgnKSkgYXMge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgfTtcbiAgcmV0dXJuIHBhY2thZ2VKc29uLnZlcnNpb247XG59XG5cbmF3YWl0IHN5bmMoYXJndik7XG4iLCJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdCB9IGZyb20gJ3NpbXBsZS1naXQnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0R2l0SHViQ29tbWl0c1VybChnaXQ6IFNpbXBsZUdpdCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHJlbW90ZXMgPSBhd2FpdCBnaXQuZ2V0UmVtb3Rlcyh0cnVlKTtcbiAgY29uc3Qgb3JpZ2luID0gcmVtb3Rlcy5maW5kKChyKSA9PiByLm5hbWUgPT09ICdvcmlnaW4nKTtcbiAgaWYgKCFvcmlnaW4pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgbGV0IHJlbW90ZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3JpZ2luLnJlZnMuZmV0Y2g7XG4gIGlmICghcmVtb3RlVXJsKSB7XG4gICAgcmVtb3RlVXJsID0gb3JpZ2luLnJlZnMucHVzaDtcbiAgfVxuICBpZiAodHlwZW9mIHJlbW90ZVVybCA9PT0gJ3N0cmluZycgJiYgcmVtb3RlVXJsLmluY2x1ZGVzKCdnaXRodWIuY29tJykpIHtcbiAgICBjb25zdCB3b3JkcyA9IHJlbW90ZVVybC5zcGxpdCgnLycpO1xuICAgIGNvbnN0IG9yZyA9IHdvcmRzLmF0KC0yKTtcbiAgICBjb25zdCBuYW1lID0gd29yZHMuYXQoLTEpPy5yZXBsYWNlKC8uZ2l0JC8sICcnKTtcbiAgICBpZiAob3JnICYmIG5hbWUpIHJldHVybiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3JnfS8ke25hbWV9L2NvbW1pdHNgO1xuICB9XG59XG4iXSwibmFtZXMiOlsibG9nZ2VyIiwicGlubyIsInRyYW5zcG9ydCIsInRhcmdldCIsIm9wdGlvbnMiLCJjb2xvcml6ZSIsInN5bmNEaXJQYXRoIiwicGF0aCIsImpvaW4iLCJ5YXJnc09wdGlvbnMiLCJkZXN0IiwidHlwZSIsImFsaWFzIiwiZGVzY3JpYmUiLCJkZW1hbmQiLCJwcmVmaXgiLCJicmFuY2giLCJ0YWciLCJkZWZhdWx0IiwiZHJ5IiwiZm9yY2UiLCJ2ZXJib3NlIiwiYXJndiIsInlhcmdzIiwiaGlkZUJpbiIsInByb2Nlc3MiLCJzY3JpcHROYW1lIiwibWlkZGxld2FyZSIsImxldmVsIiwic3RyaWN0IiwidmVyc2lvbiIsInBhY2thZ2VKc29uRGlyIiwiZGlybmFtZSIsIlVSTCIsInVybCIsInBhdGhuYW1lIiwiZnMiLCJleGlzdHNTeW5jIiwiSlNPTiIsInBhcnNlIiwicmVhZEZpbGVTeW5jIiwiZ2V0VmVyc2lvbiIsImhlbHAiLCJhc3luYyIsIm9wdHMiLCJta2RpciIsInJlY3Vyc2l2ZSIsImRpclBhdGgiLCJta2R0ZW1wIiwicmV0IiwiZGVzdFJlcG9QYXRoIiwic3JjUmVwb1BhdGgiLCJjd2QiLCJjbG9uZU9wdHMiLCJzaW1wbGVHaXQiLCJjbG9uZSIsImNoZWNrb3V0IiwiZGVidWciLCJkc3RHaXQiLCJjb21taXRIYXNoUmVzdWx0IiwibG9nUmVzdWx0IiwiYWxsIiwibGVuZ3RoIiwibG9nIiwiaGVhZCIsIndvcmRzIiwibWVzc2FnZSIsInJlcGxhY2VBbGwiLCJzcGxpdCIsImF0IiwiZmlyc3RMb2ciLCJleHRyYWN0Q29tbWl0SGFzaCIsImZyb20iLCJlcnJvciIsInNyY0dpdCIsInNyY0xvZyIsInRvIiwidW5kZWZpbmVkIiwic3RhY2siLCJsYXRlc3RIYXNoIiwibGF0ZXN0IiwiaGFzaCIsImluZm8iLCJpZ25vcmVQYXR0ZXJucyIsIlNldCIsIm1hcCIsIlN0cmluZyIsImRlc3RGaWxlcyIsInNyY0ZpbGVzIiwiUHJvbWlzZSIsInJlYWRkaXIiLCJtaWNyb21hdGNoIiwibm90IiwiZGVzdEZpbGUiLCJybSIsInNyY0ZpbGUiLCJjb3B5IiwiYWRkIiwic3JjVGFnIiwiZGVzY3JpYmVDb21tYW5kIiwiY2hpbGRfcHJvY2VzcyIsImV4ZWNTeW5jIiwidG9TdHJpbmciLCJ0cmltIiwiZ2l0Iiwib3JpZ2luIiwiZ2V0UmVtb3RlcyIsImZpbmQiLCJyIiwibmFtZSIsInJlbW90ZVVybCIsInJlZnMiLCJmZXRjaCIsInB1c2giLCJpbmNsdWRlcyIsIm9yZyIsInJlcGxhY2UiLCJnZXRHaXRIdWJDb21taXRzVXJsIiwiZW5kc1dpdGgiLCJsaW5rIiwidGl0bGUiLCJib2R5IiwibCIsImNvbW1pdCIsImRlc3RUYWciLCJhZGRUYWci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
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnZXIudHMiLCIuLi9zcmMvc3luYy50cyIsIi4uL3NyYy95YXJnc09wdGlvbnMudHMiLCIuLi9zcmMvaW5kZXgudHMiLCIuLi9zcmMvZ2l0SHViLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpbm8gfSBmcm9tICdwaW5vJztcblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IHBpbm8oe1xuICB0cmFuc3BvcnQ6IHtcbiAgICB0YXJnZXQ6ICdwaW5vLXByZXR0eScsXG4gICAgb3B0aW9uczoge1xuICAgICAgY29sb3JpemU6IHRydWUsXG4gICAgfSxcbiAgfSxcbn0pO1xuIiwiaW1wb3J0IGNoaWxkX3Byb2Nlc3MgZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBmcyBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IGNvcHkgfSBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgbWljcm9tYXRjaCBmcm9tICdtaWNyb21hdGNoJztcbmltcG9ydCB0eXBlIHsgTG9nUmVzdWx0LCBPcHRpb25zLCBTaW1wbGVHaXQsIFRhc2tPcHRpb25zIH0gZnJvbSAnc2ltcGxlLWdpdCc7XG5pbXBvcnQgeyBzaW1wbGVHaXQgfSBmcm9tICdzaW1wbGUtZ2l0JztcbmltcG9ydCB0eXBlIHsgSW5mZXJyZWRPcHRpb25UeXBlcyB9IGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgZ2V0R2l0SHViQ29tbWl0c1VybCB9IGZyb20gJy4vZ2l0SHViLmpzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgeWFyZ3NPcHRpb25zIH0gZnJvbSAnLi95YXJnc09wdGlvbnMuanMnO1xuXG5jb25zdCBzeW5jRGlyUGF0aCA9IHBhdGguam9pbignbm9kZV9tb2R1bGVzJywgJy50ZW1wJywgJ3N5bmMtZ2l0LXJlcG8nKTtcblxuZXhwb3J0IHR5cGUgWWFyZ3NPcHRpb25zID0gSW5mZXJyZWRPcHRpb25UeXBlczx0eXBlb2YgeWFyZ3NPcHRpb25zPjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN5bmMob3B0czogWWFyZ3NPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGZzLm1rZGlyKHN5bmNEaXJQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgZGlyUGF0aCA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKHN5bmNEaXJQYXRoLCAncmVwby0nKSk7XG4gIGNvbnN0IHJldCA9IGF3YWl0IHN5bmNDb3JlKGRpclBhdGgsIG9wdHMpO1xuICAvLyBhd2FpdCBmcy5ybShkaXJQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIHByb2Nlc3MuZXhpdChyZXQgPyAwIDogMSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzeW5jQ29yZShcbiAgZGVzdFJlcG9QYXRoOiBzdHJpbmcsXG4gIG9wdHM6IFlhcmdzT3B0aW9ucyxcbiAgc3JjUmVwb1BhdGggPSBwcm9jZXNzLmN3ZCgpXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tbnVsbFxuICBjb25zdCBjbG9uZU9wdHM6IE9wdGlvbnMgPSB7ICctLXNpbmdsZS1icmFuY2gnOiBudWxsIH07XG4gIGlmICghb3B0cy5mb3JjZSkge1xuICAgIGNsb25lT3B0c1snLS1kZXB0aCddID0gMTtcbiAgfVxuICBpZiAob3B0cy5icmFuY2gpIHtcbiAgICBjbG9uZU9wdHNbJy0tYnJhbmNoJ10gPSBvcHRzLmJyYW5jaDtcbiAgfVxuICB0cnkge1xuICAgIGF3YWl0IHNpbXBsZUdpdChzcmNSZXBvUGF0aCkuY2xvbmUob3B0cy5kZXN0LCBkZXN0UmVwb1BhdGgsIGNsb25lT3B0cyk7XG4gIH0gY2F0Y2gge1xuICAgIGRlbGV0ZSBjbG9uZU9wdHNbJy0tYnJhbmNoJ107XG4gICAgZGVsZXRlIGNsb25lT3B0c1snLS1zaW5nbGUtYnJhbmNoJ107XG4gICAgYXdhaXQgc2ltcGxlR2l0KHNyY1JlcG9QYXRoKS5jbG9uZShvcHRzLmRlc3QsIGRlc3RSZXBvUGF0aCwgY2xvbmVPcHRzKTtcbiAgICBhd2FpdCBzaW1wbGVHaXQoZGVzdFJlcG9QYXRoKS5jaGVja291dChbJy1iJywgb3B0cy5icmFuY2hdIGFzIFRhc2tPcHRpb25zKTtcbiAgfVxuICBsb2dnZXIuZGVidWcoYENsb25lZCBkZXN0aW5hdGlvbiByZXBvIG9uICR7ZGVzdFJlcG9QYXRofWApO1xuXG4gIGNvbnN0IGRzdEdpdDogU2ltcGxlR2l0ID0gc2ltcGxlR2l0KGRlc3RSZXBvUGF0aCk7XG4gIGxldCBjb21taXRIYXNoUmVzdWx0OiBbc3RyaW5nLCBzdHJpbmddIHwgW10gPSBbXTtcbiAgdHJ5IHtcbiAgICBjb25zdCBkc3RMb2cgPSBhd2FpdCBkc3RHaXQubG9nKCk7XG4gICAgY29tbWl0SGFzaFJlc3VsdCA9IGV4dHJhY3RDb21taXRIYXNoKGRzdExvZyk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuICBjb25zdCBbaGVhZCwgZnJvbV0gPSBjb21taXRIYXNoUmVzdWx0O1xuICBpZiAoZnJvbSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgRXh0cmFjdGVkIGEgdmFsaWQgY29tbWl0OiAke2Zyb219YCk7XG4gICAgbG9nZ2VyLmRlYnVnKGAoJHtoZWFkfSlgKTtcbiAgfSBlbHNlIGlmICghb3B0cy5mb3JjZSkge1xuICAgIGxvZ2dlci5lcnJvcignTm8gdmFsaWQgY29tbWl0IGluIGRlc3RpbmF0aW9uIHJlcG8nKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBzcmNHaXQ6IFNpbXBsZUdpdCA9IHNpbXBsZUdpdChzcmNSZXBvUGF0aCk7XG4gIGxldCBzcmNMb2c6IExvZ1Jlc3VsdDtcbiAgdHJ5IHtcbiAgICAvLyAnLS1maXJzdC1wYXJlbnQnIGhpZGVzIGNoaWxkcmVuIGNvbW1pdHMgb2YgbWVyZ2UgY29tbWl0c1xuICAgIHNyY0xvZyA9IGF3YWl0IHNyY0dpdC5sb2coZnJvbSA/IHsgZnJvbSwgdG86ICdIRUFEJywgJy0tZmlyc3QtcGFyZW50JzogdW5kZWZpbmVkIH0gOiB1bmRlZmluZWQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGdldCBzb3VyY2UgY29tbWl0IGhpc3Rvcnk6ICR7KGVycm9yIGFzIEVycm9yKS5zdGFja31gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBsYXRlc3RIYXNoID0gc3JjTG9nLmxhdGVzdD8uaGFzaDtcbiAgaWYgKCFsYXRlc3RIYXNoKSB7XG4gICAgbG9nZ2VyLmluZm8oJ05vIHN5bmNocm9uaXphYmxlIGNvbW1pdCcpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gRm9yY2UgdG8gaWdub3JlIC5naXQgZGlyZWN0b3J5XG4gIGNvbnN0IGlnbm9yZVBhdHRlcm5zID0gWy4uLm5ldyBTZXQoWy4uLm9wdHNbJ2lnbm9yZS1wYXR0ZXJucyddLm1hcChTdHJpbmcpLCAnLmdpdCddKV07XG4gIGxldCBbZGVzdEZpbGVzLCBzcmNGaWxlc10gPSBhd2FpdCBQcm9taXNlLmFsbChbZnMucmVhZGRpcihkZXN0UmVwb1BhdGgpLCBmcy5yZWFkZGlyKHNyY1JlcG9QYXRoKV0pO1xuICBkZXN0RmlsZXMgPSBtaWNyb21hdGNoLm5vdChkZXN0RmlsZXMsIGlnbm9yZVBhdHRlcm5zKTtcbiAgc3JjRmlsZXMgPSBtaWNyb21hdGNoLm5vdChzcmNGaWxlcywgaWdub3JlUGF0dGVybnMpO1xuICBsb2dnZXIuZGVidWcoJ2Rlc3RGaWxlczogJW8nLCBkZXN0RmlsZXMpO1xuICBsb2dnZXIuZGVidWcoJ3NyY0ZpbGVzOiAlbycsIHNyY0ZpbGVzKTtcbiAgZm9yIChjb25zdCBkZXN0RmlsZSBvZiBkZXN0RmlsZXMpIHtcbiAgICBhd2FpdCBmcy5ybShwYXRoLmpvaW4oZGVzdFJlcG9QYXRoLCBkZXN0RmlsZSksIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfVxuICBmb3IgKGNvbnN0IHNyY0ZpbGUgb2Ygc3JjRmlsZXMpIHtcbiAgICBhd2FpdCBjb3B5KHBhdGguam9pbihzcmNSZXBvUGF0aCwgc3JjRmlsZSksIHBhdGguam9pbihkZXN0UmVwb1BhdGgsIHNyY0ZpbGUpKTtcbiAgfVxuICBhd2FpdCBkc3RHaXQuYWRkKCctQScpO1xuXG4gIGxldCBzcmNUYWcgPSAnJztcbiAgaWYgKG9wdHNbJ3RhZy1oYXNoJ10gfHwgb3B0c1sndGFnLXZlcnNpb24nXSkge1xuICAgIC8vIGUuZy4gYC0tYWJicmV2PTBgIGNoYW5nZXMgYHYxLjMxLjUtMi1nY2RkZTUwN2AgdG8gYHYxLjMxLjVgXG4gICAgY29uc3QgZGVzY3JpYmVDb21tYW5kID0gYGdpdCBkZXNjcmliZSAtLXRhZ3MgLS1hbHdheXMgJHtvcHRzWyd0YWctdmVyc2lvbiddID8gJy0tYWJicmV2PTAnIDogJyd9YDtcbiAgICBzcmNUYWcgPSBjaGlsZF9wcm9jZXNzLmV4ZWNTeW5jKGRlc2NyaWJlQ29tbWFuZCwgeyBjd2Q6IHNyY1JlcG9QYXRoIH0pLnRvU3RyaW5nKCkudHJpbSgpO1xuICB9XG4gIGxldCBwcmVmaXggPSBvcHRzLnByZWZpeCA/PyAoYXdhaXQgZ2V0R2l0SHViQ29tbWl0c1VybChzcmNHaXQpKSA/PyAnJztcbiAgaWYgKHByZWZpeCAmJiAhcHJlZml4LmVuZHNXaXRoKCcvJykpIHtcbiAgICBwcmVmaXggKz0gJy8nO1xuICB9XG4gIGNvbnN0IGxpbmsgPSBgJHtwcmVmaXh9JHtsYXRlc3RIYXNofWA7XG4gIGNvbnN0IHRpdGxlID0gc3JjVGFnID8gYHN5bmMgJHtzcmNUYWd9ICgke2xpbmt9KWAgOiBgc3luYyAke2xpbmt9YDtcbiAgY29uc3QgYm9keSA9IGZyb21cbiAgICA/IHNyY0xvZy5hbGwubWFwKChsKSA9PiBgKiAke2wubWVzc2FnZX1gKS5qb2luKCdcXG5cXG4nKVxuICAgIDogYFJlcGxhY2UgYWxsIHRoZSBmaWxlcyB3aXRoIHRob3NlIG9mICR7b3B0cy5kZXN0fSBkdWUgdG8gbWlzc2luZyBzeW5jIGNvbW1pdC5gO1xuICB0cnkge1xuICAgIGNvbnN0IHJldCA9IGF3YWl0IGRzdEdpdC5jb21taXQoYCR7dGl0bGV9XFxuXFxuJHtib2R5fWApO1xuICAgIGxvZ2dlci5kZWJ1ZyhgQ3JlYXRlZCBhIGNvbW1pdDogJW9gLCByZXQpO1xuICAgIGxvZ2dlci5kZWJ1Zyh0aXRsZSk7XG4gICAgbG9nZ2VyLmRlYnVnKGAgIHdpdGggYm9keTogJHtib2R5fWApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGNvbW1pdCBjaGFuZ2VzOiAkeyhlcnJvciBhcyBFcnJvcikuc3RhY2t9YCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGVzdFRhZyA9IHNyY1RhZyB8fCBvcHRzLnRhZztcbiAgaWYgKGRlc3RUYWcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZHN0R2l0LmFkZFRhZyhkZXN0VGFnKTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgQ3JlYXRlZCBhIHRhZzogJHtkZXN0VGFnfWApO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWdub3JlIHRoZSBlcnJvciBzaW5jZSBgLS1hYmJyZXY9MGAgbWF5IHlpZWxkIGEgdGFnIHRoYXQgYWxyZWFkeSBleGlzdHNcbiAgICAgIGxvZ2dlci53YXJuKGBGYWlsZWQgdG8gY3JlYXRlIGEgdGFnOiAke2Rlc3RUYWd9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdHMuZHJ5KSB7XG4gICAgbG9nZ2VyLmRlYnVnKCdGaW5pc2hlZCBkcnkgcnVuJyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IChvcHRzLmJyYW5jaCA/IGRzdEdpdC5wdXNoKCdvcmlnaW4nLCBvcHRzLmJyYW5jaCkgOiBkc3RHaXQucHVzaCgpKTtcbiAgICBpZiAoZGVzdFRhZykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tbnVsbFxuICAgICAgYXdhaXQgZHN0R2l0LnB1c2goeyAnLS10YWdzJzogbnVsbCB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gcHVzaCB0aGUgY29tbWl0OiAkeyhlcnJvciBhcyBFcnJvcikuc3RhY2t9YCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKCdQdXNoZWQgdGhlIGNvbW1pdCcpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENvbW1pdEhhc2gobG9nUmVzdWx0OiBMb2dSZXN1bHQpOiBbc3RyaW5nLCBzdHJpbmddIHwgW10ge1xuICBpZiAobG9nUmVzdWx0LmFsbC5sZW5ndGggPT09IDApIHtcbiAgICBsb2dnZXIuZGVidWcoJ05vIGNvbW1pdCBoaXN0b3J5Jyk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZm9yIChjb25zdCBsb2cgb2YgbG9nUmVzdWx0LmFsbCkge1xuICAgIGNvbnN0IFtoZWFkLCAuLi53b3Jkc10gPSBsb2cubWVzc2FnZS5yZXBsYWNlQWxsKC9bKCldL2csICcnKS5zcGxpdCgvW1xccy9dLyk7XG4gICAgaWYgKGhlYWQgPT09ICdzeW5jJyAmJiB3b3Jkcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gW2xvZy5tZXNzYWdlLCB3b3Jkcy5hdCgtMSkgYXMgc3RyaW5nXTtcbiAgICB9XG4gIH1cbiAgY29uc3QgW2ZpcnN0TG9nXSA9IGxvZ1Jlc3VsdC5hbGw7XG4gIGlmIChmaXJzdExvZykge1xuICAgIGxvZ2dlci5kZWJ1ZyhgTm8gc3luYyBjb21taXQ6ICR7Zmlyc3RMb2cubWVzc2FnZX1gKTtcbiAgfVxuICByZXR1cm4gW107XG59XG4iLCJleHBvcnQgY29uc3QgeWFyZ3NPcHRpb25zID0ge1xuICBkZXN0OiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgYWxpYXM6ICdkJyxcbiAgICBkZXNjcmliZTogJ0EgVVJMIG9mIGEgZGVzdGluYXRpb24gZ2l0IHJlcG9zaXRvcnkuJyxcbiAgICBkZW1hbmQ6IHRydWUsXG4gIH0sXG4gIHByZWZpeDoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAncCcsXG4gICAgZGVzY3JpYmU6IGBBIHByZWZpeCBvZiBhIGNvbW1pdCBoYXNoIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb21taXQgdGl0bGUsIGUuZy4gJ3N5bmMgPHByZWZpeD4vPGhhc2g+Jy5cbiAgICAgICAgICAgICAgIEEgdHlwaWNhbCB2YWx1ZSBpcyBsaWtlICdodHRwczovL2dpdGh1Yi5jb20vV2lsbEJvb3N0ZXIvb25lLXdheS1naXQtc3luYy9jb21taXRzJ2AsXG4gIH0sXG4gIGJyYW5jaDoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAnYicsXG4gICAgZGVzY3JpYmU6ICdTcGVjaWZ5IGJyYW5jaCBvZiBkZXN0aW5hdGlvbiByZXBvLicsXG4gIH0sXG4gIHRhZzoge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGFsaWFzOiAndCcsXG4gICAgZGVzY3JpYmU6ICdTcGVjaWZ5IHRhZyB0byBiZSBjcmVhdGVkIGluIGRlc3RpbmF0aW9uIHJlcG8uJyxcbiAgfSxcbiAgJ3RhZy1oYXNoJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmliZTogJ0NyZWF0ZSB2ZXJzaW9uK2hhc2ggdGFnIChlLmcuIHYxLjMxLjUtMi1nY2RkZTUwNykuIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSB0YWcuJyxcbiAgfSxcbiAgJ3RhZy12ZXJzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmliZTogJ0NyZWF0ZSB2ZXJzaW9uIHRhZyAoZS5nLiB2MS4zMS41KS4gSXQgY291bGQgYmUgYSBub24tdW5pcXVlIHRhZy4nLFxuICB9LFxuICAnaWdub3JlLXBhdHRlcm5zJzoge1xuICAgIHR5cGU6ICdhcnJheScsXG4gICAgYWxpYXM6ICdpJyxcbiAgICBkZXNjcmliZTogYEV4Y2x1ZGUgdGhlIGZpbGVzIHdob3NlIHBhdGggbWF0Y2hlcyBvbmUgb2YgdGhlIGdpdmVuIHBhdHRlcm5zLlxuICAgICAgICAgICAgICAgVGhlIHBhdHRlcm5zIGFyZSBwcm9jZXNzZWQgYnkgbWljcm9tYXRjaCAoaHR0cHM6Ly9naXRodWIuY29tL21pY3JvbWF0Y2gvbWljcm9tYXRjaCkuXG4gICAgICAgICAgICAgICBZb3UgbWF5IHNwZWNpZnkgdGhlIG9wdGlvbiBtdWx0aXBsZSB0aW1lcy4gRGVmYXVsdCB2YWx1ZSBpcyBcIi1pIC5naXQgLWkgLmdpdGh1YiAtaSBub2RlX21vZHVsZXMgLWkgJy5yZW5vdmF0ZXJjLionIC1pICcucmVub3ZhdGUuKidcImAsXG4gICAgZGVmYXVsdDogWycuZ2l0JywgJy5naXRodWInLCAnbm9kZV9tb2R1bGVzJywgJy5yZW5vdmF0ZXJjLionLCAncmVub3ZhdGUuKiddLFxuICB9LFxuICBkcnk6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpYmU6ICdFbmFibGUgZHJ5LXJ1biBtb2RlLicsXG4gIH0sXG4gIGZvcmNlOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaWJlOiAnRm9yY2UgdG8gb3ZlcndyaXRlIHRoZSBkZXN0aW5hdGlvbiBnaXQgcmVwb3NpdG9yeS4nLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGFsaWFzOiAndicsXG4gICAgZGVzY3JpYmU6ICdTaG93IGRldGFpbHMgbG9ncy4nLFxuICB9LFxufSBhcyBjb25zdDtcbiIsImltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IGhpZGVCaW4gfSBmcm9tICd5YXJncy9oZWxwZXJzJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncy95YXJncyc7XG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLmpzJztcbmltcG9ydCB7IHN5bmMgfSBmcm9tICcuL3N5bmMuanMnO1xuaW1wb3J0IHsgeWFyZ3NPcHRpb25zIH0gZnJvbSAnLi95YXJnc09wdGlvbnMuanMnO1xuXG5jb25zdCBhcmd2ID0gYXdhaXQgeWFyZ3MoaGlkZUJpbihwcm9jZXNzLmFyZ3YpKVxuICAuc2NyaXB0TmFtZSgnb25lLXdheS1naXQtc3luYycpXG4gIC5vcHRpb25zKHlhcmdzT3B0aW9ucylcbiAgLm1pZGRsZXdhcmUoKGFyZ3YpID0+IHtcbiAgICBsb2dnZXIubGV2ZWwgPSBhcmd2LnZlcmJvc2UgPyAndHJhY2UnIDogJ2luZm8nO1xuICB9KVxuICAuc3RyaWN0KClcbiAgLnZlcnNpb24oZ2V0VmVyc2lvbigpKVxuICAuaGVscCgpLmFyZ3Y7XG5cbmZ1bmN0aW9uIGdldFZlcnNpb24oKTogc3RyaW5nIHtcbiAgbGV0IHBhY2thZ2VKc29uRGlyID0gcGF0aC5kaXJuYW1lKG5ldyBVUkwoaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZSk7XG4gIHdoaWxlICghZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4ocGFja2FnZUpzb25EaXIsICdwYWNrYWdlLmpzb24nKSkpIHtcbiAgICBwYWNrYWdlSnNvbkRpciA9IHBhdGguZGlybmFtZShwYWNrYWdlSnNvbkRpcik7XG4gIH1cbiAgY29uc3QgcGFja2FnZUpzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocGFja2FnZUpzb25EaXIsICdwYWNrYWdlLmpzb24nKSwgJ3V0ZjgnKSkgYXMge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgfTtcbiAgcmV0dXJuIHBhY2thZ2VKc29uLnZlcnNpb247XG59XG5cbmF3YWl0IHN5bmMoYXJndik7XG4iLCJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdCB9IGZyb20gJ3NpbXBsZS1naXQnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0R2l0SHViQ29tbWl0c1VybChnaXQ6IFNpbXBsZUdpdCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHJlbW90ZXMgPSBhd2FpdCBnaXQuZ2V0UmVtb3Rlcyh0cnVlKTtcbiAgY29uc3Qgb3JpZ2luID0gcmVtb3Rlcy5maW5kKChyKSA9PiByLm5hbWUgPT09ICdvcmlnaW4nKTtcbiAgaWYgKCFvcmlnaW4pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgbGV0IHJlbW90ZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3JpZ2luLnJlZnMuZmV0Y2g7XG4gIGlmICghcmVtb3RlVXJsKSB7XG4gICAgcmVtb3RlVXJsID0gb3JpZ2luLnJlZnMucHVzaDtcbiAgfVxuICBpZiAodHlwZW9mIHJlbW90ZVVybCA9PT0gJ3N0cmluZycgJiYgcmVtb3RlVXJsLmluY2x1ZGVzKCdnaXRodWIuY29tJykpIHtcbiAgICBjb25zdCB3b3JkcyA9IHJlbW90ZVVybC5zcGxpdCgnLycpO1xuICAgIGNvbnN0IG9yZyA9IHdvcmRzLmF0KC0yKTtcbiAgICBjb25zdCBuYW1lID0gd29yZHMuYXQoLTEpPy5yZXBsYWNlKC8uZ2l0JC8sICcnKTtcbiAgICBpZiAob3JnICYmIG5hbWUpIHJldHVybiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3JnfS8ke25hbWV9L2NvbW1pdHNgO1xuICB9XG59XG4iXSwibmFtZXMiOlsibG9nZ2VyIiwicGlubyIsInRyYW5zcG9ydCIsInRhcmdldCIsIm9wdGlvbnMiLCJjb2xvcml6ZSIsInN5bmNEaXJQYXRoIiwicGF0aCIsImpvaW4iLCJ5YXJnc09wdGlvbnMiLCJkZXN0IiwidHlwZSIsImFsaWFzIiwiZGVzY3JpYmUiLCJkZW1hbmQiLCJwcmVmaXgiLCJicmFuY2giLCJ0YWciLCJkZWZhdWx0IiwiZHJ5IiwiZm9yY2UiLCJ2ZXJib3NlIiwiYXJndiIsInlhcmdzIiwiaGlkZUJpbiIsInByb2Nlc3MiLCJzY3JpcHROYW1lIiwibWlkZGxld2FyZSIsImxldmVsIiwic3RyaWN0IiwidmVyc2lvbiIsInBhY2thZ2VKc29uRGlyIiwiZGlybmFtZSIsIlVSTCIsInVybCIsInBhdGhuYW1lIiwiZnMiLCJleGlzdHNTeW5jIiwiSlNPTiIsInBhcnNlIiwicmVhZEZpbGVTeW5jIiwiZ2V0VmVyc2lvbiIsImhlbHAiLCJhc3luYyIsIm9wdHMiLCJta2RpciIsInJlY3Vyc2l2ZSIsImRpclBhdGgiLCJta2R0ZW1wIiwicmV0IiwiZGVzdFJlcG9QYXRoIiwic3JjUmVwb1BhdGgiLCJjd2QiLCJjbG9uZU9wdHMiLCJzaW1wbGVHaXQiLCJjbG9uZSIsImNoZWNrb3V0IiwiZGVidWciLCJkc3RHaXQiLCJjb21taXRIYXNoUmVzdWx0IiwibG9nUmVzdWx0IiwiYWxsIiwibGVuZ3RoIiwibG9nIiwiaGVhZCIsIndvcmRzIiwibWVzc2FnZSIsInJlcGxhY2VBbGwiLCJzcGxpdCIsImF0IiwiZmlyc3RMb2ciLCJleHRyYWN0Q29tbWl0SGFzaCIsImZyb20iLCJlcnJvciIsInNyY0dpdCIsInNyY0xvZyIsInRvIiwidW5kZWZpbmVkIiwic3RhY2siLCJsYXRlc3RIYXNoIiwibGF0ZXN0IiwiaGFzaCIsImluZm8iLCJpZ25vcmVQYXR0ZXJucyIsIlNldCIsIm1hcCIsIlN0cmluZyIsImRlc3RGaWxlcyIsInNyY0ZpbGVzIiwiUHJvbWlzZSIsInJlYWRkaXIiLCJtaWNyb21hdGNoIiwibm90IiwiZGVzdEZpbGUiLCJybSIsInNyY0ZpbGUiLCJjb3B5IiwiYWRkIiwic3JjVGFnIiwiZGVzY3JpYmVDb21tYW5kIiwiY2hpbGRfcHJvY2VzcyIsImV4ZWNTeW5jIiwidG9TdHJpbmciLCJ0cmltIiwiZ2l0Iiwib3JpZ2luIiwiZ2V0UmVtb3RlcyIsImZpbmQiLCJyIiwibmFtZSIsInJlbW90ZVVybCIsInJlZnMiLCJmZXRjaCIsInB1c2giLCJpbmNsdWRlcyIsIm9yZyIsInJlcGxhY2UiLCJnZXRHaXRIdWJDb21taXRzVXJsIiwiZW5kc1dpdGgiLCJsaW5rIiwidGl0bGUiLCJib2R5IiwibCIsImNvbW1pdCIsImRlc3RUYWciLCJhZGRUYWci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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one-way-git-sync",
3
- "version": "6.0.27",
3
+ "version": "6.0.29",
4
4
  "description": "A tool for synchronizing a destination git repository with a source git repository SAFELY.",
5
5
  "keywords": [
6
6
  "git",
@@ -38,21 +38,20 @@
38
38
  "dependencies": {
39
39
  "fs-extra": "11.3.2",
40
40
  "micromatch": "4.0.8",
41
- "pino": "9.14.0",
41
+ "pino": "10.1.0",
42
42
  "pino-pretty": "13.1.2",
43
43
  "simple-git": "3.30.0",
44
- "yargs": "17.7.2"
44
+ "yargs": "18.0.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@types/eslint": "8.56.11",
47
+ "@types/eslint": "9.6.1",
48
48
  "@types/fs-extra": "11.0.4",
49
49
  "@types/micromatch": "4.0.10",
50
- "@types/semantic-release": "20.0.6",
51
50
  "@types/yargs": "17.0.35",
52
- "@willbooster/eslint-config-ts": "11.4.10",
53
- "@willbooster/prettier-config": "10.2.1",
54
- "build-ts": "13.2.3",
55
- "conventional-changelog-conventionalcommits": "8.0.0",
51
+ "@willbooster/eslint-config-ts": "11.4.11",
52
+ "@willbooster/prettier-config": "10.2.2",
53
+ "build-ts": "17.0.5",
54
+ "conventional-changelog-conventionalcommits": "9.1.0",
56
55
  "eslint": "9.39.1",
57
56
  "eslint-config-flat-gitignore": "2.1.0",
58
57
  "eslint-config-prettier": "10.1.8",
@@ -64,19 +63,19 @@
64
63
  "eslint-plugin-unused-imports": "4.3.0",
65
64
  "globals": "16.5.0",
66
65
  "husky": "9.1.7",
67
- "lint-staged": "16.2.6",
66
+ "lint-staged": "16.2.7",
68
67
  "pinst": "3.0.0",
69
- "prettier": "3.6.2",
68
+ "prettier": "3.7.3",
70
69
  "prettier-plugin-java": "2.7.7",
71
- "semantic-release": "24.2.9",
72
- "sort-package-json": "3.4.0",
70
+ "semantic-release": "25.0.2",
71
+ "sort-package-json": "3.5.0",
73
72
  "typescript": "5.9.3",
74
- "typescript-eslint": "8.47.0",
75
- "vitest": "3.2.4"
73
+ "typescript-eslint": "8.48.0",
74
+ "vitest": "4.0.14"
76
75
  },
77
- "packageManager": "yarn@4.11.0",
76
+ "packageManager": "yarn@4.12.0",
78
77
  "engines": {
79
- "node": ">=18"
78
+ "node": ">=24"
80
79
  },
81
80
  "publishConfig": {
82
81
  "access": "public"