@visulima/pail 4.0.0-alpha.5 → 4.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## @visulima/pail [4.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/pail@4.0.0-alpha.5...@visulima/pail@4.0.0-alpha.6) (2026-03-06)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **pail:** update packem to 2.0.0-alpha.54 ([100f545](https://github.com/visulima/visulima/commit/100f54587dca2c89aa70867d9a398d56ffb86ada))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * **error-debugging:** update dependencies ([6002ece](https://github.com/visulima/visulima/commit/6002ece1803b2ba8261cff42a362dd6e8ddcc3ee))
10
+ * **pail:** update dependencies ([5e4bf79](https://github.com/visulima/visulima/commit/5e4bf79575b61d2a299fcd45957fa3ea782f8194))
11
+ * **pail:** update dependencies ([4cc1e2a](https://github.com/visulima/visulima/commit/4cc1e2a48881684296d88a7f2107bd29f8457a25))
12
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
13
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.5
19
+ * **@visulima/error:** upgraded to 6.0.0-alpha.5
20
+ * **@visulima/fmt:** upgraded to 2.0.0-alpha.5
21
+ * **@visulima/inspector:** upgraded to 2.0.0-alpha.4
22
+ * **@visulima/redact:** upgraded to 3.0.0-alpha.5
23
+ * **@visulima/string:** upgraded to 3.0.0-alpha.6
24
+
1
25
  ## @visulima/pail [4.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/pail@4.0.0-alpha.4...@visulima/pail@4.0.0-alpha.5) (2025-12-27)
2
26
 
3
27
  ### Bug Fixes
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -210,7 +210,7 @@ Repository: git+https://github.com/visulima/visulima.git
210
210
 
211
211
  > MIT License
212
212
  >
213
- > Copyright (c) 2025 visulima
213
+ > Copyright (c) 2026 visulima
214
214
  >
215
215
  > Permission is hereby granted, free of charge, to any person obtaining a copy
216
216
  > of this software and associated documentation files (the "Software"), to deal
@@ -239,7 +239,7 @@ Repository: git+https://github.com/visulima/visulima.git
239
239
 
240
240
  > MIT License
241
241
  >
242
- > Copyright (c) 2025 visulima
242
+ > Copyright (c) 2026 visulima
243
243
  >
244
244
  > Permission is hereby granted, free of charge, to any person obtaining a copy
245
245
  > of this software and associated documentation files (the "Software"), to deal
@@ -419,7 +419,7 @@ Repository: git+https://github.com/visulima/visulima.git
419
419
 
420
420
  > MIT License
421
421
  >
422
- > Copyright (c) 2025 visulima
422
+ > Copyright (c) 2026 visulima
423
423
  >
424
424
  > Permission is hereby granted, free of charge, to any person obtaining a copy
425
425
  > of this software and associated documentation files (the "Software"), to deal
@@ -22,14 +22,14 @@ const {
22
22
  stderr,
23
23
  env
24
24
  } = __cjs_getProcess;
25
- import { t as terminalSize, w as wordWrap, W as WrapMode, g as getLongestLabel, E as EXTENDED_RFC_5424_LOG_LEVELS, a as EMPTY_SYMBOL, L as LOG_TYPES, i as inspect, b as writeStream, A as AbstractPrettyReporter, d as defaultInspectorConfig, c as getLongestBadge, e as getStringWidth, f as formatLabel, r as renderError } from './packem_shared/abstract-pretty-reporter-DckLMlGF.js';
25
+ import { t as terminalSize, w as wordWrap, W as WrapMode, g as getLongestLabel, E as EXTENDED_RFC_5424_LOG_LEVELS, a as EMPTY_SYMBOL, L as LOG_TYPES, i as inspect, b as writeStream, A as AbstractPrettyReporter, d as defaultInspectorConfig, c as getLongestBadge, e as getStringWidth, f as formatLabel, r as renderError } from './packem_shared/abstract-pretty-reporter-jU8WL_6c.js';
26
26
  const {
27
27
  StringDecoder
28
28
  } = __cjs_getBuiltinModule("node:string_decoder");
29
29
  import { ProgressBar, applyStyleToOptions, MultiProgressBar } from './packem_shared/getBarChar-BWj1UrH3.js';
30
30
  export { getBarChar } from './packem_shared/getBarChar-BWj1UrH3.js';
31
- import { Spinner, MultiSpinner } from './packem_shared/Spinner-B9JUdsbY.js';
32
- import colorize, { red, greenBright, cyan, green, grey, white, bgGrey, underline } from '@visulima/colorize';
31
+ import { Spinner, MultiSpinner } from './packem_shared/Spinner-DIdVcfWq.js';
32
+ import colorize, { red, greenBright, cyan, green, grey, bgGrey, underline, white } from '@visulima/colorize';
33
33
 
34
34
  class InteractiveManager {
35
35
  #stream;
@@ -1,2 +1,2 @@
1
- export { default as InteractiveManager } from '../packem_shared/InteractiveManager-CbE7d1kY.js';
1
+ export { default as InteractiveManager } from '../packem_shared/InteractiveManager-Cd6A14ZK.js';
2
2
  export { default as InteractiveStreamHook } from '../packem_shared/InteractiveStreamHook-ePIURL_U.js';
@@ -1,4 +1,4 @@
1
- import { t as terminalSize, w as wordWrap, W as WrapMode } from './index-EZ_WSQZS.js';
1
+ import { t as terminalSize, w as wordWrap, W as WrapMode } from './index-frijFf5m.js';
2
2
 
3
3
  class InteractiveManager {
4
4
  #stream;
@@ -21,8 +21,8 @@ const {
21
21
  stdout,
22
22
  stderr
23
23
  } = __cjs_getProcess;
24
- import colorize, { grey, green, cyan, red, yellow, bold, magenta, underline, greenBright, white, bgGrey } from '@visulima/colorize';
25
- import { t as terminalSize, g as getStringWidth, w as wordWrap, W as WrapMode } from './index-EZ_WSQZS.js';
24
+ import colorize, { grey, green, cyan, red, yellow, bold, magenta, underline, greenBright, bgGrey, white } from '@visulima/colorize';
25
+ import { t as terminalSize, g as getStringWidth, w as wordWrap, W as WrapMode } from './index-frijFf5m.js';
26
26
  import { L as LOG_TYPES, E as EMPTY_SYMBOL } from './constants-B1RjD_ps.js';
27
27
  import { w as writeStream } from './write-stream-BG8fhcs3.js';
28
28
  const {
@@ -34,7 +34,7 @@ const _process = globalThis.process || /* @__PURE__ */ Object.create(null);
34
34
  const processShims = {
35
35
  versions: {}
36
36
  };
37
- const process$1 = new Proxy(_process, {
37
+ const process$1 = /* @__PURE__ */ new Proxy(_process, {
38
38
  get(target, property) {
39
39
  if (property in target) {
40
40
  return target[property];
@@ -1663,6 +1663,38 @@ var dwarfFortress = {
1663
1663
  " ██████£££ "
1664
1664
  ]
1665
1665
  };
1666
+ var fish = {
1667
+ interval: 80,
1668
+ frames: [
1669
+ "~~~~~~~~~~~~~~~~~~~~",
1670
+ "> ~~~~~~~~~~~~~~~~~~",
1671
+ "º> ~~~~~~~~~~~~~~~~~",
1672
+ "(º> ~~~~~~~~~~~~~~~~",
1673
+ "((º> ~~~~~~~~~~~~~~~",
1674
+ "<((º> ~~~~~~~~~~~~~~",
1675
+ "><((º> ~~~~~~~~~~~~~",
1676
+ " ><((º> ~~~~~~~~~~~~",
1677
+ "~ ><((º> ~~~~~~~~~~~",
1678
+ "~~ <>((º> ~~~~~~~~~~",
1679
+ "~~~ ><((º> ~~~~~~~~~",
1680
+ "~~~~ <>((º> ~~~~~~~~",
1681
+ "~~~~~ ><((º> ~~~~~~~",
1682
+ "~~~~~~ <>((º> ~~~~~~",
1683
+ "~~~~~~~ ><((º> ~~~~~",
1684
+ "~~~~~~~~ <>((º> ~~~~",
1685
+ "~~~~~~~~~ ><((º> ~~~",
1686
+ "~~~~~~~~~~ <>((º> ~~",
1687
+ "~~~~~~~~~~~ ><((º> ~",
1688
+ "~~~~~~~~~~~~ <>((º> ",
1689
+ "~~~~~~~~~~~~~ ><((º>",
1690
+ "~~~~~~~~~~~~~~ <>((º",
1691
+ "~~~~~~~~~~~~~~~ ><((",
1692
+ "~~~~~~~~~~~~~~~~ <>(",
1693
+ "~~~~~~~~~~~~~~~~~ ><",
1694
+ "~~~~~~~~~~~~~~~~~~ <",
1695
+ "~~~~~~~~~~~~~~~~~~~~"
1696
+ ]
1697
+ };
1666
1698
  const spinners = {
1667
1699
  dots: dots,
1668
1700
  dots2: dots2,
@@ -1752,7 +1784,8 @@ const spinners = {
1752
1784
  orangeBluePulse: orangeBluePulse,
1753
1785
  timeTravel: timeTravel,
1754
1786
  aesthetic: aesthetic,
1755
- dwarfFortress: dwarfFortress
1787
+ dwarfFortress: dwarfFortress,
1788
+ fish: fish
1756
1789
  };
1757
1790
 
1758
1791
  const DEFAULT_ICONS = {
@@ -83,25 +83,104 @@ const RE_ANSI = /[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-O
83
83
  const RE_CONTROL = /[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y;
84
84
  const RE_EMOJI = emojiRegex();
85
85
 
86
- function isAmbiguous(x) {
87
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
88
- }
89
- function isFullWidth(x) {
90
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
91
- }
92
- function isWide(x) {
93
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
86
+ const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
87
+ const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
88
+ const halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
89
+ const narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
90
+ const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
91
+ const isInRange = (ranges, codePoint) => {
92
+ let low = 0;
93
+ let high = Math.floor(ranges.length / 2) - 1;
94
+ while (low <= high) {
95
+ const mid = Math.floor((low + high) / 2);
96
+ const i = mid * 2;
97
+ if (codePoint < ranges[i]) {
98
+ high = mid - 1;
99
+ } else if (codePoint > ranges[i + 1]) {
100
+ low = mid + 1;
101
+ } else {
102
+ return true;
103
+ }
104
+ }
105
+ return false;
106
+ };
107
+ const minimumAmbiguousCodePoint = ambiguousRanges[0];
108
+ const maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
109
+ const minimumFullWidthCodePoint = fullwidthRanges[0];
110
+ const maximumFullWidthCodePoint = fullwidthRanges.at(-1);
111
+ const minimumHalfWidthCodePoint = halfwidthRanges[0];
112
+ const maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
113
+ const minimumNarrowCodePoint = narrowRanges[0];
114
+ const maximumNarrowCodePoint = narrowRanges.at(-1);
115
+ const minimumWideCodePoint = wideRanges[0];
116
+ const maximumWideCodePoint = wideRanges.at(-1);
117
+ const commonCjkCodePoint = 19968;
118
+ const [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
119
+ function findWideFastPathRange(ranges) {
120
+ let fastPathStart = ranges[0];
121
+ let fastPathEnd = ranges[1];
122
+ for (let index = 0; index < ranges.length; index += 2) {
123
+ const start = ranges[index];
124
+ const end = ranges[index + 1];
125
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
126
+ return [start, end];
127
+ }
128
+ if (end - start > fastPathEnd - fastPathStart) {
129
+ fastPathStart = start;
130
+ fastPathEnd = end;
131
+ }
132
+ }
133
+ return [fastPathStart, fastPathEnd];
94
134
  }
95
- function getCategory(x) {
96
- if (isAmbiguous(x)) return "ambiguous";
97
- if (isFullWidth(x)) return "fullwidth";
98
- if (x === 8361 || x >= 65377 && x <= 65470 || x >= 65474 && x <= 65479 || x >= 65482 && x <= 65487 || x >= 65490 && x <= 65495 || x >= 65498 && x <= 65500 || x >= 65512 && x <= 65518) {
135
+ const isAmbiguous = (codePoint) => {
136
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
137
+ return false;
138
+ }
139
+ return isInRange(ambiguousRanges, codePoint);
140
+ };
141
+ const isFullWidth = (codePoint) => {
142
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
143
+ return false;
144
+ }
145
+ return isInRange(fullwidthRanges, codePoint);
146
+ };
147
+ const isHalfWidth = (codePoint) => {
148
+ if (codePoint < minimumHalfWidthCodePoint || codePoint > maximumHalfWidthCodePoint) {
149
+ return false;
150
+ }
151
+ return isInRange(halfwidthRanges, codePoint);
152
+ };
153
+ const isNarrow = (codePoint) => {
154
+ if (codePoint < minimumNarrowCodePoint || codePoint > maximumNarrowCodePoint) {
155
+ return false;
156
+ }
157
+ return isInRange(narrowRanges, codePoint);
158
+ };
159
+ const isWide = (codePoint) => {
160
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
161
+ return true;
162
+ }
163
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
164
+ return false;
165
+ }
166
+ return isInRange(wideRanges, codePoint);
167
+ };
168
+ function getCategory(codePoint) {
169
+ if (isAmbiguous(codePoint)) {
170
+ return "ambiguous";
171
+ }
172
+ if (isFullWidth(codePoint)) {
173
+ return "fullwidth";
174
+ }
175
+ if (isHalfWidth(codePoint)) {
99
176
  return "halfwidth";
100
177
  }
101
- if (x >= 32 && x <= 126 || x === 162 || x === 163 || x === 165 || x === 166 || x === 172 || x === 175 || x >= 10214 && x <= 10221 || x === 10629 || x === 10630) {
178
+ if (isNarrow(codePoint)) {
102
179
  return "narrow";
103
180
  }
104
- if (isWide(x)) return "wide";
181
+ if (isWide(codePoint)) {
182
+ return "wide";
183
+ }
105
184
  return "neutral";
106
185
  }
107
186
  function validate(codePoint) {
@@ -1096,6 +1175,30 @@ const createIfNotDefault = (maybeColumns, maybeRows) => {
1096
1175
  }
1097
1176
  return { columns, rows };
1098
1177
  };
1178
+ const isForegroundProcess = () => {
1179
+ if (process$2.platform !== "linux") {
1180
+ return true;
1181
+ }
1182
+ try {
1183
+ const statContents = fs.readFileSync("/proc/self/stat", "utf8");
1184
+ const closingParenthesisIndex = statContents.lastIndexOf(") ");
1185
+ if (closingParenthesisIndex === -1) {
1186
+ return false;
1187
+ }
1188
+ const statFields = statContents.slice(closingParenthesisIndex + 2).trim().split(/\s+/);
1189
+ const processGroupId = Number.parseInt(statFields[2], 10);
1190
+ const foregroundProcessGroupId = Number.parseInt(statFields[5], 10);
1191
+ if (Number.isNaN(processGroupId) || Number.isNaN(foregroundProcessGroupId)) {
1192
+ return false;
1193
+ }
1194
+ if (foregroundProcessGroupId <= 0) {
1195
+ return false;
1196
+ }
1197
+ return processGroupId === foregroundProcessGroupId;
1198
+ } catch {
1199
+ return false;
1200
+ }
1201
+ };
1099
1202
  function terminalSize() {
1100
1203
  const { env, stdout, stderr } = process$2;
1101
1204
  if (stdout?.columns && stdout?.rows) {
@@ -1139,6 +1242,9 @@ const tput = () => {
1139
1242
  };
1140
1243
  const resize = () => {
1141
1244
  try {
1245
+ if (!isForegroundProcess()) {
1246
+ return;
1247
+ }
1142
1248
  const size = exec("resize", ["-u"]).match(/\d+/g);
1143
1249
  if (size.length === 2) {
1144
1250
  return createIfNotDefault(size[0], size[1]);
@@ -1843,7 +1949,7 @@ const _process = globalThis.process || /* @__PURE__ */ Object.create(null);
1843
1949
  const processShims = {
1844
1950
  versions: {}
1845
1951
  };
1846
- const process$1 = new Proxy(_process, {
1952
+ const process$1 = /* @__PURE__ */ new Proxy(_process, {
1847
1953
  get(target, property) {
1848
1954
  if (property in target) {
1849
1955
  return target[property];
@@ -79,25 +79,104 @@ const RE_ANSI = /[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-O
79
79
  const RE_CONTROL = /[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y;
80
80
  const RE_EMOJI = emojiRegex();
81
81
 
82
- function isAmbiguous(x) {
83
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
84
- }
85
- function isFullWidth(x) {
86
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
87
- }
88
- function isWide(x) {
89
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
82
+ const ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
83
+ const fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
84
+ const halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
85
+ const narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
86
+ const wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
87
+ const isInRange = (ranges, codePoint) => {
88
+ let low = 0;
89
+ let high = Math.floor(ranges.length / 2) - 1;
90
+ while (low <= high) {
91
+ const mid = Math.floor((low + high) / 2);
92
+ const i = mid * 2;
93
+ if (codePoint < ranges[i]) {
94
+ high = mid - 1;
95
+ } else if (codePoint > ranges[i + 1]) {
96
+ low = mid + 1;
97
+ } else {
98
+ return true;
99
+ }
100
+ }
101
+ return false;
102
+ };
103
+ const minimumAmbiguousCodePoint = ambiguousRanges[0];
104
+ const maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
105
+ const minimumFullWidthCodePoint = fullwidthRanges[0];
106
+ const maximumFullWidthCodePoint = fullwidthRanges.at(-1);
107
+ const minimumHalfWidthCodePoint = halfwidthRanges[0];
108
+ const maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
109
+ const minimumNarrowCodePoint = narrowRanges[0];
110
+ const maximumNarrowCodePoint = narrowRanges.at(-1);
111
+ const minimumWideCodePoint = wideRanges[0];
112
+ const maximumWideCodePoint = wideRanges.at(-1);
113
+ const commonCjkCodePoint = 19968;
114
+ const [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
115
+ function findWideFastPathRange(ranges) {
116
+ let fastPathStart = ranges[0];
117
+ let fastPathEnd = ranges[1];
118
+ for (let index = 0; index < ranges.length; index += 2) {
119
+ const start = ranges[index];
120
+ const end = ranges[index + 1];
121
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
122
+ return [start, end];
123
+ }
124
+ if (end - start > fastPathEnd - fastPathStart) {
125
+ fastPathStart = start;
126
+ fastPathEnd = end;
127
+ }
128
+ }
129
+ return [fastPathStart, fastPathEnd];
90
130
  }
91
- function getCategory(x) {
92
- if (isAmbiguous(x)) return "ambiguous";
93
- if (isFullWidth(x)) return "fullwidth";
94
- if (x === 8361 || x >= 65377 && x <= 65470 || x >= 65474 && x <= 65479 || x >= 65482 && x <= 65487 || x >= 65490 && x <= 65495 || x >= 65498 && x <= 65500 || x >= 65512 && x <= 65518) {
131
+ const isAmbiguous = (codePoint) => {
132
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
133
+ return false;
134
+ }
135
+ return isInRange(ambiguousRanges, codePoint);
136
+ };
137
+ const isFullWidth = (codePoint) => {
138
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
139
+ return false;
140
+ }
141
+ return isInRange(fullwidthRanges, codePoint);
142
+ };
143
+ const isHalfWidth = (codePoint) => {
144
+ if (codePoint < minimumHalfWidthCodePoint || codePoint > maximumHalfWidthCodePoint) {
145
+ return false;
146
+ }
147
+ return isInRange(halfwidthRanges, codePoint);
148
+ };
149
+ const isNarrow = (codePoint) => {
150
+ if (codePoint < minimumNarrowCodePoint || codePoint > maximumNarrowCodePoint) {
151
+ return false;
152
+ }
153
+ return isInRange(narrowRanges, codePoint);
154
+ };
155
+ const isWide = (codePoint) => {
156
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
157
+ return true;
158
+ }
159
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
160
+ return false;
161
+ }
162
+ return isInRange(wideRanges, codePoint);
163
+ };
164
+ function getCategory(codePoint) {
165
+ if (isAmbiguous(codePoint)) {
166
+ return "ambiguous";
167
+ }
168
+ if (isFullWidth(codePoint)) {
169
+ return "fullwidth";
170
+ }
171
+ if (isHalfWidth(codePoint)) {
95
172
  return "halfwidth";
96
173
  }
97
- if (x >= 32 && x <= 126 || x === 162 || x === 163 || x === 165 || x === 166 || x === 172 || x === 175 || x >= 10214 && x <= 10221 || x === 10629 || x === 10630) {
174
+ if (isNarrow(codePoint)) {
98
175
  return "narrow";
99
176
  }
100
- if (isWide(x)) return "wide";
177
+ if (isWide(codePoint)) {
178
+ return "wide";
179
+ }
101
180
  return "neutral";
102
181
  }
103
182
  function validate(codePoint) {
@@ -1092,6 +1171,30 @@ const createIfNotDefault = (maybeColumns, maybeRows) => {
1092
1171
  }
1093
1172
  return { columns, rows };
1094
1173
  };
1174
+ const isForegroundProcess = () => {
1175
+ if (process.platform !== "linux") {
1176
+ return true;
1177
+ }
1178
+ try {
1179
+ const statContents = fs.readFileSync("/proc/self/stat", "utf8");
1180
+ const closingParenthesisIndex = statContents.lastIndexOf(") ");
1181
+ if (closingParenthesisIndex === -1) {
1182
+ return false;
1183
+ }
1184
+ const statFields = statContents.slice(closingParenthesisIndex + 2).trim().split(/\s+/);
1185
+ const processGroupId = Number.parseInt(statFields[2], 10);
1186
+ const foregroundProcessGroupId = Number.parseInt(statFields[5], 10);
1187
+ if (Number.isNaN(processGroupId) || Number.isNaN(foregroundProcessGroupId)) {
1188
+ return false;
1189
+ }
1190
+ if (foregroundProcessGroupId <= 0) {
1191
+ return false;
1192
+ }
1193
+ return processGroupId === foregroundProcessGroupId;
1194
+ } catch {
1195
+ return false;
1196
+ }
1197
+ };
1095
1198
  function terminalSize() {
1096
1199
  const { env, stdout, stderr } = process;
1097
1200
  if (stdout?.columns && stdout?.rows) {
@@ -1135,6 +1238,9 @@ const tput = () => {
1135
1238
  };
1136
1239
  const resize = () => {
1137
1240
  try {
1241
+ if (!isForegroundProcess()) {
1242
+ return;
1243
+ }
1138
1244
  const size = exec("resize", ["-u"]).match(/\d+/g);
1139
1245
  if (size.length === 2) {
1140
1246
  return createIfNotDefault(size[0], size[1]);
@@ -1 +1 @@
1
- export { PrettyReporter } from '../../packem_shared/PrettyReporter-DLQtmATi.js';
1
+ export { PrettyReporter } from '../../packem_shared/PrettyReporter-BjXCFQlo.js';
@@ -8,8 +8,8 @@ const {
8
8
  stdout,
9
9
  stderr
10
10
  } = __cjs_getProcess;
11
- import colorize, { red, greenBright, cyan, green, grey, bold, white, bgGrey, underline } from '@visulima/colorize';
12
- import { A as AbstractPrettyReporter, d as defaultInspectorConfig, b as writeStream, t as terminalSize, c as getLongestBadge, g as getLongestLabel, e as getStringWidth, f as formatLabel, a as EMPTY_SYMBOL, i as inspect, w as wordWrap, r as renderError, W as WrapMode } from '../../packem_shared/abstract-pretty-reporter-DckLMlGF.js';
11
+ import colorize, { red, greenBright, cyan, green, grey, bold, bgGrey, underline, white } from '@visulima/colorize';
12
+ import { A as AbstractPrettyReporter, d as defaultInspectorConfig, b as writeStream, t as terminalSize, c as getLongestBadge, g as getLongestLabel, e as getStringWidth, f as formatLabel, a as EMPTY_SYMBOL, i as inspect, w as wordWrap, r as renderError, W as WrapMode } from '../../packem_shared/abstract-pretty-reporter-jU8WL_6c.js';
13
13
 
14
14
  const pailFileFilter = (line) => !/[\\/]pail[\\/]dist/.test(line);
15
15
  class SimpleReporter extends AbstractPrettyReporter {
package/dist/spinner.js CHANGED
@@ -1663,6 +1663,38 @@ var dwarfFortress = {
1663
1663
  " ██████£££ "
1664
1664
  ]
1665
1665
  };
1666
+ var fish = {
1667
+ interval: 80,
1668
+ frames: [
1669
+ "~~~~~~~~~~~~~~~~~~~~",
1670
+ "> ~~~~~~~~~~~~~~~~~~",
1671
+ "º> ~~~~~~~~~~~~~~~~~",
1672
+ "(º> ~~~~~~~~~~~~~~~~",
1673
+ "((º> ~~~~~~~~~~~~~~~",
1674
+ "<((º> ~~~~~~~~~~~~~~",
1675
+ "><((º> ~~~~~~~~~~~~~",
1676
+ " ><((º> ~~~~~~~~~~~~",
1677
+ "~ ><((º> ~~~~~~~~~~~",
1678
+ "~~ <>((º> ~~~~~~~~~~",
1679
+ "~~~ ><((º> ~~~~~~~~~",
1680
+ "~~~~ <>((º> ~~~~~~~~",
1681
+ "~~~~~ ><((º> ~~~~~~~",
1682
+ "~~~~~~ <>((º> ~~~~~~",
1683
+ "~~~~~~~ ><((º> ~~~~~",
1684
+ "~~~~~~~~ <>((º> ~~~~",
1685
+ "~~~~~~~~~ ><((º> ~~~",
1686
+ "~~~~~~~~~~ <>((º> ~~",
1687
+ "~~~~~~~~~~~ ><((º> ~",
1688
+ "~~~~~~~~~~~~ <>((º> ",
1689
+ "~~~~~~~~~~~~~ ><((º>",
1690
+ "~~~~~~~~~~~~~~ <>((º",
1691
+ "~~~~~~~~~~~~~~~ ><((",
1692
+ "~~~~~~~~~~~~~~~~ <>(",
1693
+ "~~~~~~~~~~~~~~~~~ ><",
1694
+ "~~~~~~~~~~~~~~~~~~ <",
1695
+ "~~~~~~~~~~~~~~~~~~~~"
1696
+ ]
1697
+ };
1666
1698
  const spinners = {
1667
1699
  dots: dots,
1668
1700
  dots2: dots2,
@@ -1752,7 +1784,8 @@ const spinners = {
1752
1784
  orangeBluePulse: orangeBluePulse,
1753
1785
  timeTravel: timeTravel,
1754
1786
  aesthetic: aesthetic,
1755
- dwarfFortress: dwarfFortress
1787
+ dwarfFortress: dwarfFortress,
1788
+ fish: fish
1756
1789
  };
1757
1790
 
1758
1791
  const DEFAULT_ICONS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/pail",
3
- "version": "4.0.0-alpha.5",
3
+ "version": "4.0.0-alpha.6",
4
4
  "description": "Highly configurable Logger for Node.js, Edge and Browser.",
5
5
  "keywords": [
6
6
  "ansi",
@@ -203,12 +203,12 @@
203
203
  "LICENSE.md"
204
204
  ],
205
205
  "dependencies": {
206
- "@visulima/colorize": "2.0.0-alpha.4",
207
- "type-fest": "^5.3.1"
206
+ "@visulima/colorize": "2.0.0-alpha.5",
207
+ "type-fest": "^5.4.4"
208
208
  },
209
209
  "peerDependencies": {
210
210
  "@opentelemetry/api": "^1.9",
211
- "@visulima/redact": "3.0.0-alpha.4",
211
+ "@visulima/redact": "3.0.0-alpha.5",
212
212
  "rotating-file-stream": "^3.2.7"
213
213
  },
214
214
  "peerDependenciesMeta": {