vercel 59.11.2 → 59.12.0

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 (173) hide show
  1. package/dist/chunks/{add-BKSHWTPX.js → add-OO3JGLZW.js} +23 -18
  2. package/dist/chunks/{add-HPLJZFM2.js → add-RTXDASSS.js} +23 -18
  3. package/dist/chunks/add-XGO6LHMD.js +221 -0
  4. package/dist/chunks/{build-V4ZLAJWB.js → build-JINV2UD4.js} +23 -18
  5. package/dist/chunks/{chunk-NGGLYKNU.js → chunk-26CU4Q3C.js} +3 -115
  6. package/dist/chunks/{chunk-QFAS4OVW.js → chunk-2JIX6UMI.js} +3 -84
  7. package/dist/chunks/chunk-2NIDTSQJ.js +305 -0
  8. package/dist/chunks/chunk-32XSMM3W.js +49 -0
  9. package/dist/chunks/chunk-332LMJLZ.js +16014 -0
  10. package/dist/chunks/{chunk-RO44KX6Y.js → chunk-3BB2HOO2.js} +12 -7
  11. package/dist/chunks/{chunk-HDBQPBL6.js → chunk-3F25W3GA.js} +13 -9
  12. package/dist/chunks/{chunk-AYLY3ZVL.js → chunk-3VM7HWF6.js} +2 -2
  13. package/dist/chunks/chunk-4IALDGB7.js +22 -0
  14. package/dist/chunks/{chunk-MTWHQEXI.js → chunk-4TUMNBEE.js} +7 -5
  15. package/dist/chunks/{chunk-5XECIWME.js → chunk-5NF5HOBJ.js} +5 -3
  16. package/dist/chunks/chunk-6E6KPBXY.js +43 -0
  17. package/dist/chunks/{chunk-ASBP32T6.js → chunk-7MRDIPJY.js} +1 -1
  18. package/dist/chunks/chunk-ABSZNJQO.js +522 -0
  19. package/dist/chunks/{chunk-7ST552E3.js → chunk-AKLTIZCU.js} +1 -1
  20. package/dist/chunks/{chunk-ONRLTUP2.js → chunk-AV747POV.js} +43 -36
  21. package/dist/chunks/chunk-B5XLQKHI.js +849 -0
  22. package/dist/chunks/{chunk-BMKU5KEL.js → chunk-CV5YC2EN.js} +1 -1
  23. package/dist/chunks/{chunk-TPATD2MM.js → chunk-CZ5QQRXD.js} +14 -6
  24. package/dist/chunks/{chunk-2EAIC3SH.js → chunk-E47NARDE.js} +8 -8
  25. package/dist/chunks/{chunk-XM3LOQIX.js → chunk-EDMW7SBH.js} +76 -92
  26. package/dist/chunks/{chunk-QAT3CW4G.js → chunk-EFYMIIER.js} +2 -2
  27. package/dist/chunks/chunk-ELZ6WQQA.js +81 -0
  28. package/dist/chunks/{chunk-FKDO3CM4.js → chunk-EOLGLGXJ.js} +17 -13
  29. package/dist/chunks/chunk-FRVG4OW3.js +7438 -0
  30. package/dist/chunks/chunk-G5FBSUL4.js +822 -0
  31. package/dist/chunks/chunk-GDOUDU6O.js +74 -0
  32. package/dist/chunks/{chunk-OQ3C5VXZ.js → chunk-GVNCVKCI.js} +4 -2
  33. package/dist/chunks/chunk-HB4UKFDO.js +1295 -0
  34. package/dist/chunks/{chunk-FRAXI2WT.js → chunk-HD4DR3DA.js} +4 -3
  35. package/dist/chunks/{chunk-DWIC7MRV.js → chunk-HKHXKSXQ.js} +1 -1
  36. package/dist/chunks/{chunk-6JPVTPTU.js → chunk-HM24ZWQL.js} +4 -4
  37. package/dist/chunks/chunk-HR2MP4XF.js +324 -0
  38. package/dist/chunks/chunk-HRXRELD3.js +338 -0
  39. package/dist/chunks/{chunk-IJ4X426J.js → chunk-IIMSID24.js} +1 -1
  40. package/dist/chunks/{chunk-B4TXCKXE.js → chunk-JOXNBQ7W.js} +10 -8
  41. package/dist/chunks/{chunk-O75LSD3C.js → chunk-JSD4EZL3.js} +1 -1
  42. package/dist/chunks/{chunk-7AEEQOD4.js → chunk-K3RED3VO.js} +1 -1
  43. package/dist/chunks/chunk-KAF4WFF3.js +257 -0
  44. package/dist/chunks/{chunk-3T7WSWZH.js → chunk-KFWQ3EFH.js} +1 -1
  45. package/dist/chunks/{chunk-6CZZ3SH3.js → chunk-KNO327AW.js} +2 -2
  46. package/dist/chunks/{chunk-L3UXB2CW.js → chunk-KW7BS25T.js} +1 -1
  47. package/dist/chunks/{chunk-2NJJ2K5S.js → chunk-L6B6BRHH.js} +6 -6
  48. package/dist/chunks/{chunk-FZRBF25Y.js → chunk-LDV2R4P4.js} +4 -4
  49. package/dist/chunks/chunk-MADFAH3O.js +14059 -0
  50. package/dist/chunks/{chunk-OO3OF6MK.js → chunk-MDGPZHSM.js} +151 -26
  51. package/dist/chunks/{chunk-XRWOTCDO.js → chunk-ND5CF2H3.js} +1 -1
  52. package/dist/chunks/{chunk-6TBDHUXK.js → chunk-NDY3JDOU.js} +21 -15
  53. package/dist/chunks/{chunk-RKDCNQ4S.js → chunk-NW34PW6V.js} +3 -105
  54. package/dist/chunks/{chunk-C5HKWXRR.js → chunk-OAMU5QO6.js} +1 -1
  55. package/dist/chunks/{chunk-RSJBU3ON.js → chunk-OJHDGHOB.js} +35 -27
  56. package/dist/chunks/chunk-P7VSBDR4.js +827 -0
  57. package/dist/chunks/chunk-PEC3CQSK.js +90 -0
  58. package/dist/chunks/{chunk-KJBZ5ZST.js → chunk-PIMIVJYK.js} +1 -0
  59. package/dist/chunks/chunk-PNGVSHR3.js +40 -0
  60. package/dist/chunks/chunk-PP5GKSIX.js +137 -0
  61. package/dist/chunks/chunk-QB2UHSUB.js +58 -0
  62. package/dist/chunks/chunk-QIUK4Z7Q.js +79 -0
  63. package/dist/chunks/chunk-RN6V5ODW.js +114 -0
  64. package/dist/chunks/chunk-RNK3LXLR.js +1288 -0
  65. package/dist/chunks/chunk-RVBZ64EQ.js +52 -0
  66. package/dist/chunks/{chunk-WA2SJE5S.js → chunk-SWO66HE2.js} +4 -4
  67. package/dist/chunks/{chunk-NBW3BWOJ.js → chunk-TDGK45FB.js} +2 -2
  68. package/dist/chunks/{chunk-WNAKOXGK.js → chunk-TO7QZGYK.js} +1 -1
  69. package/dist/chunks/{chunk-QDV5LZ4Q.js → chunk-UA55I7M6.js} +12 -8
  70. package/dist/chunks/{chunk-FWKSJYDV.js → chunk-UG2WOB5L.js} +1 -1
  71. package/dist/chunks/chunk-UJPVHLL5.js +233 -0
  72. package/dist/chunks/chunk-V4RMJKQP.js +36 -0
  73. package/dist/chunks/chunk-VJSREJVM.js +875 -0
  74. package/dist/chunks/chunk-VUS2JQB2.js +121 -0
  75. package/dist/chunks/{chunk-4KVJ2M4J.js → chunk-WPBCUXMZ.js} +582 -37
  76. package/dist/chunks/chunk-WSZ5E4WH.js +92 -0
  77. package/dist/chunks/{chunk-Q5K5DEOK.js → chunk-WT2Y7FRD.js} +42 -28
  78. package/dist/chunks/chunk-WT6C2ALC.js +18188 -0
  79. package/dist/chunks/chunk-X6TGUHFD.js +59 -0
  80. package/dist/chunks/{chunk-ZSFEACZU.js → chunk-XFF5TGRA.js} +1 -1
  81. package/dist/chunks/chunk-XNIZGCN5.js +58 -0
  82. package/dist/chunks/chunk-XPJLPUKO.js +117 -0
  83. package/dist/chunks/{chunk-FXD67VN5.js → chunk-XUAWTW4W.js} +1 -1
  84. package/dist/chunks/chunk-YPMFZRTN.js +417 -0
  85. package/dist/chunks/chunk-YRESLJCW.js +1536 -0
  86. package/dist/chunks/{chunk-I526H4AS.js → chunk-YS76T533.js} +2 -2
  87. package/dist/chunks/{chunk-52QYYTM5.js → chunk-ZDU2NODC.js} +3 -127
  88. package/dist/chunks/chunk-ZW6HETRE.js +97 -0
  89. package/dist/chunks/{clear-IYGWCNXT.js → clear-GQTDYSKJ.js} +23 -18
  90. package/dist/chunks/{compile-vercel-config-NEEBZRUJ.js → compile-vercel-config-URVMKDVW.js} +8 -11
  91. package/dist/chunks/{config-6DS6BBR2.js → config-MSVQR5T6.js} +23 -18
  92. package/dist/chunks/{config-NTB5EMV4.js → config-OAXY4J6P.js} +23 -18
  93. package/dist/chunks/config-validator.mjs +1 -1
  94. package/dist/chunks/{delete-LSGID5FV.js → delete-57QO64HD.js} +19 -14
  95. package/dist/chunks/{delete-LLC2OGHA.js → delete-XN6ESD7C.js} +16 -12
  96. package/dist/chunks/detect-projects-ODNU4PK2.js +18 -0
  97. package/dist/chunks/detect-services-UPY4LTBZ.js +40 -0
  98. package/dist/chunks/{disable-H4EXEQK7.js → disable-BYI46V7B.js} +17 -13
  99. package/dist/chunks/{discard-FG6VKHWN.js → discard-IIQL44ZZ.js} +17 -13
  100. package/dist/chunks/{edit-BZJSGUHT.js → edit-BRNS3OR4.js} +19 -15
  101. package/dist/chunks/{edit-YE7D3CPJ.js → edit-JTW7XZH7.js} +17 -13
  102. package/dist/chunks/{enable-6ESD4QTE.js → enable-CH5FSQMR.js} +17 -13
  103. package/dist/chunks/{exec-XH4K34JM.js → exec-4IPHZ55G.js} +9 -5
  104. package/dist/chunks/{export-QWSJROLG.js → export-6WHQOWKM.js} +16 -13
  105. package/dist/chunks/{image-LTHQMKFG.js → image-ZSLYATWG.js} +11 -8
  106. package/dist/chunks/{import-builders-6O7ILGQJ.js → import-builders-FNMYJZGG.js} +18 -13
  107. package/dist/chunks/{inspect-2C4ZSNYC.js → inspect-4RDZSYWU.js} +27 -23
  108. package/dist/chunks/{inspect-N6SMHV3Z.js → inspect-7WQXZWET.js} +18 -14
  109. package/dist/chunks/{inspect-F7KCTHIL.js → inspect-CGXTNMMO.js} +19 -15
  110. package/dist/chunks/{inspect-ICKNCDMT.js → inspect-XJ7BYLZ5.js} +18 -14
  111. package/dist/chunks/{inspect-TWDPMXZ5.js → inspect-Z2MBTTB7.js} +18 -14
  112. package/dist/chunks/{list-NWTIJF3L.js → list-65LW6OTM.js} +20 -16
  113. package/dist/chunks/{list-DS7ZOUXA.js → list-7W3PHRB6.js} +25 -21
  114. package/dist/chunks/{list-IPGQVBJO.js → list-KS22Y57L.js} +16 -14
  115. package/dist/chunks/{login-F7A7ONKC.js → login-NXULVQZ2.js} +23 -18
  116. package/dist/chunks/{ls-2QW3ZSM6.js → ls-35EOVEIQ.js} +24 -18
  117. package/dist/chunks/{ls-XINES6PL.js → ls-5GKS5QRW.js} +24 -18
  118. package/dist/chunks/ls-ADYFYYIW.js +204 -0
  119. package/dist/chunks/{ls-D4TUDBIH.js → ls-DZYN3SNS.js} +24 -18
  120. package/dist/chunks/{ls-LSJEUPFX.js → ls-HVQOGBGV.js} +23 -16
  121. package/dist/chunks/{ls-NBDX3MKN.js → ls-I2PWG7YN.js} +24 -18
  122. package/dist/chunks/{open-VRQDWZAW.js → open-H34HXJHP.js} +18 -13
  123. package/dist/chunks/{permissions-6C5C7TEV.js → permissions-ZPPEPKVE.js} +14 -11
  124. package/dist/chunks/{publish-GVIZPNLN.js → publish-NRMKXHAU.js} +17 -13
  125. package/dist/chunks/pull-WUT3XTZX.js +45 -0
  126. package/dist/chunks/{push-EFZ5P5Z6.js → push-WFNCEA5J.js} +23 -18
  127. package/dist/chunks/{query-GBS2PIT4.js → query-2FQM3F7N.js} +23 -20
  128. package/dist/chunks/{reorder-TN65IFRL.js → reorder-GYCT7L3C.js} +17 -13
  129. package/dist/chunks/{reply-DYVEV3PY.js → reply-RFEXNYZ7.js} +17 -13
  130. package/dist/chunks/{resolve-JAWFBPUM.js → resolve-ZFGT7W6Z.js} +16 -12
  131. package/dist/chunks/resolve-deployment-framework-preset-NPE6RLV3.js +36 -0
  132. package/dist/chunks/{restore-TJVMHUBQ.js → restore-JAXPMYL5.js} +17 -13
  133. package/dist/chunks/rm-CLKQN5E4.js +162 -0
  134. package/dist/chunks/{rm-HQ5CYNJA.js → rm-JPV5V2SH.js} +23 -18
  135. package/dist/chunks/{rm-7XACNZ2U.js → rm-N7SGFQOA.js} +23 -18
  136. package/dist/chunks/{rm-REJVXALW.js → rm-UQJ4CZJH.js} +23 -18
  137. package/dist/chunks/{rm-CBPNMSRP.js → rm-ZUQ4U454.js} +24 -17
  138. package/dist/chunks/{routes-2OLIBRYX.js → routes-QVMBXOSX.js} +7 -3
  139. package/dist/chunks/rule-inspect-HI3YY7OY.js +123 -0
  140. package/dist/chunks/{rules-VGV4M4KY.js → rules-DA3Q64M4.js} +15 -12
  141. package/dist/chunks/{schema-GMTQOQCV.js → schema-R3C4CXJ6.js} +20 -18
  142. package/dist/chunks/schema-UYYFV3JB.js +381 -0
  143. package/dist/chunks/{set-Z5FO2FCC.js → set-TOJPGW4J.js} +21 -14
  144. package/dist/chunks/setup-and-link-DRYXQOH4.js +65 -0
  145. package/dist/chunks/{tags-SDRXWJ63.js → tags-TNLVFNVI.js} +10 -7
  146. package/dist/chunks/{types-JGANJ5EQ.js → types-4GAJ7XQQ.js} +9 -7
  147. package/dist/chunks/update-X6JB3NPI.js +224 -0
  148. package/dist/chunks/vlt-builder-importer-USCFHWPL.js +322 -0
  149. package/dist/commands/build/index.js +86 -49
  150. package/dist/commands/deploy/index.js +76 -67
  151. package/dist/commands/dev/index.js +98 -52
  152. package/dist/commands/env/index.js +68 -44
  153. package/dist/commands/link/index.js +49 -28
  154. package/dist/commands/list/index.js +33 -22
  155. package/dist/commands-bulk.js +8715 -3581
  156. package/dist/help.js +1 -1
  157. package/dist/index.js +74 -42
  158. package/dist/runtime-assets/node-preloads/next-dev-websocket.cjs +6 -0
  159. package/dist/version.mjs +1 -1
  160. package/package.json +52 -48
  161. package/dist/chunks/add-RBW7QITR.js +0 -219
  162. package/dist/chunks/chunk-26XDDLXM.js +0 -144
  163. package/dist/chunks/chunk-5GGUB4EO.js +0 -31
  164. package/dist/chunks/chunk-MXLA3VQS.js +0 -20
  165. package/dist/chunks/chunk-OTXE7MHI.js +0 -96
  166. package/dist/chunks/chunk-RSEAADCE.js +0 -138
  167. package/dist/chunks/chunk-WYU64FLP.js +0 -62123
  168. package/dist/chunks/chunk-XNFHNTS2.js +0 -2939
  169. package/dist/chunks/ls-RNGO257R.js +0 -193
  170. package/dist/chunks/rm-5B5VHWWN.js +0 -170
  171. package/dist/chunks/rule-inspect-ZSTDDFID.js +0 -281
  172. package/dist/chunks/schema-45SJNY5L.js +0 -427
  173. package/dist/chunks/update-JBQBC3IV.js +0 -233
@@ -0,0 +1,59 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import {
8
+ printProjectNotFoundError
9
+ } from "./chunk-ELZ6WQQA.js";
10
+ import {
11
+ detectExplicitScope
12
+ } from "./chunk-ABSZNJQO.js";
13
+ import {
14
+ getLinkedProject
15
+ } from "./chunk-MADFAH3O.js";
16
+ import {
17
+ omitGlobalFlagsFromArgs
18
+ } from "./chunk-26CU4Q3C.js";
19
+
20
+ // src/util/projects/resolve-project-context.ts
21
+ function getInvokingCommandFromArgv(argv) {
22
+ const args = omitGlobalFlagsFromArgs(argv.slice(2));
23
+ const positionals = [];
24
+ for (const arg of args) {
25
+ if (arg.startsWith("-")) {
26
+ break;
27
+ }
28
+ positionals.push(arg);
29
+ }
30
+ return positionals.join(" ");
31
+ }
32
+ async function resolveProjectContext({
33
+ client,
34
+ cwd = client.cwd,
35
+ projectNameOrId,
36
+ commandName = "",
37
+ projectNotFoundHandling = "report"
38
+ }) {
39
+ const context = await getLinkedProject(client, {
40
+ cwd,
41
+ projectName: projectNameOrId,
42
+ projectNameIsExplicit: Boolean(projectNameOrId),
43
+ scopeIsExplicit: detectExplicitScope(client)
44
+ });
45
+ if (context.status === "not_linked" && projectNameOrId && projectNotFoundHandling === "report") {
46
+ await printProjectNotFoundError(
47
+ client,
48
+ projectNameOrId,
49
+ commandName || getInvokingCommandFromArgv(client.argv),
50
+ context.orgId
51
+ );
52
+ return { status: "error", exitCode: 1, orgId: context.orgId };
53
+ }
54
+ return context;
55
+ }
56
+
57
+ export {
58
+ resolveProjectContext
59
+ };
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_dist
9
- } from "./chunk-QFAS4OVW.js";
9
+ } from "./chunk-ZW6HETRE.js";
10
10
  import {
11
11
  require_source
12
12
  } from "./chunk-S7KYDPEM.js";
@@ -0,0 +1,58 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+
8
+ // src/util/fetch.ts
9
+ import { Readable } from "stream";
10
+ var Headers = globalThis.Headers;
11
+ var Request = globalThis.Request;
12
+ var Response = globalThis.Response;
13
+ var fetchDispatcher;
14
+ function setFetchDispatcher(dispatcher) {
15
+ fetchDispatcher = dispatcher;
16
+ }
17
+ function getFetchDispatcher() {
18
+ return fetchDispatcher;
19
+ }
20
+ function fetch(input, init) {
21
+ const options = { ...init };
22
+ if (fetchDispatcher) {
23
+ options.dispatcher = fetchDispatcher;
24
+ }
25
+ if (init?.body instanceof Readable) {
26
+ options.duplex = "half";
27
+ }
28
+ return globalThis.fetch(
29
+ input,
30
+ options
31
+ );
32
+ }
33
+ function directFetch(input, init) {
34
+ const options = { ...init };
35
+ delete options.dispatcher;
36
+ if (init?.body instanceof Readable) {
37
+ options.duplex = "half";
38
+ }
39
+ return globalThis.fetch(
40
+ input,
41
+ options
42
+ );
43
+ }
44
+ function toNodeReadable(body) {
45
+ if (!body) {
46
+ throw new TypeError("Expected response body");
47
+ }
48
+ return Readable.fromWeb(body);
49
+ }
50
+
51
+ export {
52
+ Headers,
53
+ setFetchDispatcher,
54
+ getFetchDispatcher,
55
+ fetch,
56
+ directFetch,
57
+ toNodeReadable
58
+ };
@@ -0,0 +1,117 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import {
8
+ __commonJS
9
+ } from "./chunk-TZ2YI2VH.js";
10
+
11
+ // ../../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js
12
+ var require_ansi_regex = __commonJS({
13
+ "../../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js"(exports, module) {
14
+ "use strict";
15
+ module.exports = ({ onlyFirst = false } = {}) => {
16
+ const pattern = [
17
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
18
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
19
+ ].join("|");
20
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
21
+ };
22
+ }
23
+ });
24
+
25
+ // ../../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js
26
+ var require_strip_ansi = __commonJS({
27
+ "../../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js"(exports, module) {
28
+ "use strict";
29
+ var ansiRegex = require_ansi_regex();
30
+ module.exports = (string) => typeof string === "string" ? string.replace(ansiRegex(), "") : string;
31
+ }
32
+ });
33
+
34
+ // ../../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js
35
+ var require_is_fullwidth_code_point = __commonJS({
36
+ "../../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js"(exports, module) {
37
+ "use strict";
38
+ var isFullwidthCodePoint = (codePoint) => {
39
+ if (Number.isNaN(codePoint)) {
40
+ return false;
41
+ }
42
+ if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
43
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
44
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
45
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
46
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
47
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
48
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
49
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
50
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
51
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
52
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
53
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
54
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
55
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
56
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
57
+ 131072 <= codePoint && codePoint <= 262141)) {
58
+ return true;
59
+ }
60
+ return false;
61
+ };
62
+ module.exports = isFullwidthCodePoint;
63
+ module.exports.default = isFullwidthCodePoint;
64
+ }
65
+ });
66
+
67
+ // ../../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js
68
+ var require_emoji_regex = __commonJS({
69
+ "../../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js"(exports, module) {
70
+ "use strict";
71
+ module.exports = function() {
72
+ return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
73
+ };
74
+ }
75
+ });
76
+
77
+ // ../../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js
78
+ var require_string_width = __commonJS({
79
+ "../../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js"(exports, module) {
80
+ "use strict";
81
+ var stripAnsi = require_strip_ansi();
82
+ var isFullwidthCodePoint = require_is_fullwidth_code_point();
83
+ var emojiRegex = require_emoji_regex();
84
+ var stringWidth = (string) => {
85
+ if (typeof string !== "string" || string.length === 0) {
86
+ return 0;
87
+ }
88
+ string = stripAnsi(string);
89
+ if (string.length === 0) {
90
+ return 0;
91
+ }
92
+ string = string.replace(emojiRegex(), " ");
93
+ let width = 0;
94
+ for (let i = 0; i < string.length; i++) {
95
+ const code = string.codePointAt(i);
96
+ if (code <= 31 || code >= 127 && code <= 159) {
97
+ continue;
98
+ }
99
+ if (code >= 768 && code <= 879) {
100
+ continue;
101
+ }
102
+ if (code > 65535) {
103
+ i++;
104
+ }
105
+ width += isFullwidthCodePoint(code) ? 2 : 1;
106
+ }
107
+ return width;
108
+ };
109
+ module.exports = stringWidth;
110
+ module.exports.default = stringWidth;
111
+ }
112
+ });
113
+
114
+ export {
115
+ require_strip_ansi,
116
+ require_string_width
117
+ };
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_dist
9
- } from "./chunk-XNFHNTS2.js";
9
+ } from "./chunk-HB4UKFDO.js";
10
10
  import {
11
11
  forceOption,
12
12
  formatOption,
@@ -0,0 +1,417 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import {
8
+ VERCEL_DIR
9
+ } from "./chunk-MADFAH3O.js";
10
+ import {
11
+ ConflictingConfigFiles,
12
+ DeprecatedNowJson
13
+ } from "./chunk-CV5YC2EN.js";
14
+ import {
15
+ output_manager_default
16
+ } from "./chunk-2JIX6UMI.js";
17
+ import {
18
+ __commonJS,
19
+ __require,
20
+ __toESM
21
+ } from "./chunk-TZ2YI2VH.js";
22
+
23
+ // ../../node_modules/.pnpm/dotenv@4.0.0/node_modules/dotenv/lib/main.js
24
+ var require_main = __commonJS({
25
+ "../../node_modules/.pnpm/dotenv@4.0.0/node_modules/dotenv/lib/main.js"(exports, module) {
26
+ "use strict";
27
+ var fs = __require("fs");
28
+ function parse(src) {
29
+ var obj = {};
30
+ src.toString().split("\n").forEach(function(line) {
31
+ var keyValueArr = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/);
32
+ if (keyValueArr != null) {
33
+ var key = keyValueArr[1];
34
+ var value = keyValueArr[2] ? keyValueArr[2] : "";
35
+ var len = value ? value.length : 0;
36
+ if (len > 0 && value.charAt(0) === '"' && value.charAt(len - 1) === '"') {
37
+ value = value.replace(/\\n/gm, "\n");
38
+ }
39
+ value = value.replace(/(^['"]|['"]$)/g, "").trim();
40
+ obj[key] = value;
41
+ }
42
+ });
43
+ return obj;
44
+ }
45
+ function config(options) {
46
+ var path = ".env";
47
+ var encoding = "utf8";
48
+ if (options) {
49
+ if (options.path) {
50
+ path = options.path;
51
+ }
52
+ if (options.encoding) {
53
+ encoding = options.encoding;
54
+ }
55
+ }
56
+ try {
57
+ var parsedObj = parse(fs.readFileSync(path, { encoding }));
58
+ Object.keys(parsedObj).forEach(function(key) {
59
+ process.env[key] = process.env[key] || parsedObj[key];
60
+ });
61
+ return { parsed: parsedObj };
62
+ } catch (e) {
63
+ return { error: e };
64
+ }
65
+ }
66
+ module.exports.config = config;
67
+ module.exports.load = config;
68
+ module.exports.parse = parse;
69
+ }
70
+ });
71
+
72
+ // src/util/compile-vercel-config.ts
73
+ var import_dotenv = __toESM(require_main(), 1);
74
+ import { mkdir, readFile, writeFile, unlink, access } from "fs/promises";
75
+ import { join, basename } from "path";
76
+ import { fork } from "child_process";
77
+ import { parse as tomlParse } from "smol-toml";
78
+ import { getNodeExecPath, NowBuildError } from "@vercel/build-utils";
79
+ function toRouteFormat(item) {
80
+ if ("src" in item)
81
+ return item;
82
+ const { source, destination, headers, statusCode, permanent, ...rest } = item;
83
+ const route = {
84
+ src: source,
85
+ ...rest
86
+ };
87
+ if (destination)
88
+ route.dest = destination;
89
+ if (headers)
90
+ route.headers = Object.fromEntries(headers.map((h) => [h.key, h.value]));
91
+ if (statusCode !== void 0) {
92
+ route.status = statusCode;
93
+ } else if (permanent !== void 0) {
94
+ route.status = permanent ? 308 : 307;
95
+ }
96
+ return route;
97
+ }
98
+ function normalizeConfig(config) {
99
+ const normalized = { ...config };
100
+ const { rewrites, redirects, headers } = normalized;
101
+ let allRoutes = normalized.routes || [];
102
+ const hasRoutes = allRoutes.length > 0;
103
+ const hasRewrites = (rewrites?.length ?? 0) > 0;
104
+ const hasRedirects = (redirects?.length ?? 0) > 0;
105
+ const hasHeaders = (headers?.length ?? 0) > 0;
106
+ function hasRouteFormat(items) {
107
+ return items?.some((item) => "src" in item) ?? false;
108
+ }
109
+ if (hasRoutes && (hasRewrites || hasRedirects || hasHeaders)) {
110
+ return normalized;
111
+ }
112
+ const shouldConvertRewrites = hasRewrites && hasRouteFormat(rewrites);
113
+ const shouldConvertRedirects = hasRedirects && hasRouteFormat(redirects);
114
+ const shouldConvertHeaders = hasHeaders && hasRouteFormat(headers);
115
+ const someWillConvert = shouldConvertRewrites || shouldConvertRedirects || shouldConvertHeaders;
116
+ const someWontConvert = hasRewrites && !shouldConvertRewrites || hasRedirects && !shouldConvertRedirects || hasHeaders && !shouldConvertHeaders;
117
+ if (someWillConvert && someWontConvert) {
118
+ throw new NowBuildError({
119
+ code: "INVALID_VERCEL_CONFIG",
120
+ message: "Transforms (e.g., requestHeaders) require the `routes` format, which cannot be used alongside `rewrites`, `redirects`, or `headers`. Move everything into the `routes` array instead.",
121
+ link: "https://vercel.com/docs/projects/project-configuration#routes"
122
+ });
123
+ }
124
+ if (rewrites && shouldConvertRewrites) {
125
+ allRoutes = [...allRoutes, ...rewrites.map(toRouteFormat)];
126
+ delete normalized.rewrites;
127
+ }
128
+ if (redirects && shouldConvertRedirects) {
129
+ allRoutes = [...allRoutes, ...redirects.map(toRouteFormat)];
130
+ delete normalized.redirects;
131
+ }
132
+ if (headers && shouldConvertHeaders) {
133
+ allRoutes = [...allRoutes, ...headers.map(toRouteFormat)];
134
+ delete normalized.headers;
135
+ }
136
+ if (allRoutes.length > 0) {
137
+ normalized.routes = allRoutes.map(toRouteFormat);
138
+ }
139
+ return normalized;
140
+ }
141
+ var VERCEL_CONFIG_EXTENSIONS = [
142
+ "ts",
143
+ "mts",
144
+ "js",
145
+ "mjs",
146
+ "cjs"
147
+ ];
148
+ var DEFAULT_VERCEL_CONFIG_FILENAME = "Vercel config";
149
+ async function fileExists(filePath) {
150
+ try {
151
+ await access(filePath);
152
+ return true;
153
+ } catch {
154
+ return false;
155
+ }
156
+ }
157
+ async function findAllVercelConfigFiles(workPath) {
158
+ const foundFiles = [];
159
+ for (const ext of VERCEL_CONFIG_EXTENSIONS) {
160
+ const configPath = join(workPath, `vercel.${ext}`);
161
+ if (await fileExists(configPath)) {
162
+ foundFiles.push(configPath);
163
+ }
164
+ }
165
+ return foundFiles;
166
+ }
167
+ async function findSourceVercelConfigFile(workPath) {
168
+ for (const ext of VERCEL_CONFIG_EXTENSIONS) {
169
+ const configPath = join(workPath, `vercel.${ext}`);
170
+ if (await fileExists(configPath)) {
171
+ return basename(configPath);
172
+ }
173
+ }
174
+ const tomlPath = join(workPath, "vercel.toml");
175
+ if (await fileExists(tomlPath)) {
176
+ return "vercel.toml";
177
+ }
178
+ return null;
179
+ }
180
+ async function findVercelConfigFile(workPath) {
181
+ const foundFiles = await findAllVercelConfigFiles(workPath);
182
+ if (foundFiles.length > 1) {
183
+ throw new ConflictingConfigFiles(
184
+ foundFiles,
185
+ "Multiple vercel config files found. Please use only one configuration file.",
186
+ "https://vercel.com/docs/projects/project-configuration"
187
+ );
188
+ }
189
+ return foundFiles[0] || null;
190
+ }
191
+ function parseConfigLoaderError(stderr) {
192
+ if (!stderr.trim()) {
193
+ return "";
194
+ }
195
+ const moduleNotFoundMatch = stderr.match(
196
+ /Error \[ERR_MODULE_NOT_FOUND\]: Cannot find package '([^']+)'/
197
+ );
198
+ if (moduleNotFoundMatch) {
199
+ const packageName = moduleNotFoundMatch[1];
200
+ return `Cannot find package '${packageName}'. Make sure it's installed in your project dependencies.`;
201
+ }
202
+ const syntaxErrorMatch = stderr.match(/SyntaxError: (.+?)(?:\n|$)/);
203
+ if (syntaxErrorMatch) {
204
+ return `Syntax error: ${syntaxErrorMatch[1]}`;
205
+ }
206
+ const errorMatch = stderr.match(
207
+ /^(?:Error|TypeError|ReferenceError): (.+?)(?:\n|$)/m
208
+ );
209
+ if (errorMatch) {
210
+ return errorMatch[1];
211
+ }
212
+ return stderr.trim();
213
+ }
214
+ async function compileVercelConfig(workPath) {
215
+ const vercelJsonPath = join(workPath, "vercel.json");
216
+ const nowJsonPath = join(workPath, "now.json");
217
+ const vercelTomlPath = join(workPath, "vercel.toml");
218
+ const hasVercelJson = await fileExists(vercelJsonPath);
219
+ const hasNowJson = await fileExists(nowJsonPath);
220
+ const hasVercelToml = await fileExists(vercelTomlPath);
221
+ const vercelConfigPath = await findVercelConfigFile(workPath);
222
+ const vercelDir = join(workPath, VERCEL_DIR);
223
+ const compiledConfigPath = join(vercelDir, "vercel.json");
224
+ if (hasNowJson) {
225
+ throw new DeprecatedNowJson(nowJsonPath);
226
+ }
227
+ const foundConfigs = [];
228
+ if (hasVercelJson)
229
+ foundConfigs.push(vercelJsonPath);
230
+ if (hasVercelToml)
231
+ foundConfigs.push(vercelTomlPath);
232
+ if (vercelConfigPath)
233
+ foundConfigs.push(vercelConfigPath);
234
+ if (foundConfigs.length > 1) {
235
+ throw new ConflictingConfigFiles(
236
+ foundConfigs,
237
+ `Multiple config files found: ${foundConfigs.map((f) => basename(f)).join(", ")}. Please use only one configuration method.`,
238
+ "https://vercel.com/docs/projects/project-configuration"
239
+ );
240
+ }
241
+ if (!vercelConfigPath && !hasVercelToml) {
242
+ if (hasVercelJson) {
243
+ return {
244
+ configPath: vercelJsonPath,
245
+ wasCompiled: false
246
+ };
247
+ }
248
+ if (await fileExists(compiledConfigPath)) {
249
+ return {
250
+ configPath: compiledConfigPath,
251
+ wasCompiled: true,
252
+ sourceFile: await findSourceVercelConfigFile(workPath) ?? void 0
253
+ };
254
+ }
255
+ return {
256
+ configPath: null,
257
+ wasCompiled: false
258
+ };
259
+ }
260
+ if (hasVercelToml) {
261
+ try {
262
+ const tomlContent = await readFile(vercelTomlPath, "utf8");
263
+ const config = tomlParse(tomlContent);
264
+ const normalizedConfig = normalizeConfig(config);
265
+ await mkdir(vercelDir, { recursive: true });
266
+ await writeFile(
267
+ compiledConfigPath,
268
+ JSON.stringify(normalizedConfig, null, 2),
269
+ "utf-8"
270
+ );
271
+ output_manager_default.debug(`Compiled ${vercelTomlPath} -> ${compiledConfigPath}`);
272
+ return {
273
+ configPath: compiledConfigPath,
274
+ wasCompiled: true,
275
+ sourceFile: "vercel.toml"
276
+ };
277
+ } catch (error) {
278
+ throw new NowBuildError({
279
+ code: error.code ?? "vercel_toml_parse_failed",
280
+ message: `Failed to parse vercel.toml: ${error.message}`,
281
+ link: error.link ?? "https://vercel.com/docs/projects/project-configuration"
282
+ });
283
+ }
284
+ }
285
+ const sourceConfigPath = vercelConfigPath;
286
+ (0, import_dotenv.config)({ path: join(workPath, ".env") });
287
+ (0, import_dotenv.config)({ path: join(workPath, ".env.local") });
288
+ const tempOutPath = join(vercelDir, "vercel-temp.mjs");
289
+ const loaderPath = join(vercelDir, "vercel-loader.mjs");
290
+ try {
291
+ const { build } = await import("esbuild");
292
+ await mkdir(vercelDir, { recursive: true });
293
+ await build({
294
+ entryPoints: [sourceConfigPath],
295
+ bundle: true,
296
+ platform: "node",
297
+ format: "esm",
298
+ outfile: tempOutPath,
299
+ packages: "external",
300
+ target: "node20",
301
+ sourcemap: "inline"
302
+ });
303
+ const loaderScript = `
304
+ import { pathToFileURL } from 'url';
305
+ const configModule = await import(pathToFileURL(process.argv[2]).href);
306
+ const config = ('default' in configModule) ? configModule.default : ('config' in configModule) ? configModule.config : configModule;
307
+ process.send(config);
308
+ `;
309
+ await writeFile(loaderPath, loaderScript, "utf-8");
310
+ const config = await new Promise((resolve, reject) => {
311
+ const child = fork(loaderPath, [tempOutPath], {
312
+ execPath: getNodeExecPath(),
313
+ stdio: ["pipe", "pipe", "pipe", "ipc"]
314
+ });
315
+ let stderrOutput = "";
316
+ let stdoutOutput = "";
317
+ if (child.stderr) {
318
+ child.stderr.on("data", (data) => {
319
+ stderrOutput += data.toString();
320
+ });
321
+ }
322
+ if (child.stdout) {
323
+ child.stdout.on("data", (data) => {
324
+ stdoutOutput += data.toString();
325
+ });
326
+ }
327
+ const timeout = setTimeout(() => {
328
+ child.kill();
329
+ reject(new Error("Config loader timed out after 10 seconds"));
330
+ }, 1e4);
331
+ child.on("message", (message) => {
332
+ clearTimeout(timeout);
333
+ child.kill();
334
+ resolve(message);
335
+ });
336
+ child.on("error", (err) => {
337
+ clearTimeout(timeout);
338
+ reject(err);
339
+ });
340
+ child.on("exit", (code) => {
341
+ clearTimeout(timeout);
342
+ if (code !== 0) {
343
+ if (stderrOutput.trim()) {
344
+ output_manager_default.log(stderrOutput);
345
+ }
346
+ if (stdoutOutput.trim()) {
347
+ output_manager_default.log(stdoutOutput);
348
+ }
349
+ const parsedError = parseConfigLoaderError(stderrOutput);
350
+ if (parsedError) {
351
+ reject(new Error(parsedError));
352
+ } else if (stdoutOutput.trim()) {
353
+ reject(new Error(stdoutOutput.trim()));
354
+ } else {
355
+ reject(new Error(`Config loader exited with code ${code}`));
356
+ }
357
+ }
358
+ });
359
+ });
360
+ const normalizedConfig = normalizeConfig(config);
361
+ await writeFile(
362
+ compiledConfigPath,
363
+ JSON.stringify(normalizedConfig, null, 2),
364
+ "utf-8"
365
+ );
366
+ output_manager_default.debug(`Compiled ${sourceConfigPath} -> ${compiledConfigPath}`);
367
+ return {
368
+ configPath: compiledConfigPath,
369
+ wasCompiled: true,
370
+ sourceFile: await findSourceVercelConfigFile(workPath) ?? void 0
371
+ };
372
+ } catch (error) {
373
+ throw new NowBuildError({
374
+ code: error.code ?? "vercel_ts_compilation_failed",
375
+ message: `Failed to compile ${basename(sourceConfigPath)}: ${error.message}`,
376
+ link: error.link ?? "https://vercel.com/docs/projects/project-configuration"
377
+ });
378
+ } finally {
379
+ await Promise.all([
380
+ unlink(tempOutPath).catch((err) => {
381
+ if (err.code !== "ENOENT") {
382
+ output_manager_default.debug(`Failed to cleanup temp file: ${err}`);
383
+ }
384
+ }),
385
+ unlink(loaderPath).catch((err) => {
386
+ if (err.code !== "ENOENT") {
387
+ output_manager_default.debug(`Failed to cleanup loader file: ${err}`);
388
+ }
389
+ })
390
+ ]);
391
+ }
392
+ }
393
+ async function getVercelConfigPath(workPath) {
394
+ const vercelJsonPath = join(workPath, "vercel.json");
395
+ const vercelTomlPath = join(workPath, "vercel.toml");
396
+ const compiledConfigPath = join(workPath, VERCEL_DIR, "vercel.json");
397
+ if (await fileExists(vercelJsonPath)) {
398
+ return vercelJsonPath;
399
+ }
400
+ if (await fileExists(vercelTomlPath)) {
401
+ return vercelTomlPath;
402
+ }
403
+ if (await fileExists(compiledConfigPath)) {
404
+ return compiledConfigPath;
405
+ }
406
+ return vercelJsonPath;
407
+ }
408
+
409
+ export {
410
+ require_main,
411
+ normalizeConfig,
412
+ VERCEL_CONFIG_EXTENSIONS,
413
+ DEFAULT_VERCEL_CONFIG_FILENAME,
414
+ findSourceVercelConfigFile,
415
+ compileVercelConfig,
416
+ getVercelConfigPath
417
+ };