zod-args-parser 2.0.0-beta.0 → 2.0.0-beta.2
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/LICENSE +1 -0
- package/README.md +230 -289
- package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js +74 -2
- package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js.map +7 -1
- package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js +90 -2
- package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js.map +7 -1
- package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js +39 -13
- package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js.map +7 -1
- package/lib/esm/cli-error/cli-error.js +38 -0
- package/lib/esm/cli-error/cli-error.js.map +7 -0
- package/lib/esm/cli-error/error-cause.js +12 -0
- package/lib/esm/cli-error/error-cause.js.map +7 -0
- package/lib/esm/cli-error/error-code/definition-error-code.js +23 -0
- package/lib/esm/cli-error/error-code/definition-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/internal-error-code.js +10 -0
- package/lib/esm/cli-error/error-code/internal-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/parse-error-code.js +18 -0
- package/lib/esm/cli-error/error-code/parse-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/validation-error-code.js +17 -0
- package/lib/esm/cli-error/error-code/validation-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-message/definition-error-message.js +70 -0
- package/lib/esm/cli-error/error-message/definition-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/internal-error-message.js +16 -0
- package/lib/esm/cli-error/error-message/internal-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/parse-error-message.js +40 -0
- package/lib/esm/cli-error/error-message/parse-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/validation-error-message.js +60 -0
- package/lib/esm/cli-error/error-message/validation-error-message.js.map +7 -0
- package/lib/esm/coerce/coerce-methods.js +197 -2
- package/lib/esm/coerce/coerce-methods.js.map +7 -1
- package/lib/esm/coerce/string-to-array.js +17 -2
- package/lib/esm/coerce/string-to-array.js.map +7 -1
- package/lib/esm/coerce/string-to-primitive.js +73 -2
- package/lib/esm/coerce/string-to-primitive.js.map +7 -1
- package/lib/esm/coerce/string-to-set.js +17 -2
- package/lib/esm/coerce/string-to-set.js.map +7 -1
- package/lib/esm/definitions/define-arguments.js +10 -2
- package/lib/esm/definitions/define-arguments.js.map +7 -1
- package/lib/esm/definitions/define-cli.js +89 -2
- package/lib/esm/definitions/define-cli.js.map +7 -1
- package/lib/esm/definitions/define-options.js +10 -2
- package/lib/esm/definitions/define-options.js.map +7 -1
- package/lib/esm/definitions/define-subcommand.js +56 -2
- package/lib/esm/definitions/define-subcommand.js.map +7 -1
- package/lib/esm/definitions/validate-cli-definition.js +360 -2
- package/lib/esm/definitions/validate-cli-definition.js.map +7 -1
- package/lib/esm/help-message/format-arguments.js +48 -2
- package/lib/esm/help-message/format-arguments.js.map +7 -1
- package/lib/esm/help-message/format-options.js +50 -2
- package/lib/esm/help-message/format-options.js.map +7 -1
- package/lib/esm/help-message/format-subcommands.js +37 -2
- package/lib/esm/help-message/format-subcommands.js.map +7 -1
- package/lib/esm/help-message/generate-for-cli.js +71 -2
- package/lib/esm/help-message/generate-for-cli.js.map +7 -1
- package/lib/esm/help-message/generate-for-subcommand.js +23 -2
- package/lib/esm/help-message/generate-for-subcommand.js.map +7 -1
- package/lib/esm/help-message/print-help.js +14 -2
- package/lib/esm/help-message/print-help.js.map +7 -1
- package/lib/esm/help-message/set-defaults.js +29 -2
- package/lib/esm/help-message/set-defaults.js.map +7 -1
- package/lib/esm/help-message/styles.js +154 -2
- package/lib/esm/help-message/styles.js.map +7 -1
- package/lib/esm/help-message/terminal-markdown.js +121 -2
- package/lib/esm/help-message/terminal-markdown.js.map +7 -1
- package/lib/esm/index.js +52 -2
- package/lib/esm/index.js.map +7 -1
- package/lib/esm/markdown/generate-markdown.js +153 -2
- package/lib/esm/markdown/generate-markdown.js.map +7 -1
- package/lib/esm/metadata/arguments-metadata.js +26 -2
- package/lib/esm/metadata/arguments-metadata.js.map +7 -1
- package/lib/esm/metadata/cli-metadata.js +24 -2
- package/lib/esm/metadata/cli-metadata.js.map +7 -1
- package/lib/esm/metadata/options-metadata.js +35 -2
- package/lib/esm/metadata/options-metadata.js.map +7 -1
- package/lib/esm/metadata/subcommands-metadata.js +32 -2
- package/lib/esm/metadata/subcommands-metadata.js.map +7 -1
- package/lib/esm/parse/context/cli-context-builder.js +283 -2
- package/lib/esm/parse/context/cli-context-builder.js.map +7 -1
- package/lib/esm/parse/context/object-context-builder.js +62 -2
- package/lib/esm/parse/context/object-context-builder.js.map +7 -1
- package/lib/esm/parse/parser-utilities.js +108 -2
- package/lib/esm/parse/parser-utilities.js.map +7 -1
- package/lib/esm/parse/safe-parse.js +57 -2
- package/lib/esm/parse/safe-parse.js.map +7 -1
- package/lib/esm/parse/validation/validate-context.js +17 -2
- package/lib/esm/parse/validation/validate-context.js.map +7 -1
- package/lib/esm/parse/validation/validators/arguments.js +67 -2
- package/lib/esm/parse/validation/validators/arguments.js.map +7 -1
- package/lib/esm/parse/validation/validators/conflict.js +38 -2
- package/lib/esm/parse/validation/validators/conflict.js.map +7 -1
- package/lib/esm/parse/validation/validators/exclusive.js +39 -2
- package/lib/esm/parse/validation/validators/exclusive.js.map +7 -1
- package/lib/esm/parse/validation/validators/explicitly-passed.js +18 -2
- package/lib/esm/parse/validation/validators/explicitly-passed.js.map +7 -1
- package/lib/esm/parse/validation/validators/options.js +67 -2
- package/lib/esm/parse/validation/validators/options.js.map +7 -1
- package/lib/esm/parse/validation/validators/requires.js +43 -2
- package/lib/esm/parse/validation/validators/requires.js.map +7 -1
- package/lib/esm/utilities/parse-argv.js +61 -0
- package/lib/esm/utilities/parse-argv.js.map +7 -0
- package/lib/esm/utilities/schema-utilities.js +57 -0
- package/lib/esm/utilities/schema-utilities.js.map +7 -0
- package/lib/esm/utilities/utilities.js +122 -0
- package/lib/esm/utilities/utilities.js.map +7 -0
- package/lib/iife/index.js +1 -1
- package/lib/iife/index.js.map +1 -1
- package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs +74 -2
- package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs +90 -2
- package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs +39 -13
- package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/cli-error/cli-error.mjs +38 -0
- package/lib/mjs/cli-error/cli-error.mjs.map +7 -0
- package/lib/mjs/cli-error/error-cause.mjs +12 -0
- package/lib/mjs/cli-error/error-cause.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/definition-error-code.mjs +23 -0
- package/lib/mjs/cli-error/error-code/definition-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/internal-error-code.mjs +10 -0
- package/lib/mjs/cli-error/error-code/internal-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/parse-error-code.mjs +18 -0
- package/lib/mjs/cli-error/error-code/parse-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/validation-error-code.mjs +17 -0
- package/lib/mjs/cli-error/error-code/validation-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/definition-error-message.mjs +70 -0
- package/lib/mjs/cli-error/error-message/definition-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/internal-error-message.mjs +16 -0
- package/lib/mjs/cli-error/error-message/internal-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/parse-error-message.mjs +40 -0
- package/lib/mjs/cli-error/error-message/parse-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/validation-error-message.mjs +60 -0
- package/lib/mjs/cli-error/error-message/validation-error-message.mjs.map +7 -0
- package/lib/mjs/coerce/coerce-methods.mjs +197 -2
- package/lib/mjs/coerce/coerce-methods.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-array.mjs +17 -2
- package/lib/mjs/coerce/string-to-array.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-primitive.mjs +73 -2
- package/lib/mjs/coerce/string-to-primitive.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-set.mjs +17 -2
- package/lib/mjs/coerce/string-to-set.mjs.map +7 -1
- package/lib/mjs/definitions/define-arguments.mjs +10 -2
- package/lib/mjs/definitions/define-arguments.mjs.map +7 -1
- package/lib/mjs/definitions/define-cli.mjs +89 -2
- package/lib/mjs/definitions/define-cli.mjs.map +7 -1
- package/lib/mjs/definitions/define-options.mjs +10 -2
- package/lib/mjs/definitions/define-options.mjs.map +7 -1
- package/lib/mjs/definitions/define-subcommand.mjs +56 -2
- package/lib/mjs/definitions/define-subcommand.mjs.map +7 -1
- package/lib/mjs/definitions/validate-cli-definition.mjs +360 -2
- package/lib/mjs/definitions/validate-cli-definition.mjs.map +7 -1
- package/lib/mjs/help-message/format-arguments.mjs +48 -2
- package/lib/mjs/help-message/format-arguments.mjs.map +7 -1
- package/lib/mjs/help-message/format-options.mjs +50 -2
- package/lib/mjs/help-message/format-options.mjs.map +7 -1
- package/lib/mjs/help-message/format-subcommands.mjs +37 -2
- package/lib/mjs/help-message/format-subcommands.mjs.map +7 -1
- package/lib/mjs/help-message/generate-for-cli.mjs +71 -2
- package/lib/mjs/help-message/generate-for-cli.mjs.map +7 -1
- package/lib/mjs/help-message/generate-for-subcommand.mjs +23 -2
- package/lib/mjs/help-message/generate-for-subcommand.mjs.map +7 -1
- package/lib/mjs/help-message/print-help.mjs +14 -2
- package/lib/mjs/help-message/print-help.mjs.map +7 -1
- package/lib/mjs/help-message/set-defaults.mjs +29 -2
- package/lib/mjs/help-message/set-defaults.mjs.map +7 -1
- package/lib/mjs/help-message/styles.mjs +154 -2
- package/lib/mjs/help-message/styles.mjs.map +7 -1
- package/lib/mjs/help-message/terminal-markdown.mjs +121 -2
- package/lib/mjs/help-message/terminal-markdown.mjs.map +7 -1
- package/lib/mjs/index.mjs +52 -2
- package/lib/mjs/index.mjs.map +7 -1
- package/lib/mjs/markdown/generate-markdown.mjs +153 -2
- package/lib/mjs/markdown/generate-markdown.mjs.map +7 -1
- package/lib/mjs/metadata/arguments-metadata.mjs +26 -2
- package/lib/mjs/metadata/arguments-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/cli-metadata.mjs +24 -2
- package/lib/mjs/metadata/cli-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/options-metadata.mjs +35 -2
- package/lib/mjs/metadata/options-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/subcommands-metadata.mjs +32 -2
- package/lib/mjs/metadata/subcommands-metadata.mjs.map +7 -1
- package/lib/mjs/parse/context/cli-context-builder.mjs +283 -2
- package/lib/mjs/parse/context/cli-context-builder.mjs.map +7 -1
- package/lib/mjs/parse/context/object-context-builder.mjs +62 -2
- package/lib/mjs/parse/context/object-context-builder.mjs.map +7 -1
- package/lib/mjs/parse/parser-utilities.mjs +108 -2
- package/lib/mjs/parse/parser-utilities.mjs.map +7 -1
- package/lib/mjs/parse/safe-parse.mjs +57 -2
- package/lib/mjs/parse/safe-parse.mjs.map +7 -1
- package/lib/mjs/parse/validation/validate-context.mjs +17 -2
- package/lib/mjs/parse/validation/validate-context.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/arguments.mjs +67 -2
- package/lib/mjs/parse/validation/validators/arguments.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/conflict.mjs +38 -2
- package/lib/mjs/parse/validation/validators/conflict.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/exclusive.mjs +39 -2
- package/lib/mjs/parse/validation/validators/exclusive.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/explicitly-passed.mjs +18 -2
- package/lib/mjs/parse/validation/validators/explicitly-passed.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/options.mjs +67 -2
- package/lib/mjs/parse/validation/validators/options.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/requires.mjs +43 -2
- package/lib/mjs/parse/validation/validators/requires.mjs.map +7 -1
- package/lib/mjs/utilities/parse-argv.mjs +61 -0
- package/lib/mjs/utilities/parse-argv.mjs.map +7 -0
- package/lib/mjs/utilities/schema-utilities.mjs +57 -0
- package/lib/mjs/utilities/schema-utilities.mjs.map +7 -0
- package/lib/mjs/utilities/utilities.mjs +122 -0
- package/lib/mjs/utilities/utilities.mjs.map +7 -0
- package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
- package/lib/types/autocomplete-scripts/powershell-autocomplete-script.d.ts +15 -0
- package/lib/{typescript → types}/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
- package/lib/types/autocomplete-scripts/zsh-autocomplete-script.d.ts +4 -0
- package/lib/{typescript → types}/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
- package/lib/types/cli-error/cli-error.d.ts +152 -0
- package/lib/types/cli-error/cli-error.d.ts.map +1 -0
- package/lib/types/cli-error/error-cause.d.ts +5 -0
- package/lib/types/cli-error/error-cause.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/definition-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/definition-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/internal-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/internal-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/parse-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/parse-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/validation-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/validation-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/definition-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/definition-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/internal-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/internal-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/parse-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/parse-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/validation-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/validation-error-message.d.ts.map +1 -0
- package/lib/types/coerce/coerce-methods.d.ts +122 -0
- package/lib/types/coerce/coerce-methods.d.ts.map +1 -0
- package/lib/{typescript → types}/coerce/string-to-array.d.ts +2 -2
- package/lib/types/coerce/string-to-array.d.ts.map +1 -0
- package/lib/types/coerce/string-to-primitive.d.ts +21 -0
- package/lib/types/coerce/string-to-primitive.d.ts.map +1 -0
- package/lib/{typescript → types}/coerce/string-to-set.d.ts +2 -2
- package/lib/{typescript → types}/coerce/string-to-set.d.ts.map +1 -1
- package/lib/{typescript → types}/definitions/define-cli.d.ts +2 -6
- package/lib/types/definitions/define-cli.d.ts.map +1 -0
- package/lib/{typescript → types}/definitions/define-subcommand.d.ts +2 -4
- package/lib/types/definitions/define-subcommand.d.ts.map +1 -0
- package/lib/{typescript → types}/definitions/validate-cli-definition.d.ts +1 -1
- package/lib/types/definitions/validate-cli-definition.d.ts.map +1 -0
- package/lib/{typescript → types}/help-message/terminal-markdown.d.ts.map +1 -1
- package/lib/{typescript → types}/index.d.ts +7 -0
- package/lib/{typescript → types}/index.d.ts.map +1 -1
- package/lib/{typescript → types}/metadata/arguments-metadata.d.ts.map +1 -1
- package/lib/{typescript → types}/metadata/options-metadata.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts +1 -1
- package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/context/object-context-builder.d.ts +1 -1
- package/lib/types/parse/context/object-context-builder.d.ts.map +1 -0
- package/lib/{typescript → types}/parse/parser-utilities.d.ts +9 -0
- package/lib/{typescript → types}/parse/parser-utilities.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/safe-parse.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validate-context.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validate-context.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/options.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validators/options.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/requires.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/requires.d.ts.map +1 -1
- package/lib/{typescript → types}/types/definitions-types.d.ts +35 -4
- package/lib/types/types/definitions-types.d.ts.map +1 -0
- package/lib/types/types/error-types.d.ts +275 -0
- package/lib/types/types/error-types.d.ts.map +1 -0
- package/lib/{typescript → types}/types/io-types.d.ts +1 -1
- package/lib/types/types/types.d.ts +146 -0
- package/lib/types/types/types.d.ts.map +1 -0
- package/lib/{typescript → types}/types/utilities-types.d.ts +0 -2
- package/lib/{typescript → types}/types/utilities-types.d.ts.map +1 -1
- package/lib/types/utilities/parse-argv.d.ts +3 -0
- package/lib/types/utilities/parse-argv.d.ts.map +1 -0
- package/lib/types/utilities/schema-utilities.d.ts +15 -0
- package/lib/types/utilities/schema-utilities.d.ts.map +1 -0
- package/lib/{typescript → types/utilities}/utilities.d.ts +12 -15
- package/lib/types/utilities/utilities.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/autocomplete-scripts/bash-autocomplete-script.ts +14 -12
- package/src/autocomplete-scripts/powershell-autocomplete-script.ts +67 -33
- package/src/autocomplete-scripts/zsh-autocomplete-script.ts +39 -31
- package/src/cli-error/cli-error.ts +44 -0
- package/src/cli-error/error-cause.ts +10 -0
- package/src/cli-error/error-code/definition-error-code.ts +21 -0
- package/src/cli-error/error-code/internal-error-code.ts +8 -0
- package/src/cli-error/error-code/parse-error-code.ts +16 -0
- package/src/cli-error/error-code/validation-error-code.ts +15 -0
- package/src/cli-error/error-message/definition-error-message.ts +144 -0
- package/src/cli-error/error-message/internal-error-message.ts +19 -0
- package/src/cli-error/error-message/parse-error-message.ts +76 -0
- package/src/cli-error/error-message/validation-error-message.ts +104 -0
- package/src/coerce/coerce-methods.ts +194 -39
- package/src/coerce/string-to-array.ts +2 -2
- package/src/coerce/string-to-primitive.ts +72 -13
- package/src/coerce/string-to-set.ts +2 -2
- package/src/definitions/define-arguments.ts +1 -1
- package/src/definitions/define-cli.ts +65 -30
- package/src/definitions/define-options.ts +1 -1
- package/src/definitions/define-subcommand.ts +47 -17
- package/src/definitions/validate-cli-definition.ts +287 -172
- package/src/help-message/format-arguments.ts +1 -1
- package/src/help-message/format-options.ts +1 -1
- package/src/help-message/format-subcommands.ts +1 -1
- package/src/help-message/generate-for-cli.ts +1 -1
- package/src/help-message/terminal-markdown.ts +3 -4
- package/src/index.ts +16 -0
- package/src/markdown/generate-markdown.ts +5 -4
- package/src/metadata/arguments-metadata.ts +2 -1
- package/src/metadata/options-metadata.ts +2 -1
- package/src/parse/context/cli-context-builder.ts +166 -39
- package/src/parse/context/object-context-builder.ts +37 -11
- package/src/parse/parser-utilities.ts +24 -10
- package/src/parse/safe-parse.ts +3 -6
- package/src/parse/validation/validate-context.ts +1 -1
- package/src/parse/validation/validators/arguments.ts +42 -14
- package/src/parse/validation/validators/conflict.ts +11 -20
- package/src/parse/validation/validators/exclusive.ts +16 -25
- package/src/parse/validation/validators/options.ts +40 -12
- package/src/parse/validation/validators/requires.ts +11 -20
- package/src/types/definitions-types.ts +36 -8
- package/src/types/error-types.ts +326 -0
- package/src/types/io-types.ts +1 -1
- package/src/types/types.ts +100 -7
- package/src/types/utilities-types.ts +0 -10
- package/src/utilities/parse-argv.ts +79 -0
- package/src/utilities/schema-utilities.ts +72 -0
- package/src/{utilities.ts → utilities/utilities.ts} +25 -138
- package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs +0 -2
- package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs +0 -2
- package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs +0 -42
- package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/coerce/coerce-methods.cjs +0 -2
- package/lib/cjs/coerce/coerce-methods.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-array.cjs +0 -2
- package/lib/cjs/coerce/string-to-array.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-primitive.cjs +0 -2
- package/lib/cjs/coerce/string-to-primitive.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-set.cjs +0 -2
- package/lib/cjs/coerce/string-to-set.cjs.map +0 -1
- package/lib/cjs/definitions/define-arguments.cjs +0 -2
- package/lib/cjs/definitions/define-arguments.cjs.map +0 -1
- package/lib/cjs/definitions/define-cli.cjs +0 -2
- package/lib/cjs/definitions/define-cli.cjs.map +0 -1
- package/lib/cjs/definitions/define-options.cjs +0 -2
- package/lib/cjs/definitions/define-options.cjs.map +0 -1
- package/lib/cjs/definitions/define-subcommand.cjs +0 -2
- package/lib/cjs/definitions/define-subcommand.cjs.map +0 -1
- package/lib/cjs/definitions/validate-cli-definition.cjs +0 -2
- package/lib/cjs/definitions/validate-cli-definition.cjs.map +0 -1
- package/lib/cjs/help-message/format-arguments.cjs +0 -2
- package/lib/cjs/help-message/format-arguments.cjs.map +0 -1
- package/lib/cjs/help-message/format-options.cjs +0 -2
- package/lib/cjs/help-message/format-options.cjs.map +0 -1
- package/lib/cjs/help-message/format-subcommands.cjs +0 -2
- package/lib/cjs/help-message/format-subcommands.cjs.map +0 -1
- package/lib/cjs/help-message/generate-for-cli.cjs +0 -2
- package/lib/cjs/help-message/generate-for-cli.cjs.map +0 -1
- package/lib/cjs/help-message/generate-for-subcommand.cjs +0 -2
- package/lib/cjs/help-message/generate-for-subcommand.cjs.map +0 -1
- package/lib/cjs/help-message/print-help.cjs +0 -2
- package/lib/cjs/help-message/print-help.cjs.map +0 -1
- package/lib/cjs/help-message/set-defaults.cjs +0 -2
- package/lib/cjs/help-message/set-defaults.cjs.map +0 -1
- package/lib/cjs/help-message/styles.cjs +0 -2
- package/lib/cjs/help-message/styles.cjs.map +0 -1
- package/lib/cjs/help-message/terminal-markdown.cjs +0 -2
- package/lib/cjs/help-message/terminal-markdown.cjs.map +0 -1
- package/lib/cjs/index.cjs +0 -2
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/markdown/generate-markdown.cjs +0 -2
- package/lib/cjs/markdown/generate-markdown.cjs.map +0 -1
- package/lib/cjs/metadata/arguments-metadata.cjs +0 -2
- package/lib/cjs/metadata/arguments-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/cli-metadata.cjs +0 -2
- package/lib/cjs/metadata/cli-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/options-metadata.cjs +0 -2
- package/lib/cjs/metadata/options-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/subcommands-metadata.cjs +0 -2
- package/lib/cjs/metadata/subcommands-metadata.cjs.map +0 -1
- package/lib/cjs/parse/context/cli-context-builder.cjs +0 -2
- package/lib/cjs/parse/context/cli-context-builder.cjs.map +0 -1
- package/lib/cjs/parse/context/object-context-builder.cjs +0 -2
- package/lib/cjs/parse/context/object-context-builder.cjs.map +0 -1
- package/lib/cjs/parse/parser-utilities.cjs +0 -2
- package/lib/cjs/parse/parser-utilities.cjs.map +0 -1
- package/lib/cjs/parse/safe-parse.cjs +0 -2
- package/lib/cjs/parse/safe-parse.cjs.map +0 -1
- package/lib/cjs/parse/validation/validate-context.cjs +0 -2
- package/lib/cjs/parse/validation/validate-context.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/arguments.cjs +0 -2
- package/lib/cjs/parse/validation/validators/arguments.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/conflict.cjs +0 -2
- package/lib/cjs/parse/validation/validators/conflict.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/exclusive.cjs +0 -2
- package/lib/cjs/parse/validation/validators/exclusive.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/explicitly-passed.cjs +0 -2
- package/lib/cjs/parse/validation/validators/explicitly-passed.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/options.cjs +0 -2
- package/lib/cjs/parse/validation/validators/options.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/requires.cjs +0 -2
- package/lib/cjs/parse/validation/validators/requires.cjs.map +0 -1
- package/lib/cjs/utilities.cjs +0 -2
- package/lib/cjs/utilities.cjs.map +0 -1
- package/lib/esm/utilities.js +0 -2
- package/lib/esm/utilities.js.map +0 -1
- package/lib/mjs/utilities.mjs +0 -2
- package/lib/mjs/utilities.mjs.map +0 -1
- package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +0 -14
- package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +0 -11
- package/lib/typescript/coerce/coerce-methods.d.ts +0 -20
- package/lib/typescript/coerce/coerce-methods.d.ts.map +0 -1
- package/lib/typescript/coerce/string-to-array.d.ts.map +0 -1
- package/lib/typescript/coerce/string-to-primitive.d.ts +0 -5
- package/lib/typescript/coerce/string-to-primitive.d.ts.map +0 -1
- package/lib/typescript/definitions/define-cli.d.ts.map +0 -1
- package/lib/typescript/definitions/define-subcommand.d.ts.map +0 -1
- package/lib/typescript/definitions/validate-cli-definition.d.ts.map +0 -1
- package/lib/typescript/parse/context/object-context-builder.d.ts.map +0 -1
- package/lib/typescript/types/definitions-types.d.ts.map +0 -1
- package/lib/typescript/types/types.d.ts +0 -61
- package/lib/typescript/types/types.d.ts.map +0 -1
- package/lib/typescript/utilities.d.ts.map +0 -1
- /package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-arguments.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-arguments.d.ts.map +0 -0
- /package/lib/{typescript → types}/definitions/define-options.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-options.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-arguments.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-arguments.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-options.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-options.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-subcommands.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-subcommands.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/print-help.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/print-help.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/set-defaults.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/set-defaults.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/styles.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/styles.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/terminal-markdown.d.ts +0 -0
- /package/lib/{typescript → types}/markdown/generate-markdown.d.ts +0 -0
- /package/lib/{typescript → types}/markdown/generate-markdown.d.ts.map +0 -0
- /package/lib/{typescript → types}/metadata/arguments-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/cli-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/cli-metadata.d.ts.map +0 -0
- /package/lib/{typescript → types}/metadata/options-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts.map +0 -0
- /package/lib/{typescript → types}/parse/safe-parse.d.ts +0 -0
- /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts +0 -0
- /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/context-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/context-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/help-message-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/help-message-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/io-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/metadata-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/metadata-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/schema-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/schema-types.d.ts.map +0 -0
|
@@ -1,2 +1,154 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/help-message/styles.ts
|
|
2
|
+
import c from "chalk";
|
|
3
|
+
var HelpMessageStyle = class _HelpMessageStyle {
|
|
4
|
+
static noColor = (...text) => text.join(" ");
|
|
5
|
+
title = _HelpMessageStyle.noColor;
|
|
6
|
+
description = _HelpMessageStyle.noColor;
|
|
7
|
+
default = _HelpMessageStyle.noColor;
|
|
8
|
+
optional = _HelpMessageStyle.noColor;
|
|
9
|
+
exampleTitle = _HelpMessageStyle.noColor;
|
|
10
|
+
example = _HelpMessageStyle.noColor;
|
|
11
|
+
command = _HelpMessageStyle.noColor;
|
|
12
|
+
option = _HelpMessageStyle.noColor;
|
|
13
|
+
argument = _HelpMessageStyle.noColor;
|
|
14
|
+
placeholder = _HelpMessageStyle.noColor;
|
|
15
|
+
punctuation = _HelpMessageStyle.noColor;
|
|
16
|
+
constructor(style, baseStyle) {
|
|
17
|
+
if (baseStyle) {
|
|
18
|
+
Object.assign(this, baseStyle);
|
|
19
|
+
}
|
|
20
|
+
Object.assign(this, style);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var helpMessageStyles = Object.freeze({
|
|
24
|
+
default: new HelpMessageStyle({
|
|
25
|
+
title: c.bold.blue,
|
|
26
|
+
description: c.white,
|
|
27
|
+
default: c.dim.italic,
|
|
28
|
+
optional: c.dim.italic,
|
|
29
|
+
exampleTitle: c.yellow,
|
|
30
|
+
example: c.dim,
|
|
31
|
+
command: c.yellow,
|
|
32
|
+
option: c.cyan,
|
|
33
|
+
argument: c.green,
|
|
34
|
+
placeholder: c.hex("#FF9800"),
|
|
35
|
+
punctuation: c.white.dim
|
|
36
|
+
}),
|
|
37
|
+
dracula: new HelpMessageStyle({
|
|
38
|
+
title: c.bold.hex("#BD93F9"),
|
|
39
|
+
description: c.hex("#F8F8F2"),
|
|
40
|
+
default: c.italic.hex("#6272A4"),
|
|
41
|
+
optional: c.italic.hex("#6272A4"),
|
|
42
|
+
exampleTitle: c.hex("#FFB86C"),
|
|
43
|
+
example: c.hex("#6272A4"),
|
|
44
|
+
command: c.hex("#50FA7B"),
|
|
45
|
+
option: c.hex("#8BE9FD"),
|
|
46
|
+
argument: c.hex("#FF79C6"),
|
|
47
|
+
placeholder: c.hex("#F1FA8C"),
|
|
48
|
+
punctuation: c.hex("#6272A4")
|
|
49
|
+
}),
|
|
50
|
+
solarizedDark: new HelpMessageStyle({
|
|
51
|
+
title: c.bold.hex("#268BD2"),
|
|
52
|
+
description: c.hex("#93A1A1"),
|
|
53
|
+
default: c.italic.hex("#586E75"),
|
|
54
|
+
optional: c.italic.hex("#586E75"),
|
|
55
|
+
exampleTitle: c.hex("#B58900"),
|
|
56
|
+
example: c.hex("#586E75"),
|
|
57
|
+
command: c.hex("#2AA198"),
|
|
58
|
+
option: c.hex("#268BD2"),
|
|
59
|
+
argument: c.hex("#859900"),
|
|
60
|
+
placeholder: c.hex("#CB4B16"),
|
|
61
|
+
punctuation: c.hex("#657B83")
|
|
62
|
+
}),
|
|
63
|
+
nord: new HelpMessageStyle({
|
|
64
|
+
title: c.bold.hex("#81A1C1"),
|
|
65
|
+
description: c.hex("#D8DEE9"),
|
|
66
|
+
default: c.italic.hex("#4C566A"),
|
|
67
|
+
optional: c.italic.hex("#4C566A"),
|
|
68
|
+
exampleTitle: c.hex("#EBCB8B"),
|
|
69
|
+
example: c.hex("#4C566A"),
|
|
70
|
+
command: c.hex("#A3BE8C"),
|
|
71
|
+
option: c.hex("#88C0D0"),
|
|
72
|
+
argument: c.hex("#BF616A"),
|
|
73
|
+
placeholder: c.hex("#D08770"),
|
|
74
|
+
punctuation: c.hex("#4C566A")
|
|
75
|
+
}),
|
|
76
|
+
/**
|
|
77
|
+
* - Wrap the output in a <pre> element to preserve whitespace.
|
|
78
|
+
* - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.
|
|
79
|
+
*/
|
|
80
|
+
html: new HelpMessageStyle({
|
|
81
|
+
title: (...string) => `<span style="color: #89dceb; font-weight: bold;">${escapeHTML(string.join(" "))}</span>`,
|
|
82
|
+
description: (...string) => `<span style="color: #cdd6e8;">${escapeHTML(string.join(" "))}</span>`,
|
|
83
|
+
default: (...string) => `<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,
|
|
84
|
+
optional: (...string) => `<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,
|
|
85
|
+
exampleTitle: (...string) => `<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,
|
|
86
|
+
example: (...string) => `<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`,
|
|
87
|
+
command: (...string) => `<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,
|
|
88
|
+
option: (...string) => `<span style="color: #17b85d;">${escapeHTML(string.join(" "))}</span>`,
|
|
89
|
+
argument: (...string) => `<span style="color: #00ff00;">${escapeHTML(string.join(" "))}</span>`,
|
|
90
|
+
placeholder: (...string) => `<span style="color: #db9518;">${escapeHTML(string.join(" "))}</span>`,
|
|
91
|
+
punctuation: (...string) => `<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`
|
|
92
|
+
}),
|
|
93
|
+
gruvboxDark: new HelpMessageStyle({
|
|
94
|
+
title: c.bold.hex("#FABD2F"),
|
|
95
|
+
description: c.hex("#EBDBB2"),
|
|
96
|
+
default: c.italic.hex("#928374"),
|
|
97
|
+
optional: c.italic.hex("#928374"),
|
|
98
|
+
exampleTitle: c.hex("#FE8019"),
|
|
99
|
+
example: c.hex("#928374"),
|
|
100
|
+
command: c.hex("#B8BB26"),
|
|
101
|
+
option: c.hex("#83A598"),
|
|
102
|
+
argument: c.hex("#D3869B"),
|
|
103
|
+
placeholder: c.hex("#FB4934"),
|
|
104
|
+
punctuation: c.hex("#928374")
|
|
105
|
+
}),
|
|
106
|
+
monokai: new HelpMessageStyle({
|
|
107
|
+
title: c.bold.hex("#AE81FF"),
|
|
108
|
+
description: c.hex("#F8F8F2"),
|
|
109
|
+
default: c.italic.hex("#75715E"),
|
|
110
|
+
optional: c.italic.hex("#75715E"),
|
|
111
|
+
exampleTitle: c.hex("#FD971F"),
|
|
112
|
+
example: c.hex("#75715E"),
|
|
113
|
+
command: c.hex("#A6E22E"),
|
|
114
|
+
option: c.hex("#66D9EF"),
|
|
115
|
+
argument: c.hex("#F92672"),
|
|
116
|
+
placeholder: c.hex("#E6DB74"),
|
|
117
|
+
punctuation: c.hex("#75715E")
|
|
118
|
+
}),
|
|
119
|
+
oneDark: new HelpMessageStyle({
|
|
120
|
+
title: c.bold.hex("#61AFEF"),
|
|
121
|
+
description: c.hex("#ABB2BF"),
|
|
122
|
+
default: c.italic.hex("#5C6370"),
|
|
123
|
+
optional: c.italic.hex("#5C6370"),
|
|
124
|
+
exampleTitle: c.hex("#E5C07B"),
|
|
125
|
+
example: c.hex("#5C6370"),
|
|
126
|
+
command: c.hex("#98C379"),
|
|
127
|
+
option: c.hex("#56B6C2"),
|
|
128
|
+
argument: c.hex("#E06C75"),
|
|
129
|
+
placeholder: c.hex("#C678DD"),
|
|
130
|
+
punctuation: c.hex("#5C6370")
|
|
131
|
+
}),
|
|
132
|
+
catppuccin: new HelpMessageStyle({
|
|
133
|
+
title: c.bold.hex("#89B4FA"),
|
|
134
|
+
description: c.hex("#CDD6F4"),
|
|
135
|
+
default: c.italic.hex("#6C7086"),
|
|
136
|
+
optional: c.italic.hex("#6C7086"),
|
|
137
|
+
exampleTitle: c.hex("#F9E2AF"),
|
|
138
|
+
example: c.hex("#6C7086"),
|
|
139
|
+
command: c.hex("#A6E3A1"),
|
|
140
|
+
option: c.hex("#94E2D5"),
|
|
141
|
+
argument: c.hex("#F38BA8"),
|
|
142
|
+
placeholder: c.hex("#FAB387"),
|
|
143
|
+
punctuation: c.hex("#585B70")
|
|
144
|
+
}),
|
|
145
|
+
noColors: new HelpMessageStyle({})
|
|
146
|
+
});
|
|
147
|
+
function escapeHTML(string) {
|
|
148
|
+
return string.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
HelpMessageStyle,
|
|
152
|
+
helpMessageStyles
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"names":["c","_HelpMessageStyle","constructor","style","baseStyle","__publicField","this","noColor","Object","assign","text","join","HelpMessageStyle","helpMessageStyles","freeze","default","title","bold","blue","description","white","dim","italic","optional","exampleTitle","yellow","example","command","option","cyan","argument","green","placeholder","hex","punctuation","dracula","solarizedDark","nord","html","string","escapeHTML","gruvboxDark","monokai","oneDark","catppuccin","noColors","replace"],"sources":["../../../src/help-message/styles.ts"],"sourcesContent":["import c from \"chalk\";\n\nimport type { HelpMessageStyleImpl } from \"../types/help-message-types.ts\";\n\nexport class HelpMessageStyle implements HelpMessageStyleImpl {\n static noColor = (...text: unknown[]) => text.join(\" \");\n\n title = HelpMessageStyle.noColor;\n description = HelpMessageStyle.noColor;\n default = HelpMessageStyle.noColor;\n optional = HelpMessageStyle.noColor;\n exampleTitle = HelpMessageStyle.noColor;\n example = HelpMessageStyle.noColor;\n command = HelpMessageStyle.noColor;\n option = HelpMessageStyle.noColor;\n argument = HelpMessageStyle.noColor;\n placeholder = HelpMessageStyle.noColor;\n punctuation = HelpMessageStyle.noColor;\n\n constructor(style: Partial<HelpMessageStyleImpl>, baseStyle?: HelpMessageStyleImpl) {\n if (baseStyle) {\n Object.assign(this, baseStyle);\n }\n\n Object.assign(this, style);\n }\n}\n\nexport const helpMessageStyles = Object.freeze({\n default: new HelpMessageStyle({\n title: c.bold.blue,\n description: c.white,\n default: c.dim.italic,\n optional: c.dim.italic,\n exampleTitle: c.yellow,\n example: c.dim,\n command: c.yellow,\n option: c.cyan,\n argument: c.green,\n placeholder: c.hex(\"#FF9800\"),\n punctuation: c.white.dim,\n }),\n\n dracula: new HelpMessageStyle({\n title: c.bold.hex(\"#BD93F9\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#6272A4\"),\n optional: c.italic.hex(\"#6272A4\"),\n exampleTitle: c.hex(\"#FFB86C\"),\n example: c.hex(\"#6272A4\"),\n command: c.hex(\"#50FA7B\"),\n option: c.hex(\"#8BE9FD\"),\n argument: c.hex(\"#FF79C6\"),\n placeholder: c.hex(\"#F1FA8C\"),\n punctuation: c.hex(\"#6272A4\"),\n }),\n\n solarizedDark: new HelpMessageStyle({\n title: c.bold.hex(\"#268BD2\"),\n description: c.hex(\"#93A1A1\"),\n default: c.italic.hex(\"#586E75\"),\n optional: c.italic.hex(\"#586E75\"),\n exampleTitle: c.hex(\"#B58900\"),\n example: c.hex(\"#586E75\"),\n command: c.hex(\"#2AA198\"),\n option: c.hex(\"#268BD2\"),\n argument: c.hex(\"#859900\"),\n placeholder: c.hex(\"#CB4B16\"),\n punctuation: c.hex(\"#657B83\"),\n }),\n\n nord: new HelpMessageStyle({\n title: c.bold.hex(\"#81A1C1\"),\n description: c.hex(\"#D8DEE9\"),\n default: c.italic.hex(\"#4C566A\"),\n optional: c.italic.hex(\"#4C566A\"),\n exampleTitle: c.hex(\"#EBCB8B\"),\n example: c.hex(\"#4C566A\"),\n command: c.hex(\"#A3BE8C\"),\n option: c.hex(\"#88C0D0\"),\n argument: c.hex(\"#BF616A\"),\n placeholder: c.hex(\"#D08770\"),\n punctuation: c.hex(\"#4C566A\"),\n }),\n\n /**\n * - Wrap the output in a <pre> element to preserve whitespace.\n * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.\n */\n html: new HelpMessageStyle({\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n }),\n\n gruvboxDark: new HelpMessageStyle({\n title: c.bold.hex(\"#FABD2F\"),\n description: c.hex(\"#EBDBB2\"),\n default: c.italic.hex(\"#928374\"),\n optional: c.italic.hex(\"#928374\"),\n exampleTitle: c.hex(\"#FE8019\"),\n example: c.hex(\"#928374\"),\n command: c.hex(\"#B8BB26\"),\n option: c.hex(\"#83A598\"),\n argument: c.hex(\"#D3869B\"),\n placeholder: c.hex(\"#FB4934\"),\n punctuation: c.hex(\"#928374\"),\n }),\n\n monokai: new HelpMessageStyle({\n title: c.bold.hex(\"#AE81FF\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#75715E\"),\n optional: c.italic.hex(\"#75715E\"),\n exampleTitle: c.hex(\"#FD971F\"),\n example: c.hex(\"#75715E\"),\n command: c.hex(\"#A6E22E\"),\n option: c.hex(\"#66D9EF\"),\n argument: c.hex(\"#F92672\"),\n placeholder: c.hex(\"#E6DB74\"),\n punctuation: c.hex(\"#75715E\"),\n }),\n\n oneDark: new HelpMessageStyle({\n title: c.bold.hex(\"#61AFEF\"),\n description: c.hex(\"#ABB2BF\"),\n default: c.italic.hex(\"#5C6370\"),\n optional: c.italic.hex(\"#5C6370\"),\n exampleTitle: c.hex(\"#E5C07B\"),\n example: c.hex(\"#5C6370\"),\n command: c.hex(\"#98C379\"),\n option: c.hex(\"#56B6C2\"),\n argument: c.hex(\"#E06C75\"),\n placeholder: c.hex(\"#C678DD\"),\n punctuation: c.hex(\"#5C6370\"),\n }),\n\n catppuccin: new HelpMessageStyle({\n title: c.bold.hex(\"#89B4FA\"),\n description: c.hex(\"#CDD6F4\"),\n default: c.italic.hex(\"#6C7086\"),\n optional: c.italic.hex(\"#6C7086\"),\n exampleTitle: c.hex(\"#F9E2AF\"),\n example: c.hex(\"#6C7086\"),\n command: c.hex(\"#A6E3A1\"),\n option: c.hex(\"#94E2D5\"),\n argument: c.hex(\"#F38BA8\"),\n placeholder: c.hex(\"#FAB387\"),\n punctuation: c.hex(\"#585B70\"),\n }),\n\n noColors: new HelpMessageStyle({}),\n});\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/help-message/styles.ts"],
|
|
4
|
+
"sourcesContent": ["import c from \"chalk\";\n\nimport type { HelpMessageStyleImpl } from \"../types/help-message-types.ts\";\n\nexport class HelpMessageStyle implements HelpMessageStyleImpl {\n static noColor = (...text: unknown[]) => text.join(\" \");\n\n title = HelpMessageStyle.noColor;\n description = HelpMessageStyle.noColor;\n default = HelpMessageStyle.noColor;\n optional = HelpMessageStyle.noColor;\n exampleTitle = HelpMessageStyle.noColor;\n example = HelpMessageStyle.noColor;\n command = HelpMessageStyle.noColor;\n option = HelpMessageStyle.noColor;\n argument = HelpMessageStyle.noColor;\n placeholder = HelpMessageStyle.noColor;\n punctuation = HelpMessageStyle.noColor;\n\n constructor(style: Partial<HelpMessageStyleImpl>, baseStyle?: HelpMessageStyleImpl) {\n if (baseStyle) {\n Object.assign(this, baseStyle);\n }\n\n Object.assign(this, style);\n }\n}\n\nexport const helpMessageStyles = Object.freeze({\n default: new HelpMessageStyle({\n title: c.bold.blue,\n description: c.white,\n default: c.dim.italic,\n optional: c.dim.italic,\n exampleTitle: c.yellow,\n example: c.dim,\n command: c.yellow,\n option: c.cyan,\n argument: c.green,\n placeholder: c.hex(\"#FF9800\"),\n punctuation: c.white.dim,\n }),\n\n dracula: new HelpMessageStyle({\n title: c.bold.hex(\"#BD93F9\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#6272A4\"),\n optional: c.italic.hex(\"#6272A4\"),\n exampleTitle: c.hex(\"#FFB86C\"),\n example: c.hex(\"#6272A4\"),\n command: c.hex(\"#50FA7B\"),\n option: c.hex(\"#8BE9FD\"),\n argument: c.hex(\"#FF79C6\"),\n placeholder: c.hex(\"#F1FA8C\"),\n punctuation: c.hex(\"#6272A4\"),\n }),\n\n solarizedDark: new HelpMessageStyle({\n title: c.bold.hex(\"#268BD2\"),\n description: c.hex(\"#93A1A1\"),\n default: c.italic.hex(\"#586E75\"),\n optional: c.italic.hex(\"#586E75\"),\n exampleTitle: c.hex(\"#B58900\"),\n example: c.hex(\"#586E75\"),\n command: c.hex(\"#2AA198\"),\n option: c.hex(\"#268BD2\"),\n argument: c.hex(\"#859900\"),\n placeholder: c.hex(\"#CB4B16\"),\n punctuation: c.hex(\"#657B83\"),\n }),\n\n nord: new HelpMessageStyle({\n title: c.bold.hex(\"#81A1C1\"),\n description: c.hex(\"#D8DEE9\"),\n default: c.italic.hex(\"#4C566A\"),\n optional: c.italic.hex(\"#4C566A\"),\n exampleTitle: c.hex(\"#EBCB8B\"),\n example: c.hex(\"#4C566A\"),\n command: c.hex(\"#A3BE8C\"),\n option: c.hex(\"#88C0D0\"),\n argument: c.hex(\"#BF616A\"),\n placeholder: c.hex(\"#D08770\"),\n punctuation: c.hex(\"#4C566A\"),\n }),\n\n /**\n * - Wrap the output in a <pre> element to preserve whitespace.\n * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.\n */\n html: new HelpMessageStyle({\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n }),\n\n gruvboxDark: new HelpMessageStyle({\n title: c.bold.hex(\"#FABD2F\"),\n description: c.hex(\"#EBDBB2\"),\n default: c.italic.hex(\"#928374\"),\n optional: c.italic.hex(\"#928374\"),\n exampleTitle: c.hex(\"#FE8019\"),\n example: c.hex(\"#928374\"),\n command: c.hex(\"#B8BB26\"),\n option: c.hex(\"#83A598\"),\n argument: c.hex(\"#D3869B\"),\n placeholder: c.hex(\"#FB4934\"),\n punctuation: c.hex(\"#928374\"),\n }),\n\n monokai: new HelpMessageStyle({\n title: c.bold.hex(\"#AE81FF\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#75715E\"),\n optional: c.italic.hex(\"#75715E\"),\n exampleTitle: c.hex(\"#FD971F\"),\n example: c.hex(\"#75715E\"),\n command: c.hex(\"#A6E22E\"),\n option: c.hex(\"#66D9EF\"),\n argument: c.hex(\"#F92672\"),\n placeholder: c.hex(\"#E6DB74\"),\n punctuation: c.hex(\"#75715E\"),\n }),\n\n oneDark: new HelpMessageStyle({\n title: c.bold.hex(\"#61AFEF\"),\n description: c.hex(\"#ABB2BF\"),\n default: c.italic.hex(\"#5C6370\"),\n optional: c.italic.hex(\"#5C6370\"),\n exampleTitle: c.hex(\"#E5C07B\"),\n example: c.hex(\"#5C6370\"),\n command: c.hex(\"#98C379\"),\n option: c.hex(\"#56B6C2\"),\n argument: c.hex(\"#E06C75\"),\n placeholder: c.hex(\"#C678DD\"),\n punctuation: c.hex(\"#5C6370\"),\n }),\n\n catppuccin: new HelpMessageStyle({\n title: c.bold.hex(\"#89B4FA\"),\n description: c.hex(\"#CDD6F4\"),\n default: c.italic.hex(\"#6C7086\"),\n optional: c.italic.hex(\"#6C7086\"),\n exampleTitle: c.hex(\"#F9E2AF\"),\n example: c.hex(\"#6C7086\"),\n command: c.hex(\"#A6E3A1\"),\n option: c.hex(\"#94E2D5\"),\n argument: c.hex(\"#F38BA8\"),\n placeholder: c.hex(\"#FAB387\"),\n punctuation: c.hex(\"#585B70\"),\n }),\n\n noColors: new HelpMessageStyle({}),\n});\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,2 +1,121 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/help-message/terminal-markdown.ts
|
|
2
|
+
import c from "chalk";
|
|
3
|
+
import { Marked, marked } from "marked";
|
|
4
|
+
var markdownStyle = {
|
|
5
|
+
bold: c.bold,
|
|
6
|
+
italic: c.italic,
|
|
7
|
+
boldItalic: c.bold.italic,
|
|
8
|
+
code: (...string) => c.bgHex("#282828").whiteBright(` ${string.join(" ")} `),
|
|
9
|
+
strikethrough: c.strikethrough,
|
|
10
|
+
link: c.underline,
|
|
11
|
+
listBullet: c.whiteBright,
|
|
12
|
+
hr: c.dim,
|
|
13
|
+
blockquote: (...string) => c.dim.bold("\u2503 ") + c.dim(string.join("").replace(/\s\s\n/g, " \n" + c.bold("\u2503 ")))
|
|
14
|
+
};
|
|
15
|
+
function styleCode(text) {
|
|
16
|
+
const lines = text.split("\n");
|
|
17
|
+
const width = Math.max(...lines.map((l) => l.length));
|
|
18
|
+
const top = "\u250C" + "\u2500".repeat(width + 2) + "\u2510";
|
|
19
|
+
const bottom = "\u2514" + "\u2500".repeat(width + 2) + "\u2518";
|
|
20
|
+
const body = lines.map((l) => c.dim("\u2502 ") + c.dim(l).padEnd(width) + c.dim(" \u2502")).join("\n");
|
|
21
|
+
return [c.dim(top), body, c.dim(bottom)].join("\n");
|
|
22
|
+
}
|
|
23
|
+
var bullets = ["\u2022", "\u25E6", "\u25AA"];
|
|
24
|
+
var terminalRenderer = {
|
|
25
|
+
list(token) {
|
|
26
|
+
let depth = 0;
|
|
27
|
+
let current = token;
|
|
28
|
+
while (current.parent) {
|
|
29
|
+
depth++;
|
|
30
|
+
current = current.parent;
|
|
31
|
+
}
|
|
32
|
+
const start = token.ordered && token.start ? token.start : void 0;
|
|
33
|
+
const items = token.items.map((item) => this.listitem(Object.assign(item, { depth, parent: token, start })));
|
|
34
|
+
return "\n" + items.join("\n");
|
|
35
|
+
},
|
|
36
|
+
listitem(item) {
|
|
37
|
+
let string = "";
|
|
38
|
+
const itemCast = item;
|
|
39
|
+
for (const token of item.tokens) {
|
|
40
|
+
if (token.type === "list") {
|
|
41
|
+
string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);
|
|
42
|
+
}
|
|
43
|
+
if ("tokens" in token && Array.isArray(token.tokens)) {
|
|
44
|
+
string += this.parser.parseInline(token.tokens);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
let prefix = " ".repeat(itemCast.depth * 2);
|
|
48
|
+
if (itemCast.task) {
|
|
49
|
+
prefix += itemCast.checked ? "\u2611 " : "\u2610 ";
|
|
50
|
+
return markdownStyle.listBullet(prefix) + string;
|
|
51
|
+
}
|
|
52
|
+
if (itemCast.start !== void 0) {
|
|
53
|
+
const findItemIndex = itemCast.parent.items.indexOf(itemCast);
|
|
54
|
+
prefix += itemCast.start + findItemIndex + ". ";
|
|
55
|
+
return markdownStyle.listBullet(prefix) + string;
|
|
56
|
+
}
|
|
57
|
+
prefix += bullets[itemCast.depth % bullets.length] + " ";
|
|
58
|
+
return markdownStyle.listBullet(prefix) + string;
|
|
59
|
+
},
|
|
60
|
+
link(token) {
|
|
61
|
+
return markdownStyle.link(token.text + " <" + token.href + ">");
|
|
62
|
+
},
|
|
63
|
+
checkbox({ checked }) {
|
|
64
|
+
return checked.toString();
|
|
65
|
+
},
|
|
66
|
+
code(token) {
|
|
67
|
+
return styleCode(token.text);
|
|
68
|
+
},
|
|
69
|
+
codespan({ text }) {
|
|
70
|
+
return markdownStyle.code(text);
|
|
71
|
+
},
|
|
72
|
+
def({ raw }) {
|
|
73
|
+
return raw;
|
|
74
|
+
},
|
|
75
|
+
del({ text }) {
|
|
76
|
+
return markdownStyle.strikethrough(text);
|
|
77
|
+
},
|
|
78
|
+
paragraph({ tokens }) {
|
|
79
|
+
return this.parser.parseInline(tokens);
|
|
80
|
+
},
|
|
81
|
+
blockquote({ text }) {
|
|
82
|
+
return markdownStyle.blockquote(text);
|
|
83
|
+
},
|
|
84
|
+
strong({ tokens }) {
|
|
85
|
+
return markdownStyle.bold(this.parser.parseInline(tokens));
|
|
86
|
+
},
|
|
87
|
+
em({ tokens }) {
|
|
88
|
+
return markdownStyle.italic(this.parser.parseInline(tokens));
|
|
89
|
+
},
|
|
90
|
+
heading({ text }) {
|
|
91
|
+
return markdownStyle.bold(text) + "\n";
|
|
92
|
+
},
|
|
93
|
+
text(token) {
|
|
94
|
+
return token.raw;
|
|
95
|
+
},
|
|
96
|
+
space(token) {
|
|
97
|
+
return token.raw.replace(/\n+/g, "\n");
|
|
98
|
+
},
|
|
99
|
+
hr() {
|
|
100
|
+
return markdownStyle.hr("\u2500".repeat(80));
|
|
101
|
+
},
|
|
102
|
+
br() {
|
|
103
|
+
return "\n";
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
function terminalMarkdown(text, renderer = "terminal", ansiTextColor = (...string) => string.join(" ")) {
|
|
107
|
+
if (!text) {
|
|
108
|
+
return "";
|
|
109
|
+
}
|
|
110
|
+
if (renderer === "terminal") {
|
|
111
|
+
const terminalMarked = new Marked();
|
|
112
|
+
terminalMarked.use({ renderer: terminalRenderer });
|
|
113
|
+
return ansiTextColor(terminalMarked.parse(text));
|
|
114
|
+
}
|
|
115
|
+
const htmlString = marked.parse(text);
|
|
116
|
+
return `<span class="_markdown">${htmlString.trim()}</span>`;
|
|
117
|
+
}
|
|
118
|
+
export {
|
|
119
|
+
terminalMarkdown
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=terminal-markdown.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/help-message/terminal-markdown.ts"],
|
|
4
|
+
"sourcesContent": ["import c from \"chalk\";\nimport { Marked, type RendererObject, type Tokens, marked } from \"marked\";\n\nimport type { ColorFunctionType } from \"../types/help-message-types.ts\";\n\nconst markdownStyle: Record<string, ColorFunctionType> = {\n bold: c.bold,\n italic: c.italic,\n boldItalic: c.bold.italic,\n code: (...string) => c.bgHex(\"#282828\").whiteBright(` ${string.join(\" \")} `),\n strikethrough: c.strikethrough,\n link: c.underline,\n listBullet: c.whiteBright,\n hr: c.dim,\n blockquote: (...string) => c.dim.bold(\"\u2503 \") + c.dim(string.join(\"\").replace(/\\s\\s\\n/g, \" \\n\" + c.bold(\"\u2503 \"))),\n};\n\nfunction styleCode(text: string) {\n const lines = text.split(\"\\n\");\n const width = Math.max(...lines.map(l => l.length));\n const top = \"\u250C\" + \"\u2500\".repeat(width + 2) + \"\u2510\";\n const bottom = \"\u2514\" + \"\u2500\".repeat(width + 2) + \"\u2518\";\n\n const body = lines.map(l => c.dim(\"\u2502 \") + c.dim(l).padEnd(width) + c.dim(\" \u2502\")).join(\"\\n\");\n\n return [c.dim(top), body, c.dim(bottom)].join(\"\\n\");\n}\n\nconst bullets = [\"\u2022\", \"\u25E6\", \"\u25AA\"];\n\nconst terminalRenderer: RendererObject<string, string> = {\n list(token) {\n // figure out depth\n let depth = 0;\n let current = token as Tokens.List & { parent: Tokens.List };\n while (current.parent) {\n depth++;\n current = current.parent as Tokens.List & { parent: Tokens.List };\n }\n\n // for ordered lists\n const start = token.ordered && token.start ? token.start : undefined;\n\n const items = token.items.map(item => this.listitem(Object.assign(item, { depth, parent: token, start })));\n return \"\\n\" + items.join(\"\\n\");\n },\n listitem(item) {\n let string = \"\";\n\n const itemCast = item as Tokens.ListItem & { parent: Tokens.List; depth: number; start?: number };\n\n for (const token of item.tokens) {\n if (token.type === \"list\") {\n string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);\n }\n\n if (\"tokens\" in token && Array.isArray(token.tokens)) {\n string += this.parser.parseInline(token.tokens);\n }\n }\n\n let prefix = \" \".repeat(itemCast.depth * 2);\n\n // Task\n if (itemCast.task) {\n prefix += itemCast.checked ? \"\u2611 \" : \"\u2610 \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Ordered\n if (itemCast.start !== undefined) {\n const findItemIndex = itemCast.parent.items.indexOf(itemCast);\n prefix += itemCast.start + findItemIndex + \". \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Unordered\n prefix += bullets[itemCast.depth % bullets.length] + \" \";\n return markdownStyle.listBullet(prefix) + string;\n },\n link(token) {\n return markdownStyle.link(token.text + \" \" + \"<\" + token.href + \">\");\n },\n checkbox({ checked }) {\n return checked.toString();\n },\n code(token) {\n return styleCode(token.text);\n },\n codespan({ text }) {\n return markdownStyle.code(text);\n },\n def({ raw }) {\n return raw;\n },\n del({ text }) {\n return markdownStyle.strikethrough(text);\n },\n paragraph({ tokens }) {\n return this.parser.parseInline(tokens);\n },\n blockquote({ text }) {\n return markdownStyle.blockquote(text);\n },\n strong({ tokens }) {\n return markdownStyle.bold(this.parser.parseInline(tokens));\n },\n em({ tokens }) {\n return markdownStyle.italic(this.parser.parseInline(tokens));\n },\n heading({ text }) {\n return markdownStyle.bold(text) + \"\\n\";\n },\n text(token) {\n return token.raw;\n },\n space(token) {\n return token.raw.replace(/\\n+/g, \"\\n\");\n },\n hr() {\n return markdownStyle.hr(\"\u2500\".repeat(80));\n },\n br() {\n return \"\\n\";\n },\n};\n\nexport function terminalMarkdown(\n text: string,\n renderer: \"terminal\" | \"html\" = \"terminal\",\n ansiTextColor: ColorFunctionType = (...string) => string.join(\" \"),\n): string {\n if (!text) {\n return \"\";\n }\n\n if (renderer === \"terminal\") {\n const terminalMarked = new Marked();\n terminalMarked.use({ renderer: terminalRenderer });\n return ansiTextColor(terminalMarked.parse(text) as string);\n }\n\n const htmlString = marked.parse(text) as string;\n\n return `<span class=\"_markdown\">${htmlString.trim()}</span>`;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import { generateCliHelpMessage } from "./help-message/generate-for-cli.js";
|
|
3
|
+
import { generateSubcommandHelpMessage } from "./help-message/generate-for-subcommand.js";
|
|
4
|
+
import { printCliHelp, printSubcommandHelp } from "./help-message/print-help.js";
|
|
5
|
+
import { HelpMessageStyle, helpMessageStyles } from "./help-message/styles.js";
|
|
6
|
+
import { generateBashAutocompleteScript } from "./autocomplete-scripts/bash-autocomplete-script.js";
|
|
7
|
+
import { generatePowerShellAutocompleteScript } from "./autocomplete-scripts/powershell-autocomplete-script.js";
|
|
8
|
+
import { generateZshAutocompleteScript } from "./autocomplete-scripts/zsh-autocomplete-script.js";
|
|
9
|
+
import { generateMarkdown } from "./markdown/generate-markdown.js";
|
|
10
|
+
import { getArgumentsMetadata } from "./metadata/arguments-metadata.js";
|
|
11
|
+
import { getCliMetadata } from "./metadata/cli-metadata.js";
|
|
12
|
+
import { getOptionsMetadata } from "./metadata/options-metadata.js";
|
|
13
|
+
import { getSubcommandsMetadata } from "./metadata/subcommands-metadata.js";
|
|
14
|
+
import { defineArguments } from "./definitions/define-arguments.js";
|
|
15
|
+
import { defineCLI } from "./definitions/define-cli.js";
|
|
16
|
+
import { defineOptions } from "./definitions/define-options.js";
|
|
17
|
+
import { defineSubcommand } from "./definitions/define-subcommand.js";
|
|
18
|
+
import { coerce } from "./coerce/coerce-methods.js";
|
|
19
|
+
import { CliError } from "./cli-error/cli-error.js";
|
|
20
|
+
import { ErrorCause } from "./cli-error/error-cause.js";
|
|
21
|
+
import { DefinitionErrorCode } from "./cli-error/error-code/definition-error-code.js";
|
|
22
|
+
import { InternalErrorCode } from "./cli-error/error-code/internal-error-code.js";
|
|
23
|
+
import { ParseErrorCode } from "./cli-error/error-code/parse-error-code.js";
|
|
24
|
+
import { ValidationErrorCode } from "./cli-error/error-code/validation-error-code.js";
|
|
25
|
+
export {
|
|
26
|
+
CliError,
|
|
27
|
+
DefinitionErrorCode,
|
|
28
|
+
ErrorCause,
|
|
29
|
+
HelpMessageStyle,
|
|
30
|
+
InternalErrorCode,
|
|
31
|
+
ParseErrorCode,
|
|
32
|
+
ValidationErrorCode,
|
|
33
|
+
coerce,
|
|
34
|
+
defineArguments,
|
|
35
|
+
defineCLI,
|
|
36
|
+
defineOptions,
|
|
37
|
+
defineSubcommand,
|
|
38
|
+
generateBashAutocompleteScript,
|
|
39
|
+
generateCliHelpMessage,
|
|
40
|
+
generateMarkdown,
|
|
41
|
+
generatePowerShellAutocompleteScript,
|
|
42
|
+
generateSubcommandHelpMessage,
|
|
43
|
+
generateZshAutocompleteScript,
|
|
44
|
+
getArgumentsMetadata,
|
|
45
|
+
getCliMetadata,
|
|
46
|
+
getOptionsMetadata,
|
|
47
|
+
getSubcommandsMetadata,
|
|
48
|
+
helpMessageStyles,
|
|
49
|
+
printCliHelp,
|
|
50
|
+
printSubcommandHelp
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { generateCliHelpMessage } from \"./help-message/generate-for-cli.ts\";\nexport { generateSubcommandHelpMessage } from \"./help-message/generate-for-subcommand.ts\";\nexport { printCliHelp, printSubcommandHelp } from \"./help-message/print-help.ts\";\nexport { HelpMessageStyle, helpMessageStyles } from \"./help-message/styles.ts\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.ts\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.ts\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.ts\";\nexport { generateMarkdown } from \"./markdown/generate-markdown.ts\";\n\nexport { getArgumentsMetadata } from \"./metadata/arguments-metadata.ts\";\nexport { getCliMetadata } from \"./metadata/cli-metadata.ts\";\nexport { getOptionsMetadata } from \"./metadata/options-metadata.ts\";\nexport { getSubcommandsMetadata } from \"./metadata/subcommands-metadata.ts\";\n\nexport { defineArguments } from \"./definitions/define-arguments.ts\";\nexport { defineCLI } from \"./definitions/define-cli.ts\";\nexport { defineOptions } from \"./definitions/define-options.ts\";\nexport { defineSubcommand } from \"./definitions/define-subcommand.ts\";\n\nexport { coerce } from \"./coerce/coerce-methods.ts\";\n\nexport { CliError } from \"./cli-error/cli-error.ts\";\nexport { ErrorCause } from \"./cli-error/error-cause.ts\";\nexport { DefinitionErrorCode } from \"./cli-error/error-code/definition-error-code.ts\";\nexport { InternalErrorCode } from \"./cli-error/error-code/internal-error-code.ts\";\nexport { ParseErrorCode } from \"./cli-error/error-code/parse-error-code.ts\";\nexport { ValidationErrorCode } from \"./cli-error/error-code/validation-error-code.ts\";\n\nexport type * from \"./types/context-types.ts\";\nexport type * from \"./types/definitions-types.ts\";\nexport type {\n CliErrorI,\n CliErrorOptionUnion,\n DefinitionErrorI,\n ErrorCauseI,\n InternalErrorI,\n ParseErrorI,\n ValidationErrorI,\n} from \"./types/error-types.ts\";\nexport type * from \"./types/help-message-types.ts\";\nexport type * from \"./types/io-types.ts\";\nexport type * from \"./types/metadata-types.ts\";\nexport type * from \"./types/types.ts\";\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,8BAA8B;AACvC,SAAS,qCAAqC;AAC9C,SAAS,cAAc,2BAA2B;AAClD,SAAS,kBAAkB,yBAAyB;AAEpD,SAAS,sCAAsC;AAC/C,SAAS,4CAA4C;AACrD,SAAS,qCAAqC;AAC9C,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AACrC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AAEvC,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AAEjC,SAAS,cAAc;AAEvB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,2 +1,153 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/markdown/generate-markdown.ts
|
|
2
|
+
import { getCliMetadata } from "../metadata/cli-metadata.js";
|
|
3
|
+
import { escapeHtmlTags, stripAnsi } from "../utilities/utilities.js";
|
|
4
|
+
function generateMarkdown(cliDefinition) {
|
|
5
|
+
const metadata = getCliMetadata(cliDefinition);
|
|
6
|
+
let md = "<!-- Auto-generated by zod-args-parser -->\n\n";
|
|
7
|
+
md += `# ${metadata.name}
|
|
8
|
+
|
|
9
|
+
`;
|
|
10
|
+
if (metadata.description && !metadata.descriptionMarkdown) {
|
|
11
|
+
md += `${forceLineBreak(metadata.description)}
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
14
|
+
if (metadata.descriptionMarkdown) {
|
|
15
|
+
md += `${forceLineBreak(metadata.descriptionMarkdown)}
|
|
16
|
+
`;
|
|
17
|
+
}
|
|
18
|
+
if (metadata.example) {
|
|
19
|
+
md += renderExamples(metadata.example);
|
|
20
|
+
}
|
|
21
|
+
if (metadata.options.length > 0) {
|
|
22
|
+
md += "\n## Options:\n\n";
|
|
23
|
+
md += renderOptions(metadata.options, 3);
|
|
24
|
+
}
|
|
25
|
+
if (metadata.arguments.length > 0) {
|
|
26
|
+
md += "\n## Arguments:\n\n";
|
|
27
|
+
md += renderArguments(metadata.arguments, 3);
|
|
28
|
+
}
|
|
29
|
+
if (metadata.subcommands.length > 0) {
|
|
30
|
+
md += "\n## Subcommands:\n\n";
|
|
31
|
+
md += renderSubcommands(metadata.subcommands);
|
|
32
|
+
}
|
|
33
|
+
md = stripAnsi(md);
|
|
34
|
+
md = escapeHtmlTags(md);
|
|
35
|
+
return md;
|
|
36
|
+
}
|
|
37
|
+
function renderExamples(examples) {
|
|
38
|
+
let outString = "\n**Example:**\n";
|
|
39
|
+
const lang = "bash";
|
|
40
|
+
outString += "\n";
|
|
41
|
+
outString += "```" + lang + "\n";
|
|
42
|
+
outString += examples;
|
|
43
|
+
outString += "\n```\n";
|
|
44
|
+
return outString;
|
|
45
|
+
}
|
|
46
|
+
function renderOptions(optionsMetadata = [], h) {
|
|
47
|
+
let outString = "";
|
|
48
|
+
for (let index = 0; index < optionsMetadata.length; index++) {
|
|
49
|
+
const metadata = optionsMetadata[index];
|
|
50
|
+
if (metadata.hidden) continue;
|
|
51
|
+
const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");
|
|
52
|
+
const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;
|
|
53
|
+
outString += `${"#".repeat(h)} \`${aliases + placeholder}\``;
|
|
54
|
+
if (metadata.optional) {
|
|
55
|
+
outString += " _optional_";
|
|
56
|
+
}
|
|
57
|
+
outString += "\n\n";
|
|
58
|
+
if (metadata.description && !metadata.descriptionMarkdown) {
|
|
59
|
+
outString += `${forceLineBreak(metadata.description)}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
if (metadata.descriptionMarkdown) {
|
|
63
|
+
outString += `${forceLineBreak(metadata.descriptionMarkdown)}
|
|
64
|
+
`;
|
|
65
|
+
}
|
|
66
|
+
if (metadata.defaultValue !== void 0) {
|
|
67
|
+
const nl = outString.endsWith("\n\n") ? "" : "\n";
|
|
68
|
+
outString += `${nl}**default:** \`${metadata.defaultValueAsString}\`
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
if (metadata.example) {
|
|
72
|
+
outString += renderExamples(metadata.example);
|
|
73
|
+
}
|
|
74
|
+
if (index < optionsMetadata.length - 1) {
|
|
75
|
+
outString += "\n";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return outString;
|
|
79
|
+
}
|
|
80
|
+
function renderArguments(argumentsMetadata = [], h) {
|
|
81
|
+
let outString = "";
|
|
82
|
+
for (let index = 0; index < argumentsMetadata.length; index++) {
|
|
83
|
+
const metadata = argumentsMetadata[index];
|
|
84
|
+
if (metadata.hidden) continue;
|
|
85
|
+
outString += `${"#".repeat(h)} \`${metadata.name}\``;
|
|
86
|
+
if (metadata.optional) {
|
|
87
|
+
outString += " _optional_";
|
|
88
|
+
}
|
|
89
|
+
outString += "\n\n";
|
|
90
|
+
if (metadata.description && !metadata.descriptionMarkdown) {
|
|
91
|
+
outString += `${forceLineBreak(metadata.description)}
|
|
92
|
+
`;
|
|
93
|
+
}
|
|
94
|
+
if (metadata.descriptionMarkdown) {
|
|
95
|
+
outString += `${forceLineBreak(metadata.descriptionMarkdown)}
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
if (metadata.defaultValue !== void 0) {
|
|
99
|
+
const nl = outString.endsWith("\n\n") ? "" : "\n";
|
|
100
|
+
outString += `${nl}**default:** \`${metadata.defaultValueAsString}\`
|
|
101
|
+
`;
|
|
102
|
+
}
|
|
103
|
+
if (metadata.example) {
|
|
104
|
+
outString += renderExamples(metadata.example);
|
|
105
|
+
}
|
|
106
|
+
if (index < argumentsMetadata.length - 1) {
|
|
107
|
+
outString += "\n";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return outString;
|
|
111
|
+
}
|
|
112
|
+
function renderSubcommands(subcommandsMetadata) {
|
|
113
|
+
let outString = "";
|
|
114
|
+
for (let index = 0; index < subcommandsMetadata.length; index++) {
|
|
115
|
+
const metadata = subcommandsMetadata[index];
|
|
116
|
+
if (metadata.hidden) continue;
|
|
117
|
+
const aliases = [metadata.name].concat(metadata.aliases).join(", ");
|
|
118
|
+
const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;
|
|
119
|
+
outString += `### ${aliases + placeholder}
|
|
120
|
+
|
|
121
|
+
`;
|
|
122
|
+
if (metadata.description && !metadata.descriptionMarkdown) {
|
|
123
|
+
outString += `${forceLineBreak(metadata.description)}
|
|
124
|
+
`;
|
|
125
|
+
}
|
|
126
|
+
if (metadata.descriptionMarkdown) {
|
|
127
|
+
outString += `${forceLineBreak(metadata.descriptionMarkdown)}
|
|
128
|
+
`;
|
|
129
|
+
}
|
|
130
|
+
if (metadata.example) {
|
|
131
|
+
outString += renderExamples(metadata.example);
|
|
132
|
+
}
|
|
133
|
+
if (metadata.options.length > 0) {
|
|
134
|
+
outString += "\n#### Options:\n\n";
|
|
135
|
+
outString += renderOptions(metadata.options, 4);
|
|
136
|
+
}
|
|
137
|
+
if (metadata.arguments.length > 0) {
|
|
138
|
+
outString += "\n#### Arguments:\n\n";
|
|
139
|
+
outString += renderArguments(metadata.arguments, 4);
|
|
140
|
+
}
|
|
141
|
+
if (index < subcommandsMetadata.length - 1) {
|
|
142
|
+
outString += "\n---\n\n";
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return outString;
|
|
146
|
+
}
|
|
147
|
+
function forceLineBreak(string) {
|
|
148
|
+
return string.replace(/(\n+)/g, " $1");
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
generateMarkdown
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=generate-markdown.js.map
|