@scalebun/cli 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +15 -6
- package/lib/index.js.map +1 -1
- package/lib/ui/banner.d.ts +23 -0
- package/lib/ui/banner.d.ts.map +1 -0
- package/lib/ui/banner.js +160 -0
- package/lib/ui/banner.js.map +1 -0
- package/lib/ui/mark.d.ts +3 -0
- package/lib/ui/mark.d.ts.map +1 -0
- package/lib/ui/mark.js +24 -0
- package/lib/ui/mark.js.map +1 -0
- package/lib/utils/ui.d.ts +0 -1
- package/lib/utils/ui.d.ts.map +1 -1
- package/lib/utils/ui.js +2 -16
- package/lib/utils/ui.js.map +1 -1
- package/package.json +3 -2
package/lib/index.js
CHANGED
|
@@ -14,20 +14,31 @@ const migrate_codepush_1 = require("./commands/migrate-codepush");
|
|
|
14
14
|
const ci_init_1 = require("./commands/ci-init");
|
|
15
15
|
const quickstart_1 = require("./commands/quickstart");
|
|
16
16
|
const ui_1 = require("./utils/ui");
|
|
17
|
+
const banner_1 = require("./ui/banner");
|
|
17
18
|
const program = new commander_1.Command();
|
|
18
19
|
// Read the version from package.json so it can never drift from the published
|
|
19
20
|
// version. The compiled entry lives at lib/index.js, so ../package.json is the
|
|
20
21
|
// CLI manifest. (Hardcoding it left `scalebun --version` reporting 0.1.0 long
|
|
21
22
|
// after the package had moved on.)
|
|
22
23
|
const { version } = require('../package.json');
|
|
24
|
+
/**
|
|
25
|
+
* The no-arg splash: art (mark + wordmark) is gated by shouldShowArt(); the
|
|
26
|
+
* status line and command table are the command's actual output and always print.
|
|
27
|
+
*/
|
|
28
|
+
function printSplash() {
|
|
29
|
+
if ((0, banner_1.shouldShowArt)())
|
|
30
|
+
process.stdout.write((0, banner_1.banner)({ version }));
|
|
31
|
+
(0, ui_1.renderStatus)();
|
|
32
|
+
(0, ui_1.renderCommands)();
|
|
33
|
+
}
|
|
23
34
|
program
|
|
24
35
|
.name('scalebun')
|
|
25
36
|
.description('Scalebun CLI — OTA bundle publishing and management')
|
|
26
37
|
.version(version)
|
|
38
|
+
// Registered so a strict parser doesn't reject it; shouldShowArt() reads argv.
|
|
39
|
+
.option('--no-banner', 'Hide the splash art (status + commands still print)')
|
|
27
40
|
.action(() => {
|
|
28
|
-
(
|
|
29
|
-
(0, ui_1.renderStatus)();
|
|
30
|
-
(0, ui_1.renderCommands)();
|
|
41
|
+
printSplash();
|
|
31
42
|
});
|
|
32
43
|
// `registerLoginCommand` was imported and never called, so `scalebun login`
|
|
33
44
|
// did not exist — every other command depends on the credentials it writes,
|
|
@@ -48,9 +59,7 @@ const migrate = program.command('migrate').description('Migration utilities from
|
|
|
48
59
|
(0, migrate_codepush_1.registerMigrateCodepushCommand)(migrate);
|
|
49
60
|
(0, ci_init_1.registerCiInitCommand)(program);
|
|
50
61
|
if (process.argv.length <= 2) {
|
|
51
|
-
(
|
|
52
|
-
(0, ui_1.renderStatus)();
|
|
53
|
-
(0, ui_1.renderCommands)();
|
|
62
|
+
printSplash();
|
|
54
63
|
}
|
|
55
64
|
else {
|
|
56
65
|
program.parse(process.argv);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,4CAAwD;AACxD,8CAA0D;AAC1D,wDAAmE;AACnE,sDAAiE;AACjE,0DAAqE;AACrE,oEAA8E;AAC9E,kDAA6D;AAC7D,wDAAoE;AACpE,8CAA0D;AAC1D,kEAA6E;AAC7E,gDAA2D;AAC3D,sDAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,4CAAwD;AACxD,8CAA0D;AAC1D,wDAAmE;AACnE,sDAAiE;AACjE,0DAAqE;AACrE,oEAA8E;AAC9E,kDAA6D;AAC7D,wDAAoE;AACpE,8CAA0D;AAC1D,kEAA6E;AAC7E,gDAA2D;AAC3D,sDAAuF;AACvF,mCAA0D;AAC1D,wCAAoD;AAEpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,mCAAmC;AACnC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE;;;GAGG;AACH,SAAS,WAAW;IAClB,IAAI,IAAA,sBAAa,GAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAA,iBAAY,GAAE,CAAC;IACf,IAAA,mBAAc,GAAE,CAAC;AACnB,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC;IACjB,+EAA+E;KAC9E,MAAM,CAAC,aAAa,EAAE,qDAAqD,CAAC;KAC5E,MAAM,CAAC,GAAG,EAAE;IACX,WAAW,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,4EAA4E;AAC5E,4EAA4E;AAC5E,4DAA4D;AAC5D,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,sCAAyB,EAAC,OAAO,CAAC,CAAC;AACnC,IAAA,gCAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACxE,IAAA,uCAAyB,EAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,qCAAwB,EAAC,GAAG,CAAC,CAAC;AAC9B,IAAA,yCAA0B,EAAC,GAAG,CAAC,CAAC;AAChC,IAAA,kDAA8B,EAAC,GAAG,CAAC,CAAC;AACpC,IAAA,iCAAsB,EAAC,GAAG,CAAC,CAAC;AAC5B,IAAA,wCAA0B,EAAC,GAAG,CAAC,CAAC;AAChC,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;AACnG,IAAA,iDAA8B,EAAC,OAAO,CAAC,CAAC;AACxC,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;AAE/B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC;AAChB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MARK } from './mark';
|
|
2
|
+
export { MARK };
|
|
3
|
+
export declare const WORDMARK: readonly string[];
|
|
4
|
+
/** Real TTY width wins; COLUMNS only covers the non-TTY case (pipes, tests). */
|
|
5
|
+
export declare function termWidth(): number;
|
|
6
|
+
export interface BannerOptions {
|
|
7
|
+
version?: string;
|
|
8
|
+
tagline?: string;
|
|
9
|
+
/** include the rabbit (default true) */
|
|
10
|
+
mark?: boolean;
|
|
11
|
+
/** terminal width override */
|
|
12
|
+
width?: number;
|
|
13
|
+
/** colour level override (0 none · 1 basic · 2 256 · 3 truecolor) */
|
|
14
|
+
level?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function banner(o?: BannerOptions): string;
|
|
17
|
+
/**
|
|
18
|
+
* Gates the ART ONLY (mark + wordmark). The splash body — status line and
|
|
19
|
+
* command table — is the output of the no-arg command, not banner decoration,
|
|
20
|
+
* so it must NOT be gated by this. Keep the two concerns separate.
|
|
21
|
+
*/
|
|
22
|
+
export declare function shouldShowArt(argv?: string[]): boolean;
|
|
23
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,CAAC;AAGhB,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAOrC,CAAC;AA4DF,gFAAgF;AAChF,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,MAAM,CAAC,CAAC,GAAE,aAAkB,GAAG,MAAM,CAwDpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAK7E"}
|
package/lib/ui/banner.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WORDMARK = exports.MARK = void 0;
|
|
7
|
+
exports.termWidth = termWidth;
|
|
8
|
+
exports.banner = banner;
|
|
9
|
+
exports.shouldShowArt = shouldShowArt;
|
|
10
|
+
// scalebun/src/ui/banner.ts
|
|
11
|
+
// Ported from the reference banner.mjs — do NOT retune the width thresholds, the
|
|
12
|
+
// gradient stops, the colour ladder, or the mark art. The mark is pre-rendered;
|
|
13
|
+
// regenerate with `pnpm --filter @scalebun/cli gen:mark` if the logo changes.
|
|
14
|
+
// Glyph set is ▀ ▄ █ + space only: the CP437 legacy subset that every monospace
|
|
15
|
+
// font ships (braille U+2800 does NOT ship in DejaVu Sans Mono / Liberation Mono
|
|
16
|
+
// and renders as tofu).
|
|
17
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
const mark_1 = require("./mark");
|
|
19
|
+
Object.defineProperty(exports, "MARK", { enumerable: true, get: function () { return mark_1.MARK; } });
|
|
20
|
+
const MARK_H = mark_1.MARK.length;
|
|
21
|
+
exports.WORDMARK = [
|
|
22
|
+
'███████╗ ██████╗ █████╗ ██╗ ███████╗██████╗ ██╗ ██╗███╗ ██╗',
|
|
23
|
+
'██╔════╝██╔════╝██╔══██╗██║ ██╔════╝██╔══██╗██║ ██║████╗ ██║',
|
|
24
|
+
'███████╗██║ ███████║██║ █████╗ ██████╔╝██║ ██║██╔██╗ ██║',
|
|
25
|
+
'╚════██║██║ ██╔══██║██║ ██╔══╝ ██╔══██╗██║ ██║██║╚██╗██║',
|
|
26
|
+
'███████║╚██████╗██║ ██║███████╗███████╗██████╔╝╚██████╔╝██║ ╚████║',
|
|
27
|
+
'╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═══╝',
|
|
28
|
+
];
|
|
29
|
+
const WORD_W = exports.WORDMARK[0].length;
|
|
30
|
+
/* ── colour ─────────────────────────────────────────────────────────── */
|
|
31
|
+
// Detection is chalk's (`chalk.level`), the CLI's single source of truth for
|
|
32
|
+
// colour support — it also parses argv, so `--no-color` / `--color=never` are
|
|
33
|
+
// honoured here exactly as they are for the status box and command table. The
|
|
34
|
+
// raw-ANSI emitters below stay local: they do per-character gradient with
|
|
35
|
+
// repeat-collapsing, which chalk does not offer.
|
|
36
|
+
const BRAND = [80, 70, 229]; // #5046E5, flat logo indigo
|
|
37
|
+
const GRAD = [
|
|
38
|
+
[108, 92, 231], // #6C5CE7
|
|
39
|
+
[244, 114, 208], // #F472D0
|
|
40
|
+
];
|
|
41
|
+
function rgb256(r, g, b) {
|
|
42
|
+
const q = (v) => Math.round((v / 255) * 5);
|
|
43
|
+
return 16 + 36 * q(r) + 6 * q(g) + q(b);
|
|
44
|
+
}
|
|
45
|
+
function fg(level, r, g, b) {
|
|
46
|
+
if (level >= 3)
|
|
47
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
48
|
+
if (level === 2)
|
|
49
|
+
return `\x1b[38;5;${rgb256(r, g, b)}m`;
|
|
50
|
+
if (level === 1)
|
|
51
|
+
return '\x1b[95m'; // bright magenta
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
const RESET = (lvl) => (lvl ? '\x1b[0m' : '');
|
|
55
|
+
const STEPS = 12; // quantised: 12 stops instead of one escape per character
|
|
56
|
+
function mix(t) {
|
|
57
|
+
const [a, b] = GRAD;
|
|
58
|
+
const q = Math.round(t * (STEPS - 1)) / (STEPS - 1);
|
|
59
|
+
return [
|
|
60
|
+
Math.round(a[0] + (b[0] - a[0]) * q),
|
|
61
|
+
Math.round(a[1] + (b[1] - a[1]) * q),
|
|
62
|
+
Math.round(a[2] + (b[2] - a[2]) * q),
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
/** Per-character horizontal gradient. Falls back to one flat escape below truecolor. */
|
|
66
|
+
function gradient(line, level) {
|
|
67
|
+
if (level === 0)
|
|
68
|
+
return line;
|
|
69
|
+
if (level < 3)
|
|
70
|
+
return fg(level, GRAD[0][0], GRAD[0][1], GRAD[0][2]) + line + RESET(level);
|
|
71
|
+
let out = '';
|
|
72
|
+
let last = '';
|
|
73
|
+
for (let i = 0; i < line.length; i++) {
|
|
74
|
+
const [r, g, b] = mix(i / Math.max(1, line.length - 1));
|
|
75
|
+
const c = fg(3, r, g, b);
|
|
76
|
+
if (c !== last) {
|
|
77
|
+
out += c;
|
|
78
|
+
last = c;
|
|
79
|
+
} // collapse repeats
|
|
80
|
+
out += line[i];
|
|
81
|
+
}
|
|
82
|
+
return out + RESET(level);
|
|
83
|
+
}
|
|
84
|
+
/* ── layout ─────────────────────────────────────────────────────────── */
|
|
85
|
+
/** Real TTY width wins; COLUMNS only covers the non-TTY case (pipes, tests). */
|
|
86
|
+
function termWidth() {
|
|
87
|
+
return process.stdout.columns || Number(process.env.COLUMNS) || 80;
|
|
88
|
+
}
|
|
89
|
+
const pad = (s, n) => s + ' '.repeat(Math.max(0, n - s.length));
|
|
90
|
+
function banner(o = {}) {
|
|
91
|
+
const version = o.version ?? '0.0.0';
|
|
92
|
+
const tagline = o.tagline ?? 'Enterprise OTA Update & Telemetry Control Plane';
|
|
93
|
+
const level = o.level ?? chalk_1.default.level; // 0 none · 1 basic · 2 256 · 3 truecolor
|
|
94
|
+
const width = o.width ?? termWidth();
|
|
95
|
+
const dim = level ? '\x1b[90m' : '';
|
|
96
|
+
const R = RESET(level);
|
|
97
|
+
// Narrow terminals: no art at all. One line beats a broken picture.
|
|
98
|
+
if (width < 46)
|
|
99
|
+
return `${fg(level, BRAND[0], BRAND[1], BRAND[2])}scalebun${R} ${dim}v${version}${R}\n`;
|
|
100
|
+
const GAP = 2;
|
|
101
|
+
const OFF = GAP + 3; // gap used by the compact lockup
|
|
102
|
+
const brand = fg(level, BRAND[0], BRAND[1], BRAND[2]);
|
|
103
|
+
const lines = [];
|
|
104
|
+
// Full lockup — mark + block wordmark, wordmark optically centred.
|
|
105
|
+
if (o.mark !== false && width >= mark_1.MARK_W + GAP + WORD_W) {
|
|
106
|
+
const top = Math.floor((MARK_H - exports.WORDMARK.length) / 2) - 1;
|
|
107
|
+
for (let i = 0; i < MARK_H; i++) {
|
|
108
|
+
const left = brand + pad(mark_1.MARK[i] ?? '', mark_1.MARK_W) + R;
|
|
109
|
+
const wi = i - top;
|
|
110
|
+
let right = '';
|
|
111
|
+
if (wi >= 0 && wi < exports.WORDMARK.length)
|
|
112
|
+
right = gradient(exports.WORDMARK[wi], level);
|
|
113
|
+
else if (wi === exports.WORDMARK.length + 1)
|
|
114
|
+
right = `${dim}v${version} · ${tagline}${R}`;
|
|
115
|
+
lines.push(right ? left + ' '.repeat(GAP) + right : left);
|
|
116
|
+
}
|
|
117
|
+
return lines.join('\n').replace(/[ \t]+$/gm, '') + '\n';
|
|
118
|
+
}
|
|
119
|
+
// Compact lockup — mark + type. Same composition as the `quiet` direction, so
|
|
120
|
+
// an 80-column terminal still gets the rabbit.
|
|
121
|
+
const shortTag = 'OTA updates and telemetry';
|
|
122
|
+
const tag = width >= mark_1.MARK_W + OFF + tagline.length ? tagline : shortTag;
|
|
123
|
+
if (o.mark !== false && width >= mark_1.MARK_W + OFF + shortTag.length) {
|
|
124
|
+
const bold = level ? '\x1b[1m' : '';
|
|
125
|
+
const type = [
|
|
126
|
+
`${bold}${fg(level, GRAD[0][0], GRAD[0][1], GRAD[0][2])}scalebun${R} ${dim}v${version}${R}`,
|
|
127
|
+
`${dim}${tag}${R}`,
|
|
128
|
+
];
|
|
129
|
+
const top = Math.floor((MARK_H - type.length) / 2);
|
|
130
|
+
for (let i = 0; i < MARK_H; i++) {
|
|
131
|
+
const left = brand + pad(mark_1.MARK[i] ?? '', mark_1.MARK_W) + R;
|
|
132
|
+
const ti = i - top;
|
|
133
|
+
const right = ti >= 0 && ti < type.length ? type[ti] : '';
|
|
134
|
+
lines.push(right ? left + ' '.repeat(OFF) + right : left);
|
|
135
|
+
}
|
|
136
|
+
return lines.join('\n').replace(/[ \t]+$/gm, '') + '\n';
|
|
137
|
+
}
|
|
138
|
+
// No room beside the mark: type only.
|
|
139
|
+
if (width >= WORD_W)
|
|
140
|
+
exports.WORDMARK.forEach((l) => lines.push(gradient(l, level)));
|
|
141
|
+
else
|
|
142
|
+
lines.push(`${fg(level, BRAND[0], BRAND[1], BRAND[2])}scalebun${R}`);
|
|
143
|
+
lines.push('');
|
|
144
|
+
lines.push(`${dim}v${version} · ${width >= 60 ? tagline : shortTag}${R}`);
|
|
145
|
+
return lines.join('\n') + '\n';
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Gates the ART ONLY (mark + wordmark). The splash body — status line and
|
|
149
|
+
* command table — is the output of the no-arg command, not banner decoration,
|
|
150
|
+
* so it must NOT be gated by this. Keep the two concerns separate.
|
|
151
|
+
*/
|
|
152
|
+
function shouldShowArt(argv = process.argv.slice(2)) {
|
|
153
|
+
if (argv.includes('--no-banner') || process.env.SCALEBUN_NO_BANNER)
|
|
154
|
+
return false;
|
|
155
|
+
if (process.env.CI && !process.stdout.isTTY)
|
|
156
|
+
return false;
|
|
157
|
+
const cmd = argv.find((a) => !a.startsWith('-'));
|
|
158
|
+
return !cmd || cmd === 'help'; // bare `scalebun` and `scalebun help` only
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/mark.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../src/ui/mark.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAejC,CAAC;AACF,eAAO,MAAM,MAAM,KAAK,CAAC"}
|
package/lib/ui/mark.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MARK_W = exports.MARK = void 0;
|
|
4
|
+
/* eslint-disable */
|
|
5
|
+
// prettier-ignore
|
|
6
|
+
// GENERATED by tools/gen-mark.mjs — do not edit by hand.
|
|
7
|
+
exports.MARK = [
|
|
8
|
+
" ▄▄█████",
|
|
9
|
+
" █████ ████████",
|
|
10
|
+
"███████ ███████",
|
|
11
|
+
"███ ████ ▄███▀ ▀▀",
|
|
12
|
+
"████ ███ ████▀",
|
|
13
|
+
"▀███▄███▄████▄▄",
|
|
14
|
+
" ▀███████████████▄",
|
|
15
|
+
" ████▀▀▀ ▀▀████▄",
|
|
16
|
+
"████ ▄▄▄ ▀███",
|
|
17
|
+
"███ ███ ▄███",
|
|
18
|
+
"███ ▀███",
|
|
19
|
+
"███▄ ▄▄▄ ▄████",
|
|
20
|
+
"▀████▄▄▄▄▄▄███████▀",
|
|
21
|
+
" ▀██████████▀▀▀▀",
|
|
22
|
+
];
|
|
23
|
+
exports.MARK_W = 20;
|
|
24
|
+
//# sourceMappingURL=mark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mark.js","sourceRoot":"","sources":["../../src/ui/mark.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,kBAAkB;AAClB,yDAAyD;AAC5C,QAAA,IAAI,GAAsB;IACrC,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,mBAAmB;CACpB,CAAC;AACW,QAAA,MAAM,GAAG,EAAE,CAAC"}
|
package/lib/utils/ui.d.ts
CHANGED
package/lib/utils/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,IAAI,IAAI,CAUnC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAwDrC"}
|
package/lib/utils/ui.js
CHANGED
|
@@ -3,26 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderBanner = renderBanner;
|
|
7
6
|
exports.renderStatus = renderStatus;
|
|
8
7
|
exports.renderCommands = renderCommands;
|
|
9
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
9
|
const credentials_1 = require("./credentials");
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
// the CLI manifest. (The banner used to hardcode "v0.1.0".)
|
|
14
|
-
const { version } = require('../../package.json');
|
|
15
|
-
function renderBanner() {
|
|
16
|
-
const logo = `
|
|
17
|
-
${chalk_1.default.magenta('███████╗')} ${chalk_1.default.magenta('██████╗')} ${chalk_1.default.magenta('██╗ ██╗')} ${chalk_1.default.magenta('██╗')} ${chalk_1.default.magenta('███████╗')} ${chalk_1.default.magenta('██████╗')} ${chalk_1.default.magenta('██╗ ██╗')} ${chalk_1.default.magenta('███╗ ██╗')}
|
|
18
|
-
${chalk_1.default.magenta('██╔════╝')} ${chalk_1.default.magenta('██╔════╝')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('██║')} ${chalk_1.default.magenta('██╔════╝')} ${chalk_1.default.magenta('██╔══██╗')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('████╗ ██║')}
|
|
19
|
-
${chalk_1.default.magenta('███████╗')} ${chalk_1.default.magenta('██║')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('██║')} ${chalk_1.default.magenta('█████╗')} ${chalk_1.default.magenta('██████╔╝')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('██╔██╗ ██║')}
|
|
20
|
-
${chalk_1.default.magenta('╚════██║')} ${chalk_1.default.magenta('██║')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('██║')} ${chalk_1.default.magenta('██╔══╝')} ${chalk_1.default.magenta('██╔══██╗')} ${chalk_1.default.magenta('██║ ██║')} ${chalk_1.default.magenta('██║╚██╗██║')}
|
|
21
|
-
${chalk_1.default.magenta('███████║')} ${chalk_1.default.magenta('╚██████╗')} ${chalk_1.default.magenta('╚██████╔╝')} ${chalk_1.default.magenta('███████╗')} ${chalk_1.default.magenta('███████╗')} ${chalk_1.default.magenta('██████╔╝')} ${chalk_1.default.magenta('╚██████╔╝')} ${chalk_1.default.magenta('██║ ╚████║')}
|
|
22
|
-
`;
|
|
23
|
-
console.log(logo);
|
|
24
|
-
console.log(chalk_1.default.bold.cyan(' ⚡ Scalebun CLI') + chalk_1.default.dim(` v${version} — Enterprise OTA Update & Telemetry Control Plane\n`));
|
|
25
|
-
}
|
|
10
|
+
// NOTE: the splash art (mark + wordmark) now lives in ../ui/banner.ts. This file
|
|
11
|
+
// keeps only the status box and command table — the body of the no-arg command.
|
|
26
12
|
function renderStatus() {
|
|
27
13
|
const creds = (0, credentials_1.readCredentials)();
|
|
28
14
|
console.log(chalk_1.default.gray('┌─────────────────────────────────────────────────────────────┐'));
|
package/lib/utils/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":";;;;;AAMA,oCAUC;AAED,wCAwDC;AA1ED,kDAA0B;AAC1B,+CAAgD;AAEhD,iFAAiF;AACjF,gFAAgF;AAEhF,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAC3F,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,6CAA6C,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CACzC,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,oEAAoE,CAAC,EAAE,CAAC,CAAC;IAC5I,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,eAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC;IAC5J,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,sCAAsC,eAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC1I,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,eAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC;IAClM,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,OAAO,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC/I,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,iBAAiB,EAAE,uDAAuD,CAAC,CAAC;IAChF,GAAG,CAAC,mBAAmB,EAAE,sEAAsE,CAAC,CAAC;IACjG,GAAG,CAAC,uBAAuB,EAAE,gEAAgE,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,sBAAsB,EAAE,qEAAqE,CAAC,CAAC;IACnG,GAAG,CAAC,qBAAqB,EAAE,4DAA4D,CAAC,CAAC;IACzF,GAAG,CAAC,uBAAuB,EAAE,kDAAkD,CAAC,CAAC;IACjF,GAAG,CAAC,uBAAuB,EAAE,+CAA+C,CAAC,CAAC;IAC9E,GAAG,CAAC,sBAAsB,EAAE,sDAAsD,CAAC,CAAC;IACpF,GAAG,CAAC,gCAAgC,EAAE,4DAA4D,CAAC,CAAC;IACpG,GAAG,CAAC,2BAA2B,EAAE,6CAA6C,CAAC,CAAC;IAChF,GAAG,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,CAAC;IACpE,GAAG,CAAC,4BAA4B,EAAE,kCAAkC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,yBAAyB,EAAE,yDAAyD,CAAC,CAAC;IAC1F,GAAG,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;IACtE,GAAG,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;IAC/D,GAAG,CAAC,2BAA2B,EAAE,2DAA2D,CAAC,CAAC;IAC9F,GAAG,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;IACxE,GAAG,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,+EAA+E;IAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,0EAA0E,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,qGAAqG,CAAC,CAAC;IAC7K,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,yDAAyD,CAAC,CAAC;IACjI,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,gCAAgC,CAAC,CAAC;AAC1G,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scalebun/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Scalebun CLI — OTA bundle publishing and management",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"build": "tsc",
|
|
29
29
|
"dev": "tsc --watch",
|
|
30
30
|
"typecheck": "tsc --noEmit",
|
|
31
|
-
"clean": "rm -rf lib"
|
|
31
|
+
"clean": "rm -rf lib",
|
|
32
|
+
"gen:mark": "node tools/gen-mark.mjs assets/scalebun-mark.svg 20 14"
|
|
32
33
|
}
|
|
33
34
|
}
|