@absolutejs/absolute 0.20.0-beta.130 → 0.20.0-beta.131

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 (229) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/changelog.json +41 -0
  3. package/dist/angular/browser.js +406 -396
  4. package/dist/angular/browser.js.map +4 -4
  5. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -3
  6. package/dist/angular/components/core/streamingSlotRegistry.js +2 -4
  7. package/dist/angular/index.js +560 -701
  8. package/dist/angular/index.js.map +5 -5
  9. package/dist/angular/server.js +197 -338
  10. package/dist/angular/server.js.map +5 -5
  11. package/dist/build/buildWorker.js +27 -35
  12. package/dist/build.js +3833 -5876
  13. package/dist/build.js.map +4 -4
  14. package/dist/cli/{add-9sa7e3vd.js → add-hvqeg5sz.js} +23 -25
  15. package/dist/cli/{analyze-c1sep5y9.js → analyze-c2x2aym5.js} +6 -7
  16. package/dist/cli/androidEmulatorController-j73a1br6.js +22 -0
  17. package/dist/cli/{androidNativeWatcher-dnp95nk2.js → androidNativeWatcher-ctbnsr1v.js} +11 -14
  18. package/dist/cli/{api-2hd8cahp.js → api-rk13rfd9.js} +11 -13
  19. package/dist/cli/{build-857rc1ds.js → build-20y4b6rj.js} +8 -9
  20. package/dist/cli/{buildDepVendor-8akhr8n8.js → buildDepVendor-axqvbbm6.js} +5 -170
  21. package/dist/cli/{compile-9by2vxy5.js → compile-qygwqezx.js} +43 -48
  22. package/dist/cli/config/client.js +8 -8
  23. package/dist/cli/config/server.js +5615 -5595
  24. package/dist/cli/config-3te1fbry.js +7 -0
  25. package/dist/cli/{db-8wweexdp.js → db-p8pc325y.js} +5 -13
  26. package/dist/cli/{dev-qg7fr16s.js → dev-6f0gry3y.js} +75 -77
  27. package/dist/cli/{devCert-avr89zf3.js → devCert-n33ep8pg.js} +0 -3
  28. package/dist/cli/{doctor-mbh9bk05.js → doctor-8rm8p4dm.js} +13 -14
  29. package/dist/cli/emulatorDoctor-cwa70kgt.js +17 -0
  30. package/dist/cli/emulatorInstaller-dx3fmm2m.js +14 -0
  31. package/dist/cli/env-2107nff1.js +11 -0
  32. package/dist/cli/eslint-zz0t0kfp.js +17 -0
  33. package/dist/cli/eslintChunked-wg10jj9m.js +12 -0
  34. package/dist/cli/expoDevController-s70fj7vf.js +16 -0
  35. package/dist/cli/{expoNativeWatcher-rmc95bak.js → expoNativeWatcher-aakp7xvj.js} +1 -5
  36. package/dist/cli/expoProject-zy02tbfg.js +10 -0
  37. package/dist/cli/{generate-069p0dk3.js → generate-nz4w03yz.js} +19 -21
  38. package/dist/cli/{heapDiff-87v24x7p.js → heapDiff-2etr2r26.js} +5 -6
  39. package/dist/cli/{htmx-5wh1jh75.js → htmx-0xcaqrny.js} +12 -14
  40. package/dist/cli/{index-sjvydg2r.js → index-1ff9q1vx.js} +7 -7
  41. package/dist/cli/{index-rqbk0b30.js → index-1qewxkgy.js} +26 -26
  42. package/dist/cli/{index-prwyfnn3.js → index-1x1vah31.js} +2 -2
  43. package/dist/cli/{index-ddakkws4.js → index-31j3beht.js} +13 -13
  44. package/dist/cli/{index-j2nw3edf.js → index-3gtnqd57.js} +5 -5
  45. package/dist/cli/{index-54q7pxcx.js → index-434b7j4a.js} +2 -32
  46. package/dist/cli/{index-w5vswatm.js → index-43a1vvb7.js} +6 -10
  47. package/dist/cli/{index-nxcwg9ma.js → index-5sjk7daj.js} +31 -31
  48. package/dist/cli/{index-6j1xaheg.js → index-73sk1ney.js} +5 -5
  49. package/dist/cli/{index-3x5wpx5d.js → index-8kdmmgvc.js} +2 -2
  50. package/dist/cli/{index-1ys3dnrs.js → index-8w2wazrk.js} +34 -34
  51. package/dist/cli/{index-wtfnv3n2.js → index-92hmw204.js} +3 -3
  52. package/dist/cli/{index-vdbn8brx.js → index-9ehbfmeq.js} +38 -41
  53. package/dist/cli/{index-mywsk201.js → index-fde3c297.js} +1 -1
  54. package/dist/cli/{index-255xs63d.js → index-j57pgg5m.js} +10 -10
  55. package/dist/cli/{index-5cgsrv62.js → index-jcjwsdqt.js} +13 -182
  56. package/dist/cli/{index-00wfffav.js → index-k4t9k1xk.js} +5 -5
  57. package/dist/cli/{index-yxgaf8j0.js → index-m1vntzf1.js} +7 -5
  58. package/dist/cli/{index-9r7n9dqp.js → index-ma1dw7x2.js} +1 -1
  59. package/dist/cli/index-pch0v1z6.js +60 -0
  60. package/dist/cli/{index-8nym68py.js → index-ppxed116.js} +1 -1
  61. package/dist/cli/{index-9kwmb3c0.js → index-qyxd5n9a.js} +3 -3
  62. package/dist/cli/{index-tn4crd40.js → index-r62705dc.js} +12 -12
  63. package/dist/cli/{index-wctgx65x.js → index-r6k4xmdb.js} +21 -21
  64. package/dist/cli/{index-hty8111z.js → index-r915cvqp.js} +17 -17
  65. package/dist/cli/{index-exdd5k1g.js → index-rrxeqrbn.js} +2 -2
  66. package/dist/cli/{index-keg69zm1.js → index-snbzdwb9.js} +5 -5
  67. package/dist/cli/{index-v26ze17p.js → index-thqwfzy8.js} +3 -3
  68. package/dist/cli/{index-0hr7c4qe.js → index-vdnmqkt8.js} +14 -18
  69. package/dist/cli/{index-vkkqe08e.js → index-vj2v38sq.js} +29 -29
  70. package/dist/cli/{index-erngp7a9.js → index-wy0yh4jj.js} +16 -16
  71. package/dist/cli/{index-1cypb2zn.js → index-xcr3r6a1.js} +8 -8
  72. package/dist/cli/index.js +44 -48
  73. package/dist/cli/{info-d74dr585.js → info-kx5510rq.js} +7 -7
  74. package/dist/cli/{inspect-23chj4nc.js → inspect-5dj06x0m.js} +18 -20
  75. package/dist/cli/{iosNativeWatcher-kggp7j9a.js → iosNativeWatcher-zx49pzej.js} +12 -16
  76. package/dist/cli/iosSimulatorController-haa1cc3p.js +23 -0
  77. package/dist/cli/{islands-wpqgmwh0.js → islands-z4adh55n.js} +8 -9
  78. package/dist/cli/{lintProof-wx3b6dzy.js → lintProof-qcwdvzcz.js} +12 -17
  79. package/dist/cli/{logs-bx2n5ey6.js → logs-3p2vrq5h.js} +8 -10
  80. package/dist/cli/{ls-kvmcmd2j.js → ls-nkspq73y.js} +13 -14
  81. package/dist/cli/{mem-apbk7bx4.js → mem-h3f497cr.js} +10 -14
  82. package/dist/cli/{migrate-p4rp5r6b.js → migrate-52bqqp08.js} +7 -8
  83. package/dist/cli/{mobile-43q3zmjf.js → mobile-w295dx0t.js} +572 -575
  84. package/dist/cli/nativeAuth-ysv0x5dy.js +27 -0
  85. package/dist/cli/patchedBun-m7vj5sks.js +9 -0
  86. package/dist/cli/prerender-mfnwsvyt.js +7 -0
  87. package/dist/cli/{prettier-vtk5yaw4.js → prettier-c1624g36.js} +2 -6
  88. package/dist/cli/{ps-8y28kzmb.js → ps-0jedm91n.js} +12 -16
  89. package/dist/cli/{psTui-8e96mwgz.js → psTui-tpr5nbmc.js} +28 -30
  90. package/dist/cli/remoteMacProtocol-v3ax0y0f.js +41 -0
  91. package/dist/cli/{remove-3fd1z2hx.js → remove-z0brj5nd.js} +16 -18
  92. package/dist/cli/{rewriteImports-d1gmaa68.js → rewriteImports-k6rjjmg1.js} +2 -100
  93. package/dist/cli/{routes-0xpanj8z.js → routes-ey0sw1eq.js} +7 -9
  94. package/dist/cli/start-36w63t6h.js +20 -0
  95. package/dist/cli/telemetry-3wnc06wa.js +9 -0
  96. package/dist/cli/{tunnelRelay-5at2v8w6.js → tunnelRelay-19ay0fxn.js} +3 -4
  97. package/dist/cli/{typecheck-yj9s13eb.js → typecheck-nmf6e7k7.js} +147 -149
  98. package/dist/cli/{workspace-m56sgfkc.js → workspace-yetzedke.js} +32 -36
  99. package/dist/client/chunks/{index-dk743xs6.js → index-8m2qq61n.js} +12 -8
  100. package/dist/client/chunks/{index-dk743xs6.js.map → index-8m2qq61n.js.map} +4 -3
  101. package/dist/client/chunks/{index-m35nbkdp.js → islands-rc28k5sx.js} +104 -42
  102. package/dist/client/chunks/islands-rc28k5sx.js.map +15 -0
  103. package/dist/client/chunks/{react-yq4ss9y4.js → react-dcvkaba2.js} +5 -7
  104. package/dist/client/chunks/{react-yq4ss9y4.js.map → react-dcvkaba2.js.map} +2 -2
  105. package/dist/client/chunks/{svelte-s0c964kb.js → svelte-4yfa5bxa.js} +2 -4
  106. package/dist/client/chunks/{svelte-s0c964kb.js.map → svelte-4yfa5bxa.js.map} +2 -2
  107. package/dist/client/chunks/{vue-rdskrnyg.js → vue-a84fzp3v.js} +2 -4
  108. package/dist/client/chunks/{vue-rdskrnyg.js.map → vue-a84fzp3v.js.map} +2 -2
  109. package/dist/client/index.js +42 -15
  110. package/dist/client/index.js.map +2 -2
  111. package/dist/client/prefetch.js +1 -3
  112. package/dist/client/prefetch.js.map +2 -2
  113. package/dist/core/streamingSlotRegistrar.js +1 -64
  114. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  115. package/dist/core/streamingSlotRegistry.js +1 -64
  116. package/dist/core/streamingSlotRegistry.js.map +2 -2
  117. package/dist/dev/serverBootstrap.js +1802 -2018
  118. package/dist/index.js +5247 -8794
  119. package/dist/index.js.map +9 -20
  120. package/dist/islands/browser.js +13 -3
  121. package/dist/islands/browser.js.map +2 -2
  122. package/dist/islands/index.js +26 -142
  123. package/dist/islands/index.js.map +2 -2
  124. package/dist/mobile/browser.js +13 -3
  125. package/dist/mobile/browser.js.map +2 -2
  126. package/dist/mobile/index.js +1067 -2182
  127. package/dist/mobile/index.js.map +2 -2
  128. package/dist/mobile/remoteMacAgentEntry.js +156 -156
  129. package/dist/mobile/shellAuth.js +0 -16
  130. package/dist/mobile/shellBootstrap.js +734 -724
  131. package/dist/mobile/shellExpoAuth.js +4 -18
  132. package/dist/mobile/shellExpoDevices.js +0 -16
  133. package/dist/mobile/shellExpoSync.js +0 -16
  134. package/dist/mobile/shellSync.js +3 -19
  135. package/dist/mobile/shellUpdate.js +5 -21
  136. package/dist/mobile/uiPrimitives.js +0 -16
  137. package/dist/react/browser.js +15 -5
  138. package/dist/react/browser.js.map +2 -2
  139. package/dist/react/components/index.js +68 -58
  140. package/dist/react/components/index.js.map +4 -4
  141. package/dist/react/hooks/index.js +1 -63
  142. package/dist/react/hooks/index.js.map +2 -2
  143. package/dist/react/index.js +56 -195
  144. package/dist/react/index.js.map +5 -5
  145. package/dist/react/jsxDevRuntimeCompat.js +1 -64
  146. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  147. package/dist/react/jsxRuntimeCompat.js +1 -64
  148. package/dist/react/jsxRuntimeCompat.js.map +2 -2
  149. package/dist/react/router/browser.js +1 -64
  150. package/dist/react/router/browser.js.map +2 -2
  151. package/dist/react/router/index.js +1 -64
  152. package/dist/react/router/index.js.map +2 -2
  153. package/dist/react/server.js +38 -51
  154. package/dist/react/server.js.map +5 -5
  155. package/dist/src/cli/config/server.d.ts +7 -129
  156. package/dist/src/cli/patchedBun.d.ts +14 -14
  157. package/dist/src/core/prepare.d.ts +149 -1805
  158. package/dist/src/core/requestContext.d.ts +1 -1
  159. package/dist/src/dev/requestInspector.d.ts +1 -1
  160. package/dist/src/mobile/associationFiles.d.ts +2 -2
  161. package/dist/src/mobile/compatibilityDispatcher.d.ts +1 -1
  162. package/dist/src/mobile/mobilePreview.d.ts +8 -130
  163. package/dist/src/mobile/updateServer.d.ts +2 -2
  164. package/dist/src/plugins/devtoolsJson.d.ts +2 -2
  165. package/dist/src/plugins/hmr.d.ts +2 -2
  166. package/dist/src/plugins/imageOptimizer.d.ts +2 -151
  167. package/dist/src/plugins/telemetryPlugin.d.ts +1 -19
  168. package/dist/svelte/browser.js +13 -3
  169. package/dist/svelte/browser.js.map +2 -2
  170. package/dist/svelte/index.js +66 -210
  171. package/dist/svelte/index.js.map +5 -5
  172. package/dist/svelte/server.js +51 -99
  173. package/dist/svelte/server.js.map +5 -5
  174. package/dist/types/globals.d.ts +0 -6
  175. package/dist/vue/browser.js +13 -3
  176. package/dist/vue/browser.js.map +2 -2
  177. package/dist/vue/components/Image.js +13 -3
  178. package/dist/vue/components/Image.js.map +2 -2
  179. package/dist/vue/components/index.js +62 -50
  180. package/dist/vue/components/index.js.map +4 -4
  181. package/dist/vue/index.js +1115 -1258
  182. package/dist/vue/index.js.map +10 -10
  183. package/dist/vue/server.js +42 -59
  184. package/dist/vue/server.js.map +5 -5
  185. package/package.json +9 -9
  186. package/dist/cli/androidEmulatorController-sj141e1c.js +0 -30
  187. package/dist/cli/config-rjeexvza.js +0 -8
  188. package/dist/cli/emulatorDoctor-gzarrsex.js +0 -18
  189. package/dist/cli/emulatorInstaller-pjw4ex6q.js +0 -15
  190. package/dist/cli/env-4f6f6z69.js +0 -14
  191. package/dist/cli/eslint-qfkxe89p.js +0 -20
  192. package/dist/cli/eslintChunked-7ef700pn.js +0 -21
  193. package/dist/cli/expoDevController-weywa74d.js +0 -26
  194. package/dist/cli/expoProject-w2pzjwnx.js +0 -11
  195. package/dist/cli/index-1rabqyq0.js +0 -7
  196. package/dist/cli/index-ar4gz15x.js +0 -60
  197. package/dist/cli/iosSimulatorController-xcxxfkzx.js +0 -34
  198. package/dist/cli/nativeAuth-zx4tsb1f.js +0 -38
  199. package/dist/cli/patchedBun-zjtrn2s4.js +0 -38
  200. package/dist/cli/prerender-yex2zwj3.js +0 -18
  201. package/dist/cli/remoteMacProtocol-r38jhg44.js +0 -69
  202. package/dist/cli/start-gzhrkhxe.js +0 -23
  203. package/dist/cli/telemetry-94rka1w2.js +0 -14
  204. package/dist/client/chunks/angularPatch-arh4sr68.js +0 -157
  205. package/dist/client/chunks/angularPatch-arh4sr68.js.map +0 -10
  206. package/dist/client/chunks/index-jrcwp722.js +0 -12
  207. package/dist/client/chunks/index-jrcwp722.js.map +0 -10
  208. package/dist/client/chunks/index-m35nbkdp.js.map +0 -12
  209. package/dist/client/chunks/index-qxjc7kc5.js +0 -12
  210. package/dist/client/chunks/index-qxjc7kc5.js.map +0 -9
  211. package/dist/client/chunks/islands-50dg63j9.js +0 -284
  212. package/dist/client/chunks/islands-50dg63j9.js.map +0 -14
  213. /package/dist/cli/{index-me8nczrw.js → index-039rh39e.js} +0 -0
  214. /package/dist/cli/{index-bw4ktfnz.js → index-1y5mmnwg.js} +0 -0
  215. /package/dist/cli/{index-5xfxd7xa.js → index-3wm8p7rg.js} +0 -0
  216. /package/dist/cli/{index-4rme31py.js → index-420h9hq7.js} +0 -0
  217. /package/dist/cli/{index-4rhxthsy.js → index-65kqn88a.js} +0 -0
  218. /package/dist/cli/{index-r8x3839e.js → index-71gchbzt.js} +0 -0
  219. /package/dist/cli/{index-s2tazax7.js → index-92g14j47.js} +0 -0
  220. /package/dist/cli/{index-j66p8hn5.js → index-bwsa6ax4.js} +0 -0
  221. /package/dist/cli/{index-bzs19w3r.js → index-e6ysp900.js} +0 -0
  222. /package/dist/cli/{index-06cmrcdq.js → index-h7qhz02e.js} +0 -0
  223. /package/dist/cli/{index-6h54jqdq.js → index-hg54jyts.js} +0 -0
  224. /package/dist/cli/{index-czwrxgdj.js → index-hxqprc80.js} +0 -0
  225. /package/dist/cli/{index-zh6hhrwy.js → index-jjfbjv1z.js} +0 -0
  226. /package/dist/cli/{index-fc9vxw56.js → index-prs14ys9.js} +0 -0
  227. /package/dist/cli/{index-v1k46q3x.js → index-tx0kx9zx.js} +0 -0
  228. /package/dist/cli/{index-fhaf3tdk.js → index-x8x0f3ha.js} +0 -0
  229. /package/dist/cli/{index-18q9qc7f.js → index-ypcqx24p.js} +0 -0
package/dist/cli/index.js CHANGED
@@ -1,26 +1,22 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
+ import"./index-43a1vvb7.js";
4
+ import {
5
+ CLI_ARGS_OFFSET,
6
+ UNFOUND_INDEX,
7
+ WORKSPACE_COMMAND_ARGS_OFFSET
8
+ } from "./index-hxqprc80.js";
3
9
  import {
4
10
  markBoot
5
- } from "./index-yxgaf8j0.js";
11
+ } from "./index-m1vntzf1.js";
6
12
  import {
7
13
  sendTelemetryEvent
8
- } from "./index-9kwmb3c0.js";
9
- import"./index-w5vswatm.js";
10
- import"./index-1rabqyq0.js";
14
+ } from "./index-qyxd5n9a.js";
11
15
  import {
12
16
  DEFAULT_SERVER_ENTRY
13
- } from "./index-00wfffav.js";
14
- import"./index-wtfnv3n2.js";
15
- import"./index-prwyfnn3.js";
16
- import {
17
- CLI_ARGS_OFFSET,
18
- UNFOUND_INDEX,
19
- WORKSPACE_COMMAND_ARGS_OFFSET
20
- } from "./index-czwrxgdj.js";
21
- import {
22
- __require
23
- } from "./index-mywsk201.js";
17
+ } from "./index-k4t9k1xk.js";
18
+ import"./index-92hmw204.js";
19
+ import"./index-1x1vah31.js";
24
20
 
25
21
  // src/cli/index.ts
26
22
  markBoot("cli imports evaluated");
@@ -58,7 +54,7 @@ if (command === "dev") {
58
54
  }
59
55
  const positionalArgs = stripNamedArgs("--config", "--android-device", "--ios-device").filter((arg) => arg !== "--no-mobile" && arg !== "--eager");
60
56
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
61
- const { dev } = await import("./dev-qg7fr16s.js");
57
+ const { dev } = await import("./dev-6f0gry3y.js");
62
58
  await dev(serverEntry, configPath, {
63
59
  androidDevice,
64
60
  eager: args.includes("--eager"),
@@ -66,7 +62,7 @@ if (command === "dev") {
66
62
  mobile: !args.includes("--no-mobile")
67
63
  });
68
64
  } else if (command === "bun-patch") {
69
- const { bunPatch } = await import("./patchedBun-zjtrn2s4.js");
65
+ const { bunPatch } = await import("./patchedBun-m7vj5sks.js");
70
66
  await bunPatch(args);
71
67
  } else if (command === "start") {
72
68
  sendTelemetryEvent("cli:command", { command });
@@ -74,7 +70,7 @@ if (command === "dev") {
74
70
  const configPath = parseNamedArg("--config");
75
71
  const positionalArgs = stripNamedArgs("--outdir", "--config").filter((arg) => arg !== "--prebuilt");
76
72
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
77
- const { start } = await import("./start-gzhrkhxe.js");
73
+ const { start } = await import("./start-36w63t6h.js");
78
74
  await start(serverEntry, outdir, configPath, {
79
75
  prebuilt: args.includes("--prebuilt")
80
76
  });
@@ -84,20 +80,20 @@ if (command === "dev") {
84
80
  const configPath = parseNamedArg("--config");
85
81
  const positionalArgs = stripNamedArgs("--outdir", "--config");
86
82
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
87
- const { start } = await import("./start-gzhrkhxe.js");
83
+ const { start } = await import("./start-36w63t6h.js");
88
84
  await start(serverEntry, outdir, configPath, { prepareOnly: true });
89
85
  } else if (command === "build") {
90
86
  sendTelemetryEvent("cli:command", { command });
91
87
  const outdir = parseNamedArg("--outdir");
92
88
  const configPath = parseNamedArg("--config");
93
- const { build } = await import("./build-857rc1ds.js");
89
+ const { build } = await import("./build-20y4b6rj.js");
94
90
  await build(outdir, configPath, args.includes("--profile"));
95
91
  } else if (command === "workspace") {
96
92
  sendTelemetryEvent("cli:command", {
97
93
  command: `workspace:${workspaceCommand ?? "unknown"}`
98
94
  });
99
95
  const configPath = parseNamedArg("--config");
100
- const { workspace } = await import("./workspace-m56sgfkc.js");
96
+ const { workspace } = await import("./workspace-yetzedke.js");
101
97
  await workspace(workspaceCommand, {
102
98
  configPath,
103
99
  noTui: args.includes("--no-tui")
@@ -109,61 +105,61 @@ if (command === "dev") {
109
105
  await launchConfig(args);
110
106
  } else if (command === "eslint") {
111
107
  sendTelemetryEvent("cli:command", { command });
112
- const { eslint } = await import("./eslint-qfkxe89p.js");
108
+ const { eslint } = await import("./eslint-zz0t0kfp.js");
113
109
  await eslint(args);
114
110
  } else if (command === "lint-proof") {
115
111
  sendTelemetryEvent("cli:command", { command });
116
- const { runLintProof } = await import("./lintProof-wx3b6dzy.js");
112
+ const { runLintProof } = await import("./lintProof-qcwdvzcz.js");
117
113
  process.exitCode = await runLintProof(args);
118
114
  } else if (command === "prettier") {
119
115
  sendTelemetryEvent("cli:command", { command });
120
- const { prettier } = await import("./prettier-vtk5yaw4.js");
116
+ const { prettier } = await import("./prettier-c1624g36.js");
121
117
  await prettier(args);
122
118
  } else if (command === "ls") {
123
119
  sendTelemetryEvent("cli:command", { command: "ls" });
124
- const { runLs } = await import("./ls-kvmcmd2j.js");
120
+ const { runLs } = await import("./ls-nkspq73y.js");
125
121
  await runLs(args);
126
122
  } else if (command === "ps") {
127
123
  sendTelemetryEvent("cli:command", { command: "ps" });
128
- const { runPs } = await import("./ps-8y28kzmb.js");
124
+ const { runPs } = await import("./ps-0jedm91n.js");
129
125
  await runPs(args);
130
126
  } else if (command === "mem") {
131
127
  sendTelemetryEvent("cli:command", { command: "mem" });
132
- const { runMem } = await import("./mem-apbk7bx4.js");
128
+ const { runMem } = await import("./mem-h3f497cr.js");
133
129
  await runMem(args);
134
130
  } else if (command === "generate" || command === "g") {
135
131
  sendTelemetryEvent("cli:command", { command: "generate" });
136
- const { runGenerate } = await import("./generate-069p0dk3.js");
132
+ const { runGenerate } = await import("./generate-nz4w03yz.js");
137
133
  await runGenerate(args);
138
134
  } else if (command === "add") {
139
135
  sendTelemetryEvent("cli:command", { command: "add" });
140
- const { runAdd } = await import("./add-9sa7e3vd.js");
136
+ const { runAdd } = await import("./add-hvqeg5sz.js");
141
137
  await runAdd(args);
142
138
  } else if (command === "analyze") {
143
139
  sendTelemetryEvent("cli:command", { command: "analyze" });
144
- const { runAnalyze } = await import("./analyze-c1sep5y9.js");
140
+ const { runAnalyze } = await import("./analyze-c2x2aym5.js");
145
141
  await runAnalyze(args);
146
142
  } else if (command === "api") {
147
143
  sendTelemetryEvent("cli:command", { command: "api" });
148
- const { runApi } = await import("./api-2hd8cahp.js");
144
+ const { runApi } = await import("./api-rk13rfd9.js");
149
145
  await runApi(args);
150
146
  } else if (command === "remove") {
151
147
  sendTelemetryEvent("cli:command", { command: "remove" });
152
- const { runRemove } = await import("./remove-3fd1z2hx.js");
148
+ const { runRemove } = await import("./remove-z0brj5nd.js");
153
149
  await runRemove(args);
154
150
  } else if (command === "htmx") {
155
151
  sendTelemetryEvent("cli:command", { command: "htmx" });
156
- const { runHtmx } = await import("./htmx-5wh1jh75.js");
152
+ const { runHtmx } = await import("./htmx-0xcaqrny.js");
157
153
  await runHtmx(args);
158
154
  } else if (command === "env") {
159
155
  sendTelemetryEvent("cli:command", { command: "env" });
160
- const { runEnv } = await import("./env-4f6f6z69.js");
156
+ const { runEnv } = await import("./env-2107nff1.js");
161
157
  await runEnv(args);
162
158
  } else if (command === "db") {
163
159
  sendTelemetryEvent("cli:command", {
164
160
  command: `db:${workspaceCommand ?? "unknown"}`
165
161
  });
166
- const { runDb } = await import("./db-8wweexdp.js");
162
+ const { runDb } = await import("./db-p8pc325y.js");
167
163
  try {
168
164
  await runDb(args);
169
165
  } catch (error) {
@@ -172,31 +168,31 @@ if (command === "dev") {
172
168
  }
173
169
  } else if (command === "logs") {
174
170
  sendTelemetryEvent("cli:command", { command: "logs" });
175
- const { runLogs } = await import("./logs-bx2n5ey6.js");
171
+ const { runLogs } = await import("./logs-3p2vrq5h.js");
176
172
  await runLogs(args);
177
173
  } else if (command === "doctor") {
178
174
  sendTelemetryEvent("cli:command", { command: "doctor" });
179
- const { runDoctor } = await import("./doctor-mbh9bk05.js");
175
+ const { runDoctor } = await import("./doctor-8rm8p4dm.js");
180
176
  await runDoctor(args);
181
177
  } else if (command === "routes") {
182
178
  sendTelemetryEvent("cli:command", { command: "routes" });
183
- const { runRoutes } = await import("./routes-0xpanj8z.js");
179
+ const { runRoutes } = await import("./routes-ey0sw1eq.js");
184
180
  await runRoutes(args);
185
181
  } else if (command === "inspect") {
186
182
  sendTelemetryEvent("cli:command", { command: "inspect" });
187
- const { runInspect } = await import("./inspect-23chj4nc.js");
183
+ const { runInspect } = await import("./inspect-5dj06x0m.js");
188
184
  await runInspect(args);
189
185
  } else if (command === "islands") {
190
186
  sendTelemetryEvent("cli:command", { command: "islands" });
191
- const { runIslands } = await import("./islands-wpqgmwh0.js");
187
+ const { runIslands } = await import("./islands-z4adh55n.js");
192
188
  await runIslands(args);
193
189
  } else if (command === "info") {
194
190
  sendTelemetryEvent("cli:command", { command });
195
- const { info } = await import("./info-d74dr585.js");
191
+ const { info } = await import("./info-kx5510rq.js");
196
192
  info();
197
193
  } else if (command === "telemetry") {
198
194
  sendTelemetryEvent("cli:command", { command });
199
- const { telemetry } = await import("./telemetry-94rka1w2.js");
195
+ const { telemetry } = await import("./telemetry-3wnc06wa.js");
200
196
  telemetry(args);
201
197
  } else if (command === "compile") {
202
198
  sendTelemetryEvent("cli:command", { command });
@@ -205,13 +201,13 @@ if (command === "dev") {
205
201
  const configPath = parseNamedArg("--config");
206
202
  const positionalArgs = stripNamedArgs("--outdir", "--outfile", "--config");
207
203
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
208
- const { compile } = await import("./compile-9by2vxy5.js");
204
+ const { compile } = await import("./compile-qygwqezx.js");
209
205
  await compile(serverEntry, outdir, outfile, configPath);
210
206
  } else if (command === "mobile") {
211
207
  sendTelemetryEvent("cli:command", {
212
208
  command: `mobile:${workspaceCommand ?? "unknown"}`
213
209
  });
214
- const { runMobile } = await import("./mobile-43q3zmjf.js");
210
+ const { runMobile } = await import("./mobile-w295dx0t.js");
215
211
  try {
216
212
  await runMobile(args);
217
213
  } catch (error) {
@@ -221,19 +217,19 @@ if (command === "dev") {
221
217
  } else if (command === "typecheck") {
222
218
  sendTelemetryEvent("cli:command", { command });
223
219
  const configPath = parseNamedArg("--config");
224
- const { typecheck } = await import("./typecheck-yj9s13eb.js");
220
+ const { typecheck } = await import("./typecheck-nmf6e7k7.js");
225
221
  await typecheck(configPath);
226
222
  } else if (command === "migrate") {
227
223
  sendTelemetryEvent("cli:command", { command });
228
- const { migrate } = await import("./migrate-p4rp5r6b.js");
224
+ const { migrate } = await import("./migrate-52bqqp08.js");
229
225
  migrate(parseNamedArg("--path"));
230
226
  } else if (command === "mkcert") {
231
227
  sendTelemetryEvent("cli:command", { command });
232
- const { setupMkcert } = await import("./devCert-avr89zf3.js");
228
+ const { setupMkcert } = await import("./devCert-n33ep8pg.js");
233
229
  setupMkcert();
234
230
  } else if (command === "tunnel-relay") {
235
231
  sendTelemetryEvent("cli:command", { command });
236
- const { tunnelRelay } = await import("./tunnelRelay-5at2v8w6.js");
232
+ const { tunnelRelay } = await import("./tunnelRelay-19ay0fxn.js");
237
233
  tunnelRelay();
238
234
  } else {
239
235
  const message = command ? `Unknown command: ${command}` : "No command specified";
@@ -1,15 +1,15 @@
1
1
  // @bun
2
- import {
3
- isWSLEnvironment
4
- } from "./index-00wfffav.js";
5
- import"./index-wtfnv3n2.js";
6
- import"./index-prwyfnn3.js";
7
2
  import {
8
3
  BYTES_PER_KILOBYTE
9
- } from "./index-czwrxgdj.js";
4
+ } from "./index-hxqprc80.js";
10
5
  import {
11
6
  __require
12
- } from "./index-mywsk201.js";
7
+ } from "./index-fde3c297.js";
8
+ import {
9
+ isWSLEnvironment
10
+ } from "./index-k4t9k1xk.js";
11
+ import"./index-92hmw204.js";
12
+ import"./index-1x1vah31.js";
13
13
 
14
14
  // src/cli/scripts/info.ts
15
15
  import { execSync } from "child_process";
@@ -1,34 +1,32 @@
1
1
  // @bun
2
2
  import {
3
- aggregates,
4
- fetchRequests,
5
- findServer,
6
- formatRequestRow,
7
- pathColumnWidth,
8
- requestDetail,
9
- requestHeader
10
- } from "./index-sjvydg2r.js";
11
- import"./index-6j1xaheg.js";
12
- import"./index-9r7n9dqp.js";
3
+ LIST_TUI_DEFAULT_HEIGHT,
4
+ LIST_TUI_DEFAULT_WIDTH,
5
+ LIST_WATCH_REFRESH_MS,
6
+ UNFOUND_INDEX
7
+ } from "./index-hxqprc80.js";
8
+ import"./index-71gchbzt.js";
13
9
  import {
14
- ESCAPE,
15
10
  colors,
11
+ ESCAPE,
16
12
  formatTimestamp,
17
13
  openTtyStream,
18
14
  padLine,
19
15
  stripAnsi,
20
16
  truncateText,
21
17
  visibleLength
22
- } from "./index-8nym68py.js";
23
- import"./index-fhaf3tdk.js";
24
- import"./index-r8x3839e.js";
18
+ } from "./index-ppxed116.js";
25
19
  import {
26
- LIST_TUI_DEFAULT_HEIGHT,
27
- LIST_TUI_DEFAULT_WIDTH,
28
- LIST_WATCH_REFRESH_MS,
29
- UNFOUND_INDEX
30
- } from "./index-czwrxgdj.js";
31
- import"./index-mywsk201.js";
20
+ aggregates,
21
+ fetchRequests,
22
+ findServer,
23
+ formatRequestRow,
24
+ pathColumnWidth,
25
+ requestDetail,
26
+ requestHeader
27
+ } from "./index-1ff9q1vx.js";
28
+ import"./index-73sk1ney.js";
29
+ import"./index-ma1dw7x2.js";
32
30
 
33
31
  // src/cli/inspectTui.ts
34
32
  var CHROME_LINES = 6;
@@ -1,16 +1,13 @@
1
1
  // @bun
2
+ import"./index-hxqprc80.js";
3
+ import"./index-j57pgg5m.js";
4
+ import"./index-thqwfzy8.js";
2
5
  import {
3
- fingerprintAbsoluteIosDevProject
4
- } from "./index-vkkqe08e.js";
5
- import"./index-v26ze17p.js";
6
- import"./index-j66p8hn5.js";
7
- import"./index-18q9qc7f.js";
8
- import"./index-255xs63d.js";
9
- import"./index-00wfffav.js";
10
- import"./index-wtfnv3n2.js";
11
- import"./index-prwyfnn3.js";
12
- import"./index-czwrxgdj.js";
13
- import"./index-mywsk201.js";
6
+ fingerprintAbsoluteIosDevProject2
7
+ } from "./index-vj2v38sq.js";
8
+ import"./index-k4t9k1xk.js";
9
+ import"./index-92hmw204.js";
10
+ import"./index-1x1vah31.js";
14
11
 
15
12
  // src/mobile/iosNativeWatcher.ts
16
13
  import { watch } from "fs";
@@ -30,7 +27,7 @@ var ROOT_NATIVE_INPUTS = new Set([
30
27
  "package.json"
31
28
  ]);
32
29
  var createAbsoluteIosNativeWatcher = async (options) => {
33
- let fingerprint = await fingerprintAbsoluteIosDevProject(options.project);
30
+ let fingerprint = await fingerprintAbsoluteIosDevProject2(options.project);
34
31
  let closed = false;
35
32
  let running = false;
36
33
  let timer;
@@ -64,7 +61,7 @@ var createAbsoluteIosNativeWatcher = async (options) => {
64
61
  changedPaths.clear();
65
62
  rootInputChanged = false;
66
63
  try {
67
- const next = await fingerprintAbsoluteIosDevProject(options.project);
64
+ const next = await fingerprintAbsoluteIosDevProject2(options.project);
68
65
  if (!forced && next === fingerprint)
69
66
  return;
70
67
  await options.onChange({
@@ -73,7 +70,7 @@ var createAbsoluteIosNativeWatcher = async (options) => {
73
70
  paths,
74
71
  rootInputChanged: forced
75
72
  });
76
- fingerprint = await fingerprintAbsoluteIosDevProject(options.project);
73
+ fingerprint = await fingerprintAbsoluteIosDevProject2(options.project);
77
74
  } catch (error) {
78
75
  options.onError?.(error);
79
76
  } finally {
@@ -106,6 +103,5 @@ var createAbsoluteIosNativeWatcher = async (options) => {
106
103
  };
107
104
  var isAbsoluteIosNativeRootInput = (path) => ROOT_NATIVE_INPUTS.has(basename(path));
108
105
  export {
109
- createAbsoluteIosNativeWatcher,
110
- isAbsoluteIosNativeRootInput
106
+ createAbsoluteIosNativeWatcher
111
107
  };
@@ -0,0 +1,23 @@
1
+ // @bun
2
+ import {
3
+ ABSOLUTE_IOS_SIMULATOR_NAME2,
4
+ parseIosSimulators2,
5
+ repairAbsoluteIosDevSession2,
6
+ fingerprintAbsoluteIosDevProject2,
7
+ prepareAbsoluteIosDevProject2,
8
+ startAbsoluteIosDevSession2
9
+ } from "./index-vj2v38sq.js";
10
+ import"./index-thqwfzy8.js";
11
+ import"./index-j57pgg5m.js";
12
+ import"./index-k4t9k1xk.js";
13
+ import"./index-92hmw204.js";
14
+ import"./index-1x1vah31.js";
15
+ import"./index-hxqprc80.js";
16
+ export {
17
+ ABSOLUTE_IOS_SIMULATOR_NAME2 as ABSOLUTE_IOS_SIMULATOR_NAME,
18
+ fingerprintAbsoluteIosDevProject2 as fingerprintAbsoluteIosDevProject,
19
+ parseIosSimulators2 as parseIosSimulators,
20
+ prepareAbsoluteIosDevProject2 as prepareAbsoluteIosDevProject,
21
+ repairAbsoluteIosDevSession2 as repairAbsoluteIosDevSession,
22
+ startAbsoluteIosDevSession2 as startAbsoluteIosDevSession
23
+ };
@@ -1,20 +1,19 @@
1
1
  // @bun
2
- import {
3
- formatBytes
4
- } from "./index-9r7n9dqp.js";
5
2
  import {
6
3
  getIslandManifestKey,
7
4
  loadIslandRegistryBuildInfo
8
- } from "./index-bzs19w3r.js";
5
+ } from "./index-e6ysp900.js";
6
+ import {
7
+ loadConfig
8
+ } from "./index-h7qhz02e.js";
9
+ import"./index-hxqprc80.js";
9
10
  import {
10
11
  colors,
11
12
  padLine
12
- } from "./index-8nym68py.js";
13
+ } from "./index-ppxed116.js";
13
14
  import {
14
- loadConfig
15
- } from "./index-06cmrcdq.js";
16
- import"./index-czwrxgdj.js";
17
- import"./index-mywsk201.js";
15
+ formatBytes
16
+ } from "./index-ma1dw7x2.js";
18
17
 
19
18
  // src/cli/scripts/islands.ts
20
19
  import { existsSync as existsSync2, readFileSync as readFileSync2, statSync } from "fs";
@@ -1,14 +1,13 @@
1
1
  // @bun
2
2
  import {
3
- gitVisibleFiles,
4
- resolveLintTargets
5
- } from "./index-tn4crd40.js";
3
+ findEslintConfigPath2,
4
+ createEslintCacheFingerprint2,
5
+ createEslintConfigDigest2
6
+ } from "./index-vdnmqkt8.js";
6
7
  import {
7
- createEslintCacheFingerprint,
8
- createEslintConfigDigest,
9
- findEslintConfigPath
10
- } from "./index-0hr7c4qe.js";
11
- import"./index-mywsk201.js";
8
+ resolveLintTargets2,
9
+ gitVisibleFiles2
10
+ } from "./index-r62705dc.js";
12
11
 
13
12
  // src/cli/scripts/lintProof.ts
14
13
  import {
@@ -107,12 +106,12 @@ var lintScopedFiles = (command, root) => {
107
106
  const args = eslintChunkedArgs(command);
108
107
  if (args === null)
109
108
  return null;
110
- const auxiliary = gitVisibleFiles(root).filter((file) => TSCONFIG_PATTERN.test(file));
111
- const configPath = findEslintConfigPath(root);
109
+ const auxiliary = gitVisibleFiles2(root).filter((file) => TSCONFIG_PATTERN.test(file));
110
+ const configPath = findEslintConfigPath2(root);
112
111
  const configRelative = configPath === null ? null : relative(root, configPath).replaceAll("\\", "/");
113
112
  return [
114
113
  ...new Set([
115
- ...resolveLintTargets(args, root),
114
+ ...resolveLintTargets2(args, root),
116
115
  ...auxiliary,
117
116
  ...configRelative === null || configRelative.startsWith("../") ? [] : [configRelative]
118
117
  ])
@@ -166,7 +165,7 @@ var createLintSourceTree = (cwd = process.cwd(), proofLocation = DEFAULT_PROOF_L
166
165
  rmSync(temporaryDirectory, { force: true, recursive: true });
167
166
  }
168
167
  };
169
- var proofFingerprint = (cwd) => createHash("sha256").update(`absolute-lint-proof:${PROOF_CONTRACT_VERSION}\x00`).update(createEslintCacheFingerprint(cwd)).update("\x00").update(createEslintConfigDigest(cwd)).digest("hex");
168
+ var proofFingerprint = (cwd) => createHash("sha256").update(`absolute-lint-proof:${PROOF_CONTRACT_VERSION}\x00`).update(createEslintCacheFingerprint2(cwd)).update("\x00").update(createEslintConfigDigest2(cwd)).digest("hex");
170
169
  var createLintProof = (command, options = {}) => {
171
170
  const cwd = options.cwd ?? process.cwd();
172
171
  const proofLocation = options.proofLocation ?? DEFAULT_PROOF_LOCATION;
@@ -354,9 +353,5 @@ var runLintProof = async (args) => {
354
353
  return 0;
355
354
  };
356
355
  export {
357
- createLintProof,
358
- createLintSourceTree,
359
- runLintProof,
360
- verifyLintProof,
361
- writeLintProof
356
+ runLintProof
362
357
  };
@@ -1,18 +1,16 @@
1
1
  // @bun
2
2
  import {
3
- discoverInstances,
4
- enrichInstances
5
- } from "./index-6j1xaheg.js";
3
+ LIST_LOG_TAIL_MAX_BYTES,
4
+ UNFOUND_INDEX
5
+ } from "./index-hxqprc80.js";
6
+ import"./index-71gchbzt.js";
6
7
  import {
7
8
  colors
8
- } from "./index-8nym68py.js";
9
- import"./index-fhaf3tdk.js";
10
- import"./index-r8x3839e.js";
9
+ } from "./index-ppxed116.js";
11
10
  import {
12
- LIST_LOG_TAIL_MAX_BYTES,
13
- UNFOUND_INDEX
14
- } from "./index-czwrxgdj.js";
15
- import"./index-mywsk201.js";
11
+ discoverInstances,
12
+ enrichInstances
13
+ } from "./index-73sk1ney.js";
16
14
 
17
15
  // src/cli/scripts/logs.ts
18
16
  import {
@@ -1,24 +1,23 @@
1
1
  // @bun
2
2
  import {
3
- toPascal
4
- } from "./index-s2tazax7.js";
3
+ BYTES_PER_KILOBYTE,
4
+ UNFOUND_INDEX
5
+ } from "./index-hxqprc80.js";
6
+ import {
7
+ isWorkspaceConfig,
8
+ loadRawConfig
9
+ } from "./index-h7qhz02e.js";
5
10
  import {
6
11
  colors,
7
12
  padLine,
8
13
  visibleLength
9
- } from "./index-8nym68py.js";
14
+ } from "./index-ppxed116.js";
10
15
  import {
11
- isWorkspaceConfig,
12
- loadRawConfig
13
- } from "./index-06cmrcdq.js";
16
+ toPascal
17
+ } from "./index-92g14j47.js";
14
18
  import {
15
19
  getDurationString
16
- } from "./index-prwyfnn3.js";
17
- import {
18
- BYTES_PER_KILOBYTE,
19
- UNFOUND_INDEX
20
- } from "./index-czwrxgdj.js";
21
- import"./index-mywsk201.js";
20
+ } from "./index-1x1vah31.js";
22
21
 
23
22
  // src/cli/scripts/ls.ts
24
23
  import { existsSync as existsSync2, readFileSync, statSync } from "fs";
@@ -55,8 +54,8 @@ var classifyFile = (file, pageFiles, defaults, pages) => {
55
54
  };
56
55
  var scanConventions = async (pagesDir, pattern) => {
57
56
  if (!existsSync(pagesDir)) {
58
- const pageFiles2 = [];
59
- return { conventions: undefined, pageFiles: pageFiles2 };
57
+ const pageFiles = [];
58
+ return { conventions: undefined, pageFiles };
60
59
  }
61
60
  const pageFiles = [];
62
61
  const defaults = {};
@@ -1,24 +1,20 @@
1
1
  // @bun
2
2
  import {
3
- discoverInstances,
4
- enrichInstances
5
- } from "./index-6j1xaheg.js";
6
- import {
7
- formatBytes
8
- } from "./index-9r7n9dqp.js";
3
+ LIST_TUI_COLUMN_GAP
4
+ } from "./index-hxqprc80.js";
5
+ import"./index-71gchbzt.js";
9
6
  import {
10
7
  colors,
11
8
  padLine,
12
9
  visibleLength
13
- } from "./index-8nym68py.js";
14
- import"./index-fhaf3tdk.js";
15
- import"./index-r8x3839e.js";
10
+ } from "./index-ppxed116.js";
16
11
  import {
17
- LIST_TUI_COLUMN_GAP
18
- } from "./index-czwrxgdj.js";
12
+ discoverInstances,
13
+ enrichInstances
14
+ } from "./index-73sk1ney.js";
19
15
  import {
20
- __require
21
- } from "./index-mywsk201.js";
16
+ formatBytes
17
+ } from "./index-ma1dw7x2.js";
22
18
 
23
19
  // src/cli/scripts/mem.ts
24
20
  import { freemem, totalmem } from "os";
@@ -62,7 +58,7 @@ var printReport = (instances) => {
62
58
  };
63
59
  var runMem = async (args) => {
64
60
  if (args[0] === "diff") {
65
- const { runHeapDiff } = await import("./heapDiff-87v24x7p.js");
61
+ const { runHeapDiff } = await import("./heapDiff-2etr2r26.js");
66
62
  runHeapDiff(args[1], args[2]);
67
63
  return;
68
64
  }
@@ -1,9 +1,8 @@
1
1
  // @bun
2
+ import"./index-hxqprc80.js";
2
3
  import {
3
4
  colors
4
- } from "./index-8nym68py.js";
5
- import"./index-czwrxgdj.js";
6
- import"./index-mywsk201.js";
5
+ } from "./index-ppxed116.js";
7
6
 
8
7
  // src/migrate/detect.ts
9
8
  var CONFIDENT = 0.7;
@@ -85,13 +84,13 @@ var detectStack = ({
85
84
  }));
86
85
  const fromFiles = scoreSignals((name) => names.has(name), FILE_SIGNALS, FILE_WEIGHT, (name) => ({ detail: "config file present", source: name }));
87
86
  const scores = merge(new Map(fromDependencies.scores), fromFiles.scores);
88
- const decisive = [...scores.keys()].some((kind2) => !SUBSUMED_BY_OTHERS.has(kind2));
87
+ const decisive = [...scores.keys()].some((kind) => !SUBSUMED_BY_OTHERS.has(kind));
89
88
  if (decisive) {
90
- for (const kind2 of SUBSUMED_BY_OTHERS)
91
- scores.delete(kind2);
89
+ for (const kind of SUBSUMED_BY_OTHERS)
90
+ scores.delete(kind);
92
91
  }
93
- const rank = (kind2) => {
94
- const index = STACK_PRECEDENCE.indexOf(kind2);
92
+ const rank = (kind) => {
93
+ const index = STACK_PRECEDENCE.indexOf(kind);
95
94
  return index === -1 ? STACK_PRECEDENCE.length : index;
96
95
  };
97
96
  const ranked = [...scores.entries()].sort(([leftKind, left], [rightKind, right]) => right - left || rank(leftKind) - rank(rightKind));