@keystrokehq/cli 0.1.3 → 0.1.4

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 (236) hide show
  1. package/dist/alias-RTYYYW3D-CLFgrowj.mjs +98 -0
  2. package/dist/alias-RTYYYW3D-CLFgrowj.mjs.map +1 -0
  3. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs +2737 -0
  4. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs.map +1 -0
  5. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs +123 -0
  6. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs.map +1 -0
  7. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs +53 -0
  8. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs.map +1 -0
  9. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs +118 -0
  10. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs.map +1 -0
  11. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs +63 -0
  12. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs.map +1 -0
  13. package/dist/chmod-TFEPA42X-YF02QJUv.mjs +125 -0
  14. package/dist/chmod-TFEPA42X-YF02QJUv.mjs.map +1 -0
  15. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs +100 -0
  16. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs.map +1 -0
  17. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs +719 -0
  18. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs.map +1 -0
  19. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs +22543 -0
  20. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs.map +1 -0
  21. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs +69 -0
  22. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs.map +1 -0
  23. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs +606 -0
  24. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs.map +1 -0
  25. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs +37 -0
  26. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs.map +1 -0
  27. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs +34 -0
  28. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs.map +1 -0
  29. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs +594 -0
  30. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs.map +1 -0
  31. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs +14 -0
  32. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs.map +1 -0
  33. package/dist/chunk-DiodbrVj.mjs +27 -0
  34. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs +247 -0
  35. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs.map +1 -0
  36. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs +19 -0
  37. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs.map +1 -0
  38. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs +10 -0
  39. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs.map +1 -0
  40. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs +14 -0
  41. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs.map +1 -0
  42. package/dist/chunk-L64BMZUV-CyR7RKok.mjs +30 -0
  43. package/dist/chunk-L64BMZUV-CyR7RKok.mjs.map +1 -0
  44. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs +3113 -0
  45. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs.map +1 -0
  46. package/dist/chunk-NRSASXYY-CuWyREpD.mjs +41 -0
  47. package/dist/chunk-NRSASXYY-CuWyREpD.mjs.map +1 -0
  48. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs +63 -0
  49. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs.map +1 -0
  50. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs +93 -0
  51. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs.map +1 -0
  52. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs +26 -0
  53. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs.map +1 -0
  54. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs +140 -0
  55. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs.map +1 -0
  56. package/dist/chunk-STHBFACM-lyj-j2a-.mjs +8 -0
  57. package/dist/chunk-STHBFACM-lyj-j2a-.mjs.map +1 -0
  58. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs +20 -0
  59. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs.map +1 -0
  60. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs +21 -0
  61. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs.map +1 -0
  62. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs +1137 -0
  63. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs.map +1 -0
  64. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs +122 -0
  65. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs.map +1 -0
  66. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs +11 -0
  67. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs.map +1 -0
  68. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs +34 -0
  69. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs.map +1 -0
  70. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs +16 -0
  71. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs.map +1 -0
  72. package/dist/chunk-YCLFEX4T-COc1AThz.mjs +77 -0
  73. package/dist/chunk-YCLFEX4T-COc1AThz.mjs.map +1 -0
  74. package/dist/clear-HKGFEOF6-CekN2x-O.mjs +28 -0
  75. package/dist/clear-HKGFEOF6-CekN2x-O.mjs.map +1 -0
  76. package/dist/column-XT6UFXNQ-DHENV9D2.mjs +143 -0
  77. package/dist/column-XT6UFXNQ-DHENV9D2.mjs.map +1 -0
  78. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs +87 -0
  79. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs.map +1 -0
  80. package/dist/cp-BISAAS7A-CMWayU4n.mjs +106 -0
  81. package/dist/cp-BISAAS7A-CMWayU4n.mjs.map +1 -0
  82. package/dist/cut-OKARJCCV-Bt8b58eI.mjs +119 -0
  83. package/dist/cut-OKARJCCV-Bt8b58eI.mjs.map +1 -0
  84. package/dist/date-UUUPW43J-B7T5OTZZ.mjs +188 -0
  85. package/dist/date-UUUPW43J-B7T5OTZZ.mjs.map +1 -0
  86. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs +755 -0
  87. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs.map +1 -0
  88. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs +43 -0
  89. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs.map +1 -0
  90. package/dist/{dist-DjfxlOWX.mjs → dist-C47GdlWY.mjs} +18 -93
  91. package/dist/{dist-DjfxlOWX.mjs.map → dist-C47GdlWY.mjs.map} +1 -1
  92. package/dist/{dist-DWcRd4Se.mjs → dist-CJL2zYbP.mjs} +4 -71
  93. package/dist/dist-CJL2zYbP.mjs.map +1 -0
  94. package/dist/dist-Ch53z2P3.mjs +3 -0
  95. package/dist/dist-CwR72_PS.mjs +1887 -0
  96. package/dist/dist-CwR72_PS.mjs.map +1 -0
  97. package/dist/du-572XNP42-ClP4jXB1.mjs +176 -0
  98. package/dist/du-572XNP42-ClP4jXB1.mjs.map +1 -0
  99. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs +137 -0
  100. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs.map +1 -0
  101. package/dist/env-36M5BO7M-CsP_aiWr.mjs +119 -0
  102. package/dist/env-36M5BO7M-CsP_aiWr.mjs.map +1 -0
  103. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs +145 -0
  104. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs.map +1 -0
  105. package/dist/expr-5JAACS4X-1TBq84gG.mjs +153 -0
  106. package/dist/expr-5JAACS4X-1TBq84gG.mjs.map +1 -0
  107. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs +4201 -0
  108. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +1 -0
  109. package/dist/find-INTH3OLC-6p47KeeT.mjs +1332 -0
  110. package/dist/find-INTH3OLC-6p47KeeT.mjs.map +1 -0
  111. package/dist/fold-4TQNYMSW-C54bHzLd.mjs +138 -0
  112. package/dist/fold-4TQNYMSW-C54bHzLd.mjs.map +1 -0
  113. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs +335 -0
  114. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs.map +1 -0
  115. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs +592 -0
  116. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs.map +1 -0
  117. package/dist/head-442HYESI-D96RMdki.mjs +36 -0
  118. package/dist/head-442HYESI-D96RMdki.mjs.map +1 -0
  119. package/dist/help-HZ6M2CKN--DK8mY2L.mjs +123 -0
  120. package/dist/help-HZ6M2CKN--DK8mY2L.mjs.map +1 -0
  121. package/dist/history-WYYKSLSZ-ACNQVupn.mjs +48 -0
  122. package/dist/history-WYYKSLSZ-ACNQVupn.mjs.map +1 -0
  123. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs +24 -0
  124. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs.map +1 -0
  125. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs +15890 -0
  126. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map +1 -0
  127. package/dist/index.mjs +9 -9
  128. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs +198 -0
  129. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs.map +1 -0
  130. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs +257 -0
  131. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs.map +1 -0
  132. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs +333 -0
  133. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs.map +1 -0
  134. package/dist/lib-D4GpdNNK.mjs +45 -0
  135. package/dist/lib-D4GpdNNK.mjs.map +1 -0
  136. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs +101 -0
  137. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs.map +1 -0
  138. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs +1891 -0
  139. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs.map +1 -0
  140. package/dist/lzma-CTMDi254.mjs +1135 -0
  141. package/dist/lzma-CTMDi254.mjs.map +1 -0
  142. package/dist/{maybe-auto-update-Ou7H6dXT.mjs → maybe-auto-update-B0kal2FM.mjs} +2 -2
  143. package/dist/{maybe-auto-update-Ou7H6dXT.mjs.map → maybe-auto-update-B0kal2FM.mjs.map} +1 -1
  144. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs +16 -0
  145. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs.map +1 -0
  146. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs +58 -0
  147. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs.map +1 -0
  148. package/dist/mv-W5BIQ646-CdSIyY-U.mjs +93 -0
  149. package/dist/mv-W5BIQ646-CdSIyY-U.mjs.map +1 -0
  150. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs +208 -0
  151. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs.map +1 -0
  152. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs +73 -0
  153. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs.map +1 -0
  154. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs +113 -0
  155. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs.map +1 -0
  156. package/dist/printf-TWGXF445-B7cTysaa.mjs +880 -0
  157. package/dist/printf-TWGXF445-B7cTysaa.mjs.map +1 -0
  158. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs +34 -0
  159. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs.map +1 -0
  160. package/dist/python3-POMOR4OA-CKy80mpF.mjs +299 -0
  161. package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +1 -0
  162. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs +76 -0
  163. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map +1 -0
  164. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs +66 -0
  165. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs.map +1 -0
  166. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs +1539 -0
  167. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs.map +1 -0
  168. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs +81 -0
  169. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs.map +1 -0
  170. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs +132 -0
  171. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs.map +1 -0
  172. package/dist/sed-S5UIK574-DE1KeTk3.mjs +1722 -0
  173. package/dist/sed-S5UIK574-DE1KeTk3.mjs.map +1 -0
  174. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs +85 -0
  175. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs.map +1 -0
  176. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs +16 -0
  177. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs.map +1 -0
  178. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs +16 -0
  179. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs.map +1 -0
  180. package/dist/sleep-X22JJINO-Do5hEQQW.mjs +67 -0
  181. package/dist/sleep-X22JJINO-Do5hEQQW.mjs.map +1 -0
  182. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs +320 -0
  183. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs.map +1 -0
  184. package/dist/split-4KKZZXXE-h8GD4HP4.mjs +248 -0
  185. package/dist/split-4KKZZXXE-h8GD4HP4.mjs.map +1 -0
  186. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs +2879 -0
  187. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs.map +1 -0
  188. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs +65 -0
  189. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs.map +1 -0
  190. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs +179 -0
  191. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs.map +1 -0
  192. package/dist/tac-2STMMJYW-DPyeWM9R.mjs +53 -0
  193. package/dist/tac-2STMMJYW-DPyeWM9R.mjs.map +1 -0
  194. package/dist/tail-R4PCA2C4-CUfroNeu.mjs +37 -0
  195. package/dist/tail-R4PCA2C4-CUfroNeu.mjs.map +1 -0
  196. package/dist/tar-STHHZTZ6-DRf60e-G.mjs +2838 -0
  197. package/dist/tar-STHHZTZ6-DRf60e-G.mjs.map +1 -0
  198. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs +46 -0
  199. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs.map +1 -0
  200. package/dist/time-D4LNBSWX-DVWhAldK.mjs +112 -0
  201. package/dist/time-D4LNBSWX-DVWhAldK.mjs.map +1 -0
  202. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs +113 -0
  203. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs.map +1 -0
  204. package/dist/touch-UA33VN3N-oW1SBT1r.mjs +104 -0
  205. package/dist/touch-UA33VN3N-oW1SBT1r.mjs.map +1 -0
  206. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs +167 -0
  207. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs.map +1 -0
  208. package/dist/tree-YLD52CNT-CIozNsLQ.mjs +186 -0
  209. package/dist/tree-YLD52CNT-CIozNsLQ.mjs.map +1 -0
  210. package/dist/true-FHQXJXBE-DsJOznSp.mjs +31 -0
  211. package/dist/true-FHQXJXBE-DsJOznSp.mjs.map +1 -0
  212. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs +155 -0
  213. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs.map +1 -0
  214. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs +92 -0
  215. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs.map +1 -0
  216. package/dist/{version-n-JpPeUF.mjs → version-Dxl3y5p6.mjs} +2 -2
  217. package/dist/{version-n-JpPeUF.mjs.map → version-Dxl3y5p6.mjs.map} +1 -1
  218. package/dist/wc-LF7NU4LA-BFPabrwD.mjs +111 -0
  219. package/dist/wc-LF7NU4LA-BFPabrwD.mjs.map +1 -0
  220. package/dist/which-XEM24D5D-2LvlkpUo.mjs +62 -0
  221. package/dist/which-XEM24D5D-2LvlkpUo.mjs.map +1 -0
  222. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs +24 -0
  223. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs.map +1 -0
  224. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs +2832 -0
  225. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs.map +1 -0
  226. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs +12 -0
  227. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs.map +1 -0
  228. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs +112 -0
  229. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs.map +1 -0
  230. package/dist/yq-4QJW3EQG-XhB3aACo.mjs +8610 -0
  231. package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +1 -0
  232. package/package.json +1 -1
  233. package/dist/dist-DWcRd4Se.mjs.map +0 -1
  234. package/dist/dist-DitNZUHA.mjs +0 -3
  235. package/dist/dist-vwoMCz6d.mjs +0 -775
  236. package/dist/dist-vwoMCz6d.mjs.map +0 -1
@@ -0,0 +1,1332 @@
1
+ #!/usr/bin/env node
2
+ import { r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
+ import "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
+ import { t as I1 } from "./chunk-4RUAZWKT-D60fyWAB.mjs";
5
+ import { t as x } from "./chunk-TDD4NFYE-wsWW75MX.mjs";
6
+ import { t as u } from "./chunk-AQ6FYS2X-CkVetjym.mjs";
7
+ import { t as r } from "./chunk-L2UW7DWF-B3tEHhPF.mjs";
8
+ import { n as i, r as r$1, t as h } from "./chunk-27JIFWUR-B6ZjjMMI.mjs";
9
+ import { createRequire } from "node:module";
10
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-ZZKH2ELC.js
11
+ createRequire(import.meta.url);
12
+ function k(e, t) {
13
+ switch (e.type) {
14
+ case "name": {
15
+ let n = e.pattern, a = n.match(/^\*(\.[a-zA-Z0-9]+)$/);
16
+ if (a) {
17
+ let s = a[1], o = t.name;
18
+ if (e.ignoreCase) {
19
+ if (!o.toLowerCase().endsWith(s.toLowerCase())) return {
20
+ matches: !1,
21
+ pruned: !1,
22
+ printed: !1
23
+ };
24
+ } else if (!o.endsWith(s)) return {
25
+ matches: !1,
26
+ pruned: !1,
27
+ printed: !1
28
+ };
29
+ return {
30
+ matches: !0,
31
+ pruned: !1,
32
+ printed: !1
33
+ };
34
+ }
35
+ return {
36
+ matches: u(t.name, n, e.ignoreCase),
37
+ pruned: !1,
38
+ printed: !1
39
+ };
40
+ }
41
+ case "path": {
42
+ let n = e.pattern, a = t.relativePath, s = n.split("/");
43
+ for (let i = 0; i < s.length - 1; i++) {
44
+ let r = s[i];
45
+ if (r && r !== "." && r !== ".." && !r.includes("*") && !r.includes("?") && !r.includes("[")) {
46
+ let p = `/${r}/`;
47
+ if (e.ignoreCase) {
48
+ if (!a.toLowerCase().includes(p.toLowerCase())) return {
49
+ matches: !1,
50
+ pruned: !1,
51
+ printed: !1
52
+ };
53
+ } else if (!a.includes(p)) return {
54
+ matches: !1,
55
+ pruned: !1,
56
+ printed: !1
57
+ };
58
+ }
59
+ }
60
+ let o = n.match(/\*(\.[a-zA-Z0-9]+)$/);
61
+ if (o) {
62
+ let i = o[1];
63
+ if (e.ignoreCase) {
64
+ if (!a.toLowerCase().endsWith(i.toLowerCase())) return {
65
+ matches: !1,
66
+ pruned: !1,
67
+ printed: !1
68
+ };
69
+ } else if (!a.endsWith(i)) return {
70
+ matches: !1,
71
+ pruned: !1,
72
+ printed: !1
73
+ };
74
+ }
75
+ return {
76
+ matches: u(a, n, e.ignoreCase),
77
+ pruned: !1,
78
+ printed: !1
79
+ };
80
+ }
81
+ case "regex": try {
82
+ let n = e.ignoreCase ? "i" : "";
83
+ return {
84
+ matches: I1(e.pattern, n).test(t.relativePath),
85
+ pruned: !1,
86
+ printed: !1
87
+ };
88
+ } catch {
89
+ return {
90
+ matches: !1,
91
+ pruned: !1,
92
+ printed: !1
93
+ };
94
+ }
95
+ case "type": return e.fileType === "f" ? {
96
+ matches: t.isFile,
97
+ pruned: !1,
98
+ printed: !1
99
+ } : e.fileType === "d" ? {
100
+ matches: t.isDirectory,
101
+ pruned: !1,
102
+ printed: !1
103
+ } : {
104
+ matches: !1,
105
+ pruned: !1,
106
+ printed: !1
107
+ };
108
+ case "empty": return {
109
+ matches: t.isEmpty,
110
+ pruned: !1,
111
+ printed: !1
112
+ };
113
+ case "mtime": {
114
+ let a = (Date.now() - t.mtime) / (1e3 * 60 * 60 * 24), s;
115
+ return e.comparison === "more" ? s = a > e.days : e.comparison === "less" ? s = a < e.days : s = Math.floor(a) === e.days, {
116
+ matches: s,
117
+ pruned: !1,
118
+ printed: !1
119
+ };
120
+ }
121
+ case "newer": {
122
+ let n = t.newerRefTimes.get(e.refPath);
123
+ return n === void 0 ? {
124
+ matches: !1,
125
+ pruned: !1,
126
+ printed: !1
127
+ } : {
128
+ matches: t.mtime > n,
129
+ pruned: !1,
130
+ printed: !1
131
+ };
132
+ }
133
+ case "size": {
134
+ let n = e.value;
135
+ switch (e.unit) {
136
+ case "c":
137
+ n = e.value;
138
+ break;
139
+ case "k":
140
+ n = e.value * 1024;
141
+ break;
142
+ case "M":
143
+ n = e.value * 1024 * 1024;
144
+ break;
145
+ case "G":
146
+ n = e.value * 1024 * 1024 * 1024;
147
+ break;
148
+ case "b":
149
+ n = e.value * 512;
150
+ break;
151
+ }
152
+ let a;
153
+ return e.comparison === "more" ? a = t.size > n : e.comparison === "less" ? a = t.size < n : e.unit === "b" ? a = Math.ceil(t.size / 512) === e.value : a = t.size === n, {
154
+ matches: a,
155
+ pruned: !1,
156
+ printed: !1
157
+ };
158
+ }
159
+ case "perm": {
160
+ let n = t.mode & 511, a = e.mode & 511, s;
161
+ return e.matchType === "exact" ? s = n === a : e.matchType === "all" ? s = (n & a) === a : s = (n & a) !== 0, {
162
+ matches: s,
163
+ pruned: !1,
164
+ printed: !1
165
+ };
166
+ }
167
+ case "prune": return {
168
+ matches: !0,
169
+ pruned: !0,
170
+ printed: !1
171
+ };
172
+ case "print": return {
173
+ matches: !0,
174
+ pruned: !1,
175
+ printed: !0
176
+ };
177
+ case "not": {
178
+ let n = k(e.expr, t);
179
+ return {
180
+ matches: !n.matches,
181
+ pruned: n.pruned,
182
+ printed: !1
183
+ };
184
+ }
185
+ case "and": {
186
+ let n = k(e.left, t);
187
+ if (!n.matches) return {
188
+ matches: !1,
189
+ pruned: n.pruned,
190
+ printed: !1
191
+ };
192
+ let a = k(e.right, t);
193
+ return {
194
+ matches: a.matches,
195
+ pruned: n.pruned || a.pruned,
196
+ printed: n.printed || a.printed
197
+ };
198
+ }
199
+ case "or": {
200
+ let n = k(e.left, t);
201
+ if (n.matches) return n;
202
+ let a = k(e.right, t);
203
+ return {
204
+ matches: a.matches,
205
+ pruned: n.pruned || a.pruned,
206
+ printed: a.printed
207
+ };
208
+ }
209
+ }
210
+ }
211
+ function _(e) {
212
+ if (!e) return !1;
213
+ switch (e.type) {
214
+ case "name":
215
+ case "path":
216
+ case "regex":
217
+ case "type":
218
+ case "prune":
219
+ case "print": return !1;
220
+ case "empty":
221
+ case "mtime":
222
+ case "newer":
223
+ case "size":
224
+ case "perm": return !0;
225
+ case "not": return _(e.expr);
226
+ case "and":
227
+ case "or": return _(e.left) || _(e.right);
228
+ }
229
+ }
230
+ function j(e) {
231
+ if (!e) return !1;
232
+ switch (e.type) {
233
+ case "empty": return !0;
234
+ case "not": return j(e.expr);
235
+ case "and":
236
+ case "or": return j(e.left) || j(e.right);
237
+ default: return !1;
238
+ }
239
+ }
240
+ function ue(e) {
241
+ let t = {
242
+ terminalDirName: null,
243
+ requiredExtension: null
244
+ };
245
+ if (!e) return t;
246
+ let n = Ee(e);
247
+ if (Me(e) && n.length === 1) {
248
+ let o = n[0].split("/").filter((i) => i.length > 0);
249
+ if (o.length >= 2) for (let i = o.length - 2; i >= 0; i--) {
250
+ let r = o[i];
251
+ if (!r.includes("*") && !r.includes("?") && !r.includes("[") && r !== "." && r !== "..") {
252
+ let p = o[i + 1];
253
+ if (p && (p.includes("*") || p.includes("?"))) {
254
+ t.terminalDirName = r;
255
+ let l = p.match(/^\*(\.[a-zA-Z0-9]+)$/);
256
+ l && (t.requiredExtension = l[1]);
257
+ }
258
+ break;
259
+ }
260
+ }
261
+ }
262
+ return t;
263
+ }
264
+ function Ee(e) {
265
+ let t = [], n = (a) => {
266
+ a.type === "path" ? t.push(a.pattern) : a.type === "not" ? n(a.expr) : (a.type === "and" || a.type === "or") && (n(a.left), n(a.right));
267
+ };
268
+ return n(e), t;
269
+ }
270
+ function Me(e) {
271
+ let t = (n) => n.type === "type" && n.fileType === "f" ? !0 : n.type === "not" ? t(n.expr) : n.type === "and" || n.type === "or" ? t(n.left) || t(n.right) : !1;
272
+ return t(e);
273
+ }
274
+ function he(e) {
275
+ let t = [], n = (a) => {
276
+ a && (a.type === "newer" ? t.push(a.refPath) : a.type === "not" ? n(a.expr) : (a.type === "and" || a.type === "or") && (n(a.left), n(a.right)));
277
+ };
278
+ return n(e), t;
279
+ }
280
+ function J(e) {
281
+ if (!e) return !0;
282
+ switch (e.type) {
283
+ case "name":
284
+ case "path":
285
+ case "regex":
286
+ case "type":
287
+ case "prune":
288
+ case "print": return !0;
289
+ case "empty":
290
+ case "mtime":
291
+ case "newer":
292
+ case "size":
293
+ case "perm": return !1;
294
+ case "not": return J(e.expr);
295
+ case "and":
296
+ case "or": return J(e.left) && J(e.right);
297
+ }
298
+ }
299
+ function L(e, t, n, a, s) {
300
+ switch (e.type) {
301
+ case "name": {
302
+ let o = e.pattern, i = o.match(/^\*(\.[a-zA-Z0-9]+)$/);
303
+ if (i) {
304
+ let r = i[1];
305
+ if (e.ignoreCase) {
306
+ if (!t.toLowerCase().endsWith(r.toLowerCase())) return {
307
+ matches: !1,
308
+ pruned: !1,
309
+ printed: !1
310
+ };
311
+ } else if (!t.endsWith(r)) return {
312
+ matches: !1,
313
+ pruned: !1,
314
+ printed: !1
315
+ };
316
+ return {
317
+ matches: !0,
318
+ pruned: !1,
319
+ printed: !1
320
+ };
321
+ }
322
+ return {
323
+ matches: u(t, o, e.ignoreCase),
324
+ pruned: !1,
325
+ printed: !1
326
+ };
327
+ }
328
+ case "path": {
329
+ let o = e.pattern, i = o.split("/");
330
+ for (let p = 0; p < i.length - 1; p++) {
331
+ let l = i[p];
332
+ if (l && l !== "." && l !== ".." && !l.includes("*") && !l.includes("?") && !l.includes("[")) {
333
+ let d = `/${l}/`;
334
+ if (e.ignoreCase) {
335
+ if (!n.toLowerCase().includes(d.toLowerCase())) return {
336
+ matches: !1,
337
+ pruned: !1,
338
+ printed: !1
339
+ };
340
+ } else if (!n.includes(d)) return {
341
+ matches: !1,
342
+ pruned: !1,
343
+ printed: !1
344
+ };
345
+ }
346
+ }
347
+ let r = o.match(/\*(\.[a-zA-Z0-9]+)$/);
348
+ if (r) {
349
+ let p = r[1];
350
+ if (e.ignoreCase) {
351
+ if (!n.toLowerCase().endsWith(p.toLowerCase())) return {
352
+ matches: !1,
353
+ pruned: !1,
354
+ printed: !1
355
+ };
356
+ } else if (!n.endsWith(p)) return {
357
+ matches: !1,
358
+ pruned: !1,
359
+ printed: !1
360
+ };
361
+ }
362
+ return {
363
+ matches: u(n, o, e.ignoreCase),
364
+ pruned: !1,
365
+ printed: !1
366
+ };
367
+ }
368
+ case "regex": try {
369
+ let o = e.ignoreCase ? "i" : "";
370
+ return {
371
+ matches: I1(e.pattern, o).test(n),
372
+ pruned: !1,
373
+ printed: !1
374
+ };
375
+ } catch {
376
+ return {
377
+ matches: !1,
378
+ pruned: !1,
379
+ printed: !1
380
+ };
381
+ }
382
+ case "type": return e.fileType === "f" ? {
383
+ matches: a,
384
+ pruned: !1,
385
+ printed: !1
386
+ } : e.fileType === "d" ? {
387
+ matches: s,
388
+ pruned: !1,
389
+ printed: !1
390
+ } : {
391
+ matches: !1,
392
+ pruned: !1,
393
+ printed: !1
394
+ };
395
+ case "prune": return {
396
+ matches: !0,
397
+ pruned: !0,
398
+ printed: !1
399
+ };
400
+ case "print": return {
401
+ matches: !0,
402
+ pruned: !1,
403
+ printed: !0
404
+ };
405
+ case "not": {
406
+ let o = L(e.expr, t, n, a, s);
407
+ return {
408
+ matches: !o.matches,
409
+ pruned: o.pruned,
410
+ printed: !1
411
+ };
412
+ }
413
+ case "and": {
414
+ let o = L(e.left, t, n, a, s);
415
+ if (!o.matches) return {
416
+ matches: !1,
417
+ pruned: o.pruned,
418
+ printed: !1
419
+ };
420
+ let i = L(e.right, t, n, a, s);
421
+ return {
422
+ matches: i.matches,
423
+ pruned: o.pruned || i.pruned,
424
+ printed: o.printed || i.printed
425
+ };
426
+ }
427
+ case "or": {
428
+ let o = L(e.left, t, n, a, s);
429
+ if (o.matches) return o;
430
+ let i = L(e.right, t, n, a, s);
431
+ return {
432
+ matches: i.matches,
433
+ pruned: o.pruned || i.pruned,
434
+ printed: i.printed
435
+ };
436
+ }
437
+ default: return {
438
+ matches: !1,
439
+ pruned: !1,
440
+ printed: !1
441
+ };
442
+ }
443
+ }
444
+ function V(e) {
445
+ if (!e) return !1;
446
+ switch (e.type) {
447
+ case "prune": return !0;
448
+ case "not": return V(e.expr);
449
+ case "and":
450
+ case "or": return V(e.left) || V(e.right);
451
+ default: return !1;
452
+ }
453
+ }
454
+ function z(e) {
455
+ switch (e.type) {
456
+ case "name":
457
+ case "path":
458
+ case "regex":
459
+ case "type":
460
+ case "prune":
461
+ case "print": return !0;
462
+ case "empty":
463
+ case "mtime":
464
+ case "newer":
465
+ case "size":
466
+ case "perm": return !1;
467
+ case "not": return z(e.expr);
468
+ case "and":
469
+ case "or": return z(e.left) && z(e.right);
470
+ }
471
+ }
472
+ function de(e, t) {
473
+ if (!e || !t.isDirectory) return { shouldPrune: !1 };
474
+ if (!z(e)) return se(e, t);
475
+ return { shouldPrune: k(e, {
476
+ name: t.name,
477
+ relativePath: t.relativePath,
478
+ isFile: t.isFile,
479
+ isDirectory: t.isDirectory,
480
+ isEmpty: !1,
481
+ mtime: 0,
482
+ size: 0,
483
+ mode: 0,
484
+ newerRefTimes: /* @__PURE__ */ new Map()
485
+ }).pruned };
486
+ }
487
+ function se(e, t) {
488
+ switch (e.type) {
489
+ case "or":
490
+ if (z(e.left)) {
491
+ let n = {
492
+ name: t.name,
493
+ relativePath: t.relativePath,
494
+ isFile: t.isFile,
495
+ isDirectory: t.isDirectory,
496
+ isEmpty: !1,
497
+ mtime: 0,
498
+ size: 0,
499
+ mode: 0,
500
+ newerRefTimes: /* @__PURE__ */ new Map()
501
+ };
502
+ if (k(e.left, n).pruned) return { shouldPrune: !0 };
503
+ }
504
+ return se(e.right, t);
505
+ case "and":
506
+ if (z(e.left) && z(e.right)) return { shouldPrune: k(e, {
507
+ name: t.name,
508
+ relativePath: t.relativePath,
509
+ isFile: t.isFile,
510
+ isDirectory: t.isDirectory,
511
+ isEmpty: !1,
512
+ mtime: 0,
513
+ size: 0,
514
+ mode: 0,
515
+ newerRefTimes: /* @__PURE__ */ new Map()
516
+ }).pruned };
517
+ if (z(e.left)) {
518
+ let n = {
519
+ name: t.name,
520
+ relativePath: t.relativePath,
521
+ isFile: t.isFile,
522
+ isDirectory: t.isDirectory,
523
+ isEmpty: !1,
524
+ mtime: 0,
525
+ size: 0,
526
+ mode: 0,
527
+ newerRefTimes: /* @__PURE__ */ new Map()
528
+ };
529
+ return k(e.left, n).matches ? se(e.right, t) : { shouldPrune: !1 };
530
+ }
531
+ return { shouldPrune: !1 };
532
+ case "not": return { shouldPrune: !1 };
533
+ default: return { shouldPrune: !1 };
534
+ }
535
+ }
536
+ function me(e, t) {
537
+ let n = [], a = [], s = t;
538
+ for (; s < e.length;) {
539
+ let i = e[s];
540
+ if (i === "(" || i === "\\(") {
541
+ n.push({ type: "lparen" }), s++;
542
+ continue;
543
+ }
544
+ if (i === ")" || i === "\\)") {
545
+ n.push({ type: "rparen" }), s++;
546
+ continue;
547
+ }
548
+ if (i === "-name" && s + 1 < e.length) n.push({
549
+ type: "expr",
550
+ expr: {
551
+ type: "name",
552
+ pattern: e[++s]
553
+ }
554
+ });
555
+ else if (i === "-iname" && s + 1 < e.length) n.push({
556
+ type: "expr",
557
+ expr: {
558
+ type: "name",
559
+ pattern: e[++s],
560
+ ignoreCase: !0
561
+ }
562
+ });
563
+ else if (i === "-path" && s + 1 < e.length) n.push({
564
+ type: "expr",
565
+ expr: {
566
+ type: "path",
567
+ pattern: e[++s]
568
+ }
569
+ });
570
+ else if (i === "-ipath" && s + 1 < e.length) n.push({
571
+ type: "expr",
572
+ expr: {
573
+ type: "path",
574
+ pattern: e[++s],
575
+ ignoreCase: !0
576
+ }
577
+ });
578
+ else if (i === "-regex" && s + 1 < e.length) n.push({
579
+ type: "expr",
580
+ expr: {
581
+ type: "regex",
582
+ pattern: e[++s]
583
+ }
584
+ });
585
+ else if (i === "-iregex" && s + 1 < e.length) n.push({
586
+ type: "expr",
587
+ expr: {
588
+ type: "regex",
589
+ pattern: e[++s],
590
+ ignoreCase: !0
591
+ }
592
+ });
593
+ else if (i === "-type" && s + 1 < e.length) {
594
+ let r = e[++s];
595
+ if (r === "f" || r === "d") n.push({
596
+ type: "expr",
597
+ expr: {
598
+ type: "type",
599
+ fileType: r
600
+ }
601
+ });
602
+ else return {
603
+ expr: null,
604
+ pathIndex: s,
605
+ error: `find: Unknown argument to -type: ${r}
606
+ `,
607
+ actions: []
608
+ };
609
+ } else if (i === "-empty") n.push({
610
+ type: "expr",
611
+ expr: { type: "empty" }
612
+ });
613
+ else if (i === "-mtime" && s + 1 < e.length) {
614
+ let r = e[++s], p = "exact", l = r;
615
+ r.startsWith("+") ? (p = "more", l = r.slice(1)) : r.startsWith("-") && (p = "less", l = r.slice(1));
616
+ let d = parseInt(l, 10);
617
+ Number.isNaN(d) || n.push({
618
+ type: "expr",
619
+ expr: {
620
+ type: "mtime",
621
+ days: d,
622
+ comparison: p
623
+ }
624
+ });
625
+ } else if (i === "-newer" && s + 1 < e.length) {
626
+ let r = e[++s];
627
+ n.push({
628
+ type: "expr",
629
+ expr: {
630
+ type: "newer",
631
+ refPath: r
632
+ }
633
+ });
634
+ } else if (i === "-size" && s + 1 < e.length) {
635
+ let r = e[++s], p = "exact", l = r;
636
+ r.startsWith("+") ? (p = "more", l = r.slice(1)) : r.startsWith("-") && (p = "less", l = r.slice(1));
637
+ let d = l.match(/^(\d+)([ckMGb])?$/);
638
+ if (d) {
639
+ let O = parseInt(d[1], 10), x = d[2] || "b";
640
+ n.push({
641
+ type: "expr",
642
+ expr: {
643
+ type: "size",
644
+ value: O,
645
+ unit: x,
646
+ comparison: p
647
+ }
648
+ });
649
+ }
650
+ } else if (i === "-perm" && s + 1 < e.length) {
651
+ let r = e[++s], p = "exact", l = r;
652
+ r.startsWith("-") ? (p = "all", l = r.slice(1)) : r.startsWith("/") && (p = "any", l = r.slice(1));
653
+ let d = parseInt(l, 8);
654
+ Number.isNaN(d) || n.push({
655
+ type: "expr",
656
+ expr: {
657
+ type: "perm",
658
+ mode: d,
659
+ matchType: p
660
+ }
661
+ });
662
+ } else if (i === "-prune") n.push({
663
+ type: "expr",
664
+ expr: { type: "prune" }
665
+ });
666
+ else if (i === "-not" || i === "!") n.push({ type: "not" });
667
+ else if (i === "-o" || i === "-or") n.push({
668
+ type: "op",
669
+ op: "or"
670
+ });
671
+ else if (i === "-a" || i === "-and") n.push({
672
+ type: "op",
673
+ op: "and"
674
+ });
675
+ else if (i === "-maxdepth" || i === "-mindepth") s++;
676
+ else if (i !== "-depth") if (i === "-exec") {
677
+ let r = [];
678
+ for (s++; s < e.length && e[s] !== ";" && e[s] !== "+";) r.push(e[s]), s++;
679
+ if (s >= e.length) return {
680
+ expr: null,
681
+ pathIndex: s,
682
+ error: "find: missing argument to `-exec'\n",
683
+ actions: []
684
+ };
685
+ let p = e[s] === "+";
686
+ a.push({
687
+ type: "exec",
688
+ command: r,
689
+ batchMode: p
690
+ });
691
+ } else if (i === "-print") n.push({
692
+ type: "expr",
693
+ expr: { type: "print" }
694
+ }), a.push({ type: "print" });
695
+ else if (i === "-print0") a.push({ type: "print0" });
696
+ else if (i === "-printf" && s + 1 < e.length) {
697
+ let r = e[++s];
698
+ a.push({
699
+ type: "printf",
700
+ format: r
701
+ });
702
+ } else if (i === "-delete") a.push({ type: "delete" });
703
+ else {
704
+ if (i.startsWith("-")) return {
705
+ expr: null,
706
+ pathIndex: s,
707
+ error: `find: unknown predicate '${i}'
708
+ `,
709
+ actions: []
710
+ };
711
+ if (n.length === 0) {
712
+ s++;
713
+ continue;
714
+ }
715
+ break;
716
+ }
717
+ s++;
718
+ }
719
+ if (n.length === 0) return {
720
+ expr: null,
721
+ pathIndex: s,
722
+ actions: a
723
+ };
724
+ let o = Fe(n);
725
+ return o.error ? {
726
+ expr: null,
727
+ pathIndex: s,
728
+ error: o.error,
729
+ actions: a
730
+ } : {
731
+ expr: o.expr,
732
+ pathIndex: s,
733
+ actions: a
734
+ };
735
+ }
736
+ function Fe(e) {
737
+ let t = 0;
738
+ function n() {
739
+ let r = a();
740
+ if (!r) return null;
741
+ for (; t < e.length;) {
742
+ let p = e[t];
743
+ if (p.type === "op" && p.op === "or") {
744
+ t++;
745
+ let l = a();
746
+ if (!l) return r;
747
+ r = {
748
+ type: "or",
749
+ left: r,
750
+ right: l
751
+ };
752
+ } else break;
753
+ }
754
+ return r;
755
+ }
756
+ function a() {
757
+ let r = s();
758
+ if (!r) return null;
759
+ for (; t < e.length;) {
760
+ let p = e[t];
761
+ if (p.type === "op" && p.op === "and") {
762
+ t++;
763
+ let l = s();
764
+ if (!l) return r;
765
+ r = {
766
+ type: "and",
767
+ left: r,
768
+ right: l
769
+ };
770
+ } else if (p.type === "expr" || p.type === "not" || p.type === "lparen") {
771
+ let l = s();
772
+ if (!l) return r;
773
+ r = {
774
+ type: "and",
775
+ left: r,
776
+ right: l
777
+ };
778
+ } else break;
779
+ }
780
+ return r;
781
+ }
782
+ function s() {
783
+ if (t < e.length && e[t].type === "not") {
784
+ t++;
785
+ let r = s();
786
+ return r ? {
787
+ type: "not",
788
+ expr: r
789
+ } : null;
790
+ }
791
+ return o();
792
+ }
793
+ function o() {
794
+ if (t >= e.length) return null;
795
+ let r = e[t];
796
+ if (r.type === "lparen") {
797
+ t++;
798
+ let p = n();
799
+ return t < e.length && e[t].type === "rparen" && t++, p;
800
+ }
801
+ return r.type === "expr" ? (t++, r.expr) : (r.type, null);
802
+ }
803
+ return { expr: n() };
804
+ }
805
+ var ye = 500;
806
+ function Ie() {
807
+ return {
808
+ readdirCalls: 0,
809
+ readdirTime: 0,
810
+ statCalls: 0,
811
+ statTime: 0,
812
+ evalCalls: 0,
813
+ evalTime: 0,
814
+ nodeCount: 0,
815
+ batchCount: 0,
816
+ batchTime: 0,
817
+ earlyPrunes: 0
818
+ };
819
+ }
820
+ function xe(e, t, n) {
821
+ e({
822
+ category: "find",
823
+ name: "summary",
824
+ durationMs: n,
825
+ details: {
826
+ readdirCalls: t.readdirCalls,
827
+ readdirTimeMs: t.readdirTime,
828
+ statCalls: t.statCalls,
829
+ statTimeMs: t.statTime,
830
+ evalCalls: t.evalCalls,
831
+ evalTimeMs: t.evalTime,
832
+ nodeCount: t.nodeCount,
833
+ batchCount: t.batchCount,
834
+ batchTimeMs: t.batchTime,
835
+ earlyPrunes: t.earlyPrunes,
836
+ otherTimeMs: n - t.readdirTime - t.statTime - t.evalTime - t.batchTime
837
+ }
838
+ });
839
+ }
840
+ var $e = {
841
+ name: "find",
842
+ summary: "search for files in a directory hierarchy",
843
+ usage: "find [path...] [expression]",
844
+ options: [
845
+ "-name PATTERN file name matches shell pattern PATTERN",
846
+ "-iname PATTERN like -name but case insensitive",
847
+ "-path PATTERN file path matches shell pattern PATTERN",
848
+ "-ipath PATTERN like -path but case insensitive",
849
+ "-regex PATTERN file path matches regular expression PATTERN",
850
+ "-iregex PATTERN like -regex but case insensitive",
851
+ "-type TYPE file is of type: f (regular file), d (directory)",
852
+ "-empty file is empty or directory is empty",
853
+ "-mtime N file's data was modified N*24 hours ago",
854
+ "-newer FILE file was modified more recently than FILE",
855
+ "-size N[ckMGb] file uses N units of space (c=bytes, k=KB, M=MB, G=GB, b=512B blocks)",
856
+ "-perm MODE file's permission bits are exactly MODE (octal)",
857
+ "-perm -MODE all permission bits MODE are set",
858
+ "-perm /MODE any permission bits MODE are set",
859
+ "-maxdepth LEVELS descend at most LEVELS directories",
860
+ "-mindepth LEVELS do not apply tests at levels less than LEVELS",
861
+ "-depth process directory contents before directory itself",
862
+ "-prune do not descend into this directory",
863
+ "-not, ! negate the following expression",
864
+ "-a, -and logical AND (default)",
865
+ "-o, -or logical OR",
866
+ "-exec CMD {} ; execute CMD on each file ({} is replaced by filename)",
867
+ "-exec CMD {} + execute CMD with multiple files at once",
868
+ "-print print the full file name (default action)",
869
+ "-print0 print the full file name followed by a null character",
870
+ "-printf FORMAT print FORMAT with directives: %f %h %p %P %s %d %m %M %t",
871
+ "-delete delete found files/directories",
872
+ " --help display this help and exit"
873
+ ]
874
+ }, Re = new Set([
875
+ "-name",
876
+ "-iname",
877
+ "-path",
878
+ "-ipath",
879
+ "-regex",
880
+ "-iregex",
881
+ "-type",
882
+ "-maxdepth",
883
+ "-mindepth",
884
+ "-mtime",
885
+ "-newer",
886
+ "-size",
887
+ "-perm"
888
+ ]), je = {
889
+ name: "find",
890
+ async execute(e, t) {
891
+ if (o(e)) return s($e);
892
+ let n = [], a = null, s$1 = null, o$1 = !1, i = !1;
893
+ for (let c = 0; c < e.length; c++) {
894
+ let f = e[c];
895
+ if (f === "-maxdepth" && c + 1 < e.length) i = !0, a = parseInt(e[++c], 10);
896
+ else if (f === "-mindepth" && c + 1 < e.length) i = !0, s$1 = parseInt(e[++c], 10);
897
+ else if (f === "-depth") i = !0, o$1 = !0;
898
+ else if (f === "-exec") for (i = !0, c++; c < e.length && e[c] !== ";" && e[c] !== "+";) c++;
899
+ else !f.startsWith("-") && f !== ";" && f !== "+" && f !== "(" && f !== ")" && f !== "\\(" && f !== "\\)" && f !== "!" ? i || n.push(f) : Re.has(f) ? (i = !0, c++) : (f.startsWith("-") || f === "(" || f === "\\(" || f === "!") && (i = !0);
900
+ }
901
+ n.length === 0 && n.push(".");
902
+ let { expr: r$2, error: p, actions: l } = me(e, 0);
903
+ if (p) return {
904
+ stdout: "",
905
+ stderr: p,
906
+ exitCode: 1
907
+ };
908
+ let d = l.some((c) => c.type === "print"), O = l.length === 0, x = [], ge = l.some((c) => c.type === "printf"), re = [], B = "", q = 0, we = he(r$2), U = /* @__PURE__ */ new Map();
909
+ for (let c of we) {
910
+ let f = t.fs.resolvePath(t.cwd, c);
911
+ try {
912
+ let u = await t.fs.stat(f);
913
+ U.set(c, u.mtime?.getTime() ?? Date.now());
914
+ } catch {}
915
+ }
916
+ let De = l.some((c) => {
917
+ if (c.type !== "printf") return !1;
918
+ let f = c.format.replace(/%%/g, "");
919
+ return /%[-+]?[0-9]*\.?[0-9]*(s|m|M|t|T)/.test(f);
920
+ }), Te = _(r$2) || De, Ce = j(r$2), K = ue(r$2), ae = V(r$2), Pe = J(r$2), Se = typeof t.fs.readdirWithFileTypes == "function";
921
+ for (let c of n) {
922
+ let G = function(h) {
923
+ let $ = s$1 === null || h.depth >= s$1, P = !1;
924
+ if ($ && r$2 !== null) {
925
+ let S = Date.now(), y;
926
+ if (Pe) y = L(r$2, h.name, h.relativePath, h.isFile, h.isDirectory);
927
+ else y = k(r$2, {
928
+ name: h.name,
929
+ relativePath: h.relativePath,
930
+ isFile: h.isFile,
931
+ isDirectory: h.isDirectory,
932
+ isEmpty: h.isEmpty,
933
+ mtime: h.stat?.mtime?.getTime() ?? Date.now(),
934
+ size: h.stat?.size ?? 0,
935
+ mode: h.stat?.mode ?? 420,
936
+ newerRefTimes: U
937
+ });
938
+ $ = y.matches, P = d ? y.printed : $, u.evalCalls++, u.evalTime += Date.now() - S;
939
+ } else $ && (P = !0);
940
+ return P ? {
941
+ print: !0,
942
+ printfData: ge ? {
943
+ path: h.relativePath,
944
+ name: h.name,
945
+ size: h.stat?.size ?? 0,
946
+ mtime: h.stat?.mtime?.getTime() ?? Date.now(),
947
+ mode: h.stat?.mode ?? 420,
948
+ isDirectory: h.isDirectory,
949
+ depth: h.depth,
950
+ startingPoint: c
951
+ } : null
952
+ } : {
953
+ print: !1,
954
+ printfData: null
955
+ };
956
+ };
957
+ c.length > 1 && c.endsWith("/") && (c = c.slice(0, -1));
958
+ let f = t.fs.resolvePath(t.cwd, c);
959
+ try {
960
+ await t.fs.stat(f);
961
+ } catch {
962
+ B += `find: ${c}: No such file or directory
963
+ `, q = 1;
964
+ continue;
965
+ }
966
+ let u = Ie(), M = Date.now();
967
+ async function N(h) {
968
+ let { path: b, depth: $, typeInfo: P } = h;
969
+ if (u.nodeCount++, $ > (a ?? 256)) return null;
970
+ let v, S, y;
971
+ if (P && !Te) v = P.isFile, S = P.isDirectory;
972
+ else {
973
+ try {
974
+ let A = Date.now();
975
+ y = await t.fs.stat(b), u.statCalls++, u.statTime += Date.now() - A;
976
+ } catch {
977
+ return null;
978
+ }
979
+ if (!y) return null;
980
+ v = y.isFile, S = y.isDirectory;
981
+ }
982
+ let m;
983
+ b === f ? m = c.split("/").pop() || c : m = b.split("/").pop() || "";
984
+ let g = b === f ? c : c === "." ? `./${b.slice(f === "/" ? f.length : f.length + 1)}` : c + b.slice(f.length), T = [], C = null, w = null, D = !1;
985
+ S && ae && !o$1 && (D = de(r$2, {
986
+ name: m,
987
+ relativePath: g,
988
+ isFile: v,
989
+ isDirectory: S
990
+ }).shouldPrune, D && u.earlyPrunes++);
991
+ let F = $ >= (a ?? 256), I = K.terminalDirName !== null && m === K.terminalDirName, Z = !F && !I && !D;
992
+ if (S && (Z || Ce || I) && !D) {
993
+ let A = Date.now();
994
+ if (Se && t.fs.readdirWithFileTypes) {
995
+ if (C = await t.fs.readdirWithFileTypes(b), w = C.map((E) => E.name), u.readdirCalls++, u.readdirTime += Date.now() - A, Z) T = C.map((E, R) => ({
996
+ path: b === "/" ? `/${E.name}` : `${b}/${E.name}`,
997
+ depth: $ + 1,
998
+ typeInfo: {
999
+ isFile: E.isFile,
1000
+ isDirectory: E.isDirectory
1001
+ },
1002
+ resultIndex: R
1003
+ }));
1004
+ else if (I) {
1005
+ let E = K.requiredExtension;
1006
+ T = C.filter((R) => R.isFile && (!E || R.name.endsWith(E))).map((R, ve) => ({
1007
+ path: b === "/" ? `/${R.name}` : `${b}/${R.name}`,
1008
+ depth: $ + 1,
1009
+ typeInfo: {
1010
+ isFile: R.isFile,
1011
+ isDirectory: R.isDirectory
1012
+ },
1013
+ resultIndex: ve
1014
+ }));
1015
+ }
1016
+ } else w = await t.fs.readdir(b), u.readdirCalls++, u.readdirTime += Date.now() - A, Z && (T = w.map((E, R) => ({
1017
+ path: b === "/" ? `/${E}` : `${b}/${E}`,
1018
+ depth: $ + 1,
1019
+ resultIndex: R
1020
+ })));
1021
+ }
1022
+ let Q = v ? (y?.size ?? 0) === 0 : w !== null && w.length === 0, H = D;
1023
+ if (!o$1 && r$2 !== null && !D && ae) {
1024
+ let A = Date.now();
1025
+ H = k(r$2, {
1026
+ name: m,
1027
+ relativePath: g,
1028
+ isFile: v,
1029
+ isDirectory: S,
1030
+ isEmpty: Q,
1031
+ mtime: y?.mtime?.getTime() ?? Date.now(),
1032
+ size: y?.size ?? 0,
1033
+ mode: y?.mode ?? 420,
1034
+ newerRefTimes: U
1035
+ }).pruned, u.evalCalls++, u.evalTime += Date.now() - A;
1036
+ }
1037
+ return {
1038
+ relativePath: g,
1039
+ name: m,
1040
+ isFile: v,
1041
+ isDirectory: S,
1042
+ isEmpty: Q,
1043
+ stat: y,
1044
+ depth: $,
1045
+ children: H ? [] : T,
1046
+ pruned: H
1047
+ };
1048
+ }
1049
+ async function be() {
1050
+ let h = {
1051
+ paths: [],
1052
+ printfData: []
1053
+ };
1054
+ if (o$1) {
1055
+ let y = function(m) {
1056
+ let g = {
1057
+ paths: [],
1058
+ printfData: []
1059
+ }, T = P[m];
1060
+ if (!T) return g;
1061
+ for (let D of T.childIndices) {
1062
+ let F = y(D);
1063
+ g.paths.push(...F.paths), g.printfData.push(...F.printfData);
1064
+ }
1065
+ let { print: C, printfData: w } = G(T.node);
1066
+ return C && (g.paths.push(T.node.relativePath), w && g.printfData.push(w)), g;
1067
+ };
1068
+ let P = [], v = [{
1069
+ item: {
1070
+ path: f,
1071
+ depth: 0,
1072
+ resultIndex: 0
1073
+ },
1074
+ parentIndex: -1,
1075
+ childOrderInParent: 0
1076
+ }], S = /* @__PURE__ */ new Map();
1077
+ for (; v.length > 0;) {
1078
+ let m = Date.now(), g = v.splice(0, ye), T = await Promise.all(g.map((C) => N(C.item)));
1079
+ u.batchCount++, u.batchTime += Date.now() - m;
1080
+ for (let C = 0; C < g.length; C++) {
1081
+ let w = T[C], D = g[C];
1082
+ if (!w) continue;
1083
+ let F = P.length;
1084
+ if (D.parentIndex >= 0) {
1085
+ let I = S.get(D.parentIndex) || [];
1086
+ I.push(F), S.set(D.parentIndex, I);
1087
+ }
1088
+ P.push({
1089
+ node: w,
1090
+ parentIndex: D.parentIndex,
1091
+ childIndices: []
1092
+ });
1093
+ for (let I = 0; I < w.children.length; I++) v.push({
1094
+ item: w.children[I],
1095
+ parentIndex: F,
1096
+ childOrderInParent: I
1097
+ });
1098
+ }
1099
+ }
1100
+ for (let [m, g] of S) m >= 0 && m < P.length && (P[m].childIndices = g);
1101
+ if (P.length > 0) {
1102
+ let m = y(0);
1103
+ h.paths.push(...m.paths), h.printfData.push(...m.printfData);
1104
+ }
1105
+ } else {
1106
+ let m = function(g) {
1107
+ let T = P.get(g);
1108
+ T && (h.paths.push(T.path), T.printfData && h.printfData.push(T.printfData));
1109
+ let C = y.get(g);
1110
+ if (C) for (let w of C) m(w);
1111
+ };
1112
+ let P = /* @__PURE__ */ new Map(), v = 0, S = [{
1113
+ item: {
1114
+ path: f,
1115
+ depth: 0,
1116
+ resultIndex: 0
1117
+ },
1118
+ orderIndex: v++
1119
+ }], y = /* @__PURE__ */ new Map();
1120
+ for (; S.length > 0;) {
1121
+ let g = Date.now(), T = S.splice(0, ye), C = await Promise.all(T.map(async ({ item: w, orderIndex: D }) => {
1122
+ let F = await N(w);
1123
+ return F ? {
1124
+ node: F,
1125
+ orderIndex: D
1126
+ } : null;
1127
+ }));
1128
+ u.batchCount++, u.batchTime += Date.now() - g;
1129
+ for (let w of C) {
1130
+ if (!w) continue;
1131
+ let { node: D, orderIndex: F } = w, { print: I, printfData: Z } = G(D);
1132
+ if (I && P.set(F, {
1133
+ path: D.relativePath,
1134
+ printfData: Z
1135
+ }), D.children.length > 0) {
1136
+ let ee = [];
1137
+ for (let Q of D.children) {
1138
+ let H = v++;
1139
+ ee.push(H), S.push({
1140
+ item: Q,
1141
+ orderIndex: H
1142
+ });
1143
+ }
1144
+ y.set(F, ee);
1145
+ }
1146
+ }
1147
+ }
1148
+ m(0);
1149
+ }
1150
+ return h;
1151
+ }
1152
+ let X = await be();
1153
+ if (x.push(...X.paths), re.push(...X.printfData), t.trace) {
1154
+ let h = Date.now() - M;
1155
+ xe(t.trace, u, h), t.trace({
1156
+ category: "find",
1157
+ name: "searchPath",
1158
+ durationMs: h,
1159
+ details: {
1160
+ path: c,
1161
+ resultsFound: X.paths.length
1162
+ }
1163
+ });
1164
+ }
1165
+ }
1166
+ let W = "";
1167
+ if (l.length > 0) for (let c of l) switch (c.type) {
1168
+ case "print":
1169
+ W += x.length > 0 ? `${x.join(`
1170
+ `)}
1171
+ ` : "";
1172
+ break;
1173
+ case "print0":
1174
+ W += x.length > 0 ? `${x.join("\0")}\0` : "";
1175
+ break;
1176
+ case "delete": {
1177
+ let f = [...x].sort((u, M) => M.length - u.length);
1178
+ for (let u of f) {
1179
+ let M = t.fs.resolvePath(t.cwd, u);
1180
+ try {
1181
+ await t.fs.rm(M, { recursive: !1 });
1182
+ } catch (N) {
1183
+ let G = N instanceof Error ? N.message : String(N);
1184
+ B += `find: cannot delete '${u}': ${G}
1185
+ `, q = 1;
1186
+ }
1187
+ }
1188
+ break;
1189
+ }
1190
+ case "printf":
1191
+ for (let f of re) W += ke(c.format, f);
1192
+ break;
1193
+ case "exec":
1194
+ if (!t.exec) return {
1195
+ stdout: "",
1196
+ stderr: `find: -exec not supported in this context
1197
+ `,
1198
+ exitCode: 1
1199
+ };
1200
+ if (c.batchMode) {
1201
+ let f = [];
1202
+ for (let M of c.command) M === "{}" ? f.push(...x) : f.push(M);
1203
+ let u = await t.exec(r([f[0]]), {
1204
+ cwd: t.cwd,
1205
+ signal: t.signal,
1206
+ args: f.slice(1)
1207
+ });
1208
+ W += u.stdout, B += u.stderr, u.exitCode !== 0 && (q = u.exitCode);
1209
+ } else for (let f of x) {
1210
+ let u = c.command.map((N) => N === "{}" ? f : N), M = await t.exec(r([u[0]]), {
1211
+ cwd: t.cwd,
1212
+ signal: t.signal,
1213
+ args: u.slice(1)
1214
+ });
1215
+ W += M.stdout, B += M.stderr, M.exitCode !== 0 && (q = M.exitCode);
1216
+ }
1217
+ break;
1218
+ }
1219
+ else O && (W = x.length > 0 ? `${x.join(`
1220
+ `)}
1221
+ ` : "");
1222
+ return {
1223
+ stdout: W,
1224
+ stderr: B,
1225
+ exitCode: q
1226
+ };
1227
+ }
1228
+ };
1229
+ function ke(e, t) {
1230
+ let n = r$1(e), a = "", s = 0;
1231
+ for (; s < n.length;) if (n[s] === "%" && s + 1 < n.length) {
1232
+ if (s++, n[s] === "%") {
1233
+ a += "%", s++;
1234
+ continue;
1235
+ }
1236
+ let [o, i$1, r] = h(n, s);
1237
+ if (s += r, s >= n.length) {
1238
+ a += "%";
1239
+ break;
1240
+ }
1241
+ let p = n[s], l;
1242
+ switch (p) {
1243
+ case "f":
1244
+ l = t.name, s++;
1245
+ break;
1246
+ case "h": {
1247
+ let d = t.path.lastIndexOf("/");
1248
+ l = d > 0 ? t.path.slice(0, d) : ".", s++;
1249
+ break;
1250
+ }
1251
+ case "p":
1252
+ l = t.path, s++;
1253
+ break;
1254
+ case "P": {
1255
+ let d = t.startingPoint;
1256
+ t.path === d ? l = "" : t.path.startsWith(`${d}/`) ? l = t.path.slice(d.length + 1) : d === "." && t.path.startsWith("./") ? l = t.path.slice(2) : l = t.path, s++;
1257
+ break;
1258
+ }
1259
+ case "s":
1260
+ l = String(t.size), s++;
1261
+ break;
1262
+ case "d":
1263
+ l = String(t.depth), s++;
1264
+ break;
1265
+ case "m":
1266
+ l = (t.mode & 511).toString(8), s++;
1267
+ break;
1268
+ case "M":
1269
+ l = x(t.mode, t.isDirectory), s++;
1270
+ break;
1271
+ case "t":
1272
+ l = Ne(new Date(t.mtime)), s++;
1273
+ break;
1274
+ case "T":
1275
+ if (s + 1 < n.length) {
1276
+ let d = n[s + 1];
1277
+ l = ze(new Date(t.mtime), d), s += 2;
1278
+ } else l = "%T", s++;
1279
+ break;
1280
+ default:
1281
+ a += `%${o !== 0 || i$1 !== -1 ? `${o}.${i$1}` : ""}${p}`, s++;
1282
+ continue;
1283
+ }
1284
+ a += i(l, o, i$1);
1285
+ } else a += n[s], s++;
1286
+ return a;
1287
+ }
1288
+ function Ne(e) {
1289
+ return `${[
1290
+ "Sun",
1291
+ "Mon",
1292
+ "Tue",
1293
+ "Wed",
1294
+ "Thu",
1295
+ "Fri",
1296
+ "Sat"
1297
+ ][e.getDay()]} ${[
1298
+ "Jan",
1299
+ "Feb",
1300
+ "Mar",
1301
+ "Apr",
1302
+ "May",
1303
+ "Jun",
1304
+ "Jul",
1305
+ "Aug",
1306
+ "Sep",
1307
+ "Oct",
1308
+ "Nov",
1309
+ "Dec"
1310
+ ][e.getMonth()]} ${String(e.getDate()).padStart(2, " ")} ${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}:${String(e.getSeconds()).padStart(2, "0")} ${e.getFullYear()}`;
1311
+ }
1312
+ function ze(e, t) {
1313
+ switch (t) {
1314
+ case "@": return String(e.getTime() / 1e3);
1315
+ case "Y": return String(e.getFullYear());
1316
+ case "m": return String(e.getMonth() + 1).padStart(2, "0");
1317
+ case "d": return String(e.getDate()).padStart(2, "0");
1318
+ case "H": return String(e.getHours()).padStart(2, "0");
1319
+ case "M": return String(e.getMinutes()).padStart(2, "0");
1320
+ case "S": return String(e.getSeconds()).padStart(2, "0");
1321
+ case "T": return `${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}:${String(e.getSeconds()).padStart(2, "0")}`;
1322
+ case "F": return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
1323
+ default: return `%T${t}`;
1324
+ }
1325
+ }
1326
+ //#endregion
1327
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/find-INTH3OLC.js
1328
+ createRequire(import.meta.url);
1329
+ //#endregion
1330
+ export { je as findCommand };
1331
+
1332
+ //# sourceMappingURL=find-INTH3OLC-6p47KeeT.mjs.map