@maizzle/framework 6.0.0-rc.17 → 6.0.0-rc.18

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 (269) hide show
  1. package/bin/maizzle.mjs +1 -1
  2. package/dist/build.d.ts +6 -5
  3. package/dist/build.d.ts.map +1 -1
  4. package/dist/{build.mjs → build.js} +13 -9
  5. package/dist/build.js.map +1 -0
  6. package/dist/components/Body.vue +10 -0
  7. package/dist/components/Button.vue +70 -11
  8. package/dist/components/Column.vue +10 -0
  9. package/dist/components/Container.vue +29 -1
  10. package/dist/components/Html.vue +10 -0
  11. package/dist/components/Layout.vue +27 -12
  12. package/dist/components/MarkdownLayout.vue +39 -0
  13. package/dist/components/Overlap.vue +10 -0
  14. package/dist/components/Preheader.vue +3 -8
  15. package/dist/components/Row.vue +10 -0
  16. package/dist/components/Section.vue +10 -0
  17. package/dist/components/{utils.mjs → utils.js} +1 -1
  18. package/dist/components/utils.js.map +1 -0
  19. package/dist/composables/{defineConfig.mjs → defineConfig.js} +3 -3
  20. package/dist/composables/defineConfig.js.map +1 -0
  21. package/dist/composables/{renderContext.mjs → renderContext.js} +1 -1
  22. package/dist/composables/renderContext.js.map +1 -0
  23. package/dist/composables/useBaseUrl.d.ts +19 -0
  24. package/dist/composables/useBaseUrl.d.ts.map +1 -0
  25. package/dist/composables/useBaseUrl.js +27 -0
  26. package/dist/composables/useBaseUrl.js.map +1 -0
  27. package/dist/composables/{useConfig.mjs → useConfig.js} +1 -1
  28. package/dist/composables/useConfig.js.map +1 -0
  29. package/dist/composables/{useDoctype.mjs → useDoctype.js} +2 -2
  30. package/dist/composables/useDoctype.js.map +1 -0
  31. package/dist/composables/{useEvent.mjs → useEvent.js} +2 -2
  32. package/dist/composables/useEvent.js.map +1 -0
  33. package/dist/composables/{useFont.mjs → useFont.js} +2 -2
  34. package/dist/composables/useFont.js.map +1 -0
  35. package/dist/composables/{useOutlookFallback.mjs → useOutlookFallback.js} +1 -1
  36. package/dist/composables/useOutlookFallback.js.map +1 -0
  37. package/dist/composables/{usePlaintext.mjs → usePlaintext.js} +2 -2
  38. package/dist/composables/usePlaintext.js.map +1 -0
  39. package/dist/composables/{usePreheader.mjs → usePreheader.js} +2 -2
  40. package/dist/composables/usePreheader.js.map +1 -0
  41. package/dist/composables/useTransformers.d.ts +34 -0
  42. package/dist/composables/useTransformers.d.ts.map +1 -0
  43. package/dist/composables/useTransformers.js +49 -0
  44. package/dist/composables/useTransformers.js.map +1 -0
  45. package/dist/composables/useUrlQuery.d.ts +19 -0
  46. package/dist/composables/useUrlQuery.d.ts.map +1 -0
  47. package/dist/composables/useUrlQuery.js +27 -0
  48. package/dist/composables/useUrlQuery.js.map +1 -0
  49. package/dist/config/{defaults.mjs → defaults.js} +8 -2
  50. package/dist/config/defaults.js.map +1 -0
  51. package/dist/config/{index.mjs → index.js} +3 -3
  52. package/dist/config/index.js.map +1 -0
  53. package/dist/events/index.d.ts +8 -2
  54. package/dist/events/index.d.ts.map +1 -1
  55. package/dist/events/{index.mjs → index.js} +20 -4
  56. package/dist/events/index.js.map +1 -0
  57. package/dist/index.d.ts +4 -1
  58. package/dist/index.js +37 -0
  59. package/dist/{plaintext.mjs → plaintext.js} +1 -1
  60. package/dist/plaintext.js.map +1 -0
  61. package/dist/{plugin.mjs → plugin.js} +5 -5
  62. package/dist/plugin.js.map +1 -0
  63. package/dist/plugins/postcss/{mergeMediaQueries.mjs → mergeMediaQueries.js} +1 -1
  64. package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -0
  65. package/dist/plugins/postcss/{pruneVars.mjs → pruneVars.js} +1 -1
  66. package/dist/plugins/postcss/pruneVars.js.map +1 -0
  67. package/dist/plugins/postcss/{quoteFontFamilies.mjs → quoteFontFamilies.js} +1 -1
  68. package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -0
  69. package/dist/plugins/postcss/{removeDeclarations.mjs → removeDeclarations.js} +1 -1
  70. package/dist/plugins/postcss/removeDeclarations.js.map +1 -0
  71. package/dist/plugins/postcss/{resolveMaizzleImports.mjs → resolveMaizzleImports.js} +1 -1
  72. package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -0
  73. package/dist/plugins/postcss/{resolveProps.mjs → resolveProps.js} +1 -1
  74. package/dist/plugins/postcss/resolveProps.js.map +1 -0
  75. package/dist/plugins/postcss/{tailwindCleanup.mjs → tailwindCleanup.js} +1 -1
  76. package/dist/plugins/postcss/tailwindCleanup.js.map +1 -0
  77. package/dist/{prepare.mjs → prepare.js} +4 -4
  78. package/dist/prepare.js.map +1 -0
  79. package/dist/render/{createRenderer.mjs → createRenderer.js} +19 -11
  80. package/dist/render/createRenderer.js.map +1 -0
  81. package/dist/render/{index.mjs → index.js} +5 -5
  82. package/dist/render/index.js.map +1 -0
  83. package/dist/render/{injectFonts.mjs → injectFonts.js} +2 -2
  84. package/dist/render/injectFonts.js.map +1 -0
  85. package/dist/render/plugins/{codeBlockExtract.mjs → codeBlockExtract.js} +1 -1
  86. package/dist/render/plugins/codeBlockExtract.js.map +1 -0
  87. package/dist/render/plugins/{markdownExtract.mjs → markdownExtract.js} +1 -1
  88. package/dist/render/plugins/markdownExtract.js.map +1 -0
  89. package/dist/render/plugins/{rawExtract.mjs → rawExtract.js} +1 -1
  90. package/dist/render/plugins/rawExtract.js.map +1 -0
  91. package/dist/render/plugins/{rowSourceLocation.mjs → rowSourceLocation.js} +1 -1
  92. package/dist/render/plugins/rowSourceLocation.js.map +1 -0
  93. package/dist/{serve.mjs → serve.js} +8 -8
  94. package/dist/serve.js.map +1 -0
  95. package/dist/server/{compatibility.mjs → compatibility.js} +4 -4
  96. package/dist/server/compatibility.js.map +1 -0
  97. package/dist/server/{email.mjs → email.js} +1 -1
  98. package/dist/server/email.js.map +1 -0
  99. package/dist/server/{linter.mjs → linter.js} +2 -2
  100. package/dist/server/linter.js.map +1 -0
  101. package/dist/server/{sfc-utils.mjs → sfc-utils.js} +1 -1
  102. package/dist/server/sfc-utils.js.map +1 -0
  103. package/dist/server/ui/App.vue +18 -0
  104. package/dist/server/ui/components/ui/command/Command.vue +4 -1
  105. package/dist/transformers/{addAttributes.mjs → addAttributes.js} +3 -3
  106. package/dist/transformers/addAttributes.js.map +1 -0
  107. package/dist/transformers/{attributeToStyle.mjs → attributeToStyle.js} +3 -3
  108. package/dist/transformers/attributeToStyle.js.map +1 -0
  109. package/dist/transformers/{base.mjs → base.js} +6 -6
  110. package/dist/transformers/base.js.map +1 -0
  111. package/dist/transformers/{columnWidth.mjs → columnWidth.js} +3 -3
  112. package/dist/transformers/columnWidth.js.map +1 -0
  113. package/dist/transformers/{entities.mjs → entities.js} +3 -3
  114. package/dist/transformers/entities.js.map +1 -0
  115. package/dist/transformers/filters/{defaults.mjs → defaults.js} +1 -1
  116. package/dist/transformers/filters/defaults.js.map +1 -0
  117. package/dist/transformers/filters/{index.mjs → index.js} +5 -5
  118. package/dist/transformers/filters/index.js.map +1 -0
  119. package/dist/transformers/{format.mjs → format.js} +1 -1
  120. package/dist/transformers/format.js.map +1 -0
  121. package/dist/transformers/index.js +113 -0
  122. package/dist/transformers/index.js.map +1 -0
  123. package/dist/transformers/{inlineCSS.mjs → inlineCSS.js} +5 -5
  124. package/dist/transformers/inlineCSS.js.map +1 -0
  125. package/dist/transformers/{inlineLink.mjs → inlineLink.js} +3 -3
  126. package/dist/transformers/inlineLink.js.map +1 -0
  127. package/dist/transformers/{minify.mjs → minify.js} +1 -1
  128. package/dist/transformers/minify.js.map +1 -0
  129. package/dist/transformers/msoPlaceholders.d.ts +28 -0
  130. package/dist/transformers/msoPlaceholders.d.ts.map +1 -0
  131. package/dist/transformers/msoPlaceholders.js +89 -0
  132. package/dist/transformers/msoPlaceholders.js.map +1 -0
  133. package/dist/transformers/{purgeCSS.mjs → purgeCSS.js} +5 -5
  134. package/dist/transformers/purgeCSS.js.map +1 -0
  135. package/dist/transformers/{removeAttributes.mjs → removeAttributes.js} +3 -3
  136. package/dist/transformers/removeAttributes.js.map +1 -0
  137. package/dist/transformers/{replaceStrings.mjs → replaceStrings.js} +1 -1
  138. package/dist/transformers/replaceStrings.js.map +1 -0
  139. package/dist/transformers/{safeClassNames.mjs → safeClassNames.js} +3 -3
  140. package/dist/transformers/safeClassNames.js.map +1 -0
  141. package/dist/transformers/{shorthandCSS.mjs → shorthandCSS.js} +3 -3
  142. package/dist/transformers/shorthandCSS.js.map +1 -0
  143. package/dist/transformers/{sixHex.mjs → sixHex.js} +3 -3
  144. package/dist/transformers/sixHex.js.map +1 -0
  145. package/dist/transformers/{tailwindComponent.mjs → tailwindComponent.js} +4 -4
  146. package/dist/transformers/tailwindComponent.js.map +1 -0
  147. package/dist/transformers/{tailwindcss.mjs → tailwindcss.js} +5 -5
  148. package/dist/transformers/tailwindcss.js.map +1 -0
  149. package/dist/transformers/{urlQuery.mjs → urlQuery.js} +2 -2
  150. package/dist/transformers/urlQuery.js.map +1 -0
  151. package/dist/types/config.d.ts +43 -2
  152. package/dist/types/config.d.ts.map +1 -1
  153. package/dist/types/index.d.ts +2 -2
  154. package/dist/utils/ast/index.js +5 -0
  155. package/dist/utils/ast/{parser.mjs → parser.js} +1 -1
  156. package/dist/utils/ast/parser.js.map +1 -0
  157. package/dist/utils/ast/{serializer.mjs → serializer.js} +2 -2
  158. package/dist/utils/ast/serializer.js.map +1 -0
  159. package/dist/utils/ast/{walker.mjs → walker.js} +1 -1
  160. package/dist/utils/ast/walker.js.map +1 -0
  161. package/dist/utils/{compileTailwindCss.mjs → compileTailwindCss.js} +7 -7
  162. package/dist/utils/compileTailwindCss.js.map +1 -0
  163. package/dist/utils/{decodeStyleEntities.mjs → decodeStyleEntities.js} +1 -1
  164. package/dist/utils/decodeStyleEntities.js.map +1 -0
  165. package/dist/utils/{detect.mjs → detect.js} +1 -1
  166. package/dist/utils/detect.js.map +1 -0
  167. package/dist/utils/{url.mjs → url.js} +1 -1
  168. package/dist/utils/url.js.map +1 -0
  169. package/node_modules/@clack/core/CHANGELOG.md +8 -0
  170. package/node_modules/@clack/core/dist/index.d.mts +18 -4
  171. package/node_modules/@clack/core/dist/index.mjs +16 -10
  172. package/node_modules/@clack/core/dist/index.mjs.map +1 -1
  173. package/node_modules/@clack/core/package.json +5 -2
  174. package/node_modules/@clack/prompts/CHANGELOG.md +15 -0
  175. package/node_modules/@clack/prompts/README.md +107 -2
  176. package/node_modules/@clack/prompts/dist/index.d.mts +16 -11
  177. package/node_modules/@clack/prompts/dist/index.mjs +114 -107
  178. package/node_modules/@clack/prompts/dist/index.mjs.map +1 -1
  179. package/node_modules/@clack/prompts/package.json +7 -4
  180. package/node_modules/fast-string-truncated-width/dist/index.js +36 -96
  181. package/node_modules/fast-string-truncated-width/dist/types.d.ts +0 -3
  182. package/node_modules/fast-string-truncated-width/dist/utils.d.ts +3 -3
  183. package/node_modules/fast-string-truncated-width/dist/utils.js +14 -9
  184. package/node_modules/fast-string-truncated-width/package.json +1 -1
  185. package/node_modules/fast-string-truncated-width/readme.md +2 -3
  186. package/node_modules/fast-string-width/package.json +2 -2
  187. package/node_modules/fast-string-width/readme.md +0 -3
  188. package/node_modules/fast-wrap-ansi/lib/main.js +4 -1
  189. package/node_modules/fast-wrap-ansi/lib/main.js.map +1 -1
  190. package/node_modules/fast-wrap-ansi/package.json +2 -2
  191. package/node_modules/tinyexec/README.md +1 -1
  192. package/node_modules/tinyexec/dist/main.d.mts +6 -6
  193. package/node_modules/tinyexec/dist/main.mjs +126 -134
  194. package/node_modules/tinyexec/package.json +9 -9
  195. package/package.json +3 -3
  196. package/dist/build.mjs.map +0 -1
  197. package/dist/components/utils.mjs.map +0 -1
  198. package/dist/composables/defineConfig.mjs.map +0 -1
  199. package/dist/composables/renderContext.mjs.map +0 -1
  200. package/dist/composables/useConfig.mjs.map +0 -1
  201. package/dist/composables/useDoctype.mjs.map +0 -1
  202. package/dist/composables/useEvent.mjs.map +0 -1
  203. package/dist/composables/useFont.mjs.map +0 -1
  204. package/dist/composables/useOutlookFallback.mjs.map +0 -1
  205. package/dist/composables/usePlaintext.mjs.map +0 -1
  206. package/dist/composables/usePreheader.mjs.map +0 -1
  207. package/dist/config/defaults.mjs.map +0 -1
  208. package/dist/config/index.mjs.map +0 -1
  209. package/dist/events/index.mjs.map +0 -1
  210. package/dist/index.mjs +0 -34
  211. package/dist/plaintext.mjs.map +0 -1
  212. package/dist/plugin.mjs.map +0 -1
  213. package/dist/plugins/postcss/mergeMediaQueries.mjs.map +0 -1
  214. package/dist/plugins/postcss/pruneVars.mjs.map +0 -1
  215. package/dist/plugins/postcss/quoteFontFamilies.mjs.map +0 -1
  216. package/dist/plugins/postcss/removeDeclarations.mjs.map +0 -1
  217. package/dist/plugins/postcss/resolveMaizzleImports.mjs.map +0 -1
  218. package/dist/plugins/postcss/resolveProps.mjs.map +0 -1
  219. package/dist/plugins/postcss/tailwindCleanup.mjs.map +0 -1
  220. package/dist/prepare.mjs.map +0 -1
  221. package/dist/render/createRenderer.mjs.map +0 -1
  222. package/dist/render/index.mjs.map +0 -1
  223. package/dist/render/injectFonts.mjs.map +0 -1
  224. package/dist/render/plugins/codeBlockExtract.mjs.map +0 -1
  225. package/dist/render/plugins/markdownExtract.mjs.map +0 -1
  226. package/dist/render/plugins/rawExtract.mjs.map +0 -1
  227. package/dist/render/plugins/rowSourceLocation.mjs.map +0 -1
  228. package/dist/serve.mjs.map +0 -1
  229. package/dist/server/compatibility.mjs.map +0 -1
  230. package/dist/server/email.mjs.map +0 -1
  231. package/dist/server/linter.mjs.map +0 -1
  232. package/dist/server/sfc-utils.mjs.map +0 -1
  233. package/dist/transformers/addAttributes.mjs.map +0 -1
  234. package/dist/transformers/attributeToStyle.mjs.map +0 -1
  235. package/dist/transformers/base.mjs.map +0 -1
  236. package/dist/transformers/columnWidth.mjs.map +0 -1
  237. package/dist/transformers/entities.mjs.map +0 -1
  238. package/dist/transformers/filters/defaults.mjs.map +0 -1
  239. package/dist/transformers/filters/index.mjs.map +0 -1
  240. package/dist/transformers/format.mjs.map +0 -1
  241. package/dist/transformers/index.mjs +0 -87
  242. package/dist/transformers/index.mjs.map +0 -1
  243. package/dist/transformers/inlineCSS.mjs.map +0 -1
  244. package/dist/transformers/inlineLink.mjs.map +0 -1
  245. package/dist/transformers/minify.mjs.map +0 -1
  246. package/dist/transformers/msoWidthFromClass.d.ts +0 -19
  247. package/dist/transformers/msoWidthFromClass.d.ts.map +0 -1
  248. package/dist/transformers/msoWidthFromClass.mjs +0 -61
  249. package/dist/transformers/msoWidthFromClass.mjs.map +0 -1
  250. package/dist/transformers/purgeCSS.mjs.map +0 -1
  251. package/dist/transformers/removeAttributes.mjs.map +0 -1
  252. package/dist/transformers/replaceStrings.mjs.map +0 -1
  253. package/dist/transformers/safeClassNames.mjs.map +0 -1
  254. package/dist/transformers/shorthandCSS.mjs.map +0 -1
  255. package/dist/transformers/sixHex.mjs.map +0 -1
  256. package/dist/transformers/tailwindComponent.mjs.map +0 -1
  257. package/dist/transformers/tailwindcss.mjs.map +0 -1
  258. package/dist/transformers/urlQuery.mjs.map +0 -1
  259. package/dist/utils/ast/index.mjs +0 -5
  260. package/dist/utils/ast/parser.mjs.map +0 -1
  261. package/dist/utils/ast/serializer.mjs.map +0 -1
  262. package/dist/utils/ast/walker.mjs.map +0 -1
  263. package/dist/utils/compileTailwindCss.mjs.map +0 -1
  264. package/dist/utils/decodeStyleEntities.mjs.map +0 -1
  265. package/dist/utils/detect.mjs.map +0 -1
  266. package/dist/utils/url.mjs.map +0 -1
  267. /package/dist/components/{Divider.vue → Hr.vue} +0 -0
  268. /package/dist/types/{config.mjs → config.js} +0 -0
  269. /package/dist/types/{index.mjs → index.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clack/prompts",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",
@@ -46,11 +46,14 @@
46
46
  "stdin",
47
47
  "ui"
48
48
  ],
49
+ "engines": {
50
+ "node": ">= 20.12.0"
51
+ },
49
52
  "dependencies": {
50
- "fast-string-width": "^1.1.0",
51
- "fast-wrap-ansi": "^0.1.3",
53
+ "fast-string-width": "^3.0.2",
54
+ "fast-wrap-ansi": "^0.2.0",
52
55
  "sisteransi": "^1.0.5",
53
- "@clack/core": "1.2.0"
56
+ "@clack/core": "1.3.0"
54
57
  },
55
58
  "devDependencies": {
56
59
  "is-unicode-supported": "^1.3.0",
@@ -1,28 +1,35 @@
1
1
  /* IMPORT */
2
- import { isAmbiguous, isFullWidth, isWide } from './utils.js';
2
+ import { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji } from './utils.js';
3
3
  /* HELPERS */
4
- const ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
4
+ const ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
5
5
  const CONTROL_RE = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
6
+ const CJKT_WIDE_RE = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu;
6
7
  const TAB_RE = /\t{1,1000}/y;
7
8
  const EMOJI_RE = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu;
8
9
  const LATIN_RE = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
9
10
  const MODIFIER_RE = /\p{M}+/gu;
10
11
  const NO_TRUNCATION = { limit: Infinity, ellipsis: '' };
11
12
  /* MAIN */
12
- //TODO: Optimize matching non-latin letters
13
13
  const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {
14
14
  /* CONSTANTS */
15
15
  const LIMIT = truncationOptions.limit ?? Infinity;
16
16
  const ELLIPSIS = truncationOptions.ellipsis ?? '';
17
17
  const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION, widthOptions).width : 0);
18
- const ANSI_WIDTH = widthOptions.ansiWidth ?? 0;
18
+ const ANSI_WIDTH = 0;
19
19
  const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
20
20
  const TAB_WIDTH = widthOptions.tabWidth ?? 8;
21
- const AMBIGUOUS_WIDTH = widthOptions.ambiguousWidth ?? 1;
22
21
  const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;
23
- const FULL_WIDTH_WIDTH = widthOptions.fullWidthWidth ?? 2;
22
+ const FULL_WIDTH_WIDTH = 2;
24
23
  const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
25
- const WIDE_WIDTH = widthOptions.wideWidth ?? 2;
24
+ const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;
25
+ const PARSE_BLOCKS = [
26
+ [LATIN_RE, REGULAR_WIDTH],
27
+ [ANSI_RE, ANSI_WIDTH],
28
+ [CONTROL_RE, CONTROL_WIDTH],
29
+ [TAB_RE, TAB_WIDTH],
30
+ [EMOJI_RE, EMOJI_WIDTH],
31
+ [CJKT_WIDE_RE, WIDE_WIDTH],
32
+ ];
26
33
  /* STATE */
27
34
  let indexPrev = 0;
28
35
  let index = 0;
@@ -46,12 +53,9 @@ const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {
46
53
  if (isFullWidth(codePoint)) {
47
54
  widthExtra = FULL_WIDTH_WIDTH;
48
55
  }
49
- else if (isWide(codePoint)) {
56
+ else if (isWideNotCJKTNotEmoji(codePoint)) {
50
57
  widthExtra = WIDE_WIDTH;
51
58
  }
52
- else if (AMBIGUOUS_WIDTH !== REGULAR_WIDTH && isAmbiguous(codePoint)) {
53
- widthExtra = AMBIGUOUS_WIDTH;
54
- }
55
59
  else {
56
60
  widthExtra = REGULAR_WIDTH;
57
61
  }
@@ -68,93 +72,29 @@ const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {
68
72
  unmatchedStart = unmatchedEnd = 0;
69
73
  }
70
74
  /* EXITING */
71
- if (index >= length)
72
- break;
73
- /* LATIN */
74
- LATIN_RE.lastIndex = index;
75
- if (LATIN_RE.test(input)) {
76
- lengthExtra = LATIN_RE.lastIndex - index;
77
- widthExtra = lengthExtra * REGULAR_WIDTH;
78
- if ((width + widthExtra) > truncationLimit) {
79
- truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / REGULAR_WIDTH));
80
- }
81
- if ((width + widthExtra) > LIMIT) {
82
- truncationEnabled = true;
83
- break;
84
- }
85
- width += widthExtra;
86
- unmatchedStart = indexPrev;
87
- unmatchedEnd = index;
88
- index = indexPrev = LATIN_RE.lastIndex;
89
- continue;
90
- }
91
- /* ANSI */
92
- ANSI_RE.lastIndex = index;
93
- if (ANSI_RE.test(input)) {
94
- if ((width + ANSI_WIDTH) > truncationLimit) {
95
- truncationIndex = Math.min(truncationIndex, index);
96
- }
97
- if ((width + ANSI_WIDTH) > LIMIT) {
98
- truncationEnabled = true;
99
- break;
100
- }
101
- width += ANSI_WIDTH;
102
- unmatchedStart = indexPrev;
103
- unmatchedEnd = index;
104
- index = indexPrev = ANSI_RE.lastIndex;
105
- continue;
106
- }
107
- /* CONTROL */
108
- CONTROL_RE.lastIndex = index;
109
- if (CONTROL_RE.test(input)) {
110
- lengthExtra = CONTROL_RE.lastIndex - index;
111
- widthExtra = lengthExtra * CONTROL_WIDTH;
112
- if ((width + widthExtra) > truncationLimit) {
113
- truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / CONTROL_WIDTH));
114
- }
115
- if ((width + widthExtra) > LIMIT) {
116
- truncationEnabled = true;
117
- break;
118
- }
119
- width += widthExtra;
120
- unmatchedStart = indexPrev;
121
- unmatchedEnd = index;
122
- index = indexPrev = CONTROL_RE.lastIndex;
123
- continue;
124
- }
125
- /* TAB */
126
- TAB_RE.lastIndex = index;
127
- if (TAB_RE.test(input)) {
128
- lengthExtra = TAB_RE.lastIndex - index;
129
- widthExtra = lengthExtra * TAB_WIDTH;
130
- if ((width + widthExtra) > truncationLimit) {
131
- truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / TAB_WIDTH));
132
- }
133
- if ((width + widthExtra) > LIMIT) {
134
- truncationEnabled = true;
135
- break;
136
- }
137
- width += widthExtra;
138
- unmatchedStart = indexPrev;
139
- unmatchedEnd = index;
140
- index = indexPrev = TAB_RE.lastIndex;
141
- continue;
75
+ if (index >= length) {
76
+ break outer;
142
77
  }
143
- /* EMOJI */
144
- EMOJI_RE.lastIndex = index;
145
- if (EMOJI_RE.test(input)) {
146
- if ((width + EMOJI_WIDTH) > truncationLimit) {
147
- truncationIndex = Math.min(truncationIndex, index);
148
- }
149
- if ((width + EMOJI_WIDTH) > LIMIT) {
150
- truncationEnabled = true;
151
- break;
78
+ /* PARSE BLOCKS */
79
+ for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {
80
+ const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];
81
+ BLOCK_RE.lastIndex = index;
82
+ if (BLOCK_RE.test(input)) {
83
+ lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;
84
+ widthExtra = lengthExtra * BLOCK_WIDTH;
85
+ if ((width + widthExtra) > truncationLimit) {
86
+ truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));
87
+ }
88
+ if ((width + widthExtra) > LIMIT) {
89
+ truncationEnabled = true;
90
+ break outer;
91
+ }
92
+ width += widthExtra;
93
+ unmatchedStart = indexPrev;
94
+ unmatchedEnd = index;
95
+ index = indexPrev = BLOCK_RE.lastIndex;
96
+ continue outer;
152
97
  }
153
- width += EMOJI_WIDTH;
154
- unmatchedStart = indexPrev;
155
- unmatchedEnd = index;
156
- index = indexPrev = EMOJI_RE.lastIndex;
157
- continue;
158
98
  }
159
99
  /* UNMATCHED INDEX */
160
100
  index += 1;
@@ -4,12 +4,9 @@ type TruncationOptions = {
4
4
  ellipsisWidth?: number;
5
5
  };
6
6
  type WidthOptions = {
7
- ansiWidth?: number;
8
7
  controlWidth?: number;
9
8
  tabWidth?: number;
10
- ambiguousWidth?: number;
11
9
  emojiWidth?: number;
12
- fullWidthWidth?: number;
13
10
  regularWidth?: number;
14
11
  wideWidth?: number;
15
12
  };
@@ -1,4 +1,4 @@
1
- declare const isAmbiguous: (x: number) => boolean;
1
+ declare const getCodePointsLength: (input: string) => number;
2
2
  declare const isFullWidth: (x: number) => boolean;
3
- declare const isWide: (x: number) => boolean;
4
- export { isAmbiguous, isFullWidth, isWide };
3
+ declare const isWideNotCJKTNotEmoji: (x: number) => boolean;
4
+ export { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji };
@@ -1,15 +1,20 @@
1
1
  /* MAIN */
2
- //URL: https://github.com/sindresorhus/get-east-asian-width/blob/main/lookup.js
3
- //LICENSE: https://github.com/sindresorhus/get-east-asian-width/blob/main/license
4
- //TODO: Replace these with some unicode property classes, if the ones we need exist
5
- const isAmbiguous = (x) => {
6
- return x === 0xA1 || x === 0xA4 || x === 0xA7 || x === 0xA8 || x === 0xAA || x === 0xAD || x === 0xAE || x >= 0xB0 && x <= 0xB4 || x >= 0xB6 && x <= 0xBA || x >= 0xBC && x <= 0xBF || x === 0xC6 || x === 0xD0 || x === 0xD7 || x === 0xD8 || x >= 0xDE && x <= 0xE1 || x === 0xE6 || x >= 0xE8 && x <= 0xEA || x === 0xEC || x === 0xED || x === 0xF0 || x === 0xF2 || x === 0xF3 || x >= 0xF7 && x <= 0xFA || x === 0xFC || x === 0xFE || x === 0x101 || x === 0x111 || x === 0x113 || x === 0x11B || x === 0x126 || x === 0x127 || x === 0x12B || x >= 0x131 && x <= 0x133 || x === 0x138 || x >= 0x13F && x <= 0x142 || x === 0x144 || x >= 0x148 && x <= 0x14B || x === 0x14D || x === 0x152 || x === 0x153 || x === 0x166 || x === 0x167 || x === 0x16B || x === 0x1CE || x === 0x1D0 || x === 0x1D2 || x === 0x1D4 || x === 0x1D6 || x === 0x1D8 || x === 0x1DA || x === 0x1DC || x === 0x251 || x === 0x261 || x === 0x2C4 || x === 0x2C7 || x >= 0x2C9 && x <= 0x2CB || x === 0x2CD || x === 0x2D0 || x >= 0x2D8 && x <= 0x2DB || x === 0x2DD || x === 0x2DF || x >= 0x300 && x <= 0x36F || x >= 0x391 && x <= 0x3A1 || x >= 0x3A3 && x <= 0x3A9 || x >= 0x3B1 && x <= 0x3C1 || x >= 0x3C3 && x <= 0x3C9 || x === 0x401 || x >= 0x410 && x <= 0x44F || x === 0x451 || x === 0x2010 || x >= 0x2013 && x <= 0x2016 || x === 0x2018 || x === 0x2019 || x === 0x201C || x === 0x201D || x >= 0x2020 && x <= 0x2022 || x >= 0x2024 && x <= 0x2027 || x === 0x2030 || x === 0x2032 || x === 0x2033 || x === 0x2035 || x === 0x203B || x === 0x203E || x === 0x2074 || x === 0x207F || x >= 0x2081 && x <= 0x2084 || x === 0x20AC || x === 0x2103 || x === 0x2105 || x === 0x2109 || x === 0x2113 || x === 0x2116 || x === 0x2121 || x === 0x2122 || x === 0x2126 || x === 0x212B || x === 0x2153 || x === 0x2154 || x >= 0x215B && x <= 0x215E || x >= 0x2160 && x <= 0x216B || x >= 0x2170 && x <= 0x2179 || x === 0x2189 || x >= 0x2190 && x <= 0x2199 || x === 0x21B8 || x === 0x21B9 || x === 0x21D2 || x === 0x21D4 || x === 0x21E7 || x === 0x2200 || x === 0x2202 || x === 0x2203 || x === 0x2207 || x === 0x2208 || x === 0x220B || x === 0x220F || x === 0x2211 || x === 0x2215 || x === 0x221A || x >= 0x221D && x <= 0x2220 || x === 0x2223 || x === 0x2225 || x >= 0x2227 && x <= 0x222C || x === 0x222E || x >= 0x2234 && x <= 0x2237 || x === 0x223C || x === 0x223D || x === 0x2248 || x === 0x224C || x === 0x2252 || x === 0x2260 || x === 0x2261 || x >= 0x2264 && x <= 0x2267 || x === 0x226A || x === 0x226B || x === 0x226E || x === 0x226F || x === 0x2282 || x === 0x2283 || x === 0x2286 || x === 0x2287 || x === 0x2295 || x === 0x2299 || x === 0x22A5 || x === 0x22BF || x === 0x2312 || x >= 0x2460 && x <= 0x24E9 || x >= 0x24EB && x <= 0x254B || x >= 0x2550 && x <= 0x2573 || x >= 0x2580 && x <= 0x258F || x >= 0x2592 && x <= 0x2595 || x === 0x25A0 || x === 0x25A1 || x >= 0x25A3 && x <= 0x25A9 || x === 0x25B2 || x === 0x25B3 || x === 0x25B6 || x === 0x25B7 || x === 0x25BC || x === 0x25BD || x === 0x25C0 || x === 0x25C1 || x >= 0x25C6 && x <= 0x25C8 || x === 0x25CB || x >= 0x25CE && x <= 0x25D1 || x >= 0x25E2 && x <= 0x25E5 || x === 0x25EF || x === 0x2605 || x === 0x2606 || x === 0x2609 || x === 0x260E || x === 0x260F || x === 0x261C || x === 0x261E || x === 0x2640 || x === 0x2642 || x === 0x2660 || x === 0x2661 || x >= 0x2663 && x <= 0x2665 || x >= 0x2667 && x <= 0x266A || x === 0x266C || x === 0x266D || x === 0x266F || x === 0x269E || x === 0x269F || x === 0x26BF || x >= 0x26C6 && x <= 0x26CD || x >= 0x26CF && x <= 0x26D3 || x >= 0x26D5 && x <= 0x26E1 || x === 0x26E3 || x === 0x26E8 || x === 0x26E9 || x >= 0x26EB && x <= 0x26F1 || x === 0x26F4 || x >= 0x26F6 && x <= 0x26F9 || x === 0x26FB || x === 0x26FC || x === 0x26FE || x === 0x26FF || x === 0x273D || x >= 0x2776 && x <= 0x277F || x >= 0x2B56 && x <= 0x2B59 || x >= 0x3248 && x <= 0x324F || x >= 0xE000 && x <= 0xF8FF || x >= 0xFE00 && x <= 0xFE0F || x === 0xFFFD || x >= 0x1F100 && x <= 0x1F10A || x >= 0x1F110 && x <= 0x1F12D || x >= 0x1F130 && x <= 0x1F169 || x >= 0x1F170 && x <= 0x1F18D || x === 0x1F18F || x === 0x1F190 || x >= 0x1F19B && x <= 0x1F1AC || x >= 0xE0100 && x <= 0xE01EF || x >= 0xF0000 && x <= 0xFFFFD || x >= 0x100000 && x <= 0x10FFFD;
7
- };
2
+ const getCodePointsLength = (() => {
3
+ const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
4
+ return (input) => {
5
+ let surrogatePairsNr = 0;
6
+ SURROGATE_PAIR_RE.lastIndex = 0;
7
+ while (SURROGATE_PAIR_RE.test(input)) {
8
+ surrogatePairsNr += 1;
9
+ }
10
+ return input.length - surrogatePairsNr;
11
+ };
12
+ })();
8
13
  const isFullWidth = (x) => {
9
14
  return x === 0x3000 || x >= 0xFF01 && x <= 0xFF60 || x >= 0xFFE0 && x <= 0xFFE6;
10
15
  };
11
- const isWide = (x) => {
12
- return x >= 0x1100 && x <= 0x115F || x === 0x231A || x === 0x231B || x === 0x2329 || x === 0x232A || x >= 0x23E9 && x <= 0x23EC || x === 0x23F0 || x === 0x23F3 || x === 0x25FD || x === 0x25FE || x === 0x2614 || x === 0x2615 || x >= 0x2648 && x <= 0x2653 || x === 0x267F || x === 0x2693 || x === 0x26A1 || x === 0x26AA || x === 0x26AB || x === 0x26BD || x === 0x26BE || x === 0x26C4 || x === 0x26C5 || x === 0x26CE || x === 0x26D4 || x === 0x26EA || x === 0x26F2 || x === 0x26F3 || x === 0x26F5 || x === 0x26FA || x === 0x26FD || x === 0x2705 || x === 0x270A || x === 0x270B || x === 0x2728 || x === 0x274C || x === 0x274E || x >= 0x2753 && x <= 0x2755 || x === 0x2757 || x >= 0x2795 && x <= 0x2797 || x === 0x27B0 || x === 0x27BF || x === 0x2B1B || x === 0x2B1C || x === 0x2B50 || x === 0x2B55 || x >= 0x2E80 && x <= 0x2E99 || x >= 0x2E9B && x <= 0x2EF3 || x >= 0x2F00 && x <= 0x2FD5 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3041 && x <= 0x3096 || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E3 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0x4DBF || x >= 0x4E00 && x <= 0xA48C || x >= 0xA490 && x <= 0xA4C6 || x >= 0xA960 && x <= 0xA97C || x >= 0xAC00 && x <= 0xD7A3 || x >= 0xF900 && x <= 0xFAFF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x16FE0 && x <= 0x16FE4 || x === 0x16FF0 || x === 0x16FF1 || x >= 0x17000 && x <= 0x187F7 || x >= 0x18800 && x <= 0x18CD5 || x >= 0x18D00 && x <= 0x18D08 || x >= 0x1AFF0 && x <= 0x1AFF3 || x >= 0x1AFF5 && x <= 0x1AFFB || x === 0x1AFFD || x === 0x1AFFE || x >= 0x1B000 && x <= 0x1B122 || x === 0x1B132 || x >= 0x1B150 && x <= 0x1B152 || x === 0x1B155 || x >= 0x1B164 && x <= 0x1B167 || x >= 0x1B170 && x <= 0x1B2FB || x === 0x1F004 || x === 0x1F0CF || x === 0x1F18E || x >= 0x1F191 && x <= 0x1F19A || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x === 0x1F250 || x === 0x1F251 || x >= 0x1F260 && x <= 0x1F265 || x >= 0x1F300 && x <= 0x1F320 || x >= 0x1F32D && x <= 0x1F335 || x >= 0x1F337 && x <= 0x1F37C || x >= 0x1F37E && x <= 0x1F393 || x >= 0x1F3A0 && x <= 0x1F3CA || x >= 0x1F3CF && x <= 0x1F3D3 || x >= 0x1F3E0 && x <= 0x1F3F0 || x === 0x1F3F4 || x >= 0x1F3F8 && x <= 0x1F43E || x === 0x1F440 || x >= 0x1F442 && x <= 0x1F4FC || x >= 0x1F4FF && x <= 0x1F53D || x >= 0x1F54B && x <= 0x1F54E || x >= 0x1F550 && x <= 0x1F567 || x === 0x1F57A || x === 0x1F595 || x === 0x1F596 || x === 0x1F5A4 || x >= 0x1F5FB && x <= 0x1F64F || x >= 0x1F680 && x <= 0x1F6C5 || x === 0x1F6CC || x >= 0x1F6D0 && x <= 0x1F6D2 || x >= 0x1F6D5 && x <= 0x1F6D7 || x >= 0x1F6DC && x <= 0x1F6DF || x === 0x1F6EB || x === 0x1F6EC || x >= 0x1F6F4 && x <= 0x1F6FC || x >= 0x1F7E0 && x <= 0x1F7EB || x === 0x1F7F0 || x >= 0x1F90C && x <= 0x1F93A || x >= 0x1F93C && x <= 0x1F945 || x >= 0x1F947 && x <= 0x1F9FF || x >= 0x1FA70 && x <= 0x1FA7C || x >= 0x1FA80 && x <= 0x1FA88 || x >= 0x1FA90 && x <= 0x1FABD || x >= 0x1FABF && x <= 0x1FAC5 || x >= 0x1FACE && x <= 0x1FADB || x >= 0x1FAE0 && x <= 0x1FAE8 || x >= 0x1FAF0 && x <= 0x1FAF8 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;
16
+ const isWideNotCJKTNotEmoji = (x) => {
17
+ return x === 0x231B || x === 0x2329 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E3 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0x4DBF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;
13
18
  };
14
19
  /* EXPORT */
15
- export { isAmbiguous, isFullWidth, isWide };
20
+ export { getCodePointsLength, isFullWidth, isWideNotCJKTNotEmoji };
@@ -3,7 +3,7 @@
3
3
  "repository": "github:fabiospampinato/fast-string-truncated-width",
4
4
  "description": "A fast function for calculating where a string should be truncated, given an optional width limit and an ellipsis string.",
5
5
  "license": "MIT",
6
- "version": "1.2.1",
6
+ "version": "3.0.3",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "exports": "./dist/index.js",
@@ -4,6 +4,8 @@ A fast function for calculating where a string should be truncated, given a widt
4
4
 
5
5
  This is a low-level function that basically calculates the visual width of a string and the index at which it should be truncated once printed to the terminal, but taking into account an optional width limit and an optional ellipsis string, so that the string doesn't have to be processed multiple times to be truncated, and how long the part after the truncation point is doesn't cost us anything because we can just ignore it.
6
6
 
7
+ Note that codepoints considered "ambiguous" in Unicode will always use "regularWidth" as their width, if you need to customize this you should use [`string-width`](https://www.npmjs.com/package/string-width) instead.
8
+
7
9
  ## Install
8
10
 
9
11
  ```sh
@@ -18,12 +20,9 @@ import fastStringTruncatedWidth from 'fast-string-truncated-width';
18
20
  // The width of various classes of characters is configurable
19
21
 
20
22
  const widthOptions = {
21
- ansiWidth: 0,
22
23
  controlWidth: 0,
23
24
  tabWidth: 8,
24
- ambiguousWidth: 1,
25
25
  emojiWidth: 2,
26
- fullWidthWidth: 2,
27
26
  regularWidth: 1,
28
27
  wideWidth: 2
29
28
  };
@@ -3,7 +3,7 @@
3
3
  "repository": "github:fabiospampinato/fast-string-width",
4
4
  "description": "A fast function for calculating the visual width of a string once printed to the terminal.",
5
5
  "license": "MIT",
6
- "version": "1.1.0",
6
+ "version": "3.0.2",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "exports": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "terminal"
25
25
  ],
26
26
  "dependencies": {
27
- "fast-string-truncated-width": "^1.2.0"
27
+ "fast-string-truncated-width": "^3.0.2"
28
28
  },
29
29
  "devDependencies": {
30
30
  "fava": "^0.3.4",
@@ -18,12 +18,9 @@ import fastStringWidth from 'fast-string-width';
18
18
  // The width of various classes of characters is configurable
19
19
 
20
20
  const options = {
21
- ansiWidth: 0,
22
21
  controlWidth: 0,
23
22
  tabWidth: 8,
24
- ambiguousWidth: 1,
25
23
  emojiWidth: 2,
26
- fullWidthWidth: 2,
27
24
  regularWidth: 1,
28
25
  wideWidth: 2
29
26
  };
@@ -169,9 +169,12 @@ const exec = (string, columns, options = {}) => {
169
169
  returnValue += character;
170
170
  if (!inSurrogate) {
171
171
  inSurrogate = character >= '\ud800' && character <= '\udbff';
172
+ if (inSurrogate) {
173
+ continue;
174
+ }
172
175
  }
173
176
  else {
174
- continue;
177
+ inSurrogate = false;
175
178
  }
176
179
  if (character === ESC || character === CSI) {
177
180
  GROUP_REGEX.lastIndex = i + 1;
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fast-wrap-ansi",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "files": [
5
5
  "lib"
6
6
  ],
@@ -46,6 +46,6 @@
46
46
  "wrap-ansi": "^9.0.2"
47
47
  },
48
48
  "dependencies": {
49
- "fast-string-width": "^1.1.0"
49
+ "fast-string-width": "^3.0.2"
50
50
  }
51
51
  }
@@ -66,7 +66,7 @@ The options object can have the following properties:
66
66
 
67
67
  ### Passing a string to stdin
68
68
 
69
- You can pass a string to `stdin`, which is useful for whitespace-sensitive values and for secrets you shouldn’t be exposed in shell history:
69
+ You can pass a string to `stdin`, which is useful for whitespace-sensitive values and for secrets that shouldn’t be exposed in shell history:
70
70
 
71
71
  ```ts
72
72
  const result = await x('gh', ['auth', 'login', '--with-token'], {
@@ -25,7 +25,7 @@ interface CommonOutputApi {
25
25
  interface OutputApi extends AsyncIterable<string>, CommonOutputApi {
26
26
  process: ChildProcess | undefined;
27
27
  get aborted(): boolean;
28
- pipe(command: string, args?: string[], options?: Partial<PipeOptions>): Result;
28
+ pipe(command: string, args?: readonly string[], options?: Partial<PipeOptions>): Result;
29
29
  kill(signal?: KillSignal): boolean;
30
30
  }
31
31
  interface OutputApiSync extends Iterable<string>, CommonOutputApi {}
@@ -45,25 +45,25 @@ interface SyncOptions extends CommonOptions {
45
45
  nodeOptions: SpawnSyncOptions;
46
46
  }
47
47
  interface TinyExec {
48
- (command: string, args?: string[], options?: Partial<Options>): Result;
48
+ (command: string, args?: readonly string[], options?: Partial<Options>): Result;
49
49
  }
50
50
  declare class ExecProcess implements Result {
51
51
  protected _process?: ChildProcess;
52
52
  protected _aborted: boolean;
53
53
  protected _options: Partial<Options>;
54
54
  protected _command: string;
55
- protected _args: string[];
55
+ protected _args: readonly string[];
56
56
  protected _resolveClose?: () => void;
57
57
  protected _processClosed: Promise<void>;
58
58
  protected _thrownError?: Error;
59
59
  get process(): ChildProcess | undefined;
60
60
  get pid(): number | undefined;
61
61
  get exitCode(): number | undefined;
62
- constructor(command: string, args?: string[], options?: Partial<Options>);
62
+ constructor(command: string, args?: readonly string[], options?: Partial<Options>);
63
63
  kill(signal?: KillSignal): boolean;
64
64
  get aborted(): boolean;
65
65
  get killed(): boolean;
66
- pipe(command: string, args?: string[], options?: Partial<PipeOptions>): Result;
66
+ pipe(command: string, args?: readonly string[], options?: Partial<PipeOptions>): Result;
67
67
  [Symbol.asyncIterator](): AsyncIterator<string>;
68
68
  protected _waitForOutput(): Promise<Output>;
69
69
  then<TResult1 = Output, TResult2 = never>(onfulfilled?: ((value: Output) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
@@ -74,7 +74,7 @@ declare class ExecProcess implements Result {
74
74
  protected _onError: (err: Error) => void;
75
75
  protected _onClose: () => void;
76
76
  }
77
- declare function xSync(command: string, args?: string[], options?: Partial<SyncOptions>): SyncResult;
77
+ declare function xSync(command: string, args?: readonly string[], options?: Partial<SyncOptions>): SyncResult;
78
78
  declare const x: TinyExec;
79
79
  declare const exec: TinyExec;
80
80
  declare const execSync: typeof xSync;