{"version":3,"sources":["../../src/constants/option.constants.ts"],"names":["FORMAT_TOOLS","LINT_TOOLS","Option"],"mappings":";;;;;AAKA,MAAM,aAAA,GAAgB,CACpB,QAAA,KAC2D;AAC3D,EAAA,MAAM,KAAA,GAAQ,WAAWA,yBAAA,GAAeC,uBAAA;AAExC,EAAA,OAAO,IAAIC,mBAAA;AAAA,IACT,eAAA;AAAA,IACA,CAAA,0BAAA,EAA6B,KAAA,CAAM,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,IAE5C,OAAA,CAAQ,QAAA,GAAWF,4BAAeC,uBAAU,CAAA,CAC5C,UAAU,MAAM,CAAA;AACrB,CAAA;AAEA,MAAM,aAAA,GAAgB,CACpB,QAAA,KAC2D;AAC3D,EAAA,MAAM,KAAA,GAAQ,WAAWD,yBAAA,GAAeC,uBAAA;AAExC,EAAA,OAAO,IAAIC,mBAAA;AAAA,IACT,mBAAA;AAAA,IACA,CAAA,qBAAA,EAAwB,KAAA,CAAM,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,GAC1C,CACG,OAAA,CAAQ,KAAK,CAAA,CACb,UAAU,MAAM,CAAA;AACrB,CAAA;AAEO,MAAM,gBAAA,GAAmB,cAAc,IAAI;AAC3C,MAAM,gBAAA,GAAmB,cAAc,IAAI;AAC3C,MAAM,cAAA,GAAiB,cAAc,KAAK;AAC1C,MAAM,cAAA,GAAiB,cAAc,KAAK;AAE1C,MAAM,cAAc,IAAIA,mBAAA;AAAA,EAC7B,SAAA;AAAA,EACA;AACF,CAAA,CAAE,QAAQ,IAAI;AAEP,MAAM,gBAAgB,IAAIA,mBAAA;AAAA,EAC/B,YAAA;AAAA,EACA;AACF;AAEO,MAAM,qBAAqB,IAAIA,mBAAA;AAAA,EACpC,iBAAA;AAAA,EACA;AACF,CAAA,CAAE,QAAQ,KAAK;AAER,MAAM,mBAAmB,IAAIA,mBAAA;AAAA,EAClC,sBAAA;AAAA,EACA;AACF;AAEO,MAAM,oBAAoB,IAAIA,mBAAA;AAAA,EACnC,yBAAA;AAAA,EACA;AACF,CAAA,CAAE,QAAQ,GAAG;AAEN,MAAM,gBAAgB,IAAIA,mBAAA;AAAA,EAC/B,kBAAA;AAAA,EACA;AACF,CAAA,CAAE,QAAQ,eAAe","file":"option.constants.cjs","sourcesContent":["import { Option } from '@commander-js/extra-typings';\n\nimport { FORMAT_TOOLS, LINT_TOOLS } from '#types/option.types';\nimport type { FormatTool, LintTool } from '#types/option.types';\n\nconst getOnlyOption = <T extends boolean>(\n  isFormat: T,\n): T extends true ? Option<FormatTool> : Option<LintTool> => {\n  const tools = isFormat ? FORMAT_TOOLS : LINT_TOOLS;\n\n  return new Option(\n    '--only <tool>',\n    `Run only a specific tool (${tools.join(', ')})`,\n  )\n    .choices(isFormat ? FORMAT_TOOLS : LINT_TOOLS)\n    .conflicts('skip');\n};\n\nconst getSkipOption = <T extends boolean>(\n  isFormat: T,\n): T extends true ? Option<FormatTool> : Option<LintTool> => {\n  const tools = isFormat ? FORMAT_TOOLS : LINT_TOOLS;\n\n  return new Option(\n    '--skip <tools...>',\n    `Skip specific tools (${tools.join(', ')})`,\n  )\n    .choices(tools)\n    .conflicts('only');\n};\n\nexport const formatOnlyOption = getOnlyOption(true);\nexport const formatSkipOption = getSkipOption(true);\nexport const lintOnlyOption = getOnlyOption(false);\nexport const lintSkipOption = getSkipOption(false);\n\nexport const cacheOption = new Option(\n  '--cache',\n  'Enable Prettier/ESLint cache (use --no-cache to disable)',\n).default(true);\n\nexport const noCacheOption = new Option(\n  '--no-cache',\n  'Disable Prettier/ESLint cache',\n);\n\nexport const refreshCacheOption = new Option(\n  '--refresh-cache',\n  'Refresh Prettier/ESLint cache before running',\n).default(false);\n\nexport const ignorePathOption = new Option(\n  '--ignore-path <path>',\n  'Path to ignore file for Prettier',\n);\n\nexport const maxWarningsOption = new Option(\n  '--max-warnings <number>',\n  'Maximum number of warnings allowed before failing',\n).default('0');\n\nexport const projectOption = new Option(\n  '--project <path>',\n  'Path to TS config for TSC',\n).default('tsconfig.json');\n"]}