@rshono/create 1.0.0-rc.20 → 1.0.0-rc.21
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/dist/api.mjs +3 -3
- package/dist/cli.mjs +252 -221
- package/package.json +5 -5
package/dist/api.mjs
CHANGED
|
@@ -147,7 +147,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
147
147
|
|
|
148
148
|
;// CONCATENATED MODULE: ./src/generated/framework.ts
|
|
149
149
|
// GENERATED by scripts/codegen.mjs from packages/core — do not edit. Run `pnpm --filter @rshono/create codegen`.
|
|
150
|
-
/** The framework release a scaffolded app is pinned to: this package and rshono ship together. */ const RSHONO_VERSION = '1.0.0-rc.
|
|
150
|
+
/** The framework release a scaffolded app is pinned to: this package and rshono ship together. */ const RSHONO_VERSION = '1.0.0-rc.21';
|
|
151
151
|
/**
|
|
152
152
|
* The Node range rshono declares, restated in every scaffolded app's `engines` — so a CI image or a contributor
|
|
153
153
|
* on an older Node hears it from their package manager rather than from a stack trace.
|
|
@@ -156,11 +156,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
156
156
|
* The dependency versions rshono is tested against, copied from its own manifest. Exact where it is exact:
|
|
157
157
|
* React's RSC internals are coupled across builds, and a generated app has no workspace overrides.
|
|
158
158
|
*/ const FRAMEWORK_DEPS = {
|
|
159
|
-
hono: '^4.13.
|
|
159
|
+
hono: '^4.13.7',
|
|
160
160
|
react: '19.2.8',
|
|
161
161
|
'react-dom': '19.2.8',
|
|
162
162
|
typescript: '^7.0.2',
|
|
163
|
-
'@types/node': '^26.
|
|
163
|
+
'@types/node': '^26.5.1',
|
|
164
164
|
'@types/react': '^19.2.18'
|
|
165
165
|
};
|
|
166
166
|
/** Every `deploy` target the installed framework knows, with the command that ships what it built. */ const DEPLOY_TARGETS = [
|
package/dist/cli.mjs
CHANGED
|
@@ -482,7 +482,7 @@ function main_wrapAnsi(string, columns, options) {
|
|
|
482
482
|
var src = __webpack_require__(347);
|
|
483
483
|
;// CONCATENATED MODULE: external "node:tty"
|
|
484
484
|
|
|
485
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@clack+core@1.
|
|
485
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@clack+core@1.5.1/node_modules/@clack/core/dist/index.mjs
|
|
486
486
|
|
|
487
487
|
|
|
488
488
|
|
|
@@ -548,6 +548,7 @@ const dist_settings = {
|
|
|
548
548
|
error: "Something went wrong"
|
|
549
549
|
},
|
|
550
550
|
withGuide: true,
|
|
551
|
+
accessible: void 0,
|
|
551
552
|
date: {
|
|
552
553
|
monthNames: [...dist_t],
|
|
553
554
|
messages: {
|
|
@@ -572,11 +573,17 @@ function updateSettings(n) {
|
|
|
572
573
|
const e = n.messages;
|
|
573
574
|
e.cancel !== void 0 && (dist_settings.messages.cancel = e.cancel), e.error !== void 0 && (dist_settings.messages.error = e.error);
|
|
574
575
|
}
|
|
575
|
-
if (n.withGuide !== void 0 && (dist_settings.withGuide = n.withGuide !== false), n.date !== void 0) {
|
|
576
|
+
if (n.withGuide !== void 0 && (dist_settings.withGuide = n.withGuide !== false), n.accessible !== void 0 && (dist_settings.accessible = n.accessible === true), n.date !== void 0) {
|
|
576
577
|
const e = n.date;
|
|
577
578
|
e.monthNames !== void 0 && (dist_settings.date.monthNames = [...e.monthNames]), e.messages !== void 0 && (e.messages.required !== void 0 && (dist_settings.date.messages.required = e.messages.required), e.messages.invalidMonth !== void 0 && (dist_settings.date.messages.invalidMonth = e.messages.invalidMonth), e.messages.invalidDay !== void 0 && (dist_settings.date.messages.invalidDay = e.messages.invalidDay), e.messages.afterMin !== void 0 && (dist_settings.date.messages.afterMin = e.messages.afterMin), e.messages.beforeMax !== void 0 && (dist_settings.date.messages.beforeMax = e.messages.beforeMax));
|
|
578
579
|
}
|
|
579
580
|
}
|
|
581
|
+
function isAccessible(n) {
|
|
582
|
+
if (n !== void 0) return n;
|
|
583
|
+
if (dist_settings.accessible !== void 0) return dist_settings.accessible;
|
|
584
|
+
const e = process.env.ACCESSIBLE;
|
|
585
|
+
return e !== void 0 && e !== "" && e !== "0" && e !== "false";
|
|
586
|
+
}
|
|
580
587
|
function isActionKey(n, e) {
|
|
581
588
|
if (typeof n == "string")
|
|
582
589
|
return dist_settings.aliases.get(n) === e;
|
|
@@ -614,7 +621,7 @@ function dist_block({
|
|
|
614
621
|
input: e = stdin,
|
|
615
622
|
output: r = stdout,
|
|
616
623
|
overwrite: o = true,
|
|
617
|
-
hideCursor:
|
|
624
|
+
hideCursor: n = true
|
|
618
625
|
} = {}) {
|
|
619
626
|
const s = l.createInterface({
|
|
620
627
|
input: e,
|
|
@@ -623,51 +630,47 @@ function dist_block({
|
|
|
623
630
|
tabSize: 1
|
|
624
631
|
});
|
|
625
632
|
l.emitKeypressEvents(e, s), e instanceof ReadStream && e.isTTY && e.setRawMode(true);
|
|
626
|
-
const
|
|
633
|
+
const t = (f, { name: a, sequence: w }) => {
|
|
627
634
|
const c = String(f);
|
|
628
|
-
if (isActionKey([c, a,
|
|
629
|
-
|
|
635
|
+
if (isActionKey([c, a, w], "cancel")) {
|
|
636
|
+
n && r.write(cursor.show), process.exit(0);
|
|
630
637
|
return;
|
|
631
638
|
}
|
|
632
639
|
if (!o) return;
|
|
633
640
|
const i = a === "return" ? 0 : -1, m = a === "return" ? -1 : 0;
|
|
634
641
|
l.moveCursor(r, i, m, () => {
|
|
635
642
|
l.clearLine(r, 1, () => {
|
|
636
|
-
e.once("keypress",
|
|
643
|
+
e.once("keypress", t);
|
|
637
644
|
});
|
|
638
645
|
});
|
|
639
646
|
};
|
|
640
|
-
return
|
|
641
|
-
e.off("keypress",
|
|
647
|
+
return n && r.write(cursor.hide), e.once("keypress", t), () => {
|
|
648
|
+
e.off("keypress", t), n && r.write(cursor.show), e instanceof ReadStream && e.isTTY && !dist_R && e.setRawMode(false), s.terminal = false, s.close();
|
|
642
649
|
};
|
|
643
650
|
}
|
|
644
651
|
const dist_getColumns = (e) => "columns" in e && typeof e.columns == "number" ? e.columns : 80, getRows = (e) => "rows" in e && typeof e.rows == "number" ? e.rows : 20;
|
|
645
|
-
function dist_wrapTextWithPrefix(e, r, o,
|
|
652
|
+
function dist_wrapTextWithPrefix(e, r, o, n = o, s = o, t) {
|
|
646
653
|
const f = dist_getColumns(e ?? external_node_process_stdout);
|
|
647
654
|
return main_wrapAnsi(r, f - o.length, {
|
|
648
655
|
hard: true,
|
|
649
656
|
trim: false
|
|
650
657
|
}).split(`
|
|
651
658
|
`).map((c, i, m) => {
|
|
652
|
-
const d =
|
|
653
|
-
return i === 0 ? `${
|
|
659
|
+
const d = t ? t(c, i) : c;
|
|
660
|
+
return i === 0 ? `${n}${d}` : i === m.length - 1 ? `${s}${d}` : `${o}${d}`;
|
|
654
661
|
}).join(`
|
|
655
662
|
`);
|
|
656
663
|
}
|
|
657
664
|
|
|
658
|
-
function dist_runValidation(e,
|
|
665
|
+
function dist_runValidation(e, a) {
|
|
659
666
|
if ("~standard" in e) {
|
|
660
|
-
const
|
|
661
|
-
|
|
662
|
-
throw new TypeError(
|
|
663
|
-
"Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic."
|
|
664
|
-
);
|
|
665
|
-
return a.issues?.at(0)?.message;
|
|
667
|
+
const n = e["~standard"].validate(a);
|
|
668
|
+
return n instanceof Promise ? n.then((r) => r.issues?.at(0)?.message) : n.issues?.at(0)?.message;
|
|
666
669
|
}
|
|
667
|
-
return e(
|
|
670
|
+
return e(a);
|
|
668
671
|
}
|
|
669
672
|
|
|
670
|
-
class
|
|
673
|
+
class dist_y {
|
|
671
674
|
input;
|
|
672
675
|
output;
|
|
673
676
|
_abortSignal;
|
|
@@ -682,9 +685,17 @@ class dist_V {
|
|
|
682
685
|
error = "";
|
|
683
686
|
value;
|
|
684
687
|
userInput = "";
|
|
688
|
+
/**
|
|
689
|
+
* Whether accessible (static, screen-reader friendly) output is enabled for
|
|
690
|
+
* this prompt, resolved from the `accessible` option, the global setting,
|
|
691
|
+
* and the `ACCESSIBLE` env var.
|
|
692
|
+
*/
|
|
693
|
+
get accessible() {
|
|
694
|
+
return isAccessible(this.opts.accessible);
|
|
695
|
+
}
|
|
685
696
|
constructor(t, e = true) {
|
|
686
|
-
const { input: i = external_node_process_stdin, output:
|
|
687
|
-
this.opts = o, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render =
|
|
697
|
+
const { input: i = external_node_process_stdin, output: s = external_node_process_stdout, render: r, signal: n, ...o } = t;
|
|
698
|
+
this.opts = o, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = r.bind(this), this._track = e, this._abortSignal = n, this.input = i, this.output = s;
|
|
688
699
|
}
|
|
689
700
|
/**
|
|
690
701
|
* Unsubscribe all listeners
|
|
@@ -722,11 +733,11 @@ class dist_V {
|
|
|
722
733
|
* @param data - The data to pass to the callback
|
|
723
734
|
*/
|
|
724
735
|
emit(t, ...e) {
|
|
725
|
-
const i = this._subscribers.get(t) ?? [],
|
|
726
|
-
for (const
|
|
727
|
-
|
|
728
|
-
for (const
|
|
729
|
-
|
|
736
|
+
const i = this._subscribers.get(t) ?? [], s = [];
|
|
737
|
+
for (const r of i)
|
|
738
|
+
r.cb(...e), r.once && s.push(() => i.splice(i.indexOf(r), 1));
|
|
739
|
+
for (const r of s)
|
|
740
|
+
r();
|
|
730
741
|
}
|
|
731
742
|
prompt() {
|
|
732
743
|
return new Promise((t) => {
|
|
@@ -769,15 +780,18 @@ class dist_V {
|
|
|
769
780
|
_clearUserInput() {
|
|
770
781
|
this.rl?.write(null, { ctrl: true, name: "u" }), this._setUserInput("");
|
|
771
782
|
}
|
|
772
|
-
onKeypress(t, e) {
|
|
773
|
-
if (this.
|
|
774
|
-
if (this.
|
|
775
|
-
|
|
776
|
-
|
|
783
|
+
async onKeypress(t, e) {
|
|
784
|
+
if (this.state !== "validating") {
|
|
785
|
+
if (this._track && e.name !== "return" && (e.name && this._isActionKey(t, e) && this.rl?.write(null, { ctrl: true, name: "h" }), this._cursor = this.rl?.cursor ?? 0, this._setUserInput(this.rl?.line)), this.state === "error" && (this.state = "active"), e?.name && (!this._track && dist_settings.aliases.has(e.name) && this.emit("cursor", dist_settings.aliases.get(e.name)), dist_settings.actions.has(e.name) && this.emit("cursor", e.name)), t && (t.toLowerCase() === "y" || t.toLowerCase() === "n") && this.emit("confirm", t.toLowerCase() === "y"), this.emit("key", t, e), e?.name === "return" && this._shouldSubmit(t, e)) {
|
|
786
|
+
if (this.opts.validate) {
|
|
787
|
+
const i = dist_runValidation(this.opts.validate, this.value);
|
|
788
|
+
let s;
|
|
789
|
+
i instanceof Promise ? (this.state = "validating", this.render(), s = await i) : s = i, s && (this.error = s instanceof Error ? s.message : s, this.state = "error", this.rl?.write(this.userInput));
|
|
790
|
+
}
|
|
791
|
+
this.state !== "error" && (this.state = "submit");
|
|
777
792
|
}
|
|
778
|
-
this.state
|
|
793
|
+
isActionKey([t, e?.name, e?.sequence], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
|
|
779
794
|
}
|
|
780
|
-
isActionKey([t, e?.name, e?.sequence], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
|
|
781
795
|
}
|
|
782
796
|
close() {
|
|
783
797
|
this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
|
|
@@ -799,28 +813,28 @@ class dist_V {
|
|
|
799
813
|
else {
|
|
800
814
|
const e = diffLines(this._prevFrame, t), i = getRows(this.output);
|
|
801
815
|
if (this.restoreCursor(), e) {
|
|
802
|
-
const
|
|
803
|
-
let
|
|
804
|
-
if (
|
|
816
|
+
const s = Math.max(0, e.numLinesAfter - i), r = Math.max(0, e.numLinesBefore - i);
|
|
817
|
+
let n = e.lines.find((o) => o >= s);
|
|
818
|
+
if (n === void 0) {
|
|
805
819
|
this._prevFrame = t;
|
|
806
820
|
return;
|
|
807
821
|
}
|
|
808
822
|
if (e.lines.length === 1) {
|
|
809
|
-
this.output.write(src.cursor.move(0,
|
|
823
|
+
this.output.write(src.cursor.move(0, n - r)), this.output.write(src.erase.lines(1));
|
|
810
824
|
const o = t.split(`
|
|
811
825
|
`);
|
|
812
|
-
this.output.write(o[
|
|
826
|
+
this.output.write(o[n]), this._prevFrame = t, this.output.write(src.cursor.move(0, o.length - n - 1));
|
|
813
827
|
return;
|
|
814
828
|
} else if (e.lines.length > 1) {
|
|
815
|
-
if (
|
|
816
|
-
|
|
829
|
+
if (s < r)
|
|
830
|
+
n = s;
|
|
817
831
|
else {
|
|
818
|
-
const h =
|
|
832
|
+
const h = n - r;
|
|
819
833
|
h > 0 && this.output.write(src.cursor.move(0, h));
|
|
820
834
|
}
|
|
821
835
|
this.output.write(src.erase.down());
|
|
822
836
|
const f = t.split(`
|
|
823
|
-
`).slice(
|
|
837
|
+
`).slice(n);
|
|
824
838
|
this.output.write(f.join(`
|
|
825
839
|
`)), this._prevFrame = t;
|
|
826
840
|
return;
|
|
@@ -839,14 +853,14 @@ function p$1(l, e) {
|
|
|
839
853
|
const i = e.findIndex((s) => s.value === l);
|
|
840
854
|
return i !== -1 ? i : 0;
|
|
841
855
|
}
|
|
842
|
-
function
|
|
856
|
+
function dist_m(l, e) {
|
|
843
857
|
return (e.label ?? String(e.value)).toLowerCase().includes(l.toLowerCase());
|
|
844
858
|
}
|
|
845
|
-
function
|
|
859
|
+
function dist_g(l, e) {
|
|
846
860
|
if (e)
|
|
847
861
|
return l ? e : e[0];
|
|
848
862
|
}
|
|
849
|
-
let T$1 = class T extends
|
|
863
|
+
let T$1 = class T extends dist_y {
|
|
850
864
|
filteredOptions;
|
|
851
865
|
multiple;
|
|
852
866
|
isNavigating = false;
|
|
@@ -857,6 +871,7 @@ let T$1 = class T extends dist_V {
|
|
|
857
871
|
#t;
|
|
858
872
|
#i;
|
|
859
873
|
#n;
|
|
874
|
+
#l;
|
|
860
875
|
get cursor() {
|
|
861
876
|
return this.#e;
|
|
862
877
|
}
|
|
@@ -872,29 +887,34 @@ let T$1 = class T extends dist_V {
|
|
|
872
887
|
return typeof this.#i == "function" ? this.#i() : this.#i;
|
|
873
888
|
}
|
|
874
889
|
constructor(e) {
|
|
875
|
-
super(e), this.#i = e.options, this.#n = e.placeholder;
|
|
890
|
+
super(e), this.#i = e.options, this.#n = e.placeholder, this.#l = e.completeOnTab === true;
|
|
876
891
|
const t = this.options;
|
|
877
|
-
this.filteredOptions = [...t], this.multiple = e.multiple === true, this.#t = typeof e.options == "function" ? e.filter : e.filter ??
|
|
892
|
+
this.filteredOptions = [...t], this.multiple = e.multiple === true, this.#t = typeof e.options == "function" ? e.filter : e.filter ?? dist_m;
|
|
878
893
|
let i;
|
|
879
894
|
if (e.initialValue && Array.isArray(e.initialValue) ? this.multiple ? i = e.initialValue : i = e.initialValue.slice(0, 1) : !this.multiple && this.options.length > 0 && (i = [this.options[0]?.value]), i)
|
|
880
895
|
for (const s of i) {
|
|
881
|
-
const n = t.findIndex((
|
|
896
|
+
const n = t.findIndex((r) => r.value === s);
|
|
882
897
|
n !== -1 && (this.toggleSelected(s), this.#e = n);
|
|
883
898
|
}
|
|
884
|
-
this.focusedValue = this.options[this.#e]?.value, this.on("key", (s, n) => this.#
|
|
899
|
+
this.focusedValue = this.options[this.#e]?.value, this.on("key", (s, n) => this.#u(s, n)), this.on("userInput", (s) => this.#o(s));
|
|
885
900
|
}
|
|
886
901
|
_isActionKey(e, t) {
|
|
887
902
|
return e === " " || this.multiple && this.isNavigating && t.name === "space" && e !== void 0 && e !== "";
|
|
888
903
|
}
|
|
889
|
-
#
|
|
890
|
-
const i = t.name === "up", s = t.name === "down", n = t.name === "return",
|
|
891
|
-
(
|
|
904
|
+
#u(e, t) {
|
|
905
|
+
const i = t.name === "up", s = t.name === "down", n = t.name === "return", r = this.userInput === "" || this.userInput === " ", u = this.#n, d = this.options, c = u !== void 0 && u !== "" && d.some(
|
|
906
|
+
(o) => !o.disabled && (this.#t ? this.#t(u, o) : true)
|
|
892
907
|
);
|
|
893
|
-
if (t.name === "tab" &&
|
|
908
|
+
if (t.name === "tab" && r && c) {
|
|
894
909
|
this.userInput === " " && this._clearUserInput(), this._setUserInput(u, true), this.isNavigating = false;
|
|
895
910
|
return;
|
|
896
911
|
}
|
|
897
|
-
|
|
912
|
+
if (t.name === "tab" && this.#l && !this.multiple && this.focusedValue !== void 0) {
|
|
913
|
+
const o = String(this.focusedValue);
|
|
914
|
+
this._clearUserInput(), this._setUserInput(o, true), this.isNavigating = false;
|
|
915
|
+
return;
|
|
916
|
+
}
|
|
917
|
+
i || s ? (this.#e = findCursor(this.#e, i ? -1 : 1, this.filteredOptions), this.focusedValue = this.filteredOptions[this.#e]?.value, this.multiple || (this.selectedValues = [this.focusedValue]), this.isNavigating = true) : n ? this.value = dist_g(this.multiple, this.selectedValues) : this.multiple ? this.focusedValue !== void 0 && (t.name === "tab" || this.isNavigating && t.name === "space") ? this.toggleSelected(this.focusedValue) : this.isNavigating = false : (this.focusedValue && (this.selectedValues = [this.focusedValue]), this.isNavigating = false);
|
|
898
918
|
}
|
|
899
919
|
deselectAll() {
|
|
900
920
|
this.selectedValues = [];
|
|
@@ -902,7 +922,7 @@ let T$1 = class T extends dist_V {
|
|
|
902
922
|
toggleSelected(e) {
|
|
903
923
|
this.filteredOptions.length !== 0 && (this.multiple ? this.selectedValues.includes(e) ? this.selectedValues = this.selectedValues.filter((t) => t !== e) : this.selectedValues = [...this.selectedValues, e] : this.selectedValues = [e]);
|
|
904
924
|
}
|
|
905
|
-
#
|
|
925
|
+
#o(e) {
|
|
906
926
|
if (e !== this.#s) {
|
|
907
927
|
this.#s = e;
|
|
908
928
|
const t = this.options;
|
|
@@ -915,7 +935,7 @@ let T$1 = class T extends dist_V {
|
|
|
915
935
|
}
|
|
916
936
|
};
|
|
917
937
|
|
|
918
|
-
class dist_r extends
|
|
938
|
+
class dist_r extends dist_y {
|
|
919
939
|
get cursor() {
|
|
920
940
|
return this.value ? 0 : 1;
|
|
921
941
|
}
|
|
@@ -994,7 +1014,7 @@ function dist_T(r, t, i, s) {
|
|
|
994
1014
|
max: e && t.year === e.year && t.month === e.month ? e.day : dist_c(t.year, t.month)
|
|
995
1015
|
};
|
|
996
1016
|
}
|
|
997
|
-
class U extends
|
|
1017
|
+
class U extends dist_y {
|
|
998
1018
|
#i;
|
|
999
1019
|
#o;
|
|
1000
1020
|
#t;
|
|
@@ -1160,7 +1180,7 @@ class U extends dist_V {
|
|
|
1160
1180
|
}
|
|
1161
1181
|
}
|
|
1162
1182
|
|
|
1163
|
-
let u$2 = class u extends
|
|
1183
|
+
let u$2 = class u extends dist_y {
|
|
1164
1184
|
options;
|
|
1165
1185
|
cursor = 0;
|
|
1166
1186
|
#t;
|
|
@@ -1218,7 +1238,7 @@ let u$2 = class u extends dist_V {
|
|
|
1218
1238
|
};
|
|
1219
1239
|
|
|
1220
1240
|
const dist_o = /* @__PURE__ */ new Set(["up", "down", "left", "right"]);
|
|
1221
|
-
class dist_h extends
|
|
1241
|
+
class dist_h extends dist_y {
|
|
1222
1242
|
#t = false;
|
|
1223
1243
|
#s;
|
|
1224
1244
|
focused = "editor";
|
|
@@ -1313,7 +1333,7 @@ ${i}` : `${s}${external_node_util_styleText("inverse", r)}${i}`;
|
|
|
1313
1333
|
}
|
|
1314
1334
|
}
|
|
1315
1335
|
|
|
1316
|
-
class dist_a extends
|
|
1336
|
+
class dist_a extends dist_y {
|
|
1317
1337
|
options;
|
|
1318
1338
|
cursor = 0;
|
|
1319
1339
|
get _value() {
|
|
@@ -1364,7 +1384,7 @@ class dist_a extends dist_V {
|
|
|
1364
1384
|
}
|
|
1365
1385
|
}
|
|
1366
1386
|
|
|
1367
|
-
let u$1 = class u extends
|
|
1387
|
+
let u$1 = class u extends dist_y {
|
|
1368
1388
|
_mask = "\u2022";
|
|
1369
1389
|
get cursor() {
|
|
1370
1390
|
return this._cursor;
|
|
@@ -1393,7 +1413,7 @@ let u$1 = class u extends dist_V {
|
|
|
1393
1413
|
}
|
|
1394
1414
|
};
|
|
1395
1415
|
|
|
1396
|
-
let n$1 = class n extends
|
|
1416
|
+
let n$1 = class n extends dist_y {
|
|
1397
1417
|
options;
|
|
1398
1418
|
cursor = 0;
|
|
1399
1419
|
get _selectedValue() {
|
|
@@ -1422,7 +1442,7 @@ let n$1 = class n extends dist_V {
|
|
|
1422
1442
|
}
|
|
1423
1443
|
};
|
|
1424
1444
|
|
|
1425
|
-
class dist_u extends
|
|
1445
|
+
class dist_u extends dist_y {
|
|
1426
1446
|
options;
|
|
1427
1447
|
cursor = 0;
|
|
1428
1448
|
constructor(t) {
|
|
@@ -1440,7 +1460,7 @@ class dist_u extends dist_V {
|
|
|
1440
1460
|
}
|
|
1441
1461
|
}
|
|
1442
1462
|
|
|
1443
|
-
class dist_n extends
|
|
1463
|
+
class dist_n extends dist_y {
|
|
1444
1464
|
get userInputWithCursor() {
|
|
1445
1465
|
if (this.state === "submit")
|
|
1446
1466
|
return this.userInput;
|
|
@@ -1471,7 +1491,7 @@ class dist_n extends dist_V {
|
|
|
1471
1491
|
|
|
1472
1492
|
;// CONCATENATED MODULE: external "node:path"
|
|
1473
1493
|
|
|
1474
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@clack+prompts@1.
|
|
1494
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@clack+prompts@1.8.1/node_modules/@clack/prompts/dist/index.mjs
|
|
1475
1495
|
|
|
1476
1496
|
|
|
1477
1497
|
|
|
@@ -1509,6 +1529,8 @@ const unicode = isUnicodeSupported(), isCI = () => process.env.CI === "true", is
|
|
|
1509
1529
|
return external_node_util_styleText("yellow", S_STEP_ERROR);
|
|
1510
1530
|
case "submit":
|
|
1511
1531
|
return external_node_util_styleText("green", S_STEP_SUBMIT);
|
|
1532
|
+
case "validating":
|
|
1533
|
+
return external_node_util_styleText("dim", S_STEP_ACTIVE);
|
|
1512
1534
|
}
|
|
1513
1535
|
}, symbolBar = (o) => {
|
|
1514
1536
|
switch (o) {
|
|
@@ -1595,16 +1617,16 @@ const limitOptions = ({
|
|
|
1595
1617
|
return c && x.push(M), x;
|
|
1596
1618
|
};
|
|
1597
1619
|
|
|
1598
|
-
function
|
|
1620
|
+
function dist_E(t) {
|
|
1599
1621
|
return t.label ?? String(t.value ?? "");
|
|
1600
1622
|
}
|
|
1601
|
-
function
|
|
1623
|
+
function prompts_dist_P(t, c) {
|
|
1602
1624
|
if (!t)
|
|
1603
1625
|
return true;
|
|
1604
|
-
const n = (c.label ?? String(c.value ?? "")).toLowerCase(), i = (c.hint ?? "").toLowerCase(),
|
|
1605
|
-
return n.includes(o) || i.includes(o) ||
|
|
1626
|
+
const n = (c.label ?? String(c.value ?? "")).toLowerCase(), i = (c.hint ?? "").toLowerCase(), r = String(c.value).toLowerCase(), o = t.toLowerCase();
|
|
1627
|
+
return n.includes(o) || i.includes(o) || r.includes(o);
|
|
1606
1628
|
}
|
|
1607
|
-
function
|
|
1629
|
+
function dist_j(t, c) {
|
|
1608
1630
|
const n = [];
|
|
1609
1631
|
for (const i of c)
|
|
1610
1632
|
t.includes(i.value) && n.push(i);
|
|
@@ -1615,14 +1637,15 @@ const autocomplete = (t) => new AutocompletePrompt({
|
|
|
1615
1637
|
initialValue: t.initialValue ? [t.initialValue] : void 0,
|
|
1616
1638
|
initialUserInput: t.initialUserInput,
|
|
1617
1639
|
placeholder: t.placeholder,
|
|
1618
|
-
|
|
1640
|
+
completeOnTab: t.completeOnTab,
|
|
1641
|
+
filter: t.filter ?? ((n, i) => prompts_dist_P(n, i)),
|
|
1619
1642
|
signal: t.signal,
|
|
1620
1643
|
input: t.input,
|
|
1621
1644
|
output: t.output,
|
|
1622
1645
|
validate: t.validate,
|
|
1623
1646
|
render() {
|
|
1624
|
-
const n = t.withGuide ?? settings.withGuide, i = n ? [`${styleText("gray", S_BAR)}`, `${symbol(this.state)} ${t.message}`] : [`${symbol(this.state)} ${t.message}`],
|
|
1625
|
-
const a =
|
|
1647
|
+
const n = t.withGuide ?? settings.withGuide, i = n ? [`${styleText("gray", S_BAR)}`, `${symbol(this.state)} ${t.message}`] : [`${symbol(this.state)} ${t.message}`], r = this.userInput, o = this.options, m = t.placeholder, p = r === "" && m !== void 0, $ = (l, s) => {
|
|
1648
|
+
const a = dist_E(l), u = l.hint && l.value === this.focusedValue ? styleText("dim", ` (${l.hint})`) : "";
|
|
1626
1649
|
switch (s) {
|
|
1627
1650
|
case "active":
|
|
1628
1651
|
return `${styleText("green", S_RADIO_ACTIVE)} ${a}${u}`;
|
|
@@ -1634,39 +1657,40 @@ const autocomplete = (t) => new AutocompletePrompt({
|
|
|
1634
1657
|
};
|
|
1635
1658
|
switch (this.state) {
|
|
1636
1659
|
case "submit": {
|
|
1637
|
-
const
|
|
1660
|
+
const l = dist_j(this.selectedValues, o), s = l.length > 0 ? ` ${styleText("dim", l.map(dist_E).join(", "))}` : "", a = n ? styleText("gray", S_BAR) : "";
|
|
1638
1661
|
return `${i.join(`
|
|
1639
1662
|
`)}
|
|
1640
1663
|
${a}${s}`;
|
|
1641
1664
|
}
|
|
1642
1665
|
case "cancel": {
|
|
1643
|
-
const
|
|
1666
|
+
const l = r ? ` ${styleText(["strikethrough", "dim"], r)}` : "", s = n ? styleText("gray", S_BAR) : "";
|
|
1644
1667
|
return `${i.join(`
|
|
1645
1668
|
`)}
|
|
1646
|
-
${s}${
|
|
1669
|
+
${s}${l}`;
|
|
1647
1670
|
}
|
|
1648
1671
|
default: {
|
|
1649
|
-
const
|
|
1672
|
+
const l = this.state === "error" ? "yellow" : "cyan", s = n ? `${styleText(l, S_BAR)} ` : "", a = n ? styleText(l, S_BAR_END) : "";
|
|
1650
1673
|
let u = "";
|
|
1651
1674
|
if (this.isNavigating || p) {
|
|
1652
|
-
const d = p ? m :
|
|
1675
|
+
const d = p ? m : r;
|
|
1653
1676
|
u = d !== "" ? ` ${styleText("dim", d)}` : "";
|
|
1654
1677
|
} else
|
|
1655
1678
|
u = ` ${this.userInputWithCursor}`;
|
|
1656
1679
|
const V = this.filteredOptions.length !== o.length ? styleText(
|
|
1657
1680
|
"dim",
|
|
1658
1681
|
` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? "" : "es"})`
|
|
1659
|
-
) : "",
|
|
1682
|
+
) : "", b = this.filteredOptions.length === 0 && r ? [`${s}${styleText("yellow", "No matches found")}`] : [], y = this.state === "error" ? [`${s}${styleText("yellow", this.error)}`] : [];
|
|
1660
1683
|
n && i.push(`${s.trimEnd()}`), i.push(
|
|
1661
1684
|
`${s}${styleText("dim", "Search:")}${u}${V}`,
|
|
1662
|
-
...
|
|
1663
|
-
...
|
|
1685
|
+
...b,
|
|
1686
|
+
...y
|
|
1664
1687
|
);
|
|
1665
|
-
const
|
|
1688
|
+
const S = [
|
|
1666
1689
|
`${styleText("dim", "\u2191/\u2193")} to select`,
|
|
1690
|
+
...t.completeOnTab ? [`${styleText("dim", "Tab:")} complete`] : [],
|
|
1667
1691
|
`${styleText("dim", "Enter:")} confirm`,
|
|
1668
1692
|
`${styleText("dim", "Type:")} to search`
|
|
1669
|
-
], g = [`${s}${
|
|
1693
|
+
], g = [`${s}${S.join(" \u2022 ")}`, a], O = this.filteredOptions.length === 0 ? [] : limitOptions({
|
|
1670
1694
|
cursor: this.cursor,
|
|
1671
1695
|
options: this.filteredOptions,
|
|
1672
1696
|
columnPadding: n ? 3 : 0,
|
|
@@ -1689,14 +1713,14 @@ ${s}${r}`;
|
|
|
1689
1713
|
}
|
|
1690
1714
|
}
|
|
1691
1715
|
}).prompt(), autocompleteMultiselect = (t) => {
|
|
1692
|
-
const c = (i,
|
|
1693
|
-
const p = o.includes(i.value), $ = i.label ?? String(i.value ?? ""),
|
|
1694
|
-
return i.disabled ? `${styleText("gray", S_CHECKBOX_INACTIVE)} ${styleText(["strikethrough", "gray"], $)}` :
|
|
1716
|
+
const c = (i, r, o, m) => {
|
|
1717
|
+
const p = o.includes(i.value), $ = i.label ?? String(i.value ?? ""), l = i.hint && m !== void 0 && i.value === m ? styleText("dim", ` (${i.hint})`) : "", s = p ? styleText("green", S_CHECKBOX_SELECTED) : styleText("dim", S_CHECKBOX_INACTIVE);
|
|
1718
|
+
return i.disabled ? `${styleText("gray", S_CHECKBOX_INACTIVE)} ${styleText(["strikethrough", "gray"], $)}` : r ? `${s} ${$}${l}` : `${s} ${styleText("dim", $)}`;
|
|
1695
1719
|
}, n = new AutocompletePrompt({
|
|
1696
1720
|
options: t.options,
|
|
1697
1721
|
multiple: true,
|
|
1698
1722
|
placeholder: t.placeholder,
|
|
1699
|
-
filter: t.filter ?? ((i,
|
|
1723
|
+
filter: t.filter ?? ((i, r) => prompts_dist_P(i, r)),
|
|
1700
1724
|
validate: () => {
|
|
1701
1725
|
if (t.required && n.selectedValues.length === 0)
|
|
1702
1726
|
return "Please select at least one item";
|
|
@@ -1706,39 +1730,39 @@ ${s}${r}`;
|
|
|
1706
1730
|
input: t.input,
|
|
1707
1731
|
output: t.output,
|
|
1708
1732
|
render() {
|
|
1709
|
-
const i = t.withGuide ?? settings.withGuide,
|
|
1733
|
+
const i = t.withGuide ?? settings.withGuide, r = `${i ? `${styleText("gray", S_BAR)}
|
|
1710
1734
|
` : ""}${symbol(this.state)} ${t.message}
|
|
1711
|
-
`, o = this.userInput, m = t.placeholder, p = o === "" && m !== void 0, $ = this.isNavigating || p ? styleText("dim", p ? m : o) : this.userInputWithCursor,
|
|
1735
|
+
`, o = this.userInput, m = t.placeholder, p = o === "" && m !== void 0, $ = this.isNavigating || p ? styleText("dim", p ? m : o) : this.userInputWithCursor, l = this.options, s = this.filteredOptions.length !== l.length ? styleText(
|
|
1712
1736
|
"dim",
|
|
1713
1737
|
` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? "" : "es"})`
|
|
1714
1738
|
) : "";
|
|
1715
1739
|
switch (this.state) {
|
|
1716
1740
|
case "submit":
|
|
1717
|
-
return `${
|
|
1741
|
+
return `${r}${i ? `${styleText("gray", S_BAR)} ` : ""}${styleText(
|
|
1718
1742
|
"dim",
|
|
1719
1743
|
`${this.selectedValues.length} items selected`
|
|
1720
1744
|
)}`;
|
|
1721
1745
|
case "cancel":
|
|
1722
|
-
return `${
|
|
1746
|
+
return `${r}${i ? `${styleText("gray", S_BAR)} ` : ""}${styleText(
|
|
1723
1747
|
["strikethrough", "dim"],
|
|
1724
1748
|
o
|
|
1725
1749
|
)}`;
|
|
1726
1750
|
default: {
|
|
1727
|
-
const a = this.state === "error" ? "yellow" : "cyan", u = i ? `${styleText(a, S_BAR)} ` : "", V = i ? styleText(a, S_BAR_END) : "",
|
|
1751
|
+
const a = this.state === "error" ? "yellow" : "cyan", u = i ? `${styleText(a, S_BAR)} ` : "", V = i ? styleText(a, S_BAR_END) : "", b = [
|
|
1728
1752
|
`${styleText("dim", "\u2191/\u2193")} to navigate`,
|
|
1729
1753
|
`${styleText("dim", this.isNavigating ? "Space/Tab:" : "Tab:")} select`,
|
|
1730
1754
|
`${styleText("dim", "Enter:")} confirm`,
|
|
1731
1755
|
`${styleText("dim", "Type:")} to search`
|
|
1732
|
-
],
|
|
1733
|
-
...`${
|
|
1756
|
+
], y = this.filteredOptions.length === 0 && o ? [`${u}${styleText("yellow", "No matches found")}`] : [], S = this.state === "error" ? [`${u}${styleText("yellow", this.error)}`] : [], g = [
|
|
1757
|
+
...`${r}${i ? styleText(a, S_BAR) : ""}`.split(`
|
|
1734
1758
|
`),
|
|
1735
1759
|
`${u}${styleText("dim", "Search:")} ${$}${s}`,
|
|
1736
|
-
...
|
|
1737
|
-
...
|
|
1738
|
-
], O = [`${u}${
|
|
1760
|
+
...y,
|
|
1761
|
+
...S
|
|
1762
|
+
], O = [`${u}${b.join(" \u2022 ")}`, V], d = limitOptions({
|
|
1739
1763
|
cursor: this.cursor,
|
|
1740
1764
|
options: this.filteredOptions,
|
|
1741
|
-
style: (f,
|
|
1765
|
+
style: (f, L) => c(f, L, this.selectedValues, this.focusedValue),
|
|
1742
1766
|
maxItems: t.maxItems,
|
|
1743
1767
|
output: t.output,
|
|
1744
1768
|
rowPadding: g.length + O.length
|
|
@@ -1756,24 +1780,24 @@ ${s}${r}`;
|
|
|
1756
1780
|
return n.prompt();
|
|
1757
1781
|
};
|
|
1758
1782
|
|
|
1759
|
-
const
|
|
1783
|
+
const K = (/* unused pure expression or super */ null && ([
|
|
1760
1784
|
S_CORNER_TOP_LEFT,
|
|
1761
1785
|
S_CORNER_TOP_RIGHT,
|
|
1762
1786
|
S_CORNER_BOTTOM_LEFT,
|
|
1763
1787
|
S_CORNER_BOTTOM_RIGHT
|
|
1764
|
-
])),
|
|
1788
|
+
])), Q = (/* unused pure expression or super */ null && ([S_BAR_START, S_BAR_START_RIGHT, S_BAR_END, S_BAR_END_RIGHT]));
|
|
1765
1789
|
function A$1(n, e, t, o) {
|
|
1766
1790
|
let i = t, f = t;
|
|
1767
1791
|
return o === "center" ? i = Math.floor((e - n) / 2) : o === "right" && (i = e - n - t), f = e - i - n, [i, f];
|
|
1768
1792
|
}
|
|
1769
|
-
const
|
|
1793
|
+
const dist_U = (n) => n;
|
|
1770
1794
|
const box = (n = "", e = "", t) => {
|
|
1771
|
-
const o = t?.output ?? process.stdout, i = getColumns(o), R = 1 * 2, u = t?.titlePadding ?? 1, h = t?.contentPadding ?? 2, w = t?.width === void 0 || t.width === "auto" ? 1 : Math.min(1, t.width), m = t?.withGuide ?? settings.withGuide ? `${S_BAR} ` : "", b = t?.formatBorder ??
|
|
1772
|
-
let r = Math.floor(i * w) -
|
|
1795
|
+
const o = t?.output ?? process.stdout, i = getColumns(o), R = 1 * 2, u = t?.titlePadding ?? 1, h = t?.contentPadding ?? 2, w = t?.width === void 0 || t.width === "auto" ? 1 : Math.min(1, t.width), m = t?.withGuide ?? settings.withGuide ? `${styleText("gray", S_BAR)} ` : "", b = t?.formatBorder ?? dist_U, a = (t?.rounded ? K : Q).map(b), _ = b(S_BAR_H), p = b(S_BAR), x = l(m), B = l(e), y = i - x;
|
|
1796
|
+
let r = Math.floor(i * w) - x;
|
|
1773
1797
|
if (t?.width === "auto") {
|
|
1774
1798
|
const c = n.split(`
|
|
1775
1799
|
`);
|
|
1776
|
-
let s =
|
|
1800
|
+
let s = B + u * 2;
|
|
1777
1801
|
for (const G of c) {
|
|
1778
1802
|
const P = l(G) + h * 2;
|
|
1779
1803
|
P > s && (s = P);
|
|
@@ -1781,9 +1805,9 @@ const box = (n = "", e = "", t) => {
|
|
|
1781
1805
|
const g = s + R;
|
|
1782
1806
|
g < r && (r = g);
|
|
1783
1807
|
}
|
|
1784
|
-
r % 2 !== 0 && (r <
|
|
1785
|
-
const d = r - R,
|
|
1786
|
-
l(
|
|
1808
|
+
r % 2 !== 0 && (r < y ? r++ : r--);
|
|
1809
|
+
const d = r - R, T = d - u * 2, S = B > T ? `${e.slice(0, T - 3)}...` : e, [O, W] = A$1(
|
|
1810
|
+
l(S),
|
|
1787
1811
|
d,
|
|
1788
1812
|
u,
|
|
1789
1813
|
t?.titleAlign
|
|
@@ -1792,7 +1816,7 @@ const box = (n = "", e = "", t) => {
|
|
|
1792
1816
|
trim: false
|
|
1793
1817
|
});
|
|
1794
1818
|
o.write(
|
|
1795
|
-
`${m}${a[0]}${_.repeat(
|
|
1819
|
+
`${m}${a[0]}${_.repeat(O)}${S}${_.repeat(W)}${a[1]}
|
|
1796
1820
|
`
|
|
1797
1821
|
);
|
|
1798
1822
|
const E = L.split(`
|
|
@@ -1805,7 +1829,7 @@ const box = (n = "", e = "", t) => {
|
|
|
1805
1829
|
t?.contentAlign
|
|
1806
1830
|
);
|
|
1807
1831
|
o.write(
|
|
1808
|
-
`${m}${
|
|
1832
|
+
`${m}${p}${" ".repeat(s)}${c}${" ".repeat(g)}${p}
|
|
1809
1833
|
`
|
|
1810
1834
|
);
|
|
1811
1835
|
}
|
|
@@ -1813,39 +1837,39 @@ const box = (n = "", e = "", t) => {
|
|
|
1813
1837
|
`);
|
|
1814
1838
|
};
|
|
1815
1839
|
|
|
1816
|
-
const dist_confirm = (
|
|
1817
|
-
const a =
|
|
1840
|
+
const dist_confirm = (e) => {
|
|
1841
|
+
const a = e.active ?? "Yes", o = e.inactive ?? "No";
|
|
1818
1842
|
return new dist_r({
|
|
1819
1843
|
active: a,
|
|
1820
|
-
inactive:
|
|
1821
|
-
signal:
|
|
1822
|
-
input:
|
|
1823
|
-
output:
|
|
1824
|
-
initialValue:
|
|
1844
|
+
inactive: o,
|
|
1845
|
+
signal: e.signal,
|
|
1846
|
+
input: e.input,
|
|
1847
|
+
output: e.output,
|
|
1848
|
+
initialValue: e.initialValue ?? true,
|
|
1825
1849
|
render() {
|
|
1826
|
-
const
|
|
1827
|
-
|
|
1828
|
-
|
|
1850
|
+
const i = e.withGuide ?? dist_settings.withGuide, u = `${symbol(this.state)} `, l = i ? `${external_node_util_styleText("gray", S_BAR)} ` : "", f = dist_wrapTextWithPrefix(
|
|
1851
|
+
e.output,
|
|
1852
|
+
e.message,
|
|
1829
1853
|
l,
|
|
1830
1854
|
u
|
|
1831
|
-
),
|
|
1855
|
+
), s = `${i ? `${external_node_util_styleText("gray", S_BAR)}
|
|
1832
1856
|
` : ""}${f}
|
|
1833
|
-
`, c = this.value ? a :
|
|
1857
|
+
`, c = this.value ? a : o;
|
|
1834
1858
|
switch (this.state) {
|
|
1835
1859
|
case "submit": {
|
|
1836
|
-
const r =
|
|
1837
|
-
return `${
|
|
1860
|
+
const r = i ? `${external_node_util_styleText("gray", S_BAR)} ` : "";
|
|
1861
|
+
return `${s}${r}${external_node_util_styleText("dim", c)}`;
|
|
1838
1862
|
}
|
|
1839
1863
|
case "cancel": {
|
|
1840
|
-
const r =
|
|
1841
|
-
return `${
|
|
1864
|
+
const r = i ? `${external_node_util_styleText("gray", S_BAR)} ` : "";
|
|
1865
|
+
return `${s}${r}${external_node_util_styleText(["strikethrough", "dim"], c)}${i ? `
|
|
1842
1866
|
${external_node_util_styleText("gray", S_BAR)}` : ""}`;
|
|
1843
1867
|
}
|
|
1844
1868
|
default: {
|
|
1845
|
-
const r =
|
|
1846
|
-
return `${
|
|
1869
|
+
const r = i ? `${external_node_util_styleText("cyan", S_BAR)} ` : "", g = i ? external_node_util_styleText("cyan", S_BAR_END) : "";
|
|
1870
|
+
return `${s}${r}${this.value ? `${external_node_util_styleText("green", S_RADIO_ACTIVE)} ${a}` : `${external_node_util_styleText("dim", S_RADIO_INACTIVE)} ${external_node_util_styleText("dim", a)}`}${e.vertical ? i ? `
|
|
1847
1871
|
${external_node_util_styleText("cyan", S_BAR)} ` : `
|
|
1848
|
-
` : ` ${external_node_util_styleText("dim", "/")} `}${this.value ? `${external_node_util_styleText("dim", S_RADIO_INACTIVE)} ${external_node_util_styleText("dim",
|
|
1872
|
+
` : ` ${external_node_util_styleText("dim", "/")} `}${this.value ? `${external_node_util_styleText("dim", S_RADIO_INACTIVE)} ${external_node_util_styleText("dim", o)}` : `${external_node_util_styleText("green", S_RADIO_ACTIVE)} ${o}`}
|
|
1849
1873
|
${g}
|
|
1850
1874
|
`;
|
|
1851
1875
|
}
|
|
@@ -1947,7 +1971,7 @@ const multiselect = (i) => {
|
|
|
1947
1971
|
const u = (t, a) => {
|
|
1948
1972
|
const r = t.label ?? String(t.value);
|
|
1949
1973
|
return a === "disabled" ? `${styleText("gray", S_CHECKBOX_INACTIVE)} ${prompts_dist_m(r, (o) => styleText(["strikethrough", "gray"], o))}${t.hint ? ` ${styleText("dim", `(${t.hint ?? "disabled"})`)}` : ""}` : a === "active" ? `${styleText("cyan", S_CHECKBOX_ACTIVE)} ${r}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "selected" ? `${styleText("green", S_CHECKBOX_SELECTED)} ${prompts_dist_m(r, (o) => styleText("dim", o))}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "cancelled" ? `${prompts_dist_m(r, (o) => styleText(["strikethrough", "dim"], o))}` : a === "active-selected" ? `${styleText("green", S_CHECKBOX_SELECTED)} ${r}${t.hint ? ` ${styleText("dim", `(${t.hint})`)}` : ""}` : a === "submitted" ? `${prompts_dist_m(r, (o) => styleText("dim", o))}` : `${styleText("dim", S_CHECKBOX_INACTIVE)} ${prompts_dist_m(r, (o) => styleText("dim", o))}`;
|
|
1950
|
-
}, d = i.required ?? true,
|
|
1974
|
+
}, d = i.required ?? true, x = i.showInstructions ?? true;
|
|
1951
1975
|
return new MultiSelectPrompt({
|
|
1952
1976
|
options: i.options,
|
|
1953
1977
|
signal: i.signal,
|
|
@@ -1978,7 +2002,7 @@ ${styleText(
|
|
|
1978
2002
|
`${symbol(this.state)} `
|
|
1979
2003
|
), r = `${t ? `${styleText("gray", S_BAR)}
|
|
1980
2004
|
` : ""}${a}
|
|
1981
|
-
`, o = this.value ?? [],
|
|
2005
|
+
`, o = this.value ?? [], g = (n, l) => {
|
|
1982
2006
|
if (n.disabled)
|
|
1983
2007
|
return u(n, "disabled");
|
|
1984
2008
|
const s = o.includes(n.value);
|
|
@@ -2008,7 +2032,7 @@ ${styleText("gray", S_BAR)}` : ""}`;
|
|
|
2008
2032
|
case "error": {
|
|
2009
2033
|
const n = t ? `${styleText("yellow", S_BAR)} ` : "", l = this.error.split(`
|
|
2010
2034
|
`).map(
|
|
2011
|
-
($,
|
|
2035
|
+
($, v) => v === 0 ? `${t ? `${styleText("yellow", S_BAR_END)} ` : ""}${styleText("yellow", $)}` : ` ${$}`
|
|
2012
2036
|
).join(`
|
|
2013
2037
|
`), s = r.split(`
|
|
2014
2038
|
`).length, h = l.split(`
|
|
@@ -2020,7 +2044,7 @@ ${styleText("gray", S_BAR)}` : ""}`;
|
|
|
2020
2044
|
maxItems: i.maxItems,
|
|
2021
2045
|
columnPadding: n.length,
|
|
2022
2046
|
rowPadding: s + h,
|
|
2023
|
-
style:
|
|
2047
|
+
style: g
|
|
2024
2048
|
}).join(`
|
|
2025
2049
|
${n}`)}
|
|
2026
2050
|
${l}
|
|
@@ -2028,7 +2052,7 @@ ${l}
|
|
|
2028
2052
|
}
|
|
2029
2053
|
default: {
|
|
2030
2054
|
const n = t ? `${styleText("cyan", S_BAR)} ` : "", l = r.split(`
|
|
2031
|
-
`).length, s =
|
|
2055
|
+
`).length, s = x ? formatInstructionFooter(MULTISELECT_INSTRUCTIONS, t) : t ? [styleText("cyan", S_BAR_END)] : [], h = s.join(`
|
|
2032
2056
|
`), $ = s.length + 1;
|
|
2033
2057
|
return `${r}${n}${limitOptions({
|
|
2034
2058
|
output: i.output,
|
|
@@ -2037,7 +2061,7 @@ ${l}
|
|
|
2037
2061
|
maxItems: i.maxItems,
|
|
2038
2062
|
columnPadding: n.length,
|
|
2039
2063
|
rowPadding: l + $,
|
|
2040
|
-
style:
|
|
2064
|
+
style: g
|
|
2041
2065
|
}).join(`
|
|
2042
2066
|
${n}`)}
|
|
2043
2067
|
${h}
|
|
@@ -2049,10 +2073,10 @@ ${h}
|
|
|
2049
2073
|
};
|
|
2050
2074
|
|
|
2051
2075
|
const groupMultiselect = (o) => {
|
|
2052
|
-
const { selectableGroups:
|
|
2053
|
-
const a = n.label ?? String(n.value), t = typeof n.group == "string", s = t && (
|
|
2076
|
+
const { selectableGroups: f = true, groupSpacing: x = 0 } = o, d = (n, l, p = []) => {
|
|
2077
|
+
const a = n.label ?? String(n.value), t = typeof n.group == "string", s = t && (p[p.indexOf(n) + 1] ?? { group: true }), u = t && s && s.group === true;
|
|
2054
2078
|
let r = "", c = "";
|
|
2055
|
-
t && (
|
|
2079
|
+
t && (f ? (r = u ? `${S_BAR_END} ` : `${S_BAR} `, c = u ? " " : `${S_BAR} `) : r = " ");
|
|
2056
2080
|
let i = "";
|
|
2057
2081
|
if (x > 0 && !t && (i = `
|
|
2058
2082
|
`.repeat(x)), l === "active")
|
|
@@ -2070,7 +2094,7 @@ const groupMultiselect = (o) => {
|
|
|
2070
2094
|
`${i}${r} `,
|
|
2071
2095
|
`${i}${r}${styleText("cyan", S_CHECKBOX_ACTIVE)} `,
|
|
2072
2096
|
`${i}${c} `,
|
|
2073
|
-
(
|
|
2097
|
+
(m) => styleText("dim", m)
|
|
2074
2098
|
);
|
|
2075
2099
|
if (l === "group-active-selected")
|
|
2076
2100
|
return wrapTextWithPrefix(
|
|
@@ -2079,17 +2103,17 @@ const groupMultiselect = (o) => {
|
|
|
2079
2103
|
`${i}${r} `,
|
|
2080
2104
|
`${i}${r}${styleText("green", S_CHECKBOX_SELECTED)} `,
|
|
2081
2105
|
`${i}${c} `,
|
|
2082
|
-
(
|
|
2106
|
+
(m) => styleText("dim", m)
|
|
2083
2107
|
);
|
|
2084
2108
|
if (l === "selected") {
|
|
2085
|
-
const
|
|
2109
|
+
const m = t || f ? styleText("green", S_CHECKBOX_SELECTED) : "";
|
|
2086
2110
|
return wrapTextWithPrefix(
|
|
2087
2111
|
o.output,
|
|
2088
2112
|
`${a}${n.hint ? ` (${n.hint})` : ""}`,
|
|
2089
2113
|
`${i}${styleText("dim", r)} `,
|
|
2090
|
-
`${i}${styleText("dim", r)}${
|
|
2114
|
+
`${i}${styleText("dim", r)}${m} `,
|
|
2091
2115
|
`${i}${styleText("dim", c)} `,
|
|
2092
|
-
(
|
|
2116
|
+
(I) => styleText("dim", I)
|
|
2093
2117
|
);
|
|
2094
2118
|
}
|
|
2095
2119
|
if (l === "cancelled")
|
|
@@ -2104,16 +2128,16 @@ const groupMultiselect = (o) => {
|
|
|
2104
2128
|
);
|
|
2105
2129
|
if (l === "submitted")
|
|
2106
2130
|
return `${styleText("dim", a)}`;
|
|
2107
|
-
const
|
|
2131
|
+
const h = t || f ? styleText("dim", S_CHECKBOX_INACTIVE) : "";
|
|
2108
2132
|
return wrapTextWithPrefix(
|
|
2109
2133
|
o.output,
|
|
2110
2134
|
a,
|
|
2111
2135
|
`${i}${styleText("dim", r)} `,
|
|
2112
|
-
`${i}${styleText("dim", r)}${
|
|
2136
|
+
`${i}${styleText("dim", r)}${h} `,
|
|
2113
2137
|
`${i}${styleText("dim", c)} `,
|
|
2114
|
-
(
|
|
2138
|
+
(m) => styleText("dim", m)
|
|
2115
2139
|
);
|
|
2116
|
-
}, y = o.required ?? true,
|
|
2140
|
+
}, y = o.required ?? true, S = o.showInstructions ?? true;
|
|
2117
2141
|
return new GroupMultiSelectPrompt({
|
|
2118
2142
|
options: o.options,
|
|
2119
2143
|
signal: o.signal,
|
|
@@ -2122,7 +2146,7 @@ const groupMultiselect = (o) => {
|
|
|
2122
2146
|
initialValues: o.initialValues,
|
|
2123
2147
|
required: y,
|
|
2124
2148
|
cursorAt: o.cursorAt,
|
|
2125
|
-
selectableGroups:
|
|
2149
|
+
selectableGroups: f,
|
|
2126
2150
|
validate(n) {
|
|
2127
2151
|
if (y && (n === void 0 || n.length === 0))
|
|
2128
2152
|
return `Please select at least one option.
|
|
@@ -2140,24 +2164,24 @@ ${styleText(
|
|
|
2140
2164
|
render() {
|
|
2141
2165
|
const n = o.withGuide ?? settings.withGuide, l = `${n ? `${styleText("gray", S_BAR)}
|
|
2142
2166
|
` : ""}${symbol(this.state)} ${o.message}
|
|
2143
|
-
`,
|
|
2144
|
-
const u = this.options, r =
|
|
2145
|
-
return !s && typeof t.group == "string" && this.options[this.cursor]?.value === t.group ?
|
|
2167
|
+
`, p = this.value ?? [], a = (t, s) => {
|
|
2168
|
+
const u = this.options, r = p.includes(t.value) || t.group === true && this.isGroupSelected(`${t.value}`);
|
|
2169
|
+
return !s && typeof t.group == "string" && this.options[this.cursor]?.value === t.group ? d(t, r ? "group-active-selected" : "group-active", u) : s && r ? d(t, "active-selected", u) : r ? d(t, "selected", u) : d(t, s ? "active" : "inactive", u);
|
|
2146
2170
|
};
|
|
2147
2171
|
switch (this.state) {
|
|
2148
2172
|
case "submit": {
|
|
2149
|
-
const t = this.options.filter(({ value: u }) =>
|
|
2173
|
+
const t = this.options.filter(({ value: u }) => p.includes(u)).map((u) => d(u, "submitted")), s = t.length === 0 ? "" : ` ${t.join(styleText("dim", ", "))}`;
|
|
2150
2174
|
return `${l}${n ? styleText("gray", S_BAR) : ""}${s}`;
|
|
2151
2175
|
}
|
|
2152
2176
|
case "cancel": {
|
|
2153
|
-
const t = this.options.filter(({ value: s }) =>
|
|
2177
|
+
const t = this.options.filter(({ value: s }) => p.includes(s)).map((s) => d(s, "cancelled")).join(styleText("dim", ", "));
|
|
2154
2178
|
return `${l}${n ? `${styleText("gray", S_BAR)} ` : ""}${t.trim() ? `${t}${n ? `
|
|
2155
2179
|
${styleText("gray", S_BAR)}` : ""}` : ""}`;
|
|
2156
2180
|
}
|
|
2157
2181
|
case "error": {
|
|
2158
2182
|
const t = n ? `${styleText("yellow", S_BAR)} ` : "", s = this.error.split(`
|
|
2159
2183
|
`).map(
|
|
2160
|
-
(i,
|
|
2184
|
+
(i, h) => h === 0 ? `${n ? `${styleText("yellow", S_BAR_END)} ` : ""}${styleText("yellow", i)}` : ` ${i}`
|
|
2161
2185
|
).join(`
|
|
2162
2186
|
`), u = l.split(`
|
|
2163
2187
|
`).length, r = s.split(`
|
|
@@ -2177,7 +2201,7 @@ ${s}
|
|
|
2177
2201
|
}
|
|
2178
2202
|
default: {
|
|
2179
2203
|
const t = n ? `${styleText("cyan", S_BAR)} ` : "", s = l.split(`
|
|
2180
|
-
`).length, u =
|
|
2204
|
+
`).length, u = S ? formatInstructionFooter(MULTISELECT_INSTRUCTIONS, n) : n ? [styleText("cyan", S_BAR_END)] : [], r = u.join(`
|
|
2181
2205
|
`), c = u.length + 1, i = limitOptions({
|
|
2182
2206
|
output: o.output,
|
|
2183
2207
|
options: this.options,
|
|
@@ -2270,16 +2294,16 @@ const multiline = (e) => new MultiLinePrompt({
|
|
|
2270
2294
|
render() {
|
|
2271
2295
|
const i = e?.withGuide ?? settings.withGuide, o = `${`${i ? `${styleText("gray", S_BAR)}
|
|
2272
2296
|
` : ""}${symbol(this.state)} `}${e.message}
|
|
2273
|
-
`,
|
|
2297
|
+
`, h = e.placeholder && e.placeholder.length > 0 ? (
|
|
2274
2298
|
// biome-ignore lint/style/noNonNullAssertion: guarded by placeholder.length > 0
|
|
2275
2299
|
styleText("inverse", e.placeholder[0]) + styleText("dim", e.placeholder.slice(1))
|
|
2276
|
-
) : styleText(["inverse", "hidden"], "_"), a = this.userInput ? this.userInputWithCursor :
|
|
2300
|
+
) : styleText(["inverse", "hidden"], "_"), a = this.userInput ? this.userInputWithCursor : h, l = this.value ?? "", d = e.showSubmit ? `
|
|
2277
2301
|
${styleText(this.focused === "submit" ? "cyan" : "dim", "[ submit ]")}` : "";
|
|
2278
2302
|
switch (this.state) {
|
|
2279
2303
|
case "error": {
|
|
2280
2304
|
const n = `${styleText("yellow", S_BAR)} `, r = i ? wrapTextWithPrefix(e.output, a, n, void 0) : a, u = styleText("yellow", S_BAR_END);
|
|
2281
2305
|
return `${o}${r}
|
|
2282
|
-
${u} ${styleText("yellow", this.error)}${
|
|
2306
|
+
${u} ${styleText("yellow", this.error)}${d}
|
|
2283
2307
|
`;
|
|
2284
2308
|
}
|
|
2285
2309
|
case "submit": {
|
|
@@ -2307,7 +2331,7 @@ ${u} ${styleText("yellow", this.error)}${c}
|
|
|
2307
2331
|
default: {
|
|
2308
2332
|
const n = i ? `${styleText("cyan", S_BAR)} ` : "", r = i ? styleText("cyan", S_BAR_END) : "", u = i ? wrapTextWithPrefix(e.output, a, n) : a;
|
|
2309
2333
|
return `${o}${u}
|
|
2310
|
-
${r}${
|
|
2334
|
+
${r}${d}
|
|
2311
2335
|
`;
|
|
2312
2336
|
}
|
|
2313
2337
|
}
|
|
@@ -2346,36 +2370,36 @@ ${external_node_util_styleText("gray", l$1 + S_BAR_H.repeat(t + 2) + S_CORNER_BO
|
|
|
2346
2370
|
);
|
|
2347
2371
|
};
|
|
2348
2372
|
|
|
2349
|
-
const dist_password = (
|
|
2350
|
-
validate:
|
|
2351
|
-
mask:
|
|
2352
|
-
signal:
|
|
2353
|
-
input:
|
|
2354
|
-
output:
|
|
2373
|
+
const dist_password = (e) => new PasswordPrompt({
|
|
2374
|
+
validate: e.validate,
|
|
2375
|
+
mask: e.mask ?? S_PASSWORD_MASK,
|
|
2376
|
+
signal: e.signal,
|
|
2377
|
+
input: e.input,
|
|
2378
|
+
output: e.output,
|
|
2355
2379
|
render() {
|
|
2356
|
-
const
|
|
2357
|
-
` : ""}${symbol(this.state)} ${
|
|
2358
|
-
`,
|
|
2380
|
+
const r = e.withGuide ?? settings.withGuide, o = `${r ? `${styleText("gray", S_BAR)}
|
|
2381
|
+
` : ""}${symbol(this.state)} ${e.message}
|
|
2382
|
+
`, m = this.userInputWithCursor, i = this.masked;
|
|
2359
2383
|
switch (this.state) {
|
|
2360
2384
|
case "error": {
|
|
2361
|
-
const s =
|
|
2362
|
-
return
|
|
2363
|
-
${s}${
|
|
2385
|
+
const s = r ? `${styleText("yellow", S_BAR)} ` : "", n = r ? `${styleText("yellow", S_BAR_END)} ` : "", d = i ?? "";
|
|
2386
|
+
return e.clearOnError && this.clear(), `${o.trim()}
|
|
2387
|
+
${s}${d}
|
|
2364
2388
|
${n}${styleText("yellow", this.error)}
|
|
2365
2389
|
`;
|
|
2366
2390
|
}
|
|
2367
2391
|
case "submit": {
|
|
2368
|
-
const s =
|
|
2392
|
+
const s = r ? `${styleText("gray", S_BAR)} ` : "", n = i ? styleText("dim", i) : "";
|
|
2369
2393
|
return `${o}${s}${n}`;
|
|
2370
2394
|
}
|
|
2371
2395
|
case "cancel": {
|
|
2372
|
-
const s =
|
|
2373
|
-
return `${o}${s}${n}${i &&
|
|
2396
|
+
const s = r ? `${styleText("gray", S_BAR)} ` : "", n = i ? styleText(["strikethrough", "dim"], i) : "";
|
|
2397
|
+
return `${o}${s}${n}${i && r ? `
|
|
2374
2398
|
${styleText("gray", S_BAR)}` : ""}`;
|
|
2375
2399
|
}
|
|
2376
2400
|
default: {
|
|
2377
|
-
const s =
|
|
2378
|
-
return `${o}${s}${
|
|
2401
|
+
const s = r ? `${styleText("cyan", S_BAR)} ` : "", n = r ? styleText("cyan", S_BAR_END) : "";
|
|
2402
|
+
return `${o}${s}${m}
|
|
2379
2403
|
${n}
|
|
2380
2404
|
`;
|
|
2381
2405
|
}
|
|
@@ -2389,6 +2413,7 @@ const dist_path = (e) => {
|
|
|
2389
2413
|
...e,
|
|
2390
2414
|
initialUserInput: e.initialValue ?? e.root ?? process.cwd(),
|
|
2391
2415
|
maxItems: 5,
|
|
2416
|
+
completeOnTab: true,
|
|
2392
2417
|
validate(t) {
|
|
2393
2418
|
if (!Array.isArray(t)) {
|
|
2394
2419
|
if (!t)
|
|
@@ -2612,19 +2637,19 @@ ${external_node_util_styleText("gray", S_BAR)}` : ""}`;
|
|
|
2612
2637
|
}
|
|
2613
2638
|
default: {
|
|
2614
2639
|
const r = n ? `${external_node_util_styleText("cyan", S_BAR)} ` : "", a = u.split(`
|
|
2615
|
-
`).length, p = d ? formatInstructionFooter(SELECT_INSTRUCTIONS, n) : n ? [external_node_util_styleText("cyan", S_BAR_END)] : [],
|
|
2616
|
-
`),
|
|
2640
|
+
`).length, p = d ? formatInstructionFooter(SELECT_INSTRUCTIONS, n) : n ? [external_node_util_styleText("cyan", S_BAR_END)] : [], f = p.join(`
|
|
2641
|
+
`), b = p.length + 1;
|
|
2617
2642
|
return `${u}${r}${limitOptions({
|
|
2618
2643
|
output: t.output,
|
|
2619
2644
|
cursor: this.cursor,
|
|
2620
2645
|
options: this.options,
|
|
2621
2646
|
maxItems: t.maxItems,
|
|
2622
2647
|
columnPadding: r.length,
|
|
2623
|
-
rowPadding: a +
|
|
2648
|
+
rowPadding: a + b,
|
|
2624
2649
|
style: (g, x) => o(g, g.disabled ? "disabled" : x ? "active" : "inactive")
|
|
2625
2650
|
}).join(`
|
|
2626
2651
|
${r}`)}
|
|
2627
|
-
${
|
|
2652
|
+
${f}
|
|
2628
2653
|
`;
|
|
2629
2654
|
}
|
|
2630
2655
|
}
|
|
@@ -2633,7 +2658,7 @@ ${b}
|
|
|
2633
2658
|
};
|
|
2634
2659
|
|
|
2635
2660
|
const selectKey = (t) => {
|
|
2636
|
-
const
|
|
2661
|
+
const c = (e, a = "inactive") => {
|
|
2637
2662
|
if (e === void 0)
|
|
2638
2663
|
return "";
|
|
2639
2664
|
const n = e.label ?? String(e.value);
|
|
@@ -2652,33 +2677,33 @@ const selectKey = (t) => {
|
|
|
2652
2677
|
`;
|
|
2653
2678
|
switch (this.state) {
|
|
2654
2679
|
case "submit": {
|
|
2655
|
-
const n = e ? `${styleText("gray", S_BAR)} ` : "",
|
|
2680
|
+
const n = e ? `${styleText("gray", S_BAR)} ` : "", r = this.options.find((u) => u.value === this.value) ?? t.options[0], l = wrapTextWithPrefix(
|
|
2656
2681
|
t.output,
|
|
2657
|
-
|
|
2682
|
+
c(r, "selected"),
|
|
2658
2683
|
n
|
|
2659
2684
|
);
|
|
2660
|
-
return `${a}${
|
|
2685
|
+
return `${a}${l}`;
|
|
2661
2686
|
}
|
|
2662
2687
|
case "cancel": {
|
|
2663
|
-
const n = e ? `${styleText("gray", S_BAR)} ` : "",
|
|
2688
|
+
const n = e ? `${styleText("gray", S_BAR)} ` : "", r = wrapTextWithPrefix(
|
|
2664
2689
|
t.output,
|
|
2665
|
-
|
|
2690
|
+
c(this.options[0], "cancelled"),
|
|
2666
2691
|
n
|
|
2667
2692
|
);
|
|
2668
|
-
return `${a}${
|
|
2693
|
+
return `${a}${r}${e ? `
|
|
2669
2694
|
${styleText("gray", S_BAR)}` : ""}`;
|
|
2670
2695
|
}
|
|
2671
2696
|
default: {
|
|
2672
|
-
const n = e ? `${styleText("cyan", S_BAR)} ` : "",
|
|
2697
|
+
const n = e ? `${styleText("cyan", S_BAR)} ` : "", r = e ? styleText("cyan", S_BAR_END) : "", l = this.options.map(
|
|
2673
2698
|
(u, d) => wrapTextWithPrefix(
|
|
2674
2699
|
t.output,
|
|
2675
|
-
|
|
2700
|
+
c(u, d === this.cursor ? "active" : "inactive"),
|
|
2676
2701
|
n
|
|
2677
2702
|
)
|
|
2678
2703
|
).join(`
|
|
2679
2704
|
`);
|
|
2680
|
-
return `${a}${
|
|
2681
|
-
${
|
|
2705
|
+
return `${a}${l}
|
|
2706
|
+
${r}
|
|
2682
2707
|
`;
|
|
2683
2708
|
}
|
|
2684
2709
|
}
|
|
@@ -2841,42 +2866,48 @@ ${e.value}` : e.value;
|
|
|
2841
2866
|
};
|
|
2842
2867
|
};
|
|
2843
2868
|
|
|
2844
|
-
const dist_text = (
|
|
2845
|
-
validate:
|
|
2846
|
-
placeholder:
|
|
2847
|
-
defaultValue:
|
|
2848
|
-
initialValue:
|
|
2849
|
-
output:
|
|
2850
|
-
signal:
|
|
2851
|
-
input:
|
|
2869
|
+
const dist_text = (t) => new dist_n({
|
|
2870
|
+
validate: t.validate,
|
|
2871
|
+
placeholder: t.placeholder,
|
|
2872
|
+
defaultValue: t.defaultValue,
|
|
2873
|
+
initialValue: t.initialValue,
|
|
2874
|
+
output: t.output,
|
|
2875
|
+
signal: t.signal,
|
|
2876
|
+
input: t.input,
|
|
2852
2877
|
render() {
|
|
2853
|
-
const
|
|
2854
|
-
` : ""}${symbol(this.state)} `}${
|
|
2855
|
-
`,
|
|
2878
|
+
const r = t?.withGuide ?? dist_settings.withGuide, l = `${`${r ? `${external_node_util_styleText("gray", S_BAR)}
|
|
2879
|
+
` : ""}${symbol(this.state)} `}${t.message}
|
|
2880
|
+
`, d = t.placeholder && t.placeholder.length > 0 ? (
|
|
2856
2881
|
// biome-ignore lint/style/noNonNullAssertion: guarded by placeholder.length > 0
|
|
2857
|
-
external_node_util_styleText("inverse",
|
|
2858
|
-
) : external_node_util_styleText(["inverse", "hidden"], "_"), o = this.userInput ? this.userInputWithCursor :
|
|
2882
|
+
external_node_util_styleText("inverse", t.placeholder[0]) + external_node_util_styleText("dim", t.placeholder.slice(1))
|
|
2883
|
+
) : external_node_util_styleText(["inverse", "hidden"], "_"), o = this.userInput ? this.userInputWithCursor : d, s = this.value ?? "";
|
|
2859
2884
|
switch (this.state) {
|
|
2885
|
+
case "validating": {
|
|
2886
|
+
const n = r ? `${external_node_util_styleText("cyan", S_BAR)} ` : "", i = r ? external_node_util_styleText("cyan", S_BAR_END) : "", c = external_node_util_styleText("dim", o), $ = external_node_util_styleText("dim", "Validating...");
|
|
2887
|
+
return `${l}${n}${c}
|
|
2888
|
+
${i} ${$}
|
|
2889
|
+
`;
|
|
2890
|
+
}
|
|
2860
2891
|
case "error": {
|
|
2861
|
-
const n = this.error ? ` ${external_node_util_styleText("yellow", this.error)}` : "",
|
|
2862
|
-
return `${
|
|
2863
|
-
${
|
|
2864
|
-
${
|
|
2892
|
+
const n = this.error ? ` ${external_node_util_styleText("yellow", this.error)}` : "", i = r ? `${external_node_util_styleText("yellow", S_BAR)} ` : "", c = r ? external_node_util_styleText("yellow", S_BAR_END) : "";
|
|
2893
|
+
return `${l.trim()}
|
|
2894
|
+
${i}${o}
|
|
2895
|
+
${c}${n}
|
|
2865
2896
|
`;
|
|
2866
2897
|
}
|
|
2867
2898
|
case "submit": {
|
|
2868
|
-
const n =
|
|
2869
|
-
return `${
|
|
2899
|
+
const n = s ? `${r ? " " : ""}${external_node_util_styleText("dim", s)}` : "", i = r ? external_node_util_styleText("gray", S_BAR) : "";
|
|
2900
|
+
return `${l}${i}${n}`;
|
|
2870
2901
|
}
|
|
2871
2902
|
case "cancel": {
|
|
2872
|
-
const n =
|
|
2873
|
-
return `${
|
|
2874
|
-
${
|
|
2903
|
+
const n = s ? ` ${external_node_util_styleText(["strikethrough", "dim"], s)}` : "", i = r ? external_node_util_styleText("gray", S_BAR) : "";
|
|
2904
|
+
return `${l}${i}${n}${s.trim() ? `
|
|
2905
|
+
${i}` : ""}`;
|
|
2875
2906
|
}
|
|
2876
2907
|
default: {
|
|
2877
|
-
const n =
|
|
2878
|
-
return `${
|
|
2879
|
-
${
|
|
2908
|
+
const n = r ? `${external_node_util_styleText("cyan", S_BAR)} ` : "", i = r ? external_node_util_styleText("cyan", S_BAR_END) : "";
|
|
2909
|
+
return `${l}${n}${o}
|
|
2910
|
+
${i}
|
|
2880
2911
|
`;
|
|
2881
2912
|
}
|
|
2882
2913
|
}
|
|
@@ -2941,7 +2972,7 @@ function hasGit(cwd) {
|
|
|
2941
2972
|
|
|
2942
2973
|
;// CONCATENATED MODULE: ./src/generated/framework.ts
|
|
2943
2974
|
// GENERATED by scripts/codegen.mjs from packages/core — do not edit. Run `pnpm --filter @rshono/create codegen`.
|
|
2944
|
-
/** The framework release a scaffolded app is pinned to: this package and rshono ship together. */ const RSHONO_VERSION = '1.0.0-rc.
|
|
2975
|
+
/** The framework release a scaffolded app is pinned to: this package and rshono ship together. */ const RSHONO_VERSION = '1.0.0-rc.21';
|
|
2945
2976
|
/**
|
|
2946
2977
|
* The Node range rshono declares, restated in every scaffolded app's `engines` — so a CI image or a contributor
|
|
2947
2978
|
* on an older Node hears it from their package manager rather than from a stack trace.
|
|
@@ -2950,11 +2981,11 @@ function hasGit(cwd) {
|
|
|
2950
2981
|
* The dependency versions rshono is tested against, copied from its own manifest. Exact where it is exact:
|
|
2951
2982
|
* React's RSC internals are coupled across builds, and a generated app has no workspace overrides.
|
|
2952
2983
|
*/ const FRAMEWORK_DEPS = {
|
|
2953
|
-
hono: '^4.13.
|
|
2984
|
+
hono: '^4.13.7',
|
|
2954
2985
|
react: '19.2.8',
|
|
2955
2986
|
'react-dom': '19.2.8',
|
|
2956
2987
|
typescript: '^7.0.2',
|
|
2957
|
-
'@types/node': '^26.
|
|
2988
|
+
'@types/node': '^26.5.1',
|
|
2958
2989
|
'@types/react': '^19.2.18'
|
|
2959
2990
|
};
|
|
2960
2991
|
/** Every `deploy` target the installed framework knows, with the command that ships what it built. */ const DEPLOY_TARGETS = [
|
|
@@ -3927,7 +3958,7 @@ function fail(message) {
|
|
|
3927
3958
|
async function main() {
|
|
3928
3959
|
const { values, positionals } = parse();
|
|
3929
3960
|
if (values.help) return console.log(HELP);
|
|
3930
|
-
if (values.version) return console.log("1.0.0-rc.
|
|
3961
|
+
if (values.version) return console.log("1.0.0-rc.21");
|
|
3931
3962
|
// A pipe, a CI job or an agent gets the defaults rather than a prompt nothing can answer. Both streams have to
|
|
3932
3963
|
// be a terminal: the prompts draw on stdout but read from stdin.
|
|
3933
3964
|
const interactive = Boolean(process.stdin.isTTY && process.stdout.isTTY) && !values.yes;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rshono/create",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.21",
|
|
4
4
|
"description": "Scaffold a new rshono app — Hono + Rspack + React Server Components",
|
|
5
5
|
"author": "Lasse <lasse@lassetange.com> (https://www.lassetange.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@clack/prompts": "^1.
|
|
46
|
-
"@rspack/core": "2.2.
|
|
47
|
-
"@types/node": "^26.
|
|
45
|
+
"@clack/prompts": "^1.8.1",
|
|
46
|
+
"@rspack/core": "2.2.6",
|
|
47
|
+
"@types/node": "^26.5.1",
|
|
48
48
|
"typescript": "^7.0.2",
|
|
49
|
-
"@rshono/core": "1.0.0-rc.
|
|
49
|
+
"@rshono/core": "1.0.0-rc.21"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "node scripts/codegen.mjs && node scripts/build.mjs",
|