zod-args-parser 1.1.0 → 1.2.0
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.
- package/README.md +597 -91
- package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.js +1 -1
- package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.js.map +1 -1
- package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.js +1 -1
- package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.js.map +1 -1
- package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.js +1 -1
- package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.js.map +1 -1
- package/lib/commonjs/help-message/format-arguments.js +1 -0
- package/lib/commonjs/help-message/format-arguments.js.map +1 -0
- package/lib/commonjs/help-message/format-cli.js +1 -0
- package/lib/commonjs/help-message/format-cli.js.map +1 -0
- package/lib/commonjs/help-message/format-options.js +1 -0
- package/lib/commonjs/help-message/format-options.js.map +1 -0
- package/lib/commonjs/help-message/format-subcommands.js +1 -0
- package/lib/commonjs/help-message/format-subcommands.js.map +1 -0
- package/lib/commonjs/help-message/styles.js +1 -0
- package/lib/commonjs/help-message/styles.js.map +1 -0
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown/generate-markdown.js.map +1 -1
- package/lib/commonjs/metadata/get-arguments-metadata.js +1 -1
- package/lib/commonjs/metadata/get-arguments-metadata.js.map +1 -1
- package/lib/commonjs/metadata/get-cli-metadata.js +1 -1
- package/lib/commonjs/metadata/get-cli-metadata.js.map +1 -1
- package/lib/commonjs/metadata/get-options-metadata.js +1 -1
- package/lib/commonjs/metadata/get-options-metadata.js.map +1 -1
- package/lib/commonjs/metadata/get-subcommands-metadata.js.map +1 -1
- package/lib/commonjs/parser/parse/parse.js +1 -0
- package/lib/commonjs/parser/parse/parse.js.map +1 -0
- package/lib/commonjs/parser/parse/parser-helpers.js +1 -0
- package/lib/commonjs/parser/parse/parser-helpers.js.map +1 -0
- package/lib/commonjs/parser/safe-parse.js +1 -1
- package/lib/commonjs/parser/safe-parse.js.map +1 -1
- package/lib/commonjs/parser/unsafe-parse.js +1 -0
- package/lib/commonjs/parser/unsafe-parse.js.map +1 -0
- package/lib/commonjs/parser/validate/validate-type.js +1 -0
- package/lib/commonjs/parser/validate/validate-type.js.map +1 -0
- package/lib/commonjs/parser/validate/validate.js +1 -0
- package/lib/commonjs/parser/validate/validate.js.map +1 -0
- package/lib/commonjs/utils.js +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/zod-utils.js +1 -0
- package/lib/commonjs/zod-utils.js.map +1 -0
- package/lib/module/autocomplete-scripts/bash-autocomplete-script.js +1 -1
- package/lib/module/autocomplete-scripts/bash-autocomplete-script.js.map +1 -1
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js +1 -1
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js.map +1 -1
- package/lib/module/autocomplete-scripts/zsh-autocomplete-script.js +1 -1
- package/lib/module/autocomplete-scripts/zsh-autocomplete-script.js.map +1 -1
- package/lib/module/help-message/format-arguments.js +1 -0
- package/lib/module/help-message/format-arguments.js.map +1 -0
- package/lib/module/help-message/format-cli.js +1 -0
- package/lib/module/help-message/format-cli.js.map +1 -0
- package/lib/module/help-message/format-options.js +1 -0
- package/lib/module/help-message/format-options.js.map +1 -0
- package/lib/module/help-message/{print-subcommands.js → format-subcommands.js} +1 -1
- package/lib/module/help-message/format-subcommands.js.map +1 -0
- package/lib/module/help-message/styles.js +1 -0
- package/lib/module/help-message/styles.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown/generate-markdown.js.map +1 -1
- package/lib/module/metadata/get-arguments-metadata.js +1 -1
- package/lib/module/metadata/get-arguments-metadata.js.map +1 -1
- package/lib/module/metadata/get-cli-metadata.js +1 -1
- package/lib/module/metadata/get-cli-metadata.js.map +1 -1
- package/lib/module/metadata/get-options-metadata.js +1 -1
- package/lib/module/metadata/get-options-metadata.js.map +1 -1
- package/lib/module/metadata/get-subcommands-metadata.js.map +1 -1
- package/lib/module/parser/parse/parse.js +1 -0
- package/lib/module/parser/parse/parse.js.map +1 -0
- package/lib/module/parser/parse/parser-helpers.js +1 -0
- package/lib/module/parser/parse/parser-helpers.js.map +1 -0
- package/lib/module/parser/safe-parse.js +1 -1
- package/lib/module/parser/safe-parse.js.map +1 -1
- package/lib/module/parser/unsafe-parse.js +1 -0
- package/lib/module/parser/unsafe-parse.js.map +1 -0
- package/lib/module/parser/validate/validate-type.js +1 -0
- package/lib/module/parser/validate/validate-type.js.map +1 -0
- package/lib/module/parser/validate/validate.js +1 -0
- package/lib/module/parser/validate/validate.js.map +1 -0
- package/lib/module/utils.js +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/module/zod-utils.js +1 -0
- package/lib/module/zod-utils.js.map +1 -0
- package/lib/typescript/help-message/format-arguments.d.ts +4 -0
- package/lib/typescript/help-message/format-arguments.d.ts.map +1 -0
- package/lib/typescript/help-message/format-cli.d.ts +6 -0
- package/lib/typescript/help-message/format-cli.d.ts.map +1 -0
- package/lib/typescript/help-message/format-options.d.ts +4 -0
- package/lib/typescript/help-message/format-options.d.ts.map +1 -0
- package/lib/typescript/help-message/format-subcommands.d.ts +4 -0
- package/lib/typescript/help-message/format-subcommands.d.ts.map +1 -0
- package/lib/typescript/help-message/styles.d.ts +108 -0
- package/lib/typescript/help-message/styles.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +18 -29
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/markdown/generate-markdown.d.ts.map +1 -1
- package/lib/typescript/metadata/get-arguments-metadata.d.ts +2 -1
- package/lib/typescript/metadata/get-arguments-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/get-cli-metadata.d.ts +3 -2
- package/lib/typescript/metadata/get-cli-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/get-options-metadata.d.ts +2 -1
- package/lib/typescript/metadata/get-options-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/get-subcommands-metadata.d.ts +2 -1
- package/lib/typescript/metadata/get-subcommands-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/metadata-types.d.ts +80 -0
- package/lib/typescript/metadata/metadata-types.d.ts.map +1 -0
- package/lib/typescript/parser/parse/parse-types.d.ts +85 -0
- package/lib/typescript/parser/parse/parse-types.d.ts.map +1 -0
- package/lib/typescript/parser/parse/parse.d.ts +4 -0
- package/lib/typescript/parser/parse/parse.d.ts.map +1 -0
- package/lib/typescript/parser/parse/parser-helpers.d.ts +40 -0
- package/lib/typescript/parser/parse/parser-helpers.d.ts.map +1 -0
- package/lib/typescript/parser/safe-parse.d.ts +1 -0
- package/lib/typescript/parser/safe-parse.d.ts.map +1 -1
- package/lib/typescript/parser/unsafe-parse.d.ts +4 -0
- package/lib/typescript/parser/unsafe-parse.d.ts.map +1 -0
- package/lib/typescript/parser/validate/validate-type.d.ts +22 -0
- package/lib/typescript/parser/validate/validate-type.d.ts.map +1 -0
- package/lib/typescript/parser/validate/validate.d.ts +11 -0
- package/lib/typescript/parser/validate/validate.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +66 -181
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +20 -19
- package/lib/typescript/utils.d.ts.map +1 -1
- package/lib/typescript/zod-utils.d.ts +27 -0
- package/lib/typescript/zod-utils.d.ts.map +1 -0
- package/package.json +7 -6
- package/src/autocomplete-scripts/bash-autocomplete-script.ts +1 -1
- package/src/autocomplete-scripts/powershell-autocomplete-script.ts +1 -1
- package/src/autocomplete-scripts/zsh-autocomplete-script.ts +1 -1
- package/src/help-message/format-arguments.ts +38 -0
- package/src/help-message/{print-help-message.ts → format-cli.ts} +43 -48
- package/src/help-message/{print-options.ts → format-options.ts} +16 -14
- package/src/help-message/format-subcommands.ts +37 -0
- package/src/help-message/styles.ts +120 -0
- package/src/index.ts +50 -44
- package/src/markdown/generate-markdown.ts +2 -1
- package/src/metadata/get-arguments-metadata.ts +3 -2
- package/src/metadata/get-cli-metadata.ts +4 -4
- package/src/metadata/get-options-metadata.ts +4 -3
- package/src/metadata/get-subcommands-metadata.ts +2 -1
- package/src/metadata/metadata-types.ts +114 -0
- package/src/parser/parse/parse-types.ts +89 -0
- package/src/parser/parse/parse.ts +227 -0
- package/src/parser/parse/parser-helpers.ts +167 -0
- package/src/parser/safe-parse.ts +60 -8
- package/src/parser/unsafe-parse.ts +98 -0
- package/src/parser/validate/validate-type.ts +21 -0
- package/src/parser/validate/validate.ts +66 -0
- package/src/types.ts +90 -231
- package/src/utils.ts +33 -65
- package/src/{zodUtils.ts → zod-utils.ts} +65 -17
- package/lib/commonjs/help-message/colors.js +0 -1
- package/lib/commonjs/help-message/colors.js.map +0 -1
- package/lib/commonjs/help-message/print-arguments.js +0 -1
- package/lib/commonjs/help-message/print-arguments.js.map +0 -1
- package/lib/commonjs/help-message/print-help-message.js +0 -1
- package/lib/commonjs/help-message/print-help-message.js.map +0 -1
- package/lib/commonjs/help-message/print-options.js +0 -1
- package/lib/commonjs/help-message/print-options.js.map +0 -1
- package/lib/commonjs/help-message/print-subcommands.js +0 -1
- package/lib/commonjs/help-message/print-subcommands.js.map +0 -1
- package/lib/commonjs/help-message/utils.js +0 -1
- package/lib/commonjs/help-message/utils.js.map +0 -1
- package/lib/commonjs/parser/parse.js +0 -1
- package/lib/commonjs/parser/parse.js.map +0 -1
- package/lib/commonjs/zodUtils.js +0 -1
- package/lib/commonjs/zodUtils.js.map +0 -1
- package/lib/module/help-message/colors.js +0 -1
- package/lib/module/help-message/colors.js.map +0 -1
- package/lib/module/help-message/print-arguments.js +0 -1
- package/lib/module/help-message/print-arguments.js.map +0 -1
- package/lib/module/help-message/print-help-message.js +0 -1
- package/lib/module/help-message/print-help-message.js.map +0 -1
- package/lib/module/help-message/print-options.js +0 -1
- package/lib/module/help-message/print-options.js.map +0 -1
- package/lib/module/help-message/print-subcommands.js.map +0 -1
- package/lib/module/help-message/utils.js +0 -1
- package/lib/module/help-message/utils.js.map +0 -1
- package/lib/module/parser/parse.js +0 -1
- package/lib/module/parser/parse.js.map +0 -1
- package/lib/module/zodUtils.js +0 -1
- package/lib/module/zodUtils.js.map +0 -1
- package/lib/typescript/help-message/colors.d.ts +0 -17
- package/lib/typescript/help-message/colors.d.ts.map +0 -1
- package/lib/typescript/help-message/print-arguments.d.ts +0 -4
- package/lib/typescript/help-message/print-arguments.d.ts.map +0 -1
- package/lib/typescript/help-message/print-help-message.d.ts +0 -4
- package/lib/typescript/help-message/print-help-message.d.ts.map +0 -1
- package/lib/typescript/help-message/print-options.d.ts +0 -4
- package/lib/typescript/help-message/print-options.d.ts.map +0 -1
- package/lib/typescript/help-message/print-subcommands.d.ts +0 -4
- package/lib/typescript/help-message/print-subcommands.d.ts.map +0 -1
- package/lib/typescript/help-message/utils.d.ts +0 -13
- package/lib/typescript/help-message/utils.d.ts.map +0 -1
- package/lib/typescript/parser/parse.d.ts +0 -3
- package/lib/typescript/parser/parse.d.ts.map +0 -1
- package/lib/typescript/zodUtils.d.ts +0 -14
- package/lib/typescript/zodUtils.d.ts.map +0 -1
- package/src/help-message/colors.ts +0 -24
- package/src/help-message/print-arguments.ts +0 -35
- package/src/help-message/print-subcommands.ts +0 -28
- package/src/help-message/utils.ts +0 -31
- package/src/parser/parse.ts +0 -272
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateBashAutocompleteScript=generateBashAutocompleteScript;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateBashAutocompleteScript=generateBashAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generateBashAutocompleteScript(...params){const[cli,...subcommands]=params;const mappedCommands=subcommands.reduce((acc,subcommand)=>{acc[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name))??[],aliases:subcommand.aliases??[]};return acc;},{});let switchCase="";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){switchCase+=` ${key}${aliases.length?"|":""}${aliases.join("|")})\n`;switchCase+=` opts="${options.join(" ")}"\n`;switchCase+=" ;;\n";}if(cli.options?.length){switchCase+=` "-"*)\n`;switchCase+=` opts="${cli.options.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name)).join(" ")}"\n`;switchCase+=" ;;\n";}return`# Auto-generated by zod-args-parser
|
|
2
2
|
|
|
3
3
|
_${cli.cliName}_autocomplete() {
|
|
4
4
|
local cur prev commands opts subcommand used_opts filtered_opts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_parserHelpers","require","generateBashAutocompleteScript","params","cli","subcommands","mappedCommands","reduce","acc","subcommand","name","options","map","option","transformOptionToArg","aliases","switchCase","key","Object","entries","length","join","cliName","keys"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["bash-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\n\n/**\n * - Generate bash autocomplete script for your CLI\n * - The generated script should be added to your `.bash_profile` or `.bashrc` file:\n *\n * - Run: `nano $HOME/.bash_profile` or `nano $HOME/.bashrc`\n * - Add the following line: `source <generated script path>`\n * - Save and reopen bash to take effect\n */\nexport function generateBashAutocompleteScript(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands = subcommands.reduce((acc: MappedCommands, subcommand) => {\n acc[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArg(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n return acc;\n }, {});\n\n let switchCase = \"\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n switchCase += ` ${key}${aliases.length ? \"|\" : \"\"}${aliases.join(\"|\")})\\n`;\n switchCase += ` opts=\"${options.join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n if (cli.options?.length) {\n switchCase += ` \"-\"*)\\n`;\n switchCase += ` opts=\"${cli.options.map(option => transformOptionToArg(option.name)).join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n return `# Auto-generated by zod-args-parser\n\n_${cli.cliName}_autocomplete() {\n local cur prev commands opts subcommand used_opts filtered_opts\n\n cur=\"\\${COMP_WORDS[COMP_CWORD]}\"\n prev=\"\\${COMP_WORDS[COMP_CWORD-1]}\"\n subcommand=\"\\${COMP_WORDS[1]}\"\n\n commands=\"${Object.keys(mappedCommands).join(\" \")}\"\n\n case \"$subcommand\" in\n${switchCase}\n esac\n\n used_opts=\"\"\n if [[ \" \\${commands[@]} \" =~ \" $subcommand \" ]]; then\n for word in \"\\${COMP_WORDS[@]:2}\"; do\n if [[ \"$word\" =~ ^- ]]; then\n used_opts+=\" $word\"\n fi\n done\n fi\n\n if [[ -n \"$opts\" ]]; then\n filtered_opts=\"\"\n for opt in $opts; do\n if [[ ! \" $used_opts \" =~ \" $opt \" ]]; then\n filtered_opts+=\"$opt \"\n fi\n done\n COMPREPLY=( $(compgen -W \"$filtered_opts\" -- \"$cur\") )\n return\n fi\n\n if [[ \"\\${COMP_CWORD}\" -eq 1 ]]; then\n COMPREPLY=( $(compgen -W \"$commands\" -- \"$cur\") )\n fi\n}\n\ncomplete -F _${cli.cliName}_autocomplete ${cli.cliName}\n`;\n}\n"],"mappings":"4IAAA,IAAAA,cAAA,CAAAC,OAAA,sCAYO,QAAS,CAAAC,8BAA8BA,CAAC,GAAGC,MAA8B,CAAU,CACxF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAIpC,KAAM,CAAAG,cAAc,CAAGD,WAAW,CAACE,MAAM,CAAC,CAACC,GAAmB,CAAEC,UAAU,GAAK,CAC7ED,GAAG,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CACrBC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACnFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CAAC,CACD,MAAO,CAAAP,GAAG,CACZ,CAAC,CAAE,CAAC,CAAC,CAAC,CAEN,GAAI,CAAAQ,UAAU,CAAG,EAAE,CACnB,IAAK,KAAM,CAACC,GAAG,CAAE,CAAEN,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAG,MAAM,CAACC,OAAO,CAACb,cAAc,CAAC,CAAE,CACxEU,UAAU,EAAI,OAAOC,GAAG,GAAGF,OAAO,CAACK,MAAM,CAAG,GAAG,CAAG,EAAE,GAAGL,OAAO,CAACM,IAAI,CAAC,GAAG,CAAC,KAAK,CAC7EL,UAAU,EAAI,eAAeL,OAAO,CAACU,IAAI,CAAC,GAAG,CAAC,KAAK,CACnDL,UAAU,EAAI,YAAY,CAC5B,CAEA,GAAIZ,GAAG,CAACO,OAAO,EAAES,MAAM,CAAE,CACvBJ,UAAU,EAAI,aAAa,CAC3BA,UAAU,EAAI,eAAeZ,GAAG,CAACO,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,KAAK,CACxGL,UAAU,EAAI,YAAY,CAC5B,CAEA,MAAO;AACT;AACA,GAAGZ,GAAG,CAACkB,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAcJ,MAAM,CAACK,IAAI,CAACjB,cAAc,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;AACnD;AACA;AACA,EAAEL,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeZ,GAAG,CAACkB,OAAO,iBAAiBlB,GAAG,CAACkB,OAAO;AACtD,CAAC,CACD","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generatePowerShellAutocompleteScript=generatePowerShellAutocompleteScript;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generatePowerShellAutocompleteScript=generatePowerShellAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generatePowerShellAutocompleteScript(...params){const[cli,...subcommands]=params;const mappedCommands=subcommands.reduce((acc,subcommand)=>{acc[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name))??[],aliases:subcommand.aliases??[]};return acc;},{});const subcommandsStr=Object.keys(mappedCommands).map(key=>`'${key}'`).join(", ");const cliOptionsStr=cli.options?.map(option=>`'${(0,_parserHelpers.transformOptionToArg)(option.name)}'`).join(", ")||"";let switchCase="switch ($subcommand) {\n";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){const optionsStr=options.map(option=>`'${option}'`).join(", ");switchCase+=` '${key}' { @(${optionsStr}) }\n`;aliases.forEach(a=>switchCase+=` '${a}' { @(${optionsStr}) }\n`);}switchCase+=` default { @(${cliOptionsStr}) }\n }`;let functionInfo="";if(cli.description){functionInfo=`<#\n.DESCRIPTION\n${cli.description}\n${cli.example?`\n.EXAMPLE\n${cli.example}`:""}\n#>`;}return`# Auto-generated by zod-args-parser
|
|
2
2
|
|
|
3
3
|
${functionInfo}
|
|
4
4
|
function ${cli.cliName} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_parserHelpers","require","generatePowerShellAutocompleteScript","params","cli","subcommands","mappedCommands","reduce","acc","subcommand","name","options","map","option","transformOptionToArg","aliases","subcommandsStr","Object","keys","key","join","cliOptionsStr","switchCase","entries","optionsStr","forEach","a","functionInfo","description","example","cliName"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["powershell-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\n\n/**\n * - Generates a PowerShell autocomplete script for your CLI.\n * - The script assumes that your CLI is available as a `.ps1` file in the environment variable. For example:\n * `cliName.ps1`.\n * - This should return a path to your script: `(Get-Command <cliName>.ps1).Source`\n * - The generated script should be added to your `profile.ps1` file:\n *\n * - Run: `notepad $profile`\n * - Add the following line: `. \"<generated script path>\"`\n * - Save and reopen powershell to take effect\n */\nexport function generatePowerShellAutocompleteScript(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands = subcommands.reduce((acc: MappedCommands, subcommand) => {\n acc[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArg(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n return acc;\n }, {});\n\n const subcommandsStr = Object.keys(mappedCommands)\n .map(key => `'${key}'`)\n .join(\", \");\n const cliOptionsStr = cli.options?.map(option => `'${transformOptionToArg(option.name)}'`).join(\", \") || \"\";\n\n let switchCase = \"switch ($subcommand) {\\n\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n const optionsStr = options.map(option => `'${option}'`).join(\", \");\n switchCase += ` '${key}' { @(${optionsStr}) }\\n`;\n aliases.forEach(a => (switchCase += ` '${a}' { @(${optionsStr}) }\\n`));\n }\n switchCase += ` default { @(${cliOptionsStr}) }\\n }`;\n\n let functionInfo = \"\";\n if (cli.description) {\n functionInfo = `<#\\n.DESCRIPTION\\n${cli.description}\\n${cli.example ? `\\n.EXAMPLE\\n${cli.example}` : \"\"}\\n#>`;\n }\n\n return `# Auto-generated by zod-args-parser\n\n${functionInfo}\nfunction ${cli.cliName} {\n param(\n [Parameter(Position = 0, Mandatory = $false)]\n [string]$subcommand,\n [Parameter(Position = 1, ValueFromRemainingArguments = $true)]\n [string[]]$arguments\n )\n $scriptPath = (Get-Command '${cli.cliName}.ps1').Source\n if ($scriptPath) {\n $argumentList = @($subcommand) + ($arguments | Where-Object { $_ -notin '--', '--%' }) | Where-Object { $_ -ne '' }\n & $scriptPath @argumentList\n return\n }\n Write-Error \"Could not find '${cli.cliName}.ps1' script\"\n}\n\nRegister-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'subcommand' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommands = @(${subcommandsStr}${subcommandsStr && cliOptionsStr ? \", \" : \"\"}${cliOptionsStr})\n $subcommands | Where-Object { $_ -like \"$wordToComplete*\" }\n}\n\nRegister-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'arguments' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommand = $commandAst.CommandElements[1].Value\n $arguments = ${switchCase}\n $arguments | Where-Object { $_ -like \"$wordToComplete*\" }\n}`;\n}\n"],"mappings":"wJAAA,IAAAA,cAAA,CAAAC,OAAA,sCAeO,QAAS,CAAAC,oCAAoCA,CAAC,GAAGC,MAA8B,CAAU,CAC9F,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAIpC,KAAM,CAAAG,cAAc,CAAGD,WAAW,CAACE,MAAM,CAAC,CAACC,GAAmB,CAAEC,UAAU,GAAK,CAC7ED,GAAG,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CACrBC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACnFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CAAC,CACD,MAAO,CAAAP,GAAG,CACZ,CAAC,CAAE,CAAC,CAAC,CAAC,CAEN,KAAM,CAAAQ,cAAc,CAAGC,MAAM,CAACC,IAAI,CAACZ,cAAc,CAAC,CAC/CM,GAAG,CAACO,GAAG,EAAI,IAAIA,GAAG,GAAG,CAAC,CACtBC,IAAI,CAAC,IAAI,CAAC,CACb,KAAM,CAAAC,aAAa,CAAGjB,GAAG,CAACO,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,GAAG,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC,EAAI,EAAE,CAE3G,GAAI,CAAAE,UAAU,CAAG,0BAA0B,CAC3C,IAAK,KAAM,CAACH,GAAG,CAAE,CAAER,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAE,MAAM,CAACM,OAAO,CAACjB,cAAc,CAAC,CAAE,CACxE,KAAM,CAAAkB,UAAU,CAAGb,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,IAAIA,MAAM,GAAG,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,CAClEE,UAAU,EAAI,YAAYH,GAAG,SAASK,UAAU,OAAO,CACvDT,OAAO,CAACU,OAAO,CAACC,CAAC,EAAKJ,UAAU,EAAI,YAAYI,CAAC,SAASF,UAAU,OAAQ,CAAC,CAC/E,CACAF,UAAU,EAAI,uBAAuBD,aAAa,YAAY,CAE9D,GAAI,CAAAM,YAAY,CAAG,EAAE,CACrB,GAAIvB,GAAG,CAACwB,WAAW,CAAE,CACnBD,YAAY,CAAG,qBAAqBvB,GAAG,CAACwB,WAAW,KAAKxB,GAAG,CAACyB,OAAO,CAAG,eAAezB,GAAG,CAACyB,OAAO,EAAE,CAAG,EAAE,MAAM,CAC/G,CAEA,MAAO;AACT;AACA,EAAEF,YAAY;AACd,WAAWvB,GAAG,CAAC0B,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC1B,GAAG,CAAC0B,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,mCAAmC1B,GAAG,CAAC0B,OAAO;AAC9C;AACA;AACA,2CAA2C1B,GAAG,CAAC0B,OAAO;AACtD;AACA,uBAAuBd,cAAc,GAAGA,cAAc,EAAIK,aAAa,CAAG,IAAI,CAAG,EAAE,GAAGA,aAAa;AACnG;AACA;AACA;AACA,2CAA2CjB,GAAG,CAAC0B,OAAO;AACtD;AACA;AACA,mBAAmBR,UAAU;AAC7B;AACA,EAAE,CACF","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateZshAutocompleteScript=generateZshAutocompleteScript;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateZshAutocompleteScript=generateZshAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generateZshAutocompleteScript(...params){const[cli,...subcommands]=params;const genArguments=options=>{return options?.map(option=>`'${(0,_parserHelpers.transformOptionToArg)(option.name)}[${option.description??""}]'`).join(" \\\n ");};const genSubCommand=subcommand=>{const options=subcommand.options;if(!options||options.length===0)return"";return`${subcommand.name})
|
|
2
2
|
_arguments \\
|
|
3
3
|
${genArguments(options)} \\
|
|
4
4
|
'*: :_files' \\
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_parserHelpers","require","generateZshAutocompleteScript","params","cli","subcommands","genArguments","options","map","option","transformOptionToArg","name","description","join","genSubCommand","subcommand","length","cliName","filter","Boolean"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["zsh-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Option, Subcommand } from \"../types.js\";\n\n/**\n * - Generates a ZSH autocomplete script for your CLI.\n * - The generated script should be added to your `~/.zshrc` or `~/.zsh_profile` file:\n *\n * - Run: `nano $HOME/.zshrc` or `nano $HOME/.zsh_profile`\n * - Add the following line: `source <generated script path>`\n * - Save and reopen zsh to take effect\n */\nexport function generateZshAutocompleteScript(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n const genArguments = (options: Option[]) => {\n return options\n ?.map(option => `'${transformOptionToArg(option.name)}[${option.description ?? \"\"}]'`)\n .join(\" \\\\\\n \");\n };\n\n const genSubCommand = (subcommand: Subcommand) => {\n const options = subcommand.options;\n if (!options || options.length === 0) return \"\";\n return `${subcommand.name})\n _arguments \\\\\n ${genArguments(options)} \\\\\n '*: :_files' \\\\\n && ret=0\n ;;`;\n };\n\n return `# Auto-generated by zod-args-parser\n\n_${cli.cliName}_autocomplete() {\n local ret=1\n\n _arguments -C \\\\\n '1: :_${cli.cliName}_commands' \\\\\n '*:: :->subcmds' \\\\\n && ret=0\n\n case $state in\n subcmds)\n case \"$words[1]\" in\n ${subcommands.map(genSubCommand).filter(Boolean).join(\"\\n \")}\n *)\n _arguments \\\\\n '*: :_files' \\\\\n && ret=0\n ;;\n esac\n ;;\n esac\n\n return $ret\n}\n \n_${cli.cliName}_commands() {\n local -a commands=(\n ${subcommands.map(subcommand => `\"${subcommand.name}:${subcommand.description ?? \"\"}\"`).join(\"\\n \")}\n )\n\n _describe -t subcommands 'subcommand' commands\n}\n\ncompdef _${cli.cliName}_autocomplete ${cli.cliName}\n`;\n}\n"],"mappings":"0IAAA,IAAAA,cAAA,CAAAC,OAAA,sCAYO,QAAS,CAAAC,6BAA6BA,CAAC,GAAGC,MAA8B,CAAU,CACvF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAEpC,KAAM,CAAAG,YAAY,CAAIC,OAAiB,EAAK,CAC1C,MAAO,CAAAA,OAAO,EACVC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACE,IAAI,CAAC,IAAIF,MAAM,CAACG,WAAW,EAAI,EAAE,IAAI,CAAC,CACrFC,IAAI,CAAC,mBAAmB,CAAC,CAC9B,CAAC,CAED,KAAM,CAAAC,aAAa,CAAIC,UAAsB,EAAK,CAChD,KAAM,CAAAR,OAAO,CAAGQ,UAAU,CAACR,OAAO,CAClC,GAAI,CAACA,OAAO,EAAIA,OAAO,CAACS,MAAM,GAAK,CAAC,CAAE,MAAO,EAAE,CAC/C,MAAO,GAAGD,UAAU,CAACJ,IAAI;AAC7B;AACA,cAAcL,YAAY,CAACC,OAAO,CAAC;AACnC;AACA;AACA,aAAa,CACX,CAAC,CAED,MAAO;AACT;AACA,GAAGH,GAAG,CAACa,OAAO;AACd;AACA;AACA;AACA,YAAYb,GAAG,CAACa,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,UAAUZ,WAAW,CAACG,GAAG,CAACM,aAAa,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACN,IAAI,CAAC,YAAY,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAGT,GAAG,CAACa,OAAO;AACd;AACA,MAAMZ,WAAW,CAACG,GAAG,CAACO,UAAU,EAAI,IAAIA,UAAU,CAACJ,IAAI,IAAII,UAAU,CAACH,WAAW,EAAI,EAAE,GAAG,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;AAC1G;AACA;AACA;AACA;AACA;AACA,WAAWT,GAAG,CAACa,OAAO,iBAAiBb,GAAG,CAACa,OAAO;AAClD,CAAC,CACD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgArguments=formatHelpMsgArguments;var _utils=require("../utils.js");function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+(0,_utils.ln)(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));msg+=(0,_utils.concat)((0,_utils.indent)(2)+c.argument(metadata.name),(0,_utils.indent)(spacing),c.description(normalizeDesc),(defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"")+(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","ln","metadata","defaultStr","defaultValue","defaultValueAsString","spacing","name","normalizeDesc","description","replace","indent","punctuation","concat","argument","default","optional","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, ln } from \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n\n msg += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n c.description(normalizeDesc),\n (defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\") + ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"4HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,YAAY,CAAE,CACnC,KAAM,CAAAQ,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGT,OAAO,CAAG,CAAC,CAAGK,QAAQ,CAACK,IAAI,CAACT,MAAM,CAClD,KAAM,CAAAU,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAC,CAE1Gb,GAAG,EAAI,GAAAc,aAAM,EACX,GAAAF,aAAM,EAAC,CAAC,CAAC,CAAGf,CAAC,CAACkB,QAAQ,CAACZ,QAAQ,CAACK,IAAI,CAAC,CACrC,GAAAI,aAAM,EAACL,OAAO,CAAC,CACfV,CAAC,CAACa,WAAW,CAACD,aAAa,CAAC,CAC5B,CAACL,UAAU,CAAGP,CAAC,CAACmB,OAAO,CAACZ,UAAU,CAAC,CAAGD,QAAQ,CAACc,QAAQ,CAAGpB,CAAC,CAACoB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,EAAI,GAAAf,SAAE,EAAC,CAAC,CACjG,CAAC,CAED,GAAIC,QAAQ,CAACe,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGhB,QAAQ,CAACe,OAAO,CAACP,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAI,GAAAc,aAAM,EACX,GAAAF,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAGhB,CAAC,CAACuB,YAAY,CAAC,UAAU,CAAC,CAC/CvB,CAAC,CAACqB,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAAjB,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatCliHelpMsg=formatCliHelpMsg;exports.formatSubcommandHelpMsg=formatSubcommandHelpMsg;exports.printCliHelp=printCliHelp;exports.printSubcommandHelp=printSubcommandHelp;var _getCliMetadata=require("../metadata/get-cli-metadata.js");var _utils=require("../utils.js");var _formatArguments=require("./format-arguments.js");var _formatOptions=require("./format-options.js");var _formatSubcommands=require("./format-subcommands.js");var _styles=require("./styles.js");function formatCliHelpMsg(params,style){const c=_styles.helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=(0,_getCliMetadata.getCliMetadata)(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||(0,_utils.concat)(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length||metadata.allowPositional?c.argument("<arguments>"):"");msg+=formatTitle("Usage")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+usage+(0,_utils.ln)(2);if(metadata.description){msg+=formatTitle("Description")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+c.description(metadata.description)+(0,_utils.ln)(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=(0,_formatOptions.formatHelpMsgOptions)(optionsMetadata,c,longest);msg+=(0,_formatSubcommands.formatHelpMsgCommands)(subcommandsMetadata,c,longest);msg+=(0,_formatArguments.formatHelpMsgArguments)(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=(0,_utils.ln)(1);const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(3));msg+=(0,_utils.concat)((0,_utils.indent)(2),c.example(normalizeExample),(0,_utils.ln)(2));}return msg;}function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=_styles.helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||(0,_utils.concat)(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMsg([asCli],c);}function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_getCliMetadata","require","_utils","_formatArguments","_formatOptions","_formatSubcommands","_styles","formatCliHelpMsg","params","style","c","helpMsgStyles","default","Object","assign","metadata","getCliMetadata","formatTitle","title","toUpperCase","msg","usage","concat","punctuation","description","name","subcommands","length","command","options","option","arguments","allowPositional","argument","ln","indent","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","argsMetadata","longestArgTitle","arg","formatHelpMsgOptions","formatHelpMsgCommands","formatHelpMsgArguments","example","normalizeExample","replace","formatSubcommandHelpMsg","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln } from \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length || metadata.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += indent(2) + c.description(metadata.description) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgOptions=formatHelpMsgOptions;var _utils=require("../utils.js");function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+(0,_utils.ln)(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+7)+c.punctuation("└"));const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(metadata.placeholder),(0,_utils.indent)(spacing),c.description(normalizeDesc),(defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"")+(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(longest+17));msg+=(0,_utils.concat)((0,_utils.indent)(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","ln","metadata","names","aliasesAsArgs","concat","nameAsArg","normalizeDesc","description","replace","indent","punctuation","defaultStr","defaultValue","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","default","optional","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, ln } from \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 7) + c.punctuation(\"└\"));\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n c.description(normalizeDesc),\n (defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\") + ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 17));\n msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAErC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,eAAe,CAAE,CACtC,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGL,QAAQ,CAACM,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,CAC1G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAV,QAAQ,CAACW,YAAY,GAAK,WAAW,CAAG,aAAaX,QAAQ,CAACY,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGI,QAAQ,CAACe,WAAW,CAACnB,MAAM,CACvE,KAAM,CAAAoB,OAAO,CAAGrB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGhB,KAAK,CAACiB,GAAG,CAACC,IAAI,EAAIzB,CAAC,CAAC0B,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACpB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhFZ,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAAC,CAAC,CAAC,CAAGS,YAAY,CACxBvB,CAAC,CAACqB,WAAW,CAACf,QAAQ,CAACe,WAAW,CAAC,CACnC,GAAAP,aAAM,EAACQ,OAAO,CAAC,CACftB,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAC5B,CAACK,UAAU,CAAGhB,CAAC,CAAC2B,OAAO,CAACX,UAAU,CAAC,CAAGV,QAAQ,CAACsB,QAAQ,CAAG5B,CAAC,CAAC4B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,EAAI,GAAAvB,SAAE,EAAC,CAAC,CACjG,CAAC,CAED,GAAIC,QAAQ,CAACuB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGxB,QAAQ,CAACuB,OAAO,CAAChB,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAGf,CAAC,CAAC+B,YAAY,CAAC,UAAU,CAAC,CACrE/B,CAAC,CAAC6B,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAAzB,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgCommands=formatHelpMsgCommands;var _utils=require("../utils.js");function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+(0,_utils.ln)(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+7)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(placeholder),(0,_utils.indent)(spacing),c.description(normalizeDesc)+(0,_utils.ln)(1));}msg+=(0,_utils.ln)(1);return msg;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","title","ln","metadata","names","aliases","concat","name","placeholder","options","allowPositional","normalizeDesc","description","replace","indent","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln } from \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 7) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"0HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEtC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,mBAAmB,CAAE,CAC1C,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CACfL,QAAQ,CAACK,WAAW,GAAKL,QAAQ,CAACM,OAAO,CAACV,MAAM,CAAG,WAAW,CAAGI,QAAQ,CAACO,eAAe,CAAG,QAAQ,CAAG,GAAG,CAAC,CAC7G,KAAM,CAAAC,aAAa,CAAGR,QAAQ,CAACS,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAAChB,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACkB,WAAW,CAAC,GAAG,CAAC,CAAC,CAE1G,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGS,WAAW,CAACT,MAAM,CAC9D,KAAM,CAAAmB,OAAO,CAAGpB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGf,KAAK,CAACgB,GAAG,CAACb,IAAI,EAAIV,CAAC,CAACwB,OAAO,CAACd,IAAI,CAAC,CAAC,CAACU,IAAI,CAACpB,CAAC,CAACkB,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFf,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAQ,aAAM,EAAC,CAAC,CAAC,CAAGK,YAAY,CACxBtB,CAAC,CAACW,WAAW,CAACA,WAAW,CAAC,CAC1B,GAAAM,aAAM,EAACI,OAAO,CAAC,CACfrB,CAAC,CAACe,WAAW,CAACD,aAAa,CAAC,CAAG,GAAAT,SAAE,EAAC,CAAC,CACrC,CAAC,CACH,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.helpMsgStyles=void 0;var _chalk=_interopRequireDefault(require("chalk"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const helpMsgStyles=exports.helpMsgStyles=Object.freeze({default:{title:_chalk.default.bold.blue,description:_chalk.default.white,default:_chalk.default.dim.italic,optional:_chalk.default.dim.italic,exampleTitle:_chalk.default.yellow,example:_chalk.default.dim,command:_chalk.default.yellow,option:_chalk.default.cyan,argument:_chalk.default.green,placeholder:_chalk.default.hex("#FF9800"),punctuation:_chalk.default.white.dim},dracula:{title:_chalk.default.bold.hex("#BD93F9"),description:_chalk.default.hex("#F8F8F2"),default:_chalk.default.italic.hex("#6272A4"),optional:_chalk.default.italic.hex("#6272A4"),exampleTitle:_chalk.default.hex("#FFB86C"),example:_chalk.default.hex("#6272A4"),command:_chalk.default.hex("#50FA7B"),option:_chalk.default.hex("#8BE9FD"),argument:_chalk.default.hex("#FF79C6"),placeholder:_chalk.default.hex("#F1FA8C"),punctuation:_chalk.default.hex("#6272A4")},solarizedDark:{title:_chalk.default.bold.hex("#268BD2"),description:_chalk.default.hex("#93A1A1"),default:_chalk.default.italic.hex("#586E75"),optional:_chalk.default.italic.hex("#586E75"),exampleTitle:_chalk.default.hex("#B58900"),example:_chalk.default.hex("#586E75"),command:_chalk.default.hex("#2AA198"),option:_chalk.default.hex("#268BD2"),argument:_chalk.default.hex("#859900"),placeholder:_chalk.default.hex("#CB4B16"),punctuation:_chalk.default.hex("#657B83")},nord:{title:_chalk.default.bold.hex("#81A1C1"),description:_chalk.default.hex("#D8DEE9"),default:_chalk.default.italic.hex("#4C566A"),optional:_chalk.default.italic.hex("#4C566A"),exampleTitle:_chalk.default.hex("#EBCB8B"),example:_chalk.default.hex("#4C566A"),command:_chalk.default.hex("#A3BE8C"),option:_chalk.default.hex("#88C0D0"),argument:_chalk.default.hex("#BF616A"),placeholder:_chalk.default.hex("#D08770"),punctuation:_chalk.default.hex("#4C566A")},html:{title:(...str)=>`<span style="color: #89dceb; font-weight: bold;">${escapeHTML(str.join(" "))}</span>`,description:(...str)=>`<span style="color: #cdd6e8;">${escapeHTML(str.join(" "))}</span>`,default:(...str)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(str.join(" "))}</span>`,optional:(...str)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(str.join(" "))}</span>`,exampleTitle:(...str)=>`<span style="color: #f9e2af;">${escapeHTML(str.join(" "))}</span>`,example:(...str)=>`<span style="color: #6c7086;">${escapeHTML(str.join(" "))}</span>`,command:(...str)=>`<span style="color: #f9e2af;">${escapeHTML(str.join(" "))}</span>`,option:(...str)=>`<span style="color: #17b85d;">${escapeHTML(str.join(" "))}</span>`,argument:(...str)=>`<span style="color: #00ff00;">${escapeHTML(str.join(" "))}</span>`,placeholder:(...str)=>`<span style="color: #db9518;">${escapeHTML(str.join(" "))}</span>`,punctuation:(...str)=>`<span style="color: #6c7086;">${escapeHTML(str.join(" "))}</span>`},gruvboxDark:{title:_chalk.default.bold.hex("#FABD2F"),description:_chalk.default.hex("#EBDBB2"),default:_chalk.default.italic.hex("#928374"),optional:_chalk.default.italic.hex("#928374"),exampleTitle:_chalk.default.hex("#FE8019"),example:_chalk.default.hex("#928374"),command:_chalk.default.hex("#B8BB26"),option:_chalk.default.hex("#83A598"),argument:_chalk.default.hex("#D3869B"),placeholder:_chalk.default.hex("#FB4934"),punctuation:_chalk.default.hex("#928374")},monokai:{title:_chalk.default.bold.hex("#AE81FF"),description:_chalk.default.hex("#F8F8F2"),default:_chalk.default.italic.hex("#75715E"),optional:_chalk.default.italic.hex("#75715E"),exampleTitle:_chalk.default.hex("#FD971F"),example:_chalk.default.hex("#75715E"),command:_chalk.default.hex("#A6E22E"),option:_chalk.default.hex("#66D9EF"),argument:_chalk.default.hex("#F92672"),placeholder:_chalk.default.hex("#E6DB74"),punctuation:_chalk.default.hex("#75715E")},oneDark:{title:_chalk.default.bold.hex("#61AFEF"),description:_chalk.default.hex("#ABB2BF"),default:_chalk.default.italic.hex("#5C6370"),optional:_chalk.default.italic.hex("#5C6370"),exampleTitle:_chalk.default.hex("#E5C07B"),example:_chalk.default.hex("#5C6370"),command:_chalk.default.hex("#98C379"),option:_chalk.default.hex("#56B6C2"),argument:_chalk.default.hex("#E06C75"),placeholder:_chalk.default.hex("#C678DD"),punctuation:_chalk.default.hex("#5C6370")},get noColors(){return new Proxy(this.default,{get(){return(...str)=>str.join(" ");}});}});function escapeHTML(str){return str.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chalk","_interopRequireDefault","require","e","__esModule","default","helpMsgStyles","exports","Object","freeze","title","chalk","bold","blue","description","white","dim","italic","optional","exampleTitle","yellow","example","command","option","cyan","argument","green","placeholder","hex","punctuation","dracula","solarizedDark","nord","html","str","escapeHTML","join","gruvboxDark","monokai","oneDark","noColors","Proxy","get","replace"],"sourceRoot":"../../../src/help-message","sources":["styles.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport const helpMsgStyles = Object.freeze({\n default: {\n title: chalk.bold.blue,\n description: chalk.white,\n default: chalk.dim.italic,\n optional: chalk.dim.italic,\n exampleTitle: chalk.yellow,\n example: chalk.dim,\n command: chalk.yellow,\n option: chalk.cyan,\n argument: chalk.green,\n placeholder: chalk.hex(\"#FF9800\"),\n punctuation: chalk.white.dim,\n },\n dracula: {\n title: chalk.bold.hex(\"#BD93F9\"),\n description: chalk.hex(\"#F8F8F2\"),\n default: chalk.italic.hex(\"#6272A4\"),\n optional: chalk.italic.hex(\"#6272A4\"),\n exampleTitle: chalk.hex(\"#FFB86C\"),\n example: chalk.hex(\"#6272A4\"),\n command: chalk.hex(\"#50FA7B\"),\n option: chalk.hex(\"#8BE9FD\"),\n argument: chalk.hex(\"#FF79C6\"),\n placeholder: chalk.hex(\"#F1FA8C\"),\n punctuation: chalk.hex(\"#6272A4\"),\n },\n solarizedDark: {\n title: chalk.bold.hex(\"#268BD2\"),\n description: chalk.hex(\"#93A1A1\"),\n default: chalk.italic.hex(\"#586E75\"),\n optional: chalk.italic.hex(\"#586E75\"),\n exampleTitle: chalk.hex(\"#B58900\"),\n example: chalk.hex(\"#586E75\"),\n command: chalk.hex(\"#2AA198\"),\n option: chalk.hex(\"#268BD2\"),\n argument: chalk.hex(\"#859900\"),\n placeholder: chalk.hex(\"#CB4B16\"),\n punctuation: chalk.hex(\"#657B83\"),\n },\n nord: {\n title: chalk.bold.hex(\"#81A1C1\"),\n description: chalk.hex(\"#D8DEE9\"),\n default: chalk.italic.hex(\"#4C566A\"),\n optional: chalk.italic.hex(\"#4C566A\"),\n exampleTitle: chalk.hex(\"#EBCB8B\"),\n example: chalk.hex(\"#4C566A\"),\n command: chalk.hex(\"#A3BE8C\"),\n option: chalk.hex(\"#88C0D0\"),\n argument: chalk.hex(\"#BF616A\"),\n placeholder: chalk.hex(\"#D08770\"),\n punctuation: chalk.hex(\"#4C566A\"),\n },\n html: {\n title: (...str) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(str.join(\" \"))}</span>`,\n description: (...str) => `<span style=\"color: #cdd6e8;\">${escapeHTML(str.join(\" \"))}</span>`,\n default: (...str) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(str.join(\" \"))}</span>`,\n optional: (...str) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(str.join(\" \"))}</span>`,\n exampleTitle: (...str) => `<span style=\"color: #f9e2af;\">${escapeHTML(str.join(\" \"))}</span>`,\n example: (...str) => `<span style=\"color: #6c7086;\">${escapeHTML(str.join(\" \"))}</span>`,\n command: (...str) => `<span style=\"color: #f9e2af;\">${escapeHTML(str.join(\" \"))}</span>`,\n option: (...str) => `<span style=\"color: #17b85d;\">${escapeHTML(str.join(\" \"))}</span>`,\n argument: (...str) => `<span style=\"color: #00ff00;\">${escapeHTML(str.join(\" \"))}</span>`,\n placeholder: (...str) => `<span style=\"color: #db9518;\">${escapeHTML(str.join(\" \"))}</span>`,\n punctuation: (...str) => `<span style=\"color: #6c7086;\">${escapeHTML(str.join(\" \"))}</span>`,\n },\n gruvboxDark: {\n title: chalk.bold.hex(\"#FABD2F\"),\n description: chalk.hex(\"#EBDBB2\"),\n default: chalk.italic.hex(\"#928374\"),\n optional: chalk.italic.hex(\"#928374\"),\n exampleTitle: chalk.hex(\"#FE8019\"),\n example: chalk.hex(\"#928374\"),\n command: chalk.hex(\"#B8BB26\"),\n option: chalk.hex(\"#83A598\"),\n argument: chalk.hex(\"#D3869B\"),\n placeholder: chalk.hex(\"#FB4934\"),\n punctuation: chalk.hex(\"#928374\"),\n },\n monokai: {\n title: chalk.bold.hex(\"#AE81FF\"),\n description: chalk.hex(\"#F8F8F2\"),\n default: chalk.italic.hex(\"#75715E\"),\n optional: chalk.italic.hex(\"#75715E\"),\n exampleTitle: chalk.hex(\"#FD971F\"),\n example: chalk.hex(\"#75715E\"),\n command: chalk.hex(\"#A6E22E\"),\n option: chalk.hex(\"#66D9EF\"),\n argument: chalk.hex(\"#F92672\"),\n placeholder: chalk.hex(\"#E6DB74\"),\n punctuation: chalk.hex(\"#75715E\"),\n },\n oneDark: {\n title: chalk.bold.hex(\"#61AFEF\"),\n description: chalk.hex(\"#ABB2BF\"),\n default: chalk.italic.hex(\"#5C6370\"),\n optional: chalk.italic.hex(\"#5C6370\"),\n exampleTitle: chalk.hex(\"#E5C07B\"),\n example: chalk.hex(\"#5C6370\"),\n command: chalk.hex(\"#98C379\"),\n option: chalk.hex(\"#56B6C2\"),\n argument: chalk.hex(\"#E06C75\"),\n placeholder: chalk.hex(\"#C678DD\"),\n punctuation: chalk.hex(\"#5C6370\"),\n },\n get noColors() {\n return new Proxy(this.default, {\n get() {\n return (...str: string[]) => str.join(\" \");\n },\n });\n },\n}) satisfies Record<string, HelpMsgStyle>;\n\nfunction escapeHTML(str: string) {\n return str.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createArguments=createArguments;exports.createCli=createCli;exports.createOptions=createOptions;exports.createSubcommand=createSubcommand;Object.defineProperty(exports,"generateBashAutocompleteScript",{enumerable:true,get:function(){return _bashAutocompleteScript.generateBashAutocompleteScript;}});Object.defineProperty(exports,"generateMarkdown",{enumerable:true,get:function(){return _generateMarkdown.generateMarkdown;}});Object.defineProperty(exports,"generatePowerShellAutocompleteScript",{enumerable:true,get:function(){return _powershellAutocompleteScript.generatePowerShellAutocompleteScript;}});Object.defineProperty(exports,"generateZshAutocompleteScript",{enumerable:true,get:function(){return _zshAutocompleteScript.generateZshAutocompleteScript;}});Object.defineProperty(exports,"getArgumentsMetadata",{enumerable:true,get:function(){return _getArgumentsMetadata.getArgumentsMetadata;}});Object.defineProperty(exports,"getCliMetadata",{enumerable:true,get:function(){return _getCliMetadata.getCliMetadata;}});Object.defineProperty(exports,"getOptionsMetadata",{enumerable:true,get:function(){return _getOptionsMetadata.getOptionsMetadata;}});Object.defineProperty(exports,"getSubcommandsMetadata",{enumerable:true,get:function(){return _getSubcommandsMetadata.getSubcommandsMetadata;}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createArguments=createArguments;exports.createCli=createCli;exports.createOptions=createOptions;exports.createSubcommand=createSubcommand;Object.defineProperty(exports,"formatCliHelpMsg",{enumerable:true,get:function(){return _formatCli.formatCliHelpMsg;}});Object.defineProperty(exports,"formatSubcommandHelpMsg",{enumerable:true,get:function(){return _formatCli.formatSubcommandHelpMsg;}});Object.defineProperty(exports,"generateBashAutocompleteScript",{enumerable:true,get:function(){return _bashAutocompleteScript.generateBashAutocompleteScript;}});Object.defineProperty(exports,"generateMarkdown",{enumerable:true,get:function(){return _generateMarkdown.generateMarkdown;}});Object.defineProperty(exports,"generatePowerShellAutocompleteScript",{enumerable:true,get:function(){return _powershellAutocompleteScript.generatePowerShellAutocompleteScript;}});Object.defineProperty(exports,"generateZshAutocompleteScript",{enumerable:true,get:function(){return _zshAutocompleteScript.generateZshAutocompleteScript;}});Object.defineProperty(exports,"getArgumentsMetadata",{enumerable:true,get:function(){return _getArgumentsMetadata.getArgumentsMetadata;}});Object.defineProperty(exports,"getCliMetadata",{enumerable:true,get:function(){return _getCliMetadata.getCliMetadata;}});Object.defineProperty(exports,"getOptionsMetadata",{enumerable:true,get:function(){return _getOptionsMetadata.getOptionsMetadata;}});Object.defineProperty(exports,"getSubcommandsMetadata",{enumerable:true,get:function(){return _getSubcommandsMetadata.getSubcommandsMetadata;}});Object.defineProperty(exports,"helpMsgStyles",{enumerable:true,get:function(){return _styles.helpMsgStyles;}});Object.defineProperty(exports,"isOptionalSchema",{enumerable:true,get:function(){return _zodUtils.isOptionalSchema;}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return _unsafeParse.unsafeParse;}});Object.defineProperty(exports,"parseAsync",{enumerable:true,get:function(){return _unsafeParse.unsafeParseAsync;}});Object.defineProperty(exports,"printCliHelp",{enumerable:true,get:function(){return _formatCli.printCliHelp;}});Object.defineProperty(exports,"printSubcommandHelp",{enumerable:true,get:function(){return _formatCli.printSubcommandHelp;}});Object.defineProperty(exports,"safeParse",{enumerable:true,get:function(){return _safeParse.safeParse;}});Object.defineProperty(exports,"safeParseAsync",{enumerable:true,get:function(){return _safeParse.safeParseAsync;}});Object.defineProperty(exports,"schemaDefaultValue",{enumerable:true,get:function(){return _zodUtils.schemaDefaultValue;}});Object.defineProperty(exports,"stringToArray",{enumerable:true,get:function(){return _zodUtils.stringToArray;}});Object.defineProperty(exports,"stringToSet",{enumerable:true,get:function(){return _zodUtils.stringToSet;}});var _formatCli=require("./help-message/format-cli.js");var _styles=require("./help-message/styles.js");var _unsafeParse=require("./parser/unsafe-parse.js");var _safeParse=require("./parser/safe-parse.js");var _zodUtils=require("./zod-utils.js");var _bashAutocompleteScript=require("./autocomplete-scripts/bash-autocomplete-script.js");var _powershellAutocompleteScript=require("./autocomplete-scripts/powershell-autocomplete-script.js");var _zshAutocompleteScript=require("./autocomplete-scripts/zsh-autocomplete-script.js");var _getArgumentsMetadata=require("./metadata/get-arguments-metadata.js");var _getCliMetadata=require("./metadata/get-cli-metadata.js");var _getOptionsMetadata=require("./metadata/get-options-metadata.js");var _getSubcommandsMetadata=require("./metadata/get-subcommands-metadata.js");var _generateMarkdown=require("./markdown/generate-markdown.js");function createCli(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createSubcommand(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createOptions(options){return options;}function createArguments(args){return args;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_formatCli","require","_styles","_unsafeParse","_safeParse","_zodUtils","_bashAutocompleteScript","_powershellAutocompleteScript","_zshAutocompleteScript","_getArgumentsMetadata","_getCliMetadata","_getOptionsMetadata","_getSubcommandsMetadata","_generateMarkdown","createCli","input","setAction","action","setPreValidationHook","hook","preValidation","Object","assign","createSubcommand","createOptions","options","createArguments","args"],"sourceRoot":"../../src","sources":["index.ts"],"sourcesContent":["import type {\n ActionsFn,\n Argument,\n CheckArgumentsOptional,\n CheckDuplicatedArguments,\n CheckDuplicatedOptions,\n Cli,\n Option,\n Prettify,\n Subcommand,\n} from \"./types.js\";\n\n/**\n * - Insures that there are no duplicated options\n * - Insures that there are no duplicated arguments\n * - Insures that only the last argument is optional\n * - Insures no optional arguments are allowed when `allowPositional` is enabled\n */\ntype CheckCliSubcommandInput<T extends Cli | Subcommand> =\n CheckDuplicatedOptions<T> extends infer Err extends string\n ? Err\n : CheckDuplicatedArguments<T> extends infer Err extends string\n ? Err\n : CheckArgumentsOptional<T> extends infer Err extends string\n ? Err\n : T;\n\nexport function createCli<const T extends Cli>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action;\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\nexport function createSubcommand<const T extends Subcommand>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action as T[\"action\"];\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\n/** - Insures that there are no duplicated options */\ntype CheckOptionsInput<T extends Option[]> =\n CheckDuplicatedOptions<{ options: T }> extends infer Err extends string ? Err : T;\n\nexport function createOptions<const T extends [Option, ...Option[]]>(options: CheckOptionsInput<T>) {\n return options;\n}\n\n/** - Insures that only the last argument is optional */\ntype CheckArgumentsInput<T extends Argument[]> =\n CheckArgumentsOptional<{ arguments: T }> extends infer Err extends string ? Err : T;\n\nexport function createArguments<const T extends [Argument, ...Argument[]]>(args: CheckArgumentsInput<T>) {\n return args;\n}\n\nexport {\n formatCliHelpMsg,\n printCliHelp,\n formatSubcommandHelpMsg,\n printSubcommandHelp,\n} from \"./help-message/format-cli.js\";\nexport { helpMsgStyles } from \"./help-message/styles.js\";\n\nexport { unsafeParse as parse, unsafeParseAsync as parseAsync } from \"./parser/unsafe-parse.js\";\nexport { safeParse, safeParseAsync } from \"./parser/safe-parse.js\";\n\nexport { isOptionalSchema, schemaDefaultValue, stringToArray, stringToSet } from \"./zod-utils.js\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.js\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.js\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.js\";\n\nexport { getArgumentsMetadata } from \"./metadata/get-arguments-metadata.js\";\nexport { getCliMetadata } from \"./metadata/get-cli-metadata.js\";\nexport { getOptionsMetadata } from \"./metadata/get-options-metadata.js\";\nexport { getSubcommandsMetadata } from \"./metadata/get-subcommands-metadata.js\";\n\nexport { generateMarkdown } from \"./markdown/generate-markdown.js\";\n\nexport type * from \"./types.js\";\nexport type * from \"./metadata/metadata-types.js\";\n"],"mappings":"00FAuEA,IAAAA,UAAA,CAAAC,OAAA,iCAMA,IAAAC,OAAA,CAAAD,OAAA,6BAEA,IAAAE,YAAA,CAAAF,OAAA,6BACA,IAAAG,UAAA,CAAAH,OAAA,2BAEA,IAAAI,SAAA,CAAAJ,OAAA,mBAEA,IAAAK,uBAAA,CAAAL,OAAA,uDACA,IAAAM,6BAAA,CAAAN,OAAA,6DACA,IAAAO,sBAAA,CAAAP,OAAA,sDAEA,IAAAQ,qBAAA,CAAAR,OAAA,yCACA,IAAAS,eAAA,CAAAT,OAAA,mCACA,IAAAU,mBAAA,CAAAV,OAAA,uCACA,IAAAW,uBAAA,CAAAX,OAAA,2CAEA,IAAAY,iBAAA,CAAAZ,OAAA,oCAlEO,QAAS,CAAAa,SAASA,CAAsBC,KAAiC,CAAE,CAChF,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAM,CACvB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAEO,QAAS,CAAAK,gBAAgBA,CAA6BR,KAAiC,CAAE,CAC9F,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAqB,CACtC,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAMO,QAAS,CAAAM,aAAaA,CAAwCC,OAA6B,CAAE,CAClG,MAAO,CAAAA,OAAO,CAChB,CAMO,QAAS,CAAAC,eAAeA,CAA4CC,IAA4B,CAAE,CACvG,MAAO,CAAAA,IAAI,CACb","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getCliMetadata","require","generateMarkdown","params","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","examples","list","outStr","lang","listIndent","repeat","replace","optionsMetadata","h","i","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","defaultValueAsString","argsMetadata","subcommandsMetadata","escapeTags","str"],"sourceRoot":"../../../src/markdown","sources":["generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\n\nimport type { ArgumentMetadata,
|
|
1
|
+
{"version":3,"names":["_getCliMetadata","require","generateMarkdown","params","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","examples","list","outStr","lang","listIndent","repeat","replace","optionsMetadata","h","i","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","defaultValueAsString","argsMetadata","subcommandsMetadata","escapeTags","str"],"sourceRoot":"../../../src/markdown","sources":["generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\n\nimport type { ArgumentMetadata, OptionMetadata, SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { Cli, Subcommand } from \"../types.js\";\n\nexport function generateMarkdown(...params: [Cli, ...Subcommand[]]): string {\n const metadata = getCliMetadata(params);\n\n let md = \"<!-- Auto-generated by zod-args-parser -->\\n\\n\";\n\n // Title\n md += `# ${metadata.name}\\n\\n`;\n\n // Description\n if (metadata.description) {\n md += `${metadata.description}\\n`;\n }\n\n // Examples\n if (metadata.example) {\n md += renderExamples(metadata.example);\n }\n\n // Options\n if (metadata.options.length) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length) {\n md += \"\\n## Subcommands:\\n\\n\";\n md += renderSubcommands(metadata.subcommands);\n }\n\n return md;\n}\n\nfunction renderExamples(examples: string, list = false) {\n let outStr = \"\";\n\n const lang = \"bash\";\n\n const listIndent = \" \".repeat(list ? 2 : 0);\n\n outStr += \"\\n\" + (list ? \"- \" : \"\");\n\n outStr += \"```\" + lang + \"\\n\";\n outStr += listIndent + examples.replace(/\\n/g, \"\\n\" + listIndent);\n outStr += \"\\n\" + listIndent + \"```\\n\";\n\n return outStr;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < optionsMetadata.length; i++) {\n const metadata = optionsMetadata[i];\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outStr += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example, true);\n }\n\n if (i < optionsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderArguments(argsMetadata: ArgumentMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < argsMetadata.length; i++) {\n const metadata = argsMetadata[i];\n\n outStr += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (i < argsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outStr = \"\";\n\n for (let i = 0; i < subcommandsMetadata.length; i++) {\n const metadata = subcommandsMetadata[i];\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${escapeTags(metadata.placeholder)}`;\n\n outStr += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description) {\n outStr += `${metadata.description}\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (metadata.options.length) {\n outStr += \"\\n#### Options:\\n\\n\";\n outStr += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length) {\n outStr += \"\\n#### Arguments:\\n\\n\";\n outStr += renderArguments(metadata.arguments, 4);\n }\n\n if (i < subcommandsMetadata.length - 1) {\n outStr += \"\\n---\\n\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction escapeTags(str: string) {\n return str.replace(/</g, \"<\").replace(/>/g, \">\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _zodUtils=require("../
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _zodUtils=require("../zod-utils.js");function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=(0,_zodUtils.schemaDefaultValue)(arg.type);outputMetadata.push({name:arg.name,description:arg.description??(0,_zodUtils.schemaDescription)(arg.type)??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),optional:(0,_zodUtils.isOptionalSchema)(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zodUtils","require","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","JSON","stringify","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../
|
|
1
|
+
{"version":3,"names":["_zodUtils","require","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","JSON","stringify","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"wHAAA,IAAAA,SAAA,CAAAC,OAAA,oBAKO,QAAS,CAAAC,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAG,GAAAC,4BAAkB,EAACF,GAAG,CAACG,IAAI,CAAC,CAEjDJ,cAAc,CAACK,IAAI,CAAC,CAClBC,IAAI,CAAEL,GAAG,CAACK,IAAI,CACdC,WAAW,CAAEN,GAAG,CAACM,WAAW,EAAI,GAAAC,2BAAiB,EAACP,GAAG,CAACG,IAAI,CAAC,EAAI,EAAE,CACjEF,YAAY,CACZO,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAACT,YAAY,CAAC,CAClDU,QAAQ,CAAE,GAAAC,0BAAgB,EAACZ,GAAG,CAACG,IAAI,CAAC,CACpCU,OAAO,CAAEb,GAAG,CAACa,OAAO,EAAI,EAAE,CAC1BV,IAAI,CAAEH,GAAG,CAACG,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCliMetadata=getCliMetadata;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCliMetadata=getCliMetadata;var _getArgumentsMetadata=require("./get-arguments-metadata.js");var _getOptionsMetadata=require("./get-options-metadata.js");var _getSubcommandsMetadata=require("./get-subcommands-metadata.js");function getCliMetadata(inputData){const[cli,...subcommands]=inputData;const outputMetadata={name:cli.cliName,description:cli.description??"",usage:cli.usage??"",example:cli.example??"",allowPositional:cli.allowPositional??false,options:cli.options?(0,_getOptionsMetadata.getOptionsMetadata)(cli.options):[],arguments:cli.arguments?(0,_getArgumentsMetadata.getArgumentsMetadata)(cli.arguments):[],subcommands:subcommands?(0,_getSubcommandsMetadata.getSubcommandsMetadata)(subcommands):[]};return outputMetadata;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","_getSubcommandsMetadata","getCliMetadata","inputData","cli","subcommands","outputMetadata","name","cliName","description","usage","example","allowPositional","options","getOptionsMetadata","arguments","getArgumentsMetadata","getSubcommandsMetadata"],"sourceRoot":"../../../src/metadata","sources":["get-cli-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\nimport { getSubcommandsMetadata } from \"./get-subcommands-metadata.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\nimport type { CliMetadata } from \"./metadata-types.js\";\n\nexport function getCliMetadata(inputData: readonly [Cli, ...Subcommand[]]): CliMetadata {\n const [cli, ...subcommands] = inputData;\n\n const outputMetadata: CliMetadata = {\n name: cli.cliName,\n description: cli.description ?? \"\",\n usage: cli.usage ?? \"\",\n example: cli.example ?? \"\",\n allowPositional: cli.allowPositional ?? false,\n options: cli.options ? getOptionsMetadata(cli.options) : [],\n arguments: cli.arguments ? getArgumentsMetadata(cli.arguments) : [],\n subcommands: subcommands ? getSubcommandsMetadata(subcommands) : [],\n };\n\n return outputMetadata;\n}\n"],"mappings":"4GAAA,IAAAA,qBAAA,CAAAC,OAAA,gCACA,IAAAC,mBAAA,CAAAD,OAAA,8BACA,IAAAE,uBAAA,CAAAF,OAAA,kCAKO,QAAS,CAAAG,cAAcA,CAACC,SAA0C,CAAe,CACtF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,SAAS,CAEvC,KAAM,CAAAG,cAA2B,CAAG,CAClCC,IAAI,CAAEH,GAAG,CAACI,OAAO,CACjBC,WAAW,CAAEL,GAAG,CAACK,WAAW,EAAI,EAAE,CAClCC,KAAK,CAAEN,GAAG,CAACM,KAAK,EAAI,EAAE,CACtBC,OAAO,CAAEP,GAAG,CAACO,OAAO,EAAI,EAAE,CAC1BC,eAAe,CAAER,GAAG,CAACQ,eAAe,EAAI,KAAK,CAC7CC,OAAO,CAAET,GAAG,CAACS,OAAO,CAAG,GAAAC,sCAAkB,EAACV,GAAG,CAACS,OAAO,CAAC,CAAG,EAAE,CAC3DE,SAAS,CAAEX,GAAG,CAACW,SAAS,CAAG,GAAAC,0CAAoB,EAACZ,GAAG,CAACW,SAAS,CAAC,CAAG,EAAE,CACnEV,WAAW,CAAEA,WAAW,CAAG,GAAAY,8CAAsB,EAACZ,WAAW,CAAC,CAAG,EACnE,CAAC,CAED,MAAO,CAAAC,cAAc,CACvB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var _parserHelpers=require("../parser/parse/parser-helpers.js");var _zodUtils=require("../zod-utils.js");function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=(0,_zodUtils.schemaDefaultValue)(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:(0,_parserHelpers.transformOptionToArg)(option.name),aliases,aliasesAsArgs:aliases.map(_parserHelpers.transformOptionToArg),placeholder:option.placeholder??"",description:option.description??(0,_zodUtils.schemaDescription)(option.type)??"",optional:(0,_zodUtils.isOptionalSchema)(option.type),example:option.example??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),type:option.type});}return outputMetadata;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_parserHelpers","require","_zodUtils","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","schemaDefaultValue","type","aliases","push","name","nameAsArg","transformOptionToArg","aliasesAsArgs","map","placeholder","description","schemaDescription","optional","isOptionalSchema","example","defaultValueAsString","JSON","stringify"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || !options.length) return outputMetadata;\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"oHAAA,IAAAA,cAAA,CAAAC,OAAA,sCACA,IAAAC,SAAA,CAAAD,OAAA,oBAKO,QAAS,CAAAE,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAG,GAAAC,4BAAkB,EAACF,MAAM,CAACG,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGJ,MAAM,CAACI,OAAO,EAAI,EAAE,CAEpCN,cAAc,CAACO,IAAI,CAAC,CAClBC,IAAI,CAAEN,MAAM,CAACM,IAAI,CACjBC,SAAS,CAAE,GAAAC,mCAAoB,EAACR,MAAM,CAACM,IAAI,CAAC,CAC5CF,OAAO,CACPK,aAAa,CAAEL,OAAO,CAACM,GAAG,CAACF,mCAAoB,CAAC,CAChDG,WAAW,CAAEX,MAAM,CAACW,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEZ,MAAM,CAACY,WAAW,EAAI,GAAAC,2BAAiB,EAACb,MAAM,CAACG,IAAI,CAAC,EAAI,EAAE,CACvEW,QAAQ,CAAE,GAAAC,0BAAgB,EAACf,MAAM,CAACG,IAAI,CAAC,CACvCa,OAAO,CAAEhB,MAAM,CAACgB,OAAO,EAAI,EAAE,CAC7Bf,YAAY,CACZgB,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAAClB,YAAY,CAAC,CAClDE,IAAI,CAAEH,MAAM,CAACG,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAL,cAAc,CACvB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","getSubcommandsMetadata","subcommands","outputMetadata","length","subcommand","optionsMetadata","options","getOptionsMetadata","argumentsMetadata","arguments","getArgumentsMetadata","push","name","aliases","description","placeholder","usage","example","allowPositional"],"sourceRoot":"../../../src/metadata","sources":["get-subcommands-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\n\nimport type { Subcommand
|
|
1
|
+
{"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","getSubcommandsMetadata","subcommands","outputMetadata","length","subcommand","optionsMetadata","options","getOptionsMetadata","argumentsMetadata","arguments","getArgumentsMetadata","push","name","aliases","description","placeholder","usage","example","allowPositional"],"sourceRoot":"../../../src/metadata","sources":["get-subcommands-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\n\nimport type { Subcommand } from \"../types.js\";\nimport type { SubcommandMetadata } from \"./metadata-types.js\";\n\nexport function getSubcommandsMetadata(subcommands: Subcommand[]): SubcommandMetadata[] {\n const outputMetadata: SubcommandMetadata[] = [];\n\n if (!subcommands || !subcommands.length) return outputMetadata;\n\n for (const subcommand of subcommands) {\n const optionsMetadata = subcommand.options ? getOptionsMetadata(subcommand.options) : [];\n const argumentsMetadata = subcommand.arguments ? getArgumentsMetadata(subcommand.arguments) : [];\n\n outputMetadata.push({\n name: subcommand.name,\n aliases: subcommand.aliases ?? [],\n description: subcommand.description ?? \"\",\n placeholder: subcommand.placeholder ?? \"\",\n usage: subcommand.usage ?? \"\",\n example: subcommand.example ?? \"\",\n allowPositional: subcommand.allowPositional ?? false,\n options: optionsMetadata,\n arguments: argumentsMetadata,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"4HAAA,IAAAA,qBAAA,CAAAC,OAAA,gCACA,IAAAC,mBAAA,CAAAD,OAAA,8BAKO,QAAS,CAAAE,sBAAsBA,CAACC,WAAyB,CAAwB,CACtF,KAAM,CAAAC,cAAoC,CAAG,EAAE,CAE/C,GAAI,CAACD,WAAW,EAAI,CAACA,WAAW,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAE9D,IAAK,KAAM,CAAAE,UAAU,GAAI,CAAAH,WAAW,CAAE,CACpC,KAAM,CAAAI,eAAe,CAAGD,UAAU,CAACE,OAAO,CAAG,GAAAC,sCAAkB,EAACH,UAAU,CAACE,OAAO,CAAC,CAAG,EAAE,CACxF,KAAM,CAAAE,iBAAiB,CAAGJ,UAAU,CAACK,SAAS,CAAG,GAAAC,0CAAoB,EAACN,UAAU,CAACK,SAAS,CAAC,CAAG,EAAE,CAEhGP,cAAc,CAACS,IAAI,CAAC,CAClBC,IAAI,CAAER,UAAU,CAACQ,IAAI,CACrBC,OAAO,CAAET,UAAU,CAACS,OAAO,EAAI,EAAE,CACjCC,WAAW,CAAEV,UAAU,CAACU,WAAW,EAAI,EAAE,CACzCC,WAAW,CAAEX,UAAU,CAACW,WAAW,EAAI,EAAE,CACzCC,KAAK,CAAEZ,UAAU,CAACY,KAAK,EAAI,EAAE,CAC7BC,OAAO,CAAEb,UAAU,CAACa,OAAO,EAAI,EAAE,CACjCC,eAAe,CAAEd,UAAU,CAACc,eAAe,EAAI,KAAK,CACpDZ,OAAO,CAAED,eAAe,CACxBI,SAAS,CAAED,iBACb,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAN,cAAc,CACvB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.parse=parse;var _utils=require("../../utils.js");var _zodUtils=require("../../zod-utils.js");var _parserHelpers=require("./parser-helpers.js");function parse(argv,...params){const subcommandArr=params;const allSubcommands=new Set(subcommandArr.flatMap(c=>[c.name,...(c.aliases||[])]));argv=(0,_parserHelpers.decoupleFlags)(argv);const results={subcommand:undefined,options:{}};const getSubcommandObj=()=>(0,_parserHelpers.findSubcommand)(results.subcommand,subcommandArr);for(let i=0;i<argv.length;i++){const arg=argv[i];if(i===0){results.subcommand=allSubcommands.has(arg)?arg:undefined;const subcommandObj=getSubcommandObj();if(subcommandObj&&subcommandObj.allowPositional){results.positional=[];}if(subcommandObj&&subcommandObj.arguments?.length){results.arguments=[];}if(results.subcommand)continue;}const argAndValue=arg.split("=").filter(Boolean);const argWithEquals=arg.includes("=");const argument=argAndValue[0];const argValue=argAndValue[1];if((0,_parserHelpers.isOptionArg)(argument)){if((0,_parserHelpers.isFlagArg)(argument)&&argWithEquals){throw new Error(`Flag arguments cannot be assigned using "=": "${arg}"`,{cause:"zod-args-parser"});}const subcommandObj=getSubcommandObj();if(!subcommandObj){throw new Error(`Unknown subcommand: "${results.subcommand}"`,{cause:"zod-args-parser"});}if(!subcommandObj.options){if(!results.subcommand){throw new Error(`Error: options are not allowed here: "${argument}"`,{cause:"zod-args-parser"});}throw new Error(`Error: subcommand "${results.subcommand}" does not allow options: "${argument}"`,{cause:"zod-args-parser"});}const option=(0,_parserHelpers.findOption)(argument,subcommandObj.options);if(!option){throw new Error(`Unknown option: "${argument}"`,{cause:"zod-args-parser"});}if(option.name in results.options){throw new Error(`Duplicated option: "${argument}"`,{cause:"zod-args-parser"});}const isTypeBoolean=(0,_zodUtils.isBooleanSchema)(option.type);const nextArg=argv[i+1];let optionValue=argWithEquals?argValue:nextArg;if(isTypeBoolean&&!argWithEquals){optionValue="true";}if(typeof optionValue==="undefined"){throw new Error(`Expected a value for "${argument}" but got nothing`,{cause:"zod-args-parser"});}if(!argWithEquals&&(0,_parserHelpers.isOptionArg)(optionValue)){throw new Error(`Expected a value for "${argument}" but got an argument "${nextArg}"`,{cause:"zod-args-parser"});}results.options[option.name]={name:option.name,schema:option.type,flag:argument,rawValue:optionValue.toString(),source:"cli"};if(!argWithEquals&&!isTypeBoolean){i++;}continue;}const subcommandObj=getSubcommandObj();if(subcommandObj?.arguments?.length){if(!results.arguments){results.arguments=[];}const currentArgCount=results.arguments.length;if(currentArgCount<subcommandObj.arguments.length){const argType=subcommandObj.arguments[currentArgCount].type;results.arguments.push({schema:argType,rawValue:arg,source:"cli"});continue;}}if(subcommandObj?.allowPositional){if(!results.positional){results.positional=[];}results.positional.push(arg);continue;}if(!results.subcommand){throw new Error(`Unexpected argument "${arg}": positional arguments are not allowed here`,{cause:"zod-args-parser"});}throw new Error(`Unexpected argument "${arg}": positional arguments are not allowed for subcommand "${results.subcommand}"`,{cause:"zod-args-parser"});}const subcommandObj=getSubcommandObj();if(!subcommandObj){throw new Error(`Unknown subcommand: "${results.subcommand}"`,{cause:"zod-args-parser"});}if(subcommandObj.options?.length){for(const option of subcommandObj.options){if(option.name in results.options)continue;const optional=(0,_zodUtils.isOptionalSchema)(option.type);const defaultValue=(0,_zodUtils.schemaDefaultValue)(option.type);if(optional){if(typeof defaultValue==="undefined"){continue;}results.options[option.name]={name:option.name,schema:option.type,source:"default"};continue;}throw new Error(`Missing required option: ${(0,_parserHelpers.transformOptionToArg)(option.name)}`,{cause:"zod-args-parser"});}}if(subcommandObj.arguments?.length){const currentArgCount=results.arguments?.length??0;const subcommandArgCount=subcommandObj.arguments.length;if(currentArgCount<subcommandArgCount){for(let i=currentArgCount;i<subcommandArgCount;i++){const argumentType=subcommandObj.arguments[i].type;const optional=(0,_zodUtils.isOptionalSchema)(argumentType);const defaultValue=(0,_zodUtils.schemaDefaultValue)(argumentType);if(optional){if(typeof defaultValue==="undefined"){continue;}if(!results.arguments)results.arguments=[];results.arguments.push({schema:argumentType,source:"default"});continue;}throw new Error(`the ${(0,_utils.generateOrdinalSuffix)(i)} argument is required: "${subcommandObj.arguments[i].name}"`,{cause:"zod-args-parser"});}}}return results;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","_zodUtils","_parserHelpers","parse","argv","params","subcommandArr","allSubcommands","Set","flatMap","c","name","aliases","decoupleFlags","results","subcommand","undefined","options","getSubcommandObj","findSubcommand","i","length","arg","has","subcommandObj","allowPositional","positional","arguments","argAndValue","split","filter","Boolean","argWithEquals","includes","argument","argValue","isOptionArg","isFlagArg","Error","cause","option","findOption","isTypeBoolean","isBooleanSchema","type","nextArg","optionValue","schema","flag","rawValue","toString","source","currentArgCount","argType","push","optional","isOptionalSchema","defaultValue","schemaDefaultValue","transformOptionToArg","subcommandArgCount","argumentType","generateOrdinalSuffix"],"sourceRoot":"../../../../src/parser/parse","sources":["parse.ts"],"sourcesContent":["import { generateOrdinalSuffix } from \"../../utils.js\";\nimport { isBooleanSchema, isOptionalSchema, schemaDefaultValue } from \"../../zod-utils.js\";\nimport {\n decoupleFlags,\n findOption,\n findSubcommand,\n isFlagArg,\n isOptionArg,\n transformOptionToArg,\n} from \"./parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../../types.js\";\nimport type { ParseCtx } from \"./parse-types.js\";\n\nexport function parse(argv: string[], ...params: [Cli, ...Subcommand[]]) {\n const subcommandArr = params as Subcommand[];\n const allSubcommands = new Set<string>(subcommandArr.flatMap(c => [c.name, ...(c.aliases || [])]));\n\n argv = decoupleFlags(argv); // decouple flags E.g. `-rf` -> `-r, -f`\n\n const results: ParseCtx = {\n subcommand: undefined,\n options: {},\n };\n\n /** - Get current subcommand object */\n const getSubcommandObj = () => findSubcommand(results.subcommand, subcommandArr);\n\n for (let i = 0; i < argv.length; i++) {\n const arg = argv[i];\n\n // * Subcommand check\n if (i === 0) {\n results.subcommand = allSubcommands.has(arg) ? arg : undefined;\n\n // add positional and arguments arrays\n const subcommandObj = getSubcommandObj();\n if (subcommandObj && subcommandObj.allowPositional) {\n results.positional = [];\n }\n\n if (subcommandObj && subcommandObj.arguments?.length) {\n results.arguments = [];\n }\n\n // First argument is a subcommand. Skip to the next argument\n if (results.subcommand) continue;\n }\n\n // * Option check\n\n // Check for `--option=value` or `--option value`\n const argAndValue = arg.split(\"=\").filter(Boolean);\n const argWithEquals = arg.includes(\"=\");\n const argument = argAndValue[0];\n const argValue: string | undefined = argAndValue[1];\n\n if (isOptionArg(argument)) {\n if (isFlagArg(argument) && argWithEquals) {\n throw new Error(`Flag arguments cannot be assigned using \"=\": \"${arg}\"`, { cause: \"zod-args-parser\" });\n }\n\n const subcommandObj = getSubcommandObj();\n if (!subcommandObj) {\n throw new Error(`Unknown subcommand: \"${results.subcommand}\"`, { cause: \"zod-args-parser\" });\n }\n\n if (!subcommandObj.options) {\n if (!results.subcommand) {\n throw new Error(`Error: options are not allowed here: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n throw new Error(`Error: subcommand \"${results.subcommand}\" does not allow options: \"${argument}\"`, {\n cause: \"zod-args-parser\",\n });\n }\n\n const option = findOption(argument, subcommandObj.options);\n if (!option) {\n throw new Error(`Unknown option: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n if (option.name in results.options) {\n throw new Error(`Duplicated option: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n const isTypeBoolean = isBooleanSchema(option.type);\n const nextArg = argv[i + 1];\n\n let optionValue: string | boolean = argWithEquals ? argValue : nextArg;\n\n // infer value for boolean options\n if (isTypeBoolean && !argWithEquals) {\n optionValue = \"true\";\n }\n\n if (typeof optionValue === \"undefined\") {\n throw new Error(`Expected a value for \"${argument}\" but got nothing`, { cause: \"zod-args-parser\" });\n }\n\n if (!argWithEquals && isOptionArg(optionValue)) {\n throw new Error(`Expected a value for \"${argument}\" but got an argument \"${nextArg}\"`, {\n cause: \"zod-args-parser\",\n });\n }\n\n results.options[option.name] = {\n name: option.name,\n schema: option.type,\n flag: argument,\n rawValue: optionValue.toString(),\n source: \"cli\",\n };\n\n // Skip to the next argument if it is the current option’s value.\n if (!argWithEquals && !isTypeBoolean) {\n i++;\n }\n\n continue;\n }\n\n const subcommandObj = getSubcommandObj();\n\n // * Arguments check\n if (subcommandObj?.arguments?.length) {\n if (!results.arguments) {\n results.arguments = [];\n }\n\n const currentArgCount = results.arguments.length;\n\n // Any extra arguments are possibly positional\n if (currentArgCount < subcommandObj.arguments.length) {\n const argType = subcommandObj.arguments[currentArgCount].type;\n results.arguments.push({\n schema: argType,\n rawValue: arg,\n source: \"cli\",\n });\n continue;\n }\n }\n\n // * Positional check\n if (subcommandObj?.allowPositional) {\n if (!results.positional) {\n results.positional = [];\n }\n\n results.positional.push(arg);\n continue;\n }\n\n // * Unexpected\n if (!results.subcommand) {\n throw new Error(`Unexpected argument \"${arg}\": positional arguments are not allowed here`, {\n cause: \"zod-args-parser\",\n });\n }\n\n throw new Error(\n `Unexpected argument \"${arg}\": positional arguments are not allowed for subcommand \"${results.subcommand}\"`,\n { cause: \"zod-args-parser\" },\n );\n }\n\n // * Check for missing options - set defaults - add `source`\n const subcommandObj = getSubcommandObj();\n if (!subcommandObj) {\n throw new Error(`Unknown subcommand: \"${results.subcommand}\"`, { cause: \"zod-args-parser\" });\n }\n\n // Options\n if (subcommandObj.options?.length) {\n for (const option of subcommandObj.options) {\n // option already exists\n if (option.name in results.options) continue;\n\n const optional = isOptionalSchema(option.type);\n const defaultValue = schemaDefaultValue(option.type);\n\n if (optional) {\n if (typeof defaultValue === \"undefined\") {\n continue;\n }\n\n results.options[option.name] = { name: option.name, schema: option.type, source: \"default\" };\n continue;\n }\n\n throw new Error(`Missing required option: ${transformOptionToArg(option.name)}`, { cause: \"zod-args-parser\" });\n }\n }\n\n // Arguments\n if (subcommandObj.arguments?.length) {\n const currentArgCount = results.arguments?.length ?? 0;\n const subcommandArgCount = subcommandObj.arguments.length;\n\n // missing arguments\n if (currentArgCount < subcommandArgCount) {\n for (let i = currentArgCount; i < subcommandArgCount; i++) {\n const argumentType = subcommandObj.arguments[i].type;\n const optional = isOptionalSchema(argumentType);\n const defaultValue = schemaDefaultValue(argumentType);\n\n if (optional) {\n if (typeof defaultValue === \"undefined\") {\n continue;\n }\n\n if (!results.arguments) results.arguments = [];\n\n results.arguments.push({ schema: argumentType, source: \"default\" });\n continue;\n }\n\n throw new Error(`the ${generateOrdinalSuffix(i)} argument is required: \"${subcommandObj.arguments[i].name}\"`, {\n cause: \"zod-args-parser\",\n });\n }\n }\n }\n\n return results;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.decoupleFlags=decoupleFlags;exports.findOption=findOption;exports.findSubcommand=findSubcommand;exports.isFlagArg=isFlagArg;exports.isOptionArg=isOptionArg;exports.negateOption=negateOption;exports.optionArgToVarNames=optionArgToVarNames;exports.transformOptionToArg=transformOptionToArg;function findSubcommand(subCmdName,subcommandArr){return subcommandArr.find(c=>{if(c.name===subCmdName){return true;}return subCmdName&&c.aliases&&c.aliases.includes(subCmdName);});}function findOption(optionArg,options){const validVarNames=optionArgToVarNames(optionArg);const isNegative=optionArg.startsWith("--no-");const option=options.find(o=>{if(validVarNames.has(o.name)){return true;}if(isNegative&&validVarNames.has(negateOption(o.name))){return true;}if(!o.aliases){return false;}if(o.aliases.some(a=>validVarNames.has(a))){return true;}if(isNegative&&o.aliases.map(negateOption).some(a=>validVarNames.has(a))){return true;}return false;});return option;}function decoupleFlags(args){const flagsRe=/^-[a-z0-9]{2,}$/i;const result=[];for(let i=0;i<args.length;i++){const arg=args[i];const isCoupled=flagsRe.test(arg);if(!isCoupled){result.push(arg);continue;}const decoupledArr=arg.substring(1).split("").map(c=>"-"+c);result.push(...decoupledArr);}return result;}function optionArgToVarNames(name){if(!name.startsWith("-")){throw new Error(`[parseArgOptionName] Invalid arg name: ${name}`,{cause:"zod-args-parser"});}name=name.startsWith("--")?name.substring(2):name.substring(1);name=name.toLowerCase();const results=new Set();const camelCase=name.replace(/-(.)/g,m=>m[1].toUpperCase());results.add(camelCase);results.add(camelCase.replace(/^(.)/,m=>m.toUpperCase()));const snake_case=name.replace(/-(.)/g,g=>"_"+g[1]);results.add(snake_case);results.add(snake_case.toUpperCase());return results;}function isFlagArg(name){return /^-[A-Za-z]$/.test(name);}function isLongArg(name){return /^--[A-Za-z-]+[A-Za-z0-9]$/.test(name);}function isOptionArg(name){if(typeof name!=="string"){return false;}return isFlagArg(name)||isLongArg(name);}function negateOption(name){if(name.length===1){return name;}return"no"+name.replace(/^[a-z]/,g=>g.toUpperCase());}function transformOptionToArg(name){if(name.length===1){return`-${name.toLowerCase()}`;}if(name.includes("_")||/[A-Z]+$/.test(name)){name=name.replace(/_/g,"-");return`--${name.toLowerCase()}`;}name=name.replace(/[A-Z]/g,(m,i)=>i?"-"+m:m);return`--${name.toLowerCase()}`;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["findSubcommand","subCmdName","subcommandArr","find","c","name","aliases","includes","findOption","optionArg","options","validVarNames","optionArgToVarNames","isNegative","startsWith","option","o","has","negateOption","some","a","map","decoupleFlags","args","flagsRe","result","i","length","arg","isCoupled","test","push","decoupledArr","substring","split","Error","cause","toLowerCase","results","Set","camelCase","replace","m","toUpperCase","add","snake_case","g","isFlagArg","isLongArg","isOptionArg","transformOptionToArg"],"sourceRoot":"../../../../src/parser/parse","sources":["parser-helpers.ts"],"sourcesContent":["import type { Option, Subcommand } from \"../../types.js\";\n\n/**\n * Retrieves a subcommand object from an array of subcommands by matching the provided subcommand name against the\n * subcommand's name or its aliases.\n *\n * @param subCmdName - The name or alias of the subcommand to search for.\n * @param subcommandArr - An array of `Subcommand` objects to search within.\n * @returns The matching `Subcommand` object if found; otherwise, `undefined`.\n */\nexport function findSubcommand(subCmdName: string | undefined, subcommandArr: Subcommand[]): Subcommand | undefined {\n return subcommandArr.find(c => {\n // match for undefined too\n if (c.name === subCmdName) {\n return true;\n }\n\n // match for aliases\n return subCmdName && c.aliases && c.aliases.includes(subCmdName);\n });\n}\n\n/**\n * Finds and returns an `Option` object from the provided list that matches the given argument string.\n *\n * The function supports matching by option name, aliases, and their negated forms (e.g., `--no-` prefix).\n *\n * @param optionArg - The argument string to match (e.g., `--foo`, `--no-bar`, `-f`).\n * @param options - An array of `Option` objects to search through.\n * @returns The matching `Option` object if found; otherwise, `undefined`.\n */\nexport function findOption(optionArg: string, options: [Option, ...Option[]]): Option | undefined {\n const validVarNames = optionArgToVarNames(optionArg);\n const isNegative = optionArg.startsWith(\"--no-\");\n\n const option = options.find(o => {\n if (validVarNames.has(o.name)) {\n return true;\n }\n\n if (isNegative && validVarNames.has(negateOption(o.name))) {\n return true;\n }\n\n if (!o.aliases) {\n return false;\n }\n\n if (o.aliases.some(a => validVarNames.has(a))) {\n return true;\n }\n\n if (isNegative && o.aliases.map(negateOption).some(a => validVarNames.has(a))) {\n return true;\n }\n\n return false;\n });\n\n return option;\n}\n\n/** - Decouple flags E.g. `-rf` -> `-r, -f` */\nexport function decoupleFlags(args: string[]): string[] {\n const flagsRe = /^-[a-z0-9]{2,}$/i;\n\n const result = [];\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n const isCoupled = flagsRe.test(arg);\n\n if (!isCoupled) {\n result.push(arg);\n continue;\n }\n\n const decoupledArr = arg\n .substring(1)\n .split(\"\")\n .map(c => \"-\" + c);\n\n result.push(...decoupledArr);\n }\n\n return result;\n}\n\n/**\n * - Transforms an option argument name to a valid JavaScript variable name\n *\n * @param name - Should start with `'--'` or `'-'`\n */\nexport function optionArgToVarNames(name: string): Set<string> {\n if (!name.startsWith(\"-\")) {\n throw new Error(`[parseArgOptionName] Invalid arg name: ${name}`, { cause: \"zod-args-parser\" });\n }\n\n name = name.startsWith(\"--\") ? name.substring(2) : name.substring(1); // remove prefix\n name = name.toLowerCase(); // lowercase\n\n const results = new Set<string>();\n\n // camelCase\n const camelCase = name.replace(/-(.)/g, m => m[1].toUpperCase());\n results.add(camelCase);\n\n // PascalCase (UpperCamelCase)\n results.add(camelCase.replace(/^(.)/, m => m.toUpperCase()));\n\n // snake_case\n const snake_case = name.replace(/-(.)/g, g => \"_\" + g[1]);\n results.add(snake_case);\n\n // SCREAMING_SNAKE_CASE\n results.add(snake_case.toUpperCase());\n\n return results;\n}\n\n/** - Check if an arg string is a short arg. E.g. `-i` -> `true` */\nexport function isFlagArg(name: string): boolean {\n return /^-[A-Za-z]$/.test(name);\n}\n\n/** - Check if an arg string is a long arg. E.g. `--input-dir` -> `true` */\nfunction isLongArg(name: string): boolean {\n return /^--[A-Za-z-]+[A-Za-z0-9]$/.test(name);\n}\n\n/** - Check if an arg string is an options arg. E.g. `--input-dir` -> `true` , `-i` -> `true` */\nexport function isOptionArg(name: string | boolean): boolean {\n if (typeof name !== \"string\") {\n return false;\n }\n\n return isFlagArg(name) || isLongArg(name);\n}\n\n/**\n * - Transform option name to no name. E.g. `include` -> `noInclude`\n * - For short name like `-i` it will be ignored\n */\nexport function negateOption(name: string): string {\n if (name.length === 1) {\n return name;\n }\n\n return \"no\" + name.replace(/^[a-z]/, g => g.toUpperCase());\n}\n\n/** - Reverse of `transformArg`. E.g. `InputDir` -> `--input-dir` , `i` -> `-i` */\nexport function transformOptionToArg(name: string): string {\n // single letter option name\n if (name.length === 1) {\n return `-${name.toLowerCase()}`;\n }\n\n // snake_case, SCREAMING_SNAKE_CASE\n if (name.includes(\"_\") || /[A-Z]+$/.test(name)) {\n name = name.replace(/_/g, \"-\");\n return `--${name.toLowerCase()}`;\n }\n\n // camelCase, PascalCase\n name = name.replace(/[A-Z]/g, (m, i) => (i ? \"-\" + m : m)); // add \"-\" before camel case letters except for the first letter\n return `--${name.toLowerCase()}`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.safeParse=safeParse;var help=_interopRequireWildcard(require("../help-message/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.safeParse=safeParse;exports.safeParseAsync=safeParseAsync;var help=_interopRequireWildcard(require("../help-message/format-cli.js"));var _parserHelpers=require("./parse/parser-helpers.js");var _unsafeParse=require("./unsafe-parse.js");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?o(f,t,i):f[t]=e[t]);return f;})(e,t);}function safeParse(argsv,...params){const cliOptions="cliName"in params[0]?params[0]:{};const subcommandArr=params;const printCliHelp=style=>help.printCliHelp(params,style);const printSubcommandHelp=(subCmdName,style)=>{const subcommand=(0,_parserHelpers.findSubcommand)(subCmdName,subcommandArr);if(!subcommand){return console.error(`Cannot print help for subcommand "${subCmdName}" as it does not exist`);}help.printSubcommandHelp(subcommand,style,cliOptions.cliName);};try{const data=(0,_unsafeParse.unsafeParse)(argsv,...params);delete data.printCliHelp;delete data.printSubcommandHelp;return{success:true,data:data,printCliHelp,printSubcommandHelp};}catch(e){if(!(e instanceof Error)||e.cause!=="zod-args-parser")throw e;return{success:false,error:e,printCliHelp,printSubcommandHelp};}}async function safeParseAsync(argsv,...params){const cliOptions="cliName"in params[0]?params[0]:{};const subcommandArr=params;const printCliHelp=style=>help.printCliHelp(params,style);const printSubcommandHelp=(subCmdName,style)=>{const subcommand=(0,_parserHelpers.findSubcommand)(subCmdName,subcommandArr);if(!subcommand){return console.error(`Cannot print help for subcommand "${subCmdName}" as it does not exist`);}help.printSubcommandHelp(subcommand,style,cliOptions.cliName);};try{const data=await(0,_unsafeParse.unsafeParseAsync)(argsv,...params);delete data.printCliHelp;delete data.printSubcommandHelp;return{success:true,data:data,printCliHelp,printSubcommandHelp};}catch(e){if(!(e instanceof Error)||e.cause!=="zod-args-parser")throw e;return{success:false,error:e,printCliHelp,printSubcommandHelp};}}
|