@storybook/cli 10.1.0-alpha.9 → 10.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/_node-chunks/{block-dependencies-versions-BGKJ74J2.js → block-dependencies-versions-RWX4DX7W.js} +13 -16
  2. package/dist/_node-chunks/{block-experimental-addon-test-5WOB3QXI.js → block-experimental-addon-test-OM3MVIEF.js} +16 -23
  3. package/dist/_node-chunks/block-major-version-7X5ELMS5.js +77 -0
  4. package/dist/_node-chunks/block-node-version-IVL2SO4R.js +38 -0
  5. package/dist/_node-chunks/{block-webpack5-frameworks-UY6KAASI.js → block-webpack5-frameworks-DRJJONK4.js} +14 -19
  6. package/dist/_node-chunks/chunk-B52WZYLE.js +1160 -0
  7. package/dist/_node-chunks/chunk-H7CKG54H.js +45 -0
  8. package/dist/_node-chunks/chunk-IMEW6HKQ.js +11 -0
  9. package/dist/_node-chunks/chunk-OVP33YUF.js +591 -0
  10. package/dist/_node-chunks/chunk-YET6YMCR.js +4375 -0
  11. package/dist/_node-chunks/{globby-DNHQPHUT.js → globby-7EVLGXCD.js} +8 -8
  12. package/dist/_node-chunks/p-limit-DCVNL4HF.js +116 -0
  13. package/dist/_node-chunks/run-CFKOL6SH.js +9627 -0
  14. package/dist/bin/index.js +10 -13
  15. package/package.json +5 -9
  16. package/dist/_node-chunks/block-major-version-UQXLZ64F.js +0 -100
  17. package/dist/_node-chunks/block-node-version-QP5KXT5Q.js +0 -43
  18. package/dist/_node-chunks/chunk-3ISYWOFW.js +0 -1770
  19. package/dist/_node-chunks/chunk-5JXVRX4Y.js +0 -50
  20. package/dist/_node-chunks/chunk-7ZMKNOV3.js +0 -24
  21. package/dist/_node-chunks/chunk-KK6KWG7C.js +0 -1939
  22. package/dist/_node-chunks/chunk-QLMPSJFV.js +0 -6737
  23. package/dist/_node-chunks/p-limit-YAWAKA4U.js +0 -168
  24. package/dist/_node-chunks/run-IFPXJ7NW.js +0 -11461
@@ -1,1770 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_i5timqwdlx from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i5timqwdlx from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i5timqwdlx from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_i5timqwdlx.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i5timqwdlx.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i5timqwdlx.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
- import {
13
- globby,
14
- globbySync
15
- } from "./chunk-QLMPSJFV.js";
16
- import {
17
- require_semver
18
- } from "./chunk-KK6KWG7C.js";
19
- import {
20
- __commonJS,
21
- __name,
22
- __toESM
23
- } from "./chunk-5JXVRX4Y.js";
24
-
25
- // ../../node_modules/picocolors/picocolors.js
26
- var require_picocolors = __commonJS({
27
- "../../node_modules/picocolors/picocolors.js"(exports, module) {
28
- var p = process || {};
29
- var argv = p.argv || [];
30
- var env2 = p.env || {};
31
- var isColorSupported = !(!!env2.NO_COLOR || argv.includes("--no-color")) && (!!env2.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env2.TERM !== "dumb" || !!env2.CI);
32
- var formatter = /* @__PURE__ */ __name((open, close, replace = open) => (input) => {
33
- let string = "" + input, index = string.indexOf(close, open.length);
34
- return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
35
- }, "formatter");
36
- var replaceClose = /* @__PURE__ */ __name((string, close, replace, index) => {
37
- let result = "", cursor = 0;
38
- do {
39
- result += string.substring(cursor, index) + replace;
40
- cursor = index + close.length;
41
- index = string.indexOf(close, cursor);
42
- } while (~index);
43
- return result + string.substring(cursor);
44
- }, "replaceClose");
45
- var createColors = /* @__PURE__ */ __name((enabled = isColorSupported) => {
46
- let f = enabled ? formatter : () => String;
47
- return {
48
- isColorSupported: enabled,
49
- reset: f("\x1B[0m", "\x1B[0m"),
50
- bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
51
- dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
52
- italic: f("\x1B[3m", "\x1B[23m"),
53
- underline: f("\x1B[4m", "\x1B[24m"),
54
- inverse: f("\x1B[7m", "\x1B[27m"),
55
- hidden: f("\x1B[8m", "\x1B[28m"),
56
- strikethrough: f("\x1B[9m", "\x1B[29m"),
57
- black: f("\x1B[30m", "\x1B[39m"),
58
- red: f("\x1B[31m", "\x1B[39m"),
59
- green: f("\x1B[32m", "\x1B[39m"),
60
- yellow: f("\x1B[33m", "\x1B[39m"),
61
- blue: f("\x1B[34m", "\x1B[39m"),
62
- magenta: f("\x1B[35m", "\x1B[39m"),
63
- cyan: f("\x1B[36m", "\x1B[39m"),
64
- white: f("\x1B[37m", "\x1B[39m"),
65
- gray: f("\x1B[90m", "\x1B[39m"),
66
- bgBlack: f("\x1B[40m", "\x1B[49m"),
67
- bgRed: f("\x1B[41m", "\x1B[49m"),
68
- bgGreen: f("\x1B[42m", "\x1B[49m"),
69
- bgYellow: f("\x1B[43m", "\x1B[49m"),
70
- bgBlue: f("\x1B[44m", "\x1B[49m"),
71
- bgMagenta: f("\x1B[45m", "\x1B[49m"),
72
- bgCyan: f("\x1B[46m", "\x1B[49m"),
73
- bgWhite: f("\x1B[47m", "\x1B[49m"),
74
- blackBright: f("\x1B[90m", "\x1B[39m"),
75
- redBright: f("\x1B[91m", "\x1B[39m"),
76
- greenBright: f("\x1B[92m", "\x1B[39m"),
77
- yellowBright: f("\x1B[93m", "\x1B[39m"),
78
- blueBright: f("\x1B[94m", "\x1B[39m"),
79
- magentaBright: f("\x1B[95m", "\x1B[39m"),
80
- cyanBright: f("\x1B[96m", "\x1B[39m"),
81
- whiteBright: f("\x1B[97m", "\x1B[39m"),
82
- bgBlackBright: f("\x1B[100m", "\x1B[49m"),
83
- bgRedBright: f("\x1B[101m", "\x1B[49m"),
84
- bgGreenBright: f("\x1B[102m", "\x1B[49m"),
85
- bgYellowBright: f("\x1B[103m", "\x1B[49m"),
86
- bgBlueBright: f("\x1B[104m", "\x1B[49m"),
87
- bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
88
- bgCyanBright: f("\x1B[106m", "\x1B[49m"),
89
- bgWhiteBright: f("\x1B[107m", "\x1B[49m")
90
- };
91
- }, "createColors");
92
- module.exports = createColors();
93
- module.exports.createColors = createColors;
94
- }
95
- });
96
-
97
- // ../../node_modules/boxen/node_modules/emoji-regex/index.js
98
- var require_emoji_regex = __commonJS({
99
- "../../node_modules/boxen/node_modules/emoji-regex/index.js"(exports, module) {
100
- module.exports = () => {
101
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
102
- };
103
- }
104
- });
105
-
106
- // ../../node_modules/widest-line/node_modules/emoji-regex/index.js
107
- var require_emoji_regex2 = __commonJS({
108
- "../../node_modules/widest-line/node_modules/emoji-regex/index.js"(exports, module) {
109
- module.exports = () => {
110
- return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
111
- };
112
- }
113
- });
114
-
115
- // ../../node_modules/cli-boxes/boxes.json
116
- var require_boxes = __commonJS({
117
- "../../node_modules/cli-boxes/boxes.json"(exports, module) {
118
- module.exports = {
119
- single: {
120
- topLeft: "\u250C",
121
- top: "\u2500",
122
- topRight: "\u2510",
123
- right: "\u2502",
124
- bottomRight: "\u2518",
125
- bottom: "\u2500",
126
- bottomLeft: "\u2514",
127
- left: "\u2502"
128
- },
129
- double: {
130
- topLeft: "\u2554",
131
- top: "\u2550",
132
- topRight: "\u2557",
133
- right: "\u2551",
134
- bottomRight: "\u255D",
135
- bottom: "\u2550",
136
- bottomLeft: "\u255A",
137
- left: "\u2551"
138
- },
139
- round: {
140
- topLeft: "\u256D",
141
- top: "\u2500",
142
- topRight: "\u256E",
143
- right: "\u2502",
144
- bottomRight: "\u256F",
145
- bottom: "\u2500",
146
- bottomLeft: "\u2570",
147
- left: "\u2502"
148
- },
149
- bold: {
150
- topLeft: "\u250F",
151
- top: "\u2501",
152
- topRight: "\u2513",
153
- right: "\u2503",
154
- bottomRight: "\u251B",
155
- bottom: "\u2501",
156
- bottomLeft: "\u2517",
157
- left: "\u2503"
158
- },
159
- singleDouble: {
160
- topLeft: "\u2553",
161
- top: "\u2500",
162
- topRight: "\u2556",
163
- right: "\u2551",
164
- bottomRight: "\u255C",
165
- bottom: "\u2500",
166
- bottomLeft: "\u2559",
167
- left: "\u2551"
168
- },
169
- doubleSingle: {
170
- topLeft: "\u2552",
171
- top: "\u2550",
172
- topRight: "\u2555",
173
- right: "\u2502",
174
- bottomRight: "\u255B",
175
- bottom: "\u2550",
176
- bottomLeft: "\u2558",
177
- left: "\u2502"
178
- },
179
- classic: {
180
- topLeft: "+",
181
- top: "-",
182
- topRight: "+",
183
- right: "|",
184
- bottomRight: "+",
185
- bottom: "-",
186
- bottomLeft: "+",
187
- left: "|"
188
- },
189
- arrow: {
190
- topLeft: "\u2198",
191
- top: "\u2193",
192
- topRight: "\u2199",
193
- right: "\u2190",
194
- bottomRight: "\u2196",
195
- bottom: "\u2191",
196
- bottomLeft: "\u2197",
197
- left: "\u2192"
198
- }
199
- };
200
- }
201
- });
202
-
203
- // ../../node_modules/cli-boxes/index.js
204
- var require_cli_boxes = __commonJS({
205
- "../../node_modules/cli-boxes/index.js"(exports, module) {
206
- "use strict";
207
- var cliBoxes2 = require_boxes();
208
- module.exports = cliBoxes2;
209
- module.exports.default = cliBoxes2;
210
- }
211
- });
212
-
213
- // ../../node_modules/string-width/node_modules/ansi-regex/index.js
214
- var require_ansi_regex = __commonJS({
215
- "../../node_modules/string-width/node_modules/ansi-regex/index.js"(exports, module) {
216
- "use strict";
217
- module.exports = ({ onlyFirst = false } = {}) => {
218
- const pattern = [
219
- "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
220
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
221
- ].join("|");
222
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
223
- };
224
- }
225
- });
226
-
227
- // ../../node_modules/string-width/node_modules/strip-ansi/index.js
228
- var require_strip_ansi = __commonJS({
229
- "../../node_modules/string-width/node_modules/strip-ansi/index.js"(exports, module) {
230
- "use strict";
231
- var ansiRegex2 = require_ansi_regex();
232
- module.exports = (string) => typeof string === "string" ? string.replace(ansiRegex2(), "") : string;
233
- }
234
- });
235
-
236
- // ../../node_modules/is-fullwidth-code-point/index.js
237
- var require_is_fullwidth_code_point = __commonJS({
238
- "../../node_modules/is-fullwidth-code-point/index.js"(exports, module) {
239
- "use strict";
240
- var isFullwidthCodePoint = /* @__PURE__ */ __name((codePoint) => {
241
- if (Number.isNaN(codePoint)) {
242
- return false;
243
- }
244
- if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
245
- codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
246
- codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
247
- // CJK Radicals Supplement .. Enclosed CJK Letters and Months
248
- 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
249
- 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
250
- 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
251
- 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
252
- 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
253
- 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
254
- 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
255
- 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
256
- 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
257
- 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
258
- 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
259
- 131072 <= codePoint && codePoint <= 262141)) {
260
- return true;
261
- }
262
- return false;
263
- }, "isFullwidthCodePoint");
264
- module.exports = isFullwidthCodePoint;
265
- module.exports.default = isFullwidthCodePoint;
266
- }
267
- });
268
-
269
- // ../../node_modules/string-width/node_modules/emoji-regex/index.js
270
- var require_emoji_regex3 = __commonJS({
271
- "../../node_modules/string-width/node_modules/emoji-regex/index.js"(exports, module) {
272
- "use strict";
273
- module.exports = function() {
274
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
275
- };
276
- }
277
- });
278
-
279
- // ../../node_modules/string-width/index.js
280
- var require_string_width = __commonJS({
281
- "../../node_modules/string-width/index.js"(exports, module) {
282
- "use strict";
283
- var stripAnsi2 = require_strip_ansi();
284
- var isFullwidthCodePoint = require_is_fullwidth_code_point();
285
- var emojiRegex3 = require_emoji_regex3();
286
- var stringWidth3 = /* @__PURE__ */ __name((string) => {
287
- if (typeof string !== "string" || string.length === 0) {
288
- return 0;
289
- }
290
- string = stripAnsi2(string);
291
- if (string.length === 0) {
292
- return 0;
293
- }
294
- string = string.replace(emojiRegex3(), " ");
295
- let width = 0;
296
- for (let i = 0; i < string.length; i++) {
297
- const code = string.codePointAt(i);
298
- if (code <= 31 || code >= 127 && code <= 159) {
299
- continue;
300
- }
301
- if (code >= 768 && code <= 879) {
302
- continue;
303
- }
304
- if (code > 65535) {
305
- i++;
306
- }
307
- width += isFullwidthCodePoint(code) ? 2 : 1;
308
- }
309
- return width;
310
- }, "stringWidth");
311
- module.exports = stringWidth3;
312
- module.exports.default = stringWidth3;
313
- }
314
- });
315
-
316
- // ../../node_modules/ansi-align/index.js
317
- var require_ansi_align = __commonJS({
318
- "../../node_modules/ansi-align/index.js"(exports, module) {
319
- "use strict";
320
- var stringWidth3 = require_string_width();
321
- function ansiAlign2(text, opts) {
322
- if (!text) return text;
323
- opts = opts || {};
324
- const align = opts.align || "center";
325
- if (align === "left") return text;
326
- const split = opts.split || "\n";
327
- const pad = opts.pad || " ";
328
- const widthDiffFn = align !== "right" ? halfDiff : fullDiff;
329
- let returnString = false;
330
- if (!Array.isArray(text)) {
331
- returnString = true;
332
- text = String(text).split(split);
333
- }
334
- let width;
335
- let maxWidth = 0;
336
- text = text.map(function(str) {
337
- str = String(str);
338
- width = stringWidth3(str);
339
- maxWidth = Math.max(width, maxWidth);
340
- return {
341
- str,
342
- width
343
- };
344
- }).map(function(obj) {
345
- return new Array(widthDiffFn(maxWidth, obj.width) + 1).join(pad) + obj.str;
346
- });
347
- return returnString ? text.join(split) : text;
348
- }
349
- __name(ansiAlign2, "ansiAlign");
350
- ansiAlign2.left = /* @__PURE__ */ __name(function left(text) {
351
- return ansiAlign2(text, { align: "left" });
352
- }, "left");
353
- ansiAlign2.center = /* @__PURE__ */ __name(function center(text) {
354
- return ansiAlign2(text, { align: "center" });
355
- }, "center");
356
- ansiAlign2.right = /* @__PURE__ */ __name(function right(text) {
357
- return ansiAlign2(text, { align: "right" });
358
- }, "right");
359
- module.exports = ansiAlign2;
360
- function halfDiff(maxWidth, curWidth) {
361
- return Math.floor((maxWidth - curWidth) / 2);
362
- }
363
- __name(halfDiff, "halfDiff");
364
- function fullDiff(maxWidth, curWidth) {
365
- return maxWidth - curWidth;
366
- }
367
- __name(fullDiff, "fullDiff");
368
- }
369
- });
370
-
371
- // src/autoblock/utils.ts
372
- var import_semver2 = __toESM(require_semver(), 1);
373
- import { CLI_COLORS } from "storybook/internal/node-logger";
374
-
375
- // src/util.ts
376
- import { HandledError, JsPackageManager, normalizeStories } from "storybook/internal/common";
377
- import { getProjectRoot, isSatelliteAddon, versions } from "storybook/internal/common";
378
- import { StoryIndexGenerator, experimental_loadStorybook } from "storybook/internal/core-server";
379
- import { logTracker, logger as logger2, prompt } from "storybook/internal/node-logger";
380
- import {
381
- UpgradeStorybookToLowerVersionError,
382
- UpgradeStorybookUnknownCurrentVersionError
383
- } from "storybook/internal/server-errors";
384
-
385
- // ../../node_modules/ansi-regex/index.js
386
- function ansiRegex({ onlyFirst = false } = {}) {
387
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
388
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
389
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
390
- const pattern = `${osc}|${csi}`;
391
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
392
- }
393
- __name(ansiRegex, "ansiRegex");
394
-
395
- // ../../node_modules/strip-ansi/index.js
396
- var regex = ansiRegex();
397
-
398
- // ../../node_modules/boxen/node_modules/string-width/index.js
399
- var import_emoji_regex = __toESM(require_emoji_regex(), 1);
400
- var segmenter = new Intl.Segmenter();
401
-
402
- // ../../node_modules/boxen/node_modules/chalk/source/vendor/ansi-styles/index.js
403
- var ANSI_BACKGROUND_OFFSET = 10;
404
- var wrapAnsi16 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${code + offset}m`, "wrapAnsi16");
405
- var wrapAnsi256 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, "wrapAnsi256");
406
- var wrapAnsi16m = /* @__PURE__ */ __name((offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, "wrapAnsi16m");
407
- var styles = {
408
- modifier: {
409
- reset: [0, 0],
410
- // 21 isn't widely supported and 22 does the same thing
411
- bold: [1, 22],
412
- dim: [2, 22],
413
- italic: [3, 23],
414
- underline: [4, 24],
415
- overline: [53, 55],
416
- inverse: [7, 27],
417
- hidden: [8, 28],
418
- strikethrough: [9, 29]
419
- },
420
- color: {
421
- black: [30, 39],
422
- red: [31, 39],
423
- green: [32, 39],
424
- yellow: [33, 39],
425
- blue: [34, 39],
426
- magenta: [35, 39],
427
- cyan: [36, 39],
428
- white: [37, 39],
429
- // Bright color
430
- blackBright: [90, 39],
431
- gray: [90, 39],
432
- // Alias of `blackBright`
433
- grey: [90, 39],
434
- // Alias of `blackBright`
435
- redBright: [91, 39],
436
- greenBright: [92, 39],
437
- yellowBright: [93, 39],
438
- blueBright: [94, 39],
439
- magentaBright: [95, 39],
440
- cyanBright: [96, 39],
441
- whiteBright: [97, 39]
442
- },
443
- bgColor: {
444
- bgBlack: [40, 49],
445
- bgRed: [41, 49],
446
- bgGreen: [42, 49],
447
- bgYellow: [43, 49],
448
- bgBlue: [44, 49],
449
- bgMagenta: [45, 49],
450
- bgCyan: [46, 49],
451
- bgWhite: [47, 49],
452
- // Bright color
453
- bgBlackBright: [100, 49],
454
- bgGray: [100, 49],
455
- // Alias of `bgBlackBright`
456
- bgGrey: [100, 49],
457
- // Alias of `bgBlackBright`
458
- bgRedBright: [101, 49],
459
- bgGreenBright: [102, 49],
460
- bgYellowBright: [103, 49],
461
- bgBlueBright: [104, 49],
462
- bgMagentaBright: [105, 49],
463
- bgCyanBright: [106, 49],
464
- bgWhiteBright: [107, 49]
465
- }
466
- };
467
- var modifierNames = Object.keys(styles.modifier);
468
- var foregroundColorNames = Object.keys(styles.color);
469
- var backgroundColorNames = Object.keys(styles.bgColor);
470
- var colorNames = [...foregroundColorNames, ...backgroundColorNames];
471
- function assembleStyles() {
472
- const codes = /* @__PURE__ */ new Map();
473
- for (const [groupName, group] of Object.entries(styles)) {
474
- for (const [styleName, style] of Object.entries(group)) {
475
- styles[styleName] = {
476
- open: `\x1B[${style[0]}m`,
477
- close: `\x1B[${style[1]}m`
478
- };
479
- group[styleName] = styles[styleName];
480
- codes.set(style[0], style[1]);
481
- }
482
- Object.defineProperty(styles, groupName, {
483
- value: group,
484
- enumerable: false
485
- });
486
- }
487
- Object.defineProperty(styles, "codes", {
488
- value: codes,
489
- enumerable: false
490
- });
491
- styles.color.close = "\x1B[39m";
492
- styles.bgColor.close = "\x1B[49m";
493
- styles.color.ansi = wrapAnsi16();
494
- styles.color.ansi256 = wrapAnsi256();
495
- styles.color.ansi16m = wrapAnsi16m();
496
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
497
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
498
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
499
- Object.defineProperties(styles, {
500
- rgbToAnsi256: {
501
- value(red, green, blue) {
502
- if (red === green && green === blue) {
503
- if (red < 8) {
504
- return 16;
505
- }
506
- if (red > 248) {
507
- return 231;
508
- }
509
- return Math.round((red - 8) / 247 * 24) + 232;
510
- }
511
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
512
- },
513
- enumerable: false
514
- },
515
- hexToRgb: {
516
- value(hex) {
517
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
518
- if (!matches) {
519
- return [0, 0, 0];
520
- }
521
- let [colorString] = matches;
522
- if (colorString.length === 3) {
523
- colorString = [...colorString].map((character) => character + character).join("");
524
- }
525
- const integer = Number.parseInt(colorString, 16);
526
- return [
527
- /* eslint-disable no-bitwise */
528
- integer >> 16 & 255,
529
- integer >> 8 & 255,
530
- integer & 255
531
- /* eslint-enable no-bitwise */
532
- ];
533
- },
534
- enumerable: false
535
- },
536
- hexToAnsi256: {
537
- value: /* @__PURE__ */ __name((hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)), "value"),
538
- enumerable: false
539
- },
540
- ansi256ToAnsi: {
541
- value(code) {
542
- if (code < 8) {
543
- return 30 + code;
544
- }
545
- if (code < 16) {
546
- return 90 + (code - 8);
547
- }
548
- let red;
549
- let green;
550
- let blue;
551
- if (code >= 232) {
552
- red = ((code - 232) * 10 + 8) / 255;
553
- green = red;
554
- blue = red;
555
- } else {
556
- code -= 16;
557
- const remainder = code % 36;
558
- red = Math.floor(code / 36) / 5;
559
- green = Math.floor(remainder / 6) / 5;
560
- blue = remainder % 6 / 5;
561
- }
562
- const value = Math.max(red, green, blue) * 2;
563
- if (value === 0) {
564
- return 30;
565
- }
566
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
567
- if (value === 2) {
568
- result += 60;
569
- }
570
- return result;
571
- },
572
- enumerable: false
573
- },
574
- rgbToAnsi: {
575
- value: /* @__PURE__ */ __name((red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)), "value"),
576
- enumerable: false
577
- },
578
- hexToAnsi: {
579
- value: /* @__PURE__ */ __name((hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)), "value"),
580
- enumerable: false
581
- }
582
- });
583
- return styles;
584
- }
585
- __name(assembleStyles, "assembleStyles");
586
- var ansiStyles = assembleStyles();
587
- var ansi_styles_default = ansiStyles;
588
-
589
- // ../../node_modules/boxen/node_modules/chalk/source/vendor/supports-color/index.js
590
- import process2 from "node:process";
591
- import os from "node:os";
592
- import tty from "node:tty";
593
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
594
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
595
- const position = argv.indexOf(prefix + flag);
596
- const terminatorPosition = argv.indexOf("--");
597
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
598
- }
599
- __name(hasFlag, "hasFlag");
600
- var { env } = process2;
601
- var flagForceColor;
602
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
603
- flagForceColor = 0;
604
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
605
- flagForceColor = 1;
606
- }
607
- function envForceColor() {
608
- if ("FORCE_COLOR" in env) {
609
- if (env.FORCE_COLOR === "true") {
610
- return 1;
611
- }
612
- if (env.FORCE_COLOR === "false") {
613
- return 0;
614
- }
615
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
616
- }
617
- }
618
- __name(envForceColor, "envForceColor");
619
- function translateLevel(level) {
620
- if (level === 0) {
621
- return false;
622
- }
623
- return {
624
- level,
625
- hasBasic: true,
626
- has256: level >= 2,
627
- has16m: level >= 3
628
- };
629
- }
630
- __name(translateLevel, "translateLevel");
631
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
632
- const noFlagForceColor = envForceColor();
633
- if (noFlagForceColor !== void 0) {
634
- flagForceColor = noFlagForceColor;
635
- }
636
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
637
- if (forceColor === 0) {
638
- return 0;
639
- }
640
- if (sniffFlags) {
641
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
642
- return 3;
643
- }
644
- if (hasFlag("color=256")) {
645
- return 2;
646
- }
647
- }
648
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
649
- return 1;
650
- }
651
- if (haveStream && !streamIsTTY && forceColor === void 0) {
652
- return 0;
653
- }
654
- const min = forceColor || 0;
655
- if (env.TERM === "dumb") {
656
- return min;
657
- }
658
- if (process2.platform === "win32") {
659
- const osRelease = os.release().split(".");
660
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
661
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
662
- }
663
- return 1;
664
- }
665
- if ("CI" in env) {
666
- if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
667
- return 3;
668
- }
669
- if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
670
- return 1;
671
- }
672
- return min;
673
- }
674
- if ("TEAMCITY_VERSION" in env) {
675
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
676
- }
677
- if (env.COLORTERM === "truecolor") {
678
- return 3;
679
- }
680
- if (env.TERM === "xterm-kitty") {
681
- return 3;
682
- }
683
- if (env.TERM === "xterm-ghostty") {
684
- return 3;
685
- }
686
- if (env.TERM === "wezterm") {
687
- return 3;
688
- }
689
- if ("TERM_PROGRAM" in env) {
690
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
691
- switch (env.TERM_PROGRAM) {
692
- case "iTerm.app": {
693
- return version >= 3 ? 3 : 2;
694
- }
695
- case "Apple_Terminal": {
696
- return 2;
697
- }
698
- }
699
- }
700
- if (/-256(color)?$/i.test(env.TERM)) {
701
- return 2;
702
- }
703
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
704
- return 1;
705
- }
706
- if ("COLORTERM" in env) {
707
- return 1;
708
- }
709
- return min;
710
- }
711
- __name(_supportsColor, "_supportsColor");
712
- function createSupportsColor(stream, options = {}) {
713
- const level = _supportsColor(stream, {
714
- streamIsTTY: stream && stream.isTTY,
715
- ...options
716
- });
717
- return translateLevel(level);
718
- }
719
- __name(createSupportsColor, "createSupportsColor");
720
- var supportsColor = {
721
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
722
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
723
- };
724
- var supports_color_default = supportsColor;
725
-
726
- // ../../node_modules/boxen/node_modules/chalk/source/utilities.js
727
- function stringReplaceAll(string, substring, replacer) {
728
- let index = string.indexOf(substring);
729
- if (index === -1) {
730
- return string;
731
- }
732
- const substringLength = substring.length;
733
- let endIndex = 0;
734
- let returnValue = "";
735
- do {
736
- returnValue += string.slice(endIndex, index) + substring + replacer;
737
- endIndex = index + substringLength;
738
- index = string.indexOf(substring, endIndex);
739
- } while (index !== -1);
740
- returnValue += string.slice(endIndex);
741
- return returnValue;
742
- }
743
- __name(stringReplaceAll, "stringReplaceAll");
744
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
745
- let endIndex = 0;
746
- let returnValue = "";
747
- do {
748
- const gotCR = string[index - 1] === "\r";
749
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
750
- endIndex = index + 1;
751
- index = string.indexOf("\n", endIndex);
752
- } while (index !== -1);
753
- returnValue += string.slice(endIndex);
754
- return returnValue;
755
- }
756
- __name(stringEncaseCRLFWithFirstIndex, "stringEncaseCRLFWithFirstIndex");
757
-
758
- // ../../node_modules/boxen/node_modules/chalk/source/index.js
759
- var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
760
- var GENERATOR = Symbol("GENERATOR");
761
- var STYLER = Symbol("STYLER");
762
- var IS_EMPTY = Symbol("IS_EMPTY");
763
- var levelMapping = [
764
- "ansi",
765
- "ansi",
766
- "ansi256",
767
- "ansi16m"
768
- ];
769
- var styles2 = /* @__PURE__ */ Object.create(null);
770
- var applyOptions = /* @__PURE__ */ __name((object, options = {}) => {
771
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
772
- throw new Error("The `level` option should be an integer from 0 to 3");
773
- }
774
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
775
- object.level = options.level === void 0 ? colorLevel : options.level;
776
- }, "applyOptions");
777
- var chalkFactory = /* @__PURE__ */ __name((options) => {
778
- const chalk2 = /* @__PURE__ */ __name((...strings) => strings.join(" "), "chalk");
779
- applyOptions(chalk2, options);
780
- Object.setPrototypeOf(chalk2, createChalk.prototype);
781
- return chalk2;
782
- }, "chalkFactory");
783
- function createChalk(options) {
784
- return chalkFactory(options);
785
- }
786
- __name(createChalk, "createChalk");
787
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
788
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
789
- styles2[styleName] = {
790
- get() {
791
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
792
- Object.defineProperty(this, styleName, { value: builder });
793
- return builder;
794
- }
795
- };
796
- }
797
- styles2.visible = {
798
- get() {
799
- const builder = createBuilder(this, this[STYLER], true);
800
- Object.defineProperty(this, "visible", { value: builder });
801
- return builder;
802
- }
803
- };
804
- var getModelAnsi = /* @__PURE__ */ __name((model, level, type, ...arguments_) => {
805
- if (model === "rgb") {
806
- if (level === "ansi16m") {
807
- return ansi_styles_default[type].ansi16m(...arguments_);
808
- }
809
- if (level === "ansi256") {
810
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
811
- }
812
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
813
- }
814
- if (model === "hex") {
815
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
816
- }
817
- return ansi_styles_default[type][model](...arguments_);
818
- }, "getModelAnsi");
819
- var usedModels = ["rgb", "hex", "ansi256"];
820
- for (const model of usedModels) {
821
- styles2[model] = {
822
- get() {
823
- const { level } = this;
824
- return function(...arguments_) {
825
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
826
- return createBuilder(this, styler, this[IS_EMPTY]);
827
- };
828
- }
829
- };
830
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
831
- styles2[bgModel] = {
832
- get() {
833
- const { level } = this;
834
- return function(...arguments_) {
835
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
836
- return createBuilder(this, styler, this[IS_EMPTY]);
837
- };
838
- }
839
- };
840
- }
841
- var proto = Object.defineProperties(() => {
842
- }, {
843
- ...styles2,
844
- level: {
845
- enumerable: true,
846
- get() {
847
- return this[GENERATOR].level;
848
- },
849
- set(level) {
850
- this[GENERATOR].level = level;
851
- }
852
- }
853
- });
854
- var createStyler = /* @__PURE__ */ __name((open, close, parent) => {
855
- let openAll;
856
- let closeAll;
857
- if (parent === void 0) {
858
- openAll = open;
859
- closeAll = close;
860
- } else {
861
- openAll = parent.openAll + open;
862
- closeAll = close + parent.closeAll;
863
- }
864
- return {
865
- open,
866
- close,
867
- openAll,
868
- closeAll,
869
- parent
870
- };
871
- }, "createStyler");
872
- var createBuilder = /* @__PURE__ */ __name((self, _styler, _isEmpty) => {
873
- const builder = /* @__PURE__ */ __name((...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" ")), "builder");
874
- Object.setPrototypeOf(builder, proto);
875
- builder[GENERATOR] = self;
876
- builder[STYLER] = _styler;
877
- builder[IS_EMPTY] = _isEmpty;
878
- return builder;
879
- }, "createBuilder");
880
- var applyStyle = /* @__PURE__ */ __name((self, string) => {
881
- if (self.level <= 0 || !string) {
882
- return self[IS_EMPTY] ? "" : string;
883
- }
884
- let styler = self[STYLER];
885
- if (styler === void 0) {
886
- return string;
887
- }
888
- const { openAll, closeAll } = styler;
889
- if (string.includes("\x1B")) {
890
- while (styler !== void 0) {
891
- string = stringReplaceAll(string, styler.close, styler.open);
892
- styler = styler.parent;
893
- }
894
- }
895
- const lfIndex = string.indexOf("\n");
896
- if (lfIndex !== -1) {
897
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
898
- }
899
- return openAll + string + closeAll;
900
- }, "applyStyle");
901
- Object.defineProperties(createChalk.prototype, styles2);
902
- var chalk = createChalk();
903
- var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
904
-
905
- // ../../node_modules/widest-line/node_modules/string-width/index.js
906
- var import_emoji_regex2 = __toESM(require_emoji_regex2(), 1);
907
- var segmenter2 = new Intl.Segmenter();
908
-
909
- // ../../node_modules/boxen/index.js
910
- var import_cli_boxes = __toESM(require_cli_boxes(), 1);
911
-
912
- // ../../node_modules/camelcase/index.js
913
- var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
914
- var SEPARATORS = /[_.\- ]+/;
915
- var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
916
- var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
917
- var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
918
-
919
- // ../../node_modules/boxen/index.js
920
- var import_ansi_align = __toESM(require_ansi_align(), 1);
921
-
922
- // ../../node_modules/ansi-styles/index.js
923
- var ANSI_BACKGROUND_OFFSET2 = 10;
924
- var wrapAnsi162 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${code + offset}m`, "wrapAnsi16");
925
- var wrapAnsi2562 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, "wrapAnsi256");
926
- var wrapAnsi16m2 = /* @__PURE__ */ __name((offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, "wrapAnsi16m");
927
- var styles3 = {
928
- modifier: {
929
- reset: [0, 0],
930
- // 21 isn't widely supported and 22 does the same thing
931
- bold: [1, 22],
932
- dim: [2, 22],
933
- italic: [3, 23],
934
- underline: [4, 24],
935
- overline: [53, 55],
936
- inverse: [7, 27],
937
- hidden: [8, 28],
938
- strikethrough: [9, 29]
939
- },
940
- color: {
941
- black: [30, 39],
942
- red: [31, 39],
943
- green: [32, 39],
944
- yellow: [33, 39],
945
- blue: [34, 39],
946
- magenta: [35, 39],
947
- cyan: [36, 39],
948
- white: [37, 39],
949
- // Bright color
950
- blackBright: [90, 39],
951
- gray: [90, 39],
952
- // Alias of `blackBright`
953
- grey: [90, 39],
954
- // Alias of `blackBright`
955
- redBright: [91, 39],
956
- greenBright: [92, 39],
957
- yellowBright: [93, 39],
958
- blueBright: [94, 39],
959
- magentaBright: [95, 39],
960
- cyanBright: [96, 39],
961
- whiteBright: [97, 39]
962
- },
963
- bgColor: {
964
- bgBlack: [40, 49],
965
- bgRed: [41, 49],
966
- bgGreen: [42, 49],
967
- bgYellow: [43, 49],
968
- bgBlue: [44, 49],
969
- bgMagenta: [45, 49],
970
- bgCyan: [46, 49],
971
- bgWhite: [47, 49],
972
- // Bright color
973
- bgBlackBright: [100, 49],
974
- bgGray: [100, 49],
975
- // Alias of `bgBlackBright`
976
- bgGrey: [100, 49],
977
- // Alias of `bgBlackBright`
978
- bgRedBright: [101, 49],
979
- bgGreenBright: [102, 49],
980
- bgYellowBright: [103, 49],
981
- bgBlueBright: [104, 49],
982
- bgMagentaBright: [105, 49],
983
- bgCyanBright: [106, 49],
984
- bgWhiteBright: [107, 49]
985
- }
986
- };
987
- var modifierNames2 = Object.keys(styles3.modifier);
988
- var foregroundColorNames2 = Object.keys(styles3.color);
989
- var backgroundColorNames2 = Object.keys(styles3.bgColor);
990
- var colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
991
- function assembleStyles2() {
992
- const codes = /* @__PURE__ */ new Map();
993
- for (const [groupName, group] of Object.entries(styles3)) {
994
- for (const [styleName, style] of Object.entries(group)) {
995
- styles3[styleName] = {
996
- open: `\x1B[${style[0]}m`,
997
- close: `\x1B[${style[1]}m`
998
- };
999
- group[styleName] = styles3[styleName];
1000
- codes.set(style[0], style[1]);
1001
- }
1002
- Object.defineProperty(styles3, groupName, {
1003
- value: group,
1004
- enumerable: false
1005
- });
1006
- }
1007
- Object.defineProperty(styles3, "codes", {
1008
- value: codes,
1009
- enumerable: false
1010
- });
1011
- styles3.color.close = "\x1B[39m";
1012
- styles3.bgColor.close = "\x1B[49m";
1013
- styles3.color.ansi = wrapAnsi162();
1014
- styles3.color.ansi256 = wrapAnsi2562();
1015
- styles3.color.ansi16m = wrapAnsi16m2();
1016
- styles3.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
1017
- styles3.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
1018
- styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
1019
- Object.defineProperties(styles3, {
1020
- rgbToAnsi256: {
1021
- value(red, green, blue) {
1022
- if (red === green && green === blue) {
1023
- if (red < 8) {
1024
- return 16;
1025
- }
1026
- if (red > 248) {
1027
- return 231;
1028
- }
1029
- return Math.round((red - 8) / 247 * 24) + 232;
1030
- }
1031
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
1032
- },
1033
- enumerable: false
1034
- },
1035
- hexToRgb: {
1036
- value(hex) {
1037
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
1038
- if (!matches) {
1039
- return [0, 0, 0];
1040
- }
1041
- let [colorString] = matches;
1042
- if (colorString.length === 3) {
1043
- colorString = [...colorString].map((character) => character + character).join("");
1044
- }
1045
- const integer = Number.parseInt(colorString, 16);
1046
- return [
1047
- /* eslint-disable no-bitwise */
1048
- integer >> 16 & 255,
1049
- integer >> 8 & 255,
1050
- integer & 255
1051
- /* eslint-enable no-bitwise */
1052
- ];
1053
- },
1054
- enumerable: false
1055
- },
1056
- hexToAnsi256: {
1057
- value: /* @__PURE__ */ __name((hex) => styles3.rgbToAnsi256(...styles3.hexToRgb(hex)), "value"),
1058
- enumerable: false
1059
- },
1060
- ansi256ToAnsi: {
1061
- value(code) {
1062
- if (code < 8) {
1063
- return 30 + code;
1064
- }
1065
- if (code < 16) {
1066
- return 90 + (code - 8);
1067
- }
1068
- let red;
1069
- let green;
1070
- let blue;
1071
- if (code >= 232) {
1072
- red = ((code - 232) * 10 + 8) / 255;
1073
- green = red;
1074
- blue = red;
1075
- } else {
1076
- code -= 16;
1077
- const remainder = code % 36;
1078
- red = Math.floor(code / 36) / 5;
1079
- green = Math.floor(remainder / 6) / 5;
1080
- blue = remainder % 6 / 5;
1081
- }
1082
- const value = Math.max(red, green, blue) * 2;
1083
- if (value === 0) {
1084
- return 30;
1085
- }
1086
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
1087
- if (value === 2) {
1088
- result += 60;
1089
- }
1090
- return result;
1091
- },
1092
- enumerable: false
1093
- },
1094
- rgbToAnsi: {
1095
- value: /* @__PURE__ */ __name((red, green, blue) => styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red, green, blue)), "value"),
1096
- enumerable: false
1097
- },
1098
- hexToAnsi: {
1099
- value: /* @__PURE__ */ __name((hex) => styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex)), "value"),
1100
- enumerable: false
1101
- }
1102
- });
1103
- return styles3;
1104
- }
1105
- __name(assembleStyles2, "assembleStyles");
1106
- var ansiStyles2 = assembleStyles2();
1107
-
1108
- // ../../node_modules/boxen/node_modules/wrap-ansi/index.js
1109
- var ANSI_OSC = "]";
1110
- var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
1111
-
1112
- // ../../node_modules/boxen/index.js
1113
- var import_cli_boxes2 = __toESM(require_cli_boxes(), 1);
1114
-
1115
- // ../../node_modules/empathic/walk.mjs
1116
- import { dirname } from "node:path";
1117
-
1118
- // ../../node_modules/empathic/resolve.mjs
1119
- import { isAbsolute, join, resolve } from "node:path";
1120
- function absolute(input, root) {
1121
- return isAbsolute(input) ? input : resolve(root || ".", input);
1122
- }
1123
- __name(absolute, "absolute");
1124
-
1125
- // ../../node_modules/empathic/walk.mjs
1126
- function up(base, options) {
1127
- let { last, cwd } = options || {};
1128
- let tmp = absolute(base, cwd);
1129
- let root = absolute(last || "/", cwd);
1130
- let prev, arr = [];
1131
- while (prev !== root) {
1132
- arr.push(tmp);
1133
- tmp = dirname(prev = tmp);
1134
- if (tmp === prev) break;
1135
- }
1136
- return arr;
1137
- }
1138
- __name(up, "up");
1139
-
1140
- // src/util.ts
1141
- var import_picocolors2 = __toESM(require_picocolors(), 1);
1142
- var import_semver = __toESM(require_semver(), 1);
1143
-
1144
- // src/autoblock/index.ts
1145
- var blockers = /* @__PURE__ */ __name(() => [
1146
- // add/remove blockers here
1147
- import("./block-dependencies-versions-BGKJ74J2.js"),
1148
- import("./block-node-version-QP5KXT5Q.js"),
1149
- import("./block-webpack5-frameworks-UY6KAASI.js"),
1150
- import("./block-major-version-UQXLZ64F.js"),
1151
- import("./block-experimental-addon-test-5WOB3QXI.js")
1152
- ], "blockers");
1153
- var autoblock = /* @__PURE__ */ __name(async (options, list = blockers()) => {
1154
- if (list.length === 0) {
1155
- return null;
1156
- }
1157
- return await Promise.all(
1158
- list.map(async (i) => {
1159
- const blocker = (await i).blocker;
1160
- const result = await blocker.check(options);
1161
- return { result, blocker };
1162
- })
1163
- );
1164
- }, "autoblock");
1165
-
1166
- // src/automigrate/helpers/mainConfigFile.ts
1167
- var import_picocolors = __toESM(require_picocolors(), 1);
1168
- import { dirname as dirname2, isAbsolute as isAbsolute2, join as join2, normalize } from "node:path";
1169
- import {
1170
- JsPackageManagerFactory,
1171
- builderPackages,
1172
- extractProperFrameworkName,
1173
- frameworkPackages,
1174
- getStorybookInfo,
1175
- loadMainConfig,
1176
- rendererPackages
1177
- } from "storybook/internal/common";
1178
- import { frameworkToRenderer, getCoercedStorybookVersion } from "storybook/internal/common";
1179
- import { readConfig, writeConfig as writeConfigFile } from "storybook/internal/csf-tools";
1180
- import { logger } from "storybook/internal/node-logger";
1181
- import { dedent } from "ts-dedent";
1182
- var getFrameworkPackageName = /* @__PURE__ */ __name((mainConfig) => {
1183
- const packageNameOrPath = typeof mainConfig?.framework === "string" ? mainConfig.framework : mainConfig?.framework?.name;
1184
- if (!packageNameOrPath) {
1185
- return null;
1186
- }
1187
- return extractProperFrameworkName(packageNameOrPath);
1188
- }, "getFrameworkPackageName");
1189
- var getStorybookData = /* @__PURE__ */ __name(async ({
1190
- configDir: userDefinedConfigDir,
1191
- cwd,
1192
- packageManagerName
1193
- }) => {
1194
- logger.debug("Getting Storybook info...");
1195
- const {
1196
- mainConfigPath,
1197
- version: storybookVersionSpecifier,
1198
- configDir: configDirFromScript,
1199
- previewConfigPath
1200
- } = await getStorybookInfo(userDefinedConfigDir);
1201
- const configDir = userDefinedConfigDir || configDirFromScript || ".storybook";
1202
- logger.debug("Loading main config...");
1203
- let mainConfig;
1204
- try {
1205
- mainConfig = await loadMainConfig({ configDir, cwd });
1206
- } catch (err) {
1207
- throw new Error(
1208
- dedent`Unable to find or evaluate ${import_picocolors.default.blue(mainConfigPath)}: ${String(err)}`
1209
- );
1210
- }
1211
- const workingDir = isAbsolute2(configDir) ? dirname2(configDir) : dirname2(join2(cwd ?? process.cwd(), configDir));
1212
- logger.debug("Getting stories paths...");
1213
- const storiesPaths = await getStoriesPathsFromConfig({
1214
- stories: mainConfig.stories,
1215
- configDir,
1216
- workingDir
1217
- });
1218
- logger.debug("Getting package manager...");
1219
- const packageManager = JsPackageManagerFactory.getPackageManager({
1220
- force: packageManagerName,
1221
- configDir,
1222
- storiesPaths
1223
- });
1224
- logger.debug("Getting Storybook version...");
1225
- const storybookVersion = await getCoercedStorybookVersion(packageManager);
1226
- return {
1227
- configDir,
1228
- mainConfig,
1229
- storybookVersionSpecifier,
1230
- storybookVersion,
1231
- mainConfigPath,
1232
- previewConfigPath,
1233
- packageManager,
1234
- storiesPaths
1235
- };
1236
- }, "getStorybookData");
1237
- var updateMainConfig = /* @__PURE__ */ __name(async ({ mainConfigPath, dryRun }, callback) => {
1238
- try {
1239
- const main = await readConfig(mainConfigPath);
1240
- await callback(main);
1241
- if (!dryRun) {
1242
- await writeConfigFile(main);
1243
- }
1244
- } catch (e) {
1245
- logger.log(
1246
- `\u274C The migration failed to update your ${import_picocolors.default.blue(
1247
- mainConfigPath
1248
- )} on your behalf because of the following error:
1249
- ${e}
1250
- `
1251
- );
1252
- logger.log(
1253
- `\u26A0\uFE0F Storybook automigrations are based on AST parsing and it's possible that your ${import_picocolors.default.blue(
1254
- mainConfigPath
1255
- )} file contains a non-standard format (e.g. your export is not an object) or that there was an error when parsing dynamic values (e.g. "require" calls, or usage of environment variables). When your main config is non-standard, automigrations are unfortunately not possible. Please follow the instructions given previously and follow the documentation to make the updates manually.`
1256
- );
1257
- }
1258
- }, "updateMainConfig");
1259
- function containsESMUsage(content) {
1260
- const hasImportStatement = /^\s*import\s+/m.test(content) || /^\s*import\s*{/m.test(content) || /^\s*import\s*\(/m.test(content);
1261
- const hasExportStatement = /^\s*export\s+/m.test(content) || /^\s*export\s*{/m.test(content) || /^\s*export\s*default/m.test(content);
1262
- const hasImportMeta = /import\.meta/.test(content);
1263
- return hasImportStatement || hasExportStatement || hasImportMeta;
1264
- }
1265
- __name(containsESMUsage, "containsESMUsage");
1266
- function containsRequireUsage(content) {
1267
- const requireCallRegex = /\brequire\(/;
1268
- const requireDotRegex = /\brequire\./;
1269
- return requireCallRegex.test(content) || requireDotRegex.test(content);
1270
- }
1271
- __name(containsRequireUsage, "containsRequireUsage");
1272
- function containsPatternUsage(content, pattern) {
1273
- const stripStrings = /* @__PURE__ */ __name((s) => s.replace(/(['"`])(?:\\.|(?!\1)[\s\S])*?\1/g, '""'), "stripStrings");
1274
- const withoutStrings = stripStrings(content);
1275
- const withoutBlock = withoutStrings.replace(/\/\*[\s\S]*?\*\//g, "");
1276
- const cleanContent = withoutBlock.split("\n").map((line) => line.split("//")[0]).join("\n");
1277
- return pattern.test(cleanContent);
1278
- }
1279
- __name(containsPatternUsage, "containsPatternUsage");
1280
- function containsDirnameUsage(content) {
1281
- return containsPatternUsage(content, /\b__dirname\b/);
1282
- }
1283
- __name(containsDirnameUsage, "containsDirnameUsage");
1284
- function containsFilenameUsage(content) {
1285
- return containsPatternUsage(content, /\b__filename\b/);
1286
- }
1287
- __name(containsFilenameUsage, "containsFilenameUsage");
1288
- var bannerComment = "// This file has been automatically migrated to valid ESM format by Storybook.";
1289
- var hasRequireBanner = /* @__PURE__ */ __name((content) => {
1290
- return content.includes(bannerComment);
1291
- }, "hasRequireBanner");
1292
-
1293
- // src/util.ts
1294
- var STORYBOOK_DIR_PATTERN = ["**/.storybook", "**/.rnstorybook"];
1295
- var isSuccessResult = /* @__PURE__ */ __name((result) => !("error" in result), "isSuccessResult");
1296
- var isErrorResult = /* @__PURE__ */ __name((result) => "error" in result, "isErrorResult");
1297
- var getVersionModifier = /* @__PURE__ */ __name((versionSpecifier) => {
1298
- if (!versionSpecifier || typeof versionSpecifier !== "string") {
1299
- return { modifier: "", useFixed: true };
1300
- }
1301
- const firstPart = versionSpecifier.split(/\s*\|\|\s*/)[0]?.trim();
1302
- if (!firstPart) {
1303
- return { modifier: "", useFixed: true };
1304
- }
1305
- const match = firstPart.match(/^([~^><=]+)/);
1306
- const modifier = match?.[1] ?? "";
1307
- return {
1308
- modifier,
1309
- useFixed: !modifier
1310
- };
1311
- }, "getVersionModifier");
1312
- var isCanaryVersion = /* @__PURE__ */ __name((version) => version.startsWith("0.0.0") || version.startsWith("portal:") || version.startsWith("workspace:"), "isCanaryVersion");
1313
- function validateVersion(version) {
1314
- if (!version) {
1315
- throw new UpgradeStorybookUnknownCurrentVersionError();
1316
- }
1317
- }
1318
- __name(validateVersion, "validateVersion");
1319
- var validateUpgradeCompatibility = /* @__PURE__ */ __name((currentVersion, beforeVersion, isCanary) => {
1320
- if (!isCanary && (0, import_semver.lt)(currentVersion, beforeVersion)) {
1321
- throw new UpgradeStorybookToLowerVersionError({
1322
- beforeVersion,
1323
- currentVersion
1324
- });
1325
- }
1326
- }, "validateUpgradeCompatibility");
1327
- var findStorybookProjects = /* @__PURE__ */ __name(async (cwd = process.cwd()) => {
1328
- try {
1329
- logger2.debug(`Finding Storybook projects...`);
1330
- const storybookDirs = await globby(STORYBOOK_DIR_PATTERN, {
1331
- cwd,
1332
- dot: true,
1333
- gitignore: true,
1334
- absolute: true,
1335
- onlyDirectories: true,
1336
- followSymbolicLinks: false
1337
- });
1338
- logger2.debug(`Found ${storybookDirs.length} Storybook projects`);
1339
- if (storybookDirs.length === 0) {
1340
- const answer = await prompt.text({
1341
- message: "No Storybook projects were found. Please enter the path to the .storybook directory for the project you want to upgrade."
1342
- });
1343
- return [answer];
1344
- }
1345
- return storybookDirs;
1346
- } catch (error) {
1347
- logger2.error("Failed to find Storybook projects");
1348
- throw error;
1349
- }
1350
- }, "findStorybookProjects");
1351
- var processProject = /* @__PURE__ */ __name(async ({
1352
- configDir,
1353
- options,
1354
- currentCLIVersion,
1355
- onScanStart
1356
- }) => {
1357
- try {
1358
- onScanStart();
1359
- const name = configDir.replace(getProjectRoot(), "");
1360
- logger2.debug(`Getting Storybook data...`);
1361
- const {
1362
- configDir: resolvedConfigDir,
1363
- mainConfig,
1364
- mainConfigPath,
1365
- packageManager,
1366
- previewConfigPath,
1367
- storiesPaths,
1368
- storybookVersion: beforeVersion
1369
- } = await getStorybookData({ configDir });
1370
- logger2.debug(`${name} - Validating before version... ${beforeVersion}`);
1371
- validateVersion(beforeVersion);
1372
- const isCanary = isCanaryVersion(currentCLIVersion) || isCanaryVersion(beforeVersion);
1373
- logger2.debug(`${name} - Validating upgrade compatibility...`);
1374
- validateUpgradeCompatibility(currentCLIVersion, beforeVersion, isCanary);
1375
- logger2.debug(`${name} - Fetching NPM version information...`);
1376
- const [latestCLIVersionOnNPM, latestPrereleaseCLIVersionOnNPM] = await Promise.all([
1377
- packageManager.latestVersion("storybook"),
1378
- packageManager.latestVersion("storybook@next")
1379
- ]);
1380
- const isCLIOutdated = (0, import_semver.lt)(currentCLIVersion, latestCLIVersionOnNPM);
1381
- const isCLIExactLatest = currentCLIVersion === latestCLIVersionOnNPM;
1382
- const isCLIPrerelease = (0, import_semver.prerelease)(currentCLIVersion) !== null;
1383
- const isCLIExactPrerelease = currentCLIVersion === latestPrereleaseCLIVersionOnNPM;
1384
- const isUpgrade = (0, import_semver.lt)(beforeVersion, currentCLIVersion);
1385
- let autoblockerCheckResults = null;
1386
- if (typeof mainConfig !== "boolean" && typeof mainConfigPath !== "undefined" && !options.force) {
1387
- logger2.debug(`${name} - Evaluating blockers...`);
1388
- autoblockerCheckResults = await autoblock({
1389
- packageManager,
1390
- configDir: resolvedConfigDir,
1391
- mainConfig,
1392
- mainConfigPath
1393
- });
1394
- }
1395
- return {
1396
- configDir: resolvedConfigDir,
1397
- mainConfig,
1398
- mainConfigPath,
1399
- packageManager,
1400
- isCanary,
1401
- isCLIOutdated,
1402
- isCLIPrerelease,
1403
- isCLIExactLatest,
1404
- isUpgrade,
1405
- beforeVersion,
1406
- currentCLIVersion,
1407
- latestCLIVersionOnNPM,
1408
- isCLIExactPrerelease,
1409
- autoblockerCheckResults,
1410
- previewConfigPath,
1411
- storiesPaths
1412
- };
1413
- } catch (error) {
1414
- logger2.debug(String(error));
1415
- return {
1416
- configDir,
1417
- error
1418
- };
1419
- }
1420
- }, "processProject");
1421
- var collectProjects = /* @__PURE__ */ __name(async (options, configDirs, onProjectScanStart) => {
1422
- const { default: pLimit } = await import("./p-limit-YAWAKA4U.js");
1423
- const currentCLIVersion = versions.storybook;
1424
- const limit = pLimit(5);
1425
- const projectPromises = configDirs.map(
1426
- (configDir) => limit(
1427
- () => processProject({
1428
- configDir,
1429
- options,
1430
- currentCLIVersion,
1431
- onScanStart: /* @__PURE__ */ __name(() => onProjectScanStart(), "onScanStart")
1432
- })
1433
- )
1434
- );
1435
- const result = await Promise.all(projectPromises);
1436
- return result;
1437
- }, "collectProjects");
1438
- var generateUpgradeSpecs = /* @__PURE__ */ __name(async (dependencies = {}, config) => {
1439
- const {
1440
- packageManager,
1441
- isCanary,
1442
- isCLIOutdated,
1443
- isCLIPrerelease,
1444
- isCLIExactPrerelease,
1445
- isCLIExactLatest
1446
- } = config;
1447
- const monorepoDependencies = Object.keys(dependencies).filter(
1448
- (dependency) => dependency in versions
1449
- );
1450
- const storybookCoreUpgrades = monorepoDependencies.map((dependency) => {
1451
- const versionSpec = dependencies[dependency];
1452
- if (!versionSpec) {
1453
- return `${dependency}@${versions[dependency]}`;
1454
- }
1455
- const { modifier } = getVersionModifier(versionSpec);
1456
- const shouldUseFixed = isCLIOutdated || isCanary;
1457
- const finalModifier = shouldUseFixed ? "" : modifier;
1458
- return `${dependency}@${finalModifier}${versions[dependency]}`;
1459
- });
1460
- let storybookSatelliteUpgrades = [];
1461
- if (isCLIExactPrerelease || isCLIExactLatest) {
1462
- const satelliteDependencies = Object.keys(dependencies).filter(isSatelliteAddon);
1463
- if (satelliteDependencies.length > 0) {
1464
- try {
1465
- const upgradePromises = satelliteDependencies.map(async (dependency) => {
1466
- try {
1467
- const packageName = isCLIPrerelease ? `${dependency}@next` : dependency;
1468
- const mostRecentVersion = await packageManager.latestVersion(packageName);
1469
- if (!mostRecentVersion) {
1470
- return null;
1471
- }
1472
- const { modifier } = getVersionModifier(dependencies[dependency] ?? "");
1473
- return `${dependency}@${modifier}${mostRecentVersion}`;
1474
- } catch {
1475
- return null;
1476
- }
1477
- });
1478
- const results = await Promise.all(upgradePromises);
1479
- storybookSatelliteUpgrades = results.filter((result) => result !== null);
1480
- } catch (error) {
1481
- logger2.warn("Failed to fetch satellite dependencies");
1482
- }
1483
- }
1484
- }
1485
- return [...storybookCoreUpgrades, ...storybookSatelliteUpgrades];
1486
- }, "generateUpgradeSpecs");
1487
- var upgradeStorybookDependencies = /* @__PURE__ */ __name(async (config) => {
1488
- const { packageManager } = config;
1489
- for (const packageJsonPath of packageManager.packageJsonPaths) {
1490
- const packageJson = JsPackageManager.getPackageJson(packageJsonPath);
1491
- const [upgradedDependencies, upgradedDevDependencies, upgradedPeerDependencies] = await Promise.all([
1492
- generateUpgradeSpecs(packageJson.dependencies, config),
1493
- generateUpgradeSpecs(packageJson.devDependencies, config),
1494
- generateUpgradeSpecs(packageJson.peerDependencies, config)
1495
- ]);
1496
- logger2.debug(JSON.stringify({ upgradedDependencies }, null, 2));
1497
- logger2.debug(JSON.stringify({ upgradedDevDependencies }, null, 2));
1498
- logger2.debug(JSON.stringify({ upgradedPeerDependencies }, null, 2));
1499
- await packageManager.addDependencies(
1500
- {
1501
- type: "dependencies",
1502
- skipInstall: true,
1503
- packageJsonInfo: JsPackageManager.getPackageJsonInfo(packageJsonPath)
1504
- },
1505
- upgradedDependencies
1506
- );
1507
- await packageManager.addDependencies(
1508
- {
1509
- type: "devDependencies",
1510
- skipInstall: true,
1511
- packageJsonInfo: JsPackageManager.getPackageJsonInfo(packageJsonPath)
1512
- },
1513
- upgradedDevDependencies
1514
- );
1515
- await packageManager.addDependencies(
1516
- {
1517
- type: "peerDependencies",
1518
- skipInstall: true,
1519
- packageJsonInfo: JsPackageManager.getPackageJsonInfo(packageJsonPath)
1520
- },
1521
- upgradedPeerDependencies
1522
- );
1523
- }
1524
- }, "upgradeStorybookDependencies");
1525
- var formatProjectDirectories = /* @__PURE__ */ __name((projectData, modifier) => {
1526
- if (projectData.length === 0) {
1527
- return "";
1528
- }
1529
- return projectData.map((project) => project.configDir).map((dir) => `${modifier} ${import_picocolors2.default.cyan(shortenPath(dir))}`).join("\n");
1530
- }, "formatProjectDirectories");
1531
- var shortenPath = /* @__PURE__ */ __name((path) => {
1532
- const gitRoot = getProjectRoot();
1533
- return path.replace(gitRoot, "");
1534
- }, "shortenPath");
1535
- var handleMultipleProjects = /* @__PURE__ */ __name(async (validProjects, errorProjects, detectedConfigDirs, yes) => {
1536
- const allPackageJsonPaths = validProjects.flatMap((data) => data.packageManager.packageJsonPaths).filter(JsPackageManager.hasAnyStorybookDependency);
1537
- const uniquePackageJsonPaths = new Set(allPackageJsonPaths);
1538
- const hasOverlappingStorybooks = uniquePackageJsonPaths.size !== allPackageJsonPaths.length;
1539
- if (hasOverlappingStorybooks) {
1540
- const projectsFoundMessage = [
1541
- "Multiple Storybook projects found. Storybook can only upgrade all projects at once:"
1542
- ];
1543
- if (validProjects.length > 0) {
1544
- projectsFoundMessage.push(formatProjectDirectories(validProjects, logger2.SYMBOLS.success));
1545
- }
1546
- if (errorProjects.length > 0) {
1547
- logTracker.enableLogWriting();
1548
- projectsFoundMessage.push(
1549
- `There were some errors while collecting data for the following projects:
1550
- ${formatProjectDirectories(errorProjects, logger2.SYMBOLS.error)}`,
1551
- "",
1552
- "Full logs will be available in the Storybook debug logs at the end of the run."
1553
- );
1554
- }
1555
- logger2.log(projectsFoundMessage.join("\n"));
1556
- const continueUpgrade = yes || await prompt.confirm({
1557
- message: "Continue with the upgrade?",
1558
- initialValue: true
1559
- });
1560
- if (!continueUpgrade) {
1561
- throw new HandledError("Upgrade cancelled by user");
1562
- }
1563
- return [...validProjects];
1564
- }
1565
- if (detectedConfigDirs.length > 1) {
1566
- const selectedConfigDirs = await prompt.multiselect({
1567
- message: "Select which projects to upgrade",
1568
- options: detectedConfigDirs.map((configDir) => ({
1569
- label: shortenPath(configDir),
1570
- value: configDir
1571
- }))
1572
- });
1573
- return validProjects.filter((data) => selectedConfigDirs.includes(data.configDir));
1574
- }
1575
- return void 0;
1576
- }, "handleMultipleProjects");
1577
- var getProjects = /* @__PURE__ */ __name(async (options) => {
1578
- try {
1579
- const task = prompt.spinner({ id: "detect-projects" });
1580
- task.start("Detecting projects...");
1581
- let detectedConfigDirs = options.configDir ?? [];
1582
- if (!options.configDir || options.configDir.length === 0) {
1583
- detectedConfigDirs = await findStorybookProjects();
1584
- }
1585
- let count = 0;
1586
- const projects = await collectProjects(
1587
- options,
1588
- detectedConfigDirs,
1589
- () => task.message(`Detecting projects: ${++count} projects`)
1590
- );
1591
- task.stop(`${projects.length} ${projects.length > 1 ? "projects" : "project"} detected`);
1592
- const validProjects = projects.filter(isSuccessResult);
1593
- const errorProjects = projects.filter(isErrorResult);
1594
- logger2.debug(
1595
- `Found ${validProjects.length} valid projects and ${errorProjects.length} error projects`
1596
- );
1597
- if (validProjects.length === 1) {
1598
- return { allProjects: validProjects, selectedProjects: validProjects };
1599
- }
1600
- if (validProjects.length === 0 && errorProjects.length > 0) {
1601
- const errorMessage = errorProjects.map((project) => {
1602
- const relativePath = shortenPath(project.configDir);
1603
- return `${relativePath}:
1604
- ${project.error.stack || project.error.message}`;
1605
- }).join("\n");
1606
- throw new Error(
1607
- `\u274C Storybook found errors while collecting data for the following projects:
1608
- ${errorMessage}
1609
- Please fix the errors and run the upgrade command again.`
1610
- );
1611
- }
1612
- const selectedProjects = await handleMultipleProjects(
1613
- validProjects,
1614
- errorProjects,
1615
- detectedConfigDirs,
1616
- options.yes
1617
- );
1618
- return selectedProjects ? { allProjects: validProjects, selectedProjects } : void 0;
1619
- } catch (error) {
1620
- if (!(error instanceof HandledError)) {
1621
- logger2.error("Failed to get projects");
1622
- }
1623
- throw error;
1624
- }
1625
- }, "getProjects");
1626
- var findFilesUp = /* @__PURE__ */ __name((matchers, cwd) => {
1627
- const matchingFiles = [];
1628
- for (const directory of up(cwd, { last: getProjectRoot() })) {
1629
- matchingFiles.push(
1630
- ...globbySync(matchers, {
1631
- gitignore: true,
1632
- absolute: true,
1633
- cwd: directory
1634
- })
1635
- );
1636
- }
1637
- return matchingFiles;
1638
- }, "findFilesUp");
1639
- var getStoriesPathsFromConfig = /* @__PURE__ */ __name(async ({
1640
- stories,
1641
- configDir,
1642
- workingDir
1643
- }) => {
1644
- if (stories.length === 0) {
1645
- return [];
1646
- }
1647
- const normalizedStories = normalizeStories(stories, {
1648
- configDir,
1649
- workingDir
1650
- });
1651
- const matchingStoryFiles = await StoryIndexGenerator.findMatchingFilesForSpecifiers(
1652
- normalizedStories,
1653
- workingDir,
1654
- true
1655
- );
1656
- const storiesPaths = matchingStoryFiles.flatMap(([specifier, cache]) => {
1657
- return StoryIndexGenerator.storyFileNames(/* @__PURE__ */ new Map([[specifier, cache]]));
1658
- });
1659
- return storiesPaths;
1660
- }, "getStoriesPathsFromConfig");
1661
-
1662
- // src/autoblock/utils.ts
1663
- var typedKeys = /* @__PURE__ */ __name((obj) => Object.keys(obj), "typedKeys");
1664
- async function findOutdatedPackage(minimalVersionsMap, options) {
1665
- const list = await Promise.all(
1666
- typedKeys(minimalVersionsMap).map(async (packageName) => ({
1667
- packageName,
1668
- installedVersion: (await options.packageManager.getModulePackageJSON(packageName))?.version ?? null,
1669
- minimumVersion: minimalVersionsMap[packageName]
1670
- }))
1671
- );
1672
- return list.reduce(
1673
- (acc, { installedVersion, minimumVersion, packageName }) => {
1674
- if (acc) {
1675
- return acc;
1676
- }
1677
- if (packageName && installedVersion && (0, import_semver2.lt)(installedVersion, minimumVersion)) {
1678
- return {
1679
- installedVersion,
1680
- packageName,
1681
- minimumVersion
1682
- };
1683
- }
1684
- return acc;
1685
- },
1686
- false
1687
- );
1688
- }
1689
- __name(findOutdatedPackage, "findOutdatedPackage");
1690
- function processAutoblockerResults(projects, onError) {
1691
- const autoblockerMessagesMap = /* @__PURE__ */ new Map();
1692
- projects.forEach((result) => {
1693
- result.autoblockerCheckResults?.forEach((blocker) => {
1694
- if (blocker.result === null || blocker.result === false) {
1695
- return;
1696
- }
1697
- const blockerResult = blocker.blocker.log(blocker.result);
1698
- const message = blockerResult.message;
1699
- const link = blockerResult.link;
1700
- if (autoblockerMessagesMap.has(message)) {
1701
- autoblockerMessagesMap.get(message).configDirs.push(result.configDir);
1702
- } else {
1703
- autoblockerMessagesMap.set(message, {
1704
- title: blockerResult.title,
1705
- message,
1706
- link,
1707
- configDirs: [result.configDir]
1708
- });
1709
- }
1710
- });
1711
- });
1712
- const autoblockerMessages = Array.from(autoblockerMessagesMap.values());
1713
- if (autoblockerMessages.length > 0) {
1714
- const formatConfigDirs = /* @__PURE__ */ __name((configDirs) => {
1715
- const baseMessage = "Affected projects:";
1716
- const relativeDirs = configDirs.map((dir) => shortenPath(dir) || ".");
1717
- if (relativeDirs.length <= 3) {
1718
- return `${baseMessage} ${relativeDirs.join(", ")}`;
1719
- }
1720
- const remaining = relativeDirs.length - 3;
1721
- return `${baseMessage} ${relativeDirs.slice(0, 3).join(", ")}${remaining > 0 ? ` and ${remaining} more...` : ""}`;
1722
- }, "formatConfigDirs");
1723
- const formattedMessages = autoblockerMessages.map((item) => {
1724
- let message = `${CLI_COLORS.warning(item.title)}
1725
-
1726
- ${item.message}
1727
-
1728
- ${formatConfigDirs(item.configDirs)}`;
1729
- if (item.link) {
1730
- message += `
1731
-
1732
- More information: ${item.link}`;
1733
- }
1734
- return message;
1735
- });
1736
- onError(
1737
- `Storybook has found potential blockers that need to be resolved before upgrading:
1738
-
1739
- ${[...formattedMessages].join(`
1740
-
1741
- `)}
1742
-
1743
- ---
1744
-
1745
- After addressing this, you can try running the upgrade command again. You can also rerun the upgrade command with the ${CLI_COLORS.info("--force")} flag to skip the blocker check and to proceed with the upgrade.`
1746
- );
1747
- return true;
1748
- }
1749
- return false;
1750
- }
1751
- __name(processAutoblockerResults, "processAutoblockerResults");
1752
-
1753
- export {
1754
- require_picocolors,
1755
- findOutdatedPackage,
1756
- processAutoblockerResults,
1757
- upgradeStorybookDependencies,
1758
- shortenPath,
1759
- getProjects,
1760
- findFilesUp,
1761
- getFrameworkPackageName,
1762
- getStorybookData,
1763
- updateMainConfig,
1764
- containsESMUsage,
1765
- containsRequireUsage,
1766
- containsDirnameUsage,
1767
- containsFilenameUsage,
1768
- bannerComment,
1769
- hasRequireBanner
1770
- };