@wo658/redpact 0.4.1 → 0.5.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 (1832) hide show
  1. package/dist/adapters/changes/projects.js +9 -6
  2. package/dist/adapters/storage/files.js +7 -1
  3. package/dist/adapters/storage/migrations.js +108 -0
  4. package/dist/app.js +1 -0
  5. package/dist/core/runtime-migrations.js +60 -0
  6. package/dist/core/types/runtime-migrations.js +1 -0
  7. package/dist/interfaces/http/docs/schemas.js +1 -0
  8. package/dist/interfaces/http/worktrees.js +46 -4
  9. package/dist/main.js +34 -8
  10. package/dist/mcp/app.html +2 -2
  11. package/dist/runtime-lock.yaml +200 -3
  12. package/dist/ui/assets/{abnfDiagram-O67JEVCF-EXZIR7uE.js → abnfDiagram-O67JEVCF-BiCoaTQf.js} +1 -1
  13. package/dist/ui/assets/{arc-DZ7IkhQL.js → arc-CxrXKzN8.js} +1 -1
  14. package/dist/ui/assets/architecture-7GRP2DOG-DzS62Mws.js +1 -0
  15. package/dist/ui/assets/{architectureDiagram-NJMV4G6O-oFZ4jPG2.js → architectureDiagram-NJMV4G6O-Ds10Nax8.js} +1 -1
  16. package/dist/ui/assets/{blockDiagram-BEXU5L5S-BBUTa13d.js → blockDiagram-BEXU5L5S-Dcwb-Nc2.js} +1 -1
  17. package/dist/ui/assets/{c4Diagram-YGBWAQC7-CrOB8ApR.js → c4Diagram-YGBWAQC7-HJ2BM4QS.js} +1 -1
  18. package/dist/ui/assets/channel-B7JCQNOt.js +1 -0
  19. package/dist/ui/assets/{chunk-3FUC2YCW-W4k2bur_.js → chunk-3FUC2YCW-CuqADqJd.js} +1 -1
  20. package/dist/ui/assets/{chunk-5DYCD2WN-DsvkZxf0.js → chunk-5DYCD2WN-b1GJEpV0.js} +1 -1
  21. package/dist/ui/assets/{chunk-742MDFTN-Q9c012fL.js → chunk-742MDFTN-DwTTnubN.js} +1 -1
  22. package/dist/ui/assets/{chunk-7INBJB4K-D6-5S_eb.js → chunk-7INBJB4K-ByUayPM9.js} +1 -1
  23. package/dist/ui/assets/{chunk-7M6MHVWA-BX-zqrmJ.js → chunk-7M6MHVWA-BzJnRALV.js} +1 -1
  24. package/dist/ui/assets/{chunk-7PRAP22T-D5sSirGe.js → chunk-7PRAP22T-CvUIEla0.js} +1 -1
  25. package/dist/ui/assets/{chunk-GTNCS2PH-BrjKdoU7.js → chunk-GTNCS2PH-BczyBknu.js} +1 -1
  26. package/dist/ui/assets/{chunk-GWA4HPMP-BzyuOibA.js → chunk-GWA4HPMP-nIcuf26U.js} +1 -1
  27. package/dist/ui/assets/{chunk-MBY4JIJT-Jg4QirYy.js → chunk-MBY4JIJT-CPIDP_2H.js} +1 -1
  28. package/dist/ui/assets/{chunk-NETBCI7D-Bo5sr5ak.js → chunk-NETBCI7D-JpQfB3bx.js} +1 -1
  29. package/dist/ui/assets/{chunk-O7XYJQB3-ADuOEPCt.js → chunk-O7XYJQB3-CC25iKdK.js} +1 -1
  30. package/dist/ui/assets/{chunk-UA2S7LBM-BWLbUYDY.js → chunk-UA2S7LBM-nOnMeXlB.js} +1 -1
  31. package/dist/ui/assets/{chunk-WEXAMYUT-BfdLD4oE.js → chunk-WEXAMYUT-Cb5Q6TBg.js} +1 -1
  32. package/dist/ui/assets/{chunk-XXDRQBXY-CEdjCwp8.js → chunk-XXDRQBXY-BR_j9H82.js} +1 -1
  33. package/dist/ui/assets/{chunk-Z7XXMR3K-ooKdHdRU.js → chunk-Z7XXMR3K-Br0zWe3T.js} +1 -1
  34. package/dist/ui/assets/{chunk-ZIGJFQKS-u0lffPbH.js → chunk-ZIGJFQKS-CawGFIJO.js} +1 -1
  35. package/dist/ui/assets/{classDiagram-v2-NBCMYWYE-kQl6D-HR.js → classDiagram-v2-NBCMYWYE-NKNUahqj.js} +1 -1
  36. package/dist/ui/assets/{cose-bilkent-JH36ORCC-DFDknAe8.js → cose-bilkent-JH36ORCC-Y-4g3CTm.js} +1 -1
  37. package/dist/ui/assets/{cynefin-OW5HDTMX-D4vNepxD.js → cynefin-OW5HDTMX-Chevf1KQ.js} +1 -1
  38. package/dist/ui/assets/{cynefinDiagram-VND7K2PF-BFJ8dEz7.js → cynefinDiagram-VND7K2PF-CixOvfUu.js} +1 -1
  39. package/dist/ui/assets/{dagre-6A5THRUB-CedM101q.js → dagre-6A5THRUB-BIi9RwPd.js} +1 -1
  40. package/dist/ui/assets/{diagram-22UHCM2B-Drvoaqhq.js → diagram-22UHCM2B-7GYKgpWA.js} +1 -1
  41. package/dist/ui/assets/{diagram-3UASUU5V-BqSEx6TG.js → diagram-3UASUU5V-lDVeRm5S.js} +1 -1
  42. package/dist/ui/assets/{diagram-ATOU4E4O-SZKgc7Zh.js → diagram-ATOU4E4O-BbeHNWgT.js} +1 -1
  43. package/dist/ui/assets/{diagram-CDSNMT55-Dt8thVhY.js → diagram-CDSNMT55-DEPkOKCq.js} +1 -1
  44. package/dist/ui/assets/{diagram-MLGK6HIB-CWFs_OOW.js → diagram-MLGK6HIB-BOhVXMr1.js} +1 -1
  45. package/dist/ui/assets/{diagram-MPIPVDR6-Cwm3bA8U.js → diagram-MPIPVDR6-B1zhvHtS.js} +1 -1
  46. package/dist/ui/assets/{dist-B7TllD9l.js → dist-Y9mhSTs4.js} +1 -1
  47. package/dist/ui/assets/{ebnfDiagram-ZINNZB2B-D6kGEe9D.js → ebnfDiagram-ZINNZB2B-DkBkKcsD.js} +1 -1
  48. package/dist/ui/assets/{elk-276RUBZZ-wW1KTjEC.js → elk-276RUBZZ-D-FlTgY6.js} +1 -1
  49. package/dist/ui/assets/{erDiagram-OPXOYQCR-vfhl3sOr.js → erDiagram-OPXOYQCR--6wxlspu.js} +1 -1
  50. package/dist/ui/assets/eventmodeling-NTZA5JFV-Cyxnh7Fo.js +1 -0
  51. package/dist/ui/assets/flowDiagram-KWPJA3E3-DlO_dsqu.js +1 -0
  52. package/dist/ui/assets/{ganttDiagram-FUAMR5RP-BZbSmUfV.js → ganttDiagram-FUAMR5RP-D9hU2YEJ.js} +1 -1
  53. package/dist/ui/assets/{gitGraph-4MIJSDKK-D59WREq2.js → gitGraph-4MIJSDKK-DcM8C44E.js} +1 -1
  54. package/dist/ui/assets/{gitGraphDiagram-X574FWY7-CEWcL54p.js → gitGraphDiagram-X574FWY7-BpyLWtlE.js} +1 -1
  55. package/dist/ui/assets/{index-Bv8TXM17.js → index-C6BQea5D.js} +39 -39
  56. package/dist/ui/assets/index-wV1j-lxy.css +2 -0
  57. package/dist/ui/assets/{info-A6RAGUB7-CCjOD-hV.js → info-A6RAGUB7-kmvTF9rq.js} +1 -1
  58. package/dist/ui/assets/{infoDiagram-VRGFBTTK-LS-F_-al.js → infoDiagram-VRGFBTTK-C4j1703E.js} +1 -1
  59. package/dist/ui/assets/{ishikawaDiagram-OU5B5YK6-D0NTg-LK.js → ishikawaDiagram-OU5B5YK6-CKT-7Yqr.js} +1 -1
  60. package/dist/ui/assets/{journeyDiagram-ZHPQQLJL-Dw4e6Wl7.js → journeyDiagram-ZHPQQLJL--1ABIaof.js} +1 -1
  61. package/dist/ui/assets/{kanban-definition-PNTS6WVX-k5spTfT7.js → kanban-definition-PNTS6WVX-HRsNQdJi.js} +1 -1
  62. package/dist/ui/assets/{line-BFO0LY2j.js → line-BNnBYEq7.js} +1 -1
  63. package/dist/ui/assets/{linear-Cs_Nmu23.js → linear-Dg21fXMn.js} +1 -1
  64. package/dist/ui/assets/{mermaid-parser.core-CMSpXjeX.js → mermaid-parser.core-51-5cp-f.js} +3 -3
  65. package/dist/ui/assets/{mermaid.core-BBeLf7h3.js → mermaid.core-Bh6yYw1O.js} +4 -4
  66. package/dist/ui/assets/{mindmap-definition-NLK3R4M7-BmsEfsvR.js → mindmap-definition-NLK3R4M7-KvbA5EXr.js} +1 -1
  67. package/dist/ui/assets/{packet-AYTQ26CC-Cv3YK0Ee.js → packet-AYTQ26CC-DjdXSHI4.js} +1 -1
  68. package/dist/ui/assets/{pegDiagram-GJSIUBJH-31oI4OLR.js → pegDiagram-GJSIUBJH-C8FSYsRP.js} +1 -1
  69. package/dist/ui/assets/{pie-WAS4IAKB-bdwe8hf8.js → pie-WAS4IAKB-C46SWflT.js} +1 -1
  70. package/dist/ui/assets/{pieDiagram-5QR66LMP-TTKdYDzT.js → pieDiagram-5QR66LMP-DcpJ7J7i.js} +1 -1
  71. package/dist/ui/assets/{quadrantDiagram-O4NWA36T-DxVQLgKu.js → quadrantDiagram-O4NWA36T-CI7l8g1A.js} +1 -1
  72. package/dist/ui/assets/{radar-RG4KPBEZ-giEqBoGT.js → radar-RG4KPBEZ-PjPzXWz1.js} +1 -1
  73. package/dist/ui/assets/{railroad-74A4TZTK-D-K0dGi8.js → railroad-74A4TZTK-5pPV-Bvc.js} +1 -1
  74. package/dist/ui/assets/railroad-abnf-HS5TGJTU-CDH0BmAo.js +1 -0
  75. package/dist/ui/assets/railroad-ebnf-LZEXJU2U-DK1lYHjb.js +1 -0
  76. package/dist/ui/assets/railroad-peg-WCYAUIDC-K3xlbKcQ.js +1 -0
  77. package/dist/ui/assets/{railroadDiagram-XR7U4H2S-DrB5UCmO.js → railroadDiagram-XR7U4H2S-CIexvrBP.js} +1 -1
  78. package/dist/ui/assets/{requirementDiagram-PLB6GJNP-BQyLWXsL.js → requirementDiagram-PLB6GJNP-Bv8jD81I.js} +1 -1
  79. package/dist/ui/assets/{sankeyDiagram-IPEJSGJF-De5TIeaU.js → sankeyDiagram-IPEJSGJF-CQ9lxjuX.js} +1 -1
  80. package/dist/ui/assets/{sequenceDiagram-PO4LG4MO-DUtE2LLg.js → sequenceDiagram-PO4LG4MO-yp4qzDdM.js} +1 -1
  81. package/dist/ui/assets/{src-DwTKHdVd.js → src-DF6fzdKB.js} +1 -1
  82. package/dist/ui/assets/{stateDiagram-v2-GCMORJYK-CVT5Ge16.js → stateDiagram-v2-GCMORJYK-DHWaTU4b.js} +1 -1
  83. package/dist/ui/assets/{swimlanes-2SLR337P-Cu-5s066.js → swimlanes-2SLR337P-BfUiEMri.js} +1 -1
  84. package/dist/ui/assets/swimlanesDiagram-TC7HE7FX-BVGQ6M2p.js +8 -0
  85. package/dist/ui/assets/{timeline-definition-EJHVYXUP-CJ8w-7KC.js → timeline-definition-EJHVYXUP-Cj3SdHoX.js} +1 -1
  86. package/dist/ui/assets/{treeView-Q6P3EWNA-D1S3DvGP.js → treeView-Q6P3EWNA-DmyaZDs_.js} +1 -1
  87. package/dist/ui/assets/{treemap-WGGIJYW6-DblW82Ly.js → treemap-WGGIJYW6-Cy3z00JO.js} +1 -1
  88. package/dist/ui/assets/{usecaseDiagram-POWQR4AR-D8BYMSlq.js → usecaseDiagram-POWQR4AR-BHAy9inW.js} +1 -1
  89. package/dist/ui/assets/{vennDiagram-UO4OBE2U-CosmdYh9.js → vennDiagram-UO4OBE2U-GHEFwE_2.js} +1 -1
  90. package/dist/ui/assets/{wardley-WFR3VGLG-D9U9ulTn.js → wardley-WFR3VGLG-CjNcKpKj.js} +1 -1
  91. package/dist/ui/assets/{wardleyDiagram-VNRHLVJA-CgtqeFIO.js → wardleyDiagram-VNRHLVJA-shbe21uu.js} +1 -1
  92. package/dist/ui/assets/{xychartDiagram-PMCCYNJV-DR25rR7D.js → xychartDiagram-PMCCYNJV-CHbAVh2z.js} +1 -1
  93. package/dist/ui/index.html +2 -2
  94. package/dist/workflows/merge.js +17 -1
  95. package/dist/workflows/observe-projects.js +3 -0
  96. package/dist/workflows/project-graph.js +7 -0
  97. package/dist/workflows/pull-requests.js +30 -17
  98. package/dist/workflows/runtime-migrations.js +72 -0
  99. package/dist/workflows/start-work.js +3 -0
  100. package/dist/workflows/test-container.js +1 -0
  101. package/dist/workflows/unit-tests.js +5 -0
  102. package/dist/workflows/worktrees.js +91 -8
  103. package/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
  104. package/node_modules/@nodelib/fs.scandir/README.md +171 -0
  105. package/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
  106. package/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
  107. package/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
  108. package/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
  109. package/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
  110. package/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
  111. package/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
  112. package/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
  113. package/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
  114. package/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
  115. package/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
  116. package/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
  117. package/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
  118. package/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
  119. package/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
  120. package/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
  121. package/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
  122. package/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
  123. package/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
  124. package/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
  125. package/node_modules/@nodelib/fs.scandir/package.json +44 -0
  126. package/node_modules/@nodelib/fs.stat/LICENSE +21 -0
  127. package/node_modules/@nodelib/fs.stat/README.md +126 -0
  128. package/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
  129. package/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
  130. package/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
  131. package/node_modules/@nodelib/fs.stat/out/index.js +26 -0
  132. package/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
  133. package/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
  134. package/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
  135. package/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
  136. package/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
  137. package/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
  138. package/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
  139. package/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
  140. package/node_modules/@nodelib/fs.stat/package.json +37 -0
  141. package/node_modules/@nodelib/fs.walk/LICENSE +21 -0
  142. package/node_modules/@nodelib/fs.walk/README.md +215 -0
  143. package/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
  144. package/node_modules/@nodelib/fs.walk/out/index.js +34 -0
  145. package/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
  146. package/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
  147. package/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
  148. package/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
  149. package/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
  150. package/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
  151. package/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
  152. package/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
  153. package/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
  154. package/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
  155. package/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
  156. package/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
  157. package/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
  158. package/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
  159. package/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
  160. package/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
  161. package/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
  162. package/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
  163. package/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
  164. package/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
  165. package/node_modules/@nodelib/fs.walk/package.json +44 -0
  166. package/node_modules/@rushstack/node-core-library/CHANGELOG.json +3087 -0
  167. package/node_modules/@rushstack/node-core-library/CHANGELOG.md +1710 -0
  168. package/node_modules/@rushstack/node-core-library/LICENSE +24 -0
  169. package/node_modules/@rushstack/node-core-library/README.md +38 -0
  170. package/node_modules/@rushstack/node-core-library/dist/node-core-library.d.ts +4005 -0
  171. package/node_modules/@rushstack/node-core-library/dist/tsdoc-metadata.json +11 -0
  172. package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.d.ts +36 -0
  173. package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.d.ts.map +1 -0
  174. package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.js +54 -0
  175. package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.js.map +1 -0
  176. package/node_modules/@rushstack/node-core-library/lib/Async.d.ts +200 -0
  177. package/node_modules/@rushstack/node-core-library/lib/Async.d.ts.map +1 -0
  178. package/node_modules/@rushstack/node-core-library/lib/Async.js +236 -0
  179. package/node_modules/@rushstack/node-core-library/lib/Async.js.map +1 -0
  180. package/node_modules/@rushstack/node-core-library/lib/Constants.d.ts +27 -0
  181. package/node_modules/@rushstack/node-core-library/lib/Constants.d.ts.map +1 -0
  182. package/node_modules/@rushstack/node-core-library/lib/Constants.js +34 -0
  183. package/node_modules/@rushstack/node-core-library/lib/Constants.js.map +1 -0
  184. package/node_modules/@rushstack/node-core-library/lib/Enum.d.ts +120 -0
  185. package/node_modules/@rushstack/node-core-library/lib/Enum.d.ts.map +1 -0
  186. package/node_modules/@rushstack/node-core-library/lib/Enum.js +136 -0
  187. package/node_modules/@rushstack/node-core-library/lib/Enum.js.map +1 -0
  188. package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.d.ts +72 -0
  189. package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.d.ts.map +1 -0
  190. package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.js +108 -0
  191. package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.js.map +1 -0
  192. package/node_modules/@rushstack/node-core-library/lib/Executable.d.ts +349 -0
  193. package/node_modules/@rushstack/node-core-library/lib/Executable.d.ts.map +1 -0
  194. package/node_modules/@rushstack/node-core-library/lib/Executable.js +698 -0
  195. package/node_modules/@rushstack/node-core-library/lib/Executable.js.map +1 -0
  196. package/node_modules/@rushstack/node-core-library/lib/FileError.d.ts +81 -0
  197. package/node_modules/@rushstack/node-core-library/lib/FileError.d.ts.map +1 -0
  198. package/node_modules/@rushstack/node-core-library/lib/FileError.js +113 -0
  199. package/node_modules/@rushstack/node-core-library/lib/FileError.js.map +1 -0
  200. package/node_modules/@rushstack/node-core-library/lib/FileSystem.d.ts +687 -0
  201. package/node_modules/@rushstack/node-core-library/lib/FileSystem.d.ts.map +1 -0
  202. package/node_modules/@rushstack/node-core-library/lib/FileSystem.js +1201 -0
  203. package/node_modules/@rushstack/node-core-library/lib/FileSystem.js.map +1 -0
  204. package/node_modules/@rushstack/node-core-library/lib/FileWriter.d.ts +67 -0
  205. package/node_modules/@rushstack/node-core-library/lib/FileWriter.d.ts.map +1 -0
  206. package/node_modules/@rushstack/node-core-library/lib/FileWriter.js +73 -0
  207. package/node_modules/@rushstack/node-core-library/lib/FileWriter.js.map +1 -0
  208. package/node_modules/@rushstack/node-core-library/lib/IPackageJson.d.ts +295 -0
  209. package/node_modules/@rushstack/node-core-library/lib/IPackageJson.d.ts.map +1 -0
  210. package/node_modules/@rushstack/node-core-library/lib/IPackageJson.js +5 -0
  211. package/node_modules/@rushstack/node-core-library/lib/IPackageJson.js.map +1 -0
  212. package/node_modules/@rushstack/node-core-library/lib/Import.d.ts +255 -0
  213. package/node_modules/@rushstack/node-core-library/lib/Import.d.ts.map +1 -0
  214. package/node_modules/@rushstack/node-core-library/lib/Import.js +390 -0
  215. package/node_modules/@rushstack/node-core-library/lib/Import.js.map +1 -0
  216. package/node_modules/@rushstack/node-core-library/lib/InternalError.d.ts +36 -0
  217. package/node_modules/@rushstack/node-core-library/lib/InternalError.d.ts.map +1 -0
  218. package/node_modules/@rushstack/node-core-library/lib/InternalError.js +55 -0
  219. package/node_modules/@rushstack/node-core-library/lib/InternalError.js.map +1 -0
  220. package/node_modules/@rushstack/node-core-library/lib/JsonFile.d.ts +252 -0
  221. package/node_modules/@rushstack/node-core-library/lib/JsonFile.d.ts.map +1 -0
  222. package/node_modules/@rushstack/node-core-library/lib/JsonFile.js +438 -0
  223. package/node_modules/@rushstack/node-core-library/lib/JsonFile.js.map +1 -0
  224. package/node_modules/@rushstack/node-core-library/lib/JsonSchema.d.ts +172 -0
  225. package/node_modules/@rushstack/node-core-library/lib/JsonSchema.d.ts.map +1 -0
  226. package/node_modules/@rushstack/node-core-library/lib/JsonSchema.js +287 -0
  227. package/node_modules/@rushstack/node-core-library/lib/JsonSchema.js.map +1 -0
  228. package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.d.ts +24 -0
  229. package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.d.ts.map +1 -0
  230. package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.js +62 -0
  231. package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.js.map +1 -0
  232. package/node_modules/@rushstack/node-core-library/lib/LockFile.d.ts +94 -0
  233. package/node_modules/@rushstack/node-core-library/lib/LockFile.d.ts.map +1 -0
  234. package/node_modules/@rushstack/node-core-library/lib/LockFile.js +462 -0
  235. package/node_modules/@rushstack/node-core-library/lib/LockFile.js.map +1 -0
  236. package/node_modules/@rushstack/node-core-library/lib/MapExtensions.d.ts +26 -0
  237. package/node_modules/@rushstack/node-core-library/lib/MapExtensions.d.ts.map +1 -0
  238. package/node_modules/@rushstack/node-core-library/lib/MapExtensions.js +40 -0
  239. package/node_modules/@rushstack/node-core-library/lib/MapExtensions.js.map +1 -0
  240. package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.d.ts +39 -0
  241. package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.d.ts.map +1 -0
  242. package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.js +99 -0
  243. package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.js.map +1 -0
  244. package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.d.ts +142 -0
  245. package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.d.ts.map +1 -0
  246. package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.js +338 -0
  247. package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.js.map +1 -0
  248. package/node_modules/@rushstack/node-core-library/lib/PackageName.d.ts +142 -0
  249. package/node_modules/@rushstack/node-core-library/lib/PackageName.d.ts.map +1 -0
  250. package/node_modules/@rushstack/node-core-library/lib/PackageName.js +213 -0
  251. package/node_modules/@rushstack/node-core-library/lib/PackageName.js.map +1 -0
  252. package/node_modules/@rushstack/node-core-library/lib/Path.d.ts +155 -0
  253. package/node_modules/@rushstack/node-core-library/lib/Path.d.ts.map +1 -0
  254. package/node_modules/@rushstack/node-core-library/lib/Path.js +224 -0
  255. package/node_modules/@rushstack/node-core-library/lib/Path.js.map +1 -0
  256. package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.d.ts +73 -0
  257. package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.d.ts.map +1 -0
  258. package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.js +83 -0
  259. package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.js.map +1 -0
  260. package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.d.ts +41 -0
  261. package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.d.ts.map +1 -0
  262. package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.js +5 -0
  263. package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.js.map +1 -0
  264. package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.d.ts +83 -0
  265. package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.d.ts.map +1 -0
  266. package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.js +90 -0
  267. package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.js.map +1 -0
  268. package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.d.ts +20 -0
  269. package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.d.ts.map +1 -0
  270. package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.js +56 -0
  271. package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.js.map +1 -0
  272. package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.d.ts +58 -0
  273. package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.d.ts.map +1 -0
  274. package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.js +177 -0
  275. package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.js.map +1 -0
  276. package/node_modules/@rushstack/node-core-library/lib/Sort.d.ts +114 -0
  277. package/node_modules/@rushstack/node-core-library/lib/Sort.d.ts.map +1 -0
  278. package/node_modules/@rushstack/node-core-library/lib/Sort.js +266 -0
  279. package/node_modules/@rushstack/node-core-library/lib/Sort.js.map +1 -0
  280. package/node_modules/@rushstack/node-core-library/lib/StringBuilder.d.ts +46 -0
  281. package/node_modules/@rushstack/node-core-library/lib/StringBuilder.d.ts.map +1 -0
  282. package/node_modules/@rushstack/node-core-library/lib/StringBuilder.js +41 -0
  283. package/node_modules/@rushstack/node-core-library/lib/StringBuilder.js.map +1 -0
  284. package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.d.ts +64 -0
  285. package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.d.ts.map +1 -0
  286. package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.js +190 -0
  287. package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.js.map +1 -0
  288. package/node_modules/@rushstack/node-core-library/lib/Text.d.ts +141 -0
  289. package/node_modules/@rushstack/node-core-library/lib/Text.d.ts.map +1 -0
  290. package/node_modules/@rushstack/node-core-library/lib/Text.js +310 -0
  291. package/node_modules/@rushstack/node-core-library/lib/Text.js.map +1 -0
  292. package/node_modules/@rushstack/node-core-library/lib/TypeUuid.d.ts +48 -0
  293. package/node_modules/@rushstack/node-core-library/lib/TypeUuid.d.ts.map +1 -0
  294. package/node_modules/@rushstack/node-core-library/lib/TypeUuid.js +87 -0
  295. package/node_modules/@rushstack/node-core-library/lib/TypeUuid.js.map +1 -0
  296. package/node_modules/@rushstack/node-core-library/lib/index.d.ts +37 -0
  297. package/node_modules/@rushstack/node-core-library/lib/index.d.ts.map +1 -0
  298. package/node_modules/@rushstack/node-core-library/lib/index.js +75 -0
  299. package/node_modules/@rushstack/node-core-library/lib/index.js.map +1 -0
  300. package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/LICENSE +15 -0
  301. package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/README.md +166 -0
  302. package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/index.js +334 -0
  303. package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/package.json +34 -0
  304. package/node_modules/@rushstack/node-core-library/node_modules/semver/LICENSE +15 -0
  305. package/node_modules/@rushstack/node-core-library/node_modules/semver/README.md +637 -0
  306. package/node_modules/@rushstack/node-core-library/node_modules/semver/bin/semver.js +197 -0
  307. package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/comparator.js +141 -0
  308. package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/index.js +5 -0
  309. package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/range.js +539 -0
  310. package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/semver.js +302 -0
  311. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/clean.js +6 -0
  312. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/cmp.js +52 -0
  313. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/coerce.js +52 -0
  314. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare-build.js +7 -0
  315. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare-loose.js +3 -0
  316. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare.js +5 -0
  317. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/diff.js +65 -0
  318. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/eq.js +3 -0
  319. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/gt.js +3 -0
  320. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/gte.js +3 -0
  321. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/inc.js +19 -0
  322. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/lt.js +3 -0
  323. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/lte.js +3 -0
  324. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/major.js +3 -0
  325. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/minor.js +3 -0
  326. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/neq.js +3 -0
  327. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/parse.js +16 -0
  328. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/patch.js +3 -0
  329. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/prerelease.js +6 -0
  330. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/rcompare.js +3 -0
  331. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/rsort.js +3 -0
  332. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/satisfies.js +10 -0
  333. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/sort.js +3 -0
  334. package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/valid.js +6 -0
  335. package/node_modules/@rushstack/node-core-library/node_modules/semver/index.js +89 -0
  336. package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/constants.js +35 -0
  337. package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/debug.js +9 -0
  338. package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/identifiers.js +23 -0
  339. package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/parse-options.js +15 -0
  340. package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/re.js +212 -0
  341. package/node_modules/@rushstack/node-core-library/node_modules/semver/package.json +87 -0
  342. package/node_modules/@rushstack/node-core-library/node_modules/semver/preload.js +2 -0
  343. package/node_modules/@rushstack/node-core-library/node_modules/semver/range.bnf +16 -0
  344. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/gtr.js +4 -0
  345. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/intersects.js +7 -0
  346. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/ltr.js +4 -0
  347. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/max-satisfying.js +25 -0
  348. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/min-satisfying.js +24 -0
  349. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/min-version.js +61 -0
  350. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/outside.js +80 -0
  351. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/simplify.js +47 -0
  352. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/subset.js +247 -0
  353. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/to-comparators.js +8 -0
  354. package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/valid.js +11 -0
  355. package/node_modules/@rushstack/node-core-library/package.json +47 -0
  356. package/node_modules/@rushstack/terminal/CHANGELOG.json +5021 -0
  357. package/node_modules/@rushstack/terminal/CHANGELOG.md +1661 -0
  358. package/node_modules/@rushstack/terminal/LICENSE +24 -0
  359. package/node_modules/@rushstack/terminal/README.md +53 -0
  360. package/node_modules/@rushstack/terminal/dist/terminal.d.ts +1304 -0
  361. package/node_modules/@rushstack/terminal/dist/tsdoc-metadata.json +11 -0
  362. package/node_modules/@rushstack/terminal/lib/AnsiEscape.d.ts +35 -0
  363. package/node_modules/@rushstack/terminal/lib/AnsiEscape.d.ts.map +1 -0
  364. package/node_modules/@rushstack/terminal/lib/AnsiEscape.js +136 -0
  365. package/node_modules/@rushstack/terminal/lib/AnsiEscape.js.map +1 -0
  366. package/node_modules/@rushstack/terminal/lib/CallbackWritable.d.ts +29 -0
  367. package/node_modules/@rushstack/terminal/lib/CallbackWritable.d.ts.map +1 -0
  368. package/node_modules/@rushstack/terminal/lib/CallbackWritable.js +31 -0
  369. package/node_modules/@rushstack/terminal/lib/CallbackWritable.js.map +1 -0
  370. package/node_modules/@rushstack/terminal/lib/Colorize.d.ts +81 -0
  371. package/node_modules/@rushstack/terminal/lib/Colorize.d.ts.map +1 -0
  372. package/node_modules/@rushstack/terminal/lib/Colorize.js +162 -0
  373. package/node_modules/@rushstack/terminal/lib/Colorize.js.map +1 -0
  374. package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.d.ts +49 -0
  375. package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.d.ts.map +1 -0
  376. package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.js +65 -0
  377. package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.js.map +1 -0
  378. package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.d.ts +55 -0
  379. package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.d.ts.map +1 -0
  380. package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.js +94 -0
  381. package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.js.map +1 -0
  382. package/node_modules/@rushstack/terminal/lib/ITerminal.d.ts +81 -0
  383. package/node_modules/@rushstack/terminal/lib/ITerminal.d.ts.map +1 -0
  384. package/node_modules/@rushstack/terminal/lib/ITerminal.js +5 -0
  385. package/node_modules/@rushstack/terminal/lib/ITerminal.js.map +1 -0
  386. package/node_modules/@rushstack/terminal/lib/ITerminalChunk.d.ts +45 -0
  387. package/node_modules/@rushstack/terminal/lib/ITerminalChunk.d.ts.map +1 -0
  388. package/node_modules/@rushstack/terminal/lib/ITerminalChunk.js +21 -0
  389. package/node_modules/@rushstack/terminal/lib/ITerminalChunk.js.map +1 -0
  390. package/node_modules/@rushstack/terminal/lib/ITerminalProvider.d.ts +54 -0
  391. package/node_modules/@rushstack/terminal/lib/ITerminalProvider.d.ts.map +1 -0
  392. package/node_modules/@rushstack/terminal/lib/ITerminalProvider.js +32 -0
  393. package/node_modules/@rushstack/terminal/lib/ITerminalProvider.js.map +1 -0
  394. package/node_modules/@rushstack/terminal/lib/MockWritable.d.ts +15 -0
  395. package/node_modules/@rushstack/terminal/lib/MockWritable.d.ts.map +1 -0
  396. package/node_modules/@rushstack/terminal/lib/MockWritable.js +32 -0
  397. package/node_modules/@rushstack/terminal/lib/MockWritable.js.map +1 -0
  398. package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.d.ts +23 -0
  399. package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.d.ts.map +1 -0
  400. package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.js +34 -0
  401. package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.js.map +1 -0
  402. package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.d.ts +43 -0
  403. package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.d.ts.map +1 -0
  404. package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.js +70 -0
  405. package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.js.map +1 -0
  406. package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.d.ts +57 -0
  407. package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.d.ts.map +1 -0
  408. package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.js +64 -0
  409. package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.js.map +1 -0
  410. package/node_modules/@rushstack/terminal/lib/PrintUtilities.d.ts +77 -0
  411. package/node_modules/@rushstack/terminal/lib/PrintUtilities.d.ts.map +1 -0
  412. package/node_modules/@rushstack/terminal/lib/PrintUtilities.js +150 -0
  413. package/node_modules/@rushstack/terminal/lib/PrintUtilities.js.map +1 -0
  414. package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.d.ts +17 -0
  415. package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.d.ts.map +1 -0
  416. package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.js +95 -0
  417. package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.js.map +1 -0
  418. package/node_modules/@rushstack/terminal/lib/SplitterTransform.d.ts +32 -0
  419. package/node_modules/@rushstack/terminal/lib/SplitterTransform.d.ts.map +1 -0
  420. package/node_modules/@rushstack/terminal/lib/SplitterTransform.js +48 -0
  421. package/node_modules/@rushstack/terminal/lib/SplitterTransform.js.map +1 -0
  422. package/node_modules/@rushstack/terminal/lib/StdioLineTransform.d.ts +72 -0
  423. package/node_modules/@rushstack/terminal/lib/StdioLineTransform.d.ts.map +1 -0
  424. package/node_modules/@rushstack/terminal/lib/StdioLineTransform.js +115 -0
  425. package/node_modules/@rushstack/terminal/lib/StdioLineTransform.js.map +1 -0
  426. package/node_modules/@rushstack/terminal/lib/StdioSummarizer.d.ts +63 -0
  427. package/node_modules/@rushstack/terminal/lib/StdioSummarizer.d.ts.map +1 -0
  428. package/node_modules/@rushstack/terminal/lib/StdioSummarizer.js +99 -0
  429. package/node_modules/@rushstack/terminal/lib/StdioSummarizer.js.map +1 -0
  430. package/node_modules/@rushstack/terminal/lib/StdioWritable.d.ts +17 -0
  431. package/node_modules/@rushstack/terminal/lib/StdioWritable.d.ts.map +1 -0
  432. package/node_modules/@rushstack/terminal/lib/StdioWritable.js +34 -0
  433. package/node_modules/@rushstack/terminal/lib/StdioWritable.js.map +1 -0
  434. package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.d.ts +67 -0
  435. package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.d.ts.map +1 -0
  436. package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.js +113 -0
  437. package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.js.map +1 -0
  438. package/node_modules/@rushstack/terminal/lib/Terminal.d.ts +63 -0
  439. package/node_modules/@rushstack/terminal/lib/Terminal.d.ts.map +1 -0
  440. package/node_modules/@rushstack/terminal/lib/Terminal.js +348 -0
  441. package/node_modules/@rushstack/terminal/lib/Terminal.js.map +1 -0
  442. package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.d.ts +33 -0
  443. package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.d.ts.map +1 -0
  444. package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.js +53 -0
  445. package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.js.map +1 -0
  446. package/node_modules/@rushstack/terminal/lib/TerminalTransform.d.ts +68 -0
  447. package/node_modules/@rushstack/terminal/lib/TerminalTransform.d.ts.map +1 -0
  448. package/node_modules/@rushstack/terminal/lib/TerminalTransform.js +57 -0
  449. package/node_modules/@rushstack/terminal/lib/TerminalTransform.js.map +1 -0
  450. package/node_modules/@rushstack/terminal/lib/TerminalWritable.d.ts +125 -0
  451. package/node_modules/@rushstack/terminal/lib/TerminalWritable.d.ts.map +1 -0
  452. package/node_modules/@rushstack/terminal/lib/TerminalWritable.js +123 -0
  453. package/node_modules/@rushstack/terminal/lib/TerminalWritable.js.map +1 -0
  454. package/node_modules/@rushstack/terminal/lib/TextRewriter.d.ts +70 -0
  455. package/node_modules/@rushstack/terminal/lib/TextRewriter.d.ts.map +1 -0
  456. package/node_modules/@rushstack/terminal/lib/TextRewriter.js +39 -0
  457. package/node_modules/@rushstack/terminal/lib/TextRewriter.js.map +1 -0
  458. package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.d.ts +61 -0
  459. package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.d.ts.map +1 -0
  460. package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.js +94 -0
  461. package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.js.map +1 -0
  462. package/node_modules/@rushstack/terminal/lib/index.d.ts +36 -0
  463. package/node_modules/@rushstack/terminal/lib/index.d.ts.map +1 -0
  464. package/node_modules/@rushstack/terminal/lib/index.js +65 -0
  465. package/node_modules/@rushstack/terminal/lib/index.js.map +1 -0
  466. package/node_modules/@rushstack/terminal/package.json +38 -0
  467. package/node_modules/@rushstack/ts-command-line/CHANGELOG.json +2206 -0
  468. package/node_modules/@rushstack/ts-command-line/CHANGELOG.md +1099 -0
  469. package/node_modules/@rushstack/ts-command-line/LICENSE +24 -0
  470. package/node_modules/@rushstack/ts-command-line/README.md +247 -0
  471. package/node_modules/@rushstack/ts-command-line/dist/ts-command-line.d.ts +1174 -0
  472. package/node_modules/@rushstack/ts-command-line/dist/tsdoc-metadata.json +11 -0
  473. package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.d.ts +14 -0
  474. package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.d.ts.map +1 -0
  475. package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.js +23 -0
  476. package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.js.map +1 -0
  477. package/node_modules/@rushstack/ts-command-line/lib/Constants.d.ts +13 -0
  478. package/node_modules/@rushstack/ts-command-line/lib/Constants.d.ts.map +1 -0
  479. package/node_modules/@rushstack/ts-command-line/lib/Constants.js +19 -0
  480. package/node_modules/@rushstack/ts-command-line/lib/Constants.js.map +1 -0
  481. package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.d.ts +9 -0
  482. package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.d.ts.map +1 -0
  483. package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.js +32 -0
  484. package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.js.map +1 -0
  485. package/node_modules/@rushstack/ts-command-line/lib/index.d.ts +25 -0
  486. package/node_modules/@rushstack/ts-command-line/lib/index.d.ts.map +1 -0
  487. package/node_modules/@rushstack/ts-command-line/lib/index.js +50 -0
  488. package/node_modules/@rushstack/ts-command-line/lib/index.js.map +1 -0
  489. package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.d.ts +130 -0
  490. package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.d.ts.map +1 -0
  491. package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.js +168 -0
  492. package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.js.map +1 -0
  493. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.d.ts +33 -0
  494. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.d.ts.map +1 -0
  495. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.js +83 -0
  496. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.js.map +1 -0
  497. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.d.ts +47 -0
  498. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.d.ts.map +1 -0
  499. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.js +94 -0
  500. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.js.map +1 -0
  501. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.d.ts +236 -0
  502. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.d.ts.map +1 -0
  503. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.js +5 -0
  504. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.js.map +1 -0
  505. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.d.ts +29 -0
  506. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.d.ts.map +1 -0
  507. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.js +69 -0
  508. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.js.map +1 -0
  509. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.d.ts +29 -0
  510. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.d.ts.map +1 -0
  511. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.js +79 -0
  512. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.js.map +1 -0
  513. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.d.ts +43 -0
  514. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.d.ts.map +1 -0
  515. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.js +83 -0
  516. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.js.map +1 -0
  517. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.d.ts +28 -0
  518. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.d.ts.map +1 -0
  519. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.js +47 -0
  520. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.js.map +1 -0
  521. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.d.ts +29 -0
  522. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.d.ts.map +1 -0
  523. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.js +70 -0
  524. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.js.map +1 -0
  525. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.d.ts +43 -0
  526. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.d.ts.map +1 -0
  527. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.js +82 -0
  528. package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.js.map +1 -0
  529. package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.d.ts +10 -0
  530. package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.d.ts.map +1 -0
  531. package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.js +51 -0
  532. package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.js.map +1 -0
  533. package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.d.ts +60 -0
  534. package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.d.ts.map +1 -0
  535. package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.js +168 -0
  536. package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.js.map +1 -0
  537. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.d.ts +69 -0
  538. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.d.ts.map +1 -0
  539. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.js +82 -0
  540. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.js.map +1 -0
  541. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.d.ts +332 -0
  542. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.d.ts.map +1 -0
  543. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.js +707 -0
  544. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.js.map +1 -0
  545. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.d.ts +115 -0
  546. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.d.ts.map +1 -0
  547. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.js +283 -0
  548. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.js.map +1 -0
  549. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.d.ts +10 -0
  550. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.d.ts.map +1 -0
  551. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.js +67 -0
  552. package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.js.map +1 -0
  553. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.d.ts +8 -0
  554. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.d.ts.map +1 -0
  555. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.js +17 -0
  556. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.js.map +1 -0
  557. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.d.ts +7 -0
  558. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.d.ts.map +1 -0
  559. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.js +13 -0
  560. package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.js.map +1 -0
  561. package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.d.ts +84 -0
  562. package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.d.ts.map +1 -0
  563. package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.js +209 -0
  564. package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.js.map +1 -0
  565. package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.d.ts +17 -0
  566. package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.d.ts.map +1 -0
  567. package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.js +173 -0
  568. package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.js.map +1 -0
  569. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/LICENSE +21 -0
  570. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/README.md +257 -0
  571. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/index.js +3 -0
  572. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/append/constant.js +47 -0
  573. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/append.js +53 -0
  574. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/count.js +40 -0
  575. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/help.js +47 -0
  576. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/constant.js +43 -0
  577. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/false.js +27 -0
  578. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/true.js +26 -0
  579. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store.js +50 -0
  580. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/subparsers.js +149 -0
  581. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/version.js +47 -0
  582. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action.js +146 -0
  583. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action_container.js +482 -0
  584. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argparse.js +14 -0
  585. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/error.js +50 -0
  586. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/exclusive.js +54 -0
  587. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/group.js +75 -0
  588. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument_parser.js +1161 -0
  589. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/const.js +21 -0
  590. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/help/added_formatters.js +87 -0
  591. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/help/formatter.js +795 -0
  592. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/namespace.js +76 -0
  593. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/utils.js +57 -0
  594. package/node_modules/@rushstack/ts-command-line/node_modules/argparse/package.json +34 -0
  595. package/node_modules/@rushstack/ts-command-line/package.json +32 -0
  596. package/node_modules/@types/argparse/LICENSE +21 -0
  597. package/node_modules/@types/argparse/README.md +16 -0
  598. package/node_modules/@types/argparse/index.d.ts +121 -0
  599. package/node_modules/@types/argparse/package.json +44 -0
  600. package/node_modules/ajv/.runkit_example.js +23 -0
  601. package/node_modules/ajv/LICENSE +22 -0
  602. package/node_modules/ajv/README.md +207 -0
  603. package/node_modules/ajv/dist/2019.d.ts +19 -0
  604. package/node_modules/ajv/dist/2019.js +61 -0
  605. package/node_modules/ajv/dist/2019.js.map +1 -0
  606. package/node_modules/ajv/dist/2020.d.ts +19 -0
  607. package/node_modules/ajv/dist/2020.js +55 -0
  608. package/node_modules/ajv/dist/2020.js.map +1 -0
  609. package/node_modules/ajv/dist/ajv.d.ts +18 -0
  610. package/node_modules/ajv/dist/ajv.js +50 -0
  611. package/node_modules/ajv/dist/ajv.js.map +1 -0
  612. package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
  613. package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  614. package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  615. package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  616. package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  617. package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  618. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  619. package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  620. package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  621. package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  622. package/node_modules/ajv/dist/compile/errors.js +123 -0
  623. package/node_modules/ajv/dist/compile/errors.js.map +1 -0
  624. package/node_modules/ajv/dist/compile/index.d.ts +80 -0
  625. package/node_modules/ajv/dist/compile/index.js +242 -0
  626. package/node_modules/ajv/dist/compile/index.js.map +1 -0
  627. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  628. package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  629. package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  630. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  631. package/node_modules/ajv/dist/compile/jtd/serialize.js +236 -0
  632. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  633. package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  634. package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  635. package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  636. package/node_modules/ajv/dist/compile/names.d.ts +20 -0
  637. package/node_modules/ajv/dist/compile/names.js +28 -0
  638. package/node_modules/ajv/dist/compile/names.js.map +1 -0
  639. package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
  640. package/node_modules/ajv/dist/compile/ref_error.js +12 -0
  641. package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  642. package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  643. package/node_modules/ajv/dist/compile/resolve.js +155 -0
  644. package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  645. package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  646. package/node_modules/ajv/dist/compile/rules.js +26 -0
  647. package/node_modules/ajv/dist/compile/rules.js.map +1 -0
  648. package/node_modules/ajv/dist/compile/util.d.ts +40 -0
  649. package/node_modules/ajv/dist/compile/util.js +178 -0
  650. package/node_modules/ajv/dist/compile/util.js.map +1 -0
  651. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  652. package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  653. package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  654. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  655. package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  656. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  657. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  658. package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  659. package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  660. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  661. package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  662. package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  663. package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  664. package/node_modules/ajv/dist/compile/validate/index.js +520 -0
  665. package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  666. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  667. package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  668. package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  669. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  670. package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  671. package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  672. package/node_modules/ajv/dist/core.d.ts +174 -0
  673. package/node_modules/ajv/dist/core.js +618 -0
  674. package/node_modules/ajv/dist/core.js.map +1 -0
  675. package/node_modules/ajv/dist/jtd.d.ts +47 -0
  676. package/node_modules/ajv/dist/jtd.js +72 -0
  677. package/node_modules/ajv/dist/jtd.js.map +1 -0
  678. package/node_modules/ajv/dist/refs/data.json +13 -0
  679. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  680. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  681. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  682. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  683. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  684. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  685. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  686. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  687. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  688. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  689. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  690. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  691. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  692. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  693. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  694. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  695. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  696. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  697. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  698. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  699. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  700. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  701. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  702. package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  703. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  704. package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  705. package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  706. package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  707. package/node_modules/ajv/dist/runtime/equal.js +7 -0
  708. package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  709. package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  710. package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
  711. package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  712. package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  713. package/node_modules/ajv/dist/runtime/quote.js +30 -0
  714. package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  715. package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  716. package/node_modules/ajv/dist/runtime/re2.js +6 -0
  717. package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  718. package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  719. package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  720. package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  721. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  722. package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  723. package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  724. package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
  725. package/node_modules/ajv/dist/runtime/uri.js +6 -0
  726. package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  727. package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  728. package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  729. package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  730. package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  731. package/node_modules/ajv/dist/standalone/index.js +90 -0
  732. package/node_modules/ajv/dist/standalone/index.js.map +1 -0
  733. package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  734. package/node_modules/ajv/dist/standalone/instance.js +35 -0
  735. package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  736. package/node_modules/ajv/dist/types/index.d.ts +183 -0
  737. package/node_modules/ajv/dist/types/index.js +3 -0
  738. package/node_modules/ajv/dist/types/index.js.map +1 -0
  739. package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
  740. package/node_modules/ajv/dist/types/json-schema.js +3 -0
  741. package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  742. package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
  743. package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  744. package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  745. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  746. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  747. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  748. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  749. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  750. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  751. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  752. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  753. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  754. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  755. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  756. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  757. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  758. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  759. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  760. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  761. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  762. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  763. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  764. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  765. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  766. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  767. package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  768. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  769. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  770. package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  771. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  772. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  773. package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  774. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  775. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  776. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  777. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  778. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  779. package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  780. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  781. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  782. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  783. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  784. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  785. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  786. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  787. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  788. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  789. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  790. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  791. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  792. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  793. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  794. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  795. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  796. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  797. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  798. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  799. package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  800. package/node_modules/ajv/dist/vocabularies/code.js +131 -0
  801. package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  802. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  803. package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  804. package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  805. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  806. package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  807. package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  808. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  809. package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  810. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  811. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  812. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  813. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  814. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  815. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  816. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  817. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  818. package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  819. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  820. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  821. package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  822. package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  823. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  824. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  825. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  826. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  827. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  828. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  829. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  830. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  831. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  832. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  833. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  834. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  835. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  836. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  837. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  838. package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  839. package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  840. package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  841. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  842. package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  843. package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  844. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  845. package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  846. package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  847. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  848. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  849. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  850. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  851. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  852. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  853. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  854. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  855. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  856. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  857. package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  858. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  859. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  860. package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  861. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  862. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  863. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  864. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  865. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  866. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  867. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  868. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  869. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  870. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  871. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  872. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
  873. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  874. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  875. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
  876. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  877. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  878. package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  879. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  880. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  881. package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  882. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  883. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  884. package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
  885. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  886. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  887. package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  888. package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  889. package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  890. package/node_modules/ajv/dist/vocabularies/next.js +8 -0
  891. package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  892. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  893. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  894. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  895. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  896. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  897. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  898. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  899. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  900. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  901. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  902. package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  903. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  904. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  905. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  906. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  907. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  908. package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  909. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  910. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  911. package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  912. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  913. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  914. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  915. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  916. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  917. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  918. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  919. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  920. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  921. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  922. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  923. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  924. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  925. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  926. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  927. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  928. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  929. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  930. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  931. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  932. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  933. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  934. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  935. package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  936. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  937. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  938. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  939. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  940. package/node_modules/ajv/lib/2019.ts +81 -0
  941. package/node_modules/ajv/lib/2020.ts +75 -0
  942. package/node_modules/ajv/lib/ajv.ts +70 -0
  943. package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
  944. package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
  945. package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  946. package/node_modules/ajv/lib/compile/errors.ts +184 -0
  947. package/node_modules/ajv/lib/compile/index.ts +324 -0
  948. package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  949. package/node_modules/ajv/lib/compile/jtd/serialize.ts +277 -0
  950. package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  951. package/node_modules/ajv/lib/compile/names.ts +27 -0
  952. package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
  953. package/node_modules/ajv/lib/compile/resolve.ts +149 -0
  954. package/node_modules/ajv/lib/compile/rules.ts +50 -0
  955. package/node_modules/ajv/lib/compile/util.ts +213 -0
  956. package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  957. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  958. package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
  959. package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  960. package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
  961. package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  962. package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  963. package/node_modules/ajv/lib/core.ts +892 -0
  964. package/node_modules/ajv/lib/jtd.ts +132 -0
  965. package/node_modules/ajv/lib/refs/data.json +13 -0
  966. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  967. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  968. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  969. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  970. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  971. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  972. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  973. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  974. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  975. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  976. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  977. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  978. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  979. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  980. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  981. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  982. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  983. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  984. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  985. package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  986. package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  987. package/node_modules/ajv/lib/runtime/equal.ts +7 -0
  988. package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
  989. package/node_modules/ajv/lib/runtime/quote.ts +31 -0
  990. package/node_modules/ajv/lib/runtime/re2.ts +6 -0
  991. package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  992. package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  993. package/node_modules/ajv/lib/runtime/uri.ts +6 -0
  994. package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  995. package/node_modules/ajv/lib/standalone/index.ts +100 -0
  996. package/node_modules/ajv/lib/standalone/instance.ts +36 -0
  997. package/node_modules/ajv/lib/types/index.ts +244 -0
  998. package/node_modules/ajv/lib/types/json-schema.ts +187 -0
  999. package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
  1000. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  1001. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  1002. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  1003. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  1004. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  1005. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  1006. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  1007. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  1008. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  1009. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  1010. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  1011. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  1012. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  1013. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  1014. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  1015. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  1016. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  1017. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  1018. package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  1019. package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  1020. package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  1021. package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  1022. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
  1023. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  1024. package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  1025. package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  1026. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  1027. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  1028. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  1029. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  1030. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  1031. package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  1032. package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  1033. package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  1034. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  1035. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  1036. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  1037. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  1038. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  1039. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  1040. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  1041. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  1042. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
  1043. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
  1044. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  1045. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  1046. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
  1047. package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  1048. package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  1049. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  1050. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  1051. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  1052. package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  1053. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  1054. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
  1055. package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  1056. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  1057. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  1058. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  1059. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  1060. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  1061. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  1062. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +39 -0
  1063. package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  1064. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  1065. package/node_modules/ajv/package.json +126 -0
  1066. package/node_modules/ajv-draft-04/LICENSE +21 -0
  1067. package/node_modules/ajv-draft-04/README.md +40 -0
  1068. package/node_modules/ajv-draft-04/dist/index.d.ts +17 -0
  1069. package/node_modules/ajv-draft-04/dist/index.js +50 -0
  1070. package/node_modules/ajv-draft-04/dist/index.js.map +1 -0
  1071. package/node_modules/ajv-draft-04/dist/refs/json-schema-draft-04.json +138 -0
  1072. package/node_modules/ajv-draft-04/dist/vocabulary/core.d.ts +3 -0
  1073. package/node_modules/ajv-draft-04/dist/vocabulary/core.js +13 -0
  1074. package/node_modules/ajv-draft-04/dist/vocabulary/core.js.map +1 -0
  1075. package/node_modules/ajv-draft-04/dist/vocabulary/draft4.d.ts +3 -0
  1076. package/node_modules/ajv-draft-04/dist/vocabulary/draft4.js +16 -0
  1077. package/node_modules/ajv-draft-04/dist/vocabulary/draft4.js.map +1 -0
  1078. package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.d.ts +16 -0
  1079. package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js +35 -0
  1080. package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js.map +1 -0
  1081. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.d.ts +12 -0
  1082. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js +44 -0
  1083. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js.map +1 -0
  1084. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.d.ts +3 -0
  1085. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js +19 -0
  1086. package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js.map +1 -0
  1087. package/node_modules/ajv-draft-04/package.json +74 -0
  1088. package/node_modules/ajv-draft-04/src/index.ts +81 -0
  1089. package/node_modules/ajv-draft-04/src/refs/json-schema-draft-04.json +138 -0
  1090. package/node_modules/ajv-draft-04/src/vocabulary/core.ts +13 -0
  1091. package/node_modules/ajv-draft-04/src/vocabulary/draft4.ts +17 -0
  1092. package/node_modules/ajv-draft-04/src/vocabulary/validation/index.ts +51 -0
  1093. package/node_modules/ajv-draft-04/src/vocabulary/validation/limitNumber.ts +76 -0
  1094. package/node_modules/ajv-draft-04/src/vocabulary/validation/limitNumberExclusive.ts +26 -0
  1095. package/node_modules/ajv-formats/LICENSE +21 -0
  1096. package/node_modules/ajv-formats/README.md +125 -0
  1097. package/node_modules/ajv-formats/dist/formats.d.ts +9 -0
  1098. package/node_modules/ajv-formats/dist/formats.js +208 -0
  1099. package/node_modules/ajv-formats/dist/formats.js.map +1 -0
  1100. package/node_modules/ajv-formats/dist/index.d.ts +15 -0
  1101. package/node_modules/ajv-formats/dist/index.js +37 -0
  1102. package/node_modules/ajv-formats/dist/index.js.map +1 -0
  1103. package/node_modules/ajv-formats/dist/limit.d.ts +10 -0
  1104. package/node_modules/ajv-formats/dist/limit.js +69 -0
  1105. package/node_modules/ajv-formats/dist/limit.js.map +1 -0
  1106. package/node_modules/ajv-formats/package.json +74 -0
  1107. package/node_modules/ajv-formats/src/formats.ts +269 -0
  1108. package/node_modules/ajv-formats/src/index.ts +62 -0
  1109. package/node_modules/ajv-formats/src/limit.ts +99 -0
  1110. package/node_modules/braces/LICENSE +21 -0
  1111. package/node_modules/braces/README.md +586 -0
  1112. package/node_modules/braces/index.js +170 -0
  1113. package/node_modules/braces/lib/compile.js +60 -0
  1114. package/node_modules/braces/lib/constants.js +57 -0
  1115. package/node_modules/braces/lib/expand.js +113 -0
  1116. package/node_modules/braces/lib/parse.js +331 -0
  1117. package/node_modules/braces/lib/stringify.js +32 -0
  1118. package/node_modules/braces/lib/utils.js +122 -0
  1119. package/node_modules/braces/package.json +77 -0
  1120. package/node_modules/emittery/index.d.ts +606 -0
  1121. package/node_modules/emittery/index.js +531 -0
  1122. package/node_modules/emittery/license +9 -0
  1123. package/node_modules/emittery/maps.js +9 -0
  1124. package/node_modules/emittery/package.json +67 -0
  1125. package/node_modules/emittery/readme.md +569 -0
  1126. package/node_modules/es-errors/.eslintrc +5 -0
  1127. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  1128. package/node_modules/es-errors/CHANGELOG.md +40 -0
  1129. package/node_modules/es-errors/LICENSE +21 -0
  1130. package/node_modules/es-errors/README.md +55 -0
  1131. package/node_modules/es-errors/eval.d.ts +3 -0
  1132. package/node_modules/es-errors/eval.js +4 -0
  1133. package/node_modules/es-errors/index.d.ts +3 -0
  1134. package/node_modules/es-errors/index.js +4 -0
  1135. package/node_modules/es-errors/package.json +80 -0
  1136. package/node_modules/es-errors/range.d.ts +3 -0
  1137. package/node_modules/es-errors/range.js +4 -0
  1138. package/node_modules/es-errors/ref.d.ts +3 -0
  1139. package/node_modules/es-errors/ref.js +4 -0
  1140. package/node_modules/es-errors/syntax.d.ts +3 -0
  1141. package/node_modules/es-errors/syntax.js +4 -0
  1142. package/node_modules/es-errors/test/index.js +19 -0
  1143. package/node_modules/es-errors/tsconfig.json +49 -0
  1144. package/node_modules/es-errors/type.d.ts +3 -0
  1145. package/node_modules/es-errors/type.js +4 -0
  1146. package/node_modules/es-errors/uri.d.ts +3 -0
  1147. package/node_modules/es-errors/uri.js +4 -0
  1148. package/node_modules/fast-deep-equal/LICENSE +21 -0
  1149. package/node_modules/fast-deep-equal/README.md +96 -0
  1150. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  1151. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  1152. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  1153. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  1154. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  1155. package/node_modules/fast-deep-equal/index.js +46 -0
  1156. package/node_modules/fast-deep-equal/package.json +61 -0
  1157. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  1158. package/node_modules/fast-deep-equal/react.js +53 -0
  1159. package/node_modules/fast-glob/LICENSE +21 -0
  1160. package/node_modules/fast-glob/README.md +830 -0
  1161. package/node_modules/fast-glob/out/index.d.ts +40 -0
  1162. package/node_modules/fast-glob/out/index.js +102 -0
  1163. package/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
  1164. package/node_modules/fast-glob/out/managers/tasks.js +110 -0
  1165. package/node_modules/fast-glob/out/providers/async.d.ts +9 -0
  1166. package/node_modules/fast-glob/out/providers/async.js +23 -0
  1167. package/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
  1168. package/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
  1169. package/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
  1170. package/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
  1171. package/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
  1172. package/node_modules/fast-glob/out/providers/filters/error.js +15 -0
  1173. package/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
  1174. package/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
  1175. package/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
  1176. package/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
  1177. package/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
  1178. package/node_modules/fast-glob/out/providers/provider.js +48 -0
  1179. package/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
  1180. package/node_modules/fast-glob/out/providers/stream.js +31 -0
  1181. package/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
  1182. package/node_modules/fast-glob/out/providers/sync.js +23 -0
  1183. package/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
  1184. package/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
  1185. package/node_modules/fast-glob/out/readers/async.d.ts +10 -0
  1186. package/node_modules/fast-glob/out/readers/async.js +35 -0
  1187. package/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
  1188. package/node_modules/fast-glob/out/readers/reader.js +33 -0
  1189. package/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
  1190. package/node_modules/fast-glob/out/readers/stream.js +55 -0
  1191. package/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
  1192. package/node_modules/fast-glob/out/readers/sync.js +43 -0
  1193. package/node_modules/fast-glob/out/settings.d.ts +164 -0
  1194. package/node_modules/fast-glob/out/settings.js +59 -0
  1195. package/node_modules/fast-glob/out/types/index.d.ts +31 -0
  1196. package/node_modules/fast-glob/out/types/index.js +2 -0
  1197. package/node_modules/fast-glob/out/utils/array.d.ts +2 -0
  1198. package/node_modules/fast-glob/out/utils/array.js +22 -0
  1199. package/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
  1200. package/node_modules/fast-glob/out/utils/errno.js +7 -0
  1201. package/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
  1202. package/node_modules/fast-glob/out/utils/fs.js +19 -0
  1203. package/node_modules/fast-glob/out/utils/index.d.ts +8 -0
  1204. package/node_modules/fast-glob/out/utils/index.js +17 -0
  1205. package/node_modules/fast-glob/out/utils/path.d.ts +13 -0
  1206. package/node_modules/fast-glob/out/utils/path.js +68 -0
  1207. package/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
  1208. package/node_modules/fast-glob/out/utils/pattern.js +206 -0
  1209. package/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
  1210. package/node_modules/fast-glob/out/utils/stream.js +17 -0
  1211. package/node_modules/fast-glob/out/utils/string.d.ts +2 -0
  1212. package/node_modules/fast-glob/out/utils/string.js +11 -0
  1213. package/node_modules/fast-glob/package.json +81 -0
  1214. package/node_modules/fast-uri/.gitattributes +2 -0
  1215. package/node_modules/fast-uri/.github/dependabot.yml +13 -0
  1216. package/node_modules/fast-uri/.github/workflows/ci.yml +106 -0
  1217. package/node_modules/fast-uri/.github/workflows/lock-threads.yml +19 -0
  1218. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
  1219. package/node_modules/fast-uri/LICENSE +30 -0
  1220. package/node_modules/fast-uri/README.md +152 -0
  1221. package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
  1222. package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
  1223. package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
  1224. package/node_modules/fast-uri/benchmark/package.json +17 -0
  1225. package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
  1226. package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
  1227. package/node_modules/fast-uri/eslint.config.js +6 -0
  1228. package/node_modules/fast-uri/index.js +612 -0
  1229. package/node_modules/fast-uri/lib/schemes.js +272 -0
  1230. package/node_modules/fast-uri/lib/utils.js +740 -0
  1231. package/node_modules/fast-uri/package.json +68 -0
  1232. package/node_modules/fast-uri/test/ajv.test.js +43 -0
  1233. package/node_modules/fast-uri/test/component-safe-serialization.test.js +105 -0
  1234. package/node_modules/fast-uri/test/equal.test.js +145 -0
  1235. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +503 -0
  1236. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
  1237. package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
  1238. package/node_modules/fast-uri/test/ipv6-validation.test.js +90 -0
  1239. package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
  1240. package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
  1241. package/node_modules/fast-uri/test/parse.test.js +327 -0
  1242. package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
  1243. package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
  1244. package/node_modules/fast-uri/test/resolve.test.js +87 -0
  1245. package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
  1246. package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
  1247. package/node_modules/fast-uri/test/security-normalization.test.js +140 -0
  1248. package/node_modules/fast-uri/test/security.test.js +431 -0
  1249. package/node_modules/fast-uri/test/serialize.test.js +151 -0
  1250. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
  1251. package/node_modules/fast-uri/test/uri-js.test.js +912 -0
  1252. package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
  1253. package/node_modules/fast-uri/test/util.test.js +38 -0
  1254. package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
  1255. package/node_modules/fast-uri/tsconfig.json +9 -0
  1256. package/node_modules/fast-uri/types/index.d.ts +60 -0
  1257. package/node_modules/fast-uri/types/index.test-d.ts +17 -0
  1258. package/node_modules/fastq/LICENSE +13 -0
  1259. package/node_modules/fastq/README.md +310 -0
  1260. package/node_modules/fastq/SECURITY.md +15 -0
  1261. package/node_modules/fastq/bench.js +66 -0
  1262. package/node_modules/fastq/eslint.config.js +11 -0
  1263. package/node_modules/fastq/example.js +14 -0
  1264. package/node_modules/fastq/example.mjs +9 -0
  1265. package/node_modules/fastq/index.d.ts +59 -0
  1266. package/node_modules/fastq/package.json +49 -0
  1267. package/node_modules/fastq/queue.js +348 -0
  1268. package/node_modules/fastq/test/example.ts +83 -0
  1269. package/node_modules/fastq/test/promise.js +356 -0
  1270. package/node_modules/fastq/test/test.js +808 -0
  1271. package/node_modules/fastq/test/tsconfig.json +11 -0
  1272. package/node_modules/fill-range/LICENSE +21 -0
  1273. package/node_modules/fill-range/README.md +237 -0
  1274. package/node_modules/fill-range/index.js +248 -0
  1275. package/node_modules/fill-range/package.json +74 -0
  1276. package/node_modules/fs-extra/LICENSE +15 -0
  1277. package/node_modules/fs-extra/README.md +294 -0
  1278. package/node_modules/fs-extra/lib/copy/copy-sync.js +176 -0
  1279. package/node_modules/fs-extra/lib/copy/copy.js +180 -0
  1280. package/node_modules/fs-extra/lib/copy/index.js +7 -0
  1281. package/node_modules/fs-extra/lib/empty/index.js +39 -0
  1282. package/node_modules/fs-extra/lib/ensure/file.js +66 -0
  1283. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  1284. package/node_modules/fs-extra/lib/ensure/link.js +64 -0
  1285. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
  1286. package/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
  1287. package/node_modules/fs-extra/lib/ensure/symlink.js +92 -0
  1288. package/node_modules/fs-extra/lib/esm.mjs +68 -0
  1289. package/node_modules/fs-extra/lib/fs/index.js +146 -0
  1290. package/node_modules/fs-extra/lib/index.js +16 -0
  1291. package/node_modules/fs-extra/lib/json/index.js +16 -0
  1292. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  1293. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  1294. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  1295. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  1296. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
  1297. package/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
  1298. package/node_modules/fs-extra/lib/move/index.js +7 -0
  1299. package/node_modules/fs-extra/lib/move/move-sync.js +55 -0
  1300. package/node_modules/fs-extra/lib/move/move.js +59 -0
  1301. package/node_modules/fs-extra/lib/output-file/index.js +31 -0
  1302. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  1303. package/node_modules/fs-extra/lib/remove/index.js +17 -0
  1304. package/node_modules/fs-extra/lib/util/async.js +29 -0
  1305. package/node_modules/fs-extra/lib/util/stat.js +165 -0
  1306. package/node_modules/fs-extra/lib/util/utimes.js +53 -0
  1307. package/node_modules/fs-extra/package.json +71 -0
  1308. package/node_modules/function-bind/.eslintrc +21 -0
  1309. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  1310. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  1311. package/node_modules/function-bind/.nycrc +13 -0
  1312. package/node_modules/function-bind/CHANGELOG.md +136 -0
  1313. package/node_modules/function-bind/LICENSE +20 -0
  1314. package/node_modules/function-bind/README.md +46 -0
  1315. package/node_modules/function-bind/implementation.js +84 -0
  1316. package/node_modules/function-bind/index.js +5 -0
  1317. package/node_modules/function-bind/package.json +87 -0
  1318. package/node_modules/function-bind/test/.eslintrc +9 -0
  1319. package/node_modules/function-bind/test/index.js +252 -0
  1320. package/node_modules/glob-parent/LICENSE +15 -0
  1321. package/node_modules/glob-parent/README.md +137 -0
  1322. package/node_modules/glob-parent/index.js +42 -0
  1323. package/node_modules/glob-parent/package.json +48 -0
  1324. package/node_modules/has-flag/index.d.ts +39 -0
  1325. package/node_modules/has-flag/index.js +8 -0
  1326. package/node_modules/has-flag/license +9 -0
  1327. package/node_modules/has-flag/package.json +46 -0
  1328. package/node_modules/has-flag/readme.md +89 -0
  1329. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  1330. package/node_modules/hasown/.nycrc +13 -0
  1331. package/node_modules/hasown/CHANGELOG.md +58 -0
  1332. package/node_modules/hasown/LICENSE +21 -0
  1333. package/node_modules/hasown/README.md +40 -0
  1334. package/node_modules/hasown/eslint.config.mjs +6 -0
  1335. package/node_modules/hasown/index.d.ts +3 -0
  1336. package/node_modules/hasown/index.js +8 -0
  1337. package/node_modules/hasown/package.json +91 -0
  1338. package/node_modules/hasown/tsconfig.json +6 -0
  1339. package/node_modules/import-lazy/index.d.ts +26 -0
  1340. package/node_modules/import-lazy/index.js +27 -0
  1341. package/node_modules/import-lazy/license +9 -0
  1342. package/node_modules/import-lazy/package.json +40 -0
  1343. package/node_modules/import-lazy/readme.md +57 -0
  1344. package/node_modules/is-core-module/CHANGELOG.md +243 -0
  1345. package/node_modules/is-core-module/LICENSE +20 -0
  1346. package/node_modules/is-core-module/README.md +58 -0
  1347. package/node_modules/is-core-module/core.json +163 -0
  1348. package/node_modules/is-core-module/index.d.ts +12 -0
  1349. package/node_modules/is-core-module/index.js +76 -0
  1350. package/node_modules/is-core-module/package.json +90 -0
  1351. package/node_modules/is-extglob/LICENSE +21 -0
  1352. package/node_modules/is-extglob/README.md +107 -0
  1353. package/node_modules/is-extglob/index.js +20 -0
  1354. package/node_modules/is-extglob/package.json +69 -0
  1355. package/node_modules/is-glob/LICENSE +21 -0
  1356. package/node_modules/is-glob/README.md +206 -0
  1357. package/node_modules/is-glob/index.js +150 -0
  1358. package/node_modules/is-glob/package.json +81 -0
  1359. package/node_modules/is-number/LICENSE +21 -0
  1360. package/node_modules/is-number/README.md +187 -0
  1361. package/node_modules/is-number/index.js +18 -0
  1362. package/node_modules/is-number/package.json +82 -0
  1363. package/node_modules/jju/LICENSE +21 -0
  1364. package/node_modules/jju/Makefile +20 -0
  1365. package/node_modules/jju/README.md +249 -0
  1366. package/node_modules/jju/index.js +32 -0
  1367. package/node_modules/jju/lib/analyze.js +87 -0
  1368. package/node_modules/jju/lib/document.js +480 -0
  1369. package/node_modules/jju/lib/parse.js +760 -0
  1370. package/node_modules/jju/lib/stringify.js +378 -0
  1371. package/node_modules/jju/lib/unicode.js +70 -0
  1372. package/node_modules/jju/lib/utils.js +46 -0
  1373. package/node_modules/jju/package.json +34 -0
  1374. package/node_modules/jju/package.yaml +36 -0
  1375. package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  1376. package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  1377. package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  1378. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  1379. package/node_modules/json-schema-traverse/LICENSE +21 -0
  1380. package/node_modules/json-schema-traverse/README.md +95 -0
  1381. package/node_modules/json-schema-traverse/index.d.ts +40 -0
  1382. package/node_modules/json-schema-traverse/index.js +93 -0
  1383. package/node_modules/json-schema-traverse/package.json +43 -0
  1384. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  1385. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  1386. package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  1387. package/node_modules/jsonfile/LICENSE +15 -0
  1388. package/node_modules/jsonfile/README.md +230 -0
  1389. package/node_modules/jsonfile/index.js +88 -0
  1390. package/node_modules/jsonfile/package.json +40 -0
  1391. package/node_modules/jsonfile/utils.js +18 -0
  1392. package/node_modules/merge2/LICENSE +21 -0
  1393. package/node_modules/merge2/README.md +144 -0
  1394. package/node_modules/merge2/index.js +144 -0
  1395. package/node_modules/merge2/package.json +43 -0
  1396. package/node_modules/micromatch/LICENSE +21 -0
  1397. package/node_modules/micromatch/README.md +1024 -0
  1398. package/node_modules/micromatch/index.js +474 -0
  1399. package/node_modules/micromatch/node_modules/picomatch/LICENSE +21 -0
  1400. package/node_modules/micromatch/node_modules/picomatch/README.md +716 -0
  1401. package/node_modules/micromatch/node_modules/picomatch/index.js +3 -0
  1402. package/node_modules/micromatch/node_modules/picomatch/lib/constants.js +184 -0
  1403. package/node_modules/micromatch/node_modules/picomatch/lib/parse.js +1392 -0
  1404. package/node_modules/micromatch/node_modules/picomatch/lib/picomatch.js +342 -0
  1405. package/node_modules/micromatch/node_modules/picomatch/lib/scan.js +391 -0
  1406. package/node_modules/micromatch/node_modules/picomatch/lib/utils.js +64 -0
  1407. package/node_modules/micromatch/node_modules/picomatch/package.json +81 -0
  1408. package/node_modules/micromatch/package.json +119 -0
  1409. package/node_modules/path-parse/LICENSE +21 -0
  1410. package/node_modules/path-parse/README.md +42 -0
  1411. package/node_modules/path-parse/index.js +75 -0
  1412. package/node_modules/path-parse/package.json +33 -0
  1413. package/node_modules/pony-cause/LICENSE +14 -0
  1414. package/node_modules/pony-cause/README.md +192 -0
  1415. package/node_modules/pony-cause/compat.d.ts +2 -0
  1416. package/node_modules/pony-cause/index.d.ts +7 -0
  1417. package/node_modules/pony-cause/index.d.ts.map +1 -0
  1418. package/node_modules/pony-cause/index.js +18 -0
  1419. package/node_modules/pony-cause/index.mjs +10 -0
  1420. package/node_modules/pony-cause/lib/error-with-cause-compat.d.ts +7 -0
  1421. package/node_modules/pony-cause/lib/error-with-cause.d.ts +7 -0
  1422. package/node_modules/pony-cause/lib/error-with-cause.d.ts.map +1 -0
  1423. package/node_modules/pony-cause/lib/error-with-cause.js +25 -0
  1424. package/node_modules/pony-cause/lib/error-with-cause.mjs +21 -0
  1425. package/node_modules/pony-cause/lib/helpers.d.ts +9 -0
  1426. package/node_modules/pony-cause/lib/helpers.d.ts.map +1 -0
  1427. package/node_modules/pony-cause/lib/helpers.js +143 -0
  1428. package/node_modules/pony-cause/lib/helpers.mjs +136 -0
  1429. package/node_modules/pony-cause/package.json +106 -0
  1430. package/node_modules/queue-microtask/LICENSE +20 -0
  1431. package/node_modules/queue-microtask/README.md +90 -0
  1432. package/node_modules/queue-microtask/index.d.ts +2 -0
  1433. package/node_modules/queue-microtask/index.js +9 -0
  1434. package/node_modules/queue-microtask/package.json +55 -0
  1435. package/node_modules/require-from-string/index.js +34 -0
  1436. package/node_modules/require-from-string/license +21 -0
  1437. package/node_modules/require-from-string/package.json +28 -0
  1438. package/node_modules/require-from-string/readme.md +56 -0
  1439. package/node_modules/resolve/.claude/notes.md +26 -0
  1440. package/node_modules/resolve/.claude/settings.local.json +26 -0
  1441. package/node_modules/resolve/.editorconfig +38 -0
  1442. package/node_modules/resolve/.eslintrc +65 -0
  1443. package/node_modules/resolve/.github/FUNDING.yml +12 -0
  1444. package/node_modules/resolve/.github/INCIDENT_RESPONSE_PROCESS.md +119 -0
  1445. package/node_modules/resolve/.github/THREAT_MODEL.md +74 -0
  1446. package/node_modules/resolve/LICENSE +21 -0
  1447. package/node_modules/resolve/SECURITY.md +13 -0
  1448. package/node_modules/resolve/async.js +3 -0
  1449. package/node_modules/resolve/bin/resolve +50 -0
  1450. package/node_modules/resolve/eslint.config.mjs +80 -0
  1451. package/node_modules/resolve/example/async.js +5 -0
  1452. package/node_modules/resolve/example/sync.js +3 -0
  1453. package/node_modules/resolve/index.js +6 -0
  1454. package/node_modules/resolve/lib/async.js +336 -0
  1455. package/node_modules/resolve/lib/caller.js +12 -0
  1456. package/node_modules/resolve/lib/core.js +12 -0
  1457. package/node_modules/resolve/lib/core.json +162 -0
  1458. package/node_modules/resolve/lib/homedir.js +31 -0
  1459. package/node_modules/resolve/lib/is-core.js +5 -0
  1460. package/node_modules/resolve/lib/node-modules-paths.js +45 -0
  1461. package/node_modules/resolve/lib/normalize-options.js +10 -0
  1462. package/node_modules/resolve/lib/sync.js +216 -0
  1463. package/node_modules/resolve/package.json +78 -0
  1464. package/node_modules/resolve/readme.markdown +300 -0
  1465. package/node_modules/resolve/sync.js +3 -0
  1466. package/node_modules/resolve/test/core.js +88 -0
  1467. package/node_modules/resolve/test/default_paths.js +49 -0
  1468. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  1469. package/node_modules/resolve/test/dotdot/index.js +1 -0
  1470. package/node_modules/resolve/test/dotdot.js +29 -0
  1471. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  1472. package/node_modules/resolve/test/filter.js +34 -0
  1473. package/node_modules/resolve/test/filter_sync.js +33 -0
  1474. package/node_modules/resolve/test/home_paths.js +127 -0
  1475. package/node_modules/resolve/test/home_paths_sync.js +114 -0
  1476. package/node_modules/resolve/test/homedir.js +112 -0
  1477. package/node_modules/resolve/test/mock.js +353 -0
  1478. package/node_modules/resolve/test/mock_sync.js +234 -0
  1479. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  1480. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  1481. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  1482. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  1483. package/node_modules/resolve/test/module_dir.js +56 -0
  1484. package/node_modules/resolve/test/node-modules-paths.js +143 -0
  1485. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  1486. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  1487. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  1488. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  1489. package/node_modules/resolve/test/node_path.js +70 -0
  1490. package/node_modules/resolve/test/nonstring.js +9 -0
  1491. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  1492. package/node_modules/resolve/test/pathfilter.js +75 -0
  1493. package/node_modules/resolve/test/pathfilter_sync.js +24 -0
  1494. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  1495. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  1496. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  1497. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  1498. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  1499. package/node_modules/resolve/test/precedence.js +23 -0
  1500. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  1501. package/node_modules/resolve/test/resolver/baz/package.json +4 -0
  1502. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  1503. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  1504. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  1505. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  1506. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  1507. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  1508. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  1509. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  1510. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  1511. package/node_modules/resolve/test/resolver/false_main/index.js +0 -0
  1512. package/node_modules/resolve/test/resolver/false_main/package.json +4 -0
  1513. package/node_modules/resolve/test/resolver/foo.js +1 -0
  1514. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  1515. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  1516. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  1517. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  1518. package/node_modules/resolve/test/resolver/mug.js +0 -0
  1519. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  1520. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  1521. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  1522. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  1523. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  1524. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  1525. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  1526. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  1527. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  1528. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  1529. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  1530. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  1531. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  1532. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  1533. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  1534. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  1535. package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  1536. package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  1537. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  1538. package/node_modules/resolve/test/resolver.js +597 -0
  1539. package/node_modules/resolve/test/resolver_sync.js +730 -0
  1540. package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  1541. package/node_modules/resolve/test/shadowed_core.js +54 -0
  1542. package/node_modules/resolve/test/subdirs.js +13 -0
  1543. package/node_modules/resolve/test/symlinks.js +176 -0
  1544. package/node_modules/reusify/.github/dependabot.yml +7 -0
  1545. package/node_modules/reusify/.github/workflows/ci.yml +96 -0
  1546. package/node_modules/reusify/LICENSE +22 -0
  1547. package/node_modules/reusify/README.md +139 -0
  1548. package/node_modules/reusify/SECURITY.md +15 -0
  1549. package/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
  1550. package/node_modules/reusify/benchmarks/fib.js +13 -0
  1551. package/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
  1552. package/node_modules/reusify/eslint.config.js +14 -0
  1553. package/node_modules/reusify/package.json +50 -0
  1554. package/node_modules/reusify/reusify.d.ts +14 -0
  1555. package/node_modules/reusify/reusify.js +33 -0
  1556. package/node_modules/reusify/test.js +66 -0
  1557. package/node_modules/reusify/tsconfig.json +11 -0
  1558. package/node_modules/run-parallel/LICENSE +20 -0
  1559. package/node_modules/run-parallel/README.md +85 -0
  1560. package/node_modules/run-parallel/index.js +51 -0
  1561. package/node_modules/run-parallel/package.json +58 -0
  1562. package/node_modules/sprintf-js/.npmignore +1 -0
  1563. package/node_modules/sprintf-js/LICENSE +24 -0
  1564. package/node_modules/sprintf-js/README.md +88 -0
  1565. package/node_modules/sprintf-js/bower.json +14 -0
  1566. package/node_modules/sprintf-js/demo/angular.html +20 -0
  1567. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  1568. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  1569. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  1570. package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  1571. package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  1572. package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  1573. package/node_modules/sprintf-js/gruntfile.js +36 -0
  1574. package/node_modules/sprintf-js/package.json +22 -0
  1575. package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  1576. package/node_modules/sprintf-js/src/sprintf.js +208 -0
  1577. package/node_modules/sprintf-js/test/test.js +82 -0
  1578. package/node_modules/string-argv/CHANGELOG.md +13 -0
  1579. package/node_modules/string-argv/LICENSE +21 -0
  1580. package/node_modules/string-argv/README.md +58 -0
  1581. package/node_modules/string-argv/commonjs/index.js +45 -0
  1582. package/node_modules/string-argv/commonjs/package.json +3 -0
  1583. package/node_modules/string-argv/index.d.ts +2 -0
  1584. package/node_modules/string-argv/index.js +41 -0
  1585. package/node_modules/string-argv/package.json +51 -0
  1586. package/node_modules/supports-color/browser.js +24 -0
  1587. package/node_modules/supports-color/index.js +152 -0
  1588. package/node_modules/supports-color/license +9 -0
  1589. package/node_modules/supports-color/package.json +58 -0
  1590. package/node_modules/supports-color/readme.md +77 -0
  1591. package/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
  1592. package/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
  1593. package/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
  1594. package/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
  1595. package/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
  1596. package/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
  1597. package/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
  1598. package/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
  1599. package/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
  1600. package/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
  1601. package/node_modules/to-regex-range/LICENSE +21 -0
  1602. package/node_modules/to-regex-range/README.md +305 -0
  1603. package/node_modules/to-regex-range/index.js +288 -0
  1604. package/node_modules/to-regex-range/package.json +88 -0
  1605. package/node_modules/type-fest/index.d.ts +178 -0
  1606. package/node_modules/type-fest/license-cc0 +121 -0
  1607. package/node_modules/type-fest/license-mit +9 -0
  1608. package/node_modules/type-fest/package.json +91 -0
  1609. package/node_modules/type-fest/readme.md +1060 -0
  1610. package/node_modules/type-fest/source/all-union-fields.d.ts +88 -0
  1611. package/node_modules/type-fest/source/and.d.ts +25 -0
  1612. package/node_modules/type-fest/source/array-indices.d.ts +23 -0
  1613. package/node_modules/type-fest/source/array-slice.d.ts +109 -0
  1614. package/node_modules/type-fest/source/array-splice.d.ts +99 -0
  1615. package/node_modules/type-fest/source/array-tail.d.ts +76 -0
  1616. package/node_modules/type-fest/source/array-values.d.ts +22 -0
  1617. package/node_modules/type-fest/source/arrayable.d.ts +29 -0
  1618. package/node_modules/type-fest/source/async-return-type.d.ts +23 -0
  1619. package/node_modules/type-fest/source/asyncify.d.ts +32 -0
  1620. package/node_modules/type-fest/source/basic.d.ts +68 -0
  1621. package/node_modules/type-fest/source/camel-case.d.ts +89 -0
  1622. package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +97 -0
  1623. package/node_modules/type-fest/source/camel-cased-properties.d.ts +43 -0
  1624. package/node_modules/type-fest/source/conditional-except.d.ts +45 -0
  1625. package/node_modules/type-fest/source/conditional-keys.d.ts +47 -0
  1626. package/node_modules/type-fest/source/conditional-pick-deep.d.ts +118 -0
  1627. package/node_modules/type-fest/source/conditional-pick.d.ts +44 -0
  1628. package/node_modules/type-fest/source/conditional-simplify.d.ts +32 -0
  1629. package/node_modules/type-fest/source/delimiter-case.d.ts +78 -0
  1630. package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +106 -0
  1631. package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +46 -0
  1632. package/node_modules/type-fest/source/distributed-omit.d.ts +89 -0
  1633. package/node_modules/type-fest/source/distributed-pick.d.ts +85 -0
  1634. package/node_modules/type-fest/source/empty-object.d.ts +46 -0
  1635. package/node_modules/type-fest/source/enforce-optional.d.ts +47 -0
  1636. package/node_modules/type-fest/source/entries.d.ts +62 -0
  1637. package/node_modules/type-fest/source/entry.d.ts +65 -0
  1638. package/node_modules/type-fest/source/exact.d.ts +68 -0
  1639. package/node_modules/type-fest/source/except.d.ts +108 -0
  1640. package/node_modules/type-fest/source/find-global-type.d.ts +64 -0
  1641. package/node_modules/type-fest/source/fixed-length-array.d.ts +43 -0
  1642. package/node_modules/type-fest/source/get.d.ts +219 -0
  1643. package/node_modules/type-fest/source/global-this.d.ts +21 -0
  1644. package/node_modules/type-fest/source/greater-than-or-equal.d.ts +22 -0
  1645. package/node_modules/type-fest/source/greater-than.d.ts +56 -0
  1646. package/node_modules/type-fest/source/has-optional-keys.d.ts +21 -0
  1647. package/node_modules/type-fest/source/has-readonly-keys.d.ts +21 -0
  1648. package/node_modules/type-fest/source/has-required-keys.d.ts +59 -0
  1649. package/node_modules/type-fest/source/has-writable-keys.d.ts +21 -0
  1650. package/node_modules/type-fest/source/if-any.d.ts +24 -0
  1651. package/node_modules/type-fest/source/if-empty-object.d.ts +26 -0
  1652. package/node_modules/type-fest/source/if-never.d.ts +24 -0
  1653. package/node_modules/type-fest/source/if-null.d.ts +24 -0
  1654. package/node_modules/type-fest/source/if-unknown.d.ts +24 -0
  1655. package/node_modules/type-fest/source/includes.d.ts +22 -0
  1656. package/node_modules/type-fest/source/int-closed-range.d.ts +35 -0
  1657. package/node_modules/type-fest/source/int-range.d.ts +55 -0
  1658. package/node_modules/type-fest/source/internal/array.d.ts +126 -0
  1659. package/node_modules/type-fest/source/internal/characters.d.ts +67 -0
  1660. package/node_modules/type-fest/source/internal/index.d.ts +8 -0
  1661. package/node_modules/type-fest/source/internal/keys.d.ts +97 -0
  1662. package/node_modules/type-fest/source/internal/numeric.d.ts +118 -0
  1663. package/node_modules/type-fest/source/internal/object.d.ts +236 -0
  1664. package/node_modules/type-fest/source/internal/string.d.ts +210 -0
  1665. package/node_modules/type-fest/source/internal/tuple.d.ts +90 -0
  1666. package/node_modules/type-fest/source/internal/type.d.ts +139 -0
  1667. package/node_modules/type-fest/source/invariant-of.d.ts +76 -0
  1668. package/node_modules/type-fest/source/is-any.d.ts +33 -0
  1669. package/node_modules/type-fest/source/is-equal.d.ts +31 -0
  1670. package/node_modules/type-fest/source/is-float.d.ts +41 -0
  1671. package/node_modules/type-fest/source/is-integer.d.ts +58 -0
  1672. package/node_modules/type-fest/source/is-literal.d.ts +296 -0
  1673. package/node_modules/type-fest/source/is-never.d.ts +42 -0
  1674. package/node_modules/type-fest/source/is-null.d.ts +20 -0
  1675. package/node_modules/type-fest/source/is-tuple.d.ts +89 -0
  1676. package/node_modules/type-fest/source/is-unknown.d.ts +52 -0
  1677. package/node_modules/type-fest/source/iterable-element.d.ts +64 -0
  1678. package/node_modules/type-fest/source/join.d.ts +68 -0
  1679. package/node_modules/type-fest/source/jsonifiable.d.ts +37 -0
  1680. package/node_modules/type-fest/source/jsonify.d.ts +122 -0
  1681. package/node_modules/type-fest/source/kebab-case.d.ts +44 -0
  1682. package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +63 -0
  1683. package/node_modules/type-fest/source/kebab-cased-properties.d.ts +40 -0
  1684. package/node_modules/type-fest/source/keys-of-union.d.ts +42 -0
  1685. package/node_modules/type-fest/source/last-array-element.d.ts +38 -0
  1686. package/node_modules/type-fest/source/less-than-or-equal.d.ts +22 -0
  1687. package/node_modules/type-fest/source/less-than.d.ts +26 -0
  1688. package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +36 -0
  1689. package/node_modules/type-fest/source/literal-to-primitive.d.ts +36 -0
  1690. package/node_modules/type-fest/source/literal-union.d.ts +37 -0
  1691. package/node_modules/type-fest/source/merge-deep.d.ts +486 -0
  1692. package/node_modules/type-fest/source/merge-exclusive.d.ts +41 -0
  1693. package/node_modules/type-fest/source/merge.d.ts +48 -0
  1694. package/node_modules/type-fest/source/multidimensional-array.d.ts +44 -0
  1695. package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +48 -0
  1696. package/node_modules/type-fest/source/non-empty-object.d.ts +35 -0
  1697. package/node_modules/type-fest/source/non-empty-string.d.ts +28 -0
  1698. package/node_modules/type-fest/source/non-empty-tuple.d.ts +21 -0
  1699. package/node_modules/type-fest/source/numeric.d.ts +222 -0
  1700. package/node_modules/type-fest/source/observable-like.d.ts +63 -0
  1701. package/node_modules/type-fest/source/omit-deep.d.ts +167 -0
  1702. package/node_modules/type-fest/source/omit-index-signature.d.ts +95 -0
  1703. package/node_modules/type-fest/source/opaque.d.ts +1 -0
  1704. package/node_modules/type-fest/source/optional-keys-of.d.ts +39 -0
  1705. package/node_modules/type-fest/source/or.d.ts +25 -0
  1706. package/node_modules/type-fest/source/override-properties.d.ts +36 -0
  1707. package/node_modules/type-fest/source/package-json.d.ts +676 -0
  1708. package/node_modules/type-fest/source/partial-deep.d.ts +151 -0
  1709. package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +78 -0
  1710. package/node_modules/type-fest/source/pascal-case.d.ts +42 -0
  1711. package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +62 -0
  1712. package/node_modules/type-fest/source/pascal-cased-properties.d.ts +36 -0
  1713. package/node_modules/type-fest/source/paths.d.ts +262 -0
  1714. package/node_modules/type-fest/source/pick-deep.d.ts +149 -0
  1715. package/node_modules/type-fest/source/pick-index-signature.d.ts +50 -0
  1716. package/node_modules/type-fest/source/primitive.d.ts +13 -0
  1717. package/node_modules/type-fest/source/promisable.d.ts +25 -0
  1718. package/node_modules/type-fest/source/readonly-deep.d.ts +81 -0
  1719. package/node_modules/type-fest/source/readonly-keys-of.d.ts +30 -0
  1720. package/node_modules/type-fest/source/readonly-tuple.d.ts +41 -0
  1721. package/node_modules/type-fest/source/replace.d.ts +85 -0
  1722. package/node_modules/type-fest/source/require-all-or-none.d.ts +51 -0
  1723. package/node_modules/type-fest/source/require-at-least-one.d.ts +47 -0
  1724. package/node_modules/type-fest/source/require-exactly-one.d.ts +45 -0
  1725. package/node_modules/type-fest/source/require-one-or-none.d.ts +46 -0
  1726. package/node_modules/type-fest/source/required-deep.d.ts +78 -0
  1727. package/node_modules/type-fest/source/required-keys-of.d.ts +30 -0
  1728. package/node_modules/type-fest/source/schema.d.ts +114 -0
  1729. package/node_modules/type-fest/source/screaming-snake-case.d.ts +28 -0
  1730. package/node_modules/type-fest/source/set-field-type.d.ts +65 -0
  1731. package/node_modules/type-fest/source/set-non-nullable-deep.d.ts +83 -0
  1732. package/node_modules/type-fest/source/set-non-nullable.d.ts +39 -0
  1733. package/node_modules/type-fest/source/set-optional.d.ts +38 -0
  1734. package/node_modules/type-fest/source/set-parameter-type.d.ts +117 -0
  1735. package/node_modules/type-fest/source/set-readonly.d.ts +39 -0
  1736. package/node_modules/type-fest/source/set-required-deep.d.ts +68 -0
  1737. package/node_modules/type-fest/source/set-required.d.ts +70 -0
  1738. package/node_modules/type-fest/source/set-return-type.d.ts +29 -0
  1739. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +178 -0
  1740. package/node_modules/type-fest/source/shared-union-fields.d.ts +76 -0
  1741. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  1742. package/node_modules/type-fest/source/simplify.d.ts +58 -0
  1743. package/node_modules/type-fest/source/single-key-object.d.ts +29 -0
  1744. package/node_modules/type-fest/source/snake-case.d.ts +45 -0
  1745. package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +63 -0
  1746. package/node_modules/type-fest/source/snake-cased-properties.d.ts +40 -0
  1747. package/node_modules/type-fest/source/split.d.ts +88 -0
  1748. package/node_modules/type-fest/source/spread.d.ts +84 -0
  1749. package/node_modules/type-fest/source/string-key-of.d.ts +25 -0
  1750. package/node_modules/type-fest/source/string-repeat.d.ts +47 -0
  1751. package/node_modules/type-fest/source/string-slice.d.ts +37 -0
  1752. package/node_modules/type-fest/source/stringified.d.ts +23 -0
  1753. package/node_modules/type-fest/source/structured-cloneable.d.ts +92 -0
  1754. package/node_modules/type-fest/source/subtract.d.ts +83 -0
  1755. package/node_modules/type-fest/source/sum.d.ts +78 -0
  1756. package/node_modules/type-fest/source/tagged-union.d.ts +51 -0
  1757. package/node_modules/type-fest/source/tagged.d.ts +256 -0
  1758. package/node_modules/type-fest/source/trim.d.ts +27 -0
  1759. package/node_modules/type-fest/source/tsconfig-json.d.ts +1294 -0
  1760. package/node_modules/type-fest/source/tuple-to-object.d.ts +42 -0
  1761. package/node_modules/type-fest/source/tuple-to-union.d.ts +51 -0
  1762. package/node_modules/type-fest/source/typed-array.d.ts +17 -0
  1763. package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +80 -0
  1764. package/node_modules/type-fest/source/union-to-intersection.d.ts +61 -0
  1765. package/node_modules/type-fest/source/union-to-tuple.d.ts +56 -0
  1766. package/node_modules/type-fest/source/unknown-array.d.ts +25 -0
  1767. package/node_modules/type-fest/source/unknown-map.d.ts +24 -0
  1768. package/node_modules/type-fest/source/unknown-record.d.ts +31 -0
  1769. package/node_modules/type-fest/source/unknown-set.d.ts +24 -0
  1770. package/node_modules/type-fest/source/value-of.d.ts +42 -0
  1771. package/node_modules/type-fest/source/words.d.ts +118 -0
  1772. package/node_modules/type-fest/source/writable-deep.d.ts +83 -0
  1773. package/node_modules/type-fest/source/writable-keys-of.d.ts +33 -0
  1774. package/node_modules/type-fest/source/writable.d.ts +68 -0
  1775. package/node_modules/umzug/LICENSE +21 -0
  1776. package/node_modules/umzug/README.md +849 -0
  1777. package/node_modules/umzug/lib/cli.d.ts +44 -0
  1778. package/node_modules/umzug/lib/cli.js +275 -0
  1779. package/node_modules/umzug/lib/cli.js.map +1 -0
  1780. package/node_modules/umzug/lib/file-locker.d.ts +46 -0
  1781. package/node_modules/umzug/lib/file-locker.js +96 -0
  1782. package/node_modules/umzug/lib/file-locker.js.map +1 -0
  1783. package/node_modules/umzug/lib/index.d.ts +5 -0
  1784. package/node_modules/umzug/lib/index.js +22 -0
  1785. package/node_modules/umzug/lib/index.js.map +1 -0
  1786. package/node_modules/umzug/lib/storage/contract.d.ts +17 -0
  1787. package/node_modules/umzug/lib/storage/contract.js +18 -0
  1788. package/node_modules/umzug/lib/storage/contract.js.map +1 -0
  1789. package/node_modules/umzug/lib/storage/index.d.ts +5 -0
  1790. package/node_modules/umzug/lib/storage/index.js +24 -0
  1791. package/node_modules/umzug/lib/storage/index.js.map +1 -0
  1792. package/node_modules/umzug/lib/storage/json.d.ts +20 -0
  1793. package/node_modules/umzug/lib/storage/json.js +61 -0
  1794. package/node_modules/umzug/lib/storage/json.js.map +1 -0
  1795. package/node_modules/umzug/lib/storage/memory.d.ts +2 -0
  1796. package/node_modules/umzug/lib/storage/memory.js +17 -0
  1797. package/node_modules/umzug/lib/storage/memory.js.map +1 -0
  1798. package/node_modules/umzug/lib/storage/mongodb.d.ts +35 -0
  1799. package/node_modules/umzug/lib/storage/mongodb.js +31 -0
  1800. package/node_modules/umzug/lib/storage/mongodb.js.map +1 -0
  1801. package/node_modules/umzug/lib/storage/sequelize.d.ts +106 -0
  1802. package/node_modules/umzug/lib/storage/sequelize.js +85 -0
  1803. package/node_modules/umzug/lib/storage/sequelize.js.map +1 -0
  1804. package/node_modules/umzug/lib/templates.d.ts +5 -0
  1805. package/node_modules/umzug/lib/templates.js +32 -0
  1806. package/node_modules/umzug/lib/templates.js.map +1 -0
  1807. package/node_modules/umzug/lib/types.d.ts +129 -0
  1808. package/node_modules/umzug/lib/types.js +12 -0
  1809. package/node_modules/umzug/lib/types.js.map +1 -0
  1810. package/node_modules/umzug/lib/umzug.d.ts +105 -0
  1811. package/node_modules/umzug/lib/umzug.js +414 -0
  1812. package/node_modules/umzug/lib/umzug.js.map +1 -0
  1813. package/node_modules/umzug/package.json +92 -0
  1814. package/node_modules/universalify/LICENSE +20 -0
  1815. package/node_modules/universalify/README.md +76 -0
  1816. package/node_modules/universalify/index.js +24 -0
  1817. package/node_modules/universalify/package.json +34 -0
  1818. package/node_modules/yallist/LICENSE +15 -0
  1819. package/node_modules/yallist/README.md +204 -0
  1820. package/node_modules/yallist/iterator.js +8 -0
  1821. package/node_modules/yallist/package.json +29 -0
  1822. package/node_modules/yallist/yallist.js +426 -0
  1823. package/package.json +4 -2
  1824. package/dist/ui/assets/architecture-7GRP2DOG-DPAY49ac.js +0 -1
  1825. package/dist/ui/assets/channel-B4U25mhB.js +0 -1
  1826. package/dist/ui/assets/eventmodeling-NTZA5JFV-CJyNnV02.js +0 -1
  1827. package/dist/ui/assets/flowDiagram-KWPJA3E3-C0h7u26C.js +0 -1
  1828. package/dist/ui/assets/index-gtLHyvxQ.css +0 -2
  1829. package/dist/ui/assets/railroad-abnf-HS5TGJTU-DcEI15f8.js +0 -1
  1830. package/dist/ui/assets/railroad-ebnf-LZEXJU2U-COHEIK3C.js +0 -1
  1831. package/dist/ui/assets/railroad-peg-WCYAUIDC-DXgo491l.js +0 -1
  1832. package/dist/ui/assets/swimlanesDiagram-TC7HE7FX-636k0i2s.js +0 -8
@@ -0,0 +1,4005 @@
1
+ /**
2
+ * Core libraries that every NodeJS toolchain project should use.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ /// <reference types="node" />
8
+
9
+ import * as child_process from 'child_process';
10
+ import * as nodeFs from 'fs';
11
+ import * as nodePath from 'path';
12
+
13
+ /**
14
+ * Specifies the behavior of APIs such as {@link FileSystem.copyFile} or
15
+ * {@link FileSystem.createSymbolicLinkFile} when the output file path already exists.
16
+ *
17
+ * @remarks
18
+ * For {@link FileSystem.copyFile} and related APIs, the "output file path" is
19
+ * {@link IFileSystemCopyFileOptions.destinationPath}.
20
+ *
21
+ * For {@link FileSystem.createSymbolicLinkFile} and related APIs, the "output file path" is
22
+ * {@link IFileSystemCreateLinkOptions.newLinkPath}.
23
+ *
24
+ * @public
25
+ */
26
+ export declare enum AlreadyExistsBehavior {
27
+ /**
28
+ * If the output file path already exists, try to overwrite the existing object.
29
+ *
30
+ * @remarks
31
+ * If overwriting the object would require recursively deleting a folder tree,
32
+ * then the operation will fail. As an example, suppose {@link FileSystem.copyFile}
33
+ * is copying a single file `/a/b/c` to the destination path `/d/e`, and `/d/e` is a
34
+ * nonempty folder. In this situation, an error will be reported; specifying
35
+ * `AlreadyExistsBehavior.Overwrite` does not help. Empty folders can be overwritten
36
+ * depending on the details of the implementation.
37
+ */
38
+ Overwrite = "overwrite",
39
+ /**
40
+ * If the output file path already exists, the operation will fail, and an error
41
+ * will be reported.
42
+ */
43
+ Error = "error",
44
+ /**
45
+ * If the output file path already exists, skip this item, and continue the operation.
46
+ */
47
+ Ignore = "ignore"
48
+ }
49
+
50
+ /**
51
+ * This exception can be thrown to indicate that an operation failed and an error message has already
52
+ * been reported appropriately. Thus, the catch handler does not have responsibility for reporting
53
+ * the error.
54
+ *
55
+ * @remarks
56
+ * For example, suppose a tool writes interactive output to `console.log()`. When an exception is thrown,
57
+ * the `catch` handler will typically provide simplistic reporting such as this:
58
+ *
59
+ * ```ts
60
+ * catch (error) {
61
+ * console.log("ERROR: " + error.message);
62
+ * }
63
+ * ```
64
+ *
65
+ * Suppose that the code performing the operation normally prints rich output to the console. It may be able to
66
+ * present an error message more nicely (for example, as part of a table, or structured log format). Throwing
67
+ * `AlreadyReportedError` provides a way to use exception handling to abort the operation, but instruct the `catch`
68
+ * handler not to print an error a second time:
69
+ *
70
+ * ```ts
71
+ * catch (error) {
72
+ * if (error instanceof AlreadyReportedError) {
73
+ * return;
74
+ * }
75
+ * console.log("ERROR: " + error.message);
76
+ * }
77
+ * ```
78
+ *
79
+ * @public
80
+ */
81
+ export declare class AlreadyReportedError extends Error {
82
+ constructor();
83
+ static [Symbol.hasInstance](instance: object): boolean;
84
+ }
85
+
86
+ /**
87
+ * Utilities for parallel asynchronous operations, for use with the system `Promise` APIs.
88
+ *
89
+ * @public
90
+ */
91
+ export declare class Async {
92
+ /**
93
+ * Given an input array and a `callback` function, invoke the callback to start a
94
+ * promise for each element in the array. Returns an array containing the results.
95
+ *
96
+ * @remarks
97
+ * This API is similar to the system `Array#map`, except that the loop is asynchronous,
98
+ * and the maximum number of concurrent promises can be throttled
99
+ * using {@link IAsyncParallelismOptions.concurrency}.
100
+ *
101
+ * If `callback` throws a synchronous exception, or if it returns a promise that rejects,
102
+ * then the loop stops immediately. Any remaining array items will be skipped, and
103
+ * overall operation will reject with the first error that was encountered.
104
+ *
105
+ * @param iterable - the array of inputs for the callback function
106
+ * @param callback - a function that starts an asynchronous promise for an element
107
+ * from the array
108
+ * @param options - options for customizing the control flow
109
+ * @returns an array containing the result for each callback, in the same order
110
+ * as the original input `array`
111
+ */
112
+ static mapAsync<TEntry, TRetVal>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<TRetVal>, options?: (IAsyncParallelismOptions & {
113
+ weighted?: false;
114
+ }) | undefined): Promise<TRetVal[]>;
115
+ /**
116
+ * Given an input array and a `callback` function, invoke the callback to start a
117
+ * promise for each element in the array. Returns an array containing the results.
118
+ *
119
+ * @remarks
120
+ * This API is similar to the system `Array#map`, except that the loop is asynchronous,
121
+ * and the maximum number of concurrent units can be throttled
122
+ * using {@link IAsyncParallelismOptions.concurrency}. Using the {@link IAsyncParallelismOptions.weighted}
123
+ * option, the weight of each operation can be specified, which determines how many concurrent units it takes up.
124
+ *
125
+ * If `callback` throws a synchronous exception, or if it returns a promise that rejects,
126
+ * then the loop stops immediately. Any remaining array items will be skipped, and
127
+ * overall operation will reject with the first error that was encountered.
128
+ *
129
+ * @param iterable - the array of inputs for the callback function
130
+ * @param callback - a function that starts an asynchronous promise for an element
131
+ * from the array
132
+ * @param options - options for customizing the control flow
133
+ * @returns an array containing the result for each callback, in the same order
134
+ * as the original input `array`
135
+ */
136
+ static mapAsync<TEntry extends IWeighted, TRetVal>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<TRetVal>, options: IAsyncParallelismOptions & {
137
+ weighted: true;
138
+ }): Promise<TRetVal[]>;
139
+ private static _forEachWeightedAsync;
140
+ /**
141
+ * Given an input array and a `callback` function, invoke the callback to start a
142
+ * promise for each element in the array.
143
+ *
144
+ * @remarks
145
+ * This API is similar to the system `Array#forEach`, except that the loop is asynchronous,
146
+ * and the maximum number of concurrent promises can be throttled
147
+ * using {@link IAsyncParallelismOptions.concurrency}.
148
+ *
149
+ * If `callback` throws a synchronous exception, or if it returns a promise that rejects,
150
+ * then the loop stops immediately. Any remaining array items will be skipped, and
151
+ * overall operation will reject with the first error that was encountered.
152
+ *
153
+ * @param iterable - the array of inputs for the callback function
154
+ * @param callback - a function that starts an asynchronous promise for an element
155
+ * from the array
156
+ * @param options - options for customizing the control flow
157
+ */
158
+ static forEachAsync<TEntry>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<void>, options?: (IAsyncParallelismOptions & {
159
+ weighted?: false;
160
+ }) | undefined): Promise<void>;
161
+ /**
162
+ * Given an input array and a `callback` function, invoke the callback to start a
163
+ * promise for each element in the array.
164
+ *
165
+ * @remarks
166
+ * This API is similar to the other `Array#forEachAsync`, except that each item can have
167
+ * a weight that determines how many concurrent operations are allowed. The unweighted
168
+ * `Array#forEachAsync` is a special case of this method where weight = 1 for all items.
169
+ *
170
+ * The maximum number of concurrent operations can still be throttled using
171
+ * {@link IAsyncParallelismOptions.concurrency}, however it no longer determines the
172
+ * maximum number of operations that can be in progress at once. Instead, it determines the
173
+ * number of concurrency units that can be in progress at once. The weight of each operation
174
+ * determines how many concurrency units it takes up. For example, if the concurrency is 2
175
+ * and the first operation has a weight of 2, then only one more operation can be in progress.
176
+ *
177
+ * If `callback` throws a synchronous exception, or if it returns a promise that rejects,
178
+ * then the loop stops immediately. Any remaining array items will be skipped, and
179
+ * overall operation will reject with the first error that was encountered.
180
+ *
181
+ * @param iterable - the array of inputs for the callback function
182
+ * @param callback - a function that starts an asynchronous promise for an element
183
+ * from the array
184
+ * @param options - options for customizing the control flow
185
+ */
186
+ static forEachAsync<TEntry extends IWeighted>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<void>, options: IAsyncParallelismOptions & {
187
+ weighted: true;
188
+ }): Promise<void>;
189
+ /**
190
+ * Return a promise that resolves after the specified number of milliseconds.
191
+ */
192
+ static sleepAsync(ms: number): Promise<void>;
193
+ /**
194
+ * Executes an async function and optionally retries it if it fails.
195
+ */
196
+ static runWithRetriesAsync<TResult>({ action, maxRetries, retryDelayMs }: IRunWithRetriesOptions<TResult>): Promise<TResult>;
197
+ /**
198
+ * Ensures that the argument is a valid {@link IWeighted}, with a `weight` argument that
199
+ * is a positive integer or 0.
200
+ */
201
+ static validateWeightedIterable(operation: IWeighted): void;
202
+ /**
203
+ * Returns a Signal, a.k.a. a "deferred promise".
204
+ */
205
+ static getSignal(): [Promise<void>, () => void, (err: Error) => void];
206
+ }
207
+
208
+ /**
209
+ * A queue that allows for asynchronous iteration. During iteration, the queue will wait until
210
+ * the next item is pushed into the queue before yielding. If instead all queue items are consumed
211
+ * and all callbacks have been called, the queue will return.
212
+ *
213
+ * @public
214
+ */
215
+ export declare class AsyncQueue<T> implements AsyncIterable<[T, () => void]> {
216
+ private _queue;
217
+ private _onPushSignal;
218
+ private _onPushResolve;
219
+ constructor(iterable?: Iterable<T>);
220
+ [Symbol.asyncIterator](): AsyncIterableIterator<[T, () => void]>;
221
+ /**
222
+ * Adds an item to the queue.
223
+ *
224
+ * @param item - The item to push into the queue.
225
+ */
226
+ push(item: T): void;
227
+ }
228
+
229
+ /**
230
+ * A "branded type" is a primitive type with a compile-type key that makes it incompatible with other
231
+ * aliases for the primitive type.
232
+ *
233
+ * @remarks
234
+ *
235
+ * Example usage:
236
+ *
237
+ * ```ts
238
+ * // PhoneNumber is a branded type based on the "string" primitive.
239
+ * type PhoneNumber = Brand<string, 'PhoneNumber'>;
240
+ *
241
+ * function createPhoneNumber(input: string): PhoneNumber {
242
+ * if (!/\d+(\-\d+)+/.test(input)) {
243
+ * throw new Error('Invalid phone number: ' + JSON.stringify(input));
244
+ * }
245
+ * return input as PhoneNumber;
246
+ * }
247
+ *
248
+ * const p1: PhoneNumber = createPhoneNumber('123-456-7890');
249
+ *
250
+ * // PhoneNumber is a string and can be used as one:
251
+ * const p2: string = p1;
252
+ *
253
+ * // But an arbitrary string cannot be implicitly type cast as PhoneNumber.
254
+ * // ERROR: Type 'string' is not assignable to type 'PhoneNumber'
255
+ * const p3: PhoneNumber = '123-456-7890';
256
+ * ```
257
+ *
258
+ * For more information about this pattern, see {@link
259
+ * https://github.com/Microsoft/TypeScript/blob/7b48a182c05ea4dea81bab73ecbbe9e013a79e99/src/compiler/types.ts#L693-L698
260
+ * | this comment} explaining the TypeScript compiler's introduction of this pattern, and
261
+ * {@link https://spin.atomicobject.com/2018/01/15/typescript-flexible-nominal-typing/ | this article}
262
+ * explaining the technique in depth.
263
+ *
264
+ * @public
265
+ */
266
+ export declare type Brand<T, BrandTag extends string> = T & {
267
+ __brand: BrandTag;
268
+ };
269
+
270
+ /**
271
+ * The allowed types of encodings, as supported by Node.js
272
+ * @public
273
+ */
274
+ export declare enum Encoding {
275
+ Utf8 = "utf8"
276
+ }
277
+
278
+ /**
279
+ * A helper for looking up TypeScript `enum` keys/values.
280
+ *
281
+ * @remarks
282
+ * TypeScript enums implement a lookup table for mapping between their keys and values:
283
+ *
284
+ * ```ts
285
+ * enum Colors {
286
+ * Red = 1
287
+ * }
288
+ *
289
+ * // Prints "Red"
290
+ * console.log(Colors[1]);
291
+ *
292
+ * // Prints "1"
293
+ * console.log(Colors["Red]);
294
+ * ```
295
+ *
296
+ * However the compiler's "noImplicitAny" validation has trouble with these mappings, because
297
+ * there are so many possible types for the map elements:
298
+ *
299
+ * ```ts
300
+ * function f(s: string): Colors | undefined {
301
+ * // (TS 7015) Element implicitly has an 'any' type because
302
+ * // index expression is not of type 'number'.
303
+ * return Colors[s];
304
+ * }
305
+ * ```
306
+ *
307
+ * The `Enum` helper provides a more specific, strongly typed way to access members:
308
+ *
309
+ * ```ts
310
+ * function f(s: string): Colors | undefined {
311
+ * return Enum.tryGetValueByKey(Colors, s);
312
+ * }
313
+ * ```
314
+ *
315
+ * @public
316
+ */
317
+ export declare class Enum {
318
+ private constructor();
319
+ /**
320
+ * Returns an enum value, given its key. Returns `undefined` if no matching key is found.
321
+ *
322
+ * @example
323
+ *
324
+ * Example usage:
325
+ * ```ts
326
+ * enum Colors {
327
+ * Red = 1
328
+ * }
329
+ *
330
+ * // Prints "1"
331
+ * console.log(Enum.tryGetValueByKey(Colors, "Red"));
332
+ *
333
+ * // Prints "undefined"
334
+ * console.log(Enum.tryGetValueByKey(Colors, "Black"));
335
+ * ```
336
+ */
337
+ static tryGetValueByKey<TEnumValue>(enumObject: {
338
+ [key: string]: TEnumValue | string;
339
+ [key: number]: TEnumValue | string;
340
+ }, key: string): TEnumValue | undefined;
341
+ /**
342
+ * This API is similar to {@link Enum.tryGetValueByKey}, except that it throws an exception
343
+ * if the key is undefined.
344
+ */
345
+ static getValueByKey<TEnumValue>(enumObject: {
346
+ [key: string]: TEnumValue | string;
347
+ [key: number]: TEnumValue | string;
348
+ }, key: string): TEnumValue;
349
+ /**
350
+ * Returns an enum string key, given its numeric value. Returns `undefined` if no matching value
351
+ * is found.
352
+ *
353
+ * @remarks
354
+ * The TypeScript compiler only creates a reverse mapping for enum members whose value is numeric.
355
+ * For example:
356
+ *
357
+ * ```ts
358
+ * enum E {
359
+ * A = 1,
360
+ * B = 'c'
361
+ * }
362
+ *
363
+ * // Prints "A"
364
+ * console.log(E[1]);
365
+ *
366
+ * // Prints "undefined"
367
+ * console.log(E["c"]);
368
+ * ```
369
+ *
370
+ * @example
371
+ *
372
+ * Example usage:
373
+ * ```ts
374
+ * enum Colors {
375
+ * Red = 1,
376
+ * Blue = 'blue'
377
+ * }
378
+ *
379
+ * // Prints "Red"
380
+ * console.log(Enum.tryGetKeyByNumber(Colors, 1));
381
+ *
382
+ * // Prints "undefined"
383
+ * console.log(Enum.tryGetKeyByNumber(Colors, -1));
384
+ * ```
385
+ */
386
+ static tryGetKeyByNumber<TEnumValue, TEnumObject extends {
387
+ [key: string]: TEnumValue;
388
+ }>(enumObject: TEnumObject, value: number): keyof typeof enumObject | undefined;
389
+ /**
390
+ * This API is similar to {@link Enum.tryGetKeyByNumber}, except that it throws an exception
391
+ * if the key is undefined.
392
+ */
393
+ static getKeyByNumber<TEnumValue, TEnumObject extends {
394
+ [key: string]: TEnumValue;
395
+ }>(enumObject: TEnumObject, value: number): keyof typeof enumObject;
396
+ }
397
+
398
+ /**
399
+ * A map data structure that stores process environment variables. On Windows
400
+ * operating system, the variable names are case-insensitive.
401
+ * @public
402
+ */
403
+ export declare class EnvironmentMap {
404
+ private readonly _map;
405
+ /**
406
+ * Whether the environment variable names are case-sensitive.
407
+ *
408
+ * @remarks
409
+ * On Windows operating system, environment variables are case-insensitive.
410
+ * The map will preserve the variable name casing from the most recent assignment operation.
411
+ */
412
+ readonly caseSensitive: boolean;
413
+ constructor(environmentObject?: Record<string, string | undefined>);
414
+ /**
415
+ * Clears all entries, resulting in an empty map.
416
+ */
417
+ clear(): void;
418
+ /**
419
+ * Assigns the variable to the specified value. A previous value will be overwritten.
420
+ *
421
+ * @remarks
422
+ * The value can be an empty string. To completely remove the entry, use
423
+ * {@link EnvironmentMap.unset} instead.
424
+ */
425
+ set(name: string, value: string): void;
426
+ /**
427
+ * Removes the key from the map, if present.
428
+ */
429
+ unset(name: string): void;
430
+ /**
431
+ * Returns the value of the specified variable, or `undefined` if the map does not contain that name.
432
+ */
433
+ get(name: string): string | undefined;
434
+ /**
435
+ * Returns the map keys, which are environment variable names.
436
+ */
437
+ names(): IterableIterator<string>;
438
+ /**
439
+ * Returns the map entries.
440
+ */
441
+ entries(): IterableIterator<IEnvironmentEntry>;
442
+ /**
443
+ * Adds each entry from `environmentMap` to this map.
444
+ */
445
+ mergeFrom(environmentMap: EnvironmentMap): void;
446
+ /**
447
+ * Merges entries from a plain JavaScript object, such as would be used with the `process.env` API.
448
+ */
449
+ mergeFromObject(environmentObject?: Record<string, string | undefined>): void;
450
+ /**
451
+ * Returns the keys as a plain JavaScript object similar to the object returned by the `process.env` API.
452
+ */
453
+ toObject(): Record<string, string>;
454
+ }
455
+
456
+ /**
457
+ * The Executable class provides a safe, portable, recommended solution for tools that need
458
+ * to launch child processes.
459
+ *
460
+ * @remarks
461
+ * The NodeJS child_process API provides a solution for launching child processes, however
462
+ * its design encourages reliance on the operating system shell for certain features.
463
+ * Invoking the OS shell is not safe, not portable, and generally not recommended:
464
+ *
465
+ * - Different shells have different behavior and command-line syntax, and which shell you
466
+ * will get with NodeJS is unpredictable. There is no universal shell guaranteed to be
467
+ * available on all platforms.
468
+ *
469
+ * - If a command parameter contains symbol characters, a shell may interpret them, which
470
+ * can introduce a security vulnerability
471
+ *
472
+ * - Each shell has different rules for escaping these symbols. On Windows, the default
473
+ * shell is incapable of escaping certain character sequences.
474
+ *
475
+ * The Executable API provides a pure JavaScript implementation of primitive shell-like
476
+ * functionality for searching the default PATH, appending default file extensions on Windows,
477
+ * and executing a file that may contain a POSIX shebang. This primitive functionality
478
+ * is sufficient (and recommended) for most tooling scenarios.
479
+ *
480
+ * If you need additional shell features such as wildcard globbing, environment variable
481
+ * expansion, piping, or built-in commands, then we recommend to use the `@microsoft/rushell`
482
+ * library instead. Rushell is a pure JavaScript shell with a standard syntax that is
483
+ * guaranteed to work consistently across all platforms.
484
+ *
485
+ * @public
486
+ */
487
+ export declare class Executable {
488
+ /**
489
+ * Synchronously create a child process and optionally capture its output.
490
+ *
491
+ * @remarks
492
+ * This function is similar to child_process.spawnSync(). The main differences are:
493
+ *
494
+ * - It does not invoke the OS shell unless the executable file is a shell script.
495
+ * - Command-line arguments containing special characters are more accurately passed
496
+ * through to the child process.
497
+ * - If the filename is missing a path, then the shell's default PATH will be searched.
498
+ * - If the filename is missing a file extension, then Windows default file extensions
499
+ * will be searched.
500
+ *
501
+ * @param filename - The name of the executable file. This string must not contain any
502
+ * command-line arguments. If the name contains any path delimiters, then the shell's
503
+ * default PATH will not be searched.
504
+ * @param args - The command-line arguments to be passed to the process.
505
+ * @param options - Additional options
506
+ * @returns the same data type as returned by the NodeJS child_process.spawnSync() API
507
+ *
508
+ * @privateRemarks
509
+ *
510
+ * NOTE: The NodeJS spawnSync() returns SpawnSyncReturns<string> or SpawnSyncReturns<Buffer>
511
+ * polymorphically based on the options.encoding parameter value. This is a fairly confusing
512
+ * design. In most cases, developers want string with the default encoding. If/when someone
513
+ * wants binary output or a non-default text encoding, we will introduce a separate API function
514
+ * with a name like "spawnWithBufferSync".
515
+ */
516
+ static spawnSync(filename: string, args: string[], options?: IExecutableSpawnSyncOptions): child_process.SpawnSyncReturns<string>;
517
+ /**
518
+ * Start a child process.
519
+ *
520
+ * @remarks
521
+ * This function is similar to child_process.spawn(). The main differences are:
522
+ *
523
+ * - It does not invoke the OS shell unless the executable file is a shell script.
524
+ * - Command-line arguments containing special characters are more accurately passed
525
+ * through to the child process.
526
+ * - If the filename is missing a path, then the shell's default PATH will be searched.
527
+ * - If the filename is missing a file extension, then Windows default file extensions
528
+ * will be searched.
529
+ *
530
+ * This command is asynchronous, but it does not return a `Promise`. Instead it returns
531
+ * a Node.js `ChildProcess` supporting event notifications.
532
+ *
533
+ * @param filename - The name of the executable file. This string must not contain any
534
+ * command-line arguments. If the name contains any path delimiters, then the shell's
535
+ * default PATH will not be searched.
536
+ * @param args - The command-line arguments to be passed to the process.
537
+ * @param options - Additional options
538
+ * @returns the same data type as returned by the NodeJS child_process.spawnSync() API
539
+ */
540
+ static spawn(filename: string, args: string[], options?: IExecutableSpawnOptions): child_process.ChildProcess;
541
+ /** {@inheritDoc Executable.(waitForExitAsync:3)} */
542
+ static waitForExitAsync(childProcess: child_process.ChildProcess, options: IWaitForExitWithStringOptions): Promise<IWaitForExitResult<string>>;
543
+ /** {@inheritDoc Executable.(waitForExitAsync:3)} */
544
+ static waitForExitAsync(childProcess: child_process.ChildProcess, options: IWaitForExitWithBufferOptions): Promise<IWaitForExitResult<Buffer>>;
545
+ /**
546
+ * Wait for a child process to exit and return the result.
547
+ *
548
+ * @param childProcess - The child process to wait for.
549
+ * @param options - Options for waiting for the process to exit.
550
+ */
551
+ static waitForExitAsync(childProcess: child_process.ChildProcess, options?: IWaitForExitOptions): Promise<IWaitForExitResult<never>>;
552
+ /**
553
+ * Get the list of processes currently running on the system, keyed by the process ID.
554
+ *
555
+ * @remarks The underlying implementation depends on the operating system:
556
+ * - On Windows, this uses the `wmic.exe` utility.
557
+ * - On Unix, this uses the `ps` utility.
558
+ */
559
+ static getProcessInfoByIdAsync(): Promise<Map<number, IProcessInfo>>;
560
+ /**
561
+ * {@inheritDoc Executable.getProcessInfoByIdAsync}
562
+ */
563
+ static getProcessInfoById(): Map<number, IProcessInfo>;
564
+ /**
565
+ * Get the list of processes currently running on the system, keyed by the process name. All processes
566
+ * with the same name will be grouped.
567
+ *
568
+ * @remarks The underlying implementation depends on the operating system:
569
+ * - On Windows, this uses the `wmic.exe` utility.
570
+ * - On Unix, this uses the `ps` utility.
571
+ */
572
+ static getProcessInfoByNameAsync(): Promise<Map<string, IProcessInfo[]>>;
573
+ /**
574
+ * {@inheritDoc Executable.getProcessInfoByNameAsync}
575
+ */
576
+ static getProcessInfoByName(): Map<string, IProcessInfo[]>;
577
+ private static _buildCommandLineFixup;
578
+ /**
579
+ * Given a filename, this determines the absolute path of the executable file that would
580
+ * be executed by a shell:
581
+ *
582
+ * - If the filename is missing a path, then the shell's default PATH will be searched.
583
+ * - If the filename is missing a file extension, then Windows default file extensions
584
+ * will be searched.
585
+ *
586
+ * @remarks
587
+ *
588
+ * @param filename - The name of the executable file. This string must not contain any
589
+ * command-line arguments. If the name contains any path delimiters, then the shell's
590
+ * default PATH will not be searched.
591
+ * @param options - optional other parameters
592
+ * @returns the absolute path of the executable, or undefined if it was not found
593
+ */
594
+ static tryResolve(filename: string, options?: IExecutableResolveOptions): string | undefined;
595
+ private static _tryResolve;
596
+ private static _tryResolveFileExtension;
597
+ private static _buildEnvironmentMap;
598
+ /**
599
+ * This is used when searching the shell PATH for an executable, to determine
600
+ * whether a match should be skipped or not. If it returns true, this does not
601
+ * guarantee that the file can be successfully executed.
602
+ */
603
+ private static _canExecute;
604
+ /**
605
+ * Returns the list of folders where we will search for an executable,
606
+ * based on the PATH environment variable.
607
+ */
608
+ private static _getSearchFolders;
609
+ private static _getExecutableContext;
610
+ /**
611
+ * Given an input string containing special symbol characters, this inserts the "^" escape
612
+ * character to ensure the symbols are interpreted literally by the Windows shell.
613
+ */
614
+ private static _getEscapedForWindowsShell;
615
+ /**
616
+ * Checks for characters that are unsafe to pass to a Windows batch file
617
+ * due to the way that cmd.exe implements escaping.
618
+ */
619
+ private static _validateArgsForWindowsShell;
620
+ }
621
+
622
+ /**
623
+ * Types for {@link IExecutableSpawnSyncOptions.stdio}
624
+ * and {@link IExecutableSpawnOptions.stdio}
625
+ * @public
626
+ */
627
+ export declare type ExecutableStdioMapping = 'pipe' | 'ignore' | 'inherit' | ExecutableStdioStreamMapping[];
628
+
629
+ /**
630
+ * Typings for one of the streams inside IExecutableSpawnSyncOptions.stdio.
631
+ * @public
632
+ */
633
+ export declare type ExecutableStdioStreamMapping = 'pipe' | 'ignore' | 'inherit' | NodeJS.WritableStream | NodeJS.ReadableStream | number | undefined;
634
+
635
+ /**
636
+ * String constants for common filenames and parts of filenames.
637
+ *
638
+ * @public
639
+ */
640
+ export declare const FileConstants: {
641
+ /**
642
+ * "package.json" - the configuration file that defines an NPM package
643
+ */
644
+ readonly PackageJson: "package.json";
645
+ };
646
+
647
+ /**
648
+ * An `Error` subclass that should be thrown to report an unexpected state that specifically references
649
+ * a location in a file.
650
+ *
651
+ * @remarks The file path provided to the FileError constructor is expected to exist on disk. FileError
652
+ * should not be used for reporting errors that are not in reference to an existing file.
653
+ *
654
+ * @public
655
+ */
656
+ export declare class FileError extends Error {
657
+ /** @internal */
658
+ static _sanitizedEnvironmentVariable: string | undefined;
659
+ /** @internal */
660
+ static _environmentVariableIsAbsolutePath: boolean;
661
+ private static _environmentVariableBasePathFnMap;
662
+ /** {@inheritdoc IFileErrorOptions.absolutePath} */
663
+ readonly absolutePath: string;
664
+ /** {@inheritdoc IFileErrorOptions.projectFolder} */
665
+ readonly projectFolder: string;
666
+ /** {@inheritdoc IFileErrorOptions.line} */
667
+ readonly line: number | undefined;
668
+ /** {@inheritdoc IFileErrorOptions.column} */
669
+ readonly column: number | undefined;
670
+ /**
671
+ * Constructs a new instance of the {@link FileError} class.
672
+ *
673
+ * @param message - A message describing the error.
674
+ * @param options - Options for the error.
675
+ */
676
+ constructor(message: string, options: IFileErrorOptions);
677
+ /**
678
+ * Get the Unix-formatted the error message.
679
+ *
680
+ * @override
681
+ */
682
+ toString(): string;
683
+ /**
684
+ * Get the formatted error message.
685
+ *
686
+ * @param options - Options for the error message format.
687
+ */
688
+ getFormattedErrorMessage(options?: IFileErrorFormattingOptions): string;
689
+ private _evaluateBaseFolder;
690
+ static [Symbol.hasInstance](instance: object): boolean;
691
+ }
692
+
693
+ /**
694
+ * The format that the FileError message should conform to. The supported formats are:
695
+ * - Unix: `<path>:<line>:<column> - <message>`
696
+ * - VisualStudio: `<path>(<line>,<column>) - <message>`
697
+ *
698
+ * @public
699
+ */
700
+ export declare type FileLocationStyle = 'Unix' | 'VisualStudio';
701
+
702
+ /**
703
+ * The FileSystem API provides a complete set of recommended operations for interacting with the file system.
704
+ *
705
+ * @remarks
706
+ * We recommend to use this instead of the native `fs` API, because `fs` is a minimal set of low-level
707
+ * primitives that must be mapped for each supported operating system. The FileSystem API takes a
708
+ * philosophical approach of providing "one obvious way" to do each operation. We also prefer synchronous
709
+ * operations except in cases where there would be a clear performance benefit for using async, since synchronous
710
+ * code is much easier to read and debug. Also, indiscriminate parallelism has been seen to actually worsen
711
+ * performance, versus improving it.
712
+ *
713
+ * Note that in the documentation, we refer to "filesystem objects", this can be a
714
+ * file, folder, symbolic link, hard link, directory junction, etc.
715
+ *
716
+ * @public
717
+ */
718
+ export declare class FileSystem {
719
+ /**
720
+ * Returns true if the path exists on disk.
721
+ * Behind the scenes it uses `fs.existsSync()`.
722
+ * @remarks
723
+ * There is a debate about the fact that after `fs.existsSync()` returns true,
724
+ * the file might be deleted before fs.readSync() is called, which would imply that everybody
725
+ * should catch a `readSync()` exception, and nobody should ever use `fs.existsSync()`.
726
+ * We find this to be unpersuasive, since "unexceptional exceptions" really hinder the
727
+ * break-on-exception debugging experience. Also, throwing/catching is generally slow.
728
+ * @param path - The absolute or relative path to the filesystem object.
729
+ */
730
+ static exists(path: string): boolean;
731
+ /**
732
+ * An async version of {@link FileSystem.exists}.
733
+ */
734
+ static existsAsync(path: string): Promise<boolean>;
735
+ /**
736
+ * Gets the statistics for a particular filesystem object.
737
+ * If the path is a link, this function follows the link and returns statistics about the link target.
738
+ * Behind the scenes it uses `fs.statSync()`.
739
+ * @param path - The absolute or relative path to the filesystem object.
740
+ */
741
+ static getStatistics(path: string): FileSystemStats;
742
+ /**
743
+ * An async version of {@link FileSystem.getStatistics}.
744
+ */
745
+ static getStatisticsAsync(path: string): Promise<FileSystemStats>;
746
+ /**
747
+ * Updates the accessed and modified timestamps of the filesystem object referenced by path.
748
+ * Behind the scenes it uses `fs.utimesSync()`.
749
+ * The caller should specify both times in the `times` parameter.
750
+ * @param path - The path of the file that should be modified.
751
+ * @param times - The times that the object should be updated to reflect.
752
+ */
753
+ static updateTimes(path: string, times: IFileSystemUpdateTimeParameters): void;
754
+ /**
755
+ * An async version of {@link FileSystem.updateTimes}.
756
+ */
757
+ static updateTimesAsync(path: string, times: IFileSystemUpdateTimeParameters): Promise<void>;
758
+ /**
759
+ * Changes the permissions (i.e. file mode bits) for a filesystem object.
760
+ * Behind the scenes it uses `fs.chmodSync()`.
761
+ * @param path - The absolute or relative path to the object that should be updated.
762
+ * @param modeBits - POSIX-style file mode bits specified using the {@link PosixModeBits} enum
763
+ */
764
+ static changePosixModeBits(path: string, modeBits: PosixModeBits): void;
765
+ /**
766
+ * An async version of {@link FileSystem.changePosixModeBits}.
767
+ */
768
+ static changePosixModeBitsAsync(path: string, mode: PosixModeBits): Promise<void>;
769
+ /**
770
+ * Retrieves the permissions (i.e. file mode bits) for a filesystem object.
771
+ * Behind the scenes it uses `fs.chmodSync()`.
772
+ * @param path - The absolute or relative path to the object that should be updated.
773
+ *
774
+ * @remarks
775
+ * This calls {@link FileSystem.getStatistics} to get the POSIX mode bits.
776
+ * If statistics in addition to the mode bits are needed, it is more efficient
777
+ * to call {@link FileSystem.getStatistics} directly instead.
778
+ */
779
+ static getPosixModeBits(path: string): PosixModeBits;
780
+ /**
781
+ * An async version of {@link FileSystem.getPosixModeBits}.
782
+ */
783
+ static getPosixModeBitsAsync(path: string): Promise<PosixModeBits>;
784
+ /**
785
+ * Returns a 10-character string representation of a PosixModeBits value similar to what
786
+ * would be displayed by a command such as "ls -l" on a POSIX-like operating system.
787
+ * @remarks
788
+ * For example, `PosixModeBits.AllRead | PosixModeBits.AllWrite` would be formatted as "-rw-rw-rw-".
789
+ * @param modeBits - POSIX-style file mode bits specified using the {@link PosixModeBits} enum
790
+ */
791
+ static formatPosixModeBits(modeBits: PosixModeBits): string;
792
+ /**
793
+ * Moves a file. The folder must exist, unless the `ensureFolderExists` option is provided.
794
+ * Behind the scenes it uses `fs-extra.moveSync()`
795
+ */
796
+ static move(options: IFileSystemMoveOptions): void;
797
+ /**
798
+ * An async version of {@link FileSystem.move}.
799
+ */
800
+ static moveAsync(options: IFileSystemMoveOptions): Promise<void>;
801
+ /**
802
+ * Recursively creates a folder at a given path.
803
+ * Behind the scenes is uses `fs-extra.ensureDirSync()`.
804
+ * @remarks
805
+ * Throws an exception if anything in the folderPath is not a folder.
806
+ * @param folderPath - The absolute or relative path of the folder which should be created.
807
+ */
808
+ static ensureFolder(folderPath: string): void;
809
+ /**
810
+ * An async version of {@link FileSystem.ensureFolder}.
811
+ */
812
+ static ensureFolderAsync(folderPath: string): Promise<void>;
813
+ /**
814
+ * Reads the names of folder entries, not including "." or "..".
815
+ * Behind the scenes it uses `fs.readdirSync()`.
816
+ * @param folderPath - The absolute or relative path to the folder which should be read.
817
+ * @param options - Optional settings that can change the behavior. Type: `IReadFolderOptions`
818
+ */
819
+ static readFolderItemNames(folderPath: string, options?: IFileSystemReadFolderOptions): string[];
820
+ /**
821
+ * An async version of {@link FileSystem.readFolderItemNames}.
822
+ */
823
+ static readFolderItemNamesAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise<string[]>;
824
+ /**
825
+ * Reads the contents of the folder, not including "." or "..", returning objects including the
826
+ * entry names and types.
827
+ * Behind the scenes it uses `fs.readdirSync()`.
828
+ * @param folderPath - The absolute or relative path to the folder which should be read.
829
+ * @param options - Optional settings that can change the behavior. Type: `IReadFolderOptions`
830
+ */
831
+ static readFolderItems(folderPath: string, options?: IFileSystemReadFolderOptions): FolderItem[];
832
+ /**
833
+ * An async version of {@link FileSystem.readFolderItems}.
834
+ */
835
+ static readFolderItemsAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise<FolderItem[]>;
836
+ /**
837
+ * Deletes a folder, including all of its contents.
838
+ * Behind the scenes is uses `fs-extra.removeSync()`.
839
+ * @remarks
840
+ * Does not throw if the folderPath does not exist.
841
+ * @param folderPath - The absolute or relative path to the folder which should be deleted.
842
+ */
843
+ static deleteFolder(folderPath: string): void;
844
+ /**
845
+ * An async version of {@link FileSystem.deleteFolder}.
846
+ */
847
+ static deleteFolderAsync(folderPath: string): Promise<void>;
848
+ /**
849
+ * Deletes the content of a folder, but not the folder itself. Also ensures the folder exists.
850
+ * Behind the scenes it uses `fs-extra.emptyDirSync()`.
851
+ * @remarks
852
+ * This is a workaround for a common race condition, where the virus scanner holds a lock on the folder
853
+ * for a brief period after it was deleted, causing EBUSY errors for any code that tries to recreate the folder.
854
+ * @param folderPath - The absolute or relative path to the folder which should have its contents deleted.
855
+ */
856
+ static ensureEmptyFolder(folderPath: string): void;
857
+ /**
858
+ * An async version of {@link FileSystem.ensureEmptyFolder}.
859
+ */
860
+ static ensureEmptyFolderAsync(folderPath: string): Promise<void>;
861
+ /**
862
+ * Writes a text string to a file on disk, overwriting the file if it already exists.
863
+ * Behind the scenes it uses `fs.writeFileSync()`.
864
+ * @remarks
865
+ * Throws an error if the folder doesn't exist, unless ensureFolder=true.
866
+ * @param filePath - The absolute or relative path of the file.
867
+ * @param contents - The text that should be written to the file.
868
+ * @param options - Optional settings that can change the behavior. Type: `IWriteFileOptions`
869
+ */
870
+ static writeFile(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): void;
871
+ /**
872
+ * Writes the contents of multiple Uint8Arrays to a file on disk, overwriting the file if it already exists.
873
+ * Behind the scenes it uses `fs.writevSync()`.
874
+ *
875
+ * This API is useful for writing large files efficiently, especially if the input is being concatenated from
876
+ * multiple sources.
877
+ *
878
+ * @remarks
879
+ * Throws an error if the folder doesn't exist, unless ensureFolder=true.
880
+ * @param filePath - The absolute or relative path of the file.
881
+ * @param contents - The content that should be written to the file.
882
+ * @param options - Optional settings that can change the behavior.
883
+ */
884
+ static writeBuffersToFile(filePath: string, contents: ReadonlyArray<NodeJS.ArrayBufferView>, options?: IFileSystemWriteBinaryFileOptions): void;
885
+ /**
886
+ * An async version of {@link FileSystem.writeFile}.
887
+ */
888
+ static writeFileAsync(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): Promise<void>;
889
+ /**
890
+ * An async version of {@link FileSystem.writeBuffersToFile}.
891
+ */
892
+ static writeBuffersToFileAsync(filePath: string, contents: ReadonlyArray<NodeJS.ArrayBufferView>, options?: IFileSystemWriteBinaryFileOptions): Promise<void>;
893
+ /**
894
+ * Writes a text string to a file on disk, appending to the file if it already exists.
895
+ * Behind the scenes it uses `fs.appendFileSync()`.
896
+ * @remarks
897
+ * Throws an error if the folder doesn't exist, unless ensureFolder=true.
898
+ * @param filePath - The absolute or relative path of the file.
899
+ * @param contents - The text that should be written to the file.
900
+ * @param options - Optional settings that can change the behavior. Type: `IWriteFileOptions`
901
+ */
902
+ static appendToFile(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): void;
903
+ /**
904
+ * An async version of {@link FileSystem.appendToFile}.
905
+ */
906
+ static appendToFileAsync(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): Promise<void>;
907
+ /**
908
+ * Reads the contents of a file into a string.
909
+ * Behind the scenes it uses `fs.readFileSync()`.
910
+ * @param filePath - The relative or absolute path to the file whose contents should be read.
911
+ * @param options - Optional settings that can change the behavior. Type: `IReadFileOptions`
912
+ */
913
+ static readFile(filePath: string, options?: IFileSystemReadFileOptions): string;
914
+ /**
915
+ * An async version of {@link FileSystem.readFile}.
916
+ */
917
+ static readFileAsync(filePath: string, options?: IFileSystemReadFileOptions): Promise<string>;
918
+ /**
919
+ * Reads the contents of a file into a buffer.
920
+ * Behind the scenes is uses `fs.readFileSync()`.
921
+ * @param filePath - The relative or absolute path to the file whose contents should be read.
922
+ */
923
+ static readFileToBuffer(filePath: string): Buffer;
924
+ /**
925
+ * An async version of {@link FileSystem.readFileToBuffer}.
926
+ */
927
+ static readFileToBufferAsync(filePath: string): Promise<Buffer>;
928
+ /**
929
+ * Copies a single file from one location to another.
930
+ * By default, destinationPath is overwritten if it already exists.
931
+ *
932
+ * @remarks
933
+ * The `copyFile()` API cannot be used to copy folders. It copies at most one file.
934
+ * Use {@link FileSystem.copyFiles} if you need to recursively copy a tree of folders.
935
+ *
936
+ * The implementation is based on `copySync()` from the `fs-extra` package.
937
+ */
938
+ static copyFile(options: IFileSystemCopyFileOptions): void;
939
+ /**
940
+ * An async version of {@link FileSystem.copyFile}.
941
+ */
942
+ static copyFileAsync(options: IFileSystemCopyFileOptions): Promise<void>;
943
+ /**
944
+ * Copies a file or folder from one location to another, recursively copying any folder contents.
945
+ * By default, destinationPath is overwritten if it already exists.
946
+ *
947
+ * @remarks
948
+ * If you only intend to copy a single file, it is recommended to use {@link FileSystem.copyFile}
949
+ * instead to more clearly communicate the intended operation.
950
+ *
951
+ * The implementation is based on `copySync()` from the `fs-extra` package.
952
+ */
953
+ static copyFiles(options: IFileSystemCopyFilesOptions): void;
954
+ /**
955
+ * An async version of {@link FileSystem.copyFiles}.
956
+ */
957
+ static copyFilesAsync(options: IFileSystemCopyFilesAsyncOptions): Promise<void>;
958
+ /**
959
+ * Deletes a file. Can optionally throw if the file doesn't exist.
960
+ * Behind the scenes it uses `fs.unlinkSync()`.
961
+ * @param filePath - The absolute or relative path to the file that should be deleted.
962
+ * @param options - Optional settings that can change the behavior. Type: `IDeleteFileOptions`
963
+ */
964
+ static deleteFile(filePath: string, options?: IFileSystemDeleteFileOptions): void;
965
+ /**
966
+ * An async version of {@link FileSystem.deleteFile}.
967
+ */
968
+ static deleteFileAsync(filePath: string, options?: IFileSystemDeleteFileOptions): Promise<void>;
969
+ /**
970
+ * Gets the statistics of a filesystem object. Does NOT follow the link to its target.
971
+ * Behind the scenes it uses `fs.lstatSync()`.
972
+ * @param path - The absolute or relative path to the filesystem object.
973
+ */
974
+ static getLinkStatistics(path: string): FileSystemStats;
975
+ /**
976
+ * An async version of {@link FileSystem.getLinkStatistics}.
977
+ */
978
+ static getLinkStatisticsAsync(path: string): Promise<FileSystemStats>;
979
+ /**
980
+ * If `path` refers to a symbolic link, this returns the path of the link target, which may be
981
+ * an absolute or relative path.
982
+ *
983
+ * @remarks
984
+ * If `path` refers to a filesystem object that is not a symbolic link, then an `ErrnoException` is thrown
985
+ * with code 'UNKNOWN'. If `path` does not exist, then an `ErrnoException` is thrown with code `ENOENT`.
986
+ *
987
+ * @param path - The absolute or relative path to the symbolic link.
988
+ * @returns the path of the link target
989
+ */
990
+ static readLink(path: string): string;
991
+ /**
992
+ * An async version of {@link FileSystem.readLink}.
993
+ */
994
+ static readLinkAsync(path: string): Promise<string>;
995
+ /**
996
+ * Creates an NTFS "directory junction" on Windows operating systems; for other operating systems, it
997
+ * creates a regular symbolic link. The link target must be a folder, not a file.
998
+ * Behind the scenes it uses `fs.symlinkSync()`.
999
+ *
1000
+ * @remarks
1001
+ * For security reasons, Windows operating systems by default require administrator elevation to create
1002
+ * symbolic links. As a result, on Windows it's generally recommended for Node.js tools to use hard links
1003
+ * (for files) or NTFS directory junctions (for folders), since regular users are allowed to create them.
1004
+ * Hard links and junctions are less vulnerable to symlink attacks because they cannot reference a network share,
1005
+ * and their target must exist at the time of link creation. Non-Windows operating systems generally don't
1006
+ * restrict symlink creation, and as such are more vulnerable to symlink attacks. Note that Windows can be
1007
+ * configured to permit regular users to create symlinks, for example by enabling Windows 10 "developer mode."
1008
+ *
1009
+ * A directory junction requires the link source and target to both be located on local disk volumes;
1010
+ * if not, use a symbolic link instead.
1011
+ */
1012
+ static createSymbolicLinkJunction(options: IFileSystemCreateLinkOptions): void;
1013
+ /**
1014
+ * An async version of {@link FileSystem.createSymbolicLinkJunction}.
1015
+ */
1016
+ static createSymbolicLinkJunctionAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
1017
+ /**
1018
+ * Creates a symbolic link to a file. On Windows operating systems, this may require administrator elevation.
1019
+ * Behind the scenes it uses `fs.symlinkSync()`.
1020
+ *
1021
+ * @remarks
1022
+ * To avoid administrator elevation on Windows, use {@link FileSystem.createHardLink} instead.
1023
+ *
1024
+ * On Windows operating systems, the NTFS file system distinguishes file symlinks versus directory symlinks:
1025
+ * If the target is not the correct type, the symlink will be created successfully, but will fail to resolve.
1026
+ * Other operating systems do not make this distinction, in which case {@link FileSystem.createSymbolicLinkFile}
1027
+ * and {@link FileSystem.createSymbolicLinkFolder} can be used interchangeably, but doing so will make your
1028
+ * tool incompatible with Windows.
1029
+ */
1030
+ static createSymbolicLinkFile(options: IFileSystemCreateLinkOptions): void;
1031
+ /**
1032
+ * An async version of {@link FileSystem.createSymbolicLinkFile}.
1033
+ */
1034
+ static createSymbolicLinkFileAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
1035
+ /**
1036
+ * Creates a symbolic link to a folder. On Windows operating systems, this may require administrator elevation.
1037
+ * Behind the scenes it uses `fs.symlinkSync()`.
1038
+ *
1039
+ * @remarks
1040
+ * To avoid administrator elevation on Windows, use {@link FileSystem.createSymbolicLinkJunction} instead.
1041
+ *
1042
+ * On Windows operating systems, the NTFS file system distinguishes file symlinks versus directory symlinks:
1043
+ * If the target is not the correct type, the symlink will be created successfully, but will fail to resolve.
1044
+ * Other operating systems do not make this distinction, in which case {@link FileSystem.createSymbolicLinkFile}
1045
+ * and {@link FileSystem.createSymbolicLinkFolder} can be used interchangeably, but doing so will make your
1046
+ * tool incompatible with Windows.
1047
+ */
1048
+ static createSymbolicLinkFolder(options: IFileSystemCreateLinkOptions): void;
1049
+ /**
1050
+ * An async version of {@link FileSystem.createSymbolicLinkFolder}.
1051
+ */
1052
+ static createSymbolicLinkFolderAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
1053
+ /**
1054
+ * Creates a hard link. The link target must be a file, not a folder.
1055
+ * Behind the scenes it uses `fs.linkSync()`.
1056
+ *
1057
+ * @remarks
1058
+ * For security reasons, Windows operating systems by default require administrator elevation to create
1059
+ * symbolic links. As a result, on Windows it's generally recommended for Node.js tools to use hard links
1060
+ * (for files) or NTFS directory junctions (for folders), since regular users are allowed to create them.
1061
+ * Hard links and junctions are less vulnerable to symlink attacks because they cannot reference a network share,
1062
+ * and their target must exist at the time of link creation. Non-Windows operating systems generally don't
1063
+ * restrict symlink creation, and as such are more vulnerable to symlink attacks. Note that Windows can be
1064
+ * configured to permit regular users to create symlinks, for example by enabling Windows 10 "developer mode."
1065
+ *
1066
+ * A hard link requires the link source and target to both be located on same disk volume;
1067
+ * if not, use a symbolic link instead.
1068
+ */
1069
+ static createHardLink(options: IFileSystemCreateLinkOptions): void;
1070
+ /**
1071
+ * An async version of {@link FileSystem.createHardLink}.
1072
+ */
1073
+ static createHardLinkAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
1074
+ /**
1075
+ * Follows a link to its destination and returns the absolute path to the final target of the link.
1076
+ * Behind the scenes it uses `fs.realpathSync()`.
1077
+ * @param linkPath - The path to the link.
1078
+ */
1079
+ static getRealPath(linkPath: string): string;
1080
+ /**
1081
+ * An async version of {@link FileSystem.getRealPath}.
1082
+ */
1083
+ static getRealPathAsync(linkPath: string): Promise<string>;
1084
+ /**
1085
+ * Returns true if the error object indicates the file or folder already exists (`EEXIST`).
1086
+ */
1087
+ static isExistError(error: Error): boolean;
1088
+ /**
1089
+ * Returns true if the error object indicates the file or folder does not exist (`ENOENT` or `ENOTDIR`)
1090
+ */
1091
+ static isNotExistError(error: Error): boolean;
1092
+ /**
1093
+ * Returns true if the error object indicates the file does not exist (`ENOENT`).
1094
+ */
1095
+ static isFileDoesNotExistError(error: Error): boolean;
1096
+ /**
1097
+ * Returns true if the error object indicates the folder does not exist (`ENOTDIR`).
1098
+ */
1099
+ static isFolderDoesNotExistError(error: Error): boolean;
1100
+ /**
1101
+ * Returns true if the error object indicates the target is a directory (`EISDIR`).
1102
+ */
1103
+ static isDirectoryError(error: Error): boolean;
1104
+ /**
1105
+ * Returns true if the error object indicates the target is not a directory (`ENOTDIR`).
1106
+ */
1107
+ static isNotDirectoryError(error: Error): boolean;
1108
+ /**
1109
+ * Returns true if the error object indicates that the `unlink` system call failed
1110
+ * due to a permissions issue (`EPERM`).
1111
+ */
1112
+ static isUnlinkNotPermittedError(error: Error): boolean;
1113
+ /**
1114
+ * Detects if the provided error object is a `NodeJS.ErrnoException`
1115
+ */
1116
+ static isErrnoException(error: Error): error is NodeJS.ErrnoException;
1117
+ private static _handleLink;
1118
+ private static _handleLinkAsync;
1119
+ private static _wrapException;
1120
+ private static _wrapExceptionAsync;
1121
+ private static _updateErrorMessage;
1122
+ }
1123
+
1124
+ /**
1125
+ * Callback function type for {@link IFileSystemCopyFilesAsyncOptions.filter}
1126
+ * @public
1127
+ */
1128
+ export declare type FileSystemCopyFilesAsyncFilter = (sourcePath: string, destinationPath: string) => Promise<boolean>;
1129
+
1130
+ /**
1131
+ * Callback function type for {@link IFileSystemCopyFilesOptions.filter}
1132
+ * @public
1133
+ */
1134
+ export declare type FileSystemCopyFilesFilter = (sourcePath: string, destinationPath: string) => boolean;
1135
+
1136
+ /**
1137
+ * An alias for the Node.js `fs.Stats` object.
1138
+ *
1139
+ * @remarks
1140
+ * This avoids the need to import the `fs` package when using the {@link FileSystem} API.
1141
+ * @public
1142
+ */
1143
+ export declare type FileSystemStats = nodeFs.Stats;
1144
+
1145
+ /**
1146
+ * API for interacting with file handles.
1147
+ * @public
1148
+ */
1149
+ export declare class FileWriter {
1150
+ /**
1151
+ * The `filePath` that was passed to {@link FileWriter.open}.
1152
+ */
1153
+ readonly filePath: string;
1154
+ private _fileDescriptor;
1155
+ private constructor();
1156
+ /**
1157
+ * Opens a new file handle to the file at the specified path and given mode.
1158
+ * Behind the scenes it uses `fs.openSync()`.
1159
+ * The behaviour of this function is platform specific.
1160
+ * See: https://nodejs.org/docs/latest-v8.x/api/fs.html#fs_fs_open_path_flags_mode_callback
1161
+ * @param filePath - The absolute or relative path to the file handle that should be opened.
1162
+ * @param flags - The flags for opening the handle
1163
+ */
1164
+ static open(filePath: string, flags?: IFileWriterFlags): FileWriter;
1165
+ /**
1166
+ * Helper function to convert the file writer array to a Node.js style string (e.g. "wx" or "a").
1167
+ * @param flags - The flags that should be converted.
1168
+ */
1169
+ private static _convertFlagsForNode;
1170
+ /**
1171
+ * Writes some text to the given file handle. Throws if the file handle has been closed.
1172
+ * Behind the scenes it uses `fs.writeSync()`.
1173
+ * @param text - The text to write to the file.
1174
+ */
1175
+ write(text: string): void;
1176
+ /**
1177
+ * Closes the file handle permanently. No operations can be made on this file handle after calling this.
1178
+ * Behind the scenes it uses `fs.closeSync()` and releases the file descriptor to be re-used.
1179
+ *
1180
+ * @remarks
1181
+ * The `close()` method can be called more than once; additional calls are ignored.
1182
+ */
1183
+ close(): void;
1184
+ /**
1185
+ * Gets the statistics for the given file handle. Throws if the file handle has been closed.
1186
+ * Behind the scenes it uses `fs.statSync()`.
1187
+ */
1188
+ getStatistics(): FileSystemStats;
1189
+ }
1190
+
1191
+ /**
1192
+ * String constants for common folder names.
1193
+ *
1194
+ * @public
1195
+ */
1196
+ export declare const FolderConstants: {
1197
+ /**
1198
+ * ".git" - the data storage for a Git working folder
1199
+ */
1200
+ readonly Git: ".git";
1201
+ /**
1202
+ * "node_modules" - the folder where package managers install their files
1203
+ */
1204
+ readonly NodeModules: "node_modules";
1205
+ };
1206
+
1207
+ /**
1208
+ * An alias for the Node.js `fs.Dirent` object.
1209
+ *
1210
+ * @remarks
1211
+ * This avoids the need to import the `fs` package when using the {@link FileSystem} API.
1212
+ * @public
1213
+ */
1214
+ export declare type FolderItem = nodeFs.Dirent;
1215
+
1216
+ /**
1217
+ * Options for controlling the parallelism of asynchronous operations.
1218
+ *
1219
+ * @remarks
1220
+ * Used with {@link (Async:class).(mapAsync:1)}, {@link (Async:class).(mapAsync:2)} and
1221
+ * {@link (Async:class).(forEachAsync:1)}, and {@link (Async:class).(forEachAsync:2)}.
1222
+ *
1223
+ * @public
1224
+ */
1225
+ export declare interface IAsyncParallelismOptions {
1226
+ /**
1227
+ * Optionally used with the {@link (Async:class).(mapAsync:1)}, {@link (Async:class).(mapAsync:2)} and
1228
+ * {@link (Async:class).(forEachAsync:1)}, and {@link (Async:class).(forEachAsync:2)} to limit the maximum
1229
+ * number of concurrent promises to the specified number.
1230
+ */
1231
+ concurrency?: number;
1232
+ /**
1233
+ * Optionally used with the {@link (Async:class).(forEachAsync:2)} to enable weighted operations where an operation can
1234
+ * take up more or less than one concurrency unit.
1235
+ */
1236
+ weighted?: boolean;
1237
+ }
1238
+
1239
+ /**
1240
+ * This interface is part of the {@link IPackageJson} file format. It is used for the
1241
+ * "dependenciesMeta" field.
1242
+ * @public
1243
+ */
1244
+ export declare interface IDependenciesMetaTable {
1245
+ [dependencyName: string]: {
1246
+ injected?: boolean;
1247
+ };
1248
+ }
1249
+
1250
+ /**
1251
+ * A process environment variable name and its value. Used by {@link EnvironmentMap}.
1252
+ * @public
1253
+ */
1254
+ export declare interface IEnvironmentEntry {
1255
+ /**
1256
+ * The name of the environment variable.
1257
+ */
1258
+ name: string;
1259
+ /**
1260
+ * The value of the environment variable.
1261
+ */
1262
+ value: string;
1263
+ }
1264
+
1265
+ /**
1266
+ * Options for Executable.tryResolve().
1267
+ * @public
1268
+ */
1269
+ export declare interface IExecutableResolveOptions {
1270
+ /**
1271
+ * The current working directory. If omitted, process.cwd() will be used.
1272
+ */
1273
+ currentWorkingDirectory?: string;
1274
+ /**
1275
+ * The environment variables for the child process.
1276
+ *
1277
+ * @remarks
1278
+ * If `environment` and `environmentMap` are both omitted, then `process.env` will be used.
1279
+ * If `environment` and `environmentMap` cannot both be specified.
1280
+ */
1281
+ environment?: NodeJS.ProcessEnv;
1282
+ /**
1283
+ * The environment variables for the child process.
1284
+ *
1285
+ * @remarks
1286
+ * If `environment` and `environmentMap` are both omitted, then `process.env` will be used.
1287
+ * If `environment` and `environmentMap` cannot both be specified.
1288
+ */
1289
+ environmentMap?: EnvironmentMap;
1290
+ }
1291
+
1292
+ /**
1293
+ * Options for {@link Executable.spawn}
1294
+ * @public
1295
+ */
1296
+ export declare interface IExecutableSpawnOptions extends IExecutableResolveOptions {
1297
+ /**
1298
+ * The stdio mappings for the child process.
1299
+ *
1300
+ * NOTE: If IExecutableSpawnSyncOptions.input is provided, it will take precedence
1301
+ * over the stdin mapping (stdio[0]).
1302
+ */
1303
+ stdio?: ExecutableStdioMapping;
1304
+ }
1305
+
1306
+ /**
1307
+ * Options for {@link Executable.spawnSync}
1308
+ * @public
1309
+ */
1310
+ export declare interface IExecutableSpawnSyncOptions extends IExecutableResolveOptions {
1311
+ /**
1312
+ * The content to be passed to the child process's stdin.
1313
+ *
1314
+ * NOTE: If specified, this content replaces any IExecutableSpawnSyncOptions.stdio[0]
1315
+ * mapping for stdin.
1316
+ */
1317
+ input?: string;
1318
+ /**
1319
+ * The stdio mappings for the child process.
1320
+ *
1321
+ * NOTE: If IExecutableSpawnSyncOptions.input is provided, it will take precedence
1322
+ * over the stdin mapping (stdio[0]).
1323
+ */
1324
+ stdio?: ExecutableStdioMapping;
1325
+ /**
1326
+ * The maximum time the process is allowed to run before it will be terminated.
1327
+ */
1328
+ timeoutMs?: number;
1329
+ /**
1330
+ * The largest amount of bytes allowed on stdout or stderr for this synchronous operation.
1331
+ * If exceeded, the child process will be terminated. The default is 200 * 1024.
1332
+ */
1333
+ maxBuffer?: number;
1334
+ }
1335
+
1336
+ /**
1337
+ * Provides options for the output message of a file error.
1338
+ *
1339
+ * @public
1340
+ */
1341
+ export declare interface IFileErrorFormattingOptions {
1342
+ /**
1343
+ * The format for the error message. If no format is provided, format 'Unix' is used by default.
1344
+ */
1345
+ format?: FileLocationStyle;
1346
+ }
1347
+
1348
+ /**
1349
+ * Provides options for the creation of a FileError.
1350
+ *
1351
+ * @public
1352
+ */
1353
+ export declare interface IFileErrorOptions {
1354
+ /**
1355
+ * The absolute path to the file that contains the error.
1356
+ */
1357
+ absolutePath: string;
1358
+ /**
1359
+ * The root folder for the project that the error is in relation to.
1360
+ */
1361
+ projectFolder: string;
1362
+ /**
1363
+ * The line number of the error in the target file. Minimum value is 1.
1364
+ */
1365
+ line?: number;
1366
+ /**
1367
+ * The column number of the error in the target file. Minimum value is 1.
1368
+ */
1369
+ column?: number;
1370
+ }
1371
+
1372
+ /**
1373
+ * @public
1374
+ */
1375
+ export declare interface IFileSystemCopyFileBaseOptions {
1376
+ /**
1377
+ * The path of the existing object to be copied.
1378
+ * The path may be absolute or relative.
1379
+ */
1380
+ sourcePath: string;
1381
+ /**
1382
+ * Specifies what to do if the destination path already exists.
1383
+ * @defaultValue {@link AlreadyExistsBehavior.Overwrite}
1384
+ */
1385
+ alreadyExistsBehavior?: AlreadyExistsBehavior;
1386
+ }
1387
+
1388
+ /**
1389
+ * The options for {@link FileSystem.copyFile}
1390
+ * @public
1391
+ */
1392
+ export declare interface IFileSystemCopyFileOptions extends IFileSystemCopyFileBaseOptions {
1393
+ /**
1394
+ * The path that the object will be copied to.
1395
+ * The path may be absolute or relative.
1396
+ */
1397
+ destinationPath: string;
1398
+ }
1399
+
1400
+ /**
1401
+ * The options for {@link FileSystem.copyFilesAsync}
1402
+ * @public
1403
+ */
1404
+ export declare interface IFileSystemCopyFilesAsyncOptions {
1405
+ /**
1406
+ * The starting path of the file or folder to be copied.
1407
+ * The path may be absolute or relative.
1408
+ */
1409
+ sourcePath: string;
1410
+ /**
1411
+ * The path that the files will be copied to.
1412
+ * The path may be absolute or relative.
1413
+ */
1414
+ destinationPath: string;
1415
+ /**
1416
+ * If true, then when copying symlinks, copy the target object instead of copying the link.
1417
+ */
1418
+ dereferenceSymlinks?: boolean;
1419
+ /**
1420
+ * Specifies what to do if a destination path already exists.
1421
+ *
1422
+ * @remarks
1423
+ * This setting is applied individually for each file being copied.
1424
+ * For example, `AlreadyExistsBehavior.Overwrite` will not recursively delete a folder
1425
+ * whose path corresponds to an individual file that is being copied to that location.
1426
+ */
1427
+ alreadyExistsBehavior?: AlreadyExistsBehavior;
1428
+ /**
1429
+ * If true, then the target object will be assigned "last modification" and "last access" timestamps
1430
+ * that are the same as the source. Otherwise, the OS default timestamps are assigned.
1431
+ */
1432
+ preserveTimestamps?: boolean;
1433
+ /**
1434
+ * A callback that will be invoked for each path that is copied. The callback can return `false`
1435
+ * to cause the object to be excluded from the operation.
1436
+ */
1437
+ filter?: FileSystemCopyFilesAsyncFilter | FileSystemCopyFilesFilter;
1438
+ }
1439
+
1440
+ /**
1441
+ * The options for {@link FileSystem.copyFiles}
1442
+ * @public
1443
+ */
1444
+ export declare interface IFileSystemCopyFilesOptions extends IFileSystemCopyFilesAsyncOptions {
1445
+ /** {@inheritdoc IFileSystemCopyFilesAsyncOptions.filter} */
1446
+ filter?: FileSystemCopyFilesFilter;
1447
+ }
1448
+
1449
+ /**
1450
+ * The options for {@link FileSystem.createSymbolicLinkJunction}, {@link FileSystem.createSymbolicLinkFile},
1451
+ * {@link FileSystem.createSymbolicLinkFolder}, and {@link FileSystem.createHardLink}.
1452
+ *
1453
+ * @public
1454
+ */
1455
+ export declare interface IFileSystemCreateLinkOptions {
1456
+ /**
1457
+ * The newly created symbolic link will point to `linkTargetPath` as its target.
1458
+ */
1459
+ linkTargetPath: string;
1460
+ /**
1461
+ * The newly created symbolic link will have this path.
1462
+ */
1463
+ newLinkPath: string;
1464
+ /**
1465
+ * Specifies what to do if the path to create already exists.
1466
+ * The default is `AlreadyExistsBehavior.Error`.
1467
+ */
1468
+ alreadyExistsBehavior?: AlreadyExistsBehavior;
1469
+ }
1470
+
1471
+ /**
1472
+ * The options for {@link FileSystem.deleteFile}
1473
+ * @public
1474
+ */
1475
+ export declare interface IFileSystemDeleteFileOptions {
1476
+ /**
1477
+ * If true, will throw an exception if the file did not exist before `deleteFile()` was called.
1478
+ * @defaultValue false
1479
+ */
1480
+ throwIfNotExists?: boolean;
1481
+ }
1482
+
1483
+ /**
1484
+ * The options for {@link FileSystem.move}
1485
+ * @public
1486
+ */
1487
+ export declare interface IFileSystemMoveOptions {
1488
+ /**
1489
+ * The path of the existing object to be moved.
1490
+ * The path may be absolute or relative.
1491
+ */
1492
+ sourcePath: string;
1493
+ /**
1494
+ * The new path for the object.
1495
+ * The path may be absolute or relative.
1496
+ */
1497
+ destinationPath: string;
1498
+ /**
1499
+ * If true, will overwrite the file if it already exists.
1500
+ * @defaultValue true
1501
+ */
1502
+ overwrite?: boolean;
1503
+ /**
1504
+ * If true, will ensure the folder is created before writing the file.
1505
+ * @defaultValue false
1506
+ */
1507
+ ensureFolderExists?: boolean;
1508
+ }
1509
+
1510
+ /**
1511
+ * The options for {@link FileSystem.readFile}
1512
+ * @public
1513
+ */
1514
+ export declare interface IFileSystemReadFileOptions {
1515
+ /**
1516
+ * If specified, will change the encoding of the file that will be written.
1517
+ * @defaultValue Encoding.Utf8
1518
+ */
1519
+ encoding?: Encoding;
1520
+ /**
1521
+ * If specified, will normalize line endings to the specified style of newline.
1522
+ * @defaultValue `undefined` which means no conversion will be performed
1523
+ */
1524
+ convertLineEndings?: NewlineKind;
1525
+ }
1526
+
1527
+ /**
1528
+ * The options for {@link FileSystem.readFolderItems} and {@link FileSystem.readFolderItemNames}.
1529
+ * @public
1530
+ */
1531
+ export declare interface IFileSystemReadFolderOptions {
1532
+ /**
1533
+ * If true, returns the absolute paths of the files in the folder.
1534
+ * @defaultValue false
1535
+ */
1536
+ absolutePaths?: boolean;
1537
+ }
1538
+
1539
+ /**
1540
+ * The options for {@link FileSystem.updateTimes}
1541
+ * Both times must be specified.
1542
+ * @public
1543
+ */
1544
+ export declare interface IFileSystemUpdateTimeParameters {
1545
+ /**
1546
+ * The POSIX epoch time or Date when this was last accessed.
1547
+ */
1548
+ accessedTime: number | Date;
1549
+ /**
1550
+ * The POSIX epoch time or Date when this was last modified
1551
+ */
1552
+ modifiedTime: number | Date;
1553
+ }
1554
+
1555
+ /**
1556
+ * The options for {@link FileSystem.writeBuffersToFile}
1557
+ * @public
1558
+ */
1559
+ export declare interface IFileSystemWriteBinaryFileOptions {
1560
+ /**
1561
+ * If true, will ensure the folder is created before writing the file.
1562
+ * @defaultValue false
1563
+ */
1564
+ ensureFolderExists?: boolean;
1565
+ }
1566
+
1567
+ /**
1568
+ * The options for {@link FileSystem.writeFile}
1569
+ * @public
1570
+ */
1571
+ export declare interface IFileSystemWriteFileOptions extends IFileSystemWriteBinaryFileOptions {
1572
+ /**
1573
+ * If specified, will normalize line endings to the specified style of newline.
1574
+ * @defaultValue `undefined` which means no conversion will be performed
1575
+ */
1576
+ convertLineEndings?: NewlineKind;
1577
+ /**
1578
+ * If specified, will change the encoding of the file that will be written.
1579
+ * @defaultValue "utf8"
1580
+ */
1581
+ encoding?: Encoding;
1582
+ }
1583
+
1584
+ /**
1585
+ * Interface which represents the flags about which mode the file should be opened in.
1586
+ * @public
1587
+ */
1588
+ export declare interface IFileWriterFlags {
1589
+ /**
1590
+ * Open file for appending.
1591
+ */
1592
+ append?: boolean;
1593
+ /**
1594
+ * Fails if path exists. The exclusive flag ensures that path is newly created.
1595
+ *
1596
+ * @remarks
1597
+ * On POSIX-like operating systems, path is considered to exist even if it is a symlink to a
1598
+ * non-existent file. The exclusive flag may or may not work with network file systems.
1599
+ *
1600
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
1601
+ */
1602
+ exclusive?: boolean;
1603
+ }
1604
+
1605
+ /**
1606
+ * Common options shared by {@link IImportResolveModuleAsyncOptions} and {@link IImportResolvePackageAsyncOptions}
1607
+ * @public
1608
+ */
1609
+ export declare interface IImportResolveAsyncOptions extends IImportResolveOptions {
1610
+ /**
1611
+ * A function used to resolve the realpath of a provided file path.
1612
+ *
1613
+ * @remarks
1614
+ * This is used to resolve symlinks and other non-standard file paths. By default, this uses the
1615
+ * {@link FileSystem.getRealPath} function. However, it can be overridden to use a custom implementation
1616
+ * which may be faster, more accurate, or provide support for additional non-standard file paths.
1617
+ */
1618
+ getRealPathAsync?: (filePath: string) => Promise<string>;
1619
+ }
1620
+
1621
+ /**
1622
+ * Options for {@link Import.resolveModuleAsync}
1623
+ * @public
1624
+ */
1625
+ export declare interface IImportResolveModuleAsyncOptions extends IImportResolveAsyncOptions {
1626
+ /**
1627
+ * The module identifier to resolve. For example "\@rushstack/node-core-library" or
1628
+ * "\@rushstack/node-core-library/lib/index.js"
1629
+ */
1630
+ modulePath: string;
1631
+ }
1632
+
1633
+ /**
1634
+ * Options for {@link Import.resolveModule}
1635
+ * @public
1636
+ */
1637
+ export declare interface IImportResolveModuleOptions extends IImportResolveOptions {
1638
+ /**
1639
+ * The module identifier to resolve. For example "\@rushstack/node-core-library" or
1640
+ * "\@rushstack/node-core-library/lib/index.js"
1641
+ */
1642
+ modulePath: string;
1643
+ }
1644
+
1645
+ /**
1646
+ * Common options shared by {@link IImportResolveModuleOptions} and {@link IImportResolvePackageOptions}
1647
+ * @public
1648
+ */
1649
+ export declare interface IImportResolveOptions {
1650
+ /**
1651
+ * The path from which {@link IImportResolveModuleOptions.modulePath} or
1652
+ * {@link IImportResolvePackageOptions.packageName} should be resolved.
1653
+ */
1654
+ baseFolderPath: string;
1655
+ /**
1656
+ * If true, if the package name matches a Node.js system module, then the return
1657
+ * value will be the package name without any path.
1658
+ *
1659
+ * @remarks
1660
+ * This will take precedence over an installed NPM package of the same name.
1661
+ *
1662
+ * Example:
1663
+ * ```ts
1664
+ * // Returns the string "fs" indicating the Node.js system module
1665
+ * Import.resolveModulePath({
1666
+ * resolvePath: "fs",
1667
+ * basePath: process.cwd()
1668
+ * })
1669
+ * ```
1670
+ */
1671
+ includeSystemModules?: boolean;
1672
+ /**
1673
+ * If true, then resolvePath is allowed to refer to the package.json of the active project.
1674
+ *
1675
+ * @remarks
1676
+ * This will take precedence over any installed dependency with the same name.
1677
+ * Note that this requires an additional PackageJsonLookup calculation.
1678
+ *
1679
+ * Example:
1680
+ * ```ts
1681
+ * // Returns an absolute path to the current package
1682
+ * Import.resolveModulePath({
1683
+ * resolvePath: "current-project",
1684
+ * basePath: process.cwd(),
1685
+ * allowSelfReference: true
1686
+ * })
1687
+ * ```
1688
+ */
1689
+ allowSelfReference?: boolean;
1690
+ /**
1691
+ * A function used to resolve the realpath of a provided file path.
1692
+ *
1693
+ * @remarks
1694
+ * This is used to resolve symlinks and other non-standard file paths. By default, this uses the
1695
+ * {@link FileSystem.getRealPath} function. However, it can be overridden to use a custom implementation
1696
+ * which may be faster, more accurate, or provide support for additional non-standard file paths.
1697
+ */
1698
+ getRealPath?: (filePath: string) => string;
1699
+ }
1700
+
1701
+ /**
1702
+ * Options for {@link Import.resolvePackageAsync}
1703
+ * @public
1704
+ */
1705
+ export declare interface IImportResolvePackageAsyncOptions extends IImportResolveAsyncOptions {
1706
+ /**
1707
+ * The package name to resolve. For example "\@rushstack/node-core-library"
1708
+ */
1709
+ packageName: string;
1710
+ }
1711
+
1712
+ /**
1713
+ * Options for {@link Import.resolvePackage}
1714
+ * @public
1715
+ */
1716
+ export declare interface IImportResolvePackageOptions extends IImportResolveOptions {
1717
+ /**
1718
+ * The package name to resolve. For example "\@rushstack/node-core-library"
1719
+ */
1720
+ packageName: string;
1721
+ /**
1722
+ * If true, then the module path will be resolved using Node.js's built-in resolution algorithm.
1723
+ *
1724
+ * @remarks
1725
+ * This allows reusing Node's built-in resolver cache.
1726
+ * This implies `allowSelfReference: true`. The passed `getRealPath` will only be used on `baseFolderPath`.
1727
+ */
1728
+ useNodeJSResolver?: boolean;
1729
+ }
1730
+
1731
+ /**
1732
+ * Options for {@link JsonFile.loadAndValidate} and {@link JsonFile.loadAndValidateAsync}
1733
+ *
1734
+ * @public
1735
+ */
1736
+ export declare interface IJsonFileLoadAndValidateOptions extends IJsonFileParseOptions, IJsonSchemaValidateOptions {
1737
+ }
1738
+
1739
+ /**
1740
+ * Options for {@link JsonFile.parseString}, {@link JsonFile.load}, and {@link JsonFile.loadAsync}.
1741
+ *
1742
+ * @public
1743
+ */
1744
+ export declare interface IJsonFileParseOptions {
1745
+ /**
1746
+ * Specifies the variant of JSON syntax to be used.
1747
+ *
1748
+ * @defaultValue
1749
+ * {@link JsonSyntax.Json5}
1750
+ *
1751
+ * NOTE: This default will be changed to `JsonSyntax.JsonWithComments` in a future release.
1752
+ */
1753
+ jsonSyntax?: JsonSyntax;
1754
+ }
1755
+
1756
+ /**
1757
+ * Options for {@link JsonFile.save} and {@link JsonFile.saveAsync}.
1758
+ *
1759
+ * @public
1760
+ */
1761
+ export declare interface IJsonFileSaveOptions extends IJsonFileStringifyOptions {
1762
+ /**
1763
+ * If there is an existing file, and the contents have not changed, then
1764
+ * don't write anything; this preserves the old timestamp.
1765
+ */
1766
+ onlyIfChanged?: boolean;
1767
+ /**
1768
+ * Creates the folder recursively using FileSystem.ensureFolder()
1769
+ * Defaults to false.
1770
+ */
1771
+ ensureFolderExists?: boolean;
1772
+ /**
1773
+ * If true, use the "jju" library to preserve the existing JSON formatting: The file will be loaded
1774
+ * from the target filename, the new content will be merged in (preserving whitespace and comments),
1775
+ * and then the file will be overwritten with the merged contents. If the target file does not exist,
1776
+ * then the file is saved normally.
1777
+ */
1778
+ updateExistingFile?: boolean;
1779
+ }
1780
+
1781
+ /**
1782
+ * Options for {@link JsonFile.stringify}
1783
+ *
1784
+ * @public
1785
+ */
1786
+ export declare interface IJsonFileStringifyOptions extends IJsonFileParseOptions {
1787
+ /**
1788
+ * If provided, the specified newline type will be used instead of the default `\r\n`.
1789
+ */
1790
+ newlineConversion?: NewlineKind;
1791
+ /**
1792
+ * By default, {@link JsonFile.stringify} validates that the object does not contain any
1793
+ * keys whose value is `undefined`. To disable this validation, set
1794
+ * {@link IJsonFileStringifyOptions.ignoreUndefinedValues} to `true`
1795
+ * which causes such keys to be silently discarded, consistent with the system `JSON.stringify()`.
1796
+ *
1797
+ * @remarks
1798
+ *
1799
+ * The JSON file format can represent `null` values ({@link JsonNull}) but not `undefined` values.
1800
+ * In ECMAScript code however, we generally avoid `null` and always represent empty states
1801
+ * as `undefined`, because it is the default value of missing/uninitialized variables.
1802
+ * (In practice, distinguishing "null" versus "uninitialized" has more drawbacks than benefits.)
1803
+ * This poses a problem when serializing ECMAScript objects that contain `undefined` members.
1804
+ * As a safeguard, {@link JsonFile} will report an error if any `undefined` values are encountered
1805
+ * during serialization. Set {@link IJsonFileStringifyOptions.ignoreUndefinedValues} to `true`
1806
+ * to disable this safeguard.
1807
+ */
1808
+ ignoreUndefinedValues?: boolean;
1809
+ /**
1810
+ * If true, then the "jju" library will be used to improve the text formatting.
1811
+ * Note that this is slightly slower than the native JSON.stringify() implementation.
1812
+ */
1813
+ prettyFormatting?: boolean;
1814
+ /**
1815
+ * If specified, this header will be prepended to the start of the file. The header must consist
1816
+ * of lines prefixed by "//" characters.
1817
+ * @remarks
1818
+ * When used with {@link IJsonFileSaveOptions.updateExistingFile}
1819
+ * or {@link JsonFile.updateString}, the header will ONLY be added for a newly created file.
1820
+ */
1821
+ headerComment?: string;
1822
+ }
1823
+
1824
+ /**
1825
+ * A definition for a custom format to consider during validation.
1826
+ * @public
1827
+ */
1828
+ export declare interface IJsonSchemaCustomFormat<T extends string | number> {
1829
+ /**
1830
+ * The base JSON type.
1831
+ */
1832
+ type: T extends string ? 'string' : T extends number ? 'number' : never;
1833
+ /**
1834
+ * A validation function for the format.
1835
+ * @param data - The raw field data to validate.
1836
+ * @returns whether the data is valid according to the format.
1837
+ */
1838
+ validate: (data: T) => boolean;
1839
+ }
1840
+
1841
+ /**
1842
+ * Callback function arguments for {@link JsonSchema.validateObjectWithCallback}
1843
+ * @public
1844
+ */
1845
+ export declare interface IJsonSchemaErrorInfo {
1846
+ /**
1847
+ * The ajv error list, formatted as an indented text string.
1848
+ */
1849
+ details: string;
1850
+ }
1851
+
1852
+ /**
1853
+ * Options for {@link JsonSchema.fromFile}
1854
+ * @public
1855
+ */
1856
+ export declare type IJsonSchemaFromFileOptions = IJsonSchemaLoadOptions;
1857
+
1858
+ /**
1859
+ * Options for {@link JsonSchema.fromLoadedObject}
1860
+ * @public
1861
+ */
1862
+ export declare type IJsonSchemaFromObjectOptions = IJsonSchemaLoadOptions;
1863
+
1864
+ /**
1865
+ * Options for {@link JsonSchema.fromFile} and {@link JsonSchema.fromLoadedObject}
1866
+ * @public
1867
+ */
1868
+ export declare interface IJsonSchemaLoadOptions {
1869
+ /**
1870
+ * Other schemas that this schema references, e.g. via the "$ref" directive.
1871
+ * @remarks
1872
+ * The tree of dependent schemas may reference the same schema more than once.
1873
+ * However, if the same schema "$id" is used by two different JsonSchema instances,
1874
+ * an error will be reported. This means you cannot load the same filename twice
1875
+ * and use them both together, and you cannot have diamond dependencies on different
1876
+ * versions of the same schema. Although technically this would be possible to support,
1877
+ * it normally indicates an error or design problem.
1878
+ *
1879
+ * JsonSchema also does not allow circular references between schema dependencies.
1880
+ */
1881
+ dependentSchemas?: JsonSchema[];
1882
+ /**
1883
+ * The json-schema version to target for validation.
1884
+ *
1885
+ * @defaultValue draft-07
1886
+ *
1887
+ * @remarks
1888
+ * If the a version is not explicitly set, the schema object's `$schema` property
1889
+ * will be inspected to determine the version. If a `$schema` property is not found
1890
+ * or does not match an expected URL, the default version will be used.
1891
+ */
1892
+ schemaVersion?: JsonSchemaVersion;
1893
+ /**
1894
+ * Any custom formats to consider during validation. Some standard formats are supported
1895
+ * out-of-the-box (e.g. emails, uris), but additional formats can be defined here. You could
1896
+ * for example define generic numeric formats (e.g. uint8) or domain-specific formats.
1897
+ */
1898
+ customFormats?: Record<string, IJsonSchemaCustomFormat<string> | IJsonSchemaCustomFormat<number>>;
1899
+ }
1900
+
1901
+ /**
1902
+ * Options for {@link JsonSchema.validateObjectWithCallback}
1903
+ * @public
1904
+ */
1905
+ export declare interface IJsonSchemaValidateObjectWithOptions {
1906
+ /**
1907
+ * If true, the root-level `$schema` property in a JSON object being validated will be ignored during validation.
1908
+ * If this is set to `true` and the schema requires a `$schema` property, validation will fail.
1909
+ */
1910
+ ignoreSchemaField?: boolean;
1911
+ }
1912
+
1913
+ /**
1914
+ * Options for {@link JsonSchema.validateObject}
1915
+ * @public
1916
+ */
1917
+ export declare interface IJsonSchemaValidateOptions extends IJsonSchemaValidateObjectWithOptions {
1918
+ /**
1919
+ * A custom header that will be used to report schema errors.
1920
+ * @remarks
1921
+ * If omitted, the default header is "JSON validation failed:". The error message starts with
1922
+ * the header, followed by the full input filename, followed by the ajv error list.
1923
+ * If you wish to customize all aspects of the error message, use JsonFile.loadAndValidateWithCallback()
1924
+ * or JsonSchema.validateObjectWithCallback().
1925
+ */
1926
+ customErrorHeader?: string;
1927
+ }
1928
+
1929
+ /**
1930
+ * Helpers for resolving and importing Node.js modules.
1931
+ * @public
1932
+ */
1933
+ export declare class Import {
1934
+ private static __builtInModules;
1935
+ private static get _builtInModules();
1936
+ /**
1937
+ * Provides a way to improve process startup times by lazy-loading imported modules.
1938
+ *
1939
+ * @remarks
1940
+ * This is a more structured wrapper for the {@link https://www.npmjs.com/package/import-lazy|import-lazy}
1941
+ * package. It enables you to replace an import like this:
1942
+ *
1943
+ * ```ts
1944
+ * import * as example from 'example'; // <-- 100ms load time
1945
+ *
1946
+ * if (condition) {
1947
+ * example.doSomething();
1948
+ * }
1949
+ * ```
1950
+ *
1951
+ * ...with a pattern like this:
1952
+ *
1953
+ * ```ts
1954
+ * const example: typeof import('example') = Import.lazy('example', require);
1955
+ *
1956
+ * if (condition) {
1957
+ * example.doSomething(); // <-- 100ms load time occurs here, only if needed
1958
+ * }
1959
+ * ```
1960
+ *
1961
+ * The implementation relies on JavaScript's `Proxy` feature to intercept access to object members. Thus
1962
+ * it will only work correctly with certain types of module exports. If a particular export isn't well behaved,
1963
+ * you may need to find (or introduce) some other module in your dependency graph to apply the optimization to.
1964
+ *
1965
+ * Usage guidelines:
1966
+ *
1967
+ * - Always specify types using `typeof` as shown above.
1968
+ *
1969
+ * - Never apply lazy-loading in a way that would convert the module's type to `any`. Losing type safety
1970
+ * seriously impacts the maintainability of the code base.
1971
+ *
1972
+ * - In cases where the non-runtime types are needed, import them separately using the `Types` suffix:
1973
+ *
1974
+ * ```ts
1975
+ * const example: typeof import('example') = Import.lazy('example', require);
1976
+ * import type * as exampleTypes from 'example';
1977
+ * ```
1978
+ *
1979
+ * - If the imported module confusingly has the same name as its export, then use the Module suffix:
1980
+ *
1981
+ * ```ts
1982
+ * const exampleModule: typeof import('../../logic/Example') = Import.lazy(
1983
+ * '../../logic/Example', require);
1984
+ * import type * as exampleTypes from '../../logic/Example';
1985
+ * ```
1986
+ *
1987
+ * - If the exports cause a lot of awkwardness (e.g. too many expressions need to have `exampleModule.` inserted
1988
+ * into them), or if some exports cannot be proxied (e.g. `Import.lazy('example', require)` returns a function
1989
+ * signature), then do not lazy-load that module. Instead, apply lazy-loading to some other module which is
1990
+ * better behaved.
1991
+ *
1992
+ * - It's recommended to sort imports in a standard ordering:
1993
+ *
1994
+ * ```ts
1995
+ * // 1. external imports
1996
+ * import * as path from 'path';
1997
+ * import { Import, JsonFile, JsonObject } from '@rushstack/node-core-library';
1998
+ *
1999
+ * // 2. local imports
2000
+ * import { LocalFile } from './path/LocalFile';
2001
+ *
2002
+ * // 3. lazy-imports (which are technically variables, not imports)
2003
+ * const semver: typeof import('semver') = Import.lazy('semver', require);
2004
+ * ```
2005
+ */
2006
+ static lazy(moduleName: string, require: (id: string) => unknown): any;
2007
+ /**
2008
+ * This resolves a module path using similar logic as the Node.js `require.resolve()` API,
2009
+ * but supporting extra features such as specifying the base folder.
2010
+ *
2011
+ * @remarks
2012
+ * A module path is a text string that might appear in a statement such as
2013
+ * `import { X } from "____";` or `const x = require("___");`. The implementation is based
2014
+ * on the popular `resolve` NPM package.
2015
+ *
2016
+ * Suppose `example` is an NPM package whose entry point is `lib/index.js`:
2017
+ * ```ts
2018
+ * // Returns "/path/to/project/node_modules/example/lib/index.js"
2019
+ * Import.resolveModule({ modulePath: 'example' });
2020
+ *
2021
+ * // Returns "/path/to/project/node_modules/example/lib/other.js"
2022
+ * Import.resolveModule({ modulePath: 'example/lib/other' });
2023
+ * ```
2024
+ * If you need to determine the containing package folder
2025
+ * (`/path/to/project/node_modules/example`), use {@link Import.resolvePackage} instead.
2026
+ *
2027
+ * @returns the absolute path of the resolved module.
2028
+ * If {@link IImportResolveOptions.includeSystemModules} is specified
2029
+ * and a system module is found, then its name is returned without any file path.
2030
+ */
2031
+ static resolveModule(options: IImportResolveModuleOptions): string;
2032
+ /**
2033
+ * Async version of {@link Import.resolveModule}.
2034
+ */
2035
+ static resolveModuleAsync(options: IImportResolveModuleAsyncOptions): Promise<string>;
2036
+ /**
2037
+ * Performs module resolution to determine the folder where a package is installed.
2038
+ *
2039
+ * @remarks
2040
+ * Suppose `example` is an NPM package whose entry point is `lib/index.js`:
2041
+ * ```ts
2042
+ * // Returns "/path/to/project/node_modules/example"
2043
+ * Import.resolvePackage({ packageName: 'example' });
2044
+ * ```
2045
+ *
2046
+ * If you need to resolve a module path, use {@link Import.resolveModule} instead:
2047
+ * ```ts
2048
+ * // Returns "/path/to/project/node_modules/example/lib/index.js"
2049
+ * Import.resolveModule({ modulePath: 'example' });
2050
+ * ```
2051
+ *
2052
+ * @returns the absolute path of the package folder.
2053
+ * If {@link IImportResolveOptions.includeSystemModules} is specified
2054
+ * and a system module is found, then its name is returned without any file path.
2055
+ */
2056
+ static resolvePackage(options: IImportResolvePackageOptions): string;
2057
+ /**
2058
+ * Async version of {@link Import.resolvePackage}.
2059
+ */
2060
+ static resolvePackageAsync(options: IImportResolvePackageAsyncOptions): Promise<string>;
2061
+ private static _getPackageName;
2062
+ }
2063
+
2064
+ /**
2065
+ * An interface for accessing common fields from a package.json file whose version field may be missing.
2066
+ *
2067
+ * @remarks
2068
+ * This interface is the same as {@link IPackageJson}, except that the `version` field is optional.
2069
+ * According to the {@link https://docs.npmjs.com/files/package.json | NPM documentation}
2070
+ * and {@link http://wiki.commonjs.org/wiki/Packages/1.0 | CommonJS Packages specification}, the `version` field
2071
+ * is normally a required field for package.json files.
2072
+ *
2073
+ * However, NodeJS relaxes this requirement for its `require()` API. The
2074
+ * {@link https://nodejs.org/dist/latest-v10.x/docs/api/modules.html#modules_folders_as_modules
2075
+ * | "Folders as Modules" section} from the NodeJS documentation gives an example of a package.json file
2076
+ * that has only the `name` and `main` fields. NodeJS does not consider the `version` field during resolution,
2077
+ * so it can be omitted. Some libraries do this.
2078
+ *
2079
+ * Use the `INodePackageJson` interface when loading such files. Use `IPackageJson` for package.json files
2080
+ * that are installed from an NPM registry, or are otherwise known to have a `version` field.
2081
+ *
2082
+ * @public
2083
+ */
2084
+ export declare interface INodePackageJson {
2085
+ /**
2086
+ * The name of the package.
2087
+ */
2088
+ name: string;
2089
+ /**
2090
+ * A version number conforming to the Semantic Versioning (SemVer) standard.
2091
+ */
2092
+ version?: string;
2093
+ /**
2094
+ * Indicates whether this package is allowed to be published or not.
2095
+ */
2096
+ private?: boolean;
2097
+ /**
2098
+ * A brief description of the package.
2099
+ */
2100
+ description?: string;
2101
+ /**
2102
+ * The URL of the project's repository.
2103
+ */
2104
+ repository?: string | IPackageJsonRepository;
2105
+ /**
2106
+ * The URL to the project's web page.
2107
+ */
2108
+ homepage?: string;
2109
+ /**
2110
+ * The name of the license.
2111
+ */
2112
+ license?: string;
2113
+ /**
2114
+ * The path to the module file that will act as the main entry point.
2115
+ */
2116
+ main?: string;
2117
+ /**
2118
+ * The path to the TypeScript *.d.ts file describing the module file
2119
+ * that will act as the main entry point.
2120
+ */
2121
+ types?: string;
2122
+ /**
2123
+ * Alias for `types`
2124
+ */
2125
+ typings?: string;
2126
+ /**
2127
+ * The path to the TSDoc metadata file.
2128
+ * This is still being standardized: https://github.com/microsoft/tsdoc/issues/7#issuecomment-442271815
2129
+ * @beta
2130
+ */
2131
+ tsdocMetadata?: string;
2132
+ /**
2133
+ * The main entry point for the package.
2134
+ */
2135
+ bin?: string | Record<string, string>;
2136
+ /**
2137
+ * An array of dependencies that must always be installed for this package.
2138
+ */
2139
+ dependencies?: IPackageJsonDependencyTable;
2140
+ /**
2141
+ * An array of optional dependencies that may be installed for this package.
2142
+ */
2143
+ optionalDependencies?: IPackageJsonDependencyTable;
2144
+ /**
2145
+ * An array of dependencies that must only be installed for developers who will
2146
+ * build this package.
2147
+ */
2148
+ devDependencies?: IPackageJsonDependencyTable;
2149
+ /**
2150
+ * An array of dependencies that must be installed by a consumer of this package,
2151
+ * but which will not be automatically installed by this package.
2152
+ */
2153
+ peerDependencies?: IPackageJsonDependencyTable;
2154
+ /**
2155
+ * An array of metadata for dependencies declared inside dependencies, optionalDependencies, and devDependencies.
2156
+ * https://pnpm.io/package_json#dependenciesmeta
2157
+ */
2158
+ dependenciesMeta?: IDependenciesMetaTable;
2159
+ /**
2160
+ * An array of metadata about peer dependencies.
2161
+ */
2162
+ peerDependenciesMeta?: IPeerDependenciesMetaTable;
2163
+ /**
2164
+ * A table of script hooks that a package manager or build tool may invoke.
2165
+ */
2166
+ scripts?: IPackageJsonScriptTable;
2167
+ /**
2168
+ * A table of package version resolutions. This feature is only implemented by the Yarn package manager.
2169
+ *
2170
+ * @remarks
2171
+ * See the {@link https://github.com/yarnpkg/rfcs/blob/master/implemented/0000-selective-versions-resolutions.md
2172
+ * | 0000-selective-versions-resolutions.md RFC} for details.
2173
+ */
2174
+ resolutions?: Record<string, string>;
2175
+ /**
2176
+ * A table of TypeScript *.d.ts file paths that are compatible with specific TypeScript version
2177
+ * selectors. This data take a form similar to that of the {@link INodePackageJson.exports} field,
2178
+ * with fallbacks listed in order in the value array for example:
2179
+ *
2180
+ * ```JSON
2181
+ * "typesVersions": {
2182
+ * ">=3.1": {
2183
+ * "*": ["./types-3.1/*", "./types-3.1-fallback/*"]
2184
+ * },
2185
+ * ">=3.0": {
2186
+ * "*": ["./types-legacy/*"]
2187
+ * }
2188
+ * }
2189
+ * ```
2190
+ *
2191
+ * or
2192
+ *
2193
+ * ```JSON
2194
+ * "typesVersions": {
2195
+ * ">=3.1": {
2196
+ * "app/*": ["./app/types-3.1/*"],
2197
+ * "lib/*": ["./lib/types-3.1/*"]
2198
+ * },
2199
+ * ">=3.0": {
2200
+ * "app/*": ["./app/types-legacy/*"],
2201
+ * "lib/*": ["./lib/types-legacy/*"]
2202
+ * }
2203
+ * }
2204
+ * ```
2205
+ *
2206
+ * See the
2207
+ * {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions
2208
+ * | TypeScript documentation} for details.
2209
+ */
2210
+ typesVersions?: Record<string, Record<string, [string, ...string[]]>>;
2211
+ /**
2212
+ * The "exports" field is used to specify the entry points for a package.
2213
+ * See {@link https://nodejs.org/api/packages.html#exports | Node.js documentation}
2214
+ */
2215
+ exports?: string | string[] | Record<string, null | string | IPackageJsonExports>;
2216
+ /**
2217
+ * The "files" field is an array of file globs that should be included in the package during publishing.
2218
+ *
2219
+ * See the {@link https://docs.npmjs.com/cli/v6/configuring-npm/package-json#files | NPM documentation}.
2220
+ */
2221
+ files?: string[];
2222
+ }
2223
+
2224
+ /**
2225
+ * An `Error` subclass that should be thrown to report an unexpected state that may indicate a software defect.
2226
+ * An application may handle this error by instructing the end user to report an issue to the application maintainers.
2227
+ *
2228
+ * @remarks
2229
+ * Do not use this class unless you intend to solicit bug reports from end users.
2230
+ *
2231
+ * @public
2232
+ */
2233
+ export declare class InternalError extends Error {
2234
+ /**
2235
+ * If true, a JavScript `debugger;` statement will be invoked whenever the `InternalError` constructor is called.
2236
+ *
2237
+ * @remarks
2238
+ * Generally applications should not be catching and ignoring an `InternalError`. Instead, the error should
2239
+ * be reported and typically the application will terminate. Thus, if `InternalError` is constructed, it's
2240
+ * almost always something we want to examine in a debugger.
2241
+ */
2242
+ static breakInDebugger: boolean;
2243
+ /**
2244
+ * The underlying error message, without the additional boilerplate for an `InternalError`.
2245
+ */
2246
+ readonly unformattedMessage: string;
2247
+ /**
2248
+ * Constructs a new instance of the {@link InternalError} class.
2249
+ *
2250
+ * @param message - A message describing the error. This will be assigned to
2251
+ * {@link InternalError.unformattedMessage}. The `Error.message` field will have additional boilerplate
2252
+ * explaining that the user has encountered a software defect.
2253
+ */
2254
+ constructor(message: string);
2255
+ private static _formatMessage;
2256
+ /** @override */
2257
+ toString(): string;
2258
+ }
2259
+
2260
+ /**
2261
+ * An interface for accessing common fields from a package.json file.
2262
+ *
2263
+ * @remarks
2264
+ * This interface describes a package.json file format whose `name` and `version` field are required.
2265
+ * In some situations, the `version` field is optional; in that case, use the {@link INodePackageJson}
2266
+ * interface instead.
2267
+ *
2268
+ * More fields may be added to this interface in the future. For documentation about the package.json file format,
2269
+ * see the {@link http://wiki.commonjs.org/wiki/Packages/1.0 | CommonJS Packages specification}
2270
+ * and the {@link https://docs.npmjs.com/files/package.json | NPM manual page}.
2271
+ *
2272
+ * @public
2273
+ */
2274
+ export declare interface IPackageJson extends INodePackageJson {
2275
+ /** {@inheritDoc INodePackageJson.version} */
2276
+ version: string;
2277
+ }
2278
+
2279
+ /**
2280
+ * This interface is part of the {@link IPackageJson} file format. It is used for the
2281
+ * "dependencies", "optionalDependencies", and "devDependencies" fields.
2282
+ * @public
2283
+ */
2284
+ export declare interface IPackageJsonDependencyTable {
2285
+ /**
2286
+ * The key is the name of a dependency. The value is a Semantic Versioning (SemVer)
2287
+ * range specifier.
2288
+ */
2289
+ [dependencyName: string]: string;
2290
+ }
2291
+
2292
+ /**
2293
+ * This interface is part of the {@link IPackageJson} file format. It is used for the values
2294
+ * of the "exports" field.
2295
+ *
2296
+ * See {@link https://nodejs.org/api/packages.html#conditional-exports | Node.js documentation on Conditional Exports} and
2297
+ * {@link https://nodejs.org/api/packages.html#community-conditions-definitions | Node.js documentation on Community Conditional Exports}.
2298
+ *
2299
+ * @public
2300
+ */
2301
+ export declare interface IPackageJsonExports {
2302
+ /**
2303
+ * This export is like {@link IPackageJsonExports.node} in that it matches for any NodeJS environment.
2304
+ * This export is specifically for native C++ addons.
2305
+ */
2306
+ 'node-addons'?: string | IPackageJsonExports;
2307
+ /**
2308
+ * This export matches for any NodeJS environment.
2309
+ */
2310
+ node?: string | IPackageJsonExports;
2311
+ /**
2312
+ * This export matches when loaded via ESM syntax (i.e. - `import '...'` or `import('...')`).
2313
+ * This is always mutually exclusive with {@link IPackageJsonExports.require}.
2314
+ */
2315
+ import?: string | IPackageJsonExports;
2316
+ /**
2317
+ * This export matches when loaded via `require()`.
2318
+ * This is always mutually exclusive with {@link IPackageJsonExports.import}.
2319
+ */
2320
+ require?: string | IPackageJsonExports;
2321
+ /**
2322
+ * This export matches as a fallback when no other conditions match. Because exports are evaluated in
2323
+ * the order that they are specified in the `package.json` file, this condition should always come last
2324
+ * as no later exports will match if this one does.
2325
+ */
2326
+ default?: string | IPackageJsonExports;
2327
+ /**
2328
+ * This export matches when loaded by the typing system (i.e. - the TypeScript compiler).
2329
+ */
2330
+ types?: string | IPackageJsonExports;
2331
+ /**
2332
+ * Any web browser environment.
2333
+ */
2334
+ browser?: string | IPackageJsonExports;
2335
+ /**
2336
+ * This export matches in development-only environments.
2337
+ * This is always mutually exclusive with {@link IPackageJsonExports.production}.
2338
+ */
2339
+ development?: string | IPackageJsonExports;
2340
+ /**
2341
+ * This export matches in production-only environments.
2342
+ * This is always mutually exclusive with {@link IPackageJsonExports.development}.
2343
+ */
2344
+ production?: string | IPackageJsonExports;
2345
+ }
2346
+
2347
+ /**
2348
+ * Constructor parameters for {@link PackageJsonLookup}
2349
+ *
2350
+ * @public
2351
+ */
2352
+ export declare interface IPackageJsonLookupParameters {
2353
+ /**
2354
+ * Certain package.json fields such as "contributors" can be very large, and may
2355
+ * significantly increase the memory footprint for the PackageJsonLookup cache.
2356
+ * By default, PackageJsonLookup only loads a subset of standard commonly used
2357
+ * fields names. Set loadExtraFields=true to always return all fields.
2358
+ */
2359
+ loadExtraFields?: boolean;
2360
+ }
2361
+
2362
+ /**
2363
+ * This interface is part of the {@link IPackageJson} file format. It is used for the
2364
+ * "repository" field.
2365
+ * @public
2366
+ */
2367
+ export declare interface IPackageJsonRepository {
2368
+ /**
2369
+ * The source control type for the repository that hosts the project. This is typically "git".
2370
+ */
2371
+ type: string;
2372
+ /**
2373
+ * The URL of the repository that hosts the project.
2374
+ */
2375
+ url: string;
2376
+ /**
2377
+ * If the project does not exist at the root of the repository, its path is specified here.
2378
+ */
2379
+ directory?: string;
2380
+ }
2381
+
2382
+ /**
2383
+ * This interface is part of the {@link IPackageJson} file format. It is used for the
2384
+ * "scripts" field.
2385
+ * @public
2386
+ */
2387
+ export declare interface IPackageJsonScriptTable {
2388
+ /**
2389
+ * The key is the name of the script hook. The value is the script body which may
2390
+ * be a file path or shell script command.
2391
+ */
2392
+ [scriptName: string]: string;
2393
+ }
2394
+
2395
+ /**
2396
+ * Options that configure the validation rules used by a {@link PackageNameParser} instance.
2397
+ *
2398
+ * @remarks
2399
+ * The default validation is based on the npmjs.com registry's policy for published packages, and includes these
2400
+ * restrictions:
2401
+ *
2402
+ * - The package name cannot be longer than 214 characters.
2403
+ *
2404
+ * - The package name must not be empty.
2405
+ *
2406
+ * - Other than the `@` and `/` delimiters used for scopes, the only allowed characters
2407
+ * are letters, numbers, `-`, `_`, and `.`.
2408
+ *
2409
+ * - The name must not start with a `.` or `_`.
2410
+ *
2411
+ * @public
2412
+ */
2413
+ export declare interface IPackageNameParserOptions {
2414
+ /**
2415
+ * If true, allows upper-case letters in package names.
2416
+ * This improves compatibility with some legacy private registries that still allow that.
2417
+ */
2418
+ allowUpperCase?: boolean;
2419
+ }
2420
+
2421
+ /**
2422
+ * A package name that has been separated into its scope and unscoped name.
2423
+ *
2424
+ * @public
2425
+ */
2426
+ export declare interface IParsedPackageName {
2427
+ /**
2428
+ * The parsed NPM scope, or an empty string if there was no scope. The scope value will
2429
+ * always include the at-sign.
2430
+ * @remarks
2431
+ * For example, if the parsed input was "\@scope/example", then scope would be "\@scope".
2432
+ */
2433
+ scope: string;
2434
+ /**
2435
+ * The parsed NPM package name without the scope.
2436
+ * @remarks
2437
+ * For example, if the parsed input was "\@scope/example", then the name would be "example".
2438
+ */
2439
+ unscopedName: string;
2440
+ }
2441
+
2442
+ /**
2443
+ * Result object returned by {@link PackageName.tryParse}
2444
+ *
2445
+ * @public
2446
+ */
2447
+ export declare interface IParsedPackageNameOrError extends IParsedPackageName {
2448
+ /**
2449
+ * If the input string could not be parsed, then this string will contain a nonempty
2450
+ * error message. Otherwise it will be an empty string.
2451
+ */
2452
+ error: string;
2453
+ }
2454
+
2455
+ /**
2456
+ * Options for {@link Path.formatConcisely}.
2457
+ * @public
2458
+ */
2459
+ export declare interface IPathFormatConciselyOptions {
2460
+ /**
2461
+ * The path to be converted.
2462
+ */
2463
+ pathToConvert: string;
2464
+ /**
2465
+ * The base path to use when converting `pathToConvert` to a relative path.
2466
+ */
2467
+ baseFolder: string;
2468
+ /**
2469
+ * If set to true, don't include the leading `./` if the path is under the base folder.
2470
+ */
2471
+ trimLeadingDotSlash?: boolean;
2472
+ }
2473
+
2474
+ /**
2475
+ * Options for {@link Path.formatFileLocation}.
2476
+ * @public
2477
+ */
2478
+ export declare interface IPathFormatFileLocationOptions {
2479
+ /**
2480
+ * The base path to use when converting `pathToFormat` to a relative path. If not specified,
2481
+ * `pathToFormat` will be used as-is.
2482
+ */
2483
+ baseFolder?: string;
2484
+ /**
2485
+ * The path that will be used to specify the file location.
2486
+ */
2487
+ pathToFormat: string;
2488
+ /**
2489
+ * The message related to the file location.
2490
+ */
2491
+ message: string;
2492
+ /**
2493
+ * The style of file location formatting to use.
2494
+ */
2495
+ format: FileLocationStyle;
2496
+ /**
2497
+ * The optional line number. If not specified, the line number will not be included
2498
+ * in the formatted string.
2499
+ */
2500
+ line?: number;
2501
+ /**
2502
+ * The optional column number. If not specified, the column number will not be included
2503
+ * in the formatted string.
2504
+ */
2505
+ column?: number;
2506
+ }
2507
+
2508
+ /**
2509
+ * This interface is part of the {@link IPackageJson} file format. It is used for the
2510
+ * "peerDependenciesMeta" field.
2511
+ * @public
2512
+ */
2513
+ export declare interface IPeerDependenciesMetaTable {
2514
+ [dependencyName: string]: {
2515
+ optional?: boolean;
2516
+ };
2517
+ }
2518
+
2519
+ /**
2520
+ * Process information sourced from the system. This process info is sourced differently depending
2521
+ * on the operating system:
2522
+ * - On Windows, this uses the `wmic.exe` utility.
2523
+ * - On Unix, this uses the `ps` utility.
2524
+ *
2525
+ * @public
2526
+ */
2527
+ export declare interface IProcessInfo {
2528
+ /**
2529
+ * The name of the process.
2530
+ *
2531
+ * @remarks On Windows, the process name will be empty if the process is a kernel process.
2532
+ * On Unix, the process name will be empty if the process is the root process.
2533
+ */
2534
+ processName: string;
2535
+ /**
2536
+ * The process ID.
2537
+ */
2538
+ processId: number;
2539
+ /**
2540
+ * The parent process info.
2541
+ *
2542
+ * @remarks On Windows, the parent process info will be undefined if the process is a kernel process.
2543
+ * On Unix, the parent process info will be undefined if the process is the root process.
2544
+ */
2545
+ parentProcessInfo: IProcessInfo | undefined;
2546
+ /**
2547
+ * The child process infos.
2548
+ */
2549
+ childProcessInfos: IProcessInfo[];
2550
+ }
2551
+
2552
+ /**
2553
+ * Constructor parameters for {@link ProtectableMap}
2554
+ *
2555
+ * @public
2556
+ */
2557
+ export declare interface IProtectableMapParameters<K, V> {
2558
+ /**
2559
+ * An optional hook that will be invoked before Map.clear() is performed.
2560
+ */
2561
+ onClear?: (source: ProtectableMap<K, V>) => void;
2562
+ /**
2563
+ * An optional hook that will be invoked before Map.delete() is performed.
2564
+ */
2565
+ onDelete?: (source: ProtectableMap<K, V>, key: K) => void;
2566
+ /**
2567
+ * An optional hook that will be invoked before Map.set() is performed.
2568
+ * @remarks
2569
+ * If this hook is provided, the function MUST return the `value` parameter.
2570
+ * This provides the opportunity to modify the value before it is added
2571
+ * to the map.
2572
+ */
2573
+ onSet?: (source: ProtectableMap<K, V>, key: K, value: V) => V;
2574
+ }
2575
+
2576
+ /**
2577
+ * Options used when calling the {@link Text.readLinesFromIterable} or
2578
+ * {@link Text.readLinesFromIterableAsync} methods.
2579
+ *
2580
+ * @public
2581
+ */
2582
+ export declare interface IReadLinesFromIterableOptions {
2583
+ /**
2584
+ * The encoding of the input iterable. The default is utf8.
2585
+ */
2586
+ encoding?: Encoding;
2587
+ /**
2588
+ * If true, empty lines will not be returned. The default is false.
2589
+ */
2590
+ ignoreEmptyLines?: boolean;
2591
+ }
2592
+
2593
+ /**
2594
+ * Arguments used to create a function that resolves symlinked node_modules in a path
2595
+ * @public
2596
+ */
2597
+ export declare interface IRealNodeModulePathResolverOptions {
2598
+ fs?: Partial<Pick<typeof nodeFs, 'lstatSync' | 'readlinkSync'>>;
2599
+ path?: Partial<Pick<typeof nodePath, 'isAbsolute' | 'join' | 'resolve' | 'sep'>>;
2600
+ /**
2601
+ * If set to true, the resolver will not throw if part of the path does not exist.
2602
+ * @defaultValue false
2603
+ */
2604
+ ignoreMissingPaths?: boolean;
2605
+ }
2606
+
2607
+ /**
2608
+ * @remarks
2609
+ * Used with {@link Async.runWithRetriesAsync}.
2610
+ *
2611
+ * @public
2612
+ */
2613
+ export declare interface IRunWithRetriesOptions<TResult> {
2614
+ /**
2615
+ * The action to be performed. The action is repeatedly executed until it completes without throwing or the
2616
+ * maximum number of retries is reached.
2617
+ *
2618
+ * @param retryCount - The number of times the action has been retried.
2619
+ */
2620
+ action: (retryCount: number) => Promise<TResult> | TResult;
2621
+ /**
2622
+ * The maximum number of times the action should be retried.
2623
+ */
2624
+ maxRetries: number;
2625
+ /**
2626
+ * The delay in milliseconds between retries.
2627
+ */
2628
+ retryDelayMs?: number;
2629
+ }
2630
+
2631
+ /**
2632
+ * An interface for a builder object that allows a large text string to be constructed incrementally by appending
2633
+ * small chunks.
2634
+ *
2635
+ * @remarks
2636
+ *
2637
+ * {@link StringBuilder} is the default implementation of this contract.
2638
+ *
2639
+ * @public
2640
+ */
2641
+ export declare interface IStringBuilder {
2642
+ /**
2643
+ * Append the specified text to the buffer.
2644
+ */
2645
+ append(text: string): void;
2646
+ /**
2647
+ * Returns a single string containing all the text that was appended to the buffer so far.
2648
+ *
2649
+ * @remarks
2650
+ *
2651
+ * This is a potentially expensive operation.
2652
+ */
2653
+ toString(): string;
2654
+ }
2655
+
2656
+ /**
2657
+ * Details about how the `child_process.ChildProcess` was created.
2658
+ *
2659
+ * @beta
2660
+ */
2661
+ export declare interface ISubprocessOptions {
2662
+ /**
2663
+ * Whether or not the child process was started in detached mode.
2664
+ *
2665
+ * @remarks
2666
+ * On POSIX systems, detached=true is required for killing the subtree. Attempting to kill the
2667
+ * subtree on POSIX systems with detached=false will throw an error. On Windows, detached=true
2668
+ * creates a separate console window and is not required for killing the subtree. In general,
2669
+ * it is recommended to use SubprocessTerminator.RECOMMENDED_OPTIONS when forking or spawning
2670
+ * a child process.
2671
+ */
2672
+ detached: boolean;
2673
+ }
2674
+
2675
+ /**
2676
+ * The options for running a process to completion using {@link Executable.(waitForExitAsync:3)}.
2677
+ *
2678
+ * @public
2679
+ */
2680
+ export declare interface IWaitForExitOptions {
2681
+ /**
2682
+ * Whether or not to throw when the process completes with a non-zero exit code. Defaults to false.
2683
+ *
2684
+ * @defaultValue false
2685
+ */
2686
+ throwOnNonZeroExitCode?: boolean;
2687
+ /**
2688
+ * Whether or not to throw when the process is terminated by a signal. Defaults to false.
2689
+ *
2690
+ * @defaultValue false
2691
+ */
2692
+ throwOnSignal?: boolean;
2693
+ /**
2694
+ * The encoding of the output. If not provided, the output will not be collected.
2695
+ */
2696
+ encoding?: BufferEncoding | 'buffer';
2697
+ }
2698
+
2699
+ /**
2700
+ * The result of running a process to completion using {@link Executable.(waitForExitAsync:3)}.
2701
+ *
2702
+ * @public
2703
+ */
2704
+ export declare interface IWaitForExitResult<T extends Buffer | string | never = never> {
2705
+ /**
2706
+ * The process stdout output, if encoding was specified.
2707
+ */
2708
+ stdout: T;
2709
+ /**
2710
+ * The process stderr output, if encoding was specified.
2711
+ */
2712
+ stderr: T;
2713
+ /**
2714
+ * The process exit code. If the process was terminated, this will be null.
2715
+ */
2716
+ exitCode: number | null;
2717
+ /**
2718
+ * The process signal that terminated the process. If the process exited normally, this will be null.
2719
+ */
2720
+ signal: string | null;
2721
+ }
2722
+
2723
+ /**
2724
+ * {@inheritDoc IWaitForExitOptions}
2725
+ *
2726
+ * @public
2727
+ */
2728
+ export declare interface IWaitForExitWithBufferOptions extends IWaitForExitOptions {
2729
+ /**
2730
+ * {@inheritDoc IWaitForExitOptions.encoding}
2731
+ */
2732
+ encoding: 'buffer';
2733
+ }
2734
+
2735
+ /**
2736
+ * {@inheritDoc IWaitForExitOptions}
2737
+ *
2738
+ * @public
2739
+ */
2740
+ export declare interface IWaitForExitWithStringOptions extends IWaitForExitOptions {
2741
+ /**
2742
+ * {@inheritDoc IWaitForExitOptions.encoding}
2743
+ */
2744
+ encoding: BufferEncoding;
2745
+ }
2746
+
2747
+ /**
2748
+ * @remarks
2749
+ * Used with {@link (Async:class).(forEachAsync:2)} and {@link (Async:class).(mapAsync:2)}.
2750
+ *
2751
+ * @public
2752
+ */
2753
+ export declare interface IWeighted {
2754
+ /**
2755
+ * The weight of the element, used to determine the concurrency units that it will take up.
2756
+ * Must be a whole number greater than or equal to 0.
2757
+ */
2758
+ weight: number;
2759
+ }
2760
+
2761
+ /**
2762
+ * Utilities for reading/writing JSON files.
2763
+ * @public
2764
+ */
2765
+ export declare class JsonFile {
2766
+ /**
2767
+ * @internal
2768
+ */
2769
+ static _formatPathForError: (path: string) => string;
2770
+ /**
2771
+ * Loads a JSON file.
2772
+ */
2773
+ static load(jsonFilename: string, options?: IJsonFileParseOptions): JsonObject;
2774
+ /**
2775
+ * An async version of {@link JsonFile.load}.
2776
+ */
2777
+ static loadAsync(jsonFilename: string, options?: IJsonFileParseOptions): Promise<JsonObject>;
2778
+ /**
2779
+ * Parses a JSON file's contents.
2780
+ */
2781
+ static parseString(jsonContents: string, options?: IJsonFileParseOptions): JsonObject;
2782
+ /**
2783
+ * Loads a JSON file and validate its schema.
2784
+ */
2785
+ static loadAndValidate(jsonFilename: string, jsonSchema: JsonSchema, options?: IJsonFileLoadAndValidateOptions): JsonObject;
2786
+ /**
2787
+ * An async version of {@link JsonFile.loadAndValidate}.
2788
+ */
2789
+ static loadAndValidateAsync(jsonFilename: string, jsonSchema: JsonSchema, options?: IJsonFileLoadAndValidateOptions): Promise<JsonObject>;
2790
+ /**
2791
+ * Loads a JSON file and validate its schema, reporting errors using a callback
2792
+ * @remarks
2793
+ * See JsonSchema.validateObjectWithCallback() for more info.
2794
+ */
2795
+ static loadAndValidateWithCallback(jsonFilename: string, jsonSchema: JsonSchema, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonFileLoadAndValidateOptions): JsonObject;
2796
+ /**
2797
+ * An async version of {@link JsonFile.loadAndValidateWithCallback}.
2798
+ */
2799
+ static loadAndValidateWithCallbackAsync(jsonFilename: string, jsonSchema: JsonSchema, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonFileLoadAndValidateOptions): Promise<JsonObject>;
2800
+ /**
2801
+ * Serializes the specified JSON object to a string buffer.
2802
+ * @param jsonObject - the object to be serialized
2803
+ * @param options - other settings that control serialization
2804
+ * @returns a JSON string, with newlines, and indented with two spaces
2805
+ */
2806
+ static stringify(jsonObject: JsonObject, options?: IJsonFileStringifyOptions): string;
2807
+ /**
2808
+ * Serializes the specified JSON object to a string buffer.
2809
+ * @param previousJson - the previous JSON string, which will be updated
2810
+ * @param newJsonObject - the object to be serialized
2811
+ * @param options - other settings that control serialization
2812
+ * @returns a JSON string, with newlines, and indented with two spaces
2813
+ */
2814
+ static updateString(previousJson: string, newJsonObject: JsonObject, options?: IJsonFileStringifyOptions): string;
2815
+ /**
2816
+ * Saves the file to disk. Returns false if nothing was written due to options.onlyIfChanged.
2817
+ * @param jsonObject - the object to be saved
2818
+ * @param jsonFilename - the file path to write
2819
+ * @param options - other settings that control how the file is saved
2820
+ * @returns false if ISaveJsonFileOptions.onlyIfChanged didn't save anything; true otherwise
2821
+ */
2822
+ static save(jsonObject: JsonObject, jsonFilename: string, options?: IJsonFileSaveOptions): boolean;
2823
+ /**
2824
+ * An async version of {@link JsonFile.save}.
2825
+ */
2826
+ static saveAsync(jsonObject: JsonObject, jsonFilename: string, options?: IJsonFileSaveOptions): Promise<boolean>;
2827
+ /**
2828
+ * Used to validate a data structure before writing. Reports an error if there
2829
+ * are any undefined members.
2830
+ */
2831
+ static validateNoUndefinedMembers(jsonObject: JsonObject): void;
2832
+ private static _validateNoUndefinedMembers;
2833
+ private static _formatKeyPath;
2834
+ private static _formatJsonHeaderComment;
2835
+ private static _buildJjuParseOptions;
2836
+ }
2837
+
2838
+ /**
2839
+ * The Rush Stack lint rules discourage usage of `null`. However, JSON parsers always return JavaScript's
2840
+ * `null` to keep the two syntaxes consistent. When creating interfaces that describe JSON structures,
2841
+ * use `JsonNull` to avoid triggering the lint rule. Do not use `JsonNull` for any other purpose.
2842
+ *
2843
+ * @remarks
2844
+ * If you are designing a new JSON file format, it's a good idea to avoid `null` entirely. In most cases
2845
+ * there are better representations that convey more information about an item that is unknown, omitted, or disabled.
2846
+ *
2847
+ * To understand why `null` is deprecated, please see the `@rushstack/eslint-plugin` documentation here:
2848
+ *
2849
+ * {@link https://www.npmjs.com/package/@rushstack/eslint-plugin#rushstackno-null}
2850
+ *
2851
+ * @public
2852
+ */
2853
+ export declare type JsonNull = null;
2854
+
2855
+ /**
2856
+ * Represents a JSON-serializable object whose type has not been determined yet.
2857
+ *
2858
+ * @remarks
2859
+ *
2860
+ * This type is similar to `any`, except that it communicates that the object is serializable JSON.
2861
+ *
2862
+ * @public
2863
+ */
2864
+ export declare type JsonObject = any;
2865
+
2866
+ /**
2867
+ * Represents a JSON schema that can be used to validate JSON data files loaded by the JsonFile class.
2868
+ * @remarks
2869
+ * The schema itself is normally loaded and compiled later, only if it is actually required to validate
2870
+ * an input. To avoid schema errors at runtime, it's recommended to create a unit test that calls
2871
+ * JsonSchema.ensureCompiled() for each of your schema objects.
2872
+ *
2873
+ * @public
2874
+ */
2875
+ export declare class JsonSchema {
2876
+ private _dependentSchemas;
2877
+ private _filename;
2878
+ private _validator;
2879
+ private _schemaObject;
2880
+ private _schemaVersion;
2881
+ private _customFormats;
2882
+ private constructor();
2883
+ /**
2884
+ * Registers a JsonSchema that will be loaded from a file on disk.
2885
+ * @remarks
2886
+ * NOTE: An error occurs if the file does not exist; however, the file itself is not loaded or validated
2887
+ * until it the schema is actually used.
2888
+ */
2889
+ static fromFile(filename: string, options?: IJsonSchemaFromFileOptions): JsonSchema;
2890
+ /**
2891
+ * Registers a JsonSchema that will be loaded from an object.
2892
+ */
2893
+ static fromLoadedObject(schemaObject: JsonObject, options?: IJsonSchemaFromObjectOptions): JsonSchema;
2894
+ private static _collectDependentSchemas;
2895
+ /**
2896
+ * Used to nicely format the ZSchema error tree.
2897
+ */
2898
+ private static _formatErrorDetails;
2899
+ /**
2900
+ * Used by _formatErrorDetails.
2901
+ */
2902
+ private static _formatErrorDetailsHelper;
2903
+ /**
2904
+ * Returns a short name for this schema, for use in error messages.
2905
+ * @remarks
2906
+ * If the schema was loaded from a file, then the base filename is used. Otherwise, the "$id"
2907
+ * field is used if available.
2908
+ */
2909
+ get shortName(): string;
2910
+ /**
2911
+ * If not already done, this loads the schema from disk and compiles it.
2912
+ * @remarks
2913
+ * Any dependencies will be compiled as well.
2914
+ */
2915
+ ensureCompiled(): void;
2916
+ /**
2917
+ * Validates the specified JSON object against this JSON schema. If the validation fails,
2918
+ * an exception will be thrown.
2919
+ * @param jsonObject - The JSON data to be validated
2920
+ * @param filenameForErrors - The filename that the JSON data was available, or an empty string
2921
+ * if not applicable
2922
+ * @param options - Other options that control the validation
2923
+ */
2924
+ validateObject(jsonObject: JsonObject, filenameForErrors: string, options?: IJsonSchemaValidateOptions): void;
2925
+ /**
2926
+ * Validates the specified JSON object against this JSON schema. If the validation fails,
2927
+ * a callback is called for each validation error.
2928
+ */
2929
+ validateObjectWithCallback(jsonObject: JsonObject, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonSchemaValidateObjectWithOptions): void;
2930
+ private _ensureLoaded;
2931
+ }
2932
+
2933
+ /**
2934
+ * Specifies the version of json-schema to be validated against.
2935
+ * https://json-schema.org/specification
2936
+ * @public
2937
+ */
2938
+ export declare type JsonSchemaVersion = 'draft-04' | 'draft-07';
2939
+
2940
+ /**
2941
+ * Specifies the variant of JSON syntax to be used.
2942
+ *
2943
+ * @public
2944
+ */
2945
+ export declare enum JsonSyntax {
2946
+ /**
2947
+ * Specifies the exact RFC 8259 format as implemented by the `JSON.parse()` system API.
2948
+ * This format was designed for machine generated inputs such as an HTTP payload.
2949
+ * It is not a recommend choice for human-authored files, because it does not support
2950
+ * code comments.
2951
+ *
2952
+ * @remarks
2953
+ *
2954
+ * A well-known quote from Douglas Crockford, the inventor of JSON:
2955
+ *
2956
+ * "I removed comments from JSON because I saw people were using them to hold parsing directives,
2957
+ * a practice which would have destroyed interoperability. I know that the lack of comments makes
2958
+ * some people sad, but it shouldn't. Suppose you are using JSON to keep configuration files,
2959
+ * which you would like to annotate. Go ahead and insert all the comments you like.
2960
+ * Then pipe it through JSMin before handing it to your JSON parser."
2961
+ *
2962
+ * @see {@link https://datatracker.ietf.org/doc/html/rfc8259 | RFC 8259}
2963
+ */
2964
+ Strict = "strict",
2965
+ /**
2966
+ * `JsonSyntax.JsonWithComments` is the recommended format for human-authored config files.
2967
+ * It is a minimal extension to `JsonSyntax.Strict` adding support for code comments
2968
+ * using `//` and `/*`.
2969
+ *
2970
+ * @remarks
2971
+ *
2972
+ * VS Code calls this format `jsonc`, but it should not be confused with unrelated file formats
2973
+ * and libraries that also use the name "JSONC".
2974
+ *
2975
+ * To fix VS Code syntax highlighting, add this setting:
2976
+ * `"files.associations": { "*.json": "jsonc" }`
2977
+ *
2978
+ * To fix GitHub syntax highlighting, add this to your `.gitattributes`:
2979
+ * `*.json linguist-language=JSON-with-Comments`
2980
+ */
2981
+ JsonWithComments = "jsonWithComments",
2982
+ /**
2983
+ * JSON5 is a project that proposes a JSON-like format supplemented with ECMAScript 5.1
2984
+ * notations for objects, numbers, comments, and more.
2985
+ *
2986
+ * @remarks
2987
+ * Files using this format should use the `.json5` file extension instead of `.json`.
2988
+ *
2989
+ * JSON5 has substantial differences from JSON: object keys may be unquoted, trailing commas
2990
+ * are allowed, and strings may span multiple lines. Whereas {@link JsonSyntax.JsonWithComments} can
2991
+ * be cheaply converted to standard JSON by stripping comments, parsing JSON5 requires a
2992
+ * nontrivial algorithm that may not be easily available in some contexts or programming languages.
2993
+ *
2994
+ * @see {@link https://json5.org/ | JSON5 project website}
2995
+ */
2996
+ Json5 = "json5"
2997
+ }
2998
+
2999
+ /**
3000
+ * Helper functions used when interacting with APIs that do not follow modern coding practices.
3001
+ * @public
3002
+ */
3003
+ export declare class LegacyAdapters {
3004
+ /**
3005
+ * This function wraps a function with a callback in a promise.
3006
+ */
3007
+ static convertCallbackToPromise<TResult, TError>(fn: (cb: LegacyCallback<TResult, TError>) => void): Promise<TResult>;
3008
+ static convertCallbackToPromise<TResult, TError, TArg1>(fn: (arg1: TArg1, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1): Promise<TResult>;
3009
+ static convertCallbackToPromise<TResult, TError, TArg1, TArg2>(fn: (arg1: TArg1, arg2: TArg2, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2): Promise<TResult>;
3010
+ static convertCallbackToPromise<TResult, TError, TArg1, TArg2, TArg3>(fn: (arg1: TArg1, arg2: TArg2, arg3: TArg3, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2, arg3: TArg3): Promise<TResult>;
3011
+ static convertCallbackToPromise<TResult, TError, TArg1, TArg2, TArg3, TArg4>(fn: (arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4): Promise<TResult>;
3012
+ /**
3013
+ * Normalizes an object into an `Error` object.
3014
+ */
3015
+ static scrubError(error: Error | string | any): Error;
3016
+ }
3017
+
3018
+ /**
3019
+ * Callback used by {@link LegacyAdapters}.
3020
+ * @public
3021
+ */
3022
+ export declare type LegacyCallback<TResult, TError> = (error: TError | null | undefined, result: TResult) => void;
3023
+
3024
+ /**
3025
+ * The `LockFile` implements a file-based mutex for synchronizing access to a shared resource
3026
+ * between multiple Node.js processes. It is not recommended for synchronization solely within
3027
+ * a single Node.js process.
3028
+ * @remarks
3029
+ * The implementation works on Windows, Mac, and Linux without requiring any native helpers.
3030
+ * On non-Windows systems, the algorithm requires access to the `ps` shell command. On Linux,
3031
+ * it requires access the `/proc/${pidString}/stat` filesystem.
3032
+ * @public
3033
+ */
3034
+ export declare class LockFile {
3035
+ private static _getStartTime;
3036
+ private _fileWriter;
3037
+ private _filePath;
3038
+ private _dirtyWhenAcquired;
3039
+ private constructor();
3040
+ /**
3041
+ * Returns the path of the lockfile that will be created when a lock is successfully acquired.
3042
+ * @param resourceFolder - The folder where the lock file will be created
3043
+ * @param resourceName - An alphanumeric name that describes the resource being locked. This will become
3044
+ * the filename of the temporary file created to manage the lock.
3045
+ * @param pid - The PID for the current Node.js process (`process.pid`), which is used by the locking algorithm.
3046
+ */
3047
+ static getLockFilePath(resourceFolder: string, resourceName: string, pid?: number): string;
3048
+ /**
3049
+ * Attempts to create a lockfile with the given filePath.
3050
+ * @param resourceFolder - The folder where the lock file will be created
3051
+ * @param resourceName - An alphanumeric name that describes the resource being locked. This will become
3052
+ * the filename of the temporary file created to manage the lock.
3053
+ * @returns If successful, returns a `LockFile` instance. If unable to get a lock, returns `undefined`.
3054
+ */
3055
+ static tryAcquire(resourceFolder: string, resourceName: string): LockFile | undefined;
3056
+ /**
3057
+ * @deprecated Use {@link LockFile.acquireAsync} instead.
3058
+ */
3059
+ static acquire(resourceFolder: string, resourceName: string, maxWaitMs?: number): Promise<LockFile>;
3060
+ /**
3061
+ * Attempts to create the lockfile. Will continue to loop at every 100ms until the lock becomes available
3062
+ * or the maxWaitMs is surpassed.
3063
+ *
3064
+ * @remarks
3065
+ * This function is subject to starvation, whereby it does not ensure that the process that has been
3066
+ * waiting the longest to acquire the lock will get it first. This means that a process could theoretically
3067
+ * wait for the lock forever, while other processes skipped it in line and acquired the lock first.
3068
+ *
3069
+ * @param resourceFolder - The folder where the lock file will be created
3070
+ * @param resourceName - An alphanumeric name that describes the resource being locked. This will become
3071
+ * the filename of the temporary file created to manage the lock.
3072
+ * @param maxWaitMs - The maximum number of milliseconds to wait for the lock before reporting an error
3073
+ */
3074
+ static acquireAsync(resourceFolder: string, resourceName: string, maxWaitMs?: number): Promise<LockFile>;
3075
+ private static _tryAcquireInner;
3076
+ /**
3077
+ * Attempts to acquire the lock on a Linux or OSX machine
3078
+ */
3079
+ private static _tryAcquireMacOrLinux;
3080
+ /**
3081
+ * Attempts to acquire the lock using Windows
3082
+ * This algorithm is much simpler since we can rely on the operating system
3083
+ */
3084
+ private static _tryAcquireWindows;
3085
+ /**
3086
+ * Unlocks a file and optionally removes it from disk.
3087
+ * This can only be called once.
3088
+ *
3089
+ * @param deleteFile - Whether to delete the lockfile from disk. Defaults to true.
3090
+ */
3091
+ release(deleteFile?: boolean): void;
3092
+ /**
3093
+ * Returns the initial state of the lock.
3094
+ * This can be used to detect if the previous process was terminated before releasing the resource.
3095
+ */
3096
+ get dirtyWhenAcquired(): boolean;
3097
+ /**
3098
+ * Returns the absolute path to the lockfile
3099
+ */
3100
+ get filePath(): string;
3101
+ /**
3102
+ * Returns true if this lock is currently being held.
3103
+ */
3104
+ get isReleased(): boolean;
3105
+ }
3106
+
3107
+ /**
3108
+ * Helper functions for working with the `Map<K, V>` data type.
3109
+ *
3110
+ * @public
3111
+ */
3112
+ export declare class MapExtensions {
3113
+ /**
3114
+ * Adds all the (key, value) pairs from the source map into the target map.
3115
+ * @remarks
3116
+ * This function modifies targetMap. Any existing keys will be overwritten.
3117
+ * @param targetMap - The map that entries will be added to
3118
+ * @param sourceMap - The map containing the entries to be added
3119
+ */
3120
+ static mergeFromMap<K, V>(targetMap: Map<K, V>, sourceMap: ReadonlyMap<K, V>): void;
3121
+ /**
3122
+ * Converts a string-keyed map to an object.
3123
+ * @remarks
3124
+ * This function has the same effect as Object.fromEntries(map.entries())
3125
+ * in supported versions of Node (\>= 12.0.0).
3126
+ * @param map - The map that the object properties will be sourced from
3127
+ */
3128
+ static toObject<TValue>(map: Map<string, TValue>): {
3129
+ [key: string]: TValue;
3130
+ };
3131
+ }
3132
+
3133
+ /**
3134
+ * Implements a standard heap data structure for items of type T and a custom comparator.
3135
+ * The root will always be the minimum value as determined by the comparator.
3136
+ *
3137
+ * @public
3138
+ */
3139
+ export declare class MinimumHeap<T> {
3140
+ private readonly _items;
3141
+ private readonly _comparator;
3142
+ /**
3143
+ * Constructs a new MinimumHeap instance.
3144
+ * @param comparator - a comparator function that determines the order of the items in the heap.
3145
+ * If the comparator returns a value less than zero, then `a` will be considered less than `b`.
3146
+ * If the comparator returns zero, then `a` and `b` are considered equal.
3147
+ * Otherwise, `a` will be considered greater than `b`.
3148
+ */
3149
+ constructor(comparator: (a: T, b: T) => number);
3150
+ /**
3151
+ * Returns the number of items in the heap.
3152
+ * @returns the number of items in the heap.
3153
+ */
3154
+ get size(): number;
3155
+ /**
3156
+ * Retrieves the root item from the heap without removing it.
3157
+ * @returns the root item, or `undefined` if the heap is empty
3158
+ */
3159
+ peek(): T | undefined;
3160
+ /**
3161
+ * Retrieves and removes the root item from the heap. The next smallest item will become the new root.
3162
+ * @returns the root item, or `undefined` if the heap is empty
3163
+ */
3164
+ poll(): T | undefined;
3165
+ /**
3166
+ * Pushes an item into the heap.
3167
+ * @param item - the item to push
3168
+ */
3169
+ push(item: T): void;
3170
+ }
3171
+
3172
+ /**
3173
+ * Enumeration controlling conversion of newline characters.
3174
+ * @public
3175
+ */
3176
+ export declare enum NewlineKind {
3177
+ /**
3178
+ * Windows-style newlines
3179
+ */
3180
+ CrLf = "\r\n",
3181
+ /**
3182
+ * POSIX-style newlines
3183
+ *
3184
+ * @remarks
3185
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
3186
+ */
3187
+ Lf = "\n",
3188
+ /**
3189
+ * Default newline type for this operating system (`os.EOL`).
3190
+ */
3191
+ OsDefault = "os"
3192
+ }
3193
+
3194
+ /**
3195
+ * This class provides methods for finding the nearest "package.json" for a folder
3196
+ * and retrieving the name of the package. The results are cached.
3197
+ *
3198
+ * @public
3199
+ */
3200
+ export declare class PackageJsonLookup {
3201
+ private static _instance;
3202
+ /**
3203
+ * A singleton instance of `PackageJsonLookup`, which is useful for short-lived processes
3204
+ * that can reasonably assume that the file system will not be modified after the cache
3205
+ * is populated.
3206
+ *
3207
+ * @remarks
3208
+ * For long-running processes that need to clear the cache at appropriate times,
3209
+ * it is recommended to create your own instance of `PackageJsonLookup` instead
3210
+ * of relying on this instance.
3211
+ */
3212
+ static get instance(): PackageJsonLookup;
3213
+ private _loadExtraFields;
3214
+ private _packageFolderCache;
3215
+ private _packageJsonCache;
3216
+ constructor(parameters?: IPackageJsonLookupParameters);
3217
+ /**
3218
+ * A helper for loading the caller's own package.json file.
3219
+ *
3220
+ * @remarks
3221
+ *
3222
+ * This function provides a concise and efficient way for an NPM package to report metadata about itself.
3223
+ * For example, a tool might want to report its version.
3224
+ *
3225
+ * The `loadOwnPackageJson()` probes upwards from the caller's folder, expecting to find a package.json file,
3226
+ * which is assumed to be the caller's package. The result is cached, under the assumption that a tool's
3227
+ * own package.json (and intermediary folders) will never change during the lifetime of the process.
3228
+ *
3229
+ * @example
3230
+ * ```ts
3231
+ * // Report the version of our NPM package
3232
+ * const myPackageVersion: string = PackageJsonLookup.loadOwnPackageJson(__dirname).version;
3233
+ * console.log(`Cool Tool - Version ${myPackageVersion}`);
3234
+ * ```
3235
+ *
3236
+ * @param dirnameOfCaller - The NodeJS `__dirname` macro for the caller.
3237
+ * @returns This function always returns a valid `IPackageJson` object. If any problems are encountered during
3238
+ * loading, an exception will be thrown instead.
3239
+ */
3240
+ static loadOwnPackageJson(dirnameOfCaller: string): IPackageJson;
3241
+ /**
3242
+ * Clears the internal file cache.
3243
+ * @remarks
3244
+ * Call this method if changes have been made to the package.json files on disk.
3245
+ */
3246
+ clearCache(): void;
3247
+ /**
3248
+ * Returns the absolute path of a folder containing a package.json file, by looking
3249
+ * upwards from the specified fileOrFolderPath. If no package.json can be found,
3250
+ * undefined is returned.
3251
+ *
3252
+ * @remarks
3253
+ * The fileOrFolderPath is not required to actually exist on disk.
3254
+ * The fileOrFolderPath itself can be the return value, if it is a folder containing
3255
+ * a package.json file.
3256
+ * Both positive and negative lookup results are cached.
3257
+ *
3258
+ * @param fileOrFolderPath - a relative or absolute path to a source file or folder
3259
+ * that may be part of a package
3260
+ * @returns an absolute path to a folder containing a package.json file
3261
+ */
3262
+ tryGetPackageFolderFor(fileOrFolderPath: string): string | undefined;
3263
+ /**
3264
+ * If the specified file or folder is part of a package, this returns the absolute path
3265
+ * to the associated package.json file.
3266
+ *
3267
+ * @remarks
3268
+ * The package folder is determined using the same algorithm
3269
+ * as {@link PackageJsonLookup.tryGetPackageFolderFor}.
3270
+ *
3271
+ * @param fileOrFolderPath - a relative or absolute path to a source file or folder
3272
+ * that may be part of a package
3273
+ * @returns an absolute path to * package.json file
3274
+ */
3275
+ tryGetPackageJsonFilePathFor(fileOrFolderPath: string): string | undefined;
3276
+ /**
3277
+ * If the specified file or folder is part of a package, this loads and returns the
3278
+ * associated package.json file.
3279
+ *
3280
+ * @remarks
3281
+ * The package folder is determined using the same algorithm
3282
+ * as {@link PackageJsonLookup.tryGetPackageFolderFor}.
3283
+ *
3284
+ * @param fileOrFolderPath - a relative or absolute path to a source file or folder
3285
+ * that may be part of a package
3286
+ * @returns an IPackageJson object, or undefined if the fileOrFolderPath does not
3287
+ * belong to a package
3288
+ */
3289
+ tryLoadPackageJsonFor(fileOrFolderPath: string): IPackageJson | undefined;
3290
+ /**
3291
+ * This function is similar to {@link PackageJsonLookup.tryLoadPackageJsonFor}, except that it does not report
3292
+ * an error if the `version` field is missing from the package.json file.
3293
+ */
3294
+ tryLoadNodePackageJsonFor(fileOrFolderPath: string): INodePackageJson | undefined;
3295
+ /**
3296
+ * Loads the specified package.json file, if it is not already present in the cache.
3297
+ *
3298
+ * @remarks
3299
+ * Unless {@link IPackageJsonLookupParameters.loadExtraFields} was specified,
3300
+ * the returned IPackageJson object will contain a subset of essential fields.
3301
+ * The returned object should be considered to be immutable; the caller must never
3302
+ * modify it.
3303
+ *
3304
+ * @param jsonFilename - a relative or absolute path to a package.json file
3305
+ */
3306
+ loadPackageJson(jsonFilename: string): IPackageJson;
3307
+ /**
3308
+ * This function is similar to {@link PackageJsonLookup.loadPackageJson}, except that it does not report an error
3309
+ * if the `version` field is missing from the package.json file.
3310
+ */
3311
+ loadNodePackageJson(jsonFilename: string): INodePackageJson;
3312
+ private _loadPackageJsonInner;
3313
+ /**
3314
+ * Try to load a package.json file as an INodePackageJson,
3315
+ * returning undefined if the found file does not contain a `name` field.
3316
+ */
3317
+ private _tryLoadNodePackageJsonInner;
3318
+ private _tryGetPackageFolderFor;
3319
+ }
3320
+
3321
+ /**
3322
+ * Provides basic operations for validating and manipulating NPM package names such as `my-package`
3323
+ * or `@scope/my-package`.
3324
+ *
3325
+ * @remarks
3326
+ * This is the default implementation of {@link PackageNameParser}, exposed as a convenient static class.
3327
+ * If you need to configure the parsing rules, use `PackageNameParser` instead.
3328
+ *
3329
+ * @public
3330
+ */
3331
+ export declare class PackageName {
3332
+ private static readonly _parser;
3333
+ /** {@inheritDoc PackageNameParser.tryParse} */
3334
+ static tryParse(packageName: string): IParsedPackageNameOrError;
3335
+ /** {@inheritDoc PackageNameParser.parse} */
3336
+ static parse(packageName: string): IParsedPackageName;
3337
+ /** {@inheritDoc PackageNameParser.getScope} */
3338
+ static getScope(packageName: string): string;
3339
+ /** {@inheritDoc PackageNameParser.getUnscopedName} */
3340
+ static getUnscopedName(packageName: string): string;
3341
+ /** {@inheritDoc PackageNameParser.isValidName} */
3342
+ static isValidName(packageName: string): boolean;
3343
+ /** {@inheritDoc PackageNameParser.validate} */
3344
+ static validate(packageName: string): void;
3345
+ /** {@inheritDoc PackageNameParser.combineParts} */
3346
+ static combineParts(scope: string, unscopedName: string): string;
3347
+ }
3348
+
3349
+ /**
3350
+ * A configurable parser for validating and manipulating NPM package names such as `my-package` or `@scope/my-package`.
3351
+ *
3352
+ * @remarks
3353
+ * If you do not need to customize the parser configuration, it is recommended to use {@link PackageName}
3354
+ * which exposes these operations as a simple static class.
3355
+ *
3356
+ * @public
3357
+ */
3358
+ export declare class PackageNameParser {
3359
+ private static readonly _invalidNameCharactersRegExp;
3360
+ private readonly _options;
3361
+ constructor(options?: IPackageNameParserOptions);
3362
+ /**
3363
+ * This attempts to parse a package name that may include a scope component.
3364
+ * The packageName must not be an empty string.
3365
+ * @remarks
3366
+ * This function will not throw an exception.
3367
+ *
3368
+ * @returns an {@link IParsedPackageNameOrError} structure whose `error` property will be
3369
+ * nonempty if the string could not be parsed.
3370
+ */
3371
+ tryParse(packageName: string): IParsedPackageNameOrError;
3372
+ /**
3373
+ * Same as {@link PackageName.tryParse}, except this throws an exception if the input
3374
+ * cannot be parsed.
3375
+ * @remarks
3376
+ * The packageName must not be an empty string.
3377
+ */
3378
+ parse(packageName: string): IParsedPackageName;
3379
+ /**
3380
+ * {@inheritDoc IParsedPackageName.scope}
3381
+ */
3382
+ getScope(packageName: string): string;
3383
+ /**
3384
+ * {@inheritDoc IParsedPackageName.unscopedName}
3385
+ */
3386
+ getUnscopedName(packageName: string): string;
3387
+ /**
3388
+ * Returns true if the specified package name is valid, or false otherwise.
3389
+ * @remarks
3390
+ * This function will not throw an exception.
3391
+ */
3392
+ isValidName(packageName: string): boolean;
3393
+ /**
3394
+ * Throws an exception if the specified name is not a valid package name.
3395
+ * The packageName must not be an empty string.
3396
+ */
3397
+ validate(packageName: string): void;
3398
+ /**
3399
+ * Combines an optional package scope with an unscoped root name.
3400
+ * @param scope - Must be either an empty string, or a scope name such as "\@example"
3401
+ * @param unscopedName - Must be a nonempty package name that does not contain a scope
3402
+ * @returns A full package name such as "\@example/some-library".
3403
+ */
3404
+ combineParts(scope: string, unscopedName: string): string;
3405
+ }
3406
+
3407
+ /**
3408
+ * Common operations for manipulating file and directory paths.
3409
+ * @remarks
3410
+ * This API is intended to eventually be a complete replacement for the NodeJS "path" API.
3411
+ * @public
3412
+ */
3413
+ export declare class Path {
3414
+ private static _relativePathRegex;
3415
+ private static _upwardPathSegmentRegex;
3416
+ /**
3417
+ * Returns true if "childPath" is located inside the "parentFolderPath" folder
3418
+ * or one of its child folders. Note that "parentFolderPath" is not considered to be
3419
+ * under itself. The "childPath" can refer to any type of file system object.
3420
+ *
3421
+ * @remarks
3422
+ * The indicated file/folder objects are not required to actually exist on disk.
3423
+ * For example, "parentFolderPath" is interpreted as a folder name even if it refers to a file.
3424
+ * If the paths are relative, they will first be resolved using path.resolve().
3425
+ */
3426
+ static isUnder(childPath: string, parentFolderPath: string): boolean;
3427
+ /**
3428
+ * Returns true if "childPath" is equal to "parentFolderPath", or if it is inside that folder
3429
+ * or one of its children. The "childPath" can refer to any type of file system object.
3430
+ *
3431
+ * @remarks
3432
+ * The indicated file/folder objects are not required to actually exist on disk.
3433
+ * For example, "parentFolderPath" is interpreted as a folder name even if it refers to a file.
3434
+ * If the paths are relative, they will first be resolved using path.resolve().
3435
+ */
3436
+ static isUnderOrEqual(childPath: string, parentFolderPath: string): boolean;
3437
+ /**
3438
+ * Returns true if `path1` and `path2` refer to the same underlying path.
3439
+ *
3440
+ * @remarks
3441
+ *
3442
+ * The comparison is performed using `path.relative()`.
3443
+ */
3444
+ static isEqual(path1: string, path2: string): boolean;
3445
+ /**
3446
+ * Formats a path to look nice for reporting purposes.
3447
+ * @remarks
3448
+ * If `pathToConvert` is under the `baseFolder`, then it will be converted to a relative with the `./` prefix
3449
+ * unless the {@link IPathFormatConciselyOptions.trimLeadingDotSlash} option is set to `true`.
3450
+ * Otherwise, it will be converted to an absolute path.
3451
+ *
3452
+ * Backslashes will be converted to slashes, unless the path starts with an OS-specific string like `C:\`.
3453
+ */
3454
+ static formatConcisely(options: IPathFormatConciselyOptions): string;
3455
+ /**
3456
+ * Formats a file location to look nice for reporting purposes.
3457
+ * @remarks
3458
+ * If `pathToFormat` is under the `baseFolder`, then it will be converted to a relative with the `./` prefix.
3459
+ * Otherwise, it will be converted to an absolute path.
3460
+ *
3461
+ * Backslashes will be converted to slashes, unless the path starts with an OS-specific string like `C:\`.
3462
+ */
3463
+ static formatFileLocation(options: IPathFormatFileLocationOptions): string;
3464
+ /**
3465
+ * Replaces Windows-style backslashes with POSIX-style slashes.
3466
+ *
3467
+ * @remarks
3468
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
3469
+ */
3470
+ static convertToSlashes(inputPath: string): string;
3471
+ /**
3472
+ * Replaces POSIX-style slashes with Windows-style backslashes
3473
+ *
3474
+ * @remarks
3475
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
3476
+ */
3477
+ static convertToBackslashes(inputPath: string): string;
3478
+ /**
3479
+ * Replaces slashes or backslashes with the appropriate slash for the current operating system.
3480
+ */
3481
+ static convertToPlatformDefault(inputPath: string): string;
3482
+ /**
3483
+ * Returns true if the specified path is a relative path and does not use `..` to walk upwards.
3484
+ *
3485
+ * @example
3486
+ * ```ts
3487
+ * // These evaluate to true
3488
+ * isDownwardRelative('folder');
3489
+ * isDownwardRelative('file');
3490
+ * isDownwardRelative('folder/');
3491
+ * isDownwardRelative('./folder/');
3492
+ * isDownwardRelative('./folder/file');
3493
+ *
3494
+ * // These evaluate to false
3495
+ * isDownwardRelative('../folder');
3496
+ * isDownwardRelative('folder/../file');
3497
+ * isDownwardRelative('/folder/file');
3498
+ * ```
3499
+ */
3500
+ static isDownwardRelative(inputPath: string): boolean;
3501
+ }
3502
+
3503
+ /**
3504
+ * An integer value used to specify file permissions for POSIX-like operating systems.
3505
+ *
3506
+ * @remarks
3507
+ *
3508
+ * This bitfield corresponds to the "mode_t" structure described in this document:
3509
+ * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
3510
+ *
3511
+ * It is used with NodeJS APIs such as fs.Stat.mode and fs.chmodSync(). These values
3512
+ * represent a set of permissions and can be combined using bitwise arithmetic.
3513
+ *
3514
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
3515
+ *
3516
+ * @public
3517
+ */
3518
+ export declare enum PosixModeBits {
3519
+ /**
3520
+ * Indicates that the item's owner can read the item.
3521
+ */
3522
+ UserRead = 256,
3523
+ /**
3524
+ * Indicates that the item's owner can modify the item.
3525
+ */
3526
+ UserWrite = 128,
3527
+ /**
3528
+ * Indicates that the item's owner can execute the item (if it is a file)
3529
+ * or search the item (if it is a directory).
3530
+ */
3531
+ UserExecute = 64,
3532
+ /**
3533
+ * Indicates that users belonging to the item's group can read the item.
3534
+ */
3535
+ GroupRead = 32,
3536
+ /**
3537
+ * Indicates that users belonging to the item's group can modify the item.
3538
+ */
3539
+ GroupWrite = 16,
3540
+ /**
3541
+ * Indicates that users belonging to the item's group can execute the item (if it is a file)
3542
+ * or search the item (if it is a directory).
3543
+ */
3544
+ GroupExecute = 8,
3545
+ /**
3546
+ * Indicates that other users (besides the item's owner user or group) can read the item.
3547
+ */
3548
+ OthersRead = 4,
3549
+ /**
3550
+ * Indicates that other users (besides the item's owner user or group) can modify the item.
3551
+ */
3552
+ OthersWrite = 2,
3553
+ /**
3554
+ * Indicates that other users (besides the item's owner user or group) can execute the item (if it is a file)
3555
+ * or search the item (if it is a directory).
3556
+ */
3557
+ OthersExecute = 1,
3558
+ /**
3559
+ * A zero value where no permissions bits are set.
3560
+ */
3561
+ None = 0,
3562
+ /**
3563
+ * An alias combining OthersRead, GroupRead, and UserRead permission bits.
3564
+ */
3565
+ AllRead = 292,
3566
+ /**
3567
+ * An alias combining OthersWrite, GroupWrite, and UserWrite permission bits.
3568
+ */
3569
+ AllWrite = 146,
3570
+ /**
3571
+ * An alias combining OthersExecute, GroupExecute, and UserExecute permission bits.
3572
+ */
3573
+ AllExecute = 73
3574
+ }
3575
+
3576
+ /**
3577
+ * The ProtectableMap provides an easy way for an API to expose a `Map<K, V>` property
3578
+ * while intercepting and validating any write operations that are performed by
3579
+ * consumers of the API.
3580
+ *
3581
+ * @remarks
3582
+ * The ProtectableMap itself is intended to be a private object that only its owner
3583
+ * can access directly. Any operations performed directly on the ProtectableMap will
3584
+ * bypass the hooks and any validation they perform. The public property that is exposed
3585
+ * to API consumers should return {@link ProtectableMap.protectedView} instead.
3586
+ *
3587
+ * For example, suppose you want to share your `Map<string, number>` data structure,
3588
+ * but you want to enforce that the key must always be an upper case string:
3589
+ * You could use the onSet() hook to validate the keys and throw an exception
3590
+ * if the key is not uppercase.
3591
+ *
3592
+ * @public
3593
+ */
3594
+ export declare class ProtectableMap<K, V> {
3595
+ private readonly _protectedView;
3596
+ constructor(parameters: IProtectableMapParameters<K, V>);
3597
+ /**
3598
+ * The owner of the protectable map should return this object via its public API.
3599
+ */
3600
+ get protectedView(): Map<K, V>;
3601
+ /**
3602
+ * Removes all entries from the map.
3603
+ * This operation does NOT invoke the ProtectableMap onClear() hook.
3604
+ */
3605
+ clear(): void;
3606
+ /**
3607
+ * Removes the specified key from the map.
3608
+ * This operation does NOT invoke the ProtectableMap onDelete() hook.
3609
+ */
3610
+ delete(key: K): boolean;
3611
+ /**
3612
+ * Sets a value for the specified key.
3613
+ * This operation does NOT invoke the ProtectableMap onSet() hook.
3614
+ */
3615
+ set(key: K, value: V): this;
3616
+ /**
3617
+ * Performs an operation for each (key, value) entries in the map.
3618
+ */
3619
+ forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
3620
+ /**
3621
+ * Retrieves the value for the specified key.
3622
+ * @returns undefined if the value is undefined OR if the key is missing;
3623
+ * otherwise returns the value associated with the key.
3624
+ */
3625
+ get(key: K): V | undefined;
3626
+ /**
3627
+ * Returns true if the specified key belongs to the map.
3628
+ */
3629
+ has(key: K): boolean;
3630
+ /**
3631
+ * Returns the number of (key, value) entries in the map.
3632
+ */
3633
+ get size(): number;
3634
+ }
3635
+
3636
+ /**
3637
+ * This class encapsulates a caching resolver for symlinks in node_modules directories.
3638
+ * It assumes that the only symlinks that exist in input paths are those that correspond to
3639
+ * npm packages.
3640
+ *
3641
+ * @remarks
3642
+ * In a repository with a symlinked node_modules installation, some symbolic links need to be mapped for
3643
+ * node module resolution to produce correct results. However, calling `fs.realpathSync.native` on every path,
3644
+ * as is commonly done by most resolvers, involves an enormous number of file system operations (for reference,
3645
+ * each invocation of `fs.realpathSync.native` involves a series of `fs.readlinkSync` calls, up to one for each
3646
+ * path segment in the input).
3647
+ *
3648
+ * @public
3649
+ */
3650
+ export declare class RealNodeModulePathResolver {
3651
+ /**
3652
+ * Similar in function to `fs.realpathSync.native`, but assumes the only symlinks present are npm packages.
3653
+ *
3654
+ * @param input - A path to a file or directory, where the path separator is `${require('node:path').sep}`
3655
+ * @returns The real path to the input, resolving the node_modules symlinks in the path
3656
+ * @public
3657
+ */
3658
+ readonly realNodeModulePath: (input: string) => string;
3659
+ private readonly _cache;
3660
+ private readonly _errorCache;
3661
+ private readonly _fs;
3662
+ private readonly _path;
3663
+ private readonly _lstatOptions;
3664
+ constructor(options?: IRealNodeModulePathResolverOptions);
3665
+ /**
3666
+ * Clears the cache of resolved symlinks.
3667
+ * @public
3668
+ */
3669
+ clearCache(): void;
3670
+ /**
3671
+ * Tries to read a symbolic link at the specified path.
3672
+ * If the input is not a symbolic link, returns undefined.
3673
+ * @param link - The link to try to read
3674
+ * @returns The target of the symbolic link, or undefined if the input is not a symbolic link
3675
+ */
3676
+ private _tryReadLink;
3677
+ }
3678
+
3679
+ /**
3680
+ * Operations for sorting collections.
3681
+ *
3682
+ * @public
3683
+ */
3684
+ export declare class Sort {
3685
+ /**
3686
+ * Compares `x` and `y` using the JavaScript `>` and `<` operators. This function is suitable for usage as
3687
+ * the callback for `array.sort()`.
3688
+ *
3689
+ * @remarks
3690
+ *
3691
+ * The JavaScript ordering is generalized so that `undefined` \< `null` \< all other values.
3692
+ *
3693
+ * @returns -1 if `x` is smaller than `y`, 1 if `x` is greater than `y`, or 0 if the values are equal.
3694
+ *
3695
+ * @example
3696
+ *
3697
+ * ```ts
3698
+ * let array: number[] = [3, 6, 2];
3699
+ * array.sort(Sort.compareByValue); // [2, 3, 6]
3700
+ * ```
3701
+ */
3702
+ static compareByValue(x: any, y: any): number;
3703
+ /**
3704
+ * Sorts the array according to a key which is obtained from the array elements.
3705
+ * The result is guaranteed to be a stable sort.
3706
+ *
3707
+ * @example
3708
+ *
3709
+ * ```ts
3710
+ * let array: string[] = [ 'aaa', 'bb', 'c' ];
3711
+ * Sort.sortBy(array, x => x.length); // [ 'c', 'bb', 'aaa' ]
3712
+ * ```
3713
+ */
3714
+ static sortBy<T>(array: T[], keySelector: (element: T) => any, comparer?: (x: any, y: any) => number): void;
3715
+ /**
3716
+ * Returns true if the collection is already sorted.
3717
+ */
3718
+ static isSorted<T>(collection: Iterable<T>, comparer?: (x: any, y: any) => number): boolean;
3719
+ /**
3720
+ * Returns true if the collection is already sorted by the specified key.
3721
+ *
3722
+ * @example
3723
+ *
3724
+ * ```ts
3725
+ * let array: string[] = [ 'a', 'bb', 'ccc' ];
3726
+ * Sort.isSortedBy(array, x => x.length); // true
3727
+ * ```
3728
+ */
3729
+ static isSortedBy<T>(collection: Iterable<T>, keySelector: (element: T) => any, comparer?: (x: any, y: any) => number): boolean;
3730
+ /**
3731
+ * Sorts the entries in a Map object according to the map keys.
3732
+ * The result is guaranteed to be a stable sort.
3733
+ *
3734
+ * @example
3735
+ *
3736
+ * ```ts
3737
+ * let map: Map<string, number> = new Map<string, number>();
3738
+ * map.set('zebra', 1);
3739
+ * map.set('goose', 2);
3740
+ * map.set('aardvark', 3);
3741
+ * Sort.sortMapKeys(map);
3742
+ * console.log(JSON.stringify(Array.from(map.keys()))); // ["aardvark","goose","zebra"]
3743
+ * ```
3744
+ */
3745
+ static sortMapKeys<K, V>(map: Map<K, V>, keyComparer?: (x: K, y: K) => number): void;
3746
+ /**
3747
+ * Sorts the entries in a Set object according to the specified keys.
3748
+ * The result is guaranteed to be a stable sort.
3749
+ *
3750
+ * @example
3751
+ *
3752
+ * ```ts
3753
+ * let set: Set<string> = new Set<string>();
3754
+ * set.add('aaa');
3755
+ * set.add('bb');
3756
+ * set.add('c');
3757
+ * Sort.sortSetBy(set, x => x.length);
3758
+ * console.log(Array.from(set)); // ['c', 'bb', 'aaa']
3759
+ * ```
3760
+ */
3761
+ static sortSetBy<T>(set: Set<T>, keySelector: (element: T) => any, keyComparer?: (x: T, y: T) => number): void;
3762
+ /**
3763
+ * Sorts the entries in a Set object. The result is guaranteed to be a stable sort.
3764
+ *
3765
+ * @example
3766
+ *
3767
+ * ```ts
3768
+ * let set: Set<string> = new Set<string>();
3769
+ * set.add('zebra');
3770
+ * set.add('goose');
3771
+ * set.add('aardvark');
3772
+ * Sort.sortSet(set);
3773
+ * console.log(Array.from(set)); // ['aardvark', 'goose', 'zebra']
3774
+ * ```
3775
+ */
3776
+ static sortSet<T>(set: Set<T>, comparer?: (x: T, y: T) => number): void;
3777
+ /**
3778
+ * Sort the keys deeply given an object or an array.
3779
+ *
3780
+ * Doesn't handle cyclic reference.
3781
+ *
3782
+ * @param object - The object to be sorted
3783
+ *
3784
+ * @example
3785
+ *
3786
+ * ```ts
3787
+ * console.log(Sort.sortKeys({ c: 3, b: 2, a: 1 })); // { a: 1, b: 2, c: 3}
3788
+ * ```
3789
+ */
3790
+ static sortKeys<T extends Partial<Record<string, unknown>> | unknown[]>(object: T): T;
3791
+ }
3792
+
3793
+ /**
3794
+ * This class allows a large text string to be constructed incrementally by appending small chunks. The final
3795
+ * string can be obtained by calling StringBuilder.toString().
3796
+ *
3797
+ * @remarks
3798
+ * A naive approach might use the `+=` operator to append strings: This would have the downside of copying
3799
+ * the entire string each time a chunk is appended, resulting in `O(n^2)` bytes of memory being allocated
3800
+ * (and later freed by the garbage collector), and many of the allocations could be very large objects.
3801
+ * StringBuilder avoids this overhead by accumulating the chunks in an array, and efficiently joining them
3802
+ * when `getText()` is finally called.
3803
+ *
3804
+ * @public
3805
+ */
3806
+ export declare class StringBuilder implements IStringBuilder {
3807
+ private _chunks;
3808
+ constructor();
3809
+ /** {@inheritDoc IStringBuilder.append} */
3810
+ append(text: string): void;
3811
+ /** {@inheritDoc IStringBuilder.toString} */
3812
+ toString(): string;
3813
+ }
3814
+
3815
+ /**
3816
+ * When a child process is created, registering it with the SubprocessTerminator will ensure
3817
+ * that the child gets terminated when the current process terminates.
3818
+ *
3819
+ * @remarks
3820
+ * This works by hooking the current process's events for SIGTERM/SIGINT/exit, and ensuring the
3821
+ * child process gets terminated in those cases.
3822
+ *
3823
+ * SubprocessTerminator doesn't do anything on Windows, since by default Windows automatically
3824
+ * terminates child processes when their parent is terminated.
3825
+ *
3826
+ * @beta
3827
+ */
3828
+ export declare class SubprocessTerminator {
3829
+ /**
3830
+ * Whether the hooks are installed
3831
+ */
3832
+ private static _initialized;
3833
+ /**
3834
+ * The list of registered child processes. Processes are removed from this set if they
3835
+ * terminate on their own.
3836
+ */
3837
+ private static _subprocessesByPid;
3838
+ private static readonly _isWindows;
3839
+ /**
3840
+ * The recommended options when creating a child process.
3841
+ */
3842
+ static readonly RECOMMENDED_OPTIONS: ISubprocessOptions;
3843
+ /**
3844
+ * Registers a child process so that it will be terminated automatically if the current process
3845
+ * is terminated.
3846
+ */
3847
+ static killProcessTreeOnExit(subprocess: child_process.ChildProcess, subprocessOptions: ISubprocessOptions): void;
3848
+ /**
3849
+ * Terminate the child process and all of its children.
3850
+ */
3851
+ static killProcessTree(subprocess: child_process.ChildProcess, subprocessOptions: ISubprocessOptions): void;
3852
+ private static _ensureInitialized;
3853
+ private static _cleanupChildProcesses;
3854
+ private static _validateSubprocessOptions;
3855
+ private static _onExit;
3856
+ private static _onTerminateSignal;
3857
+ private static _logDebug;
3858
+ }
3859
+
3860
+ /**
3861
+ * Operations for working with strings that contain text.
3862
+ *
3863
+ * @remarks
3864
+ * The utilities provided by this class are intended to be simple, small, and very
3865
+ * broadly applicable.
3866
+ *
3867
+ * @public
3868
+ */
3869
+ export declare class Text {
3870
+ private static readonly _newLineRegEx;
3871
+ private static readonly _newLineAtEndRegEx;
3872
+ /**
3873
+ * Returns the same thing as targetString.replace(searchValue, replaceValue), except that
3874
+ * all matches are replaced, rather than just the first match.
3875
+ * @param input - The string to be modified
3876
+ * @param searchValue - The value to search for
3877
+ * @param replaceValue - The replacement text
3878
+ */
3879
+ static replaceAll(input: string, searchValue: string, replaceValue: string): string;
3880
+ /**
3881
+ * Converts all newlines in the provided string to use Windows-style CRLF end of line characters.
3882
+ */
3883
+ static convertToCrLf(input: string): string;
3884
+ /**
3885
+ * Converts all newlines in the provided string to use POSIX-style LF end of line characters.
3886
+ *
3887
+ * POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
3888
+ */
3889
+ static convertToLf(input: string): string;
3890
+ /**
3891
+ * Converts all newlines in the provided string to use the specified newline type.
3892
+ */
3893
+ static convertTo(input: string, newlineKind: NewlineKind): string;
3894
+ /**
3895
+ * Returns the newline character sequence for the specified `NewlineKind`.
3896
+ */
3897
+ static getNewline(newlineKind: NewlineKind): string;
3898
+ /**
3899
+ * Append characters to the end of a string to ensure the result has a minimum length.
3900
+ * @remarks
3901
+ * If the string length already exceeds the minimum length, then the string is unchanged.
3902
+ * The string is not truncated.
3903
+ */
3904
+ static padEnd(s: string, minimumLength: number, paddingCharacter?: string): string;
3905
+ /**
3906
+ * Append characters to the start of a string to ensure the result has a minimum length.
3907
+ * @remarks
3908
+ * If the string length already exceeds the minimum length, then the string is unchanged.
3909
+ * The string is not truncated.
3910
+ */
3911
+ static padStart(s: string, minimumLength: number, paddingCharacter?: string): string;
3912
+ /**
3913
+ * If the string is longer than maximumLength characters, truncate it to that length
3914
+ * using "..." to indicate the truncation.
3915
+ *
3916
+ * @remarks
3917
+ * For example truncateWithEllipsis('1234578', 5) would produce '12...'.
3918
+ */
3919
+ static truncateWithEllipsis(s: string, maximumLength: number): string;
3920
+ /**
3921
+ * Returns the input string with a trailing `\n` character appended, if not already present.
3922
+ */
3923
+ static ensureTrailingNewline(s: string, newlineKind?: NewlineKind): string;
3924
+ /**
3925
+ * Escapes a string so that it can be treated as a literal string when used in a regular expression.
3926
+ */
3927
+ static escapeRegExp(literal: string): string;
3928
+ /**
3929
+ * Read lines from an iterable object that returns strings or buffers, and return a generator that
3930
+ * produces the lines as strings. The lines will not include the newline characters.
3931
+ *
3932
+ * @param iterable - An iterable object that returns strings or buffers
3933
+ * @param options - Options used when reading the lines from the provided iterable
3934
+ */
3935
+ static readLinesFromIterableAsync(iterable: AsyncIterable<string | Buffer>, options?: IReadLinesFromIterableOptions): AsyncGenerator<string>;
3936
+ /**
3937
+ * Read lines from an iterable object that returns strings or buffers, and return a generator that
3938
+ * produces the lines as strings. The lines will not include the newline characters.
3939
+ *
3940
+ * @param iterable - An iterable object that returns strings or buffers
3941
+ * @param options - Options used when reading the lines from the provided iterable
3942
+ */
3943
+ static readLinesFromIterable(iterable: Iterable<string | Buffer | null>, options?: IReadLinesFromIterableOptions): Generator<string>;
3944
+ /**
3945
+ * Returns a new string that is the input string with the order of characters reversed.
3946
+ */
3947
+ static reverse(s: string): string;
3948
+ /**
3949
+ * Splits the provided string by newlines. Note that leading and trailing newlines will produce
3950
+ * leading or trailing empty string array entries.
3951
+ */
3952
+ static splitByNewLines(s: undefined): undefined;
3953
+ static splitByNewLines(s: string): string[];
3954
+ static splitByNewLines(s: string | undefined): string[] | undefined;
3955
+ }
3956
+
3957
+ /**
3958
+ * Provides a version-independent implementation of the JavaScript `instanceof` operator.
3959
+ *
3960
+ * @remarks
3961
+ * The JavaScript `instanceof` operator normally only identifies objects from a particular library instance.
3962
+ * For example, suppose the NPM package `example-lib` has two published versions 1.2.0 and 1.3.0, and
3963
+ * it exports a class called `A`. Suppose some code consumes version `1.3.0` of the library, but it receives
3964
+ * an object that was constructed using version `1.2.0`. In this situation `a instanceof A` will return `false`,
3965
+ * even though `a` is an instance of `A`. The reason is that there are two prototypes for `A`; one for each
3966
+ * version.
3967
+ *
3968
+ * The `TypeUuid` facility provides a way to make `a instanceof A` return true for both prototypes of `A`,
3969
+ * by instead using a universally unique identifier (UUID) to detect object instances.
3970
+ *
3971
+ * You can use `Symbol.hasInstance` to enable the system `instanceof` operator to recognize type UUID equivalence:
3972
+ * ```ts
3973
+ * const uuidWidget: string = '9c340ef0-d29f-4e2e-a09f-42bacc59024b';
3974
+ * class Widget {
3975
+ * public static [Symbol.hasInstance](instance: object): boolean {
3976
+ * return TypeUuid.isInstanceOf(instance, uuidWidget);
3977
+ * }
3978
+ * }
3979
+ * ```
3980
+ * // Example usage:
3981
+ * ```ts
3982
+ * import { Widget as Widget1 } from 'v1-of-library';
3983
+ * import { Widget as Widget2 } from 'v2-of-library';
3984
+ * const widget = new Widget2();
3985
+ * console.log(widget instanceof Widget1); // prints true
3986
+ * ```
3987
+ *
3988
+ * @public
3989
+ */
3990
+ export declare class TypeUuid {
3991
+ private static _uuidRegExp;
3992
+ /**
3993
+ * Registers a JavaScript class as having a type identified by the specified UUID.
3994
+ * @privateRemarks
3995
+ * We cannot use a construct signature for `targetClass` because it may be an abstract class.
3996
+ */
3997
+ static registerClass(targetClass: any, typeUuid: string): void;
3998
+ /**
3999
+ * Returns true if the `targetObject` is an instance of a JavaScript class that was previously
4000
+ * registered using the specified `typeUuid`. Base classes are also considered.
4001
+ */
4002
+ static isInstanceOf(targetObject: unknown, typeUuid: string): boolean;
4003
+ }
4004
+
4005
+ export { }