{"version":3,"file":"strip-js-comments.cjs","names":["commandSjcIdentity","PACKAGE_META","picocolors","resolvePatternOptions","resolvedSjcPatternOption","resolveGlobPatterns","resolveLogLevelOption"],"sources":["../src/strip-js-comments.ts"],"sourcesContent":["// #!/usr/bin/env node\n\n/* eslint-disable quotes */\n\nimport \"@rzl-zone/node-only\";\n\nimport {\n  stripJsComments,\n  commandSjcIdentity,\n  resolvedSjcPatternOption,\n  type LogLevel\n} from \"@rzl-zone/build-tools\";\n\nimport {\n  joinInline,\n  joinLinesLoose,\n  picocolors\n} from \"@rzl-zone/build-tools/utils\";\n\nimport { createBaseProgram } from \"@rzl-zone/build-tools/commander-kit\";\n\nimport { PACKAGE_META } from \"./_private/constants\";\nimport {\n  resolveGlobPatterns,\n  resolveLogLevelOption,\n  resolvePatternOptions\n} from \"./_private/internal\";\n\ntype EcmaVer =\n  | \"latest\"\n  | 3\n  | 5\n  | 6\n  | 7\n  | 8\n  | 9\n  | 10\n  | 11\n  | 12\n  | 13\n  | 14\n  | 15\n  | 16\n  | 17\n  | 2015\n  | 2016\n  | 2017\n  | 2018\n  | 2019\n  | 2020\n  | 2021\n  | 2022\n  | 2023\n  | 2024\n  | 2025\n  | 2026;\ntype CliOptions = {\n  removeSourceMap?: boolean;\n  removeRegion?: boolean;\n  ecmaVersion?: EcmaVer;\n  sourceType?: \"module\" | \"script\" | \"commonjs\" | undefined;\n  logLevel?: LogLevel | boolean;\n  patternOptions?: string;\n};\n\nconst cmdIdentity = commandSjcIdentity\n  .setPackageName(PACKAGE_META.name)\n  .setVersion(PACKAGE_META.version);\n\nconst program = createBaseProgram({\n  commandIdentity: cmdIdentity,\n  ui: {\n    title: cmdIdentity.cli(),\n    usage: joinInline(\n      picocolors.cyan(cmdIdentity.commandName),\n      picocolors.gray(\"<glob...>\"),\n      picocolors.blueBright(\"[options]\")\n    )\n  }\n});\n\nprogram\n  .description(\n    picocolors.bold(\n      picocolors.magentaBright(\n        joinLinesLoose(\n          \"Strip non-essential comments from compiled JavaScript files.\",\n          \"\",\n          \"All non-flag arguments are treated as glob patterns.\"\n        )\n      )\n    )\n  )\n  .argument(\"[glob...]\", \"Glob pattern(s) pointing to JS output files.\")\n  .option(\n    \"--rsm, --remove-source-map\",\n    \"Remove sourceMappingURL comments\",\n    false\n  )\n  .option(\"--nrr, --no-remove-region\", \"Disable removal of region comments\")\n  .option(\n    \"--st, --source-type <type>\",\n    joinLinesLoose(\n      \"Specify parsing mode:\",\n      \"                                   - module\",\n      \"                                   - script\",\n      \"                                   - commonjs\",\n      picocolors.italic(\n        picocolors.yellowBright(\n          \"                                  * Invalid values will fallback to default\"\n        )\n      )\n    )\n  )\n  .option(\n    \"--ecv, --ecma-version <version>\",\n    joinLinesLoose(\n      \"Specify ECMAScript version:\",\n      `                                   - ${picocolors.redBright(5)}, ${picocolors.redBright(2015)}, ${picocolors.redBright(2020)}, etc.`,\n      `                                   - ${picocolors.gray('\"latest\"')} (default).`,\n      picocolors.italic(\n        picocolors.yellowBright(\n          \"                                  * Invalid values will fallback to default\"\n        )\n      )\n    ),\n    \"latest\"\n  )\n  .option(\n    \"--ll, --log-level [level]\",\n    joinLinesLoose(\n      \"Set logging verbosity level, available logging levels:\",\n      \"                                   - silent ➔ no output.\",\n      \"                                   - error ➔ errors only.\",\n      \"                                   - info (default) ➔ standard informational logs (include `error`).\",\n      \"                                   - debug ➔ verbose / debug logs (include `error`).\",\n      picocolors.italic(\n        picocolors.yellowBright(\n          \"                                  * Invalid values will fallback to the default level\"\n        )\n      )\n    ),\n    \"info\"\n  )\n  .option(\n    \"--po, --pattern-options <json>\",\n    \"Pattern matching options in JSON format\"\n  )\n  .addHelpText(\n    \"after\",\n    joinLinesLoose(\n      \"\",\n      picocolors.bold(\"# Notes:\"),\n      `  ${picocolors.dim(\"• Multiple glob patterns are supported.\")}`,\n      `  ${picocolors.dim(\"• Files are modified IN PLACE.\")}`,\n      `  ${picocolors.dim(\"• Only JavaScript output files are processed.\")}`,\n      \"\",\n      picocolors.bold(\"# Examples:\"),\n      `  ${picocolors.bold(\"• Strip comments\")}`,\n      `    ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.dim('\"dist/**/*.js\"')}`,\n      \"\",\n      `  ${picocolors.bold(\"• Remove source maps & regions\")}`,\n      `    ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.dim('\"dist/**/*.js\"')} \\\\`,\n      `      ${picocolors.cyanBright(\"--remove-source-map\")}`,\n      \"\",\n      `  ${picocolors.bold(\"• Use script parsing mode\")}`,\n      `    ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.dim('\"dist/**/*.js\"')} \\\\`,\n      `      ${picocolors.cyanBright(\"--source-type script\")}`,\n      \"\",\n      `  ${picocolors.bold(\"• Debug logging\")}`,\n      `    ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.dim('\"dist/**/*.js\"')} \\\\`,\n      `      ${picocolors.cyanBright(\"--log-level debug\")}`\n    )\n  )\n  .addHelpText(\n    \"after\",\n    joinLinesLoose(\n      \"\",\n      picocolors.bold(\"# Pattern Options:\"),\n      `  ${picocolors.dim(\"• Must be provided as a JSON string.\")}`,\n      `  ${picocolors.dim(\"• Unknown keys are automatically removed (sanitized).\")}`,\n      `  ${picocolors.dim(\"• Missing keys fallback to internal defaults.\")}`,\n      `  ${picocolors.dim(\"• Use '--pattern-options help' to view full schema.\")}`,\n      \"\",\n      `  ${picocolors.bold(\"Examples:\")}`,\n      `     ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.gray('\"dist/**/*.{js,cjs}\"')} \\\\`,\n      `       ${picocolors.blueBright(\"--pattern-options\")} ${picocolors.dim(picocolors.gray('\\'{\"dot\":true,\"absolute\":true}\\''))}`,\n      \"\",\n      `  ${picocolors.bold(\"Schema Help:\")}`,\n      `     ${picocolors.cyan(cmdIdentity.commandName)} ${picocolors.blueBright(\"--pattern-options\")} ${picocolors.gray(\"help\")}`,\n      \"\",\n      `  ${picocolors.dim(\"Pattern options are a restricted subset configuration.\")}`\n    )\n  )\n  .action(async () => {\n    const {\n      logLevel,\n      removeSourceMap,\n      removeRegion,\n      sourceType,\n      ecmaVersion,\n      patternOptions\n    } = program.opts<CliOptions>();\n\n    const parsedPatternOptions = resolvePatternOptions(\n      patternOptions,\n      program,\n      cmdIdentity,\n      { patternOptionValue: resolvedSjcPatternOption }\n    );\n\n    const patterns = resolveGlobPatterns(program.args, program);\n    const resolvedLogLevel = resolveLogLevelOption(logLevel, program);\n\n    function resolveEcmaVersion(value?: EcmaVer): EcmaVer | undefined {\n      if (!value) return undefined;\n\n      if (value === \"latest\") return \"latest\";\n\n      const num = Number(value);\n      return Number.isNaN(num) ? undefined : (num as EcmaVer);\n    }\n\n    try {\n      await stripJsComments(patterns, {\n        removeSourceMap,\n        removeRegion,\n        ecmaVersion: resolveEcmaVersion(ecmaVersion),\n        sourceType: sourceType,\n        logLevel: resolvedLogLevel,\n        patternOptions: parsedPatternOptions,\n        __commandTitle: cmdIdentity.cli()\n      });\n    } catch (err) {\n      console.error(picocolors.redBright(String(err)));\n      process.exit(1);\n    }\n  });\n\nprogram.parseAsync();\n"],"mappings":";;;;;;;;;;2MAiEA,MAAM,EAAcA,EAAAA,mBACjB,eAAeC,EAAAA,EAAa,IAAI,CAAC,CACjC,WAAWA,EAAAA,EAAa,OAAO,EAE5B,GAAA,EAAA,EAAA,kBAAA,CAA4B,CAChC,gBAAiB,EACjB,GAAI,CACF,MAAO,EAAY,IAAI,EACvB,OAAA,EAAA,EAAA,WAAA,CACEC,EAAAA,WAAW,KAAK,EAAY,WAAW,EACvCA,EAAAA,WAAW,KAAK,WAAW,EAC3BA,EAAAA,WAAW,WAAW,WAAW,CACnC,CACF,CACF,CAAC,EAED,EACG,YACCA,EAAAA,WAAW,KACTA,EAAAA,WAAW,eAAA,EAAA,EAAA,eAAA,CAEP,+DACA,GACA,sDACF,CACF,CACF,CACF,CAAC,CACA,SAAS,YAAa,8CAA8C,CAAC,CACrE,OACC,6BACA,mCACA,EACF,CAAC,CACA,OAAO,4BAA6B,oCAAoC,CAAC,CACzE,OACC,8BAAA,EAAA,EAAA,eAAA,CAEE,wBACA,8CACA,8CACA,gDACAA,EAAAA,WAAW,OACTA,EAAAA,WAAW,aACT,6EACF,CACF,CACF,CACF,CAAC,CACA,OACC,mCAAA,EAAA,EAAA,eAAA,CAEE,8BACA,wCAAwCA,EAAAA,WAAW,UAAU,CAAC,EAAE,IAAIA,EAAAA,WAAW,UAAU,IAAI,EAAE,IAAIA,EAAAA,WAAW,UAAU,IAAI,EAAE,QAC9H,wCAAwCA,EAAAA,WAAW,KAAK,UAAU,EAAE,aACpEA,EAAAA,WAAW,OACTA,EAAAA,WAAW,aACT,6EACF,CACF,CACF,EACA,QACF,CAAC,CACA,OACC,6BAAA,EAAA,EAAA,eAAA,CAEE,yDACA,2DACA,4DACA,uGACA,uFACAA,EAAAA,WAAW,OACTA,EAAAA,WAAW,aACT,uFACF,CACF,CACF,EACA,MACF,CAAC,CACA,OACC,iCACA,yCACF,CAAC,CACA,YACC,SAAA,EAAA,EAAA,eAAA,CAEE,GACAA,EAAAA,WAAW,KAAK,UAAU,EAC1B,KAAKA,EAAAA,WAAW,IAAI,yCAAyC,IAC7D,KAAKA,EAAAA,WAAW,IAAI,gCAAgC,IACpD,KAAKA,EAAAA,WAAW,IAAI,+CAA+C,IACnE,GACAA,EAAAA,WAAW,KAAK,aAAa,EAC7B,KAAKA,EAAAA,WAAW,KAAK,kBAAkB,IACvC,OAAOA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,IAAI,gBAAgB,IAClF,GACA,KAAKA,EAAAA,WAAW,KAAK,gCAAgC,IACrD,OAAOA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,IAAI,gBAAgB,EAAE,KACpF,SAASA,EAAAA,WAAW,WAAW,qBAAqB,IACpD,GACA,KAAKA,EAAAA,WAAW,KAAK,2BAA2B,IAChD,OAAOA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,IAAI,gBAAgB,EAAE,KACpF,SAASA,EAAAA,WAAW,WAAW,sBAAsB,IACrD,GACA,KAAKA,EAAAA,WAAW,KAAK,iBAAiB,IACtC,OAAOA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,IAAI,gBAAgB,EAAE,KACpF,SAASA,EAAAA,WAAW,WAAW,mBAAmB,GACpD,CACF,CAAC,CACA,YACC,SAAA,EAAA,EAAA,eAAA,CAEE,GACAA,EAAAA,WAAW,KAAK,oBAAoB,EACpC,KAAKA,EAAAA,WAAW,IAAI,sCAAsC,IAC1D,KAAKA,EAAAA,WAAW,IAAI,uDAAuD,IAC3E,KAAKA,EAAAA,WAAW,IAAI,+CAA+C,IACnE,KAAKA,EAAAA,WAAW,IAAI,qDAAqD,IACzE,GACA,KAAKA,EAAAA,WAAW,KAAK,WAAW,IAChC,QAAQA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,KAAK,sBAAsB,EAAE,KAC5F,UAAUA,EAAAA,WAAW,WAAW,mBAAmB,EAAE,GAAGA,EAAAA,WAAW,IAAIA,EAAAA,WAAW,KAAK,gCAAkC,CAAC,IAC1H,GACA,KAAKA,EAAAA,WAAW,KAAK,cAAc,IACnC,QAAQA,EAAAA,WAAW,KAAK,EAAY,WAAW,EAAE,GAAGA,EAAAA,WAAW,WAAW,mBAAmB,EAAE,GAAGA,EAAAA,WAAW,KAAK,MAAM,IACxH,GACA,KAAKA,EAAAA,WAAW,IAAI,wDAAwD,GAC9E,CACF,CAAC,CACA,OAAO,SAAY,CAClB,GAAM,CACJ,WACA,kBACA,eACA,aACA,cACA,kBACE,EAAQ,KAAiB,EAEvB,EAAuBC,EAAAA,EAC3B,EACA,EACA,EACA,CAAE,mBAAoBC,EAAAA,wBAAyB,CACjD,EAEM,EAAWC,EAAAA,EAAoB,EAAQ,KAAM,CAAO,EACpD,EAAmBC,EAAAA,EAAsB,EAAU,CAAO,EAEhE,SAAS,EAAmB,EAAsC,CAChE,GAAI,CAAC,EAAO,OAEZ,GAAI,IAAU,SAAU,MAAO,SAE/B,IAAM,EAAM,OAAO,CAAK,EACxB,OAAO,OAAO,MAAM,CAAG,EAAI,IAAA,GAAa,CAC1C,CAEA,GAAI,CACF,MAAA,EAAA,EAAA,gBAAA,CAAsB,EAAU,CAC9B,kBACA,eACA,YAAa,EAAmB,CAAW,EAC/B,aACZ,SAAU,EACV,eAAgB,EAChB,eAAgB,EAAY,IAAI,CAClC,CAAC,CACH,OAAS,EAAK,CACZ,QAAQ,MAAMJ,EAAAA,WAAW,UAAU,OAAO,CAAG,CAAC,CAAC,EAC/C,QAAQ,KAAK,CAAC,CAChB,CACF,CAAC,EAEH,EAAQ,WAAW"}
