checkly 5.3.1 → 5.4.0-prerelease-6249ef2

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 (443) hide show
  1. package/dist/auth/index.js +125 -132
  2. package/dist/auth/index.js.map +1 -1
  3. package/dist/commands/authCommand.js +1 -1
  4. package/dist/commands/authCommand.js.map +1 -1
  5. package/dist/commands/baseCommand.d.ts +2 -0
  6. package/dist/commands/baseCommand.js +7 -9
  7. package/dist/commands/baseCommand.js.map +1 -1
  8. package/dist/commands/deploy.js +55 -57
  9. package/dist/commands/deploy.js.map +1 -1
  10. package/dist/commands/destroy.js +15 -16
  11. package/dist/commands/destroy.js.map +1 -1
  12. package/dist/commands/env/add.js +28 -29
  13. package/dist/commands/env/add.js.map +1 -1
  14. package/dist/commands/env/ls.js +2 -2
  15. package/dist/commands/env/ls.js.map +1 -1
  16. package/dist/commands/env/pull.js +17 -17
  17. package/dist/commands/env/pull.js.map +1 -1
  18. package/dist/commands/env/rm.js +17 -18
  19. package/dist/commands/env/rm.js.map +1 -1
  20. package/dist/commands/env/update.js +29 -30
  21. package/dist/commands/env/update.js.map +1 -1
  22. package/dist/commands/help.js +2 -2
  23. package/dist/commands/help.js.map +1 -1
  24. package/dist/commands/import/apply.d.ts +14 -0
  25. package/dist/commands/import/apply.js +157 -0
  26. package/dist/commands/import/apply.js.map +1 -0
  27. package/dist/commands/import/cancel.d.ts +11 -0
  28. package/dist/commands/import/cancel.js +119 -0
  29. package/dist/commands/import/cancel.js.map +1 -0
  30. package/dist/commands/import/commit.d.ts +14 -0
  31. package/dist/commands/import/commit.js +141 -0
  32. package/dist/commands/import/commit.js.map +1 -0
  33. package/dist/commands/import/plan.d.ts +20 -0
  34. package/dist/commands/import/plan.js +1237 -0
  35. package/dist/commands/import/plan.js.map +1 -0
  36. package/dist/commands/login.js +38 -48
  37. package/dist/commands/login.js.map +1 -1
  38. package/dist/commands/logout.js +9 -9
  39. package/dist/commands/logout.js.map +1 -1
  40. package/dist/commands/runtimes.js +2 -2
  41. package/dist/commands/runtimes.js.map +1 -1
  42. package/dist/commands/switch.js +9 -9
  43. package/dist/commands/switch.js.map +1 -1
  44. package/dist/commands/sync-playwright.js +7 -7
  45. package/dist/commands/sync-playwright.js.map +1 -1
  46. package/dist/commands/test.js +107 -111
  47. package/dist/commands/test.js.map +1 -1
  48. package/dist/commands/trigger.js +74 -78
  49. package/dist/commands/trigger.js.map +1 -1
  50. package/dist/commands/whoami.js +2 -2
  51. package/dist/commands/whoami.js.map +1 -1
  52. package/dist/constructs/alert-channel-codegen.d.ts +35 -0
  53. package/dist/constructs/alert-channel-codegen.js +98 -0
  54. package/dist/constructs/alert-channel-codegen.js.map +1 -0
  55. package/dist/constructs/alert-channel-subscription-codegen.d.ts +11 -0
  56. package/dist/constructs/alert-channel-subscription-codegen.js +23 -0
  57. package/dist/constructs/alert-channel-subscription-codegen.js.map +1 -0
  58. package/dist/constructs/alert-channel-subscription.js +5 -1
  59. package/dist/constructs/alert-channel-subscription.js.map +1 -1
  60. package/dist/constructs/alert-channel.d.ts +17 -3
  61. package/dist/constructs/alert-channel.js +15 -4
  62. package/dist/constructs/alert-channel.js.map +1 -1
  63. package/dist/constructs/alert-escalation-policy-codegen.d.ts +4 -0
  64. package/dist/constructs/alert-escalation-policy-codegen.js +59 -0
  65. package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -0
  66. package/dist/constructs/alert-escalation-policy.js +8 -9
  67. package/dist/constructs/alert-escalation-policy.js.map +1 -1
  68. package/dist/constructs/api-check-codegen.d.ts +21 -0
  69. package/dist/constructs/api-check-codegen.js +163 -0
  70. package/dist/constructs/api-check-codegen.js.map +1 -0
  71. package/dist/constructs/api-check.js +9 -0
  72. package/dist/constructs/api-check.js.map +1 -1
  73. package/dist/constructs/browser-check-codegen.d.ts +14 -0
  74. package/dist/constructs/browser-check-codegen.js +48 -0
  75. package/dist/constructs/browser-check-codegen.js.map +1 -0
  76. package/dist/constructs/browser-check.js +12 -6
  77. package/dist/constructs/browser-check.js.map +1 -1
  78. package/dist/constructs/check-codegen.d.ts +42 -0
  79. package/dist/constructs/check-codegen.js +208 -0
  80. package/dist/constructs/check-codegen.js.map +1 -0
  81. package/dist/constructs/check-group-codegen.d.ts +45 -0
  82. package/dist/constructs/check-group-codegen.js +266 -0
  83. package/dist/constructs/check-group-codegen.js.map +1 -0
  84. package/dist/constructs/check-group.d.ts +21 -8
  85. package/dist/constructs/check-group.js +65 -15
  86. package/dist/constructs/check-group.js.map +1 -1
  87. package/dist/constructs/check.d.ts +8 -8
  88. package/dist/constructs/check.js +31 -14
  89. package/dist/constructs/check.js.map +1 -1
  90. package/dist/constructs/construct-codegen.d.ts +39 -0
  91. package/dist/constructs/construct-codegen.js +100 -0
  92. package/dist/constructs/construct-codegen.js.map +1 -0
  93. package/dist/constructs/construct.js +5 -1
  94. package/dist/constructs/construct.js.map +1 -1
  95. package/dist/constructs/dashboard-codegen.d.ts +29 -0
  96. package/dist/constructs/dashboard-codegen.js +108 -0
  97. package/dist/constructs/dashboard-codegen.js.map +1 -0
  98. package/dist/constructs/dashboard.js +23 -1
  99. package/dist/constructs/dashboard.js.map +1 -1
  100. package/dist/constructs/email-alert-channel-codegen.d.ts +13 -0
  101. package/dist/constructs/email-alert-channel-codegen.js +38 -0
  102. package/dist/constructs/email-alert-channel-codegen.js.map +1 -0
  103. package/dist/constructs/email-alert-channel.js +1 -0
  104. package/dist/constructs/email-alert-channel.js.map +1 -1
  105. package/dist/constructs/frequency-codegen.d.ts +4 -0
  106. package/dist/constructs/frequency-codegen.js +49 -0
  107. package/dist/constructs/frequency-codegen.js.map +1 -0
  108. package/dist/constructs/frequency.js +17 -15
  109. package/dist/constructs/frequency.js.map +1 -1
  110. package/dist/constructs/heartbeat-check-codegen.d.ts +11 -0
  111. package/dist/constructs/heartbeat-check-codegen.js +33 -0
  112. package/dist/constructs/heartbeat-check-codegen.js.map +1 -0
  113. package/dist/constructs/heartbeat-check.js +1 -0
  114. package/dist/constructs/heartbeat-check.js.map +1 -1
  115. package/dist/constructs/incidentio-alert-channel-codegen.d.ts +13 -0
  116. package/dist/constructs/incidentio-alert-channel-codegen.js +89 -0
  117. package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -0
  118. package/dist/constructs/incidentio-alert-channel.d.ts +6 -0
  119. package/dist/constructs/incidentio-alert-channel.js +17 -16
  120. package/dist/constructs/incidentio-alert-channel.js.map +1 -1
  121. package/dist/constructs/internal/assertion-codegen.d.ts +4 -0
  122. package/dist/constructs/internal/assertion-codegen.js +141 -0
  123. package/dist/constructs/internal/assertion-codegen.js.map +1 -0
  124. package/dist/constructs/internal/assertion.js +7 -4
  125. package/dist/constructs/internal/assertion.js.map +1 -1
  126. package/dist/constructs/internal/codegen/codegen.d.ts +9 -0
  127. package/dist/constructs/internal/codegen/codegen.js +14 -0
  128. package/dist/constructs/internal/codegen/codegen.js.map +1 -0
  129. package/dist/constructs/internal/codegen/context.d.ts +62 -0
  130. package/dist/constructs/internal/codegen/context.js +445 -0
  131. package/dist/constructs/internal/codegen/context.js.map +1 -0
  132. package/dist/constructs/internal/codegen/index.d.ts +4 -0
  133. package/dist/constructs/internal/codegen/index.js +13 -0
  134. package/dist/constructs/internal/codegen/index.js.map +1 -0
  135. package/dist/constructs/internal/codegen/safety.d.ts +2 -0
  136. package/dist/constructs/internal/codegen/safety.js +7 -0
  137. package/dist/constructs/internal/codegen/safety.js.map +1 -0
  138. package/dist/constructs/internal/codegen/snippet.d.ts +12 -0
  139. package/dist/constructs/internal/codegen/snippet.js +48 -0
  140. package/dist/constructs/internal/codegen/snippet.js.map +1 -0
  141. package/dist/constructs/key-value-pair-codegen.d.ts +4 -0
  142. package/dist/constructs/key-value-pair-codegen.js +39 -0
  143. package/dist/constructs/key-value-pair-codegen.js.map +1 -0
  144. package/dist/constructs/maintenance-window-codegen.d.ts +14 -0
  145. package/dist/constructs/maintenance-window-codegen.js +57 -0
  146. package/dist/constructs/maintenance-window-codegen.js.map +1 -0
  147. package/dist/constructs/maintenance-window.js +8 -1
  148. package/dist/constructs/maintenance-window.js.map +1 -1
  149. package/dist/constructs/msteams-alert-channel-codegen.d.ts +13 -0
  150. package/dist/constructs/msteams-alert-channel-codegen.js +75 -0
  151. package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -0
  152. package/dist/constructs/msteams-alert-channel.d.ts +6 -0
  153. package/dist/constructs/msteams-alert-channel.js +14 -13
  154. package/dist/constructs/msteams-alert-channel.js.map +1 -1
  155. package/dist/constructs/multi-step-check-codegen.d.ts +13 -0
  156. package/dist/constructs/multi-step-check-codegen.js +39 -0
  157. package/dist/constructs/multi-step-check-codegen.js.map +1 -0
  158. package/dist/constructs/multi-step-check.js +8 -8
  159. package/dist/constructs/multi-step-check.js.map +1 -1
  160. package/dist/constructs/opsgenie-alert-channel-codegen.d.ts +16 -0
  161. package/dist/constructs/opsgenie-alert-channel-codegen.js +41 -0
  162. package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -0
  163. package/dist/constructs/opsgenie-alert-channel.js +4 -0
  164. package/dist/constructs/opsgenie-alert-channel.js.map +1 -1
  165. package/dist/constructs/pagerduty-alert-channel-codegen.d.ts +15 -0
  166. package/dist/constructs/pagerduty-alert-channel-codegen.js +53 -0
  167. package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -0
  168. package/dist/constructs/pagerduty-alert-channel.js +3 -0
  169. package/dist/constructs/pagerduty-alert-channel.js.map +1 -1
  170. package/dist/constructs/phone-call-alert-channel-codegen.d.ts +14 -0
  171. package/dist/constructs/phone-call-alert-channel-codegen.js +46 -0
  172. package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -0
  173. package/dist/constructs/phone-call-alert-channel.js +2 -0
  174. package/dist/constructs/phone-call-alert-channel.js.map +1 -1
  175. package/dist/constructs/playwright-config-codegen.d.ts +4 -0
  176. package/dist/constructs/playwright-config-codegen.js +9 -0
  177. package/dist/constructs/playwright-config-codegen.js.map +1 -0
  178. package/dist/constructs/private-location-check-assignment-codegen.d.ts +10 -0
  179. package/dist/constructs/private-location-check-assignment-codegen.js +18 -0
  180. package/dist/constructs/private-location-check-assignment-codegen.js.map +1 -0
  181. package/dist/constructs/private-location-check-assignment.js +3 -1
  182. package/dist/constructs/private-location-check-assignment.js.map +1 -1
  183. package/dist/constructs/private-location-codegen.d.ts +15 -0
  184. package/dist/constructs/private-location-codegen.js +51 -0
  185. package/dist/constructs/private-location-codegen.js.map +1 -0
  186. package/dist/constructs/private-location-group-assignment-codegen.d.ts +10 -0
  187. package/dist/constructs/private-location-group-assignment-codegen.js +18 -0
  188. package/dist/constructs/private-location-group-assignment-codegen.js.map +1 -0
  189. package/dist/constructs/private-location-group-assignment.js +3 -1
  190. package/dist/constructs/private-location-group-assignment.js.map +1 -1
  191. package/dist/constructs/private-location.d.ts +8 -4
  192. package/dist/constructs/private-location.js +14 -4
  193. package/dist/constructs/private-location.js.map +1 -1
  194. package/dist/constructs/project.d.ts +10 -0
  195. package/dist/constructs/project.js +74 -18
  196. package/dist/constructs/project.js.map +1 -1
  197. package/dist/constructs/ref-codegen.d.ts +3 -0
  198. package/dist/constructs/ref-codegen.js +15 -0
  199. package/dist/constructs/ref-codegen.js.map +1 -0
  200. package/dist/constructs/ref.js +1 -0
  201. package/dist/constructs/ref.js.map +1 -1
  202. package/dist/constructs/retry-strategy-codegen.d.ts +4 -0
  203. package/dist/constructs/retry-strategy-codegen.js +69 -0
  204. package/dist/constructs/retry-strategy-codegen.js.map +1 -0
  205. package/dist/constructs/retry-strategy.js +8 -9
  206. package/dist/constructs/retry-strategy.js.map +1 -1
  207. package/dist/constructs/slack-alert-channel-codegen.d.ts +14 -0
  208. package/dist/constructs/slack-alert-channel-codegen.js +46 -0
  209. package/dist/constructs/slack-alert-channel-codegen.js.map +1 -0
  210. package/dist/constructs/slack-alert-channel.js +2 -0
  211. package/dist/constructs/slack-alert-channel.js.map +1 -1
  212. package/dist/constructs/sms-alert-channel-codegen.d.ts +14 -0
  213. package/dist/constructs/sms-alert-channel-codegen.js +46 -0
  214. package/dist/constructs/sms-alert-channel-codegen.js.map +1 -0
  215. package/dist/constructs/sms-alert-channel.js +2 -0
  216. package/dist/constructs/sms-alert-channel.js.map +1 -1
  217. package/dist/constructs/status-page-codegen.d.ts +23 -0
  218. package/dist/constructs/status-page-codegen.js +71 -0
  219. package/dist/constructs/status-page-codegen.js.map +1 -0
  220. package/dist/constructs/status-page-service-codegen.d.ts +12 -0
  221. package/dist/constructs/status-page-service-codegen.js +44 -0
  222. package/dist/constructs/status-page-service-codegen.js.map +1 -0
  223. package/dist/constructs/status-page-service.d.ts +10 -0
  224. package/dist/constructs/status-page-service.js +21 -2
  225. package/dist/constructs/status-page-service.js.map +1 -1
  226. package/dist/constructs/status-page.js +15 -9
  227. package/dist/constructs/status-page.js.map +1 -1
  228. package/dist/constructs/tcp-check-codegen.d.ts +15 -0
  229. package/dist/constructs/tcp-check-codegen.js +69 -0
  230. package/dist/constructs/tcp-check-codegen.js.map +1 -0
  231. package/dist/constructs/tcp-check.js +3 -0
  232. package/dist/constructs/tcp-check.js.map +1 -1
  233. package/dist/constructs/telegram-alert-channel-codegen.d.ts +13 -0
  234. package/dist/constructs/telegram-alert-channel-codegen.js +105 -0
  235. package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -0
  236. package/dist/constructs/telegram-alert-channel.d.ts +6 -0
  237. package/dist/constructs/telegram-alert-channel.js +8 -4
  238. package/dist/constructs/telegram-alert-channel.js.map +1 -1
  239. package/dist/constructs/webhook-alert-channel-codegen.d.ts +34 -0
  240. package/dist/constructs/webhook-alert-channel-codegen.js +152 -0
  241. package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -0
  242. package/dist/constructs/webhook-alert-channel.js +8 -0
  243. package/dist/constructs/webhook-alert-channel.js.map +1 -1
  244. package/dist/help/help-extension.js +1 -2
  245. package/dist/help/help-extension.js.map +1 -1
  246. package/dist/helpers/command-style.d.ts +18 -0
  247. package/dist/helpers/command-style.js +87 -0
  248. package/dist/helpers/command-style.js.map +1 -0
  249. package/dist/helpers/wrap.d.ts +6 -0
  250. package/dist/helpers/wrap.js +53 -0
  251. package/dist/helpers/wrap.js.map +1 -0
  252. package/dist/loader/index.d.ts +6 -0
  253. package/dist/loader/index.js +21 -0
  254. package/dist/loader/index.js.map +1 -0
  255. package/dist/loader/jiti.d.ts +27 -0
  256. package/dist/loader/jiti.js +63 -0
  257. package/dist/loader/jiti.js.map +1 -0
  258. package/dist/loader/loader.d.ts +29 -0
  259. package/dist/loader/loader.js +32 -0
  260. package/dist/loader/loader.js.map +1 -0
  261. package/dist/loader/match.d.ts +15 -0
  262. package/dist/loader/match.js +47 -0
  263. package/dist/loader/match.js.map +1 -0
  264. package/dist/loader/mixed.d.ts +7 -0
  265. package/dist/loader/mixed.js +39 -0
  266. package/dist/loader/mixed.js.map +1 -0
  267. package/dist/loader/native.d.ts +10 -0
  268. package/dist/loader/native.js +36 -0
  269. package/dist/loader/native.js.map +1 -0
  270. package/dist/loader/ts-node.d.ts +25 -0
  271. package/dist/loader/ts-node.js +85 -0
  272. package/dist/loader/ts-node.js.map +1 -0
  273. package/dist/playwright/playwright-config-loader.d.ts +1 -1
  274. package/dist/playwright/playwright-config-loader.js +7 -4
  275. package/dist/playwright/playwright-config-loader.js.map +1 -1
  276. package/dist/playwright/playwright-config-template.js +1 -0
  277. package/dist/playwright/playwright-config-template.js.map +1 -1
  278. package/dist/reporters/abstract-list.js +10 -6
  279. package/dist/reporters/abstract-list.js.map +1 -1
  280. package/dist/reporters/github.js +13 -6
  281. package/dist/reporters/github.js.map +1 -1
  282. package/dist/reporters/json.js +7 -4
  283. package/dist/reporters/json.js.map +1 -1
  284. package/dist/reporters/list.js +4 -6
  285. package/dist/reporters/list.js.map +1 -1
  286. package/dist/reporters/util.js +15 -20
  287. package/dist/reporters/util.js.map +1 -1
  288. package/dist/rest/accounts.js +1 -0
  289. package/dist/rest/accounts.js.map +1 -1
  290. package/dist/rest/api.js +3 -5
  291. package/dist/rest/api.js.map +1 -1
  292. package/dist/rest/assets.js +1 -0
  293. package/dist/rest/assets.js.map +1 -1
  294. package/dist/rest/checkly-storage.js +1 -0
  295. package/dist/rest/checkly-storage.js.map +1 -1
  296. package/dist/rest/environment-variables.js +1 -0
  297. package/dist/rest/environment-variables.js.map +1 -1
  298. package/dist/rest/heartbeat-checks.js +1 -0
  299. package/dist/rest/heartbeat-checks.js.map +1 -1
  300. package/dist/rest/locations.js +1 -0
  301. package/dist/rest/locations.js.map +1 -1
  302. package/dist/rest/private-locations.js +1 -0
  303. package/dist/rest/private-locations.js.map +1 -1
  304. package/dist/rest/projects.d.ts +69 -1
  305. package/dist/rest/projects.js +76 -4
  306. package/dist/rest/projects.js.map +1 -1
  307. package/dist/rest/runtimes.js +1 -0
  308. package/dist/rest/runtimes.js.map +1 -1
  309. package/dist/rest/test-sessions.js +1 -0
  310. package/dist/rest/test-sessions.js.map +1 -1
  311. package/dist/rest/users.js +1 -0
  312. package/dist/rest/users.js.map +1 -1
  313. package/dist/services/abstract-check-runner.js +10 -0
  314. package/dist/services/abstract-check-runner.js.map +1 -1
  315. package/dist/services/check-parser/collector.js +6 -4
  316. package/dist/services/check-parser/collector.js.map +1 -1
  317. package/dist/services/check-parser/errors.js +4 -0
  318. package/dist/services/check-parser/errors.js.map +1 -1
  319. package/dist/services/check-parser/package-files/extension.js +2 -0
  320. package/dist/services/check-parser/package-files/extension.js.map +1 -1
  321. package/dist/services/check-parser/package-files/jsconfig-json-file.js +5 -22
  322. package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -1
  323. package/dist/services/check-parser/package-files/json-source-file.d.ts +1 -1
  324. package/dist/services/check-parser/package-files/json-source-file.js +5 -17
  325. package/dist/services/check-parser/package-files/json-source-file.js.map +1 -1
  326. package/dist/services/check-parser/package-files/loader.js +2 -1
  327. package/dist/services/check-parser/package-files/loader.js.map +1 -1
  328. package/dist/services/check-parser/package-files/lookup.js +3 -17
  329. package/dist/services/check-parser/package-files/lookup.js.map +1 -1
  330. package/dist/services/check-parser/package-files/package-json-file.d.ts +14 -1
  331. package/dist/services/check-parser/package-files/package-json-file.js +87 -19
  332. package/dist/services/check-parser/package-files/package-json-file.js.map +1 -1
  333. package/dist/services/check-parser/package-files/package-manager.d.ts +91 -0
  334. package/dist/services/check-parser/package-files/package-manager.js +321 -0
  335. package/dist/services/check-parser/package-files/package-manager.js.map +1 -0
  336. package/dist/services/check-parser/package-files/paths.js +39 -0
  337. package/dist/services/check-parser/package-files/paths.js.map +1 -1
  338. package/dist/services/check-parser/package-files/resolver.d.ts +6 -3
  339. package/dist/services/check-parser/package-files/resolver.js +58 -50
  340. package/dist/services/check-parser/package-files/resolver.js.map +1 -1
  341. package/dist/services/check-parser/package-files/source-file.d.ts +1 -1
  342. package/dist/services/check-parser/package-files/source-file.js +8 -17
  343. package/dist/services/check-parser/package-files/source-file.js.map +1 -1
  344. package/dist/services/check-parser/package-files/tsconfig-json-file.js +16 -27
  345. package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -1
  346. package/dist/services/check-parser/parser.js +18 -11
  347. package/dist/services/check-parser/parser.js.map +1 -1
  348. package/dist/services/checkly-config-codegen.d.ts +4 -0
  349. package/dist/services/checkly-config-codegen.js +196 -0
  350. package/dist/services/checkly-config-codegen.js.map +1 -0
  351. package/dist/services/checkly-config-loader.d.ts +6 -2
  352. package/dist/services/checkly-config-loader.js +27 -12
  353. package/dist/services/checkly-config-loader.js.map +1 -1
  354. package/dist/services/config.js +5 -6
  355. package/dist/services/config.js.map +1 -1
  356. package/dist/services/project-parser.js +5 -12
  357. package/dist/services/project-parser.js.map +1 -1
  358. package/dist/services/snapshot-service.js +2 -2
  359. package/dist/services/snapshot-service.js.map +1 -1
  360. package/dist/services/test-filters.js +1 -1
  361. package/dist/services/test-filters.js.map +1 -1
  362. package/dist/services/test-runner.js +12 -5
  363. package/dist/services/test-runner.js.map +1 -1
  364. package/dist/services/trigger-runner.js +12 -5
  365. package/dist/services/trigger-runner.js.map +1 -1
  366. package/dist/services/util.d.ts +0 -1
  367. package/dist/services/util.js +12 -107
  368. package/dist/services/util.js.map +1 -1
  369. package/dist/sourcegen/args.d.ts +7 -0
  370. package/dist/sourcegen/args.js +26 -0
  371. package/dist/sourcegen/args.js.map +1 -0
  372. package/dist/sourcegen/argsbuilder.d.ts +22 -0
  373. package/dist/sourcegen/argsbuilder.js +111 -0
  374. package/dist/sourcegen/argsbuilder.js.map +1 -0
  375. package/dist/sourcegen/array.d.ts +8 -0
  376. package/dist/sourcegen/array.js +32 -0
  377. package/dist/sourcegen/array.js.map +1 -0
  378. package/dist/sourcegen/arraybuilder.d.ts +21 -0
  379. package/dist/sourcegen/arraybuilder.js +109 -0
  380. package/dist/sourcegen/arraybuilder.js.map +1 -0
  381. package/dist/sourcegen/boolean.d.ts +7 -0
  382. package/dist/sourcegen/boolean.js +22 -0
  383. package/dist/sourcegen/boolean.js.map +1 -0
  384. package/dist/sourcegen/case.d.ts +9 -0
  385. package/dist/sourcegen/case.js +107 -0
  386. package/dist/sourcegen/case.js.map +1 -0
  387. package/dist/sourcegen/comment.d.ts +32 -0
  388. package/dist/sourcegen/comment.js +124 -0
  389. package/dist/sourcegen/comment.js.map +1 -0
  390. package/dist/sourcegen/decl.d.ts +43 -0
  391. package/dist/sourcegen/decl.js +95 -0
  392. package/dist/sourcegen/decl.js.map +1 -0
  393. package/dist/sourcegen/declbuilder.d.ts +14 -0
  394. package/dist/sourcegen/declbuilder.js +39 -0
  395. package/dist/sourcegen/declbuilder.js.map +1 -0
  396. package/dist/sourcegen/expr.d.ts +39 -0
  397. package/dist/sourcegen/expr.js +86 -0
  398. package/dist/sourcegen/expr.js.map +1 -0
  399. package/dist/sourcegen/exprbuilder.d.ts +13 -0
  400. package/dist/sourcegen/exprbuilder.js +54 -0
  401. package/dist/sourcegen/exprbuilder.js.map +1 -0
  402. package/dist/sourcegen/identifier.d.ts +12 -0
  403. package/dist/sourcegen/identifier.js +27 -0
  404. package/dist/sourcegen/identifier.js.map +1 -0
  405. package/dist/sourcegen/index.d.ts +22 -0
  406. package/dist/sourcegen/index.js +76 -0
  407. package/dist/sourcegen/index.js.map +1 -0
  408. package/dist/sourcegen/null.d.ts +5 -0
  409. package/dist/sourcegen/null.js +11 -0
  410. package/dist/sourcegen/null.js.map +1 -0
  411. package/dist/sourcegen/number.d.ts +7 -0
  412. package/dist/sourcegen/number.js +22 -0
  413. package/dist/sourcegen/number.js.map +1 -0
  414. package/dist/sourcegen/object.d.ts +28 -0
  415. package/dist/sourcegen/object.js +88 -0
  416. package/dist/sourcegen/object.js.map +1 -0
  417. package/dist/sourcegen/objectbuilder.d.ts +25 -0
  418. package/dist/sourcegen/objectbuilder.js +127 -0
  419. package/dist/sourcegen/objectbuilder.js.map +1 -0
  420. package/dist/sourcegen/output.d.ts +14 -0
  421. package/dist/sourcegen/output.js +85 -0
  422. package/dist/sourcegen/output.js.map +1 -0
  423. package/dist/sourcegen/program.d.ts +55 -0
  424. package/dist/sourcegen/program.js +284 -0
  425. package/dist/sourcegen/program.js.map +1 -0
  426. package/dist/sourcegen/string.d.ts +8 -0
  427. package/dist/sourcegen/string.js +28 -0
  428. package/dist/sourcegen/string.js.map +1 -0
  429. package/dist/sourcegen/undefined.d.ts +5 -0
  430. package/dist/sourcegen/undefined.js +11 -0
  431. package/dist/sourcegen/undefined.js.map +1 -0
  432. package/dist/sourcegen/unknown.d.ts +2 -0
  433. package/dist/sourcegen/unknown.js +40 -0
  434. package/dist/sourcegen/unknown.js.map +1 -0
  435. package/dist/sourcegen/value.d.ts +4 -0
  436. package/dist/sourcegen/value.js +7 -0
  437. package/dist/sourcegen/value.js.map +1 -0
  438. package/dist/tsconfig.tsbuildinfo +1 -1
  439. package/dist/util/index.d.ts +9 -0
  440. package/dist/util/index.js +27 -0
  441. package/dist/util/index.js.map +1 -0
  442. package/oclif.manifest.json +173 -1
  443. package/package.json +14 -37
@@ -1,26 +1,21 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
- var _a, _PackageJsonFile_id;
17
5
  Object.defineProperty(exports, "__esModule", { value: true });
18
6
  exports.PackageJsonFile = void 0;
19
7
  const node_path_1 = __importDefault(require("node:path"));
8
+ const semver_1 = __importDefault(require("semver"));
9
+ const json_source_file_1 = require("./json-source-file");
10
+ const source_file_1 = require("./source-file");
20
11
  class PackageJsonFile {
12
+ static FILENAME = 'package.json';
13
+ static #id = 0;
14
+ id = ++PackageJsonFile.#id;
15
+ jsonFile;
16
+ basePath;
17
+ mainPaths;
21
18
  constructor(jsonFile) {
22
- var _b, _c;
23
- this.id = __classPrivateFieldSet(_b = _a, _a, (_c = __classPrivateFieldGet(_b, _a, "f", _PackageJsonFile_id), ++_c), "f", _PackageJsonFile_id);
24
19
  this.jsonFile = jsonFile;
25
20
  this.basePath = jsonFile.meta.dirname;
26
21
  const fallbackMainPath = node_path_1.default.resolve(this.basePath, 'index.js');
@@ -31,15 +26,88 @@ class PackageJsonFile {
31
26
  get meta() {
32
27
  return this.jsonFile.meta;
33
28
  }
29
+ get dependencies() {
30
+ return this.jsonFile.data.dependencies;
31
+ }
32
+ get devDependencies() {
33
+ return this.jsonFile.data.devDependencies;
34
+ }
35
+ static make(filePath, data) {
36
+ const contents = formatContents(data);
37
+ const sourceFile = new source_file_1.SourceFile(source_file_1.FileMeta.fromFilePath(filePath), contents);
38
+ const jsonFile = new json_source_file_1.JsonSourceFile(sourceFile, data);
39
+ return new PackageJsonFile(jsonFile);
40
+ }
34
41
  static loadFromJsonSourceFile(jsonFile) {
35
- return new _a(jsonFile);
42
+ return new PackageJsonFile(jsonFile);
36
43
  }
37
44
  static filePath(dirPath) {
38
- return node_path_1.default.join(dirPath, _a.FILENAME);
45
+ return node_path_1.default.join(dirPath, PackageJsonFile.FILENAME);
46
+ }
47
+ upsertDependencies(dependencies) {
48
+ const result = updateDependencies(this.jsonFile.data.dependencies, dependencies);
49
+ if (!result.changed) {
50
+ return false;
51
+ }
52
+ this.jsonFile.data.dependencies = sortDependencies(result.dependencies);
53
+ return true;
54
+ }
55
+ upsertDevDependencies(dependencies) {
56
+ const result = updateDependencies(this.jsonFile.data.devDependencies, dependencies);
57
+ if (!result.changed) {
58
+ return false;
59
+ }
60
+ this.jsonFile.data.devDependencies = sortDependencies(result.dependencies);
61
+ return true;
62
+ }
63
+ toJSON() {
64
+ return formatContents(this.jsonFile.data);
39
65
  }
40
66
  }
41
67
  exports.PackageJsonFile = PackageJsonFile;
42
- _a = PackageJsonFile;
43
- PackageJsonFile.FILENAME = 'package.json';
44
- _PackageJsonFile_id = { value: 0 };
68
+ function updateDependencies(oldDependencies = {}, newDependencies = {}) {
69
+ const result = {
70
+ dependencies: { ...oldDependencies },
71
+ changed: false,
72
+ };
73
+ const safeMinVersion = (version) => {
74
+ try {
75
+ return semver_1.default.minVersion(version);
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ };
81
+ for (const [name, newVersion] of Object.entries(newDependencies)) {
82
+ const oldVersion = oldDependencies[name];
83
+ if (oldVersion !== undefined) {
84
+ const oldMinVersion = safeMinVersion(oldVersion);
85
+ if (oldMinVersion === null) {
86
+ // Assume it's something we shouldn't change.
87
+ continue;
88
+ }
89
+ const newMinVersion = safeMinVersion(newVersion);
90
+ if (newMinVersion === null) {
91
+ // This should not happen.
92
+ throw new Error(`Invalid new version '${newVersion}' for dependency '${name}'`);
93
+ }
94
+ if (oldMinVersion.compare(newMinVersion) >= 0) {
95
+ // It's recent enough.
96
+ continue;
97
+ }
98
+ }
99
+ result.changed = true;
100
+ result.dependencies[name] = newVersion;
101
+ }
102
+ return result;
103
+ }
104
+ function sortDependencies(dependencies) {
105
+ return Object.fromEntries(Object.keys(dependencies).sort().map(name => {
106
+ return [name, dependencies[name]];
107
+ }));
108
+ }
109
+ function formatContents(data) {
110
+ // NPM adds a trailing newline, so we do too.
111
+ return JSON.stringify(data, null, 2) + '\n';
112
+ }
45
113
  //# sourceMappingURL=package-json-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-json-file.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/package-json-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAY5B,MAAa,eAAe;IAU1B,YAAqB,QAAgC;;QAN5C,OAAE,GAAG,oCAAA,CAAE,6DAAmB,EAArB,IAAqB,CAAA,2BAAA,CAAA;QAOjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;QAErC,MAAM,gBAAgB,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAEhE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAC/C,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;YACrE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAE,QAAgC;QAC7D,OAAO,IAAI,EAAe,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAE,OAAe;QAC9B,OAAO,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAe,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;;AA/BH,0CAgCC;;AA/BQ,wBAAQ,GAAG,cAAc,AAAjB,CAAiB;AAEzB,+BAAM,CAAC,EAAJ,CAAI"}
1
+ {"version":3,"file":"package-json-file.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/package-json-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ export declare class Runnable {
2
+ executable: string;
3
+ args: string[];
4
+ constructor(executable: string, args: string[]);
5
+ get unsafeDisplayCommand(): string;
6
+ }
7
+ export interface PackageManager {
8
+ get name(): string;
9
+ installCommand(): Runnable;
10
+ execCommand(args: string[]): Runnable;
11
+ }
12
+ export declare abstract class PackageManagerDetector {
13
+ abstract get name(): string;
14
+ abstract detectUserAgent(userAgent: string): boolean;
15
+ abstract detectRuntime(): boolean;
16
+ abstract detectLockfile(dir: string): Promise<void>;
17
+ abstract detectExecutable(lookup: PathLookup): Promise<void>;
18
+ abstract installCommand(): Runnable;
19
+ abstract execCommand(args: string[]): Runnable;
20
+ }
21
+ export declare class NpmDetector extends PackageManagerDetector implements PackageManager {
22
+ get name(): string;
23
+ detectUserAgent(userAgent: string): boolean;
24
+ detectRuntime(): boolean;
25
+ detectLockfile(dir: string): Promise<void>;
26
+ detectExecutable(lookup: PathLookup): Promise<void>;
27
+ installCommand(): Runnable;
28
+ execCommand(args: string[]): Runnable;
29
+ }
30
+ export declare class CNpmDetector extends PackageManagerDetector implements PackageManager {
31
+ get name(): string;
32
+ detectUserAgent(userAgent: string): boolean;
33
+ detectRuntime(): boolean;
34
+ detectLockfile(): Promise<void>;
35
+ detectExecutable(lookup: PathLookup): Promise<void>;
36
+ installCommand(): Runnable;
37
+ execCommand(args: string[]): Runnable;
38
+ }
39
+ export declare class PNpmDetector extends PackageManagerDetector implements PackageManager {
40
+ get name(): string;
41
+ detectUserAgent(userAgent: string): boolean;
42
+ detectRuntime(): boolean;
43
+ detectLockfile(dir: string): Promise<void>;
44
+ detectExecutable(lookup: PathLookup): Promise<void>;
45
+ installCommand(): Runnable;
46
+ execCommand(args: string[]): Runnable;
47
+ }
48
+ export declare class YarnDetector extends PackageManagerDetector implements PackageManager {
49
+ get name(): string;
50
+ detectUserAgent(userAgent: string): boolean;
51
+ detectRuntime(): boolean;
52
+ detectLockfile(dir: string): Promise<void>;
53
+ detectExecutable(lookup: PathLookup): Promise<void>;
54
+ installCommand(): Runnable;
55
+ execCommand(args: string[]): Runnable;
56
+ }
57
+ export declare class DenoDetector extends PackageManagerDetector implements PackageManager {
58
+ get name(): string;
59
+ detectUserAgent(userAgent: string): boolean;
60
+ detectRuntime(): boolean;
61
+ detectLockfile(dir: string): Promise<void>;
62
+ detectExecutable(lookup: PathLookup): Promise<void>;
63
+ installCommand(): Runnable;
64
+ execCommand(args: string[]): Runnable;
65
+ }
66
+ export declare class BunDetector extends PackageManagerDetector implements PackageManager {
67
+ get name(): string;
68
+ detectUserAgent(userAgent: string): boolean;
69
+ detectRuntime(): boolean;
70
+ detectLockfile(dir: string): Promise<void>;
71
+ detectExecutable(lookup: PathLookup): Promise<void>;
72
+ installCommand(): Runnable;
73
+ execCommand(args: string[]): Runnable;
74
+ }
75
+ /**
76
+ * Inspiration taken from https://github.com/otiai10/lookpath.
77
+ */
78
+ export declare class PathLookup {
79
+ static win: boolean;
80
+ paths: string[];
81
+ pathext: string[];
82
+ pathextSet: Set<string>;
83
+ constructor();
84
+ detectPresence(executable: string): Promise<void>;
85
+ lookupPath(executable: string): Promise<string | undefined>;
86
+ }
87
+ export declare const knownPackageManagers: PackageManagerDetector[];
88
+ export interface DetectPackageManagerOptions {
89
+ detectors?: PackageManagerDetector[];
90
+ }
91
+ export declare function detectPackageManager(dir: string, options?: DetectPackageManagerOptions): Promise<PackageManager>;
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.detectPackageManager = exports.knownPackageManagers = exports.PathLookup = exports.BunDetector = exports.DenoDetector = exports.YarnDetector = exports.PNpmDetector = exports.CNpmDetector = exports.NpmDetector = exports.PackageManagerDetector = exports.Runnable = void 0;
7
+ const promises_1 = __importDefault(require("node:fs/promises"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ class Runnable {
10
+ executable;
11
+ args;
12
+ constructor(executable, args) {
13
+ this.executable = executable;
14
+ this.args = args;
15
+ }
16
+ get unsafeDisplayCommand() {
17
+ return [this.executable, ...this.args.map(unsafeQuoteArg)].join(' ');
18
+ }
19
+ }
20
+ exports.Runnable = Runnable;
21
+ /**
22
+ * Quotes an argument for display purposes only.
23
+ *
24
+ * @returns The argument as-is if quoting is not required, or quoted otherwise.
25
+ */
26
+ function unsafeQuoteArg(arg) {
27
+ if (arg === '') {
28
+ return `''`;
29
+ }
30
+ if (!/[^%+,-./:=@_0-9A-Za-z]/.test(arg)) {
31
+ return arg;
32
+ }
33
+ return `'${arg.replaceAll(`'`, `'"'"'`)}'`;
34
+ }
35
+ class NotDetectedError extends Error {
36
+ }
37
+ class PackageManagerDetector {
38
+ }
39
+ exports.PackageManagerDetector = PackageManagerDetector;
40
+ class NpmDetector extends PackageManagerDetector {
41
+ get name() {
42
+ return 'npm';
43
+ }
44
+ detectUserAgent(userAgent) {
45
+ return userAgent.startsWith('npm/');
46
+ }
47
+ detectRuntime() {
48
+ return false;
49
+ }
50
+ async detectLockfile(dir) {
51
+ return accessR(node_path_1.default.join(dir, 'package-lock.json'));
52
+ }
53
+ async detectExecutable(lookup) {
54
+ await lookup.detectPresence('npm');
55
+ }
56
+ installCommand() {
57
+ return new Runnable('npm', ['install']);
58
+ }
59
+ execCommand(args) {
60
+ return new Runnable('npx', args);
61
+ }
62
+ }
63
+ exports.NpmDetector = NpmDetector;
64
+ class CNpmDetector extends PackageManagerDetector {
65
+ get name() {
66
+ return 'cnpm';
67
+ }
68
+ detectUserAgent(userAgent) {
69
+ return userAgent.startsWith('npminstall/');
70
+ }
71
+ detectRuntime() {
72
+ return false;
73
+ }
74
+ async detectLockfile() {
75
+ throw new NotDetectedError();
76
+ }
77
+ async detectExecutable(lookup) {
78
+ await lookup.detectPresence('cnpm');
79
+ }
80
+ installCommand() {
81
+ return new Runnable('cnpm', ['install']);
82
+ }
83
+ execCommand(args) {
84
+ return new Runnable('npx', args);
85
+ }
86
+ }
87
+ exports.CNpmDetector = CNpmDetector;
88
+ class PNpmDetector extends PackageManagerDetector {
89
+ get name() {
90
+ return 'pnpm';
91
+ }
92
+ detectUserAgent(userAgent) {
93
+ return userAgent.startsWith('pnpm/');
94
+ }
95
+ detectRuntime() {
96
+ return false;
97
+ }
98
+ async detectLockfile(dir) {
99
+ return accessR(node_path_1.default.join(dir, 'pnpm-lock.yaml'));
100
+ }
101
+ async detectExecutable(lookup) {
102
+ await lookup.detectPresence('pnpm');
103
+ }
104
+ installCommand() {
105
+ return new Runnable('pnpm', ['install']);
106
+ }
107
+ execCommand(args) {
108
+ return new Runnable('pnpm', args);
109
+ }
110
+ }
111
+ exports.PNpmDetector = PNpmDetector;
112
+ class YarnDetector extends PackageManagerDetector {
113
+ get name() {
114
+ return 'yarn';
115
+ }
116
+ detectUserAgent(userAgent) {
117
+ return userAgent.startsWith('yarn/');
118
+ }
119
+ detectRuntime() {
120
+ return false;
121
+ }
122
+ async detectLockfile(dir) {
123
+ return accessR(node_path_1.default.join(dir, 'yarn.lock'));
124
+ }
125
+ async detectExecutable(lookup) {
126
+ await lookup.detectPresence('yarn');
127
+ }
128
+ installCommand() {
129
+ return new Runnable('yarn', ['install']);
130
+ }
131
+ execCommand(args) {
132
+ return new Runnable('yarn', args);
133
+ }
134
+ }
135
+ exports.YarnDetector = YarnDetector;
136
+ class DenoDetector extends PackageManagerDetector {
137
+ get name() {
138
+ return 'deno';
139
+ }
140
+ detectUserAgent(userAgent) {
141
+ return userAgent.startsWith('deno/');
142
+ }
143
+ detectRuntime() {
144
+ return process.versions.deno !== undefined;
145
+ }
146
+ async detectLockfile(dir) {
147
+ return accessR(node_path_1.default.join(dir, 'deno.lock'));
148
+ }
149
+ async detectExecutable(lookup) {
150
+ await lookup.detectPresence('deno');
151
+ }
152
+ installCommand() {
153
+ return new Runnable('deno', ['install']);
154
+ }
155
+ execCommand(args) {
156
+ return new Runnable('deno', ['run', '-A', `npm:${args[0]}`, ...args.slice(1)]);
157
+ }
158
+ }
159
+ exports.DenoDetector = DenoDetector;
160
+ class BunDetector extends PackageManagerDetector {
161
+ get name() {
162
+ return 'bun';
163
+ }
164
+ detectUserAgent(userAgent) {
165
+ return userAgent.startsWith('bun/');
166
+ }
167
+ detectRuntime() {
168
+ return process.versions.bun !== undefined;
169
+ }
170
+ async detectLockfile(dir) {
171
+ return accessR(node_path_1.default.join(dir, 'bun.lockb'));
172
+ }
173
+ async detectExecutable(lookup) {
174
+ await lookup.detectPresence('bun');
175
+ }
176
+ installCommand() {
177
+ return new Runnable('bun', ['install']);
178
+ }
179
+ execCommand(args) {
180
+ return new Runnable('bunx', args);
181
+ }
182
+ }
183
+ exports.BunDetector = BunDetector;
184
+ async function accessR(filePath) {
185
+ try {
186
+ await promises_1.default.access(filePath, promises_1.default.constants.R_OK);
187
+ }
188
+ catch {
189
+ throw new NotDetectedError();
190
+ }
191
+ }
192
+ async function accessX(filePath) {
193
+ try {
194
+ await promises_1.default.access(filePath, promises_1.default.constants.X_OK);
195
+ }
196
+ catch {
197
+ throw new NotDetectedError();
198
+ }
199
+ }
200
+ function* chunks(array, size) {
201
+ for (let i = 0, l = array.length; i < l; i += size) {
202
+ yield array.slice(i, i + size);
203
+ }
204
+ }
205
+ /**
206
+ * Inspiration taken from https://github.com/otiai10/lookpath.
207
+ */
208
+ class PathLookup {
209
+ static win = process.platform.startsWith('win');
210
+ paths;
211
+ pathext;
212
+ pathextSet = new Set();
213
+ constructor() {
214
+ if (PathLookup.win) {
215
+ this.paths = process.env['Path']?.split(node_path_1.default.delimiter) ?? [];
216
+ this.pathext = process.env['PATHEXT']?.split(node_path_1.default.delimiter) ?? [];
217
+ this.pathext.forEach(ext => this.pathextSet.add(ext.toUpperCase()));
218
+ }
219
+ else {
220
+ this.paths = process.env['PATH']?.split(node_path_1.default.delimiter) ?? [];
221
+ this.pathext = [];
222
+ }
223
+ }
224
+ async detectPresence(executable) {
225
+ const foundPath = this.lookupPath(executable);
226
+ if (foundPath === undefined) {
227
+ throw new NotDetectedError();
228
+ }
229
+ }
230
+ async lookupPath(executable) {
231
+ const ext = node_path_1.default.extname(executable).toUpperCase();
232
+ const paths = this.paths.flatMap(prefix => {
233
+ if (this.pathextSet.has(ext)) {
234
+ return [node_path_1.default.join(prefix, executable)];
235
+ }
236
+ return [
237
+ node_path_1.default.join(prefix, executable),
238
+ ...this.pathext.map(ext => node_path_1.default.join(prefix, executable + ext)),
239
+ ];
240
+ });
241
+ // There may be a large number of paths. With Promise.all(), we'd have to
242
+ // wait until every single possible path has been checked even if we found
243
+ // a match immediately. Use reasonably sized chunks instead.
244
+ //
245
+ // On Windows (where PATHEXT exists), make sure that the chunk size is
246
+ // at least large enough to cover all the possible extensions of a path.
247
+ for (const chunk of chunks(paths, Math.max(this.pathext.length + 1, 8))) {
248
+ const results = await Promise.all(chunk.map(async (path) => {
249
+ try {
250
+ await accessX(path);
251
+ return path;
252
+ }
253
+ catch {
254
+ return;
255
+ }
256
+ }));
257
+ for (const result of results) {
258
+ if (result !== undefined) {
259
+ return result;
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+ exports.PathLookup = PathLookup;
266
+ const npmDetector = new NpmDetector();
267
+ // The order of the detectors is relevant to the lookup order.
268
+ exports.knownPackageManagers = [
269
+ new PNpmDetector(),
270
+ new BunDetector(),
271
+ new DenoDetector(),
272
+ new YarnDetector(),
273
+ new CNpmDetector(),
274
+ npmDetector,
275
+ ];
276
+ async function detectPackageManager(dir, options) {
277
+ const detectors = options?.detectors ?? exports.knownPackageManagers;
278
+ // Try user agent first.
279
+ const userAgent = process.env['npm_config_user_agent'];
280
+ if (userAgent !== undefined) {
281
+ for (const detector of detectors) {
282
+ if (detector.detectUserAgent(userAgent)) {
283
+ return detector;
284
+ }
285
+ }
286
+ }
287
+ // Next, try runtime.
288
+ for (const detector of detectors) {
289
+ if (detector.detectRuntime()) {
290
+ return detector;
291
+ }
292
+ }
293
+ // Next, try to find a lockfile.
294
+ try {
295
+ return await Promise.any(detectors.map(async (detector) => {
296
+ await detector.detectLockfile(dir);
297
+ return detector;
298
+ }));
299
+ }
300
+ catch {
301
+ // Nothing detected.
302
+ }
303
+ // Finally, try to find a relevant executable.
304
+ //
305
+ // This can generate a whole bunch of path lookups. Try one by one despite
306
+ // async support.
307
+ const lookup = new PathLookup();
308
+ for (const detector of detectors) {
309
+ try {
310
+ await detector.detectExecutable(lookup);
311
+ return detector;
312
+ }
313
+ catch {
314
+ continue;
315
+ }
316
+ }
317
+ // If all else fails, just assume npm.
318
+ return npmDetector;
319
+ }
320
+ exports.detectPackageManager = detectPackageManager;
321
+ //# sourceMappingURL=package-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/package-manager.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isBuiltinPath = exports.isLocalPath = exports.PathResolver = void 0;
4
4
  class TargetPathSpec {
5
+ /**
6
+ * Prefix is the part of the path before an asterisk (wildcard), or the
7
+ * whole path if there's no asterisk.
8
+ *
9
+ * Examples of possible values:
10
+ * - `"./foo/*"` (from `"./foo/"`)
11
+ * - `"./bar/foo-"` (from `"./bar/foo-*.js"`)
12
+ * - `"./bar."` (from `"./bar.*.ts"`)
13
+ * - `""` (from `"*"`)
14
+ */
15
+ prefix;
16
+ /**
17
+ * Suffix is the part of the path after the asterisk (wildcard), if any.
18
+ */
19
+ suffix;
5
20
  constructor(prefix, suffix) {
6
21
  this.prefix = prefix;
7
22
  this.suffix = suffix;
@@ -25,6 +40,8 @@ class TargetPathSpec {
25
40
  }
26
41
  }
27
42
  class PathMatchResult {
43
+ ok;
44
+ results;
28
45
  constructor(ok, results) {
29
46
  this.ok = ok;
30
47
  this.results = results;
@@ -37,6 +54,8 @@ class PathMatchResult {
37
54
  }
38
55
  }
39
56
  class ExactPathMatcher {
57
+ prefix;
58
+ target;
40
59
  constructor(prefix, target) {
41
60
  this.prefix = prefix;
42
61
  this.target = target;
@@ -57,6 +76,9 @@ class ExactPathMatcher {
57
76
  }
58
77
  }
59
78
  class WildcardPathMatcher {
79
+ prefix;
80
+ suffix;
81
+ target;
60
82
  constructor(prefix, suffix, target) {
61
83
  this.prefix = prefix;
62
84
  this.suffix = suffix;
@@ -79,6 +101,21 @@ class WildcardPathMatcher {
79
101
  }
80
102
  }
81
103
  class SourcePathSpec {
104
+ /**
105
+ * Prefix is the part of the path before an asterisk (wildcard), or the
106
+ * whole path if there's no asterisk.
107
+ *
108
+ * Examples of possible values:
109
+ * - `"@/"` (from `"@/*"`)
110
+ * - `"app/foo-"` (from `"app/foo-*.js"`)
111
+ * - `"bar."` (from `"bar.*.ts"`)
112
+ * - `""` (from `"*"`)
113
+ */
114
+ prefix;
115
+ /**
116
+ * Suffix is the part of the path after the asterisk (wildcard), if any.
117
+ */
118
+ suffix;
82
119
  constructor(prefix, suffix) {
83
120
  this.prefix = prefix;
84
121
  this.suffix = suffix;
@@ -99,6 +136,8 @@ class SourcePathSpec {
99
136
  }
100
137
  }
101
138
  class PathResolver {
139
+ baseUrl;
140
+ matchers;
102
141
  constructor(baseUrl, matchers) {
103
142
  this.baseUrl = baseUrl;
104
143
  // Sort by longest prefix now, then we don't have to care about it later.
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/services/check-parser/package-files/paths.ts"],"names":[],"mappings":"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"}