@shell-shock/core 0.17.4 → 0.17.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/components/command-validation-logic.cjs +214 -152
  2. package/dist/components/command-validation-logic.mjs +213 -152
  3. package/dist/components/command-validation-logic.mjs.map +1 -1
  4. package/dist/components/docs.cjs +113 -9
  5. package/dist/components/docs.mjs +109 -9
  6. package/dist/components/docs.mjs.map +1 -1
  7. package/dist/components/exec-builtin.cjs +36 -1
  8. package/dist/components/exec-builtin.d.cts.map +1 -1
  9. package/dist/components/exec-builtin.d.mts.map +1 -1
  10. package/dist/components/exec-builtin.mjs +35 -1
  11. package/dist/components/exec-builtin.mjs.map +1 -1
  12. package/dist/components/helpers.cjs +51 -2
  13. package/dist/components/helpers.mjs +50 -2
  14. package/dist/components/helpers.mjs.map +1 -1
  15. package/dist/components/index.cjs +17 -1
  16. package/dist/components/index.mjs +9 -9
  17. package/dist/components/options-parser-logic.cjs +411 -174
  18. package/dist/components/options-parser-logic.d.cts.map +1 -1
  19. package/dist/components/options-parser-logic.d.mts.map +1 -1
  20. package/dist/components/options-parser-logic.mjs +405 -174
  21. package/dist/components/options-parser-logic.mjs.map +1 -1
  22. package/dist/components/state-builtin.cjs +61 -5
  23. package/dist/components/state-builtin.mjs +60 -5
  24. package/dist/components/state-builtin.mjs.map +1 -1
  25. package/dist/components/usage.cjs +46 -3
  26. package/dist/components/usage.mjs +45 -3
  27. package/dist/components/usage.mjs.map +1 -1
  28. package/dist/components/utils-builtin.cjs +68 -3
  29. package/dist/components/utils-builtin.mjs +67 -3
  30. package/dist/components/utils-builtin.mjs.map +1 -1
  31. package/dist/helpers/automd.cjs +28 -13
  32. package/dist/helpers/automd.mjs +28 -13
  33. package/dist/helpers/automd.mjs.map +1 -1
  34. package/dist/index.cjs +11 -0
  35. package/dist/index.d.cts +2 -2
  36. package/dist/index.d.mts +2 -2
  37. package/dist/index.mjs +2 -2
  38. package/dist/plugin-utils/compute-bin.cjs +50 -0
  39. package/dist/plugin-utils/compute-bin.d.cts +13 -0
  40. package/dist/plugin-utils/compute-bin.d.cts.map +1 -0
  41. package/dist/plugin-utils/compute-bin.d.mts +13 -0
  42. package/dist/plugin-utils/compute-bin.d.mts.map +1 -0
  43. package/dist/plugin-utils/compute-bin.mjs +50 -0
  44. package/dist/plugin-utils/compute-bin.mjs.map +1 -0
  45. package/dist/plugin-utils/get-command-tree.cjs +50 -0
  46. package/dist/plugin-utils/get-command-tree.d.cts +15 -1
  47. package/dist/plugin-utils/get-command-tree.d.cts.map +1 -1
  48. package/dist/plugin-utils/get-command-tree.d.mts +15 -1
  49. package/dist/plugin-utils/get-command-tree.d.mts.map +1 -1
  50. package/dist/plugin-utils/get-command-tree.mjs +49 -1
  51. package/dist/plugin-utils/get-command-tree.mjs.map +1 -1
  52. package/dist/plugin-utils/index.cjs +4 -0
  53. package/dist/plugin-utils/index.d.cts +3 -2
  54. package/dist/plugin-utils/index.d.mts +3 -2
  55. package/dist/plugin-utils/index.mjs +3 -2
  56. package/dist/plugin.cjs +170 -55
  57. package/dist/plugin.d.cts.map +1 -1
  58. package/dist/plugin.d.mts.map +1 -1
  59. package/dist/plugin.mjs +170 -54
  60. package/dist/plugin.mjs.map +1 -1
  61. package/dist/resolver/deepkit.cjs +1 -1
  62. package/dist/resolver/deepkit.mjs +1 -1
  63. package/dist/resolver/deepkit.mjs.map +1 -1
  64. package/dist/types/command.cjs +120 -10
  65. package/dist/types/command.d.cts +95 -8
  66. package/dist/types/command.d.cts.map +1 -1
  67. package/dist/types/command.d.mts +95 -8
  68. package/dist/types/command.d.mts.map +1 -1
  69. package/dist/types/command.mjs +109 -10
  70. package/dist/types/command.mjs.map +1 -1
  71. package/dist/types/config.cjs +2 -3
  72. package/dist/types/config.d.cts +2 -3
  73. package/dist/types/config.d.cts.map +1 -1
  74. package/dist/types/config.d.mts +2 -3
  75. package/dist/types/config.d.mts.map +1 -1
  76. package/dist/types/config.mjs +2 -3
  77. package/dist/types/config.mjs.map +1 -1
  78. package/dist/types/index.cjs +12 -1
  79. package/dist/types/index.d.cts +2 -2
  80. package/dist/types/index.d.mts +2 -2
  81. package/dist/types/index.mjs +2 -2
  82. package/package.json +10 -10
@@ -54,6 +54,8 @@ const __ΩBaseCommandParameter = [
54
54
  "The option description.",
55
55
  "alias",
56
56
  "Alternative option names.",
57
+ "default",
58
+ "The default value.",
57
59
  false,
58
60
  "env",
59
61
  "The environment variable name or false to disable.",
@@ -62,9 +64,27 @@ const __ΩBaseCommandParameter = [
62
64
  "variadic",
63
65
  "Whether the option accepts multiple values.",
64
66
  "BaseCommandParameter",
65
- "P&4!?\"n#4$?%&4&?'&4(?)&F4*?+P&.,J4-?.)4/?0)41?2Mw3y"
67
+ "P&4!?\"n#4$?%&4&?'&4(?)&F4*?+P&')&F'F)FJ4,8?-P&..J4/?0)41?2)43?4Mw5y"
66
68
  ];
67
- const __ΩStringCommandParameter = [
69
+ const __ΩBaseSingleCommandParameter = [
70
+ "default",
71
+ "The default value.",
72
+ false,
73
+ "variadic",
74
+ "Whether the option accepts multiple values.",
75
+ "BaseSingleCommandParameter",
76
+ "PP&')J4!8?\".#4$?%Mw&y"
77
+ ];
78
+ const __ΩBaseVariadicCommandParameter = [
79
+ "default",
80
+ "The default value.",
81
+ true,
82
+ "variadic",
83
+ "Whether the option accepts multiple values.",
84
+ "BaseVariadicCommandParameter",
85
+ "PP&F'F)FJ4!8?\".#4$?%Mw&y"
86
+ ];
87
+ const __ΩBaseStringCommandParameter = [
68
88
  () => __ΩBaseCommandParameter,
69
89
  "string",
70
90
  "kind",
@@ -84,10 +104,36 @@ const __ΩStringCommandParameter = [
84
104
  "A standard string format to validate the option value against.",
85
105
  "choices",
86
106
  "The allowed choices for the option value.",
107
+ "BaseStringCommandParameter",
108
+ "Pn!.\"4#?$P&&FJ4%8?&P.'.(.).*.+.,.-.../J408?1&F428?3Mw4y"
109
+ ];
110
+ const __ΩSingleStringCommandParameter = [
111
+ () => __ΩBaseStringCommandParameter,
112
+ "default",
113
+ "The default value.",
114
+ false,
115
+ "variadic",
116
+ "Whether the option accepts multiple values.",
117
+ "SingleStringCommandParameter",
118
+ "Pn!&4\"8?#.$4%?&Mw'y"
119
+ ];
120
+ const __ΩVariadicStringCommandParameter = [
121
+ () => __ΩBaseStringCommandParameter,
122
+ "default",
123
+ "The default value.",
124
+ true,
125
+ "variadic",
126
+ "Whether the option accepts multiple values.",
127
+ "VariadicStringCommandParameter",
128
+ "Pn!&F4\"8?#.$4%?&Mw'y"
129
+ ];
130
+ const __ΩStringCommandParameter = [
131
+ () => __ΩSingleStringCommandParameter,
132
+ () => __ΩVariadicStringCommandParameter,
87
133
  "StringCommandParameter",
88
- "Pn!.\"4#?$&4%8?&P.'.(.).*.+.,.-.../J408?1&F428?3Mw4y"
134
+ "Pn!n\"Jw#y"
89
135
  ];
90
- const __ΩNumberCommandParameter = [
136
+ const __ΩBaseNumberCommandParameter = [
91
137
  () => __ΩBaseCommandParameter,
92
138
  "number",
93
139
  "kind",
@@ -96,18 +142,70 @@ const __ΩNumberCommandParameter = [
96
142
  "The default value.",
97
143
  "choices",
98
144
  "The allowed choices for the option value.",
145
+ "BaseNumberCommandParameter",
146
+ "Pn!.\"4#?$P''FJ4%8?&'F4'8?(Mw)y"
147
+ ];
148
+ const __ΩSingleNumberCommandParameter = [
149
+ () => __ΩBaseNumberCommandParameter,
150
+ "default",
151
+ "The default value.",
152
+ false,
153
+ "variadic",
154
+ "Whether the option accepts multiple values.",
155
+ "SingleNumberCommandParameter",
156
+ "Pn!'4\"8?#.$4%?&Mw'y"
157
+ ];
158
+ const __ΩVariadicNumberCommandParameter = [
159
+ () => __ΩBaseNumberCommandParameter,
160
+ "default",
161
+ "The default value.",
162
+ true,
163
+ "variadic",
164
+ "Whether the option accepts multiple values.",
165
+ "VariadicNumberCommandParameter",
166
+ "Pn!'F4\"8?#.$4%?&Mw'y"
167
+ ];
168
+ const __ΩNumberCommandParameter = [
169
+ () => __ΩSingleNumberCommandParameter,
170
+ () => __ΩVariadicNumberCommandParameter,
99
171
  "NumberCommandParameter",
100
- "Pn!.\"4#?$'4%8?&'F4'8?(Mw)y"
172
+ "Pn!n\"Jw#y"
101
173
  ];
102
- const __ΩBooleanCommandParameter = [
174
+ const __ΩBaseBooleanCommandParameter = [
103
175
  () => __ΩBaseCommandParameter,
104
176
  "boolean",
105
177
  "kind",
106
178
  "The option kind.",
107
179
  "default",
108
180
  "The default value.",
181
+ "BaseBooleanCommandParameter",
182
+ "Pn!.\"4#?$P))FJ4%8?&Mw'y"
183
+ ];
184
+ const __ΩSingleBooleanCommandParameter = [
185
+ () => __ΩBaseBooleanCommandParameter,
186
+ "default",
187
+ "The default value.",
188
+ false,
189
+ "variadic",
190
+ "Whether the option accepts multiple values.",
191
+ "SingleBooleanCommandParameter",
192
+ "Pn!)4\"8?#.$4%?&Mw'y"
193
+ ];
194
+ const __ΩVariadicBooleanCommandParameter = [
195
+ () => __ΩBaseBooleanCommandParameter,
196
+ "default",
197
+ "The default value.",
198
+ true,
199
+ "variadic",
200
+ "Whether the option accepts multiple values.",
201
+ "VariadicBooleanCommandParameter",
202
+ "Pn!)F4\"8?#.$4%?&Mw'y"
203
+ ];
204
+ const __ΩBooleanCommandParameter = [
205
+ () => __ΩSingleBooleanCommandParameter,
206
+ () => __ΩVariadicBooleanCommandParameter,
109
207
  "BooleanCommandParameter",
110
- "Pn!.\"4#?$)4%8?&Mw'y"
208
+ "Pn!n\"Jw#y"
111
209
  ];
112
210
  const __ΩCommandParameter = [
113
211
  () => __ΩStringCommandParameter,
@@ -155,7 +253,7 @@ const __ΩCommandParameterConfig = [
155
253
  "Pn!n\"n#Jw$y"
156
254
  ];
157
255
  const __ΩBooleanCommandOption = [
158
- () => __ΩBooleanCommandParameter,
256
+ () => __ΩSingleBooleanCommandParameter,
159
257
  "isNegativeOf",
160
258
  "The option this negates.",
161
259
  "skipAddingNegative",
@@ -167,8 +265,9 @@ const __ΩCommandOption = [
167
265
  () => __ΩStringCommandParameter,
168
266
  () => __ΩNumberCommandParameter,
169
267
  () => __ΩBooleanCommandOption,
268
+ () => __ΩVariadicBooleanCommandParameter,
170
269
  "CommandOption",
171
- "Pn!n\"n#Jw$y"
270
+ "Pn!n\"n#n$Jw%y"
172
271
  ];
173
272
  const __ΩCommandOptionConfig = [
174
273
  () => __ΩAsCommandParameterConfig,
@@ -303,5 +402,5 @@ const __ΩCommandModule = [
303
402
  ];
304
403
 
305
404
  //#endregion
306
- export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig };
405
+ export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter };
307
406
  //# sourceMappingURL=command.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.mjs","names":[],"sources":["../../src/types/command.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport type { JsonSchema7TupleType } from \"@stryke/json\";\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport type { JSONSchema7Object } from \"json-schema\";\nimport type { ResolvedEntryTypeDefinition } from \"powerlines\";\nimport type * as z3 from \"zod/v3\";\n\nexport type CommandParameterType =\n | string\n | number\n | boolean\n | (string | number)[];\n\nexport const CommandParameterKinds = {\n string: \"string\",\n number: \"number\",\n boolean: \"boolean\"\n} as const;\n\nexport type CommandParameterKind =\n (typeof CommandParameterKinds)[keyof typeof CommandParameterKinds];\n\nexport interface BaseCommandParameter {\n /**\n * The option name.\n */\n name: string;\n\n /**\n * The option kind.\n */\n kind: CommandParameterKind;\n\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The option description.\n */\n description: string;\n\n /**\n * Alternative option names.\n */\n alias: string[];\n\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface StringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"string\";\n\n /**\n * The default value.\n */\n default?: string;\n\n /**\n * A standard string format to validate the option value against.\n */\n format?:\n | \"email\"\n | \"uri\"\n | \"uuid\"\n | \"ipv4\"\n | \"ipv6\"\n | \"date\"\n | \"time\"\n | \"date-time\"\n | \"duration\";\n\n /**\n * The allowed choices for the option value.\n */\n choices?: string[];\n}\n\nexport interface NumberCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"number\";\n\n /**\n * The default value.\n */\n default?: number;\n\n /**\n * The allowed choices for the option value.\n */\n choices?: number[];\n}\n\nexport interface BooleanCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"boolean\";\n\n /**\n * The default value.\n */\n default?: boolean;\n}\n\nexport type CommandParameter =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\n\nexport type AsCommandParameterConfig<T extends BaseCommandParameter> = Pick<\n T,\n \"kind\" | \"alias\"\n> &\n Partial<Omit<T, \"kind\" | \"alias\">> & {\n alias?: string | string[];\n };\n\nexport type StringCommandParameterConfig =\n AsCommandParameterConfig<StringCommandParameter>;\nexport type NumberCommandParameterConfig =\n AsCommandParameterConfig<NumberCommandParameter>;\nexport type BooleanCommandParameterConfig =\n AsCommandParameterConfig<BooleanCommandParameter>;\n\nexport type CommandParameterConfig =\n | StringCommandParameterConfig\n | NumberCommandParameterConfig\n | BooleanCommandParameterConfig;\n\nexport interface BooleanCommandOption extends BooleanCommandParameter {\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport type CommandOption =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandOption;\nexport type CommandOptionConfig = AsCommandParameterConfig<CommandOption>;\n\nexport type CommandArgument =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\nexport type CommandArgumentConfig = AsCommandParameterConfig<CommandArgument>;\n\nexport interface CommandBase {\n /**\n * The command id.\n */\n id: string | null;\n\n /**\n * The command name.\n */\n name: string;\n\n /**\n * The full command path value.\n */\n path: string | null;\n\n /**\n * The path segments.\n */\n segments: string[];\n\n /**\n * The display title.\n */\n title?: string;\n\n /**\n * The command description.\n */\n description?: string;\n\n /**\n * Alternative command names.\n */\n alias?: string[];\n\n /**\n * The command icon.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n */\n reference?: string;\n\n /**\n * Whether the command is virtual.\n *\n * @remarks\n * Virtual commands are considered forks in the command tree and are not directly executable. They are used to group related subcommands together without having an actual command handler or entry point.\n */\n isVirtual: boolean;\n}\n\nexport interface CommandConfig extends CommandBase {\n /**\n * The command id.\n */\n id: string;\n\n /**\n * The resolved entry definition.\n */\n entry: ResolvedEntryTypeDefinition;\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source?: \"file\" | string;\n}\n\nexport type CommandTree = CommandConfig & {\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The command description.\n */\n description: string;\n\n /**\n * Alternative command names.\n */\n alias: string[];\n\n /**\n * A set of tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source: \"file\" | string;\n\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n\n /**\n * The positional arguments provided to the command.\n */\n args: CommandArgument[];\n\n /**\n * The parent command.\n */\n parent: null | CommandTree;\n\n /**\n * Child commands.\n */\n children: Record<string, CommandTree>;\n};\n\nexport type SerializedCommandTree = Omit<CommandTree, \"parent\" | \"children\"> & {\n /**\n * The parent command id.\n */\n parent: null | string;\n /**\n * Serialized child commands.\n */\n children: Record<string, SerializedCommandTree>;\n};\n\nexport interface CommandMetadata {\n /**\n * The display name of the command.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a formatted value of the command name will be used.\n */\n title?: string;\n\n /**\n * A brief description of what the command does.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a default message may be shown.\n */\n description?: string;\n\n /**\n * One or more alternative names for the command.\n */\n alias?: string | string[];\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * An optional icon to visually represent the command in user interfaces.\n *\n * @remarks\n * This can be a string containing an emoji, a Unicode character, or any other symbol that helps to visually identify the command. If not provided, no icon will be displayed.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the command. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{referenceLink}/command/subcommand`.\n */\n reference?: string;\n}\n\nexport interface CommandModule {\n metadata?: CommandMetadata;\n options?:\n | Record<string, CommandOptionConfig>\n | JSONSchema7Object\n | StandardJSONSchemaV1<Record<string, CommandParameterType>>\n | z3.AnyZodObject;\n args?:\n | CommandArgumentConfig[]\n | JsonSchema7TupleType\n | StandardJSONSchemaV1<CommandParameterType[]>\n | z3.AnyZodTuple;\n default?: AnyFunction;\n}\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,UAAU;CAAC;CAAG;OAAM;OAAiB;CAAA;CAAA;CAAA;;;;;;;AAE3C,MAAM,aAAS;CAAA;CAAS;CAAG;CAAY;CAA2B;AAClE,MAAI,0BAA4B,CAAC,wBAAqB,gBAAa;AAEnE,MAAK,wBAA0B;;CAE9B,QAAW;CACX,SAAY;CACZ;AACD,MAAC,0BAA+B;OAAG;OAAkB;CAAA;CAAA;CAAA;AAErD,MAAM,0BAAqB;CAAM;CAAG;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,4BAA4B;OAAO;CAAyB;CAAI;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,4BAA4B;OAAO;CAAwB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEjE,MAAM,6BAA6B;OAAO;CAAW;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,sBAAQ;OAAA;OAA+C;OAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;AAI7D,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAE,4BAAgB;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAElB,MAAE,0BAAiB;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;AAInB,MAAG,yBAA4B;OAAO;OAA8B;CAAA;CAAA;CAAA;AAEpE,MAAM,qBAAW;OAAA;OAAqB;OAAA;CAAA;CAAA;CAAA;AAEtC,MAAK,2BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,iBAAQ;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEd,MAAI,mBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,iBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;OAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;;AAIJ,MAAK,qBAAiB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtB,MAAE,mBAAa;OAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
1
+ {"version":3,"file":"command.mjs","names":[],"sources":["../../src/types/command.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport type { JsonSchema7TupleType } from \"@stryke/json\";\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport type { JSONSchema7Object } from \"json-schema\";\nimport type { ResolvedEntryTypeDefinition } from \"powerlines\";\nimport type * as z3 from \"zod/v3\";\n\nexport type CommandParameterType =\n | string\n | number\n | boolean\n | (string | number)[];\n\nexport const CommandParameterKinds = {\n string: \"string\",\n number: \"number\",\n boolean: \"boolean\"\n} as const;\n\nexport type CommandParameterKind =\n (typeof CommandParameterKinds)[keyof typeof CommandParameterKinds];\n\nexport interface BaseCommandParameter {\n /**\n * The option name.\n */\n name: string;\n\n /**\n * The option kind.\n */\n kind: CommandParameterKind;\n\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The option description.\n */\n description: string;\n\n /**\n * Alternative option names.\n */\n alias: string[];\n\n /**\n * The default value.\n */\n default?: string | number | boolean | string[] | number[] | boolean[];\n\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface BaseSingleCommandParameter {\n /**\n * The default value.\n */\n default?: string | number | boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface BaseVariadicCommandParameter {\n /**\n * The default value.\n */\n default?: string[] | number[] | boolean[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport interface BaseStringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"string\";\n\n /**\n * The default value.\n */\n default?: string | string[];\n\n /**\n * A standard string format to validate the option value against.\n */\n format?:\n | \"email\"\n | \"uri\"\n | \"uuid\"\n | \"ipv4\"\n | \"ipv6\"\n | \"date\"\n | \"time\"\n | \"date-time\"\n | \"duration\";\n\n /**\n * The allowed choices for the option value.\n */\n choices?: string[];\n}\n\nexport interface SingleStringCommandParameter extends BaseStringCommandParameter {\n /**\n * The default value.\n */\n default?: string;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicStringCommandParameter extends BaseStringCommandParameter {\n /**\n * The default value.\n */\n default?: string[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type StringCommandParameter =\n | SingleStringCommandParameter\n | VariadicStringCommandParameter;\n\nexport interface BaseNumberCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"number\";\n\n /**\n * The default value.\n */\n default?: number | number[];\n\n /**\n * The allowed choices for the option value.\n */\n choices?: number[];\n}\n\nexport interface SingleNumberCommandParameter extends BaseNumberCommandParameter {\n /**\n * The default value.\n */\n default?: number;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicNumberCommandParameter extends BaseNumberCommandParameter {\n /**\n * The default value.\n */\n default?: number[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type NumberCommandParameter =\n | SingleNumberCommandParameter\n | VariadicNumberCommandParameter;\n\nexport interface BaseBooleanCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"boolean\";\n\n /**\n * The default value.\n */\n default?: boolean | boolean[];\n}\n\nexport interface SingleBooleanCommandParameter extends BaseBooleanCommandParameter {\n /**\n * The default value.\n */\n default?: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicBooleanCommandParameter extends BaseBooleanCommandParameter {\n /**\n * The default value.\n */\n default?: boolean[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type BooleanCommandParameter =\n | SingleBooleanCommandParameter\n | VariadicBooleanCommandParameter;\n\nexport type CommandParameter =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\n\nexport type AsCommandParameterConfig<T extends BaseCommandParameter> = Pick<\n T,\n \"kind\" | \"alias\"\n> &\n Partial<Omit<T, \"kind\" | \"alias\">> & {\n alias?: string | string[];\n };\n\nexport type StringCommandParameterConfig =\n AsCommandParameterConfig<StringCommandParameter>;\nexport type NumberCommandParameterConfig =\n AsCommandParameterConfig<NumberCommandParameter>;\nexport type BooleanCommandParameterConfig =\n AsCommandParameterConfig<BooleanCommandParameter>;\n\nexport type CommandParameterConfig =\n | StringCommandParameterConfig\n | NumberCommandParameterConfig\n | BooleanCommandParameterConfig;\n\nexport interface BooleanCommandOption extends SingleBooleanCommandParameter {\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport type CommandOption =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandOption\n | VariadicBooleanCommandParameter;\nexport type CommandOptionConfig = AsCommandParameterConfig<CommandOption>;\n\nexport type CommandArgument =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\nexport type CommandArgumentConfig = AsCommandParameterConfig<CommandArgument>;\n\nexport interface CommandBase {\n /**\n * The command id.\n */\n id: string | null;\n\n /**\n * The command name.\n */\n name: string;\n\n /**\n * The full command path value.\n */\n path: string | null;\n\n /**\n * The path segments.\n */\n segments: string[];\n\n /**\n * The display title.\n */\n title?: string;\n\n /**\n * The command description.\n */\n description?: string;\n\n /**\n * Alternative command names.\n */\n alias?: string[];\n\n /**\n * The command icon.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n */\n reference?: string;\n\n /**\n * Whether the command is virtual.\n *\n * @remarks\n * Virtual commands are considered forks in the command tree and are not directly executable. They are used to group related subcommands together without having an actual command handler or entry point.\n */\n isVirtual: boolean;\n}\n\nexport interface CommandConfig extends CommandBase {\n /**\n * The command id.\n */\n id: string;\n\n /**\n * The resolved entry definition.\n */\n entry: ResolvedEntryTypeDefinition;\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source?: \"file\" | string;\n}\n\nexport type CommandTree = CommandConfig & {\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The command description.\n */\n description: string;\n\n /**\n * Alternative command names.\n */\n alias: string[];\n\n /**\n * A set of tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source: \"file\" | string;\n\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n\n /**\n * The positional arguments provided to the command.\n */\n args: CommandArgument[];\n\n /**\n * The parent command.\n */\n parent: null | CommandTree;\n\n /**\n * Child commands.\n */\n children: Record<string, CommandTree>;\n};\n\nexport type SerializedCommandTree = Omit<CommandTree, \"parent\" | \"children\"> & {\n /**\n * The parent command id.\n */\n parent: null | string;\n /**\n * Serialized child commands.\n */\n children: Record<string, SerializedCommandTree>;\n};\n\nexport interface CommandMetadata {\n /**\n * The display name of the command.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a formatted value of the command name will be used.\n */\n title?: string;\n\n /**\n * A brief description of what the command does.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a default message may be shown.\n */\n description?: string;\n\n /**\n * One or more alternative names for the command.\n */\n alias?: string | string[];\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * An optional icon to visually represent the command in user interfaces.\n *\n * @remarks\n * This can be a string containing an emoji, a Unicode character, or any other symbol that helps to visually identify the command. If not provided, no icon will be displayed.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the command. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{referenceLink}/command/subcommand`.\n */\n reference?: string;\n}\n\nexport interface CommandModule {\n metadata?: CommandMetadata;\n options?:\n | Record<string, CommandOptionConfig>\n | JSONSchema7Object\n | StandardJSONSchemaV1<Record<string, CommandParameterType>>\n | z3.AnyZodObject;\n args?:\n | CommandArgumentConfig[]\n | JsonSchema7TupleType\n | StandardJSONSchemaV1<CommandParameterType[]>\n | z3.AnyZodTuple;\n default?: AnyFunction;\n}\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,UAAU;CAAC;CAAG;OAAM;OAAiB;CAAA;CAAA;CAAA;;;;;;;AAE3C,MAAM,aAAS;CAAA;CAAS;CAAG;CAAY;CAA2B;AAClE,MAAI,0BAA4B,CAAC,wBAAqB,gBAAa;AAEnE,MAAK,wBAA0B;;CAE9B,QAAW;CACX,SAAY;CACZ;AACD,MAAC,0BAA+B;OAAG;OAAkB;CAAA;CAAA;CAAA;AAErD,MAAM,0BAAqB;CAAM;CAAG;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,gCAAgC;CAAC;CAAW;CAAoB;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,kCAA+B;CAAI;CAAW;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;AAEjE,MAAM,gCAA6B;OAAO;CAAW;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,kCAAQ;OAA8B;CAAiB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAI7D,MAAI,4BAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,gCAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAIJ,MAAE,oCAAgB;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAElB,MAAE,4BAAiB;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAInB,MAAG,mCAAoC;OAAO;CAAsB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpE,MAAM,qCAAgC;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtC,MAAK,6BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,sBAAQ;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEd,MAAI,8BAAA;CAAA;OAAA;CAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAK,mCAAiB;OAAA;OAAA;CAAA;CAAA;CAAA;AAEtB,MAAE,4BAAa;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEf,MAAI,0BAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,mBAAA;OAAA;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAK,qBAAmB;OAAK;OAAA;OAAA;CAAA;CAAA;CAAA;AAE7B,MAAE,2BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEjB,MAAI,iBAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,mBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIJ,MAAK,2BAAyB;OAAQ;OAAgB;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtD,MAAM,qBAAe;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErB,MAAI,mBAAA;OAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -107,14 +107,13 @@ const __ΩOutputConfig = [
107
107
  const __ΩUserConfig = [
108
108
  () => __ΩBaseOptions,
109
109
  () => __ΩPartial,
110
- () => __ΩPartial,
111
110
  () => __ΩPick,
112
111
  "root",
113
112
  () => __ΩOutputConfig,
114
113
  "output",
115
114
  "Configuration for the output of the build process",
116
115
  "UserConfig",
117
- "Pn!!o\"\"!o#\"!.%o$#Pn&4'8?(MKw)y"
116
+ "Pn!!o\"\"!.$o##Pn%4&8?'MKw(y"
118
117
  ];
119
118
  const __ΩResolvedConfig = [
120
119
  () => __ΩRequired,
@@ -134,7 +133,7 @@ const __ΩResolvedConfig = [
134
133
  "userConfig",
135
134
  "The user configuration for the Shell Shock process.",
136
135
  "ResolvedConfig",
137
- "P!!!!n#P.$.%Jo\"#o!\"P&&o&#4'?(n)4*?+&4,?-n.4/?0MKw1y"
136
+ "P!!!n#P.$.%Jo\"#o!\"P&&o&#4'?(n)4*?+&4,?-n.4/?0MKw1y"
138
137
  ];
139
138
 
140
139
  //#endregion
@@ -2,7 +2,6 @@ import { CommandBase, CommandOption } from "./command.cjs";
2
2
  import { Context } from "./context.cjs";
3
3
  import { OutputConfig as OutputConfig$1 } from "powerlines";
4
4
  import { AutoMDPluginResolvedConfig } from "@powerlines/plugin-automd";
5
- import { DeepkitPluginResolvedConfig, DeepkitPluginUserConfig } from "@powerlines/plugin-deepkit";
6
5
  import { NodeJsPluginOptions, NodeJsPluginResolvedConfig, NodeJsPluginUserConfig } from "@powerlines/plugin-nodejs/types/plugin";
7
6
  import { TsdownPluginResolvedConfig, TsdownPluginUserConfig } from "@powerlines/plugin-tsdown/types/plugin";
8
7
 
@@ -80,7 +79,7 @@ type OutputConfig = Pick<OutputConfig$1, "path" | "copy" | "storage"> & {
80
79
  /**
81
80
  * The user configuration options for Shell Shock.
82
81
  */
83
- type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Partial<DeepkitPluginUserConfig> & Pick<NodeJsPluginUserConfig, "root"> & {
82
+ type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Pick<NodeJsPluginUserConfig, "root"> & {
84
83
  /**
85
84
  * Configuration for the output of the build process
86
85
  */
@@ -89,7 +88,7 @@ type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Partial<Deepki
89
88
  /**
90
89
  * The resolved configuration options for Shell Shock.
91
90
  */
92
- type ResolvedConfig = TsdownPluginResolvedConfig & AutoMDPluginResolvedConfig & NodeJsPluginResolvedConfig & DeepkitPluginResolvedConfig & Required<Omit<Options, "bin" | "reference">> & {
91
+ type ResolvedConfig = TsdownPluginResolvedConfig & AutoMDPluginResolvedConfig & NodeJsPluginResolvedConfig & Required<Omit<Options, "bin" | "reference">> & {
93
92
  /**
94
93
  * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | "bin" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).
95
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;;;;;KAoCK,YAAA,GAAe,IAAA,CAClB,sBAAA;AAAA,UAce,gBAAA;EAfZ;;;EAmBH,GAAA;EAlBsB;AAcxB;;;;;EAYE,QAAA;AAAA;AAAA,KAGG,WAAA,GAAc,OAAA,CAAQ,YAAA;EAAA;;;;;;EAOzB,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EAuCnB;;;;;EA/B5B,eAAA;EARe;;;;;;;;;;EAoBf,GAAA;EAmB4B;AAM9B;;;;;;;;EAdE,aAAA;EAckC;;;;AAKpC;;EAXE,SAAA,GAAY,gBAAA;AAAA;;;;KAMF,OAAA,GAAU,WAAA,GAAc,OAAA,CAAQ,mBAAA;;AAkB5C;;KAbY,YAAA,GAAe,IAAA,CACzB,cAAA;EAYuB;;;EANvB,GAAA;AAAA;;;;KAMU,UAAA,GAAa,WAAA,GACvB,OAAA,CAAQ,sBAAA,IACR,OAAA,CAAQ,uBAAA,IACR,IAAA,CAAK,sBAAA;EAIkB;;;EAArB,MAAA,GAAS,YAAA;AAAA;;;;KAMD,cAAA,GAAiB,0BAAA,GAC3B,0BAAA,GACA,0BAAA,GACA,2BAAA,GACA,QAAA,CAAS,IAAA,CAAK,OAAA;EAVH;;;AAMb;;;;;;;EAeI,GAAA,EAAK,MAAA;EAXE;;;EAgBP,SAAA,EAAW,gBAAA;EAUC;;;EALZ,oBAAA;EAxBF;;;EA6BE,UAAA,EAAY,UAAA;AAAA"}
1
+ {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,IAAA,CAClB,sBAAA;AAAA,UAce,gBAAA;EAfZ;;;EAmBH,GAAA;EAlBsB;AAcxB;;;;;EAYE,QAAA;AAAA;AAAA,KAGG,WAAA,GAAc,OAAA,CAAQ,YAAA;EAAA;;;;;;EAOzB,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EAuCnB;;;;;EA/B5B,eAAA;EARe;;;;;;;;;;EAoBf,GAAA;EAmB4B;AAM9B;;;;;;;;EAdE,aAAA;EAckC;;;;AAKpC;;EAXE,SAAA,GAAY,gBAAA;AAAA;;;;KAMF,OAAA,GAAU,WAAA,GAAc,OAAA,CAAQ,mBAAA;;AAkB5C;;KAbY,YAAA,GAAe,IAAA,CACzB,cAAA;EAYuB;;;EANvB,GAAA;AAAA;;;;KAMU,UAAA,GAAa,WAAA,GACvB,OAAA,CAAQ,sBAAA,IACR,IAAA,CAAK,sBAAA;EADL;;;EAKE,MAAA,GAAS,YAAA;AAAA;;;;KAMD,cAAA,GAAiB,0BAAA,GAC3B,0BAAA,GACA,0BAAA,GACA,QAAA,CAAS,IAAA,CAAK,OAAA;EAHU;;;;;;;;;;EActB,GAAA,EAAK,MAAA;EAeiB;;;EAVtB,SAAA,EAAW,gBAAA;EAjBb;;;EAsBE,oBAAA;EAVA;;;EAeA,UAAA,EAAY,UAAA;AAAA"}
@@ -2,7 +2,6 @@ import { CommandBase, CommandOption } from "./command.mjs";
2
2
  import { Context } from "./context.mjs";
3
3
  import { OutputConfig as OutputConfig$1 } from "powerlines";
4
4
  import { AutoMDPluginResolvedConfig } from "@powerlines/plugin-automd";
5
- import { DeepkitPluginResolvedConfig, DeepkitPluginUserConfig } from "@powerlines/plugin-deepkit";
6
5
  import { NodeJsPluginOptions, NodeJsPluginResolvedConfig, NodeJsPluginUserConfig } from "@powerlines/plugin-nodejs/types/plugin";
7
6
  import { TsdownPluginResolvedConfig, TsdownPluginUserConfig } from "@powerlines/plugin-tsdown/types/plugin";
8
7
 
@@ -80,7 +79,7 @@ type OutputConfig = Pick<OutputConfig$1, "path" | "copy" | "storage"> & {
80
79
  /**
81
80
  * The user configuration options for Shell Shock.
82
81
  */
83
- type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Partial<DeepkitPluginUserConfig> & Pick<NodeJsPluginUserConfig, "root"> & {
82
+ type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Pick<NodeJsPluginUserConfig, "root"> & {
84
83
  /**
85
84
  * Configuration for the output of the build process
86
85
  */
@@ -89,7 +88,7 @@ type UserConfig = BaseOptions & Partial<NodeJsPluginUserConfig> & Partial<Deepki
89
88
  /**
90
89
  * The resolved configuration options for Shell Shock.
91
90
  */
92
- type ResolvedConfig = TsdownPluginResolvedConfig & AutoMDPluginResolvedConfig & NodeJsPluginResolvedConfig & DeepkitPluginResolvedConfig & Required<Omit<Options, "bin" | "reference">> & {
91
+ type ResolvedConfig = TsdownPluginResolvedConfig & AutoMDPluginResolvedConfig & NodeJsPluginResolvedConfig & Required<Omit<Options, "bin" | "reference">> & {
93
92
  /**
94
93
  * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | "bin" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).
95
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;;;;;KAoCK,YAAA,GAAe,IAAA,CAClB,sBAAA;AAAA,UAce,gBAAA;EAfZ;;;EAmBH,GAAA;EAlBsB;AAcxB;;;;;EAYE,QAAA;AAAA;AAAA,KAGG,WAAA,GAAc,OAAA,CAAQ,YAAA;EAAA;;;;;;EAOzB,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EAuCnB;;;;;EA/B5B,eAAA;EARe;;;;;;;;;;EAoBf,GAAA;EAmB4B;AAM9B;;;;;;;;EAdE,aAAA;EAckC;;;;AAKpC;;EAXE,SAAA,GAAY,gBAAA;AAAA;;;;KAMF,OAAA,GAAU,WAAA,GAAc,OAAA,CAAQ,mBAAA;;AAkB5C;;KAbY,YAAA,GAAe,IAAA,CACzB,cAAA;EAYuB;;;EANvB,GAAA;AAAA;;;;KAMU,UAAA,GAAa,WAAA,GACvB,OAAA,CAAQ,sBAAA,IACR,OAAA,CAAQ,uBAAA,IACR,IAAA,CAAK,sBAAA;EAIkB;;;EAArB,MAAA,GAAS,YAAA;AAAA;;;;KAMD,cAAA,GAAiB,0BAAA,GAC3B,0BAAA,GACA,0BAAA,GACA,2BAAA,GACA,QAAA,CAAS,IAAA,CAAK,OAAA;EAVH;;;AAMb;;;;;;;EAeI,GAAA,EAAK,MAAA;EAXE;;;EAgBP,SAAA,EAAW,gBAAA;EAUC;;;EALZ,oBAAA;EAxBF;;;EA6BE,UAAA,EAAY,UAAA;AAAA"}
1
+ {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,IAAA,CAClB,sBAAA;AAAA,UAce,gBAAA;EAfZ;;;EAmBH,GAAA;EAlBsB;AAcxB;;;;;EAYE,QAAA;AAAA;AAAA,KAGG,WAAA,GAAc,OAAA,CAAQ,YAAA;EAAA;;;;;;EAOzB,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EAuCnB;;;;;EA/B5B,eAAA;EARe;;;;;;;;;;EAoBf,GAAA;EAmB4B;AAM9B;;;;;;;;EAdE,aAAA;EAckC;;;;AAKpC;;EAXE,SAAA,GAAY,gBAAA;AAAA;;;;KAMF,OAAA,GAAU,WAAA,GAAc,OAAA,CAAQ,mBAAA;;AAkB5C;;KAbY,YAAA,GAAe,IAAA,CACzB,cAAA;EAYuB;;;EANvB,GAAA;AAAA;;;;KAMU,UAAA,GAAa,WAAA,GACvB,OAAA,CAAQ,sBAAA,IACR,IAAA,CAAK,sBAAA;EADL;;;EAKE,MAAA,GAAS,YAAA;AAAA;;;;KAMD,cAAA,GAAiB,0BAAA,GAC3B,0BAAA,GACA,0BAAA,GACA,QAAA,CAAS,IAAA,CAAK,OAAA;EAHU;;;;;;;;;;EActB,GAAA,EAAK,MAAA;EAeiB;;;EAVtB,SAAA,EAAW,gBAAA;EAjBb;;;EAsBE,oBAAA;EAVA;;;EAeA,UAAA,EAAY,UAAA;AAAA"}
@@ -105,14 +105,13 @@ const __ΩOutputConfig = [
105
105
  const __ΩUserConfig = [
106
106
  () => __ΩBaseOptions,
107
107
  () => __ΩPartial,
108
- () => __ΩPartial,
109
108
  () => __ΩPick,
110
109
  "root",
111
110
  () => __ΩOutputConfig,
112
111
  "output",
113
112
  "Configuration for the output of the build process",
114
113
  "UserConfig",
115
- "Pn!!o\"\"!o#\"!.%o$#Pn&4'8?(MKw)y"
114
+ "Pn!!o\"\"!.$o##Pn%4&8?'MKw(y"
116
115
  ];
117
116
  const __ΩResolvedConfig = [
118
117
  () => __ΩRequired,
@@ -132,7 +131,7 @@ const __ΩResolvedConfig = [
132
131
  "userConfig",
133
132
  "The user configuration for the Shell Shock process.",
134
133
  "ResolvedConfig",
135
- "P!!!!n#P.$.%Jo\"#o!\"P&&o&#4'?(n)4*?+&4,?-n.4/?0MKw1y"
134
+ "P!!!n#P.$.%Jo\"#o!\"P&&o&#4'?(n)4*?+&4,?-n.4/?0MKw1y"
136
135
  ];
137
136
 
138
137
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { AutoMDPluginResolvedConfig } from \"@powerlines/plugin-automd\";\nimport type {\n DeepkitPluginResolvedConfig,\n DeepkitPluginUserConfig\n} from \"@powerlines/plugin-deepkit\";\nimport type {\n NodeJsPluginOptions,\n NodeJsPluginResolvedConfig,\n NodeJsPluginUserConfig\n} from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type {\n TsdownPluginResolvedConfig,\n TsdownPluginUserConfig\n} from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { OutputConfig as PowerlinesOutputConfig } from \"powerlines\";\nimport type { CommandBase, CommandOption } from \"./command\";\nimport type { Context } from \"./context\";\n\ntype BuildOptions = Pick<\n TsdownPluginUserConfig,\n | \"root\"\n | \"name\"\n | \"title\"\n | \"description\"\n | \"logLevel\"\n | \"mode\"\n | \"skipCache\"\n | \"autoInstall\"\n | \"plugins\"\n | \"tsconfig\"\n | \"tsconfigRaw\"\n>;\n\nexport interface ReferenceOptions {\n /**\n * A URL to the application documentation or reference.\n */\n app: string;\n\n /**\n * A URL to the application command specific documentation or reference.\n *\n * @remarks\n * This URL is expected to contain the token `{command}`, which will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{reference}/command/subcommand`.\n */\n commands?: string;\n}\n\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of global command options to apply to each command.\n *\n * @remarks\n * Each command will inherit these global options. To disable the addition of these global options, set this property to `false`, or provide a custom set of options/a function that returns them. A `GlobalOptions` interface will be created by the `shell-shock types` command and added to the generated `shell-shock.d.ts` file.\n */\n globalOptions?:\n | CommandOption[]\n | ((context: Context, input: CommandBase) => CommandOption[])\n | false;\n\n /**\n * Determines whether commands and option names are treated as case-sensitive.\n *\n * @defaultValue `false`\n */\n isCaseSensitive?: boolean;\n\n /**\n * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | \"bin\" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).\n *\n * @remarks\n * If an array is provided, each binary will be linked to the same compiled output file. If not provided, the {@link Options.name | name} option will be used.\n *\n * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin\n * @see https://yarnpkg.com/cli/bin\n * @see https://pnpm.io/package_json#bin\n */\n bin?: string | string[];\n\n /**\n * Should Shell Shock attempt to automatically assign environment variables to manipulate default values for command options based on the option name?\n *\n * @remarks\n * If set to a string, Shell Shock will use the provided string as an application specific environment variable prefix, convert the option name to {@link https://stringcase.org/cases/constant/ | constant case}, and prepend the provided `string` value to determine the corresponding environment variable name. For example, if an option is named `\"configPath\"` and the `autoAssignEnv` is `\"MY_APP_\"`, Shell Shock will look for an environment variable named `\"MY_APP_CONFIG_PATH\"` and assign its value to the option if it exists. If set to `true`, Shell Shock will use a default environment variable prefix derived from the {@link Options.name | application name}.\n *\n * @see https://medium.com/chingu/an-introduction-to-environment-variables-and-how-to-use-them-f602f66d15fa\n * @see https://stringcase.org/cases/constant/\n */\n autoAssignEnv?: true | string;\n\n /**\n * A URL to the application documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the application. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{reference}/command/subcommand`.\n */\n reference?: ReferenceOptions | string;\n};\n\n/**\n * The plugin options for Shell Shock.\n */\nexport type Options = BaseOptions & Partial<NodeJsPluginOptions>;\n\n/**\n * The output configuration options for Shell Shock.\n */\nexport type OutputConfig = Pick<\n PowerlinesOutputConfig,\n \"path\" | \"copy\" | \"storage\"\n> & {\n /**\n * An indicator specifying whether to generate TypeScript declaration files (.d.ts) during the build process.\n */\n dts?: false;\n};\n\n/**\n * The user configuration options for Shell Shock.\n */\nexport type UserConfig = BaseOptions &\n Partial<NodeJsPluginUserConfig> &\n Partial<DeepkitPluginUserConfig> &\n Pick<NodeJsPluginUserConfig, \"root\"> & {\n /**\n * Configuration for the output of the build process\n */\n output?: OutputConfig;\n };\n\n/**\n * The resolved configuration options for Shell Shock.\n */\nexport type ResolvedConfig = TsdownPluginResolvedConfig &\n AutoMDPluginResolvedConfig &\n NodeJsPluginResolvedConfig &\n DeepkitPluginResolvedConfig &\n Required<Omit<Options, \"bin\" | \"reference\">> & {\n /**\n * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | \"bin\" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).\n *\n * @remarks\n * If an array is provided, each binary will be linked to the same compiled output file. If not provided, the {@link Options.name | name} option will be used.\n *\n * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin\n * @see https://yarnpkg.com/cli/bin\n * @see https://pnpm.io/package_json#bin\n */\n bin: Record<string, string>;\n\n /**\n * The URL(s) to the application documentation or reference.\n */\n reference: ReferenceOptions;\n\n /**\n * The command-line application specific environment variable prefix used for automatically assigning environment variables to command options.\n */\n appSpecificEnvPrefix: string;\n\n /**\n * The user configuration for the Shell Shock process.\n */\n userConfig: UserConfig;\n };\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,cAAc;CAAA;CAAM;CAAW;CAAM;;;;;;;;;AAE3C,MAAM,YAAS;CAAA;CAAS;CAAG;CAAY;CAAqB;AAC5D,MAAI,aAAc;CAAA;CAAM;CAAA;CAAe;CAA4B;AACnE,MAAM,kBAAkB;OAAC;CAAa;CAAS;CAAA;CAAa;CAAO;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACnE,MAAK,sBAAuB;CAAC;CAAE;CAA+C;CAAA;CAAA;CAAA;CAAA;AAE9E,MAAC,iBAAsB;OAAI;OAAqB;CAAC;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACjD,MAAC,aAAkB;OAAO;OAAoB;CAAc;CAAO;CAAA;AAEnE,MAAC,kBAAuB;OAAG;CAAQ;CAAa;CAAK;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,gBAAQ;OAAa;OAAS;OAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,oBAAoB;OAAO;OAAmB;OAAe;CAAG;CAAA;OAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
1
+ {"version":3,"file":"config.mjs","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { AutoMDPluginResolvedConfig } from \"@powerlines/plugin-automd\";\nimport type {\n NodeJsPluginOptions,\n NodeJsPluginResolvedConfig,\n NodeJsPluginUserConfig\n} from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type {\n TsdownPluginResolvedConfig,\n TsdownPluginUserConfig\n} from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { OutputConfig as PowerlinesOutputConfig } from \"powerlines\";\nimport type { CommandBase, CommandOption } from \"./command\";\nimport type { Context } from \"./context\";\n\ntype BuildOptions = Pick<\n TsdownPluginUserConfig,\n | \"root\"\n | \"name\"\n | \"title\"\n | \"description\"\n | \"logLevel\"\n | \"mode\"\n | \"skipCache\"\n | \"autoInstall\"\n | \"plugins\"\n | \"tsconfig\"\n | \"tsconfigRaw\"\n>;\n\nexport interface ReferenceOptions {\n /**\n * A URL to the application documentation or reference.\n */\n app: string;\n\n /**\n * A URL to the application command specific documentation or reference.\n *\n * @remarks\n * This URL is expected to contain the token `{command}`, which will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{reference}/command/subcommand`.\n */\n commands?: string;\n}\n\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of global command options to apply to each command.\n *\n * @remarks\n * Each command will inherit these global options. To disable the addition of these global options, set this property to `false`, or provide a custom set of options/a function that returns them. A `GlobalOptions` interface will be created by the `shell-shock types` command and added to the generated `shell-shock.d.ts` file.\n */\n globalOptions?:\n | CommandOption[]\n | ((context: Context, input: CommandBase) => CommandOption[])\n | false;\n\n /**\n * Determines whether commands and option names are treated as case-sensitive.\n *\n * @defaultValue `false`\n */\n isCaseSensitive?: boolean;\n\n /**\n * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | \"bin\" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).\n *\n * @remarks\n * If an array is provided, each binary will be linked to the same compiled output file. If not provided, the {@link Options.name | name} option will be used.\n *\n * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin\n * @see https://yarnpkg.com/cli/bin\n * @see https://pnpm.io/package_json#bin\n */\n bin?: string | string[];\n\n /**\n * Should Shell Shock attempt to automatically assign environment variables to manipulate default values for command options based on the option name?\n *\n * @remarks\n * If set to a string, Shell Shock will use the provided string as an application specific environment variable prefix, convert the option name to {@link https://stringcase.org/cases/constant/ | constant case}, and prepend the provided `string` value to determine the corresponding environment variable name. For example, if an option is named `\"configPath\"` and the `autoAssignEnv` is `\"MY_APP_\"`, Shell Shock will look for an environment variable named `\"MY_APP_CONFIG_PATH\"` and assign its value to the option if it exists. If set to `true`, Shell Shock will use a default environment variable prefix derived from the {@link Options.name | application name}.\n *\n * @see https://medium.com/chingu/an-introduction-to-environment-variables-and-how-to-use-them-f602f66d15fa\n * @see https://stringcase.org/cases/constant/\n */\n autoAssignEnv?: true | string;\n\n /**\n * A URL to the application documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the application. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{reference}/command/subcommand`.\n */\n reference?: ReferenceOptions | string;\n};\n\n/**\n * The plugin options for Shell Shock.\n */\nexport type Options = BaseOptions & Partial<NodeJsPluginOptions>;\n\n/**\n * The output configuration options for Shell Shock.\n */\nexport type OutputConfig = Pick<\n PowerlinesOutputConfig,\n \"path\" | \"copy\" | \"storage\"\n> & {\n /**\n * An indicator specifying whether to generate TypeScript declaration files (.d.ts) during the build process.\n */\n dts?: false;\n};\n\n/**\n * The user configuration options for Shell Shock.\n */\nexport type UserConfig = BaseOptions &\n Partial<NodeJsPluginUserConfig> &\n Pick<NodeJsPluginUserConfig, \"root\"> & {\n /**\n * Configuration for the output of the build process\n */\n output?: OutputConfig;\n };\n\n/**\n * The resolved configuration options for Shell Shock.\n */\nexport type ResolvedConfig = TsdownPluginResolvedConfig &\n AutoMDPluginResolvedConfig &\n NodeJsPluginResolvedConfig &\n Required<Omit<Options, \"bin\" | \"reference\">> & {\n /**\n * The name of the binary (the {@link https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin | \"bin\" field} in package.json) that will be used to run the application through NodeJs package managers (e.g., npm, yarn, pnpm).\n *\n * @remarks\n * If an array is provided, each binary will be linked to the same compiled output file. If not provided, the {@link Options.name | name} option will be used.\n *\n * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin\n * @see https://yarnpkg.com/cli/bin\n * @see https://pnpm.io/package_json#bin\n */\n bin: Record<string, string>;\n\n /**\n * The URL(s) to the application documentation or reference.\n */\n reference: ReferenceOptions;\n\n /**\n * The command-line application specific environment variable prefix used for automatically assigning environment variables to command options.\n */\n appSpecificEnvPrefix: string;\n\n /**\n * The user configuration for the Shell Shock process.\n */\n userConfig: UserConfig;\n };\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,cAAc;CAAA;CAAM;CAAW;CAAM;;;;;;;;;AAE3C,MAAM,YAAS;CAAA;CAAS;CAAG;CAAY;CAAqB;AAC5D,MAAI,aAAc;CAAA;CAAM;CAAA;CAAe;CAA4B;AACnE,MAAM,kBAAkB;OAAC;CAAa;CAAS;CAAA;CAAa;CAAO;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACnE,MAAK,sBAAuB;CAAC;CAAE;CAA+C;CAAA;CAAA;CAAA;CAAA;AAE9E,MAAC,iBAAsB;OAAI;OAAqB;CAAC;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACjD,MAAC,aAAkB;OAAO;OAAoB;CAAc;CAAO;CAAA;AAEnE,MAAC,kBAAuB;OAAG;CAAQ;CAAa;CAAK;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,gBAAQ;OAAa;OAAS;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,oBAAoB;OAAO;OAAmB;OAAe;CAAG;CAAA;OAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -6,8 +6,13 @@ const require_types_options = require('./options.cjs');
6
6
 
7
7
  exports.CommandParameterKinds = require_types_command.CommandParameterKinds;
8
8
  exports.__ΩAsCommandParameterConfig = require_types_command.__ΩAsCommandParameterConfig;
9
+ exports.__ΩBaseBooleanCommandParameter = require_types_command.__ΩBaseBooleanCommandParameter;
9
10
  exports.__ΩBaseCommandOptions = require_types_options.__ΩBaseCommandOptions;
10
11
  exports.__ΩBaseCommandParameter = require_types_command.__ΩBaseCommandParameter;
12
+ exports.__ΩBaseNumberCommandParameter = require_types_command.__ΩBaseNumberCommandParameter;
13
+ exports.__ΩBaseSingleCommandParameter = require_types_command.__ΩBaseSingleCommandParameter;
14
+ exports.__ΩBaseStringCommandParameter = require_types_command.__ΩBaseStringCommandParameter;
15
+ exports.__ΩBaseVariadicCommandParameter = require_types_command.__ΩBaseVariadicCommandParameter;
11
16
  exports.__ΩBooleanCommandOption = require_types_command.__ΩBooleanCommandOption;
12
17
  exports.__ΩBooleanCommandParameter = require_types_command.__ΩBooleanCommandParameter;
13
18
  exports.__ΩBooleanCommandParameterConfig = require_types_command.__ΩBooleanCommandParameterConfig;
@@ -32,7 +37,13 @@ exports.__ΩOutputConfig = require_types_config.__ΩOutputConfig;
32
37
  exports.__ΩReferenceOptions = require_types_config.__ΩReferenceOptions;
33
38
  exports.__ΩResolvedConfig = require_types_config.__ΩResolvedConfig;
34
39
  exports.__ΩSerializedCommandTree = require_types_command.__ΩSerializedCommandTree;
40
+ exports.__ΩSingleBooleanCommandParameter = require_types_command.__ΩSingleBooleanCommandParameter;
41
+ exports.__ΩSingleNumberCommandParameter = require_types_command.__ΩSingleNumberCommandParameter;
42
+ exports.__ΩSingleStringCommandParameter = require_types_command.__ΩSingleStringCommandParameter;
35
43
  exports.__ΩStringCommandParameter = require_types_command.__ΩStringCommandParameter;
36
44
  exports.__ΩStringCommandParameterConfig = require_types_command.__ΩStringCommandParameterConfig;
37
45
  exports.__ΩUnresolvedContext = require_types_context.__ΩUnresolvedContext;
38
- exports.__ΩUserConfig = require_types_config.__ΩUserConfig;
46
+ exports.__ΩUserConfig = require_types_config.__ΩUserConfig;
47
+ exports.__ΩVariadicBooleanCommandParameter = require_types_command.__ΩVariadicBooleanCommandParameter;
48
+ exports.__ΩVariadicNumberCommandParameter = require_types_command.__ΩVariadicNumberCommandParameter;
49
+ exports.__ΩVariadicStringCommandParameter = require_types_command.__ΩVariadicStringCommandParameter;
@@ -1,5 +1,5 @@
1
- import { AsCommandParameterConfig, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig } from "./command.cjs";
1
+ import { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter } from "./command.cjs";
2
2
  import { Context, UnresolvedContext } from "./context.cjs";
3
3
  import { Options, OutputConfig, ReferenceOptions, ResolvedConfig, UserConfig } from "./config.cjs";
4
4
  import { BaseCommandOptions } from "./options.cjs";
5
- export { AsCommandParameterConfig, BaseCommandOptions, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig };
5
+ export { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandOptions, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter };
@@ -1,5 +1,5 @@
1
- import { AsCommandParameterConfig, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig } from "./command.mjs";
1
+ import { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter } from "./command.mjs";
2
2
  import { Context, UnresolvedContext } from "./context.mjs";
3
3
  import { Options, OutputConfig, ReferenceOptions, ResolvedConfig, UserConfig } from "./config.mjs";
4
4
  import { BaseCommandOptions } from "./options.mjs";
5
- export { AsCommandParameterConfig, BaseCommandOptions, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig };
5
+ export { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandOptions, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter };
@@ -1,6 +1,6 @@
1
- import { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig } from "./command.mjs";
1
+ import { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter } from "./command.mjs";
2
2
  import { __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩUserConfig } from "./config.mjs";
3
3
  import { __ΩContext, __ΩUnresolvedContext } from "./context.mjs";
4
4
  import { __ΩBaseCommandOptions } from "./options.mjs";
5
5
 
6
- export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandOptions, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩContext, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩUnresolvedContext, __ΩUserConfig };
6
+ export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandOptions, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩContext, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩUnresolvedContext, __ΩUserConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shell-shock/core",
3
- "version": "0.17.4",
3
+ "version": "0.17.6",
4
4
  "private": false,
5
5
  "description": "A package containing the core Shell Shock functionality used to build and manage a command-line application.",
6
6
  "keywords": ["shell-shock", "powerlines", "storm-software"],
@@ -364,12 +364,12 @@
364
364
  "@alloy-js/core": "0.23.0-dev.8",
365
365
  "@alloy-js/markdown": "0.23.0-dev.1",
366
366
  "@alloy-js/typescript": "0.23.0-dev.4",
367
- "@powerlines/deepkit": "^0.8.1",
368
- "@powerlines/plugin-alloy": "^0.26.16",
369
- "@powerlines/plugin-automd": "^0.1.397",
370
- "@powerlines/plugin-deepkit": "^0.11.278",
371
- "@powerlines/plugin-nodejs": "^0.1.323",
372
- "@powerlines/plugin-tsdown": "^0.1.339",
367
+ "@powerlines/deepkit": "^0.8.2",
368
+ "@powerlines/plugin-alloy": "^0.26.18",
369
+ "@powerlines/plugin-automd": "^0.1.399",
370
+ "@powerlines/plugin-deepkit": "^0.11.280",
371
+ "@powerlines/plugin-nodejs": "^0.1.325",
372
+ "@powerlines/plugin-tsdown": "^0.1.340",
373
373
  "@standard-schema/spec": "^1.1.0",
374
374
  "@standard-schema/utils": "^0.3.0",
375
375
  "@stryke/cli": "^0.13.38",
@@ -388,15 +388,15 @@
388
388
  "tsdown": "^0.21.8"
389
389
  },
390
390
  "devDependencies": {
391
- "@powerlines/plugin-plugin": "^0.12.348",
391
+ "@powerlines/plugin-plugin": "^0.12.350",
392
392
  "@types/json-schema": "^7.0.15",
393
393
  "@types/node": "^25.6.0",
394
- "powerlines": "^0.42.38",
394
+ "powerlines": "^0.42.40",
395
395
  "typescript": "^5.9.3",
396
396
  "zod": "^4.3.6"
397
397
  },
398
398
  "peerDependencies": { "powerlines": ">=0.42.10", "zod": "^3.25.0 || ^4.0.0" },
399
399
  "peerDependenciesMeta": { "zod": { "optional": true } },
400
400
  "publishConfig": { "access": "public" },
401
- "gitHead": "1364666ac28f03cca26271afb582c71a2fe12ecd"
401
+ "gitHead": "592aee8162fccb2d8547f6cf31b820aca3ae13ec"
402
402
  }