@shell-shock/core 0.9.7 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/api.cjs +1 -2
  2. package/dist/api.cjs.map +1 -1
  3. package/dist/api.d.cts +1 -1
  4. package/dist/api.d.mts +1 -1
  5. package/dist/api.mjs +1 -2
  6. package/dist/api.mjs.map +1 -1
  7. package/dist/components/docs.cjs +4 -4
  8. package/dist/components/docs.cjs.map +1 -1
  9. package/dist/components/docs.d.cts +5 -5
  10. package/dist/components/docs.d.mts +5 -5
  11. package/dist/components/helpers.d.cts +6 -6
  12. package/dist/components/helpers.d.mts +6 -6
  13. package/dist/components/helpers.d.mts.map +1 -1
  14. package/dist/components/index.cjs +1 -0
  15. package/dist/components/index.d.cts +2 -2
  16. package/dist/components/index.d.mts +2 -2
  17. package/dist/components/index.mjs +2 -2
  18. package/dist/components/options-parser-logic.cjs +31 -31
  19. package/dist/components/options-parser-logic.cjs.map +1 -1
  20. package/dist/components/options-parser-logic.d.cts +9 -9
  21. package/dist/components/options-parser-logic.d.cts.map +1 -1
  22. package/dist/components/options-parser-logic.d.mts +9 -9
  23. package/dist/components/options-parser-logic.d.mts.map +1 -1
  24. package/dist/components/options-parser-logic.mjs +26 -26
  25. package/dist/components/options-parser-logic.mjs.map +1 -1
  26. package/dist/components/usage.cjs +5 -5
  27. package/dist/components/usage.cjs.map +1 -1
  28. package/dist/components/usage.d.cts +2 -2
  29. package/dist/components/usage.d.cts.map +1 -1
  30. package/dist/components/usage.mjs +4 -4
  31. package/dist/components/usage.mjs.map +1 -1
  32. package/dist/components/utils-builtin.cjs +204 -0
  33. package/dist/components/utils-builtin.cjs.map +1 -1
  34. package/dist/components/utils-builtin.d.cts +13 -9
  35. package/dist/components/utils-builtin.d.cts.map +1 -1
  36. package/dist/components/utils-builtin.d.mts +13 -9
  37. package/dist/components/utils-builtin.d.mts.map +1 -1
  38. package/dist/components/utils-builtin.mjs +208 -5
  39. package/dist/components/utils-builtin.mjs.map +1 -1
  40. package/dist/contexts/options.cjs +2 -2
  41. package/dist/contexts/options.cjs.map +1 -1
  42. package/dist/contexts/options.d.cts +1 -1
  43. package/dist/contexts/options.d.cts.map +1 -1
  44. package/dist/contexts/options.d.mts +1 -1
  45. package/dist/contexts/options.d.mts.map +1 -1
  46. package/dist/contexts/options.mjs +4 -4
  47. package/dist/contexts/options.mjs.map +1 -1
  48. package/dist/helpers/automd.cjs +2 -2
  49. package/dist/helpers/automd.cjs.map +1 -1
  50. package/dist/helpers/automd.mjs.map +1 -1
  51. package/dist/helpers/docs-helpers.cjs +1 -1
  52. package/dist/helpers/docs-helpers.cjs.map +1 -1
  53. package/dist/helpers/docs-helpers.mjs +1 -1
  54. package/dist/helpers/docs-helpers.mjs.map +1 -1
  55. package/dist/helpers/paths.cjs +125 -0
  56. package/dist/helpers/paths.cjs.map +1 -0
  57. package/dist/helpers/paths.mjs +121 -0
  58. package/dist/helpers/paths.mjs.map +1 -0
  59. package/dist/helpers/persistence.cjs +68 -116
  60. package/dist/helpers/persistence.cjs.map +1 -1
  61. package/dist/helpers/persistence.mjs +68 -116
  62. package/dist/helpers/persistence.mjs.map +1 -1
  63. package/dist/helpers/update-package-json.cjs +5 -5
  64. package/dist/helpers/update-package-json.cjs.map +1 -1
  65. package/dist/helpers/update-package-json.mjs +1 -1
  66. package/dist/helpers/update-package-json.mjs.map +1 -1
  67. package/dist/helpers/utilities.cjs +1 -1
  68. package/dist/helpers/utilities.mjs +1 -1
  69. package/dist/helpers/validations.cjs +2 -3
  70. package/dist/helpers/validations.cjs.map +1 -1
  71. package/dist/helpers/validations.mjs +2 -2
  72. package/dist/helpers/validations.mjs.map +1 -1
  73. package/dist/index.cjs +14 -15
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.cts +2 -4
  76. package/dist/index.d.mts +2 -4
  77. package/dist/index.mjs +3 -5
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/plugin-utils/deepkit.cjs +72 -0
  80. package/dist/plugin-utils/deepkit.cjs.map +1 -0
  81. package/dist/plugin-utils/deepkit.d.cts +24 -0
  82. package/dist/plugin-utils/deepkit.d.cts.map +1 -0
  83. package/dist/plugin-utils/deepkit.d.mts +24 -0
  84. package/dist/plugin-utils/deepkit.d.mts.map +1 -0
  85. package/dist/plugin-utils/deepkit.mjs +70 -0
  86. package/dist/plugin-utils/deepkit.mjs.map +1 -0
  87. package/dist/plugin-utils/get-command-tree.cjs +2 -2
  88. package/dist/plugin-utils/get-command-tree.cjs.map +1 -1
  89. package/dist/plugin-utils/index.cjs +27 -18
  90. package/dist/plugin-utils/index.d.cts +3 -1
  91. package/dist/plugin-utils/index.d.mts +3 -1
  92. package/dist/plugin-utils/index.mjs +3 -1
  93. package/dist/plugin-utils/reflect.cjs +4 -5
  94. package/dist/plugin-utils/reflect.cjs.map +1 -1
  95. package/dist/plugin-utils/reflect.mjs +4 -4
  96. package/dist/plugin-utils/reflect.mjs.map +1 -1
  97. package/dist/plugin-utils/type-checks.cjs +89 -0
  98. package/dist/plugin-utils/type-checks.cjs.map +1 -0
  99. package/dist/plugin-utils/type-checks.d.cts +42 -0
  100. package/dist/plugin-utils/type-checks.d.cts.map +1 -0
  101. package/dist/plugin-utils/type-checks.d.mts +42 -0
  102. package/dist/plugin-utils/type-checks.d.mts.map +1 -0
  103. package/dist/plugin-utils/type-checks.mjs +84 -0
  104. package/dist/plugin-utils/type-checks.mjs.map +1 -0
  105. package/dist/plugin.cjs +48 -45
  106. package/dist/plugin.cjs.map +1 -1
  107. package/dist/plugin.d.cts.map +1 -1
  108. package/dist/plugin.d.mts.map +1 -1
  109. package/dist/plugin.mjs +30 -26
  110. package/dist/plugin.mjs.map +1 -1
  111. package/dist/resolver/deepkit.cjs +129 -0
  112. package/dist/resolver/deepkit.cjs.map +1 -0
  113. package/dist/resolver/deepkit.mjs +128 -0
  114. package/dist/resolver/deepkit.mjs.map +1 -0
  115. package/dist/resolver/helpers.cjs +173 -0
  116. package/dist/resolver/helpers.cjs.map +1 -0
  117. package/dist/resolver/helpers.mjs +168 -0
  118. package/dist/resolver/helpers.mjs.map +1 -0
  119. package/dist/resolver/module.cjs +144 -0
  120. package/dist/resolver/module.cjs.map +1 -0
  121. package/dist/resolver/module.mjs +143 -0
  122. package/dist/resolver/module.mjs.map +1 -0
  123. package/dist/resolver/resolve.cjs +209 -0
  124. package/dist/resolver/resolve.cjs.map +1 -0
  125. package/dist/resolver/resolve.mjs +208 -0
  126. package/dist/resolver/resolve.mjs.map +1 -0
  127. package/dist/types/command.cjs +131 -99
  128. package/dist/types/command.cjs.map +1 -1
  129. package/dist/types/command.d.cts +49 -75
  130. package/dist/types/command.d.cts.map +1 -1
  131. package/dist/types/command.d.mts +49 -75
  132. package/dist/types/command.d.mts.map +1 -1
  133. package/dist/types/command.mjs +119 -91
  134. package/dist/types/command.mjs.map +1 -1
  135. package/dist/types/config.cjs +1 -2
  136. package/dist/types/config.cjs.map +1 -1
  137. package/dist/types/config.d.cts +2 -2
  138. package/dist/types/config.d.cts.map +1 -1
  139. package/dist/types/config.d.mts +2 -2
  140. package/dist/types/config.d.mts.map +1 -1
  141. package/dist/types/config.mjs +1 -2
  142. package/dist/types/config.mjs.map +1 -1
  143. package/dist/types/context.cjs +1 -1
  144. package/dist/types/context.cjs.map +1 -1
  145. package/dist/types/context.d.cts +3 -3
  146. package/dist/types/context.d.cts.map +1 -1
  147. package/dist/types/context.d.mts +3 -3
  148. package/dist/types/context.d.mts.map +1 -1
  149. package/dist/types/context.mjs +1 -1
  150. package/dist/types/context.mjs.map +1 -1
  151. package/dist/types/index.cjs +13 -9
  152. package/dist/types/index.d.cts +2 -2
  153. package/dist/types/index.d.mts +2 -2
  154. package/dist/types/index.mjs +2 -2
  155. package/package.json +34 -79
  156. package/dist/helpers/resolve-command.cjs +0 -410
  157. package/dist/helpers/resolve-command.cjs.map +0 -1
  158. package/dist/helpers/resolve-command.mjs +0 -405
  159. package/dist/helpers/resolve-command.mjs.map +0 -1
@@ -1,9 +1,14 @@
1
1
  //#region src/types/command.ts
2
- const __ΩRecord = [
2
+ const __ΩPick = [
3
+ "T",
3
4
  "K",
5
+ "Pick",
6
+ "l+e#!e\"!fRb!b\"Pde\"\"N#!w#y"
7
+ ];
8
+ const __ΩPartial = [
4
9
  "T",
5
- "Record",
6
- "l'e#\"Rb!b\"Pde\"!N#!w#y"
10
+ "Partial",
11
+ "l+e#!e\"!fRb!Pde\"!gN#\"w\"y"
7
12
  ];
8
13
  const __ΩOmit = [
9
14
  "T",
@@ -13,11 +18,11 @@ const __ΩOmit = [
13
18
  "Omit",
14
19
  "b!b\"e!!e!!ge!\"o$#o##w%y"
15
20
  ];
16
- const __ΩPick = [
17
- "T",
21
+ const __ΩRecord = [
18
22
  "K",
19
- "Pick",
20
- "l+e#!e\"!fRb!b\"Pde\"\"N#!w#y"
23
+ "T",
24
+ "Record",
25
+ "l'e#\"Rb!b\"Pde\"!N#!w#y"
21
26
  ];
22
27
  const __ΩExclude = [
23
28
  "T",
@@ -25,9 +30,21 @@ const __ΩExclude = [
25
30
  "Exclude",
26
31
  "l6!Re$!RPe#!e$\"qk#%QRb!b\"Pde\"!p)w#y"
27
32
  ];
33
+ const __ΩCommandParameterType = ["CommandParameterType", "P&')P&'JFJw!y"];
34
+ const CommandParameterKinds = {
35
+ string: "string",
36
+ number: "number",
37
+ boolean: "boolean"
38
+ };
39
+ const __ΩCommandParameterKind = [
40
+ () => CommandParameterKinds,
41
+ () => CommandParameterKinds,
42
+ "CommandParameterKind",
43
+ "i!i\"gfw#y"
44
+ ];
28
45
  const __ΩBaseCommandParameter = [
29
46
  "name",
30
- "ReflectionKind",
47
+ () => __ΩCommandParameterKind,
31
48
  "kind",
32
49
  "title",
33
50
  "description",
@@ -36,94 +53,124 @@ const __ΩBaseCommandParameter = [
36
53
  "env",
37
54
  "optional",
38
55
  "BaseCommandParameter",
39
- "P&4!\"w\"4#&4$&4%&F4&P&.'J4()4)Mw*y"
56
+ "P&4!n\"4#&4$&4%&F4&P&.'J4()4)Mw*y"
40
57
  ];
41
58
  const __ΩStringCommandParameter = [
42
59
  () => __ΩBaseCommandParameter,
43
- 5,
60
+ "string",
44
61
  "kind",
45
62
  "default",
63
+ "email",
64
+ "uri",
65
+ "uuid",
66
+ "ipv4",
67
+ "ipv6",
68
+ "date",
69
+ "time",
70
+ "date-time",
71
+ "duration",
72
+ "format",
46
73
  "variadic",
74
+ "choices",
47
75
  "StringCommandParameter",
48
- "Pn!a\"4#&4$8)4%Mw&y"
76
+ "Pn!.\"4#&4$8P.%.&.'.(.).*.+.,.-J4.8)4/&F408Mw1y"
49
77
  ];
50
78
  const __ΩNumberCommandParameter = [
51
79
  () => __ΩBaseCommandParameter,
52
- 6,
80
+ "number",
53
81
  "kind",
54
82
  "default",
55
83
  "variadic",
84
+ "choices",
56
85
  "NumberCommandParameter",
57
- "Pn!a\"4#'4$8)4%Mw&y"
86
+ "Pn!.\"4#'4$8)4%'F4&8Mw'y"
58
87
  ];
59
88
  const __ΩBooleanCommandParameter = [
60
89
  () => __ΩBaseCommandParameter,
61
- 7,
90
+ "boolean",
62
91
  "kind",
63
92
  "default",
64
- "isNegativeOf",
65
- "skipAddingNegative",
66
93
  "BooleanCommandParameter",
67
- "Pn!a\"4#)4$8&4%8)4&8Mw'y"
94
+ "Pn!.\"4#)4$8Mw%y"
95
+ ];
96
+ const __ΩCommandParameter = [
97
+ () => __ΩStringCommandParameter,
98
+ () => __ΩNumberCommandParameter,
99
+ () => __ΩBooleanCommandParameter,
100
+ "CommandParameter",
101
+ "Pn!n\"n#Jw$y"
102
+ ];
103
+ const __ΩAsCommandParameterConfig = [
104
+ "T",
105
+ () => __ΩPick,
106
+ "kind",
107
+ "alias",
108
+ () => __ΩPartial,
109
+ () => __ΩOmit,
110
+ "kind",
111
+ "alias",
112
+ "alias",
113
+ "AsCommandParameterConfig",
114
+ "b!Pe\"!P.#.$Jo\"#e\"!P.'.(Jo&#o%\"PP&&FJ4)8MKw*y"
68
115
  ];
69
- const __ΩStringCommandOption = [
116
+ const __ΩStringCommandParameterConfig = [
117
+ () => __ΩAsCommandParameterConfig,
70
118
  () => __ΩStringCommandParameter,
71
- "ReflectionProperty",
72
- "reflection",
73
- "StringCommandOption",
74
- "Pn!\"w\"4#8Mw$y"
119
+ "StringCommandParameterConfig",
120
+ "n\"o!\"w#y"
75
121
  ];
76
- const __ΩNumberCommandOption = [
122
+ const __ΩNumberCommandParameterConfig = [
123
+ () => __ΩAsCommandParameterConfig,
77
124
  () => __ΩNumberCommandParameter,
78
- "ReflectionProperty",
79
- "reflection",
80
- "NumberCommandOption",
81
- "Pn!\"w\"4#8Mw$y"
125
+ "NumberCommandParameterConfig",
126
+ "n\"o!\"w#y"
127
+ ];
128
+ const __ΩBooleanCommandParameterConfig = [
129
+ () => __ΩAsCommandParameterConfig,
130
+ () => __ΩBooleanCommandParameter,
131
+ "BooleanCommandParameterConfig",
132
+ "n\"o!\"w#y"
133
+ ];
134
+ const __ΩCommandParameterConfig = [
135
+ () => __ΩStringCommandParameterConfig,
136
+ () => __ΩNumberCommandParameterConfig,
137
+ () => __ΩBooleanCommandParameterConfig,
138
+ "CommandParameterConfig",
139
+ "Pn!n\"n#Jw$y"
82
140
  ];
83
141
  const __ΩBooleanCommandOption = [
84
142
  () => __ΩBooleanCommandParameter,
85
- "ReflectionProperty",
86
- "reflection",
87
143
  "isNegativeOf",
88
144
  "skipAddingNegative",
89
145
  "BooleanCommandOption",
90
- "Pn!\"w\"4#8&4$8)4%8Mw&y"
146
+ "Pn!&4\"8)4#8Mw$y"
91
147
  ];
92
148
  const __ΩCommandOption = [
93
- () => __ΩStringCommandOption,
94
- () => __ΩNumberCommandOption,
149
+ () => __ΩStringCommandParameter,
150
+ () => __ΩNumberCommandParameter,
95
151
  () => __ΩBooleanCommandOption,
96
152
  "CommandOption",
97
153
  "Pn!n\"n#Jw$y"
98
154
  ];
99
- const __ΩStringCommandArgument = [
100
- () => __ΩStringCommandParameter,
101
- "ReflectionParameter",
102
- "reflection",
103
- "StringCommandArgument",
104
- "Pn!\"w\"4#Mw$y"
155
+ const __ΩCommandOptionConfig = [
156
+ () => __ΩAsCommandParameterConfig,
157
+ () => __ΩCommandOption,
158
+ "CommandOptionConfig",
159
+ "n\"o!\"w#y"
105
160
  ];
106
- const __ΩNumberCommandArgument = [
161
+ const __ΩCommandArgument = [
162
+ () => __ΩStringCommandParameter,
107
163
  () => __ΩNumberCommandParameter,
108
- "ReflectionParameter",
109
- "reflection",
110
- "NumberCommandArgument",
111
- "Pn!\"w\"4#Mw$y"
112
- ];
113
- const __ΩBooleanCommandArgument = [
114
164
  () => __ΩBooleanCommandParameter,
115
- "ReflectionParameter",
116
- "reflection",
117
- "BooleanCommandArgument",
118
- "Pn!\"w\"4#Mw$y"
119
- ];
120
- const __ΩCommandArgument = [
121
- () => __ΩStringCommandArgument,
122
- () => __ΩNumberCommandArgument,
123
- () => __ΩBooleanCommandArgument,
124
165
  "CommandArgument",
125
166
  "Pn!n\"n#Jw$y"
126
167
  ];
168
+ const __ΩCommandArgumentConfig = [
169
+ () => __ΩAsCommandParameterConfig,
170
+ () => __ΩCommandArgument,
171
+ "CommandArgumentConfig",
172
+ "n\"o!\"w#y"
173
+ ];
127
174
  const __ΩCommandBase = [
128
175
  "id",
129
176
  "name",
@@ -137,15 +184,15 @@ const __ΩCommandBase = [
137
184
  "CommandBase",
138
185
  "PP&,J4!&4\"P&,J4#&F4$&4%8&4&8&F4'8&4(8)4)Mw*y"
139
186
  ];
140
- const __ΩCommandInput = [
187
+ const __ΩCommandConfig = [
141
188
  () => __ΩCommandBase,
142
189
  "id",
143
190
  "entry",
144
- "CommandInput",
191
+ "CommandConfig",
145
192
  "Pn!&4\"!4#Mw$y"
146
193
  ];
147
194
  const __ΩCommandTree = [
148
- () => __ΩCommandInput,
195
+ () => __ΩCommandConfig,
149
196
  "title",
150
197
  "description",
151
198
  "alias",
@@ -153,69 +200,50 @@ const __ΩCommandTree = [
153
200
  () => __ΩCommandOption,
154
201
  "options",
155
202
  () => __ΩCommandArgument,
156
- "arguments",
203
+ "args",
157
204
  0,
158
205
  "parent",
159
206
  () => __ΩRecord,
160
207
  0,
161
208
  "children",
162
- "ReflectionFunction",
163
- "reflection",
164
209
  "CommandTree",
165
- "Pn!P&4\"&4#&F4$&n&o%#4'n(F4)P,n*J4+&n-o,#4.P\"w/,J40MKw1y"
166
- ];
167
- const __ΩSerializedCommandOption = [
168
- () => __ΩOmit,
169
- () => __ΩCommandOption,
170
- "reflection",
171
- "SerializedCommandOption",
172
- "n\".#o!#w$y"
173
- ];
174
- const __ΩSerializedCommandArgument = [
175
- () => __ΩOmit,
176
- () => __ΩCommandArgument,
177
- "reflection",
178
- "SerializedCommandArgument",
179
- "n\".#o!#w$y"
210
+ "Pn!P&4\"&4#&F4$&n&o%#4'n(F4)P,n*J4+&n-o,#4.MKw/y"
180
211
  ];
181
212
  const __ΩSerializedCommandTree = [
182
213
  () => __ΩOmit,
183
214
  () => __ΩCommandTree,
184
- "options",
185
- "arguments",
186
215
  "parent",
187
216
  "children",
188
- "reflection",
189
- () => __ΩRecord,
190
- () => __ΩSerializedCommandOption,
191
- "options",
192
- () => __ΩSerializedCommandArgument,
193
- "arguments",
194
217
  "parent",
195
218
  () => __ΩRecord,
196
219
  0,
197
220
  "children",
198
- "SerializedTypes",
199
- "reflection",
200
221
  "SerializedCommandTree",
201
- "Pn\"P.#.$.%.&.'Jo!#P&n)o(#4*n+F4,P,&J4-&n/o.#40\"w1428MKw3y"
222
+ "Pn\"P.#.$Jo!#PP,&J4%&n'o&#4(MKw)y"
202
223
  ];
203
- const __ΩMetadata = [
224
+ const __ΩCommandMetadata = [
204
225
  "title",
205
226
  "description",
206
227
  "alias",
207
228
  "icon",
208
- "Metadata",
229
+ "CommandMetadata",
209
230
  "P&4!8&4\"8P&&FJ4#8&4$8Mw%y"
210
231
  ];
211
232
  const __ΩCommandModule = [
212
- () => __ΩMetadata,
233
+ () => __ΩCommandMetadata,
213
234
  "metadata",
235
+ () => __ΩRecord,
236
+ () => __ΩCommandOptionConfig,
237
+ "JSONSchema7Object",
238
+ "StandardJSONSchemaV1",
239
+ "options",
240
+ () => __ΩCommandArgumentConfig,
241
+ "args",
214
242
  "default",
215
243
  "CommandModule",
216
- "Pn!4\"8!4#8Mw$y"
244
+ "Pn!4\"8P&n$o##\"w%\"w&!J4'8Pn(F!\"w&!J4)8!4*8Mw+y"
217
245
  ];
218
246
 
219
247
  //#endregion
220
- export { __ΩBaseCommandParameter, __ΩBooleanCommandArgument, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩCommandArgument, __ΩCommandBase, __ΩCommandInput, __ΩCommandModule, __ΩCommandOption, __ΩCommandTree, __ΩMetadata, __ΩNumberCommandArgument, __ΩNumberCommandOption, __ΩNumberCommandParameter, __ΩSerializedCommandArgument, __ΩSerializedCommandOption, __ΩSerializedCommandTree, __ΩStringCommandArgument, __ΩStringCommandOption, __ΩStringCommandParameter };
248
+ 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 };
221
249
  //# 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 {\n ReflectionFunction,\n ReflectionKind,\n ReflectionParameter,\n ReflectionProperty,\n SerializedTypes\n} from \"@powerlines/deepkit/vendor/type\";\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport type { ResolvedEntryTypeDefinition } from \"powerlines/types/resolved\";\n\nexport interface BaseCommandParameter {\n /**\n * The option name.\n */\n name: string;\n /**\n * The option kind.\n */\n kind: ReflectionKind;\n /**\n * The display title.\n */\n title: string;\n /**\n * The option description.\n */\n description: string;\n /**\n * Alternative option names.\n */\n alias: string[];\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n}\n\nexport interface StringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: ReflectionKind.string;\n /**\n * The default value.\n */\n default?: string;\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface NumberCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: ReflectionKind.number;\n /**\n * The default value.\n */\n default?: number;\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface BooleanCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: ReflectionKind.boolean;\n /**\n * The default value.\n */\n default?: boolean;\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport interface StringCommandOption extends StringCommandParameter {\n /**\n * The property reflection.\n */\n reflection?: ReflectionProperty;\n}\n\nexport interface NumberCommandOption extends NumberCommandParameter {\n /**\n * The property reflection.\n */\n reflection?: ReflectionProperty;\n}\n\nexport interface BooleanCommandOption extends BooleanCommandParameter {\n /**\n * The property reflection.\n */\n reflection?: ReflectionProperty;\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport type CommandOption =\n | StringCommandOption\n | NumberCommandOption\n | BooleanCommandOption;\n\nexport interface StringCommandArgument extends StringCommandParameter {\n /**\n * The parameter reflection.\n */\n reflection: ReflectionParameter;\n}\n\nexport interface NumberCommandArgument extends NumberCommandParameter {\n /**\n * The parameter reflection.\n */\n reflection: ReflectionParameter;\n}\n\nexport interface BooleanCommandArgument extends BooleanCommandParameter {\n /**\n * The parameter reflection.\n */\n reflection: ReflectionParameter;\n}\n\nexport type CommandArgument =\n | StringCommandArgument\n | NumberCommandArgument\n | BooleanCommandArgument;\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 * 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 CommandInput extends CommandBase {\n /**\n * The command id.\n */\n id: string;\n\n /**\n * The resolved entry definition.\n */\n entry: ResolvedEntryTypeDefinition;\n}\n\nexport type CommandTree = CommandInput & {\n /**\n * The display title.\n */\n title: string;\n /**\n * The command description.\n */\n description: string;\n /**\n * Alternative command names.\n */\n alias: string[];\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n /**\n * The positional arguments provided to the command.\n */\n arguments: CommandArgument[];\n /**\n * The parent command.\n */\n parent: null | CommandTree;\n /**\n * Child commands.\n */\n children: Record<string, CommandTree>;\n /**\n * The command handler reflection.\n */\n reflection: ReflectionFunction | null;\n};\n\nexport type SerializedCommandOption = Omit<CommandOption, \"reflection\">;\n\nexport type SerializedCommandArgument = Omit<CommandArgument, \"reflection\">;\n\nexport type SerializedCommandTree = Omit<\n CommandTree,\n \"options\" | \"arguments\" | \"parent\" | \"children\" | \"reflection\"\n> & {\n /**\n * The command options.\n */\n options: Record<string, SerializedCommandOption>;\n /**\n * The positional arguments provided to the command.\n */\n arguments: SerializedCommandArgument[];\n /**\n * The parent command id.\n */\n parent: null | string;\n /**\n * Serialized child commands.\n */\n children: Record<string, SerializedCommandTree>;\n /**\n * The command handler reflection.\n */\n reflection?: SerializedTypes;\n};\n\nexport interface Metadata {\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 * 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\nexport interface CommandModule {\n metadata?: Metadata;\n default?: AnyFunction;\n}\n"],"mappings":";AAAA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB;;;;;;;;;AAEhE,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAAY;;;;;;;AAE/C,MAAM,0BAA0B;CAAC;CAAQ;CAAkB;CAAQ;CAAG;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,4BAA4B;OAAO;CAAyB;CAAG;CAAE;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;AAIvE,MAAM,6BAA6B;OAAO;CAAyB;CAAG;CAAC;CAAA;CAAA;CAAA;CAAA;CAAA;AAEvE,MAAM,yBAAyB;OAAO;CAAqB;CAAA;CAAA;CAAA;CAAA;AAE3D,MAAM,yBAAyB;OAAK;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,0BAA0B;OAAO;CAA4B;CAAG;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,mBAAM;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEZ,MAAM,2BAAU;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEhB,MAAM,2BAAc;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,4BAA4B;OAAM;CAAA;CAAA;CAAA;CAAA;CAAA;AAExC,MAAM,qBAAqB;OAAO;OAAgC;OAAU;CAAA;CAAA;CAAA;AAE5E,MAAM,iBAAiB;CAAC;CAAM;CAAQ;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtC,MAAM,kBAAc;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,iBAAQ;OAAA;CAAA;CAAA;CAAA;OAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEd,MAAM,6BAAc;OAAA;OAAA;CAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,+BAAgB;OAAA;OAAA;CAAA;CAAA;CAAA;CAAA;AAEtB,MAAM,2BAAgB;OAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;OAAA;CAAA;OAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtB,MAAM,cAAS;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEf,MAAM,mBAAmB;OAAE;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 * The option kind.\n */\n kind: CommandParameterKind;\n /**\n * The display title.\n */\n title: string;\n /**\n * The option description.\n */\n description: string;\n /**\n * Alternative option names.\n */\n alias: string[];\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n}\n\nexport interface StringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"string\";\n /**\n * The default value.\n */\n default?: string;\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 * Whether the option accepts multiple values.\n */\n variadic: boolean;\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 * The default value.\n */\n default?: number;\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\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 * 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 * 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 * 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\nexport type CommandTree = CommandConfig & {\n /**\n * The display title.\n */\n title: string;\n /**\n * The command description.\n */\n description: string;\n /**\n * Alternative command names.\n */\n alias: string[];\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n /**\n * The positional arguments provided to the command.\n */\n args: CommandArgument[];\n /**\n * The parent command.\n */\n parent: null | CommandTree;\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 * 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\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;CAAK;OAAW;OAAc;CAAA;CAAA;CAAA;;;;;;;AAE/C,MAAM,aAAa;CAAC;CAAK;CAAK;CAAW;CAA6B;AACtE,MAAM,0BAA0B,CAAC,wBAAwB,gBAAW;AAEpE,MAAa,wBAAwB;;CAEjC,QAAQ;CACR,SAAS;CACZ;AACD,MAAM,0BAA0B;OAAO;OAAoB;CAAA;CAAA;CAAA;AAE3D,MAAM,0BAA0B;CAAC;OAAG;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;AAEtE,MAAM,4BAA4B;OAAO;CAAwB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEjE,MAAM,6BAA6B;OAAO;CAAW;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,sBAAsB;OAAO;OAA0B;OAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;AAI7D,MAAM,kCAAG;OAAA;OAAA;CAAA;CAAA;CAAA;AAET,MAAM,kCAAI;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIV,MAAM,4BAAY;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAElB,MAAM,0BAAa;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;AAInB,MAAM,yBAAyB;OAAO;OAA8B;CAAA;CAAA;CAAA;AAEpE,MAAM,qBAAqB;OAAO;OAAI;OAAA;CAAA;CAAA;CAAA;AAEtC,MAAM,2BAAc;OAAA;OAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,iBAAQ;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEd,MAAM,mBAAc;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,iBAAiB;OAAK;CAAA;CAAA;CAAA;OAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAE5B,MAAM,2BAAgB;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtB,MAAM,qBAAS;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEf,MAAM,mBAAmB;OAAE;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -46,12 +46,11 @@ const __ΩBuildOptions = [
46
46
  "mode",
47
47
  "skipCache",
48
48
  "autoInstall",
49
- "entry",
50
49
  "plugins",
51
50
  "tsconfig",
52
51
  "tsconfigRaw",
53
52
  "BuildOptions",
54
- "!P.\".#.$.%.&.'.(.).*.+.,.-Jo!#w.y"
53
+ "!P.\".#.$.%.&.'.(.).*.+.,Jo!#w-y"
55
54
  ];
56
55
  const __ΩBaseOptions = [
57
56
  () => __ΩPartial,
@@ -1 +1 @@
1
- {"version":3,"file":"config.cjs","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/types/plugin\";\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/types/config\";\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 | \"entry\"\n | \"plugins\"\n | \"tsconfig\"\n | \"tsconfigRaw\"\n>;\n\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of default command options to apply to each command.\n *\n * @remarks\n * To disable the addition of these default options, set this property to `false`, or provide a custom set of options/a function that returns them.\n */\n defaultOptions?:\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 * An application specific prefix to check for environment variables.\n *\n * @remarks\n * If not provided, Shell Shock will convert {@link Options.name | name} to {@link https://stringcase.org/cases/constant/ | constant case} format and append an underscore (`_`). If the provided {@link Options.name | name} is `\"my-app\"`, environment variables starting with `\"MY_APP_\"` will be used - for example: `\"MY_APP_CONFIG_NAME\"`. If a trailing underscore already exists in the user provided value, it will result in two consecutive underscores - for example: `\"MY_APP__CONFIG_NAME\"` (this was done intentionally so that users who specifically want multiple underscores have a way to do so).\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 envPrefix?: 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 \"outputPath\" | \"assets\" | \"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 /**\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\">> & {\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 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;CAAC;CAAK;CAAY;CAAS;;;;;;;;;AAE/C,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB;AAChE,MAAM,aAAa;CAAC;CAAK;CAAK;CAAW;CAA2B;AACpE,MAAM,kBAAkB;OAAO;CAAS;CAAQ;CAAQ;CAAS;CAAM;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACvE,MAAM,iBAAiB;OAAO;OAAkB;CAAiB;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;AAG9E,MAAM,kBAAkB;OAAO;CAAS;CAAc;CAAU;CAAO;CAAA;CAAA;CAAA;CAAA;AAEvE,MAAM,gBAAgB;OAAO;OAAsB;OAAQ;CAAA;CAAA;CAAA;CAAA;AAE3D,MAAM,oBAAoB;OAAO;OAAG;OAAA;CAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA"}
1
+ {"version":3,"file":"config.cjs","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/types/plugin\";\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\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of default command options to apply to each command.\n *\n * @remarks\n * To disable the addition of these default options, set this property to `false`, or provide a custom set of options/a function that returns them.\n */\n defaultOptions?:\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 * An application specific prefix to check for environment variables.\n *\n * @remarks\n * If not provided, Shell Shock will convert {@link Options.name | name} to {@link https://stringcase.org/cases/constant/ | constant case} format and append an underscore (`_`). If the provided {@link Options.name | name} is `\"my-app\"`, environment variables starting with `\"MY_APP_\"` will be used - for example: `\"MY_APP_CONFIG_NAME\"`. If a trailing underscore already exists in the user provided value, it will result in two consecutive underscores - for example: `\"MY_APP__CONFIG_NAME\"` (this was done intentionally so that users who specifically want multiple underscores have a way to do so).\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 envPrefix?: 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 \"outputPath\" | \"assets\" | \"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 /**\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\">> & {\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 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;CAAC;CAAK;CAAY;CAAS;;;;;;;;;AAE/C,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB;AAChE,MAAM,aAAa;CAAC;CAAK;CAAK;CAAW;CAA2B;AACpE,MAAM,kBAAkB;OAAO;CAAS;CAAQ;CAAQ;CAAS;CAAM;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACvE,MAAM,iBAAiB;OAAO;OAAkB;CAAiB;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;AAG9E,MAAM,kBAAkB;OAAO;CAAS;CAAc;CAAU;CAAO;CAAA;CAAA;CAAA;CAAA;AAEvE,MAAM,gBAAgB;OAAO;OAAsB;OAAQ;CAAA;CAAA;CAAA;CAAA;AAE3D,MAAM,oBAAoB;OAAO;OAAG;OAAA;CAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { CommandBase, CommandOption } from "./command.cjs";
2
2
  import { Context } from "./context.cjs";
3
- import { OutputConfig as OutputConfig$1 } from "powerlines/types/config";
3
+ import { OutputConfig as OutputConfig$1 } from "powerlines";
4
4
  import { AutoMDPluginResolvedConfig } from "@powerlines/plugin-automd/types/plugin";
5
5
  import { NodeJsPluginOptions, NodeJsPluginResolvedConfig, NodeJsPluginUserConfig } from "@powerlines/plugin-nodejs/types/plugin";
6
6
  import { TsdownPluginResolvedConfig, TsdownPluginUserConfig } from "@powerlines/plugin-tsdown/types/plugin";
7
7
 
8
8
  //#region src/types/config.d.ts
9
- type BuildOptions = Pick<TsdownPluginUserConfig, "root" | "name" | "title" | "description" | "logLevel" | "mode" | "skipCache" | "autoInstall" | "entry" | "plugins" | "tsconfig" | "tsconfigRaw">;
9
+ type BuildOptions = Pick<TsdownPluginUserConfig, "root" | "name" | "title" | "description" | "logLevel" | "mode" | "skipCache" | "autoInstall" | "plugins" | "tsconfig" | "tsconfigRaw">;
10
10
  type BaseOptions = Partial<BuildOptions> & {
11
11
  /**
12
12
  * A set of default command options to apply to each command.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,KAClB;KAeG,WAAA,GAAc,QAAQ;EAhBtB;AAAmB;;;;;EAyBS,cAAA,CAAA,EAD3B,aAC2B,EAAA,GAAA,CAAA,CAAA,OAAA,EAAhB,OAAgB,EAAA,KAAA,EAAA,WAAA,EAAA,GAAgB,aAAhB,EAAA,CAAA,GAAA,KAAA;EAAgB;;AAqCjD;;;EAAoC,eAAA,CAAA,EAAA,OAAA;EAAO;AAK3C;AAaA;;;;;;AAWA;;EACE,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA;;;;;;;;;;;;;;KA/BU,OAAA,GAAU,cAAc,QAAQ;;;;KAKhC,YAAA,GAAe,KACzB;;;;;;;;;KAYU,UAAA,GAAa,cACvB,QAAQ;;;;WAIG;;;;;KAMD,cAAA,GAAiB,6BAC3B,6BACA,6BACA,SAAS,KAAK;;;;;;;;;;;OAWP;;;;cAKO"}
1
+ {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,KAClB;KAcG,WAAA,GAAc,QAAQ;EAftB;AAAmB;;;;;EAwBS,cAAA,CAAA,EAD3B,aAC2B,EAAA,GAAA,CAAA,CAAA,OAAA,EAAhB,OAAgB,EAAA,KAAA,EAAA,WAAA,EAAA,GAAgB,aAAhB,EAAA,CAAA,GAAA,KAAA;EAAgB;;AAqCjD;;;EAAoC,eAAA,CAAA,EAAA,OAAA;EAAO;AAK3C;AAaA;;;;;;AAWA;;EACE,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA;;;;;;;;;;;;;;KA/BU,OAAA,GAAU,cAAc,QAAQ;;;;KAKhC,YAAA,GAAe,KACzB;;;;;;;;;KAYU,UAAA,GAAa,cACvB,QAAQ;;;;WAIG;;;;;KAMD,cAAA,GAAiB,6BAC3B,6BACA,6BACA,SAAS,KAAK;;;;;;;;;;;OAWP;;;;cAKO"}
@@ -1,12 +1,12 @@
1
1
  import { CommandBase, CommandOption } from "./command.mjs";
2
2
  import { Context } from "./context.mjs";
3
- import { OutputConfig as OutputConfig$1 } from "powerlines/types/config";
3
+ import { OutputConfig as OutputConfig$1 } from "powerlines";
4
4
  import { AutoMDPluginResolvedConfig } from "@powerlines/plugin-automd/types/plugin";
5
5
  import { NodeJsPluginOptions, NodeJsPluginResolvedConfig, NodeJsPluginUserConfig } from "@powerlines/plugin-nodejs/types/plugin";
6
6
  import { TsdownPluginResolvedConfig, TsdownPluginUserConfig } from "@powerlines/plugin-tsdown/types/plugin";
7
7
 
8
8
  //#region src/types/config.d.ts
9
- type BuildOptions = Pick<TsdownPluginUserConfig, "root" | "name" | "title" | "description" | "logLevel" | "mode" | "skipCache" | "autoInstall" | "entry" | "plugins" | "tsconfig" | "tsconfigRaw">;
9
+ type BuildOptions = Pick<TsdownPluginUserConfig, "root" | "name" | "title" | "description" | "logLevel" | "mode" | "skipCache" | "autoInstall" | "plugins" | "tsconfig" | "tsconfigRaw">;
10
10
  type BaseOptions = Partial<BuildOptions> & {
11
11
  /**
12
12
  * A set of default command options to apply to each command.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,KAClB;KAeG,WAAA,GAAc,QAAQ;EAhBtB;AAAmB;;;;;EAyBS,cAAA,CAAA,EAD3B,aAC2B,EAAA,GAAA,CAAA,CAAA,OAAA,EAAhB,OAAgB,EAAA,KAAA,EAAA,WAAA,EAAA,GAAgB,aAAhB,EAAA,CAAA,GAAA,KAAA;EAAgB;;AAqCjD;;;EAAoC,eAAA,CAAA,EAAA,OAAA;EAAO;AAK3C;AAaA;;;;;;AAWA;;EACE,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA;;;;;;;;;;;;;;KA/BU,OAAA,GAAU,cAAc,QAAQ;;;;KAKhC,YAAA,GAAe,KACzB;;;;;;;;;KAYU,UAAA,GAAa,cACvB,QAAQ;;;;WAIG;;;;;KAMD,cAAA,GAAiB,6BAC3B,6BACA,6BACA,SAAS,KAAK;;;;;;;;;;;OAWP;;;;cAKO"}
1
+ {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAgCK,YAAA,GAAe,KAClB;KAcG,WAAA,GAAc,QAAQ;EAftB;AAAmB;;;;;EAwBS,cAAA,CAAA,EAD3B,aAC2B,EAAA,GAAA,CAAA,CAAA,OAAA,EAAhB,OAAgB,EAAA,KAAA,EAAA,WAAA,EAAA,GAAgB,aAAhB,EAAA,CAAA,GAAA,KAAA;EAAgB;;AAqCjD;;;EAAoC,eAAA,CAAA,EAAA,OAAA;EAAO;AAK3C;AAaA;;;;;;AAWA;;EACE,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA;;;;;;;;;;;;;;KA/BU,OAAA,GAAU,cAAc,QAAQ;;;;KAKhC,YAAA,GAAe,KACzB;;;;;;;;;KAYU,UAAA,GAAa,cACvB,QAAQ;;;;WAIG;;;;;KAMD,cAAA,GAAiB,6BAC3B,6BACA,6BACA,SAAS,KAAK;;;;;;;;;;;OAWP;;;;cAKO"}
@@ -45,12 +45,11 @@ const __ΩBuildOptions = [
45
45
  "mode",
46
46
  "skipCache",
47
47
  "autoInstall",
48
- "entry",
49
48
  "plugins",
50
49
  "tsconfig",
51
50
  "tsconfigRaw",
52
51
  "BuildOptions",
53
- "!P.\".#.$.%.&.'.(.).*.+.,.-Jo!#w.y"
52
+ "!P.\".#.$.%.&.'.(.).*.+.,Jo!#w-y"
54
53
  ];
55
54
  const __ΩBaseOptions = [
56
55
  () => __ΩPartial,
@@ -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/types/plugin\";\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/types/config\";\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 | \"entry\"\n | \"plugins\"\n | \"tsconfig\"\n | \"tsconfigRaw\"\n>;\n\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of default command options to apply to each command.\n *\n * @remarks\n * To disable the addition of these default options, set this property to `false`, or provide a custom set of options/a function that returns them.\n */\n defaultOptions?:\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 * An application specific prefix to check for environment variables.\n *\n * @remarks\n * If not provided, Shell Shock will convert {@link Options.name | name} to {@link https://stringcase.org/cases/constant/ | constant case} format and append an underscore (`_`). If the provided {@link Options.name | name} is `\"my-app\"`, environment variables starting with `\"MY_APP_\"` will be used - for example: `\"MY_APP_CONFIG_NAME\"`. If a trailing underscore already exists in the user provided value, it will result in two consecutive underscores - for example: `\"MY_APP__CONFIG_NAME\"` (this was done intentionally so that users who specifically want multiple underscores have a way to do so).\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 envPrefix?: 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 \"outputPath\" | \"assets\" | \"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 /**\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\">> & {\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 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;CAAC;CAAK;CAAY;CAAS;;;;;;;;;AAE/C,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB;AAChE,MAAM,aAAa;CAAC;CAAK;CAAK;CAAW;CAA2B;AACpE,MAAM,kBAAkB;OAAO;CAAS;CAAQ;CAAQ;CAAS;CAAM;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACvE,MAAM,iBAAiB;OAAO;OAAkB;CAAiB;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;AAG9E,MAAM,kBAAkB;OAAO;CAAS;CAAc;CAAU;CAAO;CAAA;CAAA;CAAA;CAAA;AAEvE,MAAM,gBAAgB;OAAO;OAAsB;OAAQ;CAAA;CAAA;CAAA;CAAA;AAE3D,MAAM,oBAAoB;OAAO;OAAG;OAAA;CAAA;OAAA;CAAA;OAAA;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/types/plugin\";\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\ntype BaseOptions = Partial<BuildOptions> & {\n /**\n * A set of default command options to apply to each command.\n *\n * @remarks\n * To disable the addition of these default options, set this property to `false`, or provide a custom set of options/a function that returns them.\n */\n defaultOptions?:\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 * An application specific prefix to check for environment variables.\n *\n * @remarks\n * If not provided, Shell Shock will convert {@link Options.name | name} to {@link https://stringcase.org/cases/constant/ | constant case} format and append an underscore (`_`). If the provided {@link Options.name | name} is `\"my-app\"`, environment variables starting with `\"MY_APP_\"` will be used - for example: `\"MY_APP_CONFIG_NAME\"`. If a trailing underscore already exists in the user provided value, it will result in two consecutive underscores - for example: `\"MY_APP__CONFIG_NAME\"` (this was done intentionally so that users who specifically want multiple underscores have a way to do so).\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 envPrefix?: 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 \"outputPath\" | \"assets\" | \"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 /**\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\">> & {\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 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;CAAC;CAAK;CAAY;CAAS;;;;;;;;;AAE/C,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB;AAChE,MAAM,aAAa;CAAC;CAAK;CAAK;CAAW;CAA2B;AACpE,MAAM,kBAAkB;OAAO;CAAS;CAAQ;CAAQ;CAAS;CAAM;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AACvE,MAAM,iBAAiB;OAAO;OAAkB;CAAiB;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;AAG9E,MAAM,kBAAkB;OAAO;CAAS;CAAc;CAAU;CAAO;CAAA;CAAA;CAAA;CAAA;AAEvE,MAAM,gBAAgB;OAAO;OAAsB;OAAQ;CAAA;CAAA;CAAA;CAAA;AAE3D,MAAM,oBAAoB;OAAO;OAAG;OAAA;CAAA;OAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -12,7 +12,7 @@ const __ΩContext = [
12
12
  "commandsPath",
13
13
  "CommandOption",
14
14
  "options",
15
- "CommandInput",
15
+ "CommandConfig",
16
16
  "inputs",
17
17
  () => __ΩRecord,
18
18
  "CommandTree",
@@ -1 +1 @@
1
- {"version":3,"file":"context.cjs","names":[],"sources":["../../src/types/context.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 { NodeJsPluginContext } from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type { TsdownPluginContext } from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { UnresolvedContext as PowerlinesUnresolvedContext } from \"powerlines/types/context\";\nimport type { CommandInput, CommandOption, CommandTree } from \"./command\";\nimport type { ResolvedConfig } from \"./config\";\n\nexport type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> =\n TsdownPluginContext<TResolvedConfig> &\n NodeJsPluginContext<TResolvedConfig> & {\n /**\n * The root path where commands are located.\n */\n commandsPath: string;\n\n /**\n * The default command arguments to apply to all application commands.\n */\n options: CommandOption[];\n\n /**\n * The list of commands discovered in the project.\n */\n inputs: CommandInput[];\n\n /**\n * The command-line application structure.\n */\n commands: Record<string, CommandTree>;\n };\n\nexport type UnresolvedContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n> = PowerlinesUnresolvedContext<TResolvedConfig>;\n"],"mappings":";;AAAA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB"}
1
+ {"version":3,"file":"context.cjs","names":[],"sources":["../../src/types/context.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 { NodeJsPluginContext } from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type { TsdownPluginContext } from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { UnresolvedContext as PowerlinesUnresolvedContext } from \"powerlines\";\nimport type { CommandConfig, CommandOption, CommandTree } from \"./command\";\nimport type { ResolvedConfig } from \"./config\";\n\nexport type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> =\n TsdownPluginContext<TResolvedConfig> &\n NodeJsPluginContext<TResolvedConfig> & {\n /**\n * The root path where commands are located.\n */\n commandsPath: string;\n\n /**\n * The default command arguments to apply to all application commands.\n */\n options: CommandOption[];\n\n /**\n * The list of commands discovered in the project.\n */\n inputs: CommandConfig[];\n\n /**\n * The command-line application structure.\n */\n commands: Record<string, CommandTree>;\n };\n\nexport type UnresolvedContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n> = PowerlinesUnresolvedContext<TResolvedConfig>;\n"],"mappings":";;AAAA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB"}
@@ -1,8 +1,8 @@
1
- import { CommandInput, CommandOption, CommandTree } from "./command.cjs";
1
+ import { CommandConfig, CommandOption, CommandTree } from "./command.cjs";
2
2
  import { ResolvedConfig } from "./config.cjs";
3
+ import { UnresolvedContext as UnresolvedContext$1 } from "powerlines";
3
4
  import { NodeJsPluginContext } from "@powerlines/plugin-nodejs/types/plugin";
4
5
  import { TsdownPluginContext } from "@powerlines/plugin-tsdown/types/plugin";
5
- import { UnresolvedContext as UnresolvedContext$1 } from "powerlines/types/context";
6
6
 
7
7
  //#region src/types/context.d.ts
8
8
  type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = TsdownPluginContext<TResolvedConfig> & NodeJsPluginContext<TResolvedConfig> & {
@@ -17,7 +17,7 @@ type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = TsdownPl
17
17
  /**
18
18
  * The list of commands discovered in the project.
19
19
  */
20
- inputs: CommandInput[];
20
+ inputs: CommandConfig[];
21
21
  /**
22
22
  * The command-line application structure.
23
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.cts","names":[],"sources":["../../src/types/context.ts"],"sourcesContent":[],"mappings":";;;;;;;KAwBY,gCAAgC,iBAAiB,kBAC3D,oBAAoB,mBAClB,oBAAoB;;AAFxB;;EAA6D,YAAA,EAAA,MAAA;EACvC;;;EAClB,OAAA,EASW,aATX,EAAA;EASW;;;EAUC,MAAA,EALF,YAKE,EAAA;EAAM;AAGtB;;EAC2C,QAAA,EAJ3B,MAI2B,CAAA,MAAA,EAJZ,WAIY,CAAA;CACX;AAA5B,KAFQ,iBAER,CAAA,wBADsB,cACtB,GADuC,cACvC,CAAA,GAAA,mBAAA,CAA4B,eAA5B,CAAA"}
1
+ {"version":3,"file":"context.d.cts","names":[],"sources":["../../src/types/context.ts"],"sourcesContent":[],"mappings":";;;;;;;KAwBY,gCAAgC,iBAAiB,kBAC3D,oBAAoB,mBAClB,oBAAoB;;AAFxB;;EAA6D,YAAA,EAAA,MAAA;EACvC;;;EAClB,OAAA,EASW,aATX,EAAA;EASW;;;EAUC,MAAA,EALF,aAKE,EAAA;EAAM;AAGtB;;EAC2C,QAAA,EAJ3B,MAI2B,CAAA,MAAA,EAJZ,WAIY,CAAA;CACX;AAA5B,KAFQ,iBAER,CAAA,wBADsB,cACtB,GADuC,cACvC,CAAA,GAAA,mBAAA,CAA4B,eAA5B,CAAA"}
@@ -1,8 +1,8 @@
1
- import { CommandInput, CommandOption, CommandTree } from "./command.mjs";
1
+ import { CommandConfig, CommandOption, CommandTree } from "./command.mjs";
2
2
  import { ResolvedConfig } from "./config.mjs";
3
+ import { UnresolvedContext as UnresolvedContext$1 } from "powerlines";
3
4
  import { NodeJsPluginContext } from "@powerlines/plugin-nodejs/types/plugin";
4
5
  import { TsdownPluginContext } from "@powerlines/plugin-tsdown/types/plugin";
5
- import { UnresolvedContext as UnresolvedContext$1 } from "powerlines/types/context";
6
6
 
7
7
  //#region src/types/context.d.ts
8
8
  type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = TsdownPluginContext<TResolvedConfig> & NodeJsPluginContext<TResolvedConfig> & {
@@ -17,7 +17,7 @@ type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = TsdownPl
17
17
  /**
18
18
  * The list of commands discovered in the project.
19
19
  */
20
- inputs: CommandInput[];
20
+ inputs: CommandConfig[];
21
21
  /**
22
22
  * The command-line application structure.
23
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.mts","names":[],"sources":["../../src/types/context.ts"],"sourcesContent":[],"mappings":";;;;;;;KAwBY,gCAAgC,iBAAiB,kBAC3D,oBAAoB,mBAClB,oBAAoB;;AAFxB;;EAA6D,YAAA,EAAA,MAAA;EACvC;;;EAClB,OAAA,EASW,aATX,EAAA;EASW;;;EAUC,MAAA,EALF,YAKE,EAAA;EAAM;AAGtB;;EAC2C,QAAA,EAJ3B,MAI2B,CAAA,MAAA,EAJZ,WAIY,CAAA;CACX;AAA5B,KAFQ,iBAER,CAAA,wBADsB,cACtB,GADuC,cACvC,CAAA,GAAA,mBAAA,CAA4B,eAA5B,CAAA"}
1
+ {"version":3,"file":"context.d.mts","names":[],"sources":["../../src/types/context.ts"],"sourcesContent":[],"mappings":";;;;;;;KAwBY,gCAAgC,iBAAiB,kBAC3D,oBAAoB,mBAClB,oBAAoB;;AAFxB;;EAA6D,YAAA,EAAA,MAAA;EACvC;;;EAClB,OAAA,EASW,aATX,EAAA;EASW;;;EAUC,MAAA,EALF,aAKE,EAAA;EAAM;AAGtB;;EAC2C,QAAA,EAJ3B,MAI2B,CAAA,MAAA,EAJZ,WAIY,CAAA;CACX;AAA5B,KAFQ,iBAER,CAAA,wBADsB,cACtB,GADuC,cACvC,CAAA,GAAA,mBAAA,CAA4B,eAA5B,CAAA"}
@@ -11,7 +11,7 @@ const __ΩContext = [
11
11
  "commandsPath",
12
12
  "CommandOption",
13
13
  "options",
14
- "CommandInput",
14
+ "CommandConfig",
15
15
  "inputs",
16
16
  () => __ΩRecord,
17
17
  "CommandTree",
@@ -1 +1 @@
1
- {"version":3,"file":"context.mjs","names":[],"sources":["../../src/types/context.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 { NodeJsPluginContext } from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type { TsdownPluginContext } from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { UnresolvedContext as PowerlinesUnresolvedContext } from \"powerlines/types/context\";\nimport type { CommandInput, CommandOption, CommandTree } from \"./command\";\nimport type { ResolvedConfig } from \"./config\";\n\nexport type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> =\n TsdownPluginContext<TResolvedConfig> &\n NodeJsPluginContext<TResolvedConfig> & {\n /**\n * The root path where commands are located.\n */\n commandsPath: string;\n\n /**\n * The default command arguments to apply to all application commands.\n */\n options: CommandOption[];\n\n /**\n * The list of commands discovered in the project.\n */\n inputs: CommandInput[];\n\n /**\n * The command-line application structure.\n */\n commands: Record<string, CommandTree>;\n };\n\nexport type UnresolvedContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n> = PowerlinesUnresolvedContext<TResolvedConfig>;\n"],"mappings":";AAAA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB"}
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../../src/types/context.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 { NodeJsPluginContext } from \"@powerlines/plugin-nodejs/types/plugin\";\nimport type { TsdownPluginContext } from \"@powerlines/plugin-tsdown/types/plugin\";\nimport type { UnresolvedContext as PowerlinesUnresolvedContext } from \"powerlines\";\nimport type { CommandConfig, CommandOption, CommandTree } from \"./command\";\nimport type { ResolvedConfig } from \"./config\";\n\nexport type Context<TResolvedConfig extends ResolvedConfig = ResolvedConfig> =\n TsdownPluginContext<TResolvedConfig> &\n NodeJsPluginContext<TResolvedConfig> & {\n /**\n * The root path where commands are located.\n */\n commandsPath: string;\n\n /**\n * The default command arguments to apply to all application commands.\n */\n options: CommandOption[];\n\n /**\n * The list of commands discovered in the project.\n */\n inputs: CommandConfig[];\n\n /**\n * The command-line application structure.\n */\n commands: Record<string, CommandTree>;\n };\n\nexport type UnresolvedContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n> = PowerlinesUnresolvedContext<TResolvedConfig>;\n"],"mappings":";AAAA,MAAM,YAAY;CAAC;CAAK;CAAK;CAAU;CAAyB"}