@pnpm/exe 11.0.0-alpha.9 → 11.0.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 (219) hide show
  1. package/dist/node_modules/@gar/promise-retry/lib/index.js +28 -0
  2. package/dist/node_modules/@gar/promise-retry/package.json +48 -0
  3. package/dist/node_modules/@npmcli/agent/package.json +7 -7
  4. package/dist/node_modules/@npmcli/fs/package.json +4 -4
  5. package/dist/node_modules/abbrev/package.json +11 -15
  6. package/dist/node_modules/balanced-match/package.json +4 -7
  7. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +1 -1
  8. package/dist/node_modules/brace-expansion/dist/esm/index.js +1 -1
  9. package/dist/node_modules/brace-expansion/package.json +3 -3
  10. package/dist/node_modules/cacache/package.json +10 -11
  11. package/dist/node_modules/glob/dist/commonjs/glob.js +2 -1
  12. package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
  13. package/dist/node_modules/glob/dist/commonjs/pattern.js +4 -0
  14. package/dist/node_modules/glob/dist/esm/glob.js +2 -1
  15. package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
  16. package/dist/node_modules/glob/dist/esm/pattern.js +4 -0
  17. package/dist/node_modules/glob/package.json +38 -37
  18. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +460 -525
  19. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +179 -182
  20. package/dist/node_modules/iconv-lite/encodings/index.js +15 -15
  21. package/dist/node_modules/iconv-lite/encodings/internal.js +168 -148
  22. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +55 -52
  23. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +174 -175
  24. package/dist/node_modules/iconv-lite/encodings/utf16.js +121 -131
  25. package/dist/node_modules/iconv-lite/encodings/utf32.js +226 -238
  26. package/dist/node_modules/iconv-lite/encodings/utf7.js +208 -215
  27. package/dist/node_modules/iconv-lite/lib/bom-handling.js +30 -34
  28. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  29. package/dist/node_modules/iconv-lite/lib/index.js +125 -123
  30. package/dist/node_modules/iconv-lite/lib/streams.js +92 -96
  31. package/dist/node_modules/iconv-lite/package.json +34 -8
  32. package/dist/node_modules/isexe/package.json +65 -18
  33. package/dist/node_modules/lru-cache/dist/commonjs/index.js +134 -85
  34. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  35. package/dist/node_modules/lru-cache/dist/esm/index.js +134 -85
  36. package/dist/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  37. package/dist/node_modules/lru-cache/package.json +18 -41
  38. package/dist/node_modules/make-fetch-happen/lib/remote.js +1 -1
  39. package/dist/node_modules/make-fetch-happen/package.json +10 -10
  40. package/dist/node_modules/minimatch/dist/commonjs/ast.js +266 -21
  41. package/dist/node_modules/minimatch/dist/commonjs/index.js +178 -92
  42. package/dist/node_modules/minimatch/dist/esm/ast.js +266 -21
  43. package/dist/node_modules/minimatch/dist/esm/index.js +178 -92
  44. package/dist/node_modules/minimatch/package.json +4 -4
  45. package/dist/node_modules/minipass/dist/commonjs/index.js +13 -3
  46. package/dist/node_modules/minipass/dist/esm/index.js +3 -1
  47. package/dist/node_modules/minipass/package.json +9 -14
  48. package/dist/node_modules/minipass-fetch/lib/body.js +25 -15
  49. package/dist/node_modules/minipass-fetch/package.json +7 -7
  50. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  51. package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
  52. package/dist/node_modules/minipass-sized/package.json +39 -9
  53. package/dist/node_modules/node-gyp/.release-please-manifest.json +1 -1
  54. package/dist/node_modules/node-gyp/bin/node-gyp.js +7 -0
  55. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  56. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +3 -3
  57. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +26 -1
  58. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +1 -1
  59. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +3 -4
  60. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +1 -1
  61. package/dist/node_modules/node-gyp/gyp/pyproject.toml +1 -1
  62. package/dist/node_modules/node-gyp/lib/build.js +2 -2
  63. package/dist/node_modules/node-gyp/lib/find-python.js +2 -8
  64. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +11 -5
  65. package/dist/node_modules/node-gyp/lib/install.js +1 -1
  66. package/dist/node_modules/node-gyp/lib/process-release.js +3 -3
  67. package/dist/node_modules/node-gyp/package.json +13 -13
  68. package/dist/node_modules/nopt/package.json +5 -5
  69. package/dist/node_modules/path-scurry/package.json +8 -24
  70. package/dist/node_modules/proc-log/lib/index.js +10 -5
  71. package/dist/node_modules/proc-log/package.json +5 -5
  72. package/dist/node_modules/retry/lib/retry.js +2 -2
  73. package/dist/node_modules/retry/lib/retry_operation.js +10 -6
  74. package/dist/node_modules/retry/package.json +6 -2
  75. package/dist/node_modules/ssri/lib/index.js +33 -63
  76. package/dist/node_modules/ssri/package.json +17 -17
  77. package/dist/node_modules/tar/dist/commonjs/index.min.js +2 -2
  78. package/dist/node_modules/tar/dist/commonjs/unpack.js +4 -4
  79. package/dist/node_modules/tar/dist/esm/index.min.js +2 -2
  80. package/dist/node_modules/tar/dist/esm/unpack.js +4 -4
  81. package/dist/node_modules/tar/package.json +6 -6
  82. package/dist/node_modules/unique-filename/package.json +5 -5
  83. package/dist/node_modules/unique-slug/package.json +4 -4
  84. package/dist/node_modules/which/package.json +29 -20
  85. package/dist/pnpm.mjs +225713 -208017
  86. package/dist/worker.js +4838 -5926
  87. package/package.json +10 -10
  88. package/setup.js +12 -14
  89. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js +0 -16
  90. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js +0 -170
  91. package/dist/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js +0 -307
  92. package/dist/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js +0 -7
  93. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.js +0 -322
  94. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.min.js +0 -12
  95. package/dist/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js +0 -49
  96. package/dist/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js +0 -8
  97. package/dist/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js +0 -176
  98. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js +0 -12
  99. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js +0 -167
  100. package/dist/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js +0 -299
  101. package/dist/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js +0 -3
  102. package/dist/node_modules/@isaacs/cliui/dist/esm/index.js +0 -317
  103. package/dist/node_modules/@isaacs/cliui/dist/esm/index.min.js +0 -12
  104. package/dist/node_modules/@isaacs/cliui/dist/esm/string-width/index.js +0 -46
  105. package/dist/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js +0 -4
  106. package/dist/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js +0 -172
  107. package/dist/node_modules/@isaacs/cliui/package.json +0 -163
  108. package/dist/node_modules/cross-spawn/LICENSE +0 -21
  109. package/dist/node_modules/cross-spawn/index.js +0 -39
  110. package/dist/node_modules/cross-spawn/lib/enoent.js +0 -59
  111. package/dist/node_modules/cross-spawn/lib/parse.js +0 -91
  112. package/dist/node_modules/cross-spawn/lib/util/escape.js +0 -47
  113. package/dist/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  114. package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  115. package/dist/node_modules/cross-spawn/package.json +0 -73
  116. package/dist/node_modules/encoding/.prettierrc.js +0 -8
  117. package/dist/node_modules/encoding/LICENSE +0 -16
  118. package/dist/node_modules/encoding/lib/encoding.js +0 -83
  119. package/dist/node_modules/encoding/package.json +0 -18
  120. package/dist/node_modules/err-code/.eslintrc.json +0 -7
  121. package/dist/node_modules/err-code/bower.json +0 -30
  122. package/dist/node_modules/err-code/index.js +0 -47
  123. package/dist/node_modules/err-code/index.umd.js +0 -51
  124. package/dist/node_modules/err-code/package.json +0 -34
  125. package/dist/node_modules/foreground-child/LICENSE +0 -15
  126. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.js +0 -58
  127. package/dist/node_modules/foreground-child/dist/commonjs/index.js +0 -123
  128. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.js +0 -38
  129. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.js +0 -50
  130. package/dist/node_modules/foreground-child/dist/esm/all-signals.js +0 -52
  131. package/dist/node_modules/foreground-child/dist/esm/index.js +0 -115
  132. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.js +0 -34
  133. package/dist/node_modules/foreground-child/dist/esm/watchdog.js +0 -46
  134. package/dist/node_modules/foreground-child/package.json +0 -106
  135. package/dist/node_modules/glob/dist/esm/bin.d.mts +0 -3
  136. package/dist/node_modules/glob/dist/esm/bin.mjs +0 -346
  137. package/dist/node_modules/iconv-lite/.github/dependabot.yml +0 -11
  138. package/dist/node_modules/iconv-lite/.idea/codeStyles/Project.xml +0 -47
  139. package/dist/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +0 -5
  140. package/dist/node_modules/iconv-lite/.idea/iconv-lite.iml +0 -12
  141. package/dist/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +0 -6
  142. package/dist/node_modules/iconv-lite/.idea/modules.xml +0 -8
  143. package/dist/node_modules/iconv-lite/.idea/vcs.xml +0 -6
  144. package/dist/node_modules/isexe/LICENSE +0 -15
  145. package/dist/node_modules/isexe/index.js +0 -57
  146. package/dist/node_modules/isexe/mode.js +0 -41
  147. package/dist/node_modules/isexe/windows.js +0 -42
  148. package/dist/node_modules/jackspeak/dist/commonjs/index.js +0 -944
  149. package/dist/node_modules/jackspeak/dist/commonjs/index.min.js +0 -33
  150. package/dist/node_modules/jackspeak/dist/commonjs/package.json +0 -3
  151. package/dist/node_modules/jackspeak/dist/esm/index.js +0 -936
  152. package/dist/node_modules/jackspeak/dist/esm/index.min.js +0 -33
  153. package/dist/node_modules/jackspeak/dist/esm/package.json +0 -3
  154. package/dist/node_modules/jackspeak/package.json +0 -115
  155. package/dist/node_modules/lru-cache/LICENSE +0 -15
  156. package/dist/node_modules/minipass/LICENSE +0 -15
  157. package/dist/node_modules/minipass-sized/index.js +0 -67
  158. package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +0 -15
  159. package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +0 -649
  160. package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +0 -56
  161. package/dist/node_modules/minipass-sized/package-lock.json +0 -3464
  162. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/package.json +0 -3
  163. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/package.json +0 -3
  164. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +0 -78
  165. package/dist/node_modules/node-gyp/node_modules/which/LICENSE +0 -15
  166. package/dist/node_modules/node-gyp/node_modules/which/package.json +0 -52
  167. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.js +0 -134
  168. package/dist/node_modules/package-json-from-dist/dist/commonjs/package.json +0 -3
  169. package/dist/node_modules/package-json-from-dist/dist/esm/index.js +0 -129
  170. package/dist/node_modules/package-json-from-dist/dist/esm/package.json +0 -3
  171. package/dist/node_modules/package-json-from-dist/package.json +0 -68
  172. package/dist/node_modules/path-key/index.js +0 -16
  173. package/dist/node_modules/path-key/license +0 -9
  174. package/dist/node_modules/path-key/package.json +0 -39
  175. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +0 -1589
  176. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  177. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  178. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +0 -1585
  179. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  180. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +0 -3
  181. package/dist/node_modules/path-scurry/node_modules/lru-cache/package.json +0 -101
  182. package/dist/node_modules/promise-retry/index.js +0 -52
  183. package/dist/node_modules/promise-retry/package.json +0 -37
  184. package/dist/node_modules/retry/equation.gif +0 -0
  185. package/dist/node_modules/shebang-command/index.js +0 -19
  186. package/dist/node_modules/shebang-command/license +0 -9
  187. package/dist/node_modules/shebang-command/package.json +0 -34
  188. package/dist/node_modules/shebang-regex/index.js +0 -2
  189. package/dist/node_modules/shebang-regex/license +0 -9
  190. package/dist/node_modules/shebang-regex/package.json +0 -35
  191. package/dist/node_modules/signal-exit/LICENSE.txt +0 -16
  192. package/dist/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  193. package/dist/node_modules/signal-exit/dist/cjs/index.js +0 -279
  194. package/dist/node_modules/signal-exit/dist/cjs/package.json +0 -3
  195. package/dist/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  196. package/dist/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  197. package/dist/node_modules/signal-exit/dist/mjs/index.js +0 -275
  198. package/dist/node_modules/signal-exit/dist/mjs/package.json +0 -3
  199. package/dist/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  200. package/dist/node_modules/signal-exit/package.json +0 -106
  201. package/dist/node_modules/which/bin/node-which +0 -52
  202. package/dist/node_modules/which/which.js +0 -125
  203. /package/dist/node_modules/{promise-retry → @gar/promise-retry}/LICENSE +0 -0
  204. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/index.js +0 -0
  205. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/index.min.js +0 -0
  206. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/options.js +0 -0
  207. /package/dist/node_modules/{@isaacs/cliui → isexe}/dist/commonjs/package.json +0 -0
  208. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/posix.js +0 -0
  209. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/win32.js +0 -0
  210. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/index.js +0 -0
  211. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/index.min.js +0 -0
  212. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/options.js +0 -0
  213. /package/dist/node_modules/{@isaacs/cliui → isexe}/dist/esm/package.json +0 -0
  214. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/posix.js +0 -0
  215. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/win32.js +0 -0
  216. /package/dist/node_modules/{foreground-child → minipass-sized}/dist/commonjs/package.json +0 -0
  217. /package/dist/node_modules/{foreground-child → minipass-sized}/dist/esm/package.json +0 -0
  218. /package/dist/node_modules/{node-gyp/node_modules/which → which}/bin/which.js +0 -0
  219. /package/dist/node_modules/{node-gyp/node_modules/which → which}/lib/index.js +0 -0
@@ -1,322 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cliui = exports.UI = void 0;
4
- const index_js_1 = require("./string-width/index.js");
5
- const index_js_2 = require("./strip-ansi/index.js");
6
- const index_js_3 = require("./wrap-ansi/index.js");
7
- const align = {
8
- right: (str, width) => `${' '.repeat(Math.max(0, width - (0, index_js_1.stringWidth)(str)))}${str}`,
9
- center: (str, width) => `${' '.repeat(Math.max(0, width - (0, index_js_1.stringWidth)(str)) >> 1)}${str}`,
10
- };
11
- const top = 0;
12
- const right = 1;
13
- const bottom = 2;
14
- const left = 3;
15
- class UI {
16
- width;
17
- wrap;
18
- rows;
19
- constructor(opts) {
20
- this.width = opts.width;
21
- /* c8 ignore start */
22
- this.wrap = opts.wrap ?? true;
23
- /* c8 ignore stop */
24
- this.rows = [];
25
- }
26
- span(...args) {
27
- const cols = this.div(...args);
28
- cols.span = true;
29
- }
30
- resetOutput() {
31
- this.rows = [];
32
- }
33
- div(...args) {
34
- if (args.length === 0) {
35
- this.div('');
36
- }
37
- if (this.wrap &&
38
- this.shouldApplyLayoutDSL(...args) &&
39
- typeof args[0] === 'string') {
40
- return this.applyLayoutDSL(args[0]);
41
- }
42
- const cols = Object.assign(args.map(arg => {
43
- if (typeof arg === 'string') {
44
- return this.colFromString(arg);
45
- }
46
- return arg;
47
- }), { span: false });
48
- this.rows.push(cols);
49
- return cols;
50
- }
51
- shouldApplyLayoutDSL(...args) {
52
- return (args.length === 1 &&
53
- typeof args[0] === 'string' &&
54
- /[\t\n]/.test(args[0]));
55
- }
56
- applyLayoutDSL(str) {
57
- const rows = str.split('\n').map(row => row.split('\t'));
58
- let leftColumnWidth = 0;
59
- // simple heuristic for layout, make sure the
60
- // second column lines up along the left-hand.
61
- // don't allow the first column to take up more
62
- // than 50% of the screen.
63
- rows.forEach(columns => {
64
- if (columns.length > 1 &&
65
- (0, index_js_1.stringWidth)(String(columns[0])) > leftColumnWidth) {
66
- leftColumnWidth = Math.min(Math.floor(this.width * 0.5), (0, index_js_1.stringWidth)(String(columns[0])));
67
- }
68
- });
69
- // generate a table:
70
- // replacing ' ' with padding calculations.
71
- // using the algorithmically generated width.
72
- rows.forEach(columns => {
73
- this.div(...columns.map((r, i) => {
74
- return {
75
- text: r.trim(),
76
- padding: this.measurePadding(r),
77
- width: i === 0 && columns.length > 1 ? leftColumnWidth : undefined,
78
- };
79
- }));
80
- });
81
- const row = this.rows[this.rows.length - 1];
82
- /* c8 ignore start */
83
- if (!row) {
84
- throw new Error('no rows found');
85
- }
86
- /* c8 ignore stop */
87
- return row;
88
- }
89
- colFromString(text) {
90
- return {
91
- text,
92
- padding: this.measurePadding(text),
93
- };
94
- }
95
- measurePadding(str) {
96
- // measure padding without ansi escape codes
97
- const noAnsi = (0, index_js_2.stripAnsi)(str);
98
- const [right = '', left = ''] = [
99
- noAnsi.match(/\s*$/)?.[0],
100
- noAnsi.match(/^\s*/)?.[0],
101
- ];
102
- return [0, right.length, 0, left.length];
103
- }
104
- toString() {
105
- const lines = [];
106
- this.rows.forEach(row => {
107
- this.rowToString(row, lines);
108
- });
109
- // don't display any lines with the
110
- // hidden flag set.
111
- return lines
112
- .filter(line => !line.hidden)
113
- .map(line => line.text)
114
- .join('\n');
115
- }
116
- rowToString(row, lines) {
117
- this.rasterize(row).forEach((rrow, r) => {
118
- let str = '';
119
- rrow.forEach((col, c) => {
120
- const column = row[c];
121
- const { width } = column; // the width with padding.
122
- const wrapWidth = this.negatePadding(column); // the width without padding.
123
- let ts = col; // temporary string used during alignment/padding.
124
- if (wrapWidth > (0, index_js_1.stringWidth)(col)) {
125
- ts += ' '.repeat(wrapWidth - (0, index_js_1.stringWidth)(col));
126
- }
127
- // align the string within its column.
128
- if (column.align && column.align !== 'left' && this.wrap) {
129
- const fn = align[column.align];
130
- ts = fn(ts.trim(), wrapWidth);
131
- if ((0, index_js_1.stringWidth)(ts) < wrapWidth) {
132
- /* c8 ignore start */
133
- const w = width || 0;
134
- /* c8 ignore stop */
135
- ts += ' '.repeat(w - (0, index_js_1.stringWidth)(ts) - 1);
136
- }
137
- }
138
- // apply border and padding to string.
139
- const padding = column.padding || [0, 0, 0, 0];
140
- if (padding[left]) {
141
- str += ' '.repeat(padding[left]);
142
- }
143
- str += addBorder(column, ts, '| ');
144
- str += ts;
145
- str += addBorder(column, ts, ' |');
146
- if (padding[right]) {
147
- str += ' '.repeat(padding[right]);
148
- }
149
- // if prior row is span, try to render the
150
- // current row on the prior line.
151
- if (r === 0 && lines.length > 0) {
152
- const lastLine = lines[lines.length - 1];
153
- /* c8 ignore start */
154
- if (!lastLine) {
155
- throw new Error('last line not found');
156
- }
157
- /* c8 ignore stop */
158
- str = this.renderInline(str, lastLine);
159
- }
160
- });
161
- // remove trailing whitespace.
162
- lines.push({
163
- text: str.replace(/ +$/, ''),
164
- span: row.span,
165
- });
166
- });
167
- return lines;
168
- }
169
- // if the full 'source' can render in
170
- // the target line, do so.
171
- renderInline(source, previousLine) {
172
- const match = source.match(/^ */);
173
- /* c8 ignore start */
174
- const leadingWhitespace = match ? match[0].length : 0;
175
- /* c8 ignore stop */
176
- const target = previousLine.text;
177
- const targetTextWidth = (0, index_js_1.stringWidth)(target.trimEnd());
178
- if (!previousLine.span) {
179
- return source;
180
- }
181
- // if we're not applying wrapping logic,
182
- // just always append to the span.
183
- if (!this.wrap) {
184
- previousLine.hidden = true;
185
- return target + source;
186
- }
187
- if (leadingWhitespace < targetTextWidth) {
188
- return source;
189
- }
190
- previousLine.hidden = true;
191
- return (target.trimEnd() +
192
- ' '.repeat(leadingWhitespace - targetTextWidth) +
193
- source.trimStart());
194
- }
195
- rasterize(row) {
196
- const rrows = [];
197
- const widths = this.columnWidths(row);
198
- let wrapped;
199
- // word wrap all columns, and create
200
- // a data-structure that is easy to rasterize.
201
- row.forEach((col, c) => {
202
- // leave room for left and right padding.
203
- col.width = widths[c];
204
- if (this.wrap) {
205
- wrapped = (0, index_js_3.wrap)(col.text, this.negatePadding(col), {
206
- hard: true,
207
- }).split('\n');
208
- }
209
- else {
210
- wrapped = col.text.split('\n');
211
- }
212
- if (col.border) {
213
- wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');
214
- wrapped.push("'" + '-'.repeat(this.negatePadding(col) + 2) + "'");
215
- }
216
- // add top and bottom padding.
217
- if (col.padding) {
218
- wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));
219
- wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));
220
- }
221
- wrapped.forEach((str, r) => {
222
- if (!rrows[r]) {
223
- rrows.push([]);
224
- }
225
- /* c8 ignore start */
226
- const rrow = rrows[r] ?? [];
227
- /* c8 ignore stop */
228
- for (let i = 0; i < c; i++) {
229
- if (rrow[i] === undefined) {
230
- rrow.push('');
231
- }
232
- }
233
- rrow.push(str);
234
- });
235
- });
236
- return rrows;
237
- }
238
- negatePadding(col) {
239
- /* c8 ignore start */
240
- let wrapWidth = col.width || 0;
241
- /* c8 ignore stop */
242
- if (col.padding) {
243
- wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
244
- }
245
- if (col.border) {
246
- wrapWidth -= 4;
247
- }
248
- return wrapWidth;
249
- }
250
- columnWidths(row) {
251
- if (!this.wrap) {
252
- return row.map(col => {
253
- return col.width || (0, index_js_1.stringWidth)(col.text);
254
- });
255
- }
256
- let unset = row.length;
257
- let remainingWidth = this.width;
258
- // column widths can be set in config.
259
- const widths = row.map(col => {
260
- if (col.width) {
261
- unset--;
262
- remainingWidth -= col.width;
263
- return col.width;
264
- }
265
- return undefined;
266
- });
267
- // any unset widths should be calculated.
268
- /* c8 ignore start */
269
- const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
270
- /* c8 ignore stop */
271
- return widths.map((w, i) => {
272
- if (w === undefined) {
273
- /* c8 ignore start */
274
- const col = row[i] ?? { text: '', padding: [] };
275
- /* c8 ignore stop */
276
- return Math.max(unsetWidth, _minWidth(col));
277
- }
278
- return w;
279
- });
280
- }
281
- }
282
- exports.UI = UI;
283
- const addBorder = (col, ts, style) => {
284
- if (col.border) {
285
- if (/[.']-+[.']/.test(ts)) {
286
- return '';
287
- }
288
- if (ts.trim().length !== 0) {
289
- return style;
290
- }
291
- return ' ';
292
- }
293
- return '';
294
- };
295
- // calculates the minimum width of
296
- // a column, based on padding preferences.
297
- const _minWidth = (col) => {
298
- const padding = col.padding || [];
299
- const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
300
- if (col.border) {
301
- return minWidth + 4;
302
- }
303
- return minWidth;
304
- };
305
- const getWindowWidth = () => {
306
- /* c8 ignore start */
307
- if (typeof process === 'object' &&
308
- process.stdout &&
309
- process.stdout.columns) {
310
- return process.stdout.columns;
311
- }
312
- return 80;
313
- };
314
- /* c8 ignore stop */
315
- const cliui = (opts = {}) => new UI({
316
- /* c8 ignore start */
317
- width: opts?.width || getWindowWidth(),
318
- wrap: opts?.wrap,
319
- /* c8 ignore stop */
320
- });
321
- exports.cliui = cliui;
322
- //# sourceMappingURL=index.js.map
@@ -1,12 +0,0 @@
1
- "use strict";var c=(F,u)=>()=>(u||F((u={exports:{}}).exports,u),u.exports);var L=c(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.ansiRegex=void 0;var V=({onlyFirst:F=!1}={})=>{let t="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(t,F?void 0:"g")};g.ansiRegex=V});var p=c(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});l.stripAnsi=void 0;var Y=L(),K=(0,Y.ansiRegex)(),Z=F=>F.replace(K,"");l.stripAnsi=Z});var k=c(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.slice=x.length=x.stringToArray=x.characterLength=x.eastAsianWidth=void 0;var J=F=>{var u=F.charCodeAt(0),C=F.length==2?F.charCodeAt(1):0,D=u;return 55296<=u&&u<=56319&&56320<=C&&C<=57343&&(u&=1023,C&=1023,D=u<<10|C,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?"F":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?"H":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?"W":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?"Na":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?"A":"N"};x.eastAsianWidth=J;var Q=F=>{var u=(0,x.eastAsianWidth)(F);return u=="F"||u=="W"||u=="A"?2:1};x.characterLength=Q;var X=F=>F.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[];x.stringToArray=X;var DD=F=>{var u=(0,x.stringToArray)(F),C=0;for(let D of u)C=C+(0,x.characterLength)(D);return C};x.length=DD;var uD=(F,u,C)=>{let D=(0,x.length)(F);u=u||0,C=C||1,u<0&&(u=D+u),C<0&&(C=D+C);var t="",e=0,E=(0,x.stringToArray)(F);for(let r of E){var i=(0,x.length)(r);if(e>=u-(i==2?1:0))if(e+i<=C)t+=r;else break;e+=i}return t};x.slice=uD});var R=c(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.emojiRegex=void 0;var FD=()=>/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\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])|\uD83C[\uDF3E\uDF73\uDF7C\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\uDF7C\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\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\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\uDF7C\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\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\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\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\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-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*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\u26A7\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-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\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[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;b.emojiRegex=FD});var v=c($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.stringWidth=ED;var CD=p(),eD=k(),tD=R();function ED(F,u={}){if(typeof F!="string"||F.length===0||(u={ambiguousIsNarrow:!0,...u},F=(0,CD.stripAnsi)(F),F.length===0))return 0;F=F.replace((0,tD.emojiRegex)()," ");let C=u.ambiguousIsNarrow?1:2,D=0;for(let t of F){let e=t.codePointAt(0);if(!e||e<=31||e>=127&&e<=159||e>=768&&e<=879)continue;switch((0,eD.eastAsianWidth)(t)){case"F":case"W":D+=2;break;case"A":D+=C;break;default:D+=1}}return D}});var O=c(s=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0});s.ansiStyles=s.codes=s.colorNames=s.backgroundColorNames=s.foregroundColorNames=s.modifierNames=void 0;var A={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};s.modifierNames=Object.keys(A.modifier);s.foregroundColorNames=Object.keys(A.color);s.backgroundColorNames=Object.keys(A.bgColor);s.colorNames=[...s.foregroundColorNames,...s.backgroundColorNames];var m=class{};s.codes=new Map;var M=F=>Object.fromEntries(Object.entries(F).map(([u,[C,D]])=>(s.codes.set(C,D),[u,m.prototype[u]={open:`\x1B[${C}m`,close:`\x1B[${D}m`}])));s.ansiStyles=new class extends m{codes=s.codes;modifier=M(A.modifier);color={...M(A.color),close:"\x1B[39m",ansi:F=>`\x1B[${F}m`,ansi256:F=>`\x1B[38;5;${F}m`,ansi16m:(F,u,C)=>`\x1B[38;2;${F};${u};${C}m`};bgColor={...M(A.bgColor),close:"\x1B[49m",ansi:F=>`\x1B[${F+10}m`,ansi256:F=>`\x1B[48;5;${F}m`,ansi16m:(F,u,C)=>`\x1B[48;2;${F};${u};${C}m`};rgbToAnsi256(F,u,C){return F===u&&u===C?F<8?16:F>248?231:Math.round((F-8)/247*24)+232:16+36*Math.round(F/255*5)+6*Math.round(u/255*5)+Math.round(C/255*5)}hexToRgb(F){let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec(F.toString(16));if(!u)return[0,0,0];let[C]=u;C.length===3&&(C=[...C].map(t=>t+t).join(""));let D=Number.parseInt(C,16);return[D>>16&255,D>>8&255,D&255]}hexToAnsi256(F){return this.rgbToAnsi256(...this.hexToRgb(F))}ansi256ToAnsi(F){if(F<8)return 30+F;if(F<16)return 90+(F-8);let u,C,D;if(F>=232)u=((F-232)*10+8)/255,C=u,D=u;else{F-=16;let E=F%36;u=Math.floor(F/36)/5,C=Math.floor(E/6)/5,D=E%6/5}let t=Math.max(u,C,D)*2;if(t===0)return 30;let e=30+(Math.round(D)<<2|Math.round(C)<<1|Math.round(u));return t===2&&(e+=60),e}rgbToAnsi(F,u,C){return this.ansi256ToAnsi(this.rgbToAnsi256(F,u,C))}hexToAnsi(F){return this.ansi256ToAnsi(this.hexToAnsi256(F))}}});var H=c(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.wrap=void 0;var h=v(),iD=p(),rD=O(),w=new Set(["\x1B","\x9B"]),nD=39,T="\x07",G="[",xD="]",z="m",P=`${xD}8;;`,I=F=>`${w.values().next().value}${G}${F}${z}`,q=F=>`${w.values().next().value}${P}${F}${T}`,sD=F=>F.split(" ").map(u=>(0,h.stringWidth)(u)),N=(F,u,C)=>{let D=[...u],t=!1,e=!1,E=(0,h.stringWidth)((0,iD.stripAnsi)(String(F[F.length-1])));for(let[i,r]of D.entries()){let f=(0,h.stringWidth)(r);if(E+f<=C?F[F.length-1]+=r:(F.push(r),E=0),w.has(r)&&(t=!0,e=D.slice(i+1).join("").startsWith(P)),t){e?r===T&&(t=!1,e=!1):r===z&&(t=!1);continue}E+=f,E===C&&i<D.length-1&&(F.push(""),E=0)}!E&&String(F[F.length-1]).length>0&&F.length>1&&(F[F.length-2]=String(F[F.length-1])+F.pop())},BD=F=>{let u=F.split(" "),C=u.length;for(;C>0&&!((0,h.stringWidth)(String(u[C-1]))>0);)C--;return C===u.length?F:u.slice(0,C).join(" ")+u.slice(C).join("")},aD=(F,u,C={})=>{if(C.trim!==!1&&F.trim()==="")return"";let D="",t,e,E=sD(F),i=[""];for(let[f,B]of F.split(" ").entries()){C.trim!==!1&&(i[i.length-1]=String(i[i.length-1]).trimStart());let n=(0,h.stringWidth)(String(i[i.length-1]));f!==0&&(n>=u&&(C.wordWrap===!1||C.trim===!1)&&(i.push(""),n=0),(n>0||C.trim===!1)&&(i[i.length-1]+=" ",n++));let a=Number(E[f]);if(C.hard&&a>u){let d=u-n,j=1+Math.floor((a-d-1)/u);Math.floor((a-1)/u)<j&&i.push(""),N(i,B,u);continue}if(n+a>u&&n>0&&a>0){if(C.wordWrap===!1&&n<u){N(i,B,u);continue}i.push("")}if(n+a>u&&C.wordWrap===!1){N(i,B,u);continue}i[i.length-1]+=B}C.trim!==!1&&(i=i.map(f=>BD(f)));let r=[...i.join(`
2
- `)];for(let[f,B]of r.entries()){if(D+=B,w.has(B)){let{groups:a}=new RegExp(`(?:\\${G}(?<code>\\d+)m|\\${P}(?<uri>.*)${T})`).exec(r.slice(f).join(""))||{groups:{}};if(a.code!==void 0){let d=Number.parseFloat(a.code);t=d===nD?void 0:d}else a.uri!==void 0&&(e=a.uri.length===0?void 0:a.uri)}let n=rD.ansiStyles.codes.get(Number(t));r[f+1]===`
3
- `?(e&&(D+=q("")),t&&n&&(D+=I(n))):B===`
4
- `&&(t&&n&&(D+=I(t)),e&&(D+=q(e)))}return D},fD=(F,u,C)=>String(F).normalize().replace(/\r\n/g,`
5
- `).split(`
6
- `).map(D=>aD(D,u,C)).join(`
7
- `);y.wrap=fD});Object.defineProperty(exports,"__esModule",{value:!0});exports.cliui=exports.UI=void 0;var o=v(),oD=p(),dD=H(),cD={right:(F,u)=>`${" ".repeat(Math.max(0,u-(0,o.stringWidth)(F)))}${F}`,center:(F,u)=>`${" ".repeat(Math.max(0,u-(0,o.stringWidth)(F))>>1)}${F}`},AD=0,W=1,hD=2,_=3,S=class{width;wrap;rows;constructor(u){this.width=u.width,this.wrap=u.wrap??!0,this.rows=[]}span(...u){let C=this.div(...u);C.span=!0}resetOutput(){this.rows=[]}div(...u){if(u.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...u)&&typeof u[0]=="string")return this.applyLayoutDSL(u[0]);let C=Object.assign(u.map(D=>typeof D=="string"?this.colFromString(D):D),{span:!1});return this.rows.push(C),C}shouldApplyLayoutDSL(...u){return u.length===1&&typeof u[0]=="string"&&/[\t\n]/.test(u[0])}applyLayoutDSL(u){let C=u.split(`
8
- `).map(e=>e.split(" ")),D=0;C.forEach(e=>{e.length>1&&(0,o.stringWidth)(String(e[0]))>D&&(D=Math.min(Math.floor(this.width*.5),(0,o.stringWidth)(String(e[0]))))}),C.forEach(e=>{this.div(...e.map((E,i)=>({text:E.trim(),padding:this.measurePadding(E),width:i===0&&e.length>1?D:void 0})))});let t=this.rows[this.rows.length-1];if(!t)throw new Error("no rows found");return t}colFromString(u){return{text:u,padding:this.measurePadding(u)}}measurePadding(u){let C=(0,oD.stripAnsi)(u),[D="",t=""]=[C.match(/\s*$/)?.[0],C.match(/^\s*/)?.[0]];return[0,D.length,0,t.length]}toString(){let u=[];return this.rows.forEach(C=>{this.rowToString(C,u)}),u.filter(C=>!C.hidden).map(C=>C.text).join(`
9
- `)}rowToString(u,C){return this.rasterize(u).forEach((D,t)=>{let e="";D.forEach((E,i)=>{let r=u[i],{width:f}=r,B=this.negatePadding(r),n=E;if(B>(0,o.stringWidth)(E)&&(n+=" ".repeat(B-(0,o.stringWidth)(E))),r.align&&r.align!=="left"&&this.wrap){let d=cD[r.align];if(n=d(n.trim(),B),(0,o.stringWidth)(n)<B){let j=f||0;n+=" ".repeat(j-(0,o.stringWidth)(n)-1)}}let a=r.padding||[0,0,0,0];if(a[_]&&(e+=" ".repeat(a[_])),e+=U(r,n,"| "),e+=n,e+=U(r,n," |"),a[W]&&(e+=" ".repeat(a[W])),t===0&&C.length>0){let d=C[C.length-1];if(!d)throw new Error("last line not found");e=this.renderInline(e,d)}}),C.push({text:e.replace(/ +$/,""),span:u.span})}),C}renderInline(u,C){let D=u.match(/^ */),t=D?D[0].length:0,e=C.text,E=(0,o.stringWidth)(e.trimEnd());return C.span?this.wrap?t<E?u:(C.hidden=!0,e.trimEnd()+" ".repeat(t-E)+u.trimStart()):(C.hidden=!0,e+u):u}rasterize(u){let C=[],D=this.columnWidths(u),t;return u.forEach((e,E)=>{e.width=D[E],this.wrap?t=(0,dD.wrap)(e.text,this.negatePadding(e),{hard:!0}).split(`
10
- `):t=e.text.split(`
11
- `),e.border&&(t.unshift("."+"-".repeat(this.negatePadding(e)+2)+"."),t.push("'"+"-".repeat(this.negatePadding(e)+2)+"'")),e.padding&&(t.unshift(...new Array(e.padding[AD]||0).fill("")),t.push(...new Array(e.padding[hD]||0).fill(""))),t.forEach((i,r)=>{C[r]||C.push([]);let f=C[r]??[];for(let B=0;B<E;B++)f[B]===void 0&&f.push("");f.push(i)})}),C}negatePadding(u){let C=u.width||0;return u.padding&&(C-=(u.padding[_]||0)+(u.padding[W]||0)),u.border&&(C-=4),C}columnWidths(u){if(!this.wrap)return u.map(E=>E.width||(0,o.stringWidth)(E.text));let C=u.length,D=this.width,t=u.map(E=>{if(E.width)return C--,D-=E.width,E.width}),e=C?Math.floor(D/C):0;return t.map((E,i)=>{if(E===void 0){let r=u[i]??{text:"",padding:[]};return Math.max(e,gD(r))}return E})}};exports.UI=S;var U=(F,u,C)=>F.border?/[.']-+[.']/.test(u)?"":u.trim().length!==0?C:" ":"",gD=F=>{let u=F.padding||[],C=1+(u[_]||0)+(u[W]||0);return F.border?C+4:C},lD=()=>typeof process=="object"&&process.stdout&&process.stdout.columns?process.stdout.columns:80,pD=(F={})=>new S({width:F?.width||lD(),wrap:F?.wrap});exports.cliui=pD;
12
- //# sourceMappingURL=index.min.js.map
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringWidth = stringWidth;
4
- const index_js_1 = require("../strip-ansi/index.js");
5
- const index_js_2 = require("../eastasianwidth/index.js");
6
- const index_js_3 = require("../emoji-regex/index.js");
7
- function stringWidth(str, options = {}) {
8
- if (typeof str !== "string" || str.length === 0) {
9
- return 0;
10
- }
11
- options = {
12
- ambiguousIsNarrow: true,
13
- ...options,
14
- };
15
- str = (0, index_js_1.stripAnsi)(str);
16
- if (str.length === 0) {
17
- return 0;
18
- }
19
- str = str.replace((0, index_js_3.emojiRegex)(), " ");
20
- const ambiguousCharacterWidth = options.ambiguousIsNarrow ? 1 : 2;
21
- let width = 0;
22
- for (const character of str) {
23
- const codePoint = character.codePointAt(0);
24
- // Ignore control characters
25
- if (!codePoint ||
26
- codePoint <= 0x1f ||
27
- (codePoint >= 0x7f && codePoint <= 0x9f)) {
28
- continue;
29
- }
30
- // Ignore combining characters
31
- if (codePoint >= 0x300 && codePoint <= 0x36f) {
32
- continue;
33
- }
34
- const code = (0, index_js_2.eastAsianWidth)(character);
35
- switch (code) {
36
- case "F":
37
- case "W":
38
- width += 2;
39
- break;
40
- case "A":
41
- width += ambiguousCharacterWidth;
42
- break;
43
- default:
44
- width += 1;
45
- }
46
- }
47
- return width;
48
- }
49
- //# sourceMappingURL=index.js.map
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripAnsi = void 0;
4
- const index_js_1 = require("../ansi-regex/index.js");
5
- const regex = (0, index_js_1.ansiRegex)();
6
- const stripAnsi = (str) => str.replace(regex, "");
7
- exports.stripAnsi = stripAnsi;
8
- //# sourceMappingURL=index.js.map
@@ -1,176 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrap = void 0;
4
- const index_js_1 = require("../string-width/index.js");
5
- const index_js_2 = require("../strip-ansi/index.js");
6
- const index_js_3 = require("../ansi-styles/index.js");
7
- const ESCAPES = new Set(["\u001B", "\u009B"]);
8
- const END_CODE = 39;
9
- const ANSI_ESCAPE_BELL = "\u0007";
10
- const ANSI_CSI = "[";
11
- const ANSI_OSC = "]";
12
- const ANSI_SGR_TERMINATOR = "m";
13
- const ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
14
- const wrapAnsiCode = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
15
- const wrapAnsiHyperlink = (uri) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;
16
- // Calculate the length of words split on ' ', ignoring
17
- // the extra characters added by ansi escape codes
18
- const wordLengths = (str) => str.split(" ").map((character) => (0, index_js_1.stringWidth)(character));
19
- // Wrap a long word across multiple rows
20
- // Ansi escape codes do not count towards length
21
- const wrapWord = (rows, word, columns) => {
22
- const characters = [...word];
23
- let isInsideEscape = false;
24
- let isInsideLinkEscape = false;
25
- let visible = (0, index_js_1.stringWidth)((0, index_js_2.stripAnsi)(String(rows[rows.length - 1])));
26
- for (const [index, character] of characters.entries()) {
27
- const characterLength = (0, index_js_1.stringWidth)(character);
28
- if (visible + characterLength <= columns) {
29
- rows[rows.length - 1] += character;
30
- }
31
- else {
32
- rows.push(character);
33
- visible = 0;
34
- }
35
- if (ESCAPES.has(character)) {
36
- isInsideEscape = true;
37
- isInsideLinkEscape = characters
38
- .slice(index + 1)
39
- .join("")
40
- .startsWith(ANSI_ESCAPE_LINK);
41
- }
42
- if (isInsideEscape) {
43
- if (isInsideLinkEscape) {
44
- if (character === ANSI_ESCAPE_BELL) {
45
- isInsideEscape = false;
46
- isInsideLinkEscape = false;
47
- }
48
- }
49
- else if (character === ANSI_SGR_TERMINATOR) {
50
- isInsideEscape = false;
51
- }
52
- continue;
53
- }
54
- visible += characterLength;
55
- if (visible === columns && index < characters.length - 1) {
56
- rows.push("");
57
- visible = 0;
58
- }
59
- }
60
- // It's possible that the last row we copy over is only
61
- // ansi escape characters, handle this edge-case
62
- if (!visible && String(rows[rows.length - 1]).length > 0 && rows.length > 1) {
63
- rows[rows.length - 2] = String(rows[rows.length - 1]) + rows.pop();
64
- }
65
- };
66
- // Trims spaces from a string ignoring invisible sequences
67
- const stringVisibleTrimSpacesRight = (str) => {
68
- const words = str.split(" ");
69
- let last = words.length;
70
- while (last > 0) {
71
- if ((0, index_js_1.stringWidth)(String(words[last - 1])) > 0) {
72
- break;
73
- }
74
- last--;
75
- }
76
- if (last === words.length) {
77
- return str;
78
- }
79
- return words.slice(0, last).join(" ") + words.slice(last).join("");
80
- };
81
- const exec = (str, columns, options = {}) => {
82
- if (options.trim !== false && str.trim() === "") {
83
- return "";
84
- }
85
- let returnValue = "";
86
- let escapeCode;
87
- let escapeUrl;
88
- const lengths = wordLengths(str);
89
- let rows = [""];
90
- for (const [index, word] of str.split(" ").entries()) {
91
- if (options.trim !== false) {
92
- rows[rows.length - 1] = String(rows[rows.length - 1]).trimStart();
93
- }
94
- let rowLength = (0, index_js_1.stringWidth)(String(rows[rows.length - 1]));
95
- if (index !== 0) {
96
- if (rowLength >= columns &&
97
- (options.wordWrap === false || options.trim === false)) {
98
- // If we start with a new word but the current row length equals the length of the columns, add a new row
99
- rows.push("");
100
- rowLength = 0;
101
- }
102
- if (rowLength > 0 || options.trim === false) {
103
- rows[rows.length - 1] += " ";
104
- rowLength++;
105
- }
106
- }
107
- // In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'
108
- const len = Number(lengths[index]);
109
- if (options.hard && len > columns) {
110
- const remainingColumns = columns - rowLength;
111
- const breaksStartingThisLine = 1 + Math.floor((len - remainingColumns - 1) / columns);
112
- const breaksStartingNextLine = Math.floor((len - 1) / columns);
113
- if (breaksStartingNextLine < breaksStartingThisLine) {
114
- rows.push("");
115
- }
116
- wrapWord(rows, word, columns);
117
- continue;
118
- }
119
- if (rowLength + len > columns && rowLength > 0 && len > 0) {
120
- if (options.wordWrap === false && rowLength < columns) {
121
- wrapWord(rows, word, columns);
122
- continue;
123
- }
124
- rows.push("");
125
- }
126
- if (rowLength + len > columns && options.wordWrap === false) {
127
- wrapWord(rows, word, columns);
128
- continue;
129
- }
130
- rows[rows.length - 1] += word;
131
- }
132
- if (options.trim !== false) {
133
- rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
134
- }
135
- const pre = [...rows.join("\n")];
136
- for (const [index, character] of pre.entries()) {
137
- returnValue += character;
138
- if (ESCAPES.has(character)) {
139
- const { groups } = (new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join("")) || { groups: {} });
140
- if (groups.code !== undefined) {
141
- const code = Number.parseFloat(groups.code);
142
- escapeCode = code === END_CODE ? undefined : code;
143
- }
144
- else if (groups.uri !== undefined) {
145
- escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
146
- }
147
- }
148
- const code = index_js_3.ansiStyles.codes.get(Number(escapeCode));
149
- if (pre[index + 1] === "\n") {
150
- if (escapeUrl) {
151
- returnValue += wrapAnsiHyperlink("");
152
- }
153
- if (escapeCode && code) {
154
- returnValue += wrapAnsiCode(code);
155
- }
156
- }
157
- else if (character === "\n") {
158
- if (escapeCode && code) {
159
- returnValue += wrapAnsiCode(escapeCode);
160
- }
161
- if (escapeUrl) {
162
- returnValue += wrapAnsiHyperlink(escapeUrl);
163
- }
164
- }
165
- }
166
- return returnValue;
167
- };
168
- // For each newline, invoke the method separately
169
- const wrap = (str, columns, options) => String(str)
170
- .normalize()
171
- .replace(/\r\n/g, "\n")
172
- .split("\n")
173
- .map((line) => exec(line, columns, options))
174
- .join("\n");
175
- exports.wrap = wrap;
176
- //# sourceMappingURL=index.js.map
@@ -1,12 +0,0 @@
1
- // TODO! cut this down? do we need the onlyFirst option?
2
- export const ansiRegex = ({ onlyFirst = false } = {}) => {
3
- // Valid string terminator sequences are BEL, ESC\, and 0x9c
4
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
5
- // OSC sequences only: ESC ] ... ST (non-greedy until the first ST)
6
- const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
7
- // CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte
8
- const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
9
- const pattern = `${osc}|${csi}`;
10
- return new RegExp(pattern, onlyFirst ? undefined : "g");
11
- };
12
- //# sourceMappingURL=index.js.map