@shell-shock/preset-cli 0.9.26 → 0.9.27

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.
@@ -10,9 +10,10 @@ let _shell_shock_plugin_banner_components_banner_builtin = require("@shell-shock
10
10
  let _shell_shock_plugin_banner_components_banner_function_declaration = require("@shell-shock/plugin-banner/components/banner-function-declaration");
11
11
  let _shell_shock_plugin_theme_contexts_theme = require("@shell-shock/plugin-theme/contexts/theme");
12
12
  let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
13
- let cfonts = require("cfonts");
14
13
  let defu = require("defu");
15
14
  defu = require_runtime.__toESM(defu);
15
+ let figlet = require("figlet");
16
+ figlet = require_runtime.__toESM(figlet);
16
17
 
17
18
  //#region src/components/banner-builtin.tsx
18
19
  /**
@@ -27,18 +28,9 @@ function BannerFunctionBodyDeclaration(props) {
27
28
  const title = (0, _alloy_js_core.computed)(() => (0, _shell_shock_core_plugin_utils.getAppTitle)(context, true).replace(`v${context.packageJson.version || "1.0.0"}`, ""));
28
29
  const description = (0, _alloy_js_core.computed)(() => command?.description || (0, _shell_shock_core_plugin_utils.getAppDescription)(context));
29
30
  const titleLines = (0, _alloy_js_core.computed)(() => {
30
- const result = (0, cfonts.render)((0, _stryke_type_checks_is_set_string.isSetString)(context.config.banner) ? context.config.banner : (0, _stryke_type_checks_is_set_object.isSetObject)(context.config.banner) && (0, _stryke_type_checks_is_set_string.isSetString)(context.config.banner.text) ? context.config.banner.text : (0, _shell_shock_core_plugin_utils.getAppTitle)(context, true), (0, defu.default)((0, _stryke_type_checks_is_set_object.isSetObject)(context.config.banner) ? context.config.banner : {}, {
31
- font: "tiny",
32
- align: "left",
33
- background: "transparent",
34
- letterSpacing: 1,
35
- lineHeight: 1,
36
- gradient: false,
37
- transitionGradient: false,
38
- env: "node"
39
- }));
31
+ const result = figlet.default.textSync((0, _stryke_type_checks_is_set_string.isSetString)(context.config.banner) ? context.config.banner : (0, _stryke_type_checks_is_set_object.isSetObject)(context.config.banner) && (0, _stryke_type_checks_is_set_string.isSetString)(context.config.banner.text) ? context.config.banner.text : (0, _shell_shock_core_plugin_utils.getAppTitle)(context, true), (0, defu.default)((0, _stryke_type_checks_is_set_object.isSetObject)(context.config.banner) ? context.config.banner : {}, { font: "ANSI Compact" }));
40
32
  if (!result) return [`${(0, _shell_shock_core_plugin_utils.getAppTitle)(context, true)} Command-Line Interface`];
41
- return result.array;
33
+ return result.split("\n").filter((line) => line.trim().length > 0);
42
34
  });
43
35
  const bannerPadding = (0, _alloy_js_core.computed)(() => Math.max(theme.padding.app, 0) * 2 + (theme.borderStyles.banner.outline[variant]?.left.length ?? 0) + (theme.borderStyles.banner.outline[variant]?.right.length ?? 0));
44
36
  const totalPadding = (0, _alloy_js_core.computed)(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);
@@ -1 +1 @@
1
- {"version":3,"file":"banner-builtin.d.cts","names":[],"sources":["../../src/components/banner-builtin.tsx"],"mappings":";;;;;;;AAwCA;iBAAgB,6BAAA,CACd,KAAA,EAAO,IAAI,CACT,kCAAA,kEAED,QAAA;AAAA,KA+FS,kBAAA,GAAqB,IAAA,CAC/B,gBAAA;EAnGW;;;EAyGX,OAAA,EAAS,WAAA;AAAA;;AAtGR;AA+FH;iBAagB,aAAA,CAAc,KAAA,EAAO,kBAAkB,4BAAA,QAAA"}
1
+ {"version":3,"file":"banner-builtin.d.cts","names":[],"sources":["../../src/components/banner-builtin.tsx"],"mappings":";;;;;;;AAwCA;iBAAgB,6BAAA,CACd,KAAA,EAAO,IAAI,CACT,kCAAA,kEAED,QAAA;AAAA,KAwFS,kBAAA,GAAqB,IAAA,CAC/B,gBAAA;EA5FW;;;EAkGX,OAAA,EAAS,WAAA;AAAA;;AA/FR;AAwFH;iBAagB,aAAA,CAAc,KAAA,EAAO,kBAAkB,4BAAA,QAAA"}
@@ -8,8 +8,8 @@ import { BannerBuiltin as BannerBuiltin$1 } from "@shell-shock/plugin-banner/com
8
8
  import { BannerFunctionBodyDeclaration as BannerFunctionBodyDeclaration$1, BannerFunctionDeclarationWrapper } from "@shell-shock/plugin-banner/components/banner-function-declaration";
9
9
  import { useTheme } from "@shell-shock/plugin-theme/contexts/theme";
10
10
  import { isSetString } from "@stryke/type-checks/is-set-string";
11
- import { render } from "cfonts";
12
11
  import defu from "defu";
12
+ import figlet from "figlet";
13
13
 
14
14
  //#region src/components/banner-builtin.tsx
15
15
  /**
@@ -24,18 +24,9 @@ function BannerFunctionBodyDeclaration(props) {
24
24
  const title = computed(() => getAppTitle(context, true).replace(`v${context.packageJson.version || "1.0.0"}`, ""));
25
25
  const description = computed(() => command?.description || getAppDescription(context));
26
26
  const titleLines = computed(() => {
27
- const result = render(isSetString(context.config.banner) ? context.config.banner : isSetObject(context.config.banner) && isSetString(context.config.banner.text) ? context.config.banner.text : getAppTitle(context, true), defu(isSetObject(context.config.banner) ? context.config.banner : {}, {
28
- font: "tiny",
29
- align: "left",
30
- background: "transparent",
31
- letterSpacing: 1,
32
- lineHeight: 1,
33
- gradient: false,
34
- transitionGradient: false,
35
- env: "node"
36
- }));
27
+ const result = figlet.textSync(isSetString(context.config.banner) ? context.config.banner : isSetObject(context.config.banner) && isSetString(context.config.banner.text) ? context.config.banner.text : getAppTitle(context, true), defu(isSetObject(context.config.banner) ? context.config.banner : {}, { font: "ANSI Compact" }));
37
28
  if (!result) return [`${getAppTitle(context, true)} Command-Line Interface`];
38
- return result.array;
29
+ return result.split("\n").filter((line) => line.trim().length > 0);
39
30
  });
40
31
  const bannerPadding = computed(() => Math.max(theme.padding.app, 0) * 2 + (theme.borderStyles.banner.outline[variant]?.left.length ?? 0) + (theme.borderStyles.banner.outline[variant]?.right.length ?? 0));
41
32
  const totalPadding = computed(() => Math.max(theme.padding.banner, 0) * 2 + bannerPadding.value);
@@ -10,110 +10,16 @@ import { SkillsPluginContext, SkillsPluginOptions, SkillsPluginResolvedConfig, S
10
10
  import { ThemePluginContext, ThemePluginResolvedConfig, ThemePluginUserConfig } from "@shell-shock/plugin-theme/types/plugin";
11
11
  import { UpdatePluginContext, UpdatePluginOptions, UpdatePluginResolvedConfig, UpdatePluginUserConfig } from "@shell-shock/plugin-update/types/plugin";
12
12
  import { ScriptPresetOptions } from "@shell-shock/preset-script/types/plugin";
13
+ import { FigletOptions } from "figlet";
13
14
 
14
15
  //#region src/types/plugin.d.ts
15
16
  type UpdateType = "confirm" | "auto" | "manual";
16
17
  type CLIPresetBannerFontOption = "console" | "block" | "simpleBlock" | "simple" | "3d" | "simple3d" | "chrome" | "huge" | "shade" | "slick" | "grid" | "pallet" | "tiny";
17
- interface CLIPresetBannerOption {
18
+ interface CLIPresetBannerOption extends FigletOptions {
18
19
  /**
19
20
  * The text to display in the banner header. If not specified, the application name will be used.
20
21
  */
21
22
  text?: string;
22
- /**
23
- * The font to use for the banner header.
24
- *
25
- * @see https://github.com/dominikwilkowski/cfonts
26
- *
27
- * @remarks
28
- * This option determines the visual style of the banner displayed when running the CLI application. The available fonts include:
29
- * - `tiny` (default): A small, compact font that is ideal for minimalist banners or when space is limited.
30
- * ![tiny font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/tiny.png)
31
- * - `console`: A font that mimics the appearance of text in a console or terminal.
32
- * ![console font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/console.png)
33
- * - `block`: A bold, block-style font with thick lines and sharp edges.
34
- * ![block font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/block.png)
35
- * - `simpleBlock`: A simpler version of the block font with less ornamentation.
36
- * ![simpleBlock font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simpleblock.png)
37
- * - `simple`: A clean and straightforward font with minimal styling.
38
- * ![simple font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simple.png)
39
- * - `3d`: A three-dimensional font with shading and depth effects.
40
- * ![3d font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/3d.png)
41
- * - `simple3d`: A simpler version of the 3D font with less shading and depth.
42
- * ![simple3d font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simple3d.png)
43
- * - `chrome`: A shiny, metallic font with a futuristic appearance.
44
- * ![chrome font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/chrome.png)
45
- * - `huge`: An extra-large font that makes a bold statement.
46
- * ![huge font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/huge.png)
47
- * - `shade`: A font with a shadow effect that adds depth and dimension.
48
- * ![shade font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/shade.png)
49
- * - `slick`: A sleek and modern font with smooth curves and a polished look.
50
- * ![slick font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/slick.png)
51
- * - `grid`: A monospaced font that resembles text on a grid or graph paper.
52
- * ![grid font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/grid.png)
53
- * - `pallet`: A font with a hand-drawn, artistic style that adds a creative touch to the banner.
54
- * ![pallet font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/pallet.png)
55
- *
56
- * @defaultValue "tiny"
57
- */
58
- font?: CLIPresetBannerFontOption;
59
- /**
60
- * Colors for the banner font.
61
- *
62
- * @defaultValue []
63
- */
64
- colors?: string[];
65
- /**
66
- * Color string for the banner background.
67
- *
68
- * @defaultValue "Black"
69
- */
70
- background?: string;
71
- /**
72
- * Alias for `background`.
73
- */
74
- backgroundColor?: string;
75
- /**
76
- * Space between letters.
77
- *
78
- * @defaultValue set by selected font face
79
- */
80
- letterSpacing?: number;
81
- /**
82
- * Space between lines.
83
- *
84
- * @defaultValue 1
85
- */
86
- lineHeight?: number;
87
- /**
88
- * Do not output spaces before and after the banner output.
89
- *
90
- * @defaultValue false
91
- */
92
- spaceless?: boolean;
93
- /**
94
- * Maximum number of characters per line.
95
- *
96
- * @defaultValue width of console window
97
- */
98
- maxLength?: number;
99
- /**
100
- * Gradient color pair.
101
- *
102
- * @defaultValue false
103
- */
104
- gradient?: string | string[] | boolean;
105
- /**
106
- * Calculate gradients per line when enabled.
107
- */
108
- independentGradient?: boolean;
109
- /**
110
- * Enable transition gradients.
111
- */
112
- transitionGradient?: boolean;
113
- /**
114
- * The environment cfonts is running in.
115
- */
116
- env?: string;
117
23
  }
118
24
  type CLIPresetOptions = Omit<ScriptPresetOptions, "globalOptions"> & HelpPluginOptions & PromptsPluginOptions & UpdatePluginOptions & {
119
25
  /**
@@ -157,6 +63,12 @@ type CLIPresetOptions = Omit<ScriptPresetOptions, "globalOptions"> & HelpPluginO
157
63
  updateType?: UpdateType | false;
158
64
  /**
159
65
  * The title to display in the banner for the CLI application. If not specified, the application name will be used.
66
+ *
67
+ * @see https://www.npmjs.com/package/figlet
68
+ * @see http://patorjk.com/software/taag/
69
+ *
70
+ * @remarks
71
+ * This option can be set to a string to specify the banner text directly, or an object with `figlet` options to customize the appearance of the banner. If an object is provided, the `text` property can be used to specify the banner text, and other properties can be used to customize the font, alignment, and other aspects of the banner's appearance.
160
72
  */
161
73
  banner?: string | CLIPresetBannerOption;
162
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":";;;;;;;;;;;;;;KA8EY,UAAA;AAAA,KAEA,yBAAA;AAAA,UAeK,qBAAA;EAjBK;;;EAqBpB,IAAA;EAnBU;;;;AAAyB;AAerC;;;;;;;;;;;;;;;;;;;AA+GK;AAGL;;;;;;;;;;;EAxEE,IAAA,GAAO,yBAAyB;EAuHjB;;;;;EAhHf,MAAA;EAuI8B;;;;;EAhI9B,UAAA;EA6DA;;;EAxDA,eAAA;EAsFiB;;;;;EA/EjB,aAAA;EA6Fe;;;;;EAtFf,UAAA;EAqGE;;;;;EA9FF,SAAA;EAyGU;;;;;EAlGV,SAAA;EAqGA;;;;;EA9FA,QAAA;EAoGA;;;EA/FA,mBAAA;EAsFgC;;;EAjFhC,kBAAA;EAqFA;;;EAhFA,GAAA;AAAA;AAAA,KAGU,gBAAA,GAAmB,IAAA,CAAK,mBAAA,qBAClC,iBAAA,GACA,oBAAA,GACA,mBAAA;EAgFA;;AAAgB;AAElB;;;;;;;;EAtEI,WAAA;EA4EF;;;;;;;;;;;;;;EA5DE,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EA2DjD;;;;;;AAGyB;AAE3B;;;;EAlDI,UAAA,GAAa,UAAA;EAoDL;;;EA/CR,MAAA,YAAkB,qBAAA;EAiDC;;;EA5CnB,WAAA,GAAc,IAAA,CAAK,wBAAA;EA8CD;;;EAzClB,SAAA,GAAY,sBAAA;EA2CW;;;;;;EAnCvB,MAAA,GAAS,mBAAA;AAAA;AAAA,KAGD,mBAAA,GAAsB,UAAA,GAChC,qBAAA,GACA,uBAAA,GACA,uBAAA,GACA,sBAAA,GACA,oBAAA,GACA,2BAAA,GACA,yBAAA,GACA,sBAAA,GACA,sBAAA,GACA,gBAAA;AAAA,KAEU,uBAAA,GAA0B,cAAA,GACpC,yBAAA,GACA,2BAAA,GACA,2BAAA,GACA,0BAAA,GACA,wBAAA,GACA,+BAAA,GACA,6BAAA,GACA,0BAAA,GACA,0BAAA,GACA,QAAA,CAAS,gBAAA;AAAA,KAEC,gBAAA,yBACc,uBAAA,GAA0B,uBAAA,IAChD,OAAA,CAAQ,eAAA,IACV,kBAAA,CAAmB,eAAA,IACnB,oBAAA,CAAqB,eAAA,IACrB,oBAAA,CAAqB,eAAA,IACrB,mBAAA,CAAoB,eAAA,IACpB,iBAAA,CAAkB,eAAA,IAClB,wBAAA,CAAyB,eAAA,IACzB,sBAAA,CAAuB,eAAA,IACvB,mBAAA,CAAoB,eAAA,IACpB,mBAAA,CAAoB,eAAA"}
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":";;;;;;;;;;;;;;;KA+EY,UAAA;AAAA,KAEA,yBAAA;AAAA,UAeK,qBAAA,SAA8B,aAAa;EAjBtC;;;EAqBpB,IAAI;AAAA;AAAA,KAGM,gBAAA,GAAmB,IAAA,CAAK,mBAAA,qBAClC,iBAAA,GACA,oBAAA,GACA,mBAAA;;;AAzBmC;AAerC;;;;AAIM;AAGN;;;EAeI,WAAA;EAf2B;;;;;;;;;;;;;;EA+B3B,aAAA,GACI,aAAA,OACE,OAAA,EAAS,OAAA,EAAS,KAAA,EAAO,WAAA,KAAgB,aAAA;EA2CnB;;;;;;;;;;;EA7B5B,UAAA,GAAa,UAAA;EAdW;;;;;;;;;EAyBxB,MAAA,YAAkB,qBAAA;EAUN;;;EALZ,WAAA,GAAc,IAAA,CAAK,wBAAA;EAaS;AAGhC;;EAXI,SAAA,GAAY,sBAAA;EAWkB;;;;;;EAH9B,MAAA,GAAS,mBAAA;AAAA;AAAA,KAGD,mBAAA,GAAsB,UAAA,GAChC,qBAAA,GACA,uBAAA,GACA,uBAAA,GACA,sBAAA,GACA,oBAAA,GACA,2BAAA,GACA,yBAAA,GACA,sBAAA,GACA,sBAAA,GACA,gBAAA;AAAA,KAEU,uBAAA,GAA0B,cAAA,GACpC,yBAAA,GACA,2BAAA,GACA,2BAAA,GACA,0BAAA,GACA,wBAAA,GACA,+BAAA,GACA,6BAAA,GACA,0BAAA,GACA,0BAAA,GACA,QAAA,CAAS,gBAAA;AAAA,KAEC,gBAAA,yBACc,uBAAA,GAA0B,uBAAA,IAChD,OAAA,CAAQ,eAAA,IACV,kBAAA,CAAmB,eAAA,IACnB,oBAAA,CAAqB,eAAA,IACrB,oBAAA,CAAqB,eAAA,IACrB,mBAAA,CAAoB,eAAA,IACpB,iBAAA,CAAkB,eAAA,IAClB,wBAAA,CAAyB,eAAA,IACzB,sBAAA,CAAuB,eAAA,IACvB,mBAAA,CAAoB,eAAA,IACpB,mBAAA,CAAoB,eAAA"}
@@ -4,6 +4,7 @@ import { ConsolePluginContext, ConsolePluginResolvedConfig, ConsolePluginUserCon
4
4
  import { HelpPluginContext, HelpPluginOptions, HelpPluginResolvedConfig, HelpPluginUserConfig } from "@shell-shock/plugin-help";
5
5
  import { SkillsPluginContext, SkillsPluginOptions, SkillsPluginResolvedConfig, SkillsPluginUserConfig } from "@shell-shock/plugin-skills";
6
6
  import { ResolvedConfig } from "powerlines";
7
+ import { FigletOptions } from "figlet";
7
8
  import { CommandBase, CommandOption, Context, UserConfig } from "@shell-shock/core";
8
9
  import { BannerPluginContext, BannerPluginResolvedConfig, BannerPluginUserConfig } from "@shell-shock/plugin-banner";
9
10
  import { PromptsPluginContext, PromptsPluginOptions, PromptsPluginResolvedConfig, PromptsPluginUserConfig } from "@shell-shock/plugin-prompts/types/plugin";
@@ -14,106 +15,11 @@ import { ScriptPresetOptions } from "@shell-shock/preset-script/types/plugin";
14
15
  //#region src/types/plugin.d.ts
15
16
  type UpdateType = "confirm" | "auto" | "manual";
16
17
  type CLIPresetBannerFontOption = "console" | "block" | "simpleBlock" | "simple" | "3d" | "simple3d" | "chrome" | "huge" | "shade" | "slick" | "grid" | "pallet" | "tiny";
17
- interface CLIPresetBannerOption {
18
+ interface CLIPresetBannerOption extends FigletOptions {
18
19
  /**
19
20
  * The text to display in the banner header. If not specified, the application name will be used.
20
21
  */
21
22
  text?: string;
22
- /**
23
- * The font to use for the banner header.
24
- *
25
- * @see https://github.com/dominikwilkowski/cfonts
26
- *
27
- * @remarks
28
- * This option determines the visual style of the banner displayed when running the CLI application. The available fonts include:
29
- * - `tiny` (default): A small, compact font that is ideal for minimalist banners or when space is limited.
30
- * ![tiny font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/tiny.png)
31
- * - `console`: A font that mimics the appearance of text in a console or terminal.
32
- * ![console font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/console.png)
33
- * - `block`: A bold, block-style font with thick lines and sharp edges.
34
- * ![block font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/block.png)
35
- * - `simpleBlock`: A simpler version of the block font with less ornamentation.
36
- * ![simpleBlock font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simpleblock.png)
37
- * - `simple`: A clean and straightforward font with minimal styling.
38
- * ![simple font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simple.png)
39
- * - `3d`: A three-dimensional font with shading and depth effects.
40
- * ![3d font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/3d.png)
41
- * - `simple3d`: A simpler version of the 3D font with less shading and depth.
42
- * ![simple3d font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/simple3d.png)
43
- * - `chrome`: A shiny, metallic font with a futuristic appearance.
44
- * ![chrome font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/chrome.png)
45
- * - `huge`: An extra-large font that makes a bold statement.
46
- * ![huge font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/huge.png)
47
- * - `shade`: A font with a shadow effect that adds depth and dimension.
48
- * ![shade font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/shade.png)
49
- * - `slick`: A sleek and modern font with smooth curves and a polished look.
50
- * ![slick font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/slick.png)
51
- * - `grid`: A monospaced font that resembles text on a grid or graph paper.
52
- * ![grid font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/grid.png)
53
- * - `pallet`: A font with a hand-drawn, artistic style that adds a creative touch to the banner.
54
- * ![pallet font style](https://raw.githubusercontent.com/dominikwilkowski/cfonts/released/img/pallet.png)
55
- *
56
- * @defaultValue "tiny"
57
- */
58
- font?: CLIPresetBannerFontOption;
59
- /**
60
- * Colors for the banner font.
61
- *
62
- * @defaultValue []
63
- */
64
- colors?: string[];
65
- /**
66
- * Color string for the banner background.
67
- *
68
- * @defaultValue "Black"
69
- */
70
- background?: string;
71
- /**
72
- * Alias for `background`.
73
- */
74
- backgroundColor?: string;
75
- /**
76
- * Space between letters.
77
- *
78
- * @defaultValue set by selected font face
79
- */
80
- letterSpacing?: number;
81
- /**
82
- * Space between lines.
83
- *
84
- * @defaultValue 1
85
- */
86
- lineHeight?: number;
87
- /**
88
- * Do not output spaces before and after the banner output.
89
- *
90
- * @defaultValue false
91
- */
92
- spaceless?: boolean;
93
- /**
94
- * Maximum number of characters per line.
95
- *
96
- * @defaultValue width of console window
97
- */
98
- maxLength?: number;
99
- /**
100
- * Gradient color pair.
101
- *
102
- * @defaultValue false
103
- */
104
- gradient?: string | string[] | boolean;
105
- /**
106
- * Calculate gradients per line when enabled.
107
- */
108
- independentGradient?: boolean;
109
- /**
110
- * Enable transition gradients.
111
- */
112
- transitionGradient?: boolean;
113
- /**
114
- * The environment cfonts is running in.
115
- */
116
- env?: string;
117
23
  }
118
24
  type CLIPresetOptions = Omit<ScriptPresetOptions, "globalOptions"> & HelpPluginOptions & PromptsPluginOptions & UpdatePluginOptions & {
119
25
  /**
@@ -157,6 +63,12 @@ type CLIPresetOptions = Omit<ScriptPresetOptions, "globalOptions"> & HelpPluginO
157
63
  updateType?: UpdateType | false;
158
64
  /**
159
65
  * The title to display in the banner for the CLI application. If not specified, the application name will be used.
66
+ *
67
+ * @see https://www.npmjs.com/package/figlet
68
+ * @see http://patorjk.com/software/taag/
69
+ *
70
+ * @remarks
71
+ * This option can be set to a string to specify the banner text directly, or an object with `figlet` options to customize the appearance of the banner. If an object is provided, the `text` property can be used to specify the banner text, and other properties can be used to customize the font, alignment, and other aspects of the banner's appearance.
160
72
  */
161
73
  banner?: string | CLIPresetBannerOption;
162
74
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shell-shock/preset-cli",
3
- "version": "0.9.26",
3
+ "version": "0.9.27",
4
4
  "private": false,
5
5
  "description": "A package containing a Shell Shock plugin to generate source code given a list design tokens.",
6
6
  "keywords": [
@@ -184,26 +184,26 @@
184
184
  "@powerlines/deepkit": "^0.9.81",
185
185
  "@powerlines/plugin-alloy": "^0.26.220",
186
186
  "@powerlines/plugin-plugin": "^0.12.539",
187
- "@shell-shock/core": "0.17.14",
188
- "@shell-shock/plugin-banner": "0.1.41",
189
- "@shell-shock/plugin-changelog": "0.1.17",
190
- "@shell-shock/plugin-completions": "0.4.22",
191
- "@shell-shock/plugin-console": "0.2.18",
192
- "@shell-shock/plugin-help": "0.2.32",
193
- "@shell-shock/plugin-prompts": "0.3.55",
194
- "@shell-shock/plugin-skills": "0.0.5",
195
- "@shell-shock/plugin-theme": "0.4.27",
196
- "@shell-shock/plugin-update": "0.1.59",
197
- "@shell-shock/preset-script": "0.6.69",
187
+ "@shell-shock/core": "0.17.15",
188
+ "@shell-shock/plugin-banner": "0.1.42",
189
+ "@shell-shock/plugin-changelog": "0.1.18",
190
+ "@shell-shock/plugin-completions": "0.4.23",
191
+ "@shell-shock/plugin-console": "0.2.19",
192
+ "@shell-shock/plugin-help": "0.2.33",
193
+ "@shell-shock/plugin-prompts": "0.3.56",
194
+ "@shell-shock/plugin-skills": "0.0.6",
195
+ "@shell-shock/plugin-theme": "0.4.28",
196
+ "@shell-shock/plugin-update": "0.1.60",
197
+ "@shell-shock/preset-script": "0.6.70",
198
198
  "@stryke/path": "^0.29.11",
199
199
  "@stryke/string-format": "^0.17.26",
200
200
  "@stryke/type-checks": "^0.6.17",
201
201
  "@stryke/types": "^0.12.12",
202
- "cfonts": "^3.3.1",
203
202
  "defu": "^6.1.7",
203
+ "figlet": "^1.11.0",
204
204
  "powerlines": "^0.47.127"
205
205
  },
206
- "devDependencies": { "@stryke/types": "^0.12.12", "@types/node": "^25.9.1" },
206
+ "devDependencies": { "@stryke/types": "^0.12.12", "@types/node": "^25.9.2" },
207
207
  "publishConfig": { "access": "public" },
208
- "gitHead": "484e42bc94f3641bd1c2fdfd8c13ad22898be16d"
208
+ "gitHead": "302eeb47bc029bb0105ec572faecfe398a30d3c1"
209
209
  }