@shell-shock/preset-script 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/banner-function-declaration.cjs +68 -0
- package/dist/components/banner-function-declaration.cjs.map +1 -0
- package/dist/components/banner-function-declaration.d.cts +19 -0
- package/dist/components/banner-function-declaration.d.cts.map +1 -0
- package/dist/components/banner-function-declaration.d.mts +19 -0
- package/dist/components/banner-function-declaration.d.mts.map +1 -0
- package/dist/components/banner-function-declaration.mjs +67 -0
- package/dist/components/banner-function-declaration.mjs.map +1 -0
- package/dist/components/bin-entry.cjs +1 -1
- package/dist/components/bin-entry.mjs +1 -1
- package/dist/components/command-entry.cjs +28 -18
- package/dist/components/command-entry.cjs.map +1 -1
- package/dist/components/command-entry.d.cts +5 -5
- package/dist/components/command-entry.d.cts.map +1 -1
- package/dist/components/command-entry.d.mts +4 -4
- package/dist/components/command-entry.d.mts.map +1 -1
- package/dist/components/command-entry.mjs +27 -17
- package/dist/components/command-entry.mjs.map +1 -1
- package/dist/components/command-router.cjs +8 -29
- package/dist/components/command-router.cjs.map +1 -1
- package/dist/components/command-router.mjs +8 -29
- package/dist/components/command-router.mjs.map +1 -1
- package/dist/components/console-builtin.cjs +10 -66
- package/dist/components/console-builtin.cjs.map +1 -1
- package/dist/components/console-builtin.d.cts +2 -11
- package/dist/components/console-builtin.d.cts.map +1 -1
- package/dist/components/console-builtin.d.mts +2 -11
- package/dist/components/console-builtin.d.mts.map +1 -1
- package/dist/components/console-builtin.mjs +12 -67
- package/dist/components/console-builtin.mjs.map +1 -1
- package/dist/components/help.cjs +75 -9
- package/dist/components/help.cjs.map +1 -1
- package/dist/components/help.d.cts +15 -1
- package/dist/components/help.d.cts.map +1 -1
- package/dist/components/help.d.mts +20 -6
- package/dist/components/help.d.mts.map +1 -1
- package/dist/components/help.mjs +75 -10
- package/dist/components/help.mjs.map +1 -1
- package/dist/components/index.cjs +3 -8
- package/dist/components/index.d.cts +4 -4
- package/dist/components/index.d.mts +4 -4
- package/dist/components/index.mjs +4 -4
- package/dist/components/utils-builtin.cjs +2 -2
- package/dist/components/utils-builtin.cjs.map +1 -1
- package/dist/components/utils-builtin.d.cts +7 -7
- package/dist/components/utils-builtin.d.mts +7 -7
- package/dist/components/utils-builtin.mjs +2 -2
- package/dist/components/utils-builtin.mjs.map +1 -1
- package/dist/components/virtual-command-entry.cjs +3 -3
- package/dist/components/virtual-command-entry.cjs.map +1 -1
- package/dist/components/virtual-command-entry.d.cts +4 -4
- package/dist/components/virtual-command-entry.d.mts +3 -3
- package/dist/components/virtual-command-entry.d.mts.map +1 -1
- package/dist/components/virtual-command-entry.mjs +3 -3
- package/dist/components/virtual-command-entry.mjs.map +1 -1
- package/dist/contexts/theme.cjs +2 -2
- package/dist/contexts/theme.cjs.map +1 -1
- package/dist/helpers/ansi-utils.cjs +3 -0
- package/dist/helpers/ansi-utils.d.cts +8 -1
- package/dist/helpers/ansi-utils.d.cts.map +1 -1
- package/dist/helpers/ansi-utils.d.mts +8 -1
- package/dist/helpers/ansi-utils.d.mts.map +1 -1
- package/dist/helpers/ansi-utils.mjs +1 -1
- package/dist/helpers/get-default-options.d.cts +13 -0
- package/dist/helpers/get-default-options.d.cts.map +1 -0
- package/dist/helpers/get-default-options.d.mts +13 -0
- package/dist/helpers/get-default-options.d.mts.map +1 -0
- package/dist/index.cjs +20 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +19 -52
- package/dist/index.mjs.map +1 -1
- package/dist/types/plugin.d.mts.map +1 -1
- package/package.json +47 -20
- package/dist/components/args-parser-logic.cjs +0 -678
- package/dist/components/args-parser-logic.cjs.map +0 -1
- package/dist/components/args-parser-logic.d.cts +0 -45
- package/dist/components/args-parser-logic.d.cts.map +0 -1
- package/dist/components/args-parser-logic.d.mts +0 -45
- package/dist/components/args-parser-logic.d.mts.map +0 -1
- package/dist/components/args-parser-logic.mjs +0 -672
- package/dist/components/args-parser-logic.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ This package is part of the ⚡<b>Shell Shock</b> monorepo. The Shell Shock pack
|
|
|
27
27
|
|
|
28
28
|
<h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
|
|
29
29
|
|
|
30
|
-
[](https://stormsoftware.com/projects/shell-shock/) [](http://commitizen.github.io/cz-cli/)  
|
|
31
31
|
|
|
32
32
|
<!-- prettier-ignore-start -->
|
|
33
33
|
<!-- markdownlint-disable -->
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_contexts_theme = require('../contexts/theme.cjs');
|
|
3
|
+
require('../contexts/index.cjs');
|
|
4
|
+
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
5
|
+
let __alloy_js_core = require("@alloy-js/core");
|
|
6
|
+
let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
7
|
+
let __powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
8
|
+
let __shell_shock_core_contexts_command = require("@shell-shock/core/contexts/command");
|
|
9
|
+
let __shell_shock_core_plugin_utils_context_helpers = require("@shell-shock/core/plugin-utils/context-helpers");
|
|
10
|
+
|
|
11
|
+
//#region src/components/banner-function-declaration.tsx
|
|
12
|
+
/**
|
|
13
|
+
* A component to generate the `banner` function for a specific command or application.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.
|
|
17
|
+
*/
|
|
18
|
+
function BannerFunctionDeclaration(props) {
|
|
19
|
+
const { consoleFnName = "log", variant = "primary", title: titleProp } = props;
|
|
20
|
+
const theme = require_contexts_theme.useTheme();
|
|
21
|
+
const context = (0, __powerlines_plugin_alloy_core_contexts_context.usePowerlines)();
|
|
22
|
+
const command = (0, __shell_shock_core_contexts_command.useCommand)();
|
|
23
|
+
const header = (0, __alloy_js_core.computed)(() => `${theme.labels.banner.header[variant] || (0, __shell_shock_core_plugin_utils_context_helpers.getAppTitle)(context)} v${context.packageJson.version || "1.0.0"}`);
|
|
24
|
+
const description = (0, __alloy_js_core.computed)(() => command?.description || (0, __shell_shock_core_plugin_utils_context_helpers.getAppDescription)(context));
|
|
25
|
+
const footer = (0, __alloy_js_core.computed)(() => theme.labels.banner.footer[variant]);
|
|
26
|
+
const title = (0, __alloy_js_core.computed)(() => titleProp || /(?:cli|command-line|command line)\s+(?:application|app)?$/.test(header.value.toLowerCase()) ? header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim() : `${header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim()} Command-Line Application`);
|
|
27
|
+
const bannerPadding = (0, __alloy_js_core.computed)(() => Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.banner.outline[variant].left.length + theme.borderStyles.banner.outline[variant].right.length);
|
|
28
|
+
const totalPadding = (0, __alloy_js_core.computed)(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);
|
|
29
|
+
return [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.FunctionDeclaration, {
|
|
30
|
+
name: "banner",
|
|
31
|
+
get doc() {
|
|
32
|
+
return `Write the ${(0, __shell_shock_core_plugin_utils_context_helpers.getAppTitle)(context)} application banner ${command ? `for the ${command.title} command ` : ""}to the console.`;
|
|
33
|
+
},
|
|
34
|
+
get children() {
|
|
35
|
+
return __alloy_js_core.code`
|
|
36
|
+
if (hasFlag("no-banner") || hasFlag("hide-banner") || isCI || isMinimal) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].topLeft}") + ${theme.icons.banner.header[variant] ? `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(4)) + " " + ${theme.icons.banner.header[variant] ? `colors.text.banner.header.${variant}("${theme.icons.banner.header[variant]}") + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}") + " " +` : ""} colors.bold(colors.text.banner.header.${variant}("${header.value}")) + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${4 + (theme.icons.banner.header[variant] ? theme.icons.banner.header[variant].length + 3 : 0) + (header.value ? header.value.length + 2 : 0) + bannerPadding.value}, 0)))` : `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].topRight}"), { consoleFn: console.${consoleFnName} });
|
|
41
|
+
|
|
42
|
+
splitText(
|
|
43
|
+
colors.bold(colors.text.banner.title.${variant}("${title.value}")),
|
|
44
|
+
Math.max(process.stdout.columns - ${totalPadding.value}, 0)
|
|
45
|
+
).forEach((line) => {
|
|
46
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} });
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
${command?.title ? `writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + " ".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
|
|
50
|
+
|
|
51
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.command.${variant}("${command.title}")) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} }); ` : ""}
|
|
52
|
+
|
|
53
|
+
splitText(
|
|
54
|
+
colors.bold(${command?.title ? "colors.text.banner.description" : "colors.text.banner.command"}.${variant}("${description.value.replace(/"/g, "\\\"")}")),
|
|
55
|
+
Math.max(process.stdout.columns - ${totalPadding.value}, 0)
|
|
56
|
+
).forEach((line) => {
|
|
57
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} });
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + ${footer.value ? `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${6 + (footer.value ? footer.value.length : 0) + bannerPadding.value}, 0))) + " " + ${footer.value ? `colors.bold(colors.text.banner.footer.${variant}("${footer.value}"))` : ""} + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(4))` : `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
})];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
exports.BannerFunctionDeclaration = BannerFunctionDeclaration;
|
|
68
|
+
//# sourceMappingURL=banner-function-declaration.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-function-declaration.cjs","names":["code","computed","FunctionDeclaration","usePowerlines","useCommand","getAppDescription","getAppTitle","useTheme","BannerFunctionDeclaration","props","consoleFnName","variant","title","titleProp","theme","context","command","header","labels","banner","packageJson","version","description","footer","test","value","toLowerCase","replace","trim","bannerPadding","Math","max","padding","app","borderStyles","outline","left","length","right","totalPadding","_$createComponent","name","doc","children","topLeft","icons","top","topRight","bottomLeft","bottomRight","bottom"],"sources":["../../src/components/banner-function-declaration.tsx"],"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 { code, computed } from \"@alloy-js/core\";\nimport { FunctionDeclaration } from \"@alloy-js/typescript\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { useCommand } from \"@shell-shock/core/contexts/command\";\nimport {\n getAppDescription,\n getAppTitle\n} from \"@shell-shock/core/plugin-utils/context-helpers\";\nimport type { ThemeColorVariant } from \"@shell-shock/plugin-theme/types/theme\";\nimport { useTheme } from \"../contexts\";\nimport type { ScriptPresetContext } from \"../types\";\n\nexport interface BannerFunctionDeclarationProps {\n variant?: ThemeColorVariant;\n consoleFnName?: \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\";\n title?: string;\n}\n\n/**\n * A component to generate the `banner` function for a specific command or application.\n *\n * @remarks\n * This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n */\nexport function BannerFunctionDeclaration(\n props: BannerFunctionDeclarationProps\n) {\n const {\n consoleFnName = \"log\",\n variant = \"primary\",\n title: titleProp\n } = props;\n\n const theme = useTheme();\n\n const context = usePowerlines<ScriptPresetContext>();\n const command = useCommand();\n\n const header = computed(\n () =>\n `${theme.labels.banner.header[variant] || getAppTitle(context)} v${context.packageJson.version || \"1.0.0\"}`\n );\n const description = computed(\n () => command?.description || getAppDescription(context)\n );\n const footer = computed(() => theme.labels.banner.footer[variant]);\n\n const title = computed(() =>\n titleProp ||\n /(?:cli|command-line|command line)\\s+(?:application|app)?$/.test(\n header.value.toLowerCase()\n )\n ? header.value\n .replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\")\n .trim()\n : `${header.value\n .replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\")\n .trim()} Command-Line Application`\n );\n\n const bannerPadding = computed(\n () =>\n Math.max(theme.padding.app, 0) * 2 +\n theme.borderStyles.banner.outline[variant].left.length +\n theme.borderStyles.banner.outline[variant].right.length\n );\n const totalPadding = computed(\n () => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value\n );\n\n return (\n <>\n <FunctionDeclaration\n name=\"banner\"\n doc={`Write the ${getAppTitle(context)} application banner ${\n command ? `for the ${command.title} command ` : \"\"\n }to the console.`}>\n {code`\n if (hasFlag(\"no-banner\") || hasFlag(\"hide-banner\") || isCI || isMinimal) {\n return;\n }\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].topLeft\n }\") + ${\n theme.icons.banner.header[variant]\n ? `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(4)) + \" \" + ${\n theme.icons.banner.header[variant]\n ? `colors.text.banner.header.${variant}(\"${\n theme.icons.banner.header[variant]\n }\") + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\") + \" \" +`\n : \"\"\n } colors.bold(colors.text.banner.header.${variant}(\"${\n header.value\n }\")) + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(Math.max(process.stdout.columns - ${\n 4 +\n (theme.icons.banner.header[variant]\n ? theme.icons.banner.header[variant].length + 3\n : 0) +\n (header.value ? header.value.length + 2 : 0) +\n bannerPadding.value\n }, 0)))`\n : `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n }, 0)))`\n } + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].topRight\n }\"), { consoleFn: console.${consoleFnName} });\n\n splitText(\n colors.bold(colors.text.banner.title.${variant}(\"${title.value}\")),\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.text.banner.description.${\n variant\n }(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} });\n });\n\n ${\n command?.title\n ? `writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomLeft\n }\") + \" \".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n })) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomRight\n }\"), { consoleFn: console.${consoleFnName} });\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.bold(colors.text.banner.command.${\n variant\n }(\"${command.title}\")) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} }); `\n : \"\"\n }\n\n splitText(\n colors.bold(${\n command?.title\n ? \"colors.text.banner.description\"\n : \"colors.text.banner.command\"\n }.${variant}(\"${description.value.replace(/\"/g, '\\\\\"')}\")),\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.text.banner.description.${variant}(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} });\n });\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomLeft\n }\") + ${\n footer.value\n ? `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(Math.max(process.stdout.columns - ${\n 6 +\n (footer.value ? footer.value.length : 0) +\n bannerPadding.value\n }, 0))) + \" \" + ${\n footer.value\n ? `colors.bold(colors.text.banner.footer.${variant}(\"${footer.value}\"))`\n : \"\"\n } + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(4))`\n : `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n }, 0)))`\n } + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomRight\n }\"), { consoleFn: console.${consoleFnName} });\n`}\n </FunctionDeclaration>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _alloy_js_core12 from "@alloy-js/core";
|
|
2
|
+
import { ThemeColorVariant } from "@shell-shock/plugin-theme/types/theme";
|
|
3
|
+
|
|
4
|
+
//#region src/components/banner-function-declaration.d.ts
|
|
5
|
+
interface BannerFunctionDeclarationProps {
|
|
6
|
+
variant?: ThemeColorVariant;
|
|
7
|
+
consoleFnName?: "log" | "info" | "warn" | "error" | "debug";
|
|
8
|
+
title?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A component to generate the `banner` function for a specific command or application.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.
|
|
15
|
+
*/
|
|
16
|
+
declare function BannerFunctionDeclaration(props: BannerFunctionDeclarationProps): _alloy_js_core12.Children;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { BannerFunctionDeclaration, BannerFunctionDeclarationProps };
|
|
19
|
+
//# sourceMappingURL=banner-function-declaration.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-function-declaration.d.cts","names":[],"sources":["../../src/components/banner-function-declaration.tsx"],"sourcesContent":[],"mappings":";;;;UA8BiB,8BAAA;YACL;;EADK,KAAA,CAAA,EAAA,MAAA;AAYjB;;;;;;;iBAAgB,yBAAA,QACP,iCAA8B,gBAAA,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _alloy_js_core15 from "@alloy-js/core";
|
|
2
|
+
import { ThemeColorVariant } from "@shell-shock/plugin-theme/types/theme";
|
|
3
|
+
|
|
4
|
+
//#region src/components/banner-function-declaration.d.ts
|
|
5
|
+
interface BannerFunctionDeclarationProps {
|
|
6
|
+
variant?: ThemeColorVariant;
|
|
7
|
+
consoleFnName?: "log" | "info" | "warn" | "error" | "debug";
|
|
8
|
+
title?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A component to generate the `banner` function for a specific command or application.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.
|
|
15
|
+
*/
|
|
16
|
+
declare function BannerFunctionDeclaration(props: BannerFunctionDeclarationProps): _alloy_js_core15.Children;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { BannerFunctionDeclaration, BannerFunctionDeclarationProps };
|
|
19
|
+
//# sourceMappingURL=banner-function-declaration.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-function-declaration.d.mts","names":[],"sources":["../../src/components/banner-function-declaration.tsx"],"sourcesContent":[],"mappings":";;;;UA8BiB,8BAAA;YACL;;EADK,KAAA,CAAA,EAAA,MAAA;AAYjB;;;;;;;iBAAgB,yBAAA,QACP,iCAA8B,gBAAA,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useTheme } from "../contexts/theme.mjs";
|
|
2
|
+
import "../contexts/index.mjs";
|
|
3
|
+
import { createComponent, memo } from "@alloy-js/core/jsx-runtime";
|
|
4
|
+
import { code, computed } from "@alloy-js/core";
|
|
5
|
+
import { FunctionDeclaration } from "@alloy-js/typescript";
|
|
6
|
+
import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
|
|
7
|
+
import { useCommand } from "@shell-shock/core/contexts/command";
|
|
8
|
+
import { getAppDescription, getAppTitle } from "@shell-shock/core/plugin-utils/context-helpers";
|
|
9
|
+
|
|
10
|
+
//#region src/components/banner-function-declaration.tsx
|
|
11
|
+
/**
|
|
12
|
+
* A component to generate the `banner` function for a specific command or application.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.
|
|
16
|
+
*/
|
|
17
|
+
function BannerFunctionDeclaration(props) {
|
|
18
|
+
const { consoleFnName = "log", variant = "primary", title: titleProp } = props;
|
|
19
|
+
const theme = useTheme();
|
|
20
|
+
const context = usePowerlines();
|
|
21
|
+
const command = useCommand();
|
|
22
|
+
const header = computed(() => `${theme.labels.banner.header[variant] || getAppTitle(context)} v${context.packageJson.version || "1.0.0"}`);
|
|
23
|
+
const description = computed(() => command?.description || getAppDescription(context));
|
|
24
|
+
const footer = computed(() => theme.labels.banner.footer[variant]);
|
|
25
|
+
const title = computed(() => titleProp || /(?:cli|command-line|command line)\s+(?:application|app)?$/.test(header.value.toLowerCase()) ? header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim() : `${header.value.replace(`v${context.packageJson.version || "1.0.0"}`, "").trim()} Command-Line Application`);
|
|
26
|
+
const bannerPadding = computed(() => Math.max(theme.padding.app, 0) * 2 + theme.borderStyles.banner.outline[variant].left.length + theme.borderStyles.banner.outline[variant].right.length);
|
|
27
|
+
const totalPadding = computed(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);
|
|
28
|
+
return [createComponent(FunctionDeclaration, {
|
|
29
|
+
name: "banner",
|
|
30
|
+
get doc() {
|
|
31
|
+
return `Write the ${getAppTitle(context)} application banner ${command ? `for the ${command.title} command ` : ""}to the console.`;
|
|
32
|
+
},
|
|
33
|
+
get children() {
|
|
34
|
+
return code`
|
|
35
|
+
if (hasFlag("no-banner") || hasFlag("hide-banner") || isCI || isMinimal) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].topLeft}") + ${theme.icons.banner.header[variant] ? `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(4)) + " " + ${theme.icons.banner.header[variant] ? `colors.text.banner.header.${variant}("${theme.icons.banner.header[variant]}") + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}") + " " +` : ""} colors.bold(colors.text.banner.header.${variant}("${header.value}")) + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${4 + (theme.icons.banner.header[variant] ? theme.icons.banner.header[variant].length + 3 : 0) + (header.value ? header.value.length + 2 : 0) + bannerPadding.value}, 0)))` : `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].top}".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].topRight}"), { consoleFn: console.${consoleFnName} });
|
|
40
|
+
|
|
41
|
+
splitText(
|
|
42
|
+
colors.bold(colors.text.banner.title.${variant}("${title.value}")),
|
|
43
|
+
Math.max(process.stdout.columns - ${totalPadding.value}, 0)
|
|
44
|
+
).forEach((line) => {
|
|
45
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} });
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
${command?.title ? `writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + " ".repeat(Math.max(process.stdout.columns - ${bannerPadding.value})) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
|
|
49
|
+
|
|
50
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.bold(colors.text.banner.command.${variant}("${command.title}")) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} }); ` : ""}
|
|
51
|
+
|
|
52
|
+
splitText(
|
|
53
|
+
colors.bold(${command?.title ? "colors.text.banner.description" : "colors.text.banner.command"}.${variant}("${description.value.replace(/"/g, "\\\"")}")),
|
|
54
|
+
Math.max(process.stdout.columns - ${totalPadding.value}, 0)
|
|
55
|
+
).forEach((line) => {
|
|
56
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].left}") + " ".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.text.banner.description.${variant}(line) + " ".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${bannerPadding.value})) / 2), 0)) + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].right}"), { consoleFn: console.${consoleFnName} });
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
writeLine(colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomLeft}") + ${footer.value ? `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${6 + (footer.value ? footer.value.length : 0) + bannerPadding.value}, 0))) + " " + ${footer.value ? `colors.bold(colors.text.banner.footer.${variant}("${footer.value}"))` : ""} + " " + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(4))` : `colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottom}".repeat(Math.max(process.stdout.columns - ${bannerPadding.value}, 0)))`} + colors.border.banner.outline.${variant}("${theme.borderStyles.banner.outline[variant].bottomRight}"), { consoleFn: console.${consoleFnName} });
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
})];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { BannerFunctionDeclaration };
|
|
67
|
+
//# sourceMappingURL=banner-function-declaration.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-function-declaration.mjs","names":["code","computed","FunctionDeclaration","usePowerlines","useCommand","getAppDescription","getAppTitle","useTheme","BannerFunctionDeclaration","props","consoleFnName","variant","title","titleProp","theme","context","command","header","labels","banner","packageJson","version","description","footer","test","value","toLowerCase","replace","trim","bannerPadding","Math","max","padding","app","borderStyles","outline","left","length","right","totalPadding","_$createComponent","name","doc","children","topLeft","icons","top","topRight","bottomLeft","bottomRight","bottom"],"sources":["../../src/components/banner-function-declaration.tsx"],"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 { code, computed } from \"@alloy-js/core\";\nimport { FunctionDeclaration } from \"@alloy-js/typescript\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport { useCommand } from \"@shell-shock/core/contexts/command\";\nimport {\n getAppDescription,\n getAppTitle\n} from \"@shell-shock/core/plugin-utils/context-helpers\";\nimport type { ThemeColorVariant } from \"@shell-shock/plugin-theme/types/theme\";\nimport { useTheme } from \"../contexts\";\nimport type { ScriptPresetContext } from \"../types\";\n\nexport interface BannerFunctionDeclarationProps {\n variant?: ThemeColorVariant;\n consoleFnName?: \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\";\n title?: string;\n}\n\n/**\n * A component to generate the `banner` function for a specific command or application.\n *\n * @remarks\n * This function will display a banner in the console with the application's name, version, and description. It can be customized with different variants for styling and supports conditional rendering based on flags or environment variables.\n */\nexport function BannerFunctionDeclaration(\n props: BannerFunctionDeclarationProps\n) {\n const {\n consoleFnName = \"log\",\n variant = \"primary\",\n title: titleProp\n } = props;\n\n const theme = useTheme();\n\n const context = usePowerlines<ScriptPresetContext>();\n const command = useCommand();\n\n const header = computed(\n () =>\n `${theme.labels.banner.header[variant] || getAppTitle(context)} v${context.packageJson.version || \"1.0.0\"}`\n );\n const description = computed(\n () => command?.description || getAppDescription(context)\n );\n const footer = computed(() => theme.labels.banner.footer[variant]);\n\n const title = computed(() =>\n titleProp ||\n /(?:cli|command-line|command line)\\s+(?:application|app)?$/.test(\n header.value.toLowerCase()\n )\n ? header.value\n .replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\")\n .trim()\n : `${header.value\n .replace(`v${context.packageJson.version || \"1.0.0\"}`, \"\")\n .trim()} Command-Line Application`\n );\n\n const bannerPadding = computed(\n () =>\n Math.max(theme.padding.app, 0) * 2 +\n theme.borderStyles.banner.outline[variant].left.length +\n theme.borderStyles.banner.outline[variant].right.length\n );\n const totalPadding = computed(\n () => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value\n );\n\n return (\n <>\n <FunctionDeclaration\n name=\"banner\"\n doc={`Write the ${getAppTitle(context)} application banner ${\n command ? `for the ${command.title} command ` : \"\"\n }to the console.`}>\n {code`\n if (hasFlag(\"no-banner\") || hasFlag(\"hide-banner\") || isCI || isMinimal) {\n return;\n }\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].topLeft\n }\") + ${\n theme.icons.banner.header[variant]\n ? `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(4)) + \" \" + ${\n theme.icons.banner.header[variant]\n ? `colors.text.banner.header.${variant}(\"${\n theme.icons.banner.header[variant]\n }\") + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\") + \" \" +`\n : \"\"\n } colors.bold(colors.text.banner.header.${variant}(\"${\n header.value\n }\")) + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(Math.max(process.stdout.columns - ${\n 4 +\n (theme.icons.banner.header[variant]\n ? theme.icons.banner.header[variant].length + 3\n : 0) +\n (header.value ? header.value.length + 2 : 0) +\n bannerPadding.value\n }, 0)))`\n : `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].top\n }\".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n }, 0)))`\n } + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].topRight\n }\"), { consoleFn: console.${consoleFnName} });\n\n splitText(\n colors.bold(colors.text.banner.title.${variant}(\"${title.value}\")),\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.text.banner.description.${\n variant\n }(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} });\n });\n\n ${\n command?.title\n ? `writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomLeft\n }\") + \" \".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n })) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomRight\n }\"), { consoleFn: console.${consoleFnName} });\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.bold(colors.text.banner.command.${\n variant\n }(\"${command.title}\")) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} }); `\n : \"\"\n }\n\n splitText(\n colors.bold(${\n command?.title\n ? \"colors.text.banner.description\"\n : \"colors.text.banner.command\"\n }.${variant}(\"${description.value.replace(/\"/g, '\\\\\"')}\")),\n Math.max(process.stdout.columns - ${totalPadding.value}, 0)\n ).forEach((line) => {\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].left\n }\") + \" \".repeat(Math.max(Math.floor((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.text.banner.description.${variant}(line) + \" \".repeat(Math.max(Math.ceil((process.stdout.columns - (stripAnsi(line).length + ${\n bannerPadding.value\n })) / 2), 0)) + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].right\n }\"), { consoleFn: console.${consoleFnName} });\n });\n\n writeLine(colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomLeft\n }\") + ${\n footer.value\n ? `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(Math.max(process.stdout.columns - ${\n 6 +\n (footer.value ? footer.value.length : 0) +\n bannerPadding.value\n }, 0))) + \" \" + ${\n footer.value\n ? `colors.bold(colors.text.banner.footer.${variant}(\"${footer.value}\"))`\n : \"\"\n } + \" \" + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(4))`\n : `colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottom\n }\".repeat(Math.max(process.stdout.columns - ${\n bannerPadding.value\n }, 0)))`\n } + colors.border.banner.outline.${variant}(\"${\n theme.borderStyles.banner.outline[variant].bottomRight\n }\"), { consoleFn: console.${consoleFnName} });\n`}\n </FunctionDeclaration>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
|
2
2
|
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
3
3
|
let __alloy_js_core = require("@alloy-js/core");
|
|
4
4
|
let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
5
|
-
let __shell_shock_core_plugin_utils_context_helpers = require("@shell-shock/core/plugin-utils/context-helpers");
|
|
6
5
|
let __powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
6
|
+
let __shell_shock_core_plugin_utils_context_helpers = require("@shell-shock/core/plugin-utils/context-helpers");
|
|
7
7
|
let __powerlines_plugin_alloy_typescript_components_entry_file = require("@powerlines/plugin-alloy/typescript/components/entry-file");
|
|
8
8
|
let __powerlines_plugin_alloy_typescript_components_tsdoc = require("@powerlines/plugin-alloy/typescript/components/tsdoc");
|
|
9
9
|
let __stryke_helpers_get_unique = require("@stryke/helpers/get-unique");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createComponent, createIntrinsic, memo, mergeProps } from "@alloy-js/core/jsx-runtime";
|
|
2
2
|
import { For, Show, code, computed } from "@alloy-js/core";
|
|
3
3
|
import { FunctionDeclaration, IfStatement } from "@alloy-js/typescript";
|
|
4
|
-
import { getAppTitle } from "@shell-shock/core/plugin-utils/context-helpers";
|
|
5
4
|
import { usePowerlines } from "@powerlines/plugin-alloy/core/contexts/context";
|
|
5
|
+
import { getAppTitle } from "@shell-shock/core/plugin-utils/context-helpers";
|
|
6
6
|
import { EntryFile } from "@powerlines/plugin-alloy/typescript/components/entry-file";
|
|
7
7
|
import { TSDoc } from "@powerlines/plugin-alloy/typescript/components/tsdoc";
|
|
8
8
|
import { getUnique } from "@stryke/helpers/get-unique";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_components_args_parser_logic = require('./args-parser-logic.cjs');
|
|
3
2
|
const require_components_help = require('./help.cjs');
|
|
4
3
|
const require_components_virtual_command_entry = require('./virtual-command-entry.cjs');
|
|
5
4
|
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
6
5
|
let __alloy_js_core = require("@alloy-js/core");
|
|
7
6
|
let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
8
|
-
let __shell_shock_core_plugin_utils_context_helpers = require("@shell-shock/core/plugin-utils/context-helpers");
|
|
9
7
|
let __powerlines_plugin_alloy_core_contexts_context = require("@powerlines/plugin-alloy/core/contexts/context");
|
|
8
|
+
let __shell_shock_core_plugin_utils_context_helpers = require("@shell-shock/core/plugin-utils/context-helpers");
|
|
10
9
|
let __powerlines_plugin_alloy_typescript_components_entry_file = require("@powerlines/plugin-alloy/typescript/components/entry-file");
|
|
11
10
|
let __powerlines_plugin_alloy_typescript_components_tsdoc = require("@powerlines/plugin-alloy/typescript/components/tsdoc");
|
|
12
11
|
let __stryke_path_replace = require("@stryke/path/replace");
|
|
13
12
|
let __stryke_string_format_pascal_case = require("@stryke/string-format/pascal-case");
|
|
14
13
|
let defu = require("defu");
|
|
15
14
|
defu = require_rolldown_runtime.__toESM(defu);
|
|
15
|
+
let __shell_shock_core_components_options_parser_logic = require("@shell-shock/core/components/options-parser-logic");
|
|
16
16
|
let __stryke_path_find = require("@stryke/path/find");
|
|
17
17
|
let __stryke_path_join = require("@stryke/path/join");
|
|
18
18
|
let __stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
|
|
@@ -21,7 +21,7 @@ let __stryke_string_format_constant_case = require("@stryke/string-format/consta
|
|
|
21
21
|
//#region src/components/command-entry.tsx
|
|
22
22
|
function CommandInvocation(props) {
|
|
23
23
|
const { command } = props;
|
|
24
|
-
return [(0, __alloy_js_core_jsx_runtime.memo)(() => __alloy_js_core.code`return Promise.resolve(handle${(0, __stryke_string_format_pascal_case.pascalCase)(command.name)}(options${command.path.segments.filter((segment) => (0, __shell_shock_core_plugin_utils_context_helpers.
|
|
24
|
+
return [(0, __alloy_js_core_jsx_runtime.memo)(() => __alloy_js_core.code`return Promise.resolve(handle${(0, __stryke_string_format_pascal_case.pascalCase)(command.name)}(options${command.path.segments.filter((segment) => (0, __shell_shock_core_plugin_utils_context_helpers.isPositionalCommandOption)(segment)).length > 0 ? `, ${command.path.segments.filter((segment) => (0, __shell_shock_core_plugin_utils_context_helpers.isPositionalCommandOption)(segment)).map((segment) => (0, __stryke_string_format_camel_case.camelCase)((0, __shell_shock_core_plugin_utils_context_helpers.getPositionalCommandOptionName)(segment))).join(", ")}` : ""}));`), (0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* A component that generates the `handler` function declaration for a command.
|
|
@@ -31,7 +31,7 @@ function CommandHandlerDeclaration(props) {
|
|
|
31
31
|
const context = (0, __powerlines_plugin_alloy_core_contexts_context.usePowerlines)();
|
|
32
32
|
return [(0, __alloy_js_core_jsx_runtime.createComponent)(__powerlines_plugin_alloy_typescript_components_tsdoc.TSDoc, {
|
|
33
33
|
get heading() {
|
|
34
|
-
return `The ${command.title} (${(0, __shell_shock_core_plugin_utils_context_helpers.getAppBin)(context)} ${command.path.segments.map((segment) => (0, __shell_shock_core_plugin_utils_context_helpers.
|
|
34
|
+
return `The ${command.title} (${(0, __shell_shock_core_plugin_utils_context_helpers.getAppBin)(context)} ${command.path.segments.map((segment) => (0, __shell_shock_core_plugin_utils_context_helpers.isPositionalCommandOption)(segment) ? `[${(0, __stryke_string_format_constant_case.constantCase)((0, __shell_shock_core_plugin_utils_context_helpers.getPositionalCommandOptionName)(segment))}]` : segment).join(" ")}) command.`;
|
|
35
35
|
},
|
|
36
36
|
get children() {
|
|
37
37
|
return [
|
|
@@ -59,17 +59,25 @@ function CommandHandlerDeclaration(props) {
|
|
|
59
59
|
}],
|
|
60
60
|
get children() {
|
|
61
61
|
return [
|
|
62
|
-
(0, __alloy_js_core_jsx_runtime.createComponent)(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__shell_shock_core_components_options_parser_logic.PositionalOptionsParserLogic, {
|
|
63
|
+
get path() {
|
|
64
|
+
return command.path;
|
|
65
|
+
},
|
|
66
|
+
get envPrefix() {
|
|
67
|
+
return context.config.envPrefix;
|
|
68
|
+
}
|
|
69
|
+
}),
|
|
68
70
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
69
71
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
70
|
-
(0, __alloy_js_core_jsx_runtime.createComponent)(
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__shell_shock_core_components_options_parser_logic.OptionsParserLogic, {
|
|
73
|
+
command,
|
|
74
|
+
get envPrefix() {
|
|
75
|
+
return context.config.envPrefix;
|
|
76
|
+
},
|
|
77
|
+
get isCaseSensitive() {
|
|
78
|
+
return context.config.isCaseSensitive;
|
|
79
|
+
}
|
|
80
|
+
}),
|
|
73
81
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
74
82
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
75
83
|
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
@@ -100,7 +108,7 @@ function CommandHandlerDeclaration(props) {
|
|
|
100
108
|
function CommandEntry(props) {
|
|
101
109
|
const { command, imports, builtinImports, ...rest } = props;
|
|
102
110
|
const context = (0, __powerlines_plugin_alloy_core_contexts_context.usePowerlines)();
|
|
103
|
-
const filePath = (0, __alloy_js_core.computed)(() => (0, __stryke_path_join.joinPaths)(command.path.segments.filter((segment) => !(0, __shell_shock_core_plugin_utils_context_helpers.
|
|
111
|
+
const filePath = (0, __alloy_js_core.computed)(() => (0, __stryke_path_join.joinPaths)(command.path.segments.filter((segment) => !(0, __shell_shock_core_plugin_utils_context_helpers.isPositionalCommandOption)(segment)).join("/"), "index.ts"));
|
|
104
112
|
const commandSourcePath = (0, __alloy_js_core.computed)(() => (0, __stryke_path_replace.replaceExtension)((0, __stryke_path_find.relativePath)((0, __stryke_path_join.joinPaths)(context.entryPath, (0, __stryke_path_find.findFilePath)(filePath.value)), command.entry.input?.file || command.entry.file)));
|
|
105
113
|
const typeDefinition = (0, __alloy_js_core.computed)(() => ({
|
|
106
114
|
...command.entry,
|
|
@@ -118,20 +126,22 @@ function CommandEntry(props) {
|
|
|
118
126
|
},
|
|
119
127
|
get builtinImports() {
|
|
120
128
|
return (0, defu.default)(builtinImports ?? {}, {
|
|
121
|
-
env: ["env"],
|
|
129
|
+
env: ["env", "isCI"],
|
|
122
130
|
console: [
|
|
123
131
|
"warn",
|
|
124
132
|
"error",
|
|
125
133
|
"table",
|
|
126
134
|
"colors",
|
|
127
|
-
"
|
|
135
|
+
"stripAnsi",
|
|
136
|
+
"writeLine",
|
|
137
|
+
"splitText"
|
|
128
138
|
],
|
|
129
|
-
utils: ["getArgs"]
|
|
139
|
+
utils: ["getArgs", "isMinimal"]
|
|
130
140
|
});
|
|
131
141
|
},
|
|
132
142
|
get children() {
|
|
133
143
|
return [
|
|
134
|
-
(0, __alloy_js_core_jsx_runtime.createComponent)(
|
|
144
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__shell_shock_core_components_options_parser_logic.OptionsInterfaceDeclaration, { command }),
|
|
135
145
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
136
146
|
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
137
147
|
(0, __alloy_js_core_jsx_runtime.createComponent)(CommandHandlerDeclaration, { command })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-entry.cjs","names":["code","computed","For","Show","ElseClause","FunctionDeclaration","IfStatement","usePowerlines","EntryFile","TSDoc","TSDocParam","TSDocRemarks","TSDocTitle","getAppBin","getAppTitle","getVariableCommandPathName","isVariableCommandPath","findFilePath","relativePath","joinPaths","replaceExtension","camelCase","constantCase","pascalCase","defu","OptionsInterfaceDeclaration","OptionsParserLogic","ParamsParserLogic","VariablePathsParserLogic","Help","VirtualCommandEntry","CommandInvocation","props","command","_$memo","name","path","segments","filter","segment","length","map","join","params","param","_$createIntrinsic","CommandHandlerDeclaration","context","_$createComponent","heading","title","children","description","replace","async","parameters","type","default","condition","CommandEntry","imports","builtinImports","rest","filePath","commandSourcePath","entryPath","value","entry","input","file","typeDefinition","output","id","_$mergeProps","env","console","utils","each","Object","values","child","when","isVirtual","fallback"],"sources":["../../src/components/command-entry.tsx"],"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 { code, computed, For, Show } from \"@alloy-js/core\";\nimport {\n ElseClause,\n FunctionDeclaration,\n IfStatement\n} from \"@alloy-js/typescript\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport type { EntryFileProps } from \"@powerlines/plugin-alloy/typescript/components/entry-file\";\nimport { EntryFile } from \"@powerlines/plugin-alloy/typescript/components/entry-file\";\nimport {\n TSDoc,\n TSDocParam,\n TSDocRemarks,\n TSDocTitle\n} from \"@powerlines/plugin-alloy/typescript/components/tsdoc\";\nimport {\n getAppBin,\n getAppTitle,\n getVariableCommandPathName,\n isVariableCommandPath\n} from \"@shell-shock/core/plugin-utils/context-helpers\";\nimport type { CommandTree } from \"@shell-shock/core/types/command\";\nimport { findFilePath, relativePath } from \"@stryke/path/find\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { replaceExtension } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { constantCase } from \"@stryke/string-format/constant-case\";\nimport { pascalCase } from \"@stryke/string-format/pascal-case\";\nimport defu from \"defu\";\nimport type { ScriptPresetContext } from \"../types/plugin\";\nimport {\n OptionsInterfaceDeclaration,\n OptionsParserLogic,\n ParamsParserLogic,\n VariablePathsParserLogic\n} from \"./args-parser-logic\";\nimport { Help } from \"./help\";\nimport { VirtualCommandEntry } from \"./virtual-command-entry\";\n\nexport function CommandInvocation(props: { command: CommandTree }) {\n const { command } = props;\n\n return (\n <>\n {code`return Promise.resolve(handle${pascalCase(command.name)}(options${\n command.path.segments.filter(segment => isVariableCommandPath(segment))\n .length > 0\n ? `, ${command.path.segments\n .filter(segment => isVariableCommandPath(segment))\n .map(segment => camelCase(getVariableCommandPathName(segment)))\n .join(\", \")}`\n : \"\"\n }${\n command.params.length > 0\n ? `, ${command.params.map(param => camelCase(param.name)).join(\", \")}`\n : \"\"\n }));`}\n <hbr />\n </>\n );\n}\n\n/**\n * A component that generates the `handler` function declaration for a command.\n */\nexport function CommandHandlerDeclaration(props: { command: CommandTree }) {\n const { command } = props;\n\n const context = usePowerlines<ScriptPresetContext>();\n\n return (\n <>\n <TSDoc\n heading={`The ${command.title} (${getAppBin(\n context\n )} ${command.path.segments\n .map(segment =>\n isVariableCommandPath(segment)\n ? `[${constantCase(getVariableCommandPathName(segment))}]`\n : segment\n )\n .join(\" \")}) command.`}>\n <TSDocRemarks>{`${command.description.replace(/\\.+$/, \"\")}.`}</TSDocRemarks>\n <hbr />\n <TSDocTitle>{command.title}</TSDocTitle>\n <TSDocParam name=\"args\">{`The command-line arguments passed to the command.`}</TSDocParam>\n </TSDoc>\n <FunctionDeclaration\n export\n async\n name=\"handler\"\n parameters={[{ name: \"args\", type: \"string[]\", default: \"getArgs()\" }]}>\n <VariablePathsParserLogic path={command.path} />\n <hbr />\n <hbr />\n <OptionsParserLogic command={command} />\n <hbr />\n <hbr />\n <ParamsParserLogic params={command.params} />\n <hbr />\n <hbr />\n <IfStatement condition={code`options.help`}>\n {code`\n writeLine(\"\");\n writeLine(colors.text.heading.primary(\"${getAppTitle(context)} - ${\n command.title\n }\"));\n writeLine(\"\");\n writeLine(colors.text.body.primary(\"${command.description.replace(\n /\\.+$/,\n \"\"\n )}.\"));\n writeLine(\"\");`}\n <hbr />\n <Help command={command} />\n </IfStatement>\n <ElseClause>\n <hbr />\n <CommandInvocation command={command} />\n </ElseClause>\n </FunctionDeclaration>\n </>\n );\n}\n\nexport interface CommandEntryProps extends Omit<\n EntryFileProps,\n \"path\" | \"typeDefinition\"\n> {\n command: CommandTree;\n}\n\n/**\n * The command entry point for the Shell Shock project.\n */\nexport function CommandEntry(props: CommandEntryProps) {\n const { command, imports, builtinImports, ...rest } = props;\n\n const context = usePowerlines<ScriptPresetContext>();\n const filePath = computed(() =>\n joinPaths(\n command.path.segments\n .filter(segment => !isVariableCommandPath(segment))\n .join(\"/\"),\n \"index.ts\"\n )\n );\n const commandSourcePath = computed(() =>\n replaceExtension(\n relativePath(\n joinPaths(context.entryPath, findFilePath(filePath.value)),\n command.entry.input?.file || command.entry.file\n )\n )\n );\n const typeDefinition = computed(() => ({\n ...command.entry,\n output: command.id\n }));\n\n return (\n <>\n <EntryFile\n {...rest}\n path={filePath.value}\n typeDefinition={typeDefinition.value}\n imports={defu(imports ?? {}, {\n [commandSourcePath.value]: `handle${pascalCase(command.name)}`\n })}\n builtinImports={defu(builtinImports ?? {}, {\n env: [\"env\"],\n console: [\"warn\", \"error\", \"table\", \"colors\", \"writeLine\"],\n utils: [\"getArgs\"]\n })}>\n <OptionsInterfaceDeclaration command={command} />\n <hbr />\n <hbr />\n <CommandHandlerDeclaration command={command} />\n </EntryFile>\n <For each={Object.values(command.children)}>\n {child => (\n <Show\n when={child.isVirtual}\n fallback={<CommandEntry command={child} />}>\n <VirtualCommandEntry command={child} />\n </Show>\n )}\n </For>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyDA,SAAgB+B,kBAAkBC,OAAiC;CACjE,MAAM,EAAEC,YAAYD;AAEpB,QAAA,6CAEKhC,oBAAI,mFAA2CiC,QAAQE,KAAK,CAAA,UAC3DF,QAAQG,KAAKC,SAASC,QAAOC,uFAAiCA,QAAQ,CAAC,CACpEC,SAAS,IACR,KAAKP,QAAQG,KAAKC,SACfC,QAAOC,uFAAiCA,QAAQ,CAAC,CACjDE,KAAIF,6IAAgDA,QAAQ,CAAC,CAAC,CAC9DG,KAAK,KAAK,KACb,KAEJT,QAAQU,OAAOH,SAAS,IACpB,KAAKP,QAAQU,OAAOF,KAAIG,2DAAmBA,MAAMT,KAAK,CAAC,CAACO,KAAK,KAAK,KAClE,GAAE,KACH,mDAAA,OAAA,EAAA,CAAA,CAAA;;;;;AASX,SAAgBI,0BAA0Bd,OAAiC;CACzE,MAAM,EAAEC,YAAYD;CAEpB,MAAMe,8EAA8C;AAEpD,QAAA,kDAEKtC,6DAAK;EAAA,IACJwC,UAAO;AAAA,UAAE,OAAOhB,QAAQiB,MAAK,mEAC3BH,QACD,CAAA,GAAId,QAAQG,KAAKC,SACfI,KAAIF,uFACmBA,QAAQ,GAC1B,2IAA4CA,QAAQ,CAAC,CAAA,KACrDA,QACL,CACAG,KAAK,IAAI,CAAA;;EAAY,IAAAS,WAAA;AAAA,UAAA;qDACvBxC,oEAAY,EAAA,IAAAwC,WAAA;AAAA,YAAE,GAAGlB,QAAQmB,YAAYC,QAAQ,QAAQ,GAAG,CAAA;OAAG,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAE3DzC,kEAAU,EAAA,IAAAuC,WAAA;AAAA,YAAElB,QAAQiB;OAAK,CAAA;qDACzBxC,kEAAU;KAACyB,MAAI;KAAAgB,UAAS;KAAmD,CAAA;IAAA;;EAAA,CAAA,mDAE7E9C,2CAAmB;EAAA,UAAA;EAElBiD,OAAK;EACLnB,MAAI;EACJoB,YAAY,CAAC;GAAEpB,MAAM;GAAQqB,MAAM;GAAYC,SAAS;GAAa,CAAC;EAAA,IAAAN,WAAA;AAAA,UAAA;qDACrEvB,+DAAwB,EAAA,IAACQ,OAAI;AAAA,YAAEH,QAAQG;OAAI,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAG3CV,yDAAkB,EAAUO,SAAO,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAGnCN,wDAAiB,EAAA,IAACgB,SAAM;AAAA,YAAEV,QAAQU;OAAM,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAGxCrC,mCAAW;KAACoD,WAAW1D,oBAAI;KAAc,IAAAmD,WAAA;AAAA,aAAA;mDACvCnD,oBAAI;;kHAE8C+C,QAAQ,CAAA,KAC3Dd,QAAQiB,MAAK;;8CAGuBjB,QAAQmB,YAAYC,QACxD,QACA,GACD,CAAA;wBACc;wDAAA,OAAA,EAAA,CAAA;wDAEZxB,8BAAI,EAAUI,SAAO,CAAA;OAAA;;KAAA,CAAA;qDAEvB7B,kCAAU,EAAA,IAAA+C,WAAA;AAAA,YAAA,kDAAA,OAAA,EAAA,CAAA,mDAERpB,mBAAiB,EAAUE,SAAO,CAAA,CAAA;OAAA,CAAA;IAAA;;EAAA,CAAA,CAAA;;;;;AAiB7C,SAAgB0B,aAAa3B,OAA0B;CACrD,MAAM,EAAEC,SAAS2B,SAASC,gBAAgB,GAAGC,SAAS9B;CAEtD,MAAMe,8EAA8C;CACpD,MAAMgB,iFAEF9B,QAAQG,KAAKC,SACVC,QAAOC,YAAW,4EAAuBA,QAAQ,CAAC,CAClDG,KAAK,IAAI,EACZ,WAEJ,CAAC;CACD,MAAMsB,2KAGUjB,QAAQkB,gDAAwBF,SAASG,MAAM,CAAC,EAC1DjC,QAAQkC,MAAMC,OAAOC,QAAQpC,QAAQkC,MAAME,KAE/C,CACF,CAAC;CACD,MAAMC,sDAAiC;EACrC,GAAGrC,QAAQkC;EACXI,QAAQtC,QAAQuC;EACjB,EAAE;AAEH,QAAA,kDAEKhE,kHACKsD,MAAI;EAAA,IACR1B,OAAI;AAAA,UAAE2B,SAASG;;EAAK,IACpBI,iBAAc;AAAA,UAAEA,eAAeJ;;EAAK,IACpCN,UAAO;AAAA,4BAAOA,WAAW,EAAE,EAAE,GAC1BI,kBAAkBE,QAAQ,4DAAoBjC,QAAQE,KAAK,IAC7D,CAAC;;EAAA,IACF0B,iBAAc;AAAA,4BAAOA,kBAAkB,EAAE,EAAE;IACzCa,KAAK,CAAC,MAAM;IACZC,SAAS;KAAC;KAAQ;KAAS;KAAS;KAAU;KAAY;IAC1DC,OAAO,CAAC,UAAS;IAClB,CAAC;;EAAA,IAAAzB,WAAA;AAAA,UAAA;qDACD1B,kEAA2B,EAAUQ,SAAO,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAAA,OAAA,EAAA,CAAA;qDAG5Ca,2BAAyB,EAAUb,SAAO,CAAA;IAAA;;EAAA,CAAA,CAAA,mDAE5C/B,qBAAG;EAAA,IAAC2E,OAAI;AAAA,UAAEC,OAAOC,OAAO9C,QAAQkB,SAAS;;EAAAA,WACvC6B,2DACE7E,sBAAI;GAAA,IACH8E,OAAI;AAAA,WAAED,MAAME;;GAAS,IACrBC,WAAQ;AAAA,4DAAGxB,cAAY,EAAC1B,SAAS+C,OAAK,CAAA;;GAAA,IAAA7B,WAAA;AAAA,4DACrCrB,8DAAmB,EAACG,SAAS+C,OAAK,CAAA;;GAAA,CAAA;EAEtC,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"command-entry.cjs","names":["code","computed","For","Show","ElseClause","FunctionDeclaration","IfStatement","usePowerlines","EntryFile","TSDoc","TSDocParam","TSDocRemarks","TSDocTitle","OptionsInterfaceDeclaration","OptionsParserLogic","PositionalOptionsParserLogic","getAppBin","getAppTitle","getPositionalCommandOptionName","isPositionalCommandOption","findFilePath","relativePath","joinPaths","replaceExtension","camelCase","constantCase","pascalCase","defu","Help","VirtualCommandEntry","CommandInvocation","props","command","_$memo","name","path","segments","filter","segment","length","map","join","_$createIntrinsic","CommandHandlerDeclaration","context","_$createComponent","heading","title","children","description","replace","async","parameters","type","default","envPrefix","config","isCaseSensitive","condition","CommandEntry","imports","builtinImports","rest","filePath","commandSourcePath","entryPath","value","entry","input","file","typeDefinition","output","id","_$mergeProps","env","console","utils","each","Object","values","child","when","isVirtual","fallback"],"sources":["../../src/components/command-entry.tsx"],"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 { code, computed, For, Show } from \"@alloy-js/core\";\nimport {\n ElseClause,\n FunctionDeclaration,\n IfStatement\n} from \"@alloy-js/typescript\";\nimport { usePowerlines } from \"@powerlines/plugin-alloy/core/contexts/context\";\nimport type { EntryFileProps } from \"@powerlines/plugin-alloy/typescript/components/entry-file\";\nimport { EntryFile } from \"@powerlines/plugin-alloy/typescript/components/entry-file\";\nimport {\n TSDoc,\n TSDocParam,\n TSDocRemarks,\n TSDocTitle\n} from \"@powerlines/plugin-alloy/typescript/components/tsdoc\";\nimport {\n OptionsInterfaceDeclaration,\n OptionsParserLogic,\n PositionalOptionsParserLogic\n} from \"@shell-shock/core/components/options-parser-logic\";\nimport {\n getAppBin,\n getAppTitle,\n getPositionalCommandOptionName,\n isPositionalCommandOption\n} from \"@shell-shock/core/plugin-utils/context-helpers\";\nimport type { CommandTree } from \"@shell-shock/core/types/command\";\nimport { findFilePath, relativePath } from \"@stryke/path/find\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { replaceExtension } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { constantCase } from \"@stryke/string-format/constant-case\";\nimport { pascalCase } from \"@stryke/string-format/pascal-case\";\nimport defu from \"defu\";\nimport type { ScriptPresetContext } from \"../types/plugin\";\nimport { Help } from \"./help\";\nimport { VirtualCommandEntry } from \"./virtual-command-entry\";\n\nexport function CommandInvocation(props: { command: CommandTree }) {\n const { command } = props;\n\n return (\n <>\n {code`return Promise.resolve(handle${pascalCase(command.name)}(options${\n command.path.segments.filter(segment =>\n isPositionalCommandOption(segment)\n ).length > 0\n ? `, ${command.path.segments\n .filter(segment => isPositionalCommandOption(segment))\n .map(segment =>\n camelCase(getPositionalCommandOptionName(segment))\n )\n .join(\", \")}`\n : \"\"\n }));`}\n <hbr />\n </>\n );\n}\n\n/**\n * A component that generates the `handler` function declaration for a command.\n */\nexport function CommandHandlerDeclaration(props: { command: CommandTree }) {\n const { command } = props;\n\n const context = usePowerlines<ScriptPresetContext>();\n\n return (\n <>\n <TSDoc\n heading={`The ${command.title} (${getAppBin(\n context\n )} ${command.path.segments\n .map(segment =>\n isPositionalCommandOption(segment)\n ? `[${constantCase(getPositionalCommandOptionName(segment))}]`\n : segment\n )\n .join(\" \")}) command.`}>\n <TSDocRemarks>{`${command.description.replace(/\\.+$/, \"\")}.`}</TSDocRemarks>\n <hbr />\n <TSDocTitle>{command.title}</TSDocTitle>\n <TSDocParam name=\"args\">{`The command-line arguments passed to the command.`}</TSDocParam>\n </TSDoc>\n <FunctionDeclaration\n export\n async\n name=\"handler\"\n parameters={[{ name: \"args\", type: \"string[]\", default: \"getArgs()\" }]}>\n <PositionalOptionsParserLogic\n path={command.path}\n envPrefix={context.config.envPrefix}\n />\n <hbr />\n <hbr />\n <OptionsParserLogic\n command={command}\n envPrefix={context.config.envPrefix}\n isCaseSensitive={context.config.isCaseSensitive}\n />\n <hbr />\n <hbr />\n <IfStatement condition={code`options.help`}>\n {code`\n writeLine(\"\");\n writeLine(colors.text.heading.primary(\"${getAppTitle(context)} - ${\n command.title\n }\"));\n writeLine(\"\");\n writeLine(colors.text.body.primary(\"${command.description.replace(\n /\\.+$/,\n \"\"\n )}.\"));\n writeLine(\"\");`}\n <hbr />\n <Help command={command} />\n </IfStatement>\n <ElseClause>\n <hbr />\n <CommandInvocation command={command} />\n </ElseClause>\n </FunctionDeclaration>\n </>\n );\n}\n\nexport interface CommandEntryProps extends Omit<\n EntryFileProps,\n \"path\" | \"typeDefinition\"\n> {\n command: CommandTree;\n}\n\n/**\n * The command entry point for the Shell Shock project.\n */\nexport function CommandEntry(props: CommandEntryProps) {\n const { command, imports, builtinImports, ...rest } = props;\n\n const context = usePowerlines<ScriptPresetContext>();\n const filePath = computed(() =>\n joinPaths(\n command.path.segments\n .filter(segment => !isPositionalCommandOption(segment))\n .join(\"/\"),\n \"index.ts\"\n )\n );\n const commandSourcePath = computed(() =>\n replaceExtension(\n relativePath(\n joinPaths(context.entryPath, findFilePath(filePath.value)),\n command.entry.input?.file || command.entry.file\n )\n )\n );\n const typeDefinition = computed(() => ({\n ...command.entry,\n output: command.id\n }));\n\n return (\n <>\n <EntryFile\n {...rest}\n path={filePath.value}\n typeDefinition={typeDefinition.value}\n imports={defu(imports ?? {}, {\n [commandSourcePath.value]: `handle${pascalCase(command.name)}`\n })}\n builtinImports={defu(builtinImports ?? {}, {\n env: [\"env\", \"isCI\"],\n console: [\n \"warn\",\n \"error\",\n \"table\",\n \"colors\",\n \"stripAnsi\",\n \"writeLine\",\n \"splitText\"\n ],\n utils: [\"getArgs\", \"isMinimal\"]\n })}>\n <OptionsInterfaceDeclaration command={command} />\n <hbr />\n <hbr />\n <CommandHandlerDeclaration command={command} />\n </EntryFile>\n <For each={Object.values(command.children)}>\n {child => (\n <Show\n when={child.isVirtual}\n fallback={<CommandEntry command={child} />}>\n <VirtualCommandEntry command={child} />\n </Show>\n )}\n </For>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { CommandTree } from "@shell-shock/core/types/command";
|
|
1
|
+
import * as _alloy_js_core13 from "@alloy-js/core";
|
|
3
2
|
import { EntryFileProps } from "@powerlines/plugin-alloy/typescript/components/entry-file";
|
|
3
|
+
import { CommandTree } from "@shell-shock/core/types/command";
|
|
4
4
|
|
|
5
5
|
//#region src/components/command-entry.d.ts
|
|
6
6
|
declare function CommandInvocation(props: {
|
|
7
7
|
command: CommandTree;
|
|
8
|
-
}):
|
|
8
|
+
}): _alloy_js_core13.Children;
|
|
9
9
|
/**
|
|
10
10
|
* A component that generates the `handler` function declaration for a command.
|
|
11
11
|
*/
|
|
12
12
|
declare function CommandHandlerDeclaration(props: {
|
|
13
13
|
command: CommandTree;
|
|
14
|
-
}):
|
|
14
|
+
}): _alloy_js_core13.Children;
|
|
15
15
|
interface CommandEntryProps extends Omit<EntryFileProps, "path" | "typeDefinition"> {
|
|
16
16
|
command: CommandTree;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* The command entry point for the Shell Shock project.
|
|
20
20
|
*/
|
|
21
|
-
declare function CommandEntry(props: CommandEntryProps):
|
|
21
|
+
declare function CommandEntry(props: CommandEntryProps): _alloy_js_core13.Children;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { CommandEntry, CommandEntryProps, CommandHandlerDeclaration, CommandInvocation };
|
|
24
24
|
//# sourceMappingURL=command-entry.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-entry.d.cts","names":[],"sources":["../../src/components/command-entry.tsx"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"command-entry.d.cts","names":[],"sources":["../../src/components/command-entry.tsx"],"sourcesContent":[],"mappings":";;;;;iBAwDgB,iBAAA;WAAoC;IAAW,gBAAA,CAAE;AAAjE;AAyBA;AAgEA;AACE,iBAjEc,yBAAA,CAiEd,KAAA,EAAA;EAGS,OAAA,EApEiD,WAoEjD;CAJgC,CAAA,EAhE4B,gBAAA,CAAE,QAgE9B;AAAI,UAA9B,iBAAA,SAA0B,IAAI,CAC7C,cAD6C,EAAA,MAAA,GAAA,gBAAA,CAAA,CAAA;EAU/B,OAAA,EANL,WAMiB;;;;;iBAAZ,YAAA,QAAoB,oBAAiB,gBAAA,CAAA"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _alloy_js_core12 from "@alloy-js/core";
|
|
2
2
|
import { EntryFileProps } from "@powerlines/plugin-alloy/typescript/components/entry-file";
|
|
3
3
|
import { CommandTree } from "@shell-shock/core/types/command";
|
|
4
4
|
|
|
5
5
|
//#region src/components/command-entry.d.ts
|
|
6
6
|
declare function CommandInvocation(props: {
|
|
7
7
|
command: CommandTree;
|
|
8
|
-
}):
|
|
8
|
+
}): _alloy_js_core12.Children;
|
|
9
9
|
/**
|
|
10
10
|
* A component that generates the `handler` function declaration for a command.
|
|
11
11
|
*/
|
|
12
12
|
declare function CommandHandlerDeclaration(props: {
|
|
13
13
|
command: CommandTree;
|
|
14
|
-
}):
|
|
14
|
+
}): _alloy_js_core12.Children;
|
|
15
15
|
interface CommandEntryProps extends Omit<EntryFileProps, "path" | "typeDefinition"> {
|
|
16
16
|
command: CommandTree;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* The command entry point for the Shell Shock project.
|
|
20
20
|
*/
|
|
21
|
-
declare function CommandEntry(props: CommandEntryProps):
|
|
21
|
+
declare function CommandEntry(props: CommandEntryProps): _alloy_js_core12.Children;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { CommandEntry, CommandEntryProps, CommandHandlerDeclaration, CommandInvocation };
|
|
24
24
|
//# sourceMappingURL=command-entry.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-entry.d.mts","names":[],"sources":["../../src/components/command-entry.tsx"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"command-entry.d.mts","names":[],"sources":["../../src/components/command-entry.tsx"],"sourcesContent":[],"mappings":";;;;;iBAwDgB,iBAAA;WAAoC;IAAW,gBAAA,CAAE;AAAjE;AAyBA;AAgEA;AACE,iBAjEc,yBAAA,CAiEd,KAAA,EAAA;EAGS,OAAA,EApEiD,WAoEjD;CAJgC,CAAA,EAhE4B,gBAAA,CAAE,QAgE9B;AAAI,UAA9B,iBAAA,SAA0B,IAAI,CAC7C,cAD6C,EAAA,MAAA,GAAA,gBAAA,CAAA,CAAA;EAU/B,OAAA,EANL,WAMiB;;;;;iBAAZ,YAAA,QAAoB,oBAAiB,gBAAA,CAAA"}
|