netlify-cli 19.1.0 → 19.1.3

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 (795) hide show
  1. package/dist/commands/api/api.d.ts +4 -0
  2. package/dist/commands/api/api.d.ts.map +1 -0
  3. package/dist/commands/api/api.js +40 -0
  4. package/dist/commands/api/api.js.map +1 -0
  5. package/dist/commands/api/index.d.ts +3 -0
  6. package/dist/commands/api/index.d.ts.map +1 -0
  7. package/dist/commands/api/index.js +14 -0
  8. package/dist/commands/api/index.js.map +1 -0
  9. package/dist/commands/base-command.d.ts +85 -0
  10. package/dist/commands/base-command.d.ts.map +1 -0
  11. package/dist/commands/base-command.js +602 -0
  12. package/dist/commands/base-command.js.map +1 -0
  13. package/dist/commands/blobs/blobs-delete.d.ts +5 -0
  14. package/dist/commands/blobs/blobs-delete.d.ts.map +1 -0
  15. package/dist/commands/blobs/blobs-delete.js +27 -0
  16. package/dist/commands/blobs/blobs-delete.js.map +1 -0
  17. package/dist/commands/blobs/blobs-get.d.ts +8 -0
  18. package/dist/commands/blobs/blobs-get.d.ts.map +1 -0
  19. package/dist/commands/blobs/blobs-get.js +32 -0
  20. package/dist/commands/blobs/blobs-get.js.map +1 -0
  21. package/dist/commands/blobs/blobs-list.d.ts +10 -0
  22. package/dist/commands/blobs/blobs-list.d.ts.map +1 -0
  23. package/dist/commands/blobs/blobs-list.js +37 -0
  24. package/dist/commands/blobs/blobs-list.js.map +1 -0
  25. package/dist/commands/blobs/blobs-set.d.ts +9 -0
  26. package/dist/commands/blobs/blobs-set.d.ts.map +1 -0
  27. package/dist/commands/blobs/blobs-set.js +48 -0
  28. package/dist/commands/blobs/blobs-set.js.map +1 -0
  29. package/dist/commands/blobs/blobs.d.ts +6 -0
  30. package/dist/commands/blobs/blobs.d.ts.map +1 -0
  31. package/dist/commands/blobs/blobs.js +75 -0
  32. package/dist/commands/blobs/blobs.js.map +1 -0
  33. package/dist/commands/build/build.d.ts +6 -0
  34. package/dist/commands/build/build.d.ts.map +1 -0
  35. package/dist/commands/build/build.js +39 -0
  36. package/dist/commands/build/build.js.map +1 -0
  37. package/dist/commands/build/index.d.ts +3 -0
  38. package/dist/commands/build/index.d.ts.map +1 -0
  39. package/dist/commands/build/index.js +14 -0
  40. package/dist/commands/build/index.js.map +1 -0
  41. package/dist/commands/completion/completion.d.ts +5 -0
  42. package/dist/commands/completion/completion.d.ts.map +1 -0
  43. package/dist/commands/completion/completion.js +69 -0
  44. package/dist/commands/completion/completion.js.map +1 -0
  45. package/dist/commands/completion/index.d.ts +3 -0
  46. package/dist/commands/completion/index.d.ts.map +1 -0
  47. package/dist/commands/completion/index.js +27 -0
  48. package/dist/commands/completion/index.js.map +1 -0
  49. package/dist/commands/deploy/deploy.d.ts +4 -0
  50. package/dist/commands/deploy/deploy.d.ts.map +1 -0
  51. package/dist/commands/deploy/deploy.js +720 -0
  52. package/dist/commands/deploy/deploy.js.map +1 -0
  53. package/dist/commands/deploy/index.d.ts +3 -0
  54. package/dist/commands/deploy/index.d.ts.map +1 -0
  55. package/dist/commands/deploy/index.js +107 -0
  56. package/dist/commands/deploy/index.js.map +1 -0
  57. package/dist/commands/dev/dev-exec.d.ts +5 -0
  58. package/dist/commands/dev/dev-exec.d.ts.map +1 -0
  59. package/dist/commands/dev/dev-exec.js +21 -0
  60. package/dist/commands/dev/dev-exec.js.map +1 -0
  61. package/dist/commands/dev/dev.d.ts +5 -0
  62. package/dist/commands/dev/dev.d.ts.map +1 -0
  63. package/dist/commands/dev/dev.js +249 -0
  64. package/dist/commands/dev/dev.js.map +1 -0
  65. package/dist/commands/dev/index.d.ts +2 -0
  66. package/dist/commands/dev/index.d.ts.map +1 -0
  67. package/dist/commands/dev/index.js +2 -0
  68. package/dist/commands/dev/index.js.map +1 -0
  69. package/dist/commands/env/env-clone.d.ts +4 -0
  70. package/dist/commands/env/env-clone.d.ts.map +1 -0
  71. package/dist/commands/env/env-clone.js +83 -0
  72. package/dist/commands/env/env-clone.js.map +1 -0
  73. package/dist/commands/env/env-get.d.ts +4 -0
  74. package/dist/commands/env/env-get.d.ts.map +1 -0
  75. package/dist/commands/env/env-get.js +28 -0
  76. package/dist/commands/env/env-get.js.map +1 -0
  77. package/dist/commands/env/env-import.d.ts +4 -0
  78. package/dist/commands/env/env-import.d.ts.map +1 -0
  79. package/dist/commands/env/env-import.js +78 -0
  80. package/dist/commands/env/env-import.js.map +1 -0
  81. package/dist/commands/env/env-list.d.ts +4 -0
  82. package/dist/commands/env/env-list.d.ts.map +1 -0
  83. package/dist/commands/env/env-list.js +85 -0
  84. package/dist/commands/env/env-list.js.map +1 -0
  85. package/dist/commands/env/env-set.d.ts +4 -0
  86. package/dist/commands/env/env-set.d.ts.map +1 -0
  87. package/dist/commands/env/env-set.js +123 -0
  88. package/dist/commands/env/env-set.js.map +1 -0
  89. package/dist/commands/env/env-unset.d.ts +4 -0
  90. package/dist/commands/env/env-unset.d.ts.map +1 -0
  91. package/dist/commands/env/env-unset.js +76 -0
  92. package/dist/commands/env/env-unset.js.map +1 -0
  93. package/dist/commands/env/env.d.ts +3 -0
  94. package/dist/commands/env/env.d.ts.map +1 -0
  95. package/dist/commands/env/env.js +129 -0
  96. package/dist/commands/env/env.js.map +1 -0
  97. package/dist/commands/env/index.d.ts +2 -0
  98. package/dist/commands/env/index.d.ts.map +1 -0
  99. package/dist/commands/env/index.js +2 -0
  100. package/dist/commands/env/index.js.map +1 -0
  101. package/dist/commands/functions/functions-build.d.ts +4 -0
  102. package/dist/commands/functions/functions-build.d.ts.map +1 -0
  103. package/dist/commands/functions/functions-build.js +27 -0
  104. package/dist/commands/functions/functions-build.js.map +1 -0
  105. package/dist/commands/functions/functions-create.d.ts +4 -0
  106. package/dist/commands/functions/functions-create.d.ts.map +1 -0
  107. package/dist/commands/functions/functions-create.js +635 -0
  108. package/dist/commands/functions/functions-create.js.map +1 -0
  109. package/dist/commands/functions/functions-invoke.d.ts +4 -0
  110. package/dist/commands/functions/functions-invoke.d.ts.map +1 -0
  111. package/dist/commands/functions/functions-invoke.js +210 -0
  112. package/dist/commands/functions/functions-invoke.js.map +1 -0
  113. package/dist/commands/functions/functions-list.d.ts +4 -0
  114. package/dist/commands/functions/functions-list.d.ts.map +1 -0
  115. package/dist/commands/functions/functions-list.js +41 -0
  116. package/dist/commands/functions/functions-list.js.map +1 -0
  117. package/dist/commands/functions/functions-serve.d.ts +4 -0
  118. package/dist/commands/functions/functions-serve.d.ts.map +1 -0
  119. package/dist/commands/functions/functions-serve.js +52 -0
  120. package/dist/commands/functions/functions-serve.js.map +1 -0
  121. package/dist/commands/functions/functions.d.ts +3 -0
  122. package/dist/commands/functions/functions.d.ts.map +1 -0
  123. package/dist/commands/functions/functions.js +101 -0
  124. package/dist/commands/functions/functions.js.map +1 -0
  125. package/dist/commands/functions/index.d.ts +2 -0
  126. package/dist/commands/functions/index.d.ts.map +1 -0
  127. package/dist/commands/functions/index.js +2 -0
  128. package/dist/commands/functions/index.js.map +1 -0
  129. package/dist/commands/index.d.ts +3 -0
  130. package/dist/commands/index.d.ts.map +1 -0
  131. package/dist/commands/index.js +3 -0
  132. package/dist/commands/index.js.map +1 -0
  133. package/dist/commands/init/index.d.ts +3 -0
  134. package/dist/commands/init/index.d.ts.map +1 -0
  135. package/dist/commands/init/index.js +10 -0
  136. package/dist/commands/init/index.js.map +1 -0
  137. package/dist/commands/init/init.d.ts +4 -0
  138. package/dist/commands/init/init.d.ts.map +1 -0
  139. package/dist/commands/init/init.js +194 -0
  140. package/dist/commands/init/init.js.map +1 -0
  141. package/dist/commands/link/index.d.ts +3 -0
  142. package/dist/commands/link/index.d.ts.map +1 -0
  143. package/dist/commands/link/index.js +12 -0
  144. package/dist/commands/link/index.js.map +1 -0
  145. package/dist/commands/link/link.d.ts +4 -0
  146. package/dist/commands/link/link.d.ts.map +1 -0
  147. package/dist/commands/link/link.js +295 -0
  148. package/dist/commands/link/link.js.map +1 -0
  149. package/dist/commands/login/index.d.ts +3 -0
  150. package/dist/commands/login/index.d.ts.map +1 -0
  151. package/dist/commands/login/index.js +10 -0
  152. package/dist/commands/login/index.js.map +1 -0
  153. package/dist/commands/login/login.d.ts +4 -0
  154. package/dist/commands/login/login.d.ts.map +1 -0
  155. package/dist/commands/login/login.js +30 -0
  156. package/dist/commands/login/login.js.map +1 -0
  157. package/dist/commands/logout/index.d.ts +3 -0
  158. package/dist/commands/logout/index.d.ts.map +1 -0
  159. package/dist/commands/logout/index.js +8 -0
  160. package/dist/commands/logout/index.js.map +1 -0
  161. package/dist/commands/logout/logout.d.ts +4 -0
  162. package/dist/commands/logout/logout.d.ts.map +1 -0
  163. package/dist/commands/logout/logout.js +23 -0
  164. package/dist/commands/logout/logout.js.map +1 -0
  165. package/dist/commands/logs/build.d.ts +8 -0
  166. package/dist/commands/logs/build.d.ts.map +1 -0
  167. package/dist/commands/logs/build.js +72 -0
  168. package/dist/commands/logs/build.js.map +1 -0
  169. package/dist/commands/logs/functions.d.ts +4 -0
  170. package/dist/commands/logs/functions.d.ts.map +1 -0
  171. package/dist/commands/logs/functions.js +79 -0
  172. package/dist/commands/logs/functions.js.map +1 -0
  173. package/dist/commands/logs/index.d.ts +5 -0
  174. package/dist/commands/logs/index.d.ts.map +1 -0
  175. package/dist/commands/logs/index.js +40 -0
  176. package/dist/commands/logs/index.js.map +1 -0
  177. package/dist/commands/logs/log-levels.d.ts +11 -0
  178. package/dist/commands/logs/log-levels.d.ts.map +1 -0
  179. package/dist/commands/logs/log-levels.js +12 -0
  180. package/dist/commands/logs/log-levels.js.map +1 -0
  181. package/dist/commands/main.d.ts +38 -0
  182. package/dist/commands/main.d.ts.map +1 -0
  183. package/dist/commands/main.js +215 -0
  184. package/dist/commands/main.js.map +1 -0
  185. package/dist/commands/open/index.d.ts +3 -0
  186. package/dist/commands/open/index.d.ts.map +1 -0
  187. package/dist/commands/open/index.js +32 -0
  188. package/dist/commands/open/index.js.map +1 -0
  189. package/dist/commands/open/open-admin.d.ts +4 -0
  190. package/dist/commands/open/open-admin.d.ts.map +1 -0
  191. package/dist/commands/open/open-admin.js +12 -0
  192. package/dist/commands/open/open-admin.js.map +1 -0
  193. package/dist/commands/open/open-site.d.ts +4 -0
  194. package/dist/commands/open/open-site.d.ts.map +1 -0
  195. package/dist/commands/open/open-site.js +13 -0
  196. package/dist/commands/open/open-site.js.map +1 -0
  197. package/dist/commands/open/open.d.ts +4 -0
  198. package/dist/commands/open/open.d.ts.map +1 -0
  199. package/dist/commands/open/open.js +14 -0
  200. package/dist/commands/open/open.js.map +1 -0
  201. package/dist/commands/recipes/common.d.ts +3 -0
  202. package/dist/commands/recipes/common.d.ts.map +1 -0
  203. package/dist/commands/recipes/common.js +26 -0
  204. package/dist/commands/recipes/common.js.map +1 -0
  205. package/dist/commands/recipes/index.d.ts +3 -0
  206. package/dist/commands/recipes/index.d.ts.map +1 -0
  207. package/dist/commands/recipes/index.js +21 -0
  208. package/dist/commands/recipes/index.js.map +1 -0
  209. package/dist/commands/recipes/recipes-list.d.ts +5 -0
  210. package/dist/commands/recipes/recipes-list.d.ts.map +1 -0
  211. package/dist/commands/recipes/recipes-list.js +15 -0
  212. package/dist/commands/recipes/recipes-list.js.map +1 -0
  213. package/dist/commands/recipes/recipes.d.ts +12 -0
  214. package/dist/commands/recipes/recipes.d.ts.map +1 -0
  215. package/dist/commands/recipes/recipes.js +52 -0
  216. package/dist/commands/recipes/recipes.js.map +1 -0
  217. package/dist/commands/serve/index.d.ts +3 -0
  218. package/dist/commands/serve/index.d.ts.map +1 -0
  219. package/dist/commands/serve/index.js +26 -0
  220. package/dist/commands/serve/index.js.map +1 -0
  221. package/dist/commands/serve/serve.d.ts +4 -0
  222. package/dist/commands/serve/serve.d.ts.map +1 -0
  223. package/dist/commands/serve/serve.js +149 -0
  224. package/dist/commands/serve/serve.js.map +1 -0
  225. package/dist/commands/sites/index.d.ts +2 -0
  226. package/dist/commands/sites/index.d.ts.map +1 -0
  227. package/dist/commands/sites/index.js +2 -0
  228. package/dist/commands/sites/index.js.map +1 -0
  229. package/dist/commands/sites/sites-create-template.d.ts +5 -0
  230. package/dist/commands/sites/sites-create-template.d.ts.map +1 -0
  231. package/dist/commands/sites/sites-create-template.js +230 -0
  232. package/dist/commands/sites/sites-create-template.js.map +1 -0
  233. package/dist/commands/sites/sites-create.d.ts +7 -0
  234. package/dist/commands/sites/sites-create.d.ts.map +1 -0
  235. package/dist/commands/sites/sites-create.js +125 -0
  236. package/dist/commands/sites/sites-create.js.map +1 -0
  237. package/dist/commands/sites/sites-delete.d.ts +4 -0
  238. package/dist/commands/sites/sites-delete.d.ts.map +1 -0
  239. package/dist/commands/sites/sites-delete.js +77 -0
  240. package/dist/commands/sites/sites-delete.js.map +1 -0
  241. package/dist/commands/sites/sites-list.d.ts +4 -0
  242. package/dist/commands/sites/sites-list.d.ts.map +1 -0
  243. package/dist/commands/sites/sites-list.js +59 -0
  244. package/dist/commands/sites/sites-list.js.map +1 -0
  245. package/dist/commands/sites/sites.d.ts +5 -0
  246. package/dist/commands/sites/sites.d.ts.map +1 -0
  247. package/dist/commands/sites/sites.js +77 -0
  248. package/dist/commands/sites/sites.js.map +1 -0
  249. package/dist/commands/status/index.d.ts +3 -0
  250. package/dist/commands/status/index.d.ts.map +1 -0
  251. package/dist/commands/status/index.js +21 -0
  252. package/dist/commands/status/index.js.map +1 -0
  253. package/dist/commands/status/status-hooks.d.ts +4 -0
  254. package/dist/commands/status/status-hooks.d.ts.map +1 -0
  255. package/dist/commands/status/status-hooks.js +29 -0
  256. package/dist/commands/status/status-hooks.js.map +1 -0
  257. package/dist/commands/status/status.d.ts +4 -0
  258. package/dist/commands/status/status.d.ts.map +1 -0
  259. package/dist/commands/status/status.js +78 -0
  260. package/dist/commands/status/status.js.map +1 -0
  261. package/dist/commands/switch/index.d.ts +3 -0
  262. package/dist/commands/switch/index.d.ts.map +1 -0
  263. package/dist/commands/switch/index.js +8 -0
  264. package/dist/commands/switch/index.js.map +1 -0
  265. package/dist/commands/switch/switch.d.ts +4 -0
  266. package/dist/commands/switch/switch.d.ts.map +1 -0
  267. package/dist/commands/switch/switch.js +31 -0
  268. package/dist/commands/switch/switch.js.map +1 -0
  269. package/dist/commands/unlink/index.d.ts +3 -0
  270. package/dist/commands/unlink/index.d.ts.map +1 -0
  271. package/dist/commands/unlink/index.js +8 -0
  272. package/dist/commands/unlink/index.js.map +1 -0
  273. package/dist/commands/unlink/unlink.d.ts +4 -0
  274. package/dist/commands/unlink/unlink.d.ts.map +1 -0
  275. package/dist/commands/unlink/unlink.js +22 -0
  276. package/dist/commands/unlink/unlink.js.map +1 -0
  277. package/dist/commands/watch/index.d.ts +3 -0
  278. package/dist/commands/watch/index.d.ts.map +1 -0
  279. package/dist/commands/watch/index.js +9 -0
  280. package/dist/commands/watch/index.js.map +1 -0
  281. package/dist/commands/watch/watch.d.ts +4 -0
  282. package/dist/commands/watch/watch.d.ts.map +1 -0
  283. package/dist/commands/watch/watch.js +90 -0
  284. package/dist/commands/watch/watch.js.map +1 -0
  285. package/dist/lib/account.d.ts +6 -0
  286. package/dist/lib/account.d.ts.map +1 -0
  287. package/dist/lib/account.js +14 -0
  288. package/dist/lib/account.js.map +1 -0
  289. package/dist/lib/api.d.ts +10 -0
  290. package/dist/lib/api.d.ts.map +1 -0
  291. package/dist/lib/api.js +25 -0
  292. package/dist/lib/api.js.map +1 -0
  293. package/dist/lib/blobs/blobs.d.ts +47 -0
  294. package/dist/lib/blobs/blobs.d.ts.map +1 -0
  295. package/dist/lib/blobs/blobs.js +82 -0
  296. package/dist/lib/blobs/blobs.js.map +1 -0
  297. package/dist/lib/build.d.ts +43 -0
  298. package/dist/lib/build.d.ts.map +1 -0
  299. package/dist/lib/build.js +73 -0
  300. package/dist/lib/build.js.map +1 -0
  301. package/dist/lib/completion/constants.d.ts +2 -0
  302. package/dist/lib/completion/constants.d.ts.map +1 -0
  303. package/dist/lib/completion/constants.js +3 -0
  304. package/dist/lib/completion/constants.js.map +1 -0
  305. package/dist/lib/completion/generate-autocompletion.d.ts +8 -0
  306. package/dist/lib/completion/generate-autocompletion.d.ts.map +1 -0
  307. package/dist/lib/completion/generate-autocompletion.js +42 -0
  308. package/dist/lib/completion/generate-autocompletion.js.map +1 -0
  309. package/dist/lib/completion/get-autocompletion.d.ts +13 -0
  310. package/dist/lib/completion/get-autocompletion.d.ts.map +1 -0
  311. package/dist/lib/completion/get-autocompletion.js +45 -0
  312. package/dist/lib/completion/get-autocompletion.js.map +1 -0
  313. package/dist/lib/completion/index.d.ts +2 -0
  314. package/dist/lib/completion/index.d.ts.map +1 -0
  315. package/dist/lib/completion/index.js +2 -0
  316. package/dist/lib/completion/index.js.map +1 -0
  317. package/dist/lib/completion/script.d.ts +3 -0
  318. package/dist/lib/completion/script.d.ts.map +1 -0
  319. package/dist/lib/completion/script.js +19 -0
  320. package/dist/lib/completion/script.js.map +1 -0
  321. package/dist/lib/edge-functions/bootstrap.d.ts +3 -0
  322. package/dist/lib/edge-functions/bootstrap.d.ts.map +1 -0
  323. package/dist/lib/edge-functions/bootstrap.js +20 -0
  324. package/dist/lib/edge-functions/bootstrap.js.map +1 -0
  325. package/dist/lib/edge-functions/consts.d.ts +11 -0
  326. package/dist/lib/edge-functions/consts.d.ts.map +1 -0
  327. package/dist/lib/edge-functions/consts.js +13 -0
  328. package/dist/lib/edge-functions/consts.js.map +1 -0
  329. package/dist/lib/edge-functions/deploy.d.ts +8 -0
  330. package/dist/lib/edge-functions/deploy.d.ts.map +1 -0
  331. package/dist/lib/edge-functions/deploy.js +34 -0
  332. package/dist/lib/edge-functions/deploy.js.map +1 -0
  333. package/dist/lib/edge-functions/editor-helper.d.ts +9 -0
  334. package/dist/lib/edge-functions/editor-helper.d.ts.map +1 -0
  335. package/dist/lib/edge-functions/editor-helper.js +31 -0
  336. package/dist/lib/edge-functions/editor-helper.js.map +1 -0
  337. package/dist/lib/edge-functions/headers.d.ts +35 -0
  338. package/dist/lib/edge-functions/headers.d.ts.map +1 -0
  339. package/dist/lib/edge-functions/headers.js +42 -0
  340. package/dist/lib/edge-functions/headers.js.map +1 -0
  341. package/dist/lib/edge-functions/proxy.d.ts +39 -0
  342. package/dist/lib/edge-functions/proxy.d.ts.map +1 -0
  343. package/dist/lib/edge-functions/proxy.js +156 -0
  344. package/dist/lib/edge-functions/proxy.js.map +1 -0
  345. package/dist/lib/edge-functions/registry.d.ts +107 -0
  346. package/dist/lib/edge-functions/registry.d.ts.map +1 -0
  347. package/dist/lib/edge-functions/registry.js +451 -0
  348. package/dist/lib/edge-functions/registry.js.map +1 -0
  349. package/dist/lib/exec-fetcher.d.ts +31 -0
  350. package/dist/lib/exec-fetcher.d.ts.map +1 -0
  351. package/dist/lib/exec-fetcher.js +132 -0
  352. package/dist/lib/exec-fetcher.js.map +1 -0
  353. package/dist/lib/fs.d.ts +12 -0
  354. package/dist/lib/fs.d.ts.map +1 -0
  355. package/dist/lib/fs.js +45 -0
  356. package/dist/lib/fs.js.map +1 -0
  357. package/dist/lib/functions/background.d.ts +3 -0
  358. package/dist/lib/functions/background.d.ts.map +1 -0
  359. package/dist/lib/functions/background.js +19 -0
  360. package/dist/lib/functions/background.js.map +1 -0
  361. package/dist/lib/functions/config.d.ts +6 -0
  362. package/dist/lib/functions/config.d.ts.map +1 -0
  363. package/dist/lib/functions/config.js +25 -0
  364. package/dist/lib/functions/config.js.map +1 -0
  365. package/dist/lib/functions/form-submissions-handler.d.ts +11 -0
  366. package/dist/lib/functions/form-submissions-handler.d.ts.map +1 -0
  367. package/dist/lib/functions/form-submissions-handler.js +144 -0
  368. package/dist/lib/functions/form-submissions-handler.js.map +1 -0
  369. package/dist/lib/functions/local-proxy.d.ts +9 -0
  370. package/dist/lib/functions/local-proxy.d.ts.map +1 -0
  371. package/dist/lib/functions/local-proxy.js +40 -0
  372. package/dist/lib/functions/local-proxy.js.map +1 -0
  373. package/dist/lib/functions/memoized-build.d.ts +6 -0
  374. package/dist/lib/functions/memoized-build.d.ts.map +1 -0
  375. package/dist/lib/functions/memoized-build.js +30 -0
  376. package/dist/lib/functions/memoized-build.js.map +1 -0
  377. package/dist/lib/functions/netlify-function.d.ts +71 -0
  378. package/dist/lib/functions/netlify-function.d.ts.map +1 -0
  379. package/dist/lib/functions/netlify-function.js +266 -0
  380. package/dist/lib/functions/netlify-function.js.map +1 -0
  381. package/dist/lib/functions/registry.d.ts +106 -0
  382. package/dist/lib/functions/registry.d.ts.map +1 -0
  383. package/dist/lib/functions/registry.js +485 -0
  384. package/dist/lib/functions/registry.js.map +1 -0
  385. package/dist/lib/functions/runtimes/go/index.d.ts +25 -0
  386. package/dist/lib/functions/runtimes/go/index.d.ts.map +1 -0
  387. package/dist/lib/functions/runtimes/go/index.js +68 -0
  388. package/dist/lib/functions/runtimes/go/index.js.map +1 -0
  389. package/dist/lib/functions/runtimes/index.d.ts +42 -0
  390. package/dist/lib/functions/runtimes/index.d.ts.map +1 -0
  391. package/dist/lib/functions/runtimes/index.js +10 -0
  392. package/dist/lib/functions/runtimes/index.js.map +1 -0
  393. package/dist/lib/functions/runtimes/js/builders/netlify-lambda.d.ts +19 -0
  394. package/dist/lib/functions/runtimes/js/builders/netlify-lambda.d.ts.map +1 -0
  395. package/dist/lib/functions/runtimes/js/builders/netlify-lambda.js +62 -0
  396. package/dist/lib/functions/runtimes/js/builders/netlify-lambda.js.map +1 -0
  397. package/dist/lib/functions/runtimes/js/builders/zisi.d.ts +46 -0
  398. package/dist/lib/functions/runtimes/js/builders/zisi.d.ts.map +1 -0
  399. package/dist/lib/functions/runtimes/js/builders/zisi.js +184 -0
  400. package/dist/lib/functions/runtimes/js/builders/zisi.js.map +1 -0
  401. package/dist/lib/functions/runtimes/js/constants.d.ts +2 -0
  402. package/dist/lib/functions/runtimes/js/constants.d.ts.map +1 -0
  403. package/dist/lib/functions/runtimes/js/constants.js +2 -0
  404. package/dist/lib/functions/runtimes/js/constants.js.map +1 -0
  405. package/dist/lib/functions/runtimes/js/index.d.ts +25 -0
  406. package/dist/lib/functions/runtimes/js/index.d.ts.map +1 -0
  407. package/dist/lib/functions/runtimes/js/index.js +112 -0
  408. package/dist/lib/functions/runtimes/js/index.js.map +1 -0
  409. package/dist/lib/functions/runtimes/js/worker.d.ts +2 -0
  410. package/dist/lib/functions/runtimes/js/worker.d.ts.map +1 -0
  411. package/dist/lib/functions/runtimes/js/worker.js +53 -0
  412. package/dist/lib/functions/runtimes/js/worker.js.map +1 -0
  413. package/dist/lib/functions/runtimes/rust/index.d.ts +25 -0
  414. package/dist/lib/functions/runtimes/rust/index.d.ts.map +1 -0
  415. package/dist/lib/functions/runtimes/rust/index.js +69 -0
  416. package/dist/lib/functions/runtimes/rust/index.js.map +1 -0
  417. package/dist/lib/functions/scheduled.d.ts +17 -0
  418. package/dist/lib/functions/scheduled.d.ts.map +1 -0
  419. package/dist/lib/functions/scheduled.js +81 -0
  420. package/dist/lib/functions/scheduled.js.map +1 -0
  421. package/dist/lib/functions/server.d.ts +31 -0
  422. package/dist/lib/functions/server.d.ts.map +1 -0
  423. package/dist/lib/functions/server.js +303 -0
  424. package/dist/lib/functions/server.js.map +1 -0
  425. package/dist/lib/functions/synchronous.d.ts +8 -0
  426. package/dist/lib/functions/synchronous.d.ts.map +1 -0
  427. package/dist/lib/functions/synchronous.js +141 -0
  428. package/dist/lib/functions/synchronous.js.map +1 -0
  429. package/dist/lib/functions/utils.d.ts +11 -0
  430. package/dist/lib/functions/utils.d.ts.map +1 -0
  431. package/dist/lib/functions/utils.js +47 -0
  432. package/dist/lib/functions/utils.js.map +1 -0
  433. package/dist/lib/geo-location.d.ts +46 -0
  434. package/dist/lib/geo-location.d.ts.map +1 -0
  435. package/dist/lib/geo-location.js +108 -0
  436. package/dist/lib/geo-location.js.map +1 -0
  437. package/dist/lib/http-agent.d.ts +18 -0
  438. package/dist/lib/http-agent.d.ts.map +1 -0
  439. package/dist/lib/http-agent.js +97 -0
  440. package/dist/lib/http-agent.js.map +1 -0
  441. package/dist/lib/images/proxy.d.ts +34 -0
  442. package/dist/lib/images/proxy.d.ts.map +1 -0
  443. package/dist/lib/images/proxy.js +122 -0
  444. package/dist/lib/images/proxy.js.map +1 -0
  445. package/dist/lib/log.d.ts +3 -0
  446. package/dist/lib/log.d.ts.map +1 -0
  447. package/dist/lib/log.js +16 -0
  448. package/dist/lib/log.js.map +1 -0
  449. package/dist/lib/path.d.ts +2 -0
  450. package/dist/lib/path.d.ts.map +1 -0
  451. package/dist/lib/path.js +3 -0
  452. package/dist/lib/path.js.map +1 -0
  453. package/dist/lib/render-error-template.d.ts +3 -0
  454. package/dist/lib/render-error-template.d.ts.map +1 -0
  455. package/dist/lib/render-error-template.js +21 -0
  456. package/dist/lib/render-error-template.js.map +1 -0
  457. package/dist/lib/settings.d.ts +14 -0
  458. package/dist/lib/settings.d.ts.map +1 -0
  459. package/dist/lib/settings.js +19 -0
  460. package/dist/lib/settings.js.map +1 -0
  461. package/dist/lib/spinner.d.ts +23 -0
  462. package/dist/lib/spinner.d.ts.map +1 -0
  463. package/dist/lib/spinner.js +30 -0
  464. package/dist/lib/spinner.js.map +1 -0
  465. package/dist/lib/string.d.ts +2 -0
  466. package/dist/lib/string.d.ts.map +1 -0
  467. package/dist/lib/string.js +6 -0
  468. package/dist/lib/string.js.map +1 -0
  469. package/dist/recipes/ai-context/context.d.ts +33 -0
  470. package/dist/recipes/ai-context/context.d.ts.map +1 -0
  471. package/dist/recipes/ai-context/context.js +101 -0
  472. package/dist/recipes/ai-context/context.js.map +1 -0
  473. package/dist/recipes/ai-context/index.d.ts +4 -0
  474. package/dist/recipes/ai-context/index.d.ts.map +1 -0
  475. package/dist/recipes/ai-context/index.js +86 -0
  476. package/dist/recipes/ai-context/index.js.map +1 -0
  477. package/dist/recipes/blobs-migrate/index.d.ts +9 -0
  478. package/dist/recipes/blobs-migrate/index.d.ts.map +1 -0
  479. package/dist/recipes/blobs-migrate/index.js +77 -0
  480. package/dist/recipes/blobs-migrate/index.js.map +1 -0
  481. package/dist/recipes/vscode/index.d.ts +12 -0
  482. package/dist/recipes/vscode/index.d.ts.map +1 -0
  483. package/dist/recipes/vscode/index.js +91 -0
  484. package/dist/recipes/vscode/index.js.map +1 -0
  485. package/dist/recipes/vscode/settings.d.ts +18 -0
  486. package/dist/recipes/vscode/settings.d.ts.map +1 -0
  487. package/dist/recipes/vscode/settings.js +61 -0
  488. package/dist/recipes/vscode/settings.js.map +1 -0
  489. package/dist/tsconfig.build.tsbuildinfo +1 -0
  490. package/dist/utils/addons/prepare.d.ts +13 -0
  491. package/dist/utils/addons/prepare.d.ts.map +1 -0
  492. package/dist/utils/addons/prepare.js +26 -0
  493. package/dist/utils/addons/prepare.js.map +1 -0
  494. package/dist/utils/banner.d.ts +4 -0
  495. package/dist/utils/banner.d.ts.map +1 -0
  496. package/dist/utils/banner.js +12 -0
  497. package/dist/utils/banner.js.map +1 -0
  498. package/dist/utils/build-info.d.ts +21 -0
  499. package/dist/utils/build-info.d.ts.map +1 -0
  500. package/dist/utils/build-info.js +124 -0
  501. package/dist/utils/build-info.js.map +1 -0
  502. package/dist/utils/command-helpers.d.ts +116 -0
  503. package/dist/utils/command-helpers.d.ts.map +1 -0
  504. package/dist/utils/command-helpers.js +264 -0
  505. package/dist/utils/command-helpers.js.map +1 -0
  506. package/dist/utils/copy-template-dir/copy-template-dir.d.ts +2 -0
  507. package/dist/utils/copy-template-dir/copy-template-dir.d.ts.map +1 -0
  508. package/dist/utils/copy-template-dir/copy-template-dir.js +75 -0
  509. package/dist/utils/copy-template-dir/copy-template-dir.js.map +1 -0
  510. package/dist/utils/create-deferred.d.ts +7 -0
  511. package/dist/utils/create-deferred.d.ts.map +1 -0
  512. package/dist/utils/create-deferred.js +11 -0
  513. package/dist/utils/create-deferred.js.map +1 -0
  514. package/dist/utils/create-stream-promise.d.ts +5 -0
  515. package/dist/utils/create-stream-promise.d.ts.map +1 -0
  516. package/dist/utils/create-stream-promise.js +46 -0
  517. package/dist/utils/create-stream-promise.js.map +1 -0
  518. package/dist/utils/deploy/constants.d.ts +10 -0
  519. package/dist/utils/deploy/constants.d.ts.map +1 -0
  520. package/dist/utils/deploy/constants.js +18 -0
  521. package/dist/utils/deploy/constants.js.map +1 -0
  522. package/dist/utils/deploy/deploy-site.d.ts +24 -0
  523. package/dist/utils/deploy/deploy-site.d.ts.map +1 -0
  524. package/dist/utils/deploy/deploy-site.js +157 -0
  525. package/dist/utils/deploy/deploy-site.js.map +1 -0
  526. package/dist/utils/deploy/hash-config.d.ts +10 -0
  527. package/dist/utils/deploy/hash-config.d.ts.map +1 -0
  528. package/dist/utils/deploy/hash-config.js +26 -0
  529. package/dist/utils/deploy/hash-config.js.map +1 -0
  530. package/dist/utils/deploy/hash-files.d.ts +14 -0
  531. package/dist/utils/deploy/hash-files.d.ts.map +1 -0
  532. package/dist/utils/deploy/hash-files.js +31 -0
  533. package/dist/utils/deploy/hash-files.js.map +1 -0
  534. package/dist/utils/deploy/hash-fns.d.ts +17 -0
  535. package/dist/utils/deploy/hash-fns.d.ts.map +1 -0
  536. package/dist/utils/deploy/hash-fns.js +143 -0
  537. package/dist/utils/deploy/hash-fns.js.map +1 -0
  538. package/dist/utils/deploy/hasher-segments.d.ts +14 -0
  539. package/dist/utils/deploy/hasher-segments.d.ts.map +1 -0
  540. package/dist/utils/deploy/hasher-segments.js +69 -0
  541. package/dist/utils/deploy/hasher-segments.js.map +1 -0
  542. package/dist/utils/deploy/upload-files.d.ts +7 -0
  543. package/dist/utils/deploy/upload-files.d.ts.map +1 -0
  544. package/dist/utils/deploy/upload-files.js +113 -0
  545. package/dist/utils/deploy/upload-files.js.map +1 -0
  546. package/dist/utils/deploy/util.d.ts +5 -0
  547. package/dist/utils/deploy/util.d.ts.map +1 -0
  548. package/dist/utils/deploy/util.js +94 -0
  549. package/dist/utils/deploy/util.js.map +1 -0
  550. package/dist/utils/detect-server-settings.d.ts +15 -0
  551. package/dist/utils/detect-server-settings.d.ts.map +1 -0
  552. package/dist/utils/detect-server-settings.js +252 -0
  553. package/dist/utils/detect-server-settings.js.map +1 -0
  554. package/dist/utils/dev.d.ts +62 -0
  555. package/dist/utils/dev.d.ts.map +1 -0
  556. package/dist/utils/dev.js +197 -0
  557. package/dist/utils/dev.js.map +1 -0
  558. package/dist/utils/dot-env.d.ts +26 -0
  559. package/dist/utils/dot-env.d.ts.map +1 -0
  560. package/dist/utils/dot-env.js +43 -0
  561. package/dist/utils/dot-env.js.map +1 -0
  562. package/dist/utils/env/index.d.ts +100 -0
  563. package/dist/utils/env/index.d.ts.map +1 -0
  564. package/dist/utils/env/index.js +231 -0
  565. package/dist/utils/env/index.js.map +1 -0
  566. package/dist/utils/execa.d.ts +4 -0
  567. package/dist/utils/execa.d.ts.map +1 -0
  568. package/dist/utils/execa.js +16 -0
  569. package/dist/utils/execa.js.map +1 -0
  570. package/dist/utils/feature-flags.d.ts +21 -0
  571. package/dist/utils/feature-flags.d.ts.map +1 -0
  572. package/dist/utils/feature-flags.js +25 -0
  573. package/dist/utils/feature-flags.js.map +1 -0
  574. package/dist/utils/framework-server.d.ts +13 -0
  575. package/dist/utils/framework-server.d.ts.map +1 -0
  576. package/dist/utils/framework-server.js +61 -0
  577. package/dist/utils/framework-server.js.map +1 -0
  578. package/dist/utils/frameworks-api.d.ts +20 -0
  579. package/dist/utils/frameworks-api.d.ts.map +1 -0
  580. package/dist/utils/frameworks-api.js +54 -0
  581. package/dist/utils/frameworks-api.js.map +1 -0
  582. package/dist/utils/functions/constants.d.ts +2 -0
  583. package/dist/utils/functions/constants.d.ts.map +1 -0
  584. package/dist/utils/functions/constants.js +2 -0
  585. package/dist/utils/functions/constants.js.map +1 -0
  586. package/dist/utils/functions/functions.d.ts +35 -0
  587. package/dist/utils/functions/functions.d.ts.map +1 -0
  588. package/dist/utils/functions/functions.js +41 -0
  589. package/dist/utils/functions/functions.js.map +1 -0
  590. package/dist/utils/functions/get-functions.d.ts +10 -0
  591. package/dist/utils/functions/get-functions.d.ts.map +1 -0
  592. package/dist/utils/functions/get-functions.js +35 -0
  593. package/dist/utils/functions/get-functions.js.map +1 -0
  594. package/dist/utils/functions/index.d.ts +4 -0
  595. package/dist/utils/functions/index.d.ts.map +1 -0
  596. package/dist/utils/functions/index.js +4 -0
  597. package/dist/utils/functions/index.js.map +1 -0
  598. package/dist/utils/get-global-config.d.ts +7 -0
  599. package/dist/utils/get-global-config.d.ts.map +1 -0
  600. package/dist/utils/get-global-config.js +41 -0
  601. package/dist/utils/get-global-config.js.map +1 -0
  602. package/dist/utils/get-package-json.d.ts +3 -0
  603. package/dist/utils/get-package-json.d.ts.map +1 -0
  604. package/dist/utils/get-package-json.js +16 -0
  605. package/dist/utils/get-package-json.js.map +1 -0
  606. package/dist/utils/get-repo-data.d.ts +31 -0
  607. package/dist/utils/get-repo-data.d.ts.map +1 -0
  608. package/dist/utils/get-repo-data.js +66 -0
  609. package/dist/utils/get-repo-data.js.map +1 -0
  610. package/dist/utils/get-site.d.ts +2 -0
  611. package/dist/utils/get-site.d.ts.map +1 -0
  612. package/dist/utils/get-site.js +22 -0
  613. package/dist/utils/get-site.js.map +1 -0
  614. package/dist/utils/gh-auth.d.ts +11 -0
  615. package/dist/utils/gh-auth.d.ts.map +1 -0
  616. package/dist/utils/gh-auth.js +105 -0
  617. package/dist/utils/gh-auth.js.map +1 -0
  618. package/dist/utils/gitignore.d.ts +2 -0
  619. package/dist/utils/gitignore.d.ts.map +1 -0
  620. package/dist/utils/gitignore.js +36 -0
  621. package/dist/utils/gitignore.js.map +1 -0
  622. package/dist/utils/headers.d.ts +21 -0
  623. package/dist/utils/headers.d.ts.map +1 -0
  624. package/dist/utils/headers.js +51 -0
  625. package/dist/utils/headers.js.map +1 -0
  626. package/dist/utils/hooks/requires-site-info.d.ts +7 -0
  627. package/dist/utils/hooks/requires-site-info.d.ts.map +1 -0
  628. package/dist/utils/hooks/requires-site-info.js +31 -0
  629. package/dist/utils/hooks/requires-site-info.js.map +1 -0
  630. package/dist/utils/init/config-github.d.ts +21 -0
  631. package/dist/utils/init/config-github.d.ts.map +1 -0
  632. package/dist/utils/init/config-github.js +247 -0
  633. package/dist/utils/init/config-github.js.map +1 -0
  634. package/dist/utils/init/config-manual.d.ts +12 -0
  635. package/dist/utils/init/config-manual.d.ts.map +1 -0
  636. package/dist/utils/init/config-manual.js +109 -0
  637. package/dist/utils/init/config-manual.js.map +1 -0
  638. package/dist/utils/init/config.d.ts +14 -0
  639. package/dist/utils/init/config.d.ts.map +1 -0
  640. package/dist/utils/init/config.js +38 -0
  641. package/dist/utils/init/config.js.map +1 -0
  642. package/dist/utils/init/plugins.d.ts +3 -0
  643. package/dist/utils/init/plugins.d.ts.map +1 -0
  644. package/dist/utils/init/plugins.js +13 -0
  645. package/dist/utils/init/plugins.js.map +1 -0
  646. package/dist/utils/init/utils.d.ts +54 -0
  647. package/dist/utils/init/utils.d.ts.map +1 -0
  648. package/dist/utils/init/utils.js +199 -0
  649. package/dist/utils/init/utils.js.map +1 -0
  650. package/dist/utils/live-tunnel.d.ts +8 -0
  651. package/dist/utils/live-tunnel.d.ts.map +1 -0
  652. package/dist/utils/live-tunnel.js +128 -0
  653. package/dist/utils/live-tunnel.js.map +1 -0
  654. package/dist/utils/multimap.d.ts +6 -0
  655. package/dist/utils/multimap.d.ts.map +1 -0
  656. package/dist/utils/multimap.js +10 -0
  657. package/dist/utils/multimap.js.map +1 -0
  658. package/dist/utils/open-browser.d.ts +7 -0
  659. package/dist/utils/open-browser.d.ts.map +1 -0
  660. package/dist/utils/open-browser.js +33 -0
  661. package/dist/utils/open-browser.js.map +1 -0
  662. package/dist/utils/parse-raw-flags.d.ts +3 -0
  663. package/dist/utils/parse-raw-flags.d.ts.map +1 -0
  664. package/dist/utils/parse-raw-flags.js +54 -0
  665. package/dist/utils/parse-raw-flags.js.map +1 -0
  666. package/dist/utils/prompts/blob-delete-prompts.d.ts +2 -0
  667. package/dist/utils/prompts/blob-delete-prompts.d.ts.map +1 -0
  668. package/dist/utils/prompts/blob-delete-prompts.js +12 -0
  669. package/dist/utils/prompts/blob-delete-prompts.js.map +1 -0
  670. package/dist/utils/prompts/blob-set-prompt.d.ts +2 -0
  671. package/dist/utils/prompts/blob-set-prompt.d.ts.map +1 -0
  672. package/dist/utils/prompts/blob-set-prompt.js +12 -0
  673. package/dist/utils/prompts/blob-set-prompt.js.map +1 -0
  674. package/dist/utils/prompts/confirm-prompt.d.ts +2 -0
  675. package/dist/utils/prompts/confirm-prompt.d.ts.map +1 -0
  676. package/dist/utils/prompts/confirm-prompt.js +21 -0
  677. package/dist/utils/prompts/confirm-prompt.js.map +1 -0
  678. package/dist/utils/prompts/env-clone-prompt.d.ts +11 -0
  679. package/dist/utils/prompts/env-clone-prompt.d.ts.map +1 -0
  680. package/dist/utils/prompts/env-clone-prompt.js +28 -0
  681. package/dist/utils/prompts/env-clone-prompt.js.map +1 -0
  682. package/dist/utils/prompts/env-set-prompts.d.ts +2 -0
  683. package/dist/utils/prompts/env-set-prompts.d.ts.map +1 -0
  684. package/dist/utils/prompts/env-set-prompts.js +12 -0
  685. package/dist/utils/prompts/env-set-prompts.js.map +1 -0
  686. package/dist/utils/prompts/env-unset-prompts.d.ts +8 -0
  687. package/dist/utils/prompts/env-unset-prompts.d.ts.map +1 -0
  688. package/dist/utils/prompts/env-unset-prompts.js +18 -0
  689. package/dist/utils/prompts/env-unset-prompts.js.map +1 -0
  690. package/dist/utils/prompts/prompt-messages.d.ts +25 -0
  691. package/dist/utils/prompts/prompt-messages.d.ts.map +1 -0
  692. package/dist/utils/prompts/prompt-messages.js +26 -0
  693. package/dist/utils/prompts/prompt-messages.js.map +1 -0
  694. package/dist/utils/proxy-server.d.ts +38 -0
  695. package/dist/utils/proxy-server.d.ts.map +1 -0
  696. package/dist/utils/proxy-server.js +50 -0
  697. package/dist/utils/proxy-server.js.map +1 -0
  698. package/dist/utils/proxy.d.ts +10 -0
  699. package/dist/utils/proxy.d.ts.map +1 -0
  700. package/dist/utils/proxy.js +776 -0
  701. package/dist/utils/proxy.js.map +1 -0
  702. package/dist/utils/read-repo-url.d.ts +12 -0
  703. package/dist/utils/read-repo-url.d.ts.map +1 -0
  704. package/dist/utils/read-repo-url.js +62 -0
  705. package/dist/utils/read-repo-url.js.map +1 -0
  706. package/dist/utils/redirects.d.ts +6 -0
  707. package/dist/utils/redirects.d.ts.map +1 -0
  708. package/dist/utils/redirects.js +59 -0
  709. package/dist/utils/redirects.js.map +1 -0
  710. package/dist/utils/request-id.d.ts +2 -0
  711. package/dist/utils/request-id.d.ts.map +1 -0
  712. package/dist/utils/request-id.js +3 -0
  713. package/dist/utils/request-id.js.map +1 -0
  714. package/dist/utils/rules-proxy.d.ts +14 -0
  715. package/dist/utils/rules-proxy.d.ts.map +1 -0
  716. package/dist/utils/rules-proxy.js +103 -0
  717. package/dist/utils/rules-proxy.js.map +1 -0
  718. package/dist/utils/run-build.d.ts +42 -0
  719. package/dist/utils/run-build.d.ts.map +1 -0
  720. package/dist/utils/run-build.js +130 -0
  721. package/dist/utils/run-build.js.map +1 -0
  722. package/dist/utils/run-program.d.ts +3 -0
  723. package/dist/utils/run-program.d.ts.map +1 -0
  724. package/dist/utils/run-program.js +13 -0
  725. package/dist/utils/run-program.js.map +1 -0
  726. package/dist/utils/scripted-commands.d.ts +3 -0
  727. package/dist/utils/scripted-commands.d.ts.map +1 -0
  728. package/dist/utils/scripted-commands.js +18 -0
  729. package/dist/utils/scripted-commands.js.map +1 -0
  730. package/dist/utils/shell.d.ts +8 -0
  731. package/dist/utils/shell.d.ts.map +1 -0
  732. package/dist/utils/shell.js +114 -0
  733. package/dist/utils/shell.js.map +1 -0
  734. package/dist/utils/sign-redirect.d.ts +7 -0
  735. package/dist/utils/sign-redirect.d.ts.map +1 -0
  736. package/dist/utils/sign-redirect.js +16 -0
  737. package/dist/utils/sign-redirect.js.map +1 -0
  738. package/dist/utils/sites/create-template.d.ts +14 -0
  739. package/dist/utils/sites/create-template.d.ts.map +1 -0
  740. package/dist/utils/sites/create-template.js +47 -0
  741. package/dist/utils/sites/create-template.js.map +1 -0
  742. package/dist/utils/sites/utils.d.ts +16 -0
  743. package/dist/utils/sites/utils.d.ts.map +1 -0
  744. package/dist/utils/sites/utils.js +63 -0
  745. package/dist/utils/sites/utils.js.map +1 -0
  746. package/dist/utils/state-config.d.ts +12 -0
  747. package/dist/utils/state-config.d.ts.map +1 -0
  748. package/dist/utils/state-config.js +113 -0
  749. package/dist/utils/state-config.js.map +1 -0
  750. package/dist/utils/static-server.d.ts +10 -0
  751. package/dist/utils/static-server.d.ts.map +1 -0
  752. package/dist/utils/static-server.js +36 -0
  753. package/dist/utils/static-server.js.map +1 -0
  754. package/dist/utils/telemetry/index.d.ts +3 -0
  755. package/dist/utils/telemetry/index.d.ts.map +1 -0
  756. package/dist/utils/telemetry/index.js +3 -0
  757. package/dist/utils/telemetry/index.js.map +1 -0
  758. package/dist/utils/telemetry/report-error.d.ts +10 -0
  759. package/dist/utils/telemetry/report-error.d.ts.map +1 -0
  760. package/dist/utils/telemetry/report-error.js +53 -0
  761. package/dist/utils/telemetry/report-error.js.map +1 -0
  762. package/dist/utils/telemetry/request.d.ts +2 -0
  763. package/dist/utils/telemetry/request.d.ts.map +1 -0
  764. package/dist/utils/telemetry/request.js +41 -0
  765. package/dist/utils/telemetry/request.js.map +1 -0
  766. package/dist/utils/telemetry/telemetry.d.ts +14 -0
  767. package/dist/utils/telemetry/telemetry.d.ts.map +1 -0
  768. package/dist/utils/telemetry/telemetry.js +94 -0
  769. package/dist/utils/telemetry/telemetry.js.map +1 -0
  770. package/dist/utils/telemetry/utils.d.ts +3 -0
  771. package/dist/utils/telemetry/utils.d.ts.map +1 -0
  772. package/dist/utils/telemetry/utils.js +7 -0
  773. package/dist/utils/telemetry/utils.js.map +1 -0
  774. package/dist/utils/telemetry/validation.d.ts +2 -0
  775. package/dist/utils/telemetry/validation.d.ts.map +1 -0
  776. package/dist/utils/telemetry/validation.js +63 -0
  777. package/dist/utils/telemetry/validation.js.map +1 -0
  778. package/dist/utils/types.d.ts +202 -0
  779. package/dist/utils/types.d.ts.map +1 -0
  780. package/dist/utils/types.js +2 -0
  781. package/dist/utils/types.js.map +1 -0
  782. package/dist/utils/validation.d.ts +6 -0
  783. package/dist/utils/validation.d.ts.map +1 -0
  784. package/dist/utils/validation.js +17 -0
  785. package/dist/utils/validation.js.map +1 -0
  786. package/dist/utils/websockets/index.d.ts +3 -0
  787. package/dist/utils/websockets/index.d.ts.map +1 -0
  788. package/dist/utils/websockets/index.js +3 -0
  789. package/dist/utils/websockets/index.js.map +1 -0
  790. package/functions-templates/javascript/scheduled-function/package.json +1 -1
  791. package/functions-templates/typescript/hello-world/package-lock.json +15 -15
  792. package/functions-templates/typescript/hello-world/package.json +1 -1
  793. package/functions-templates/typescript/scheduled-function/package.json +1 -1
  794. package/npm-shrinkwrap.json +127 -94
  795. package/package.json +9 -7
@@ -0,0 +1,485 @@
1
+ import { mkdir, stat } from 'fs/promises';
2
+ import { createRequire } from 'module';
3
+ import { basename, extname, isAbsolute, join, resolve } from 'path';
4
+ import { env } from 'process';
5
+ import { listFunctions } from '@netlify/zip-it-and-ship-it';
6
+ import extractZip from 'extract-zip';
7
+ import { chalk, log, getTerminalLink, NETLIFYDEVERR, NETLIFYDEVLOG, NETLIFYDEVWARN, warn, watchDebounced, } from '../../utils/command-helpers.js';
8
+ import { INTERNAL_FUNCTIONS_FOLDER, SERVE_FUNCTIONS_FOLDER } from '../../utils/functions/functions.js';
9
+ import { BACKGROUND_FUNCTIONS_WARNING } from '../log.js';
10
+ import { getPathInProject } from '../settings.js';
11
+ import NetlifyFunction from './netlify-function.js';
12
+ import runtimes from './runtimes/index.js';
13
+ export const DEFAULT_FUNCTION_URL_EXPRESSION = /^\/.netlify\/(functions|builders)\/([^/]+).*/;
14
+ const TYPES_PACKAGE = '@netlify/functions';
15
+ const ZIP_EXTENSION = '.zip';
16
+ const isInternalFunction = (func, frameworksAPIFunctionsPath) => func.mainFile.includes(getPathInProject([INTERNAL_FUNCTIONS_FOLDER])) ||
17
+ func.mainFile.includes(frameworksAPIFunctionsPath);
18
+ /**
19
+ * @typedef {"buildError" | "extracted" | "loaded" | "missing-types-package" | "reloaded" | "reloading" | "removed"} FunctionEvent
20
+ */
21
+ export class FunctionsRegistry {
22
+ /**
23
+ * The functions held by the registry
24
+ */
25
+ functions = new Map();
26
+ /**
27
+ * File watchers for function files. Maps function names to objects built
28
+ * by the `watchDebounced` utility.
29
+ */
30
+ functionWatchers = new Map();
31
+ /**
32
+ * Keeps track of whether we've checked whether `TYPES_PACKAGE` is
33
+ * installed.
34
+ */
35
+ hasCheckedTypesPackage = false;
36
+ /**
37
+ * Context object for Netlify Blobs
38
+ */
39
+ blobsContext;
40
+ projectRoot;
41
+ isConnected;
42
+ debug;
43
+ frameworksAPIPaths;
44
+ constructor({ blobsContext,
45
+ // @ts-expect-error TS(7031) FIXME: Binding element 'capabilities' implicitly has an '... Remove this comment to see the full error message
46
+ capabilities,
47
+ // @ts-expect-error TS(7031) FIXME: Binding element 'config' implicitly has an 'any' t... Remove this comment to see the full error message
48
+ config, debug = false, frameworksAPIPaths, isConnected = false,
49
+ // @ts-expect-error TS(7031) FIXME: Binding element 'logLambdaCompat' implicitly has a... Remove this comment to see the full error message
50
+ logLambdaCompat,
51
+ // @ts-expect-error TS(7031) FIXME: Binding element 'manifest' implicitly has an 'any'... Remove this comment to see the full error message
52
+ manifest, projectRoot,
53
+ // @ts-expect-error TS(7031) FIXME: Binding element 'settings' implicitly has an 'any'... Remove this comment to see the full error message
54
+ settings,
55
+ // @ts-expect-error TS(7031) FIXME: Binding element 'timeouts' implicitly has an 'any'... Remove this comment to see the full error message
56
+ timeouts, }) {
57
+ // @ts-expect-error TS(2339) FIXME: Property 'capabilities' does not exist on type 'Fu... Remove this comment to see the full error message
58
+ this.capabilities = capabilities;
59
+ // @ts-expect-error TS(2339) FIXME: Property 'config' does not exist on type 'Function... Remove this comment to see the full error message
60
+ this.config = config;
61
+ this.debug = debug;
62
+ this.frameworksAPIPaths = frameworksAPIPaths;
63
+ this.isConnected = isConnected;
64
+ this.projectRoot = projectRoot;
65
+ // @ts-expect-error TS(2339) FIXME: Property 'timeouts' does not exist on type 'Functi... Remove this comment to see the full error message
66
+ this.timeouts = timeouts;
67
+ // @ts-expect-error TS(2339) FIXME: Property 'settings' does not exist on type 'Functi... Remove this comment to see the full error message
68
+ this.settings = settings;
69
+ this.blobsContext = blobsContext;
70
+ /**
71
+ * An object to be shared among all functions in the registry. It can be
72
+ * used to cache the results of the build function — e.g. it's used in
73
+ * the `memoizedBuild` method in the JavaScript runtime.
74
+ *
75
+ * @type {Record<string, unknown>}
76
+ */
77
+ // @ts-expect-error TS(2339) FIXME: Property 'buildCache' does not exist on type 'Func... Remove this comment to see the full error message
78
+ this.buildCache = {};
79
+ /**
80
+ * File watchers for parent directories where functions live — i.e. the
81
+ * ones supplied to `scan()`. This is a Map because in the future we
82
+ * might have several function directories.
83
+ *
84
+ * @type {Map<string, Awaited<ReturnType<watchDebounced>>>}
85
+ */
86
+ // @ts-expect-error TS(2339) FIXME: Property 'directoryWatchers' does not exist on typ... Remove this comment to see the full error message
87
+ this.directoryWatchers = new Map();
88
+ /**
89
+ * Whether to log V1 functions as using the "Lambda compatibility mode"
90
+ *
91
+ * @type {boolean}
92
+ */
93
+ // @ts-expect-error TS(2339) FIXME: Property 'logLambdaCompat' does not exist on type ... Remove this comment to see the full error message
94
+ this.logLambdaCompat = Boolean(logLambdaCompat);
95
+ /**
96
+ * Contents of a `manifest.json` file that can be looked up when dealing
97
+ * with built functions.
98
+ *
99
+ * @type {object}
100
+ */
101
+ // @ts-expect-error TS(2339) FIXME: Property 'manifest' does not exist on type 'Functi... Remove this comment to see the full error message
102
+ this.manifest = manifest;
103
+ }
104
+ checkTypesPackage() {
105
+ if (this.hasCheckedTypesPackage) {
106
+ return;
107
+ }
108
+ this.hasCheckedTypesPackage = true;
109
+ const require = createRequire(this.projectRoot);
110
+ try {
111
+ require.resolve(TYPES_PACKAGE, { paths: [this.projectRoot] });
112
+ }
113
+ catch (error) {
114
+ // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
115
+ if (error?.code === 'MODULE_NOT_FOUND') {
116
+ // @ts-expect-error TS(2345) FIXME: Argument of type '{}' is not assignable to paramet... Remove this comment to see the full error message
117
+ FunctionsRegistry.logEvent('missing-types-package', {});
118
+ }
119
+ }
120
+ }
121
+ /**
122
+ * Runs before `scan` and calls any `onDirectoryScan` hooks defined by the
123
+ * runtime before the directory is read. This gives runtime the opportunity
124
+ * to run additional logic when a directory is scanned.
125
+ */
126
+ static async prepareDirectoryScan(directory) {
127
+ await mkdir(directory, { recursive: true });
128
+ // We give runtimes the opportunity to react to a directory scan and run
129
+ // additional logic before the directory is read. So if they implement a
130
+ // `onDirectoryScan` hook, we run it.
131
+ await Promise.all(Object.values(runtimes).map((runtime) => {
132
+ // @ts-expect-error TS(2339) FIXME: Property 'onDirectoryScan' does not exist on type ... Remove this comment to see the full error message
133
+ if (typeof runtime.onDirectoryScan !== 'function') {
134
+ return null;
135
+ }
136
+ // @ts-expect-error TS(2339) FIXME: Property 'onDirectoryScan' does not exist on type ... Remove this comment to see the full error message
137
+ return runtime.onDirectoryScan({ directory });
138
+ }));
139
+ }
140
+ /**
141
+ * Builds a function and sets up the appropriate file watchers so that any
142
+ * changes will trigger another build.
143
+ */
144
+ async buildFunctionAndWatchFiles(func, firstLoad = false) {
145
+ if (!firstLoad) {
146
+ FunctionsRegistry.logEvent('reloading', { func });
147
+ }
148
+ // @ts-expect-error TS(2339) FIXME: Property 'buildCache' does not exist on type 'Func... Remove this comment to see the full error message
149
+ const { error: buildError, includedFiles, srcFilesDiff } = await func.build({ cache: this.buildCache });
150
+ if (buildError) {
151
+ FunctionsRegistry.logEvent('buildError', { func });
152
+ }
153
+ else {
154
+ const event = firstLoad ? 'loaded' : 'reloaded';
155
+ const recommendedExtension = func.getRecommendedExtension();
156
+ if (recommendedExtension) {
157
+ const { filename } = func;
158
+ const newFilename = filename ? `${basename(filename, extname(filename))}${recommendedExtension}` : null;
159
+ const action = newFilename
160
+ ? `rename the function file to ${chalk.underline(newFilename)}. Refer to https://ntl.fyi/functions-runtime for more information`
161
+ : `refer to https://ntl.fyi/functions-runtime`;
162
+ const warning = `The function is using the legacy CommonJS format. To start using ES modules, ${action}.`;
163
+ FunctionsRegistry.logEvent(event, { func, warnings: [warning] });
164
+ }
165
+ else {
166
+ FunctionsRegistry.logEvent(event, { func });
167
+ }
168
+ }
169
+ if (func.isTypeScript()) {
170
+ this.checkTypesPackage();
171
+ }
172
+ // If the build hasn't resulted in any files being added or removed, there
173
+ // is nothing else we need to do.
174
+ if (!srcFilesDiff) {
175
+ return;
176
+ }
177
+ const watcher = this.functionWatchers.get(func.name);
178
+ // If there is already a watcher for this function, we need to unwatch any
179
+ // files that have been removed and watch any files that have been added.
180
+ if (watcher) {
181
+ srcFilesDiff.deleted.forEach((path) => {
182
+ watcher.unwatch(path);
183
+ });
184
+ srcFilesDiff.added.forEach((path) => {
185
+ watcher.add(path);
186
+ });
187
+ return;
188
+ }
189
+ // If there is no watcher for this function but the build produced files,
190
+ // we create a new watcher and watch them.
191
+ if (srcFilesDiff.added.size !== 0) {
192
+ const filesToWatch = [...srcFilesDiff.added, ...includedFiles];
193
+ const newWatcher = await watchDebounced(filesToWatch, {
194
+ onChange: () => {
195
+ this.buildFunctionAndWatchFiles(func, false);
196
+ },
197
+ });
198
+ this.functionWatchers.set(func.name, newWatcher);
199
+ }
200
+ }
201
+ /**
202
+ * Returns a function by name.
203
+ */
204
+ get(name) {
205
+ return this.functions.get(name);
206
+ }
207
+ /**
208
+ * Looks for the first function that matches a given URL path. If a match is
209
+ * found, returns an object with the function and the route. If the URL path
210
+ * matches the default functions URL (i.e. can only be for a function) but no
211
+ * function with the given name exists, returns an object with the function
212
+ * and the route set to `null`. Otherwise, `undefined` is returned,
213
+ */
214
+ async getFunctionForURLPath(urlPath, method, hasStaticFile) {
215
+ // We're constructing a URL object just so that we can extract the path from
216
+ // the incoming URL. It doesn't really matter that we don't have the actual
217
+ // local URL with the correct port.
218
+ const url = new URL(`http://localhost${urlPath}`);
219
+ const defaultURLMatch = url.pathname.match(DEFAULT_FUNCTION_URL_EXPRESSION);
220
+ if (defaultURLMatch) {
221
+ const func = this.get(defaultURLMatch[2]);
222
+ if (!func) {
223
+ return { func: null, route: null };
224
+ }
225
+ const { routes = [] } = (await func.getBuildData()) ?? {};
226
+ if (routes.length !== 0) {
227
+ // @ts-expect-error TS(7006) FIXME: Parameter 'route' implicitly has an 'any' type.
228
+ const paths = routes.map((route) => chalk.underline(route.pattern)).join(', ');
229
+ warn(`Function ${chalk.yellow(func.name)} cannot be invoked on ${chalk.underline(url.pathname)}, because the function has the following URL paths defined: ${paths}`);
230
+ return;
231
+ }
232
+ return { func, route: null };
233
+ }
234
+ for (const func of this.functions.values()) {
235
+ const route = await func.matchURLPath(url.pathname, method, hasStaticFile);
236
+ if (route) {
237
+ return { func, route };
238
+ }
239
+ }
240
+ }
241
+ /**
242
+ * Logs an event associated with functions.
243
+ */
244
+ static logEvent(event, { func, warnings = [] }) {
245
+ let warningsText = '';
246
+ if (warnings.length !== 0) {
247
+ warningsText = ` with warnings:\n${warnings.map((warning) => ` - ${warning}`).join('\n')}`;
248
+ }
249
+ if (event === 'buildError') {
250
+ log(`${NETLIFYDEVERR} ${chalk.red('Failed to load')} function ${chalk.yellow(func?.displayName)}: ${func?.buildError?.message}`);
251
+ }
252
+ if (event === 'extracted') {
253
+ log(`${NETLIFYDEVLOG} ${chalk.green('Extracted')} function ${chalk.yellow(func?.displayName)} from ${func?.mainFile}.`);
254
+ return;
255
+ }
256
+ if (event === 'loaded') {
257
+ const icon = warningsText ? NETLIFYDEVWARN : NETLIFYDEVLOG;
258
+ const color = warningsText ? chalk.yellow : chalk.green;
259
+ const mode =
260
+ // @ts-expect-error TS(2339) FIXME: Property 'logLambdaCompat' does not exist on type ... Remove this comment to see the full error message
261
+ func?.runtimeAPIVersion === 1 && this.logLambdaCompat
262
+ ? ` in ${getTerminalLink('Lambda compatibility mode', 'https://ntl.fyi/lambda-compat')}`
263
+ : '';
264
+ log(`${icon} ${color('Loaded')} function ${chalk.yellow(func?.displayName)}${mode}${warningsText}`);
265
+ return;
266
+ }
267
+ if (event === 'missing-types-package') {
268
+ log(`${NETLIFYDEVWARN} For a better experience with TypeScript functions, consider installing the ${chalk.underline(TYPES_PACKAGE)} package. Refer to https://ntl.fyi/function-types for more information.`);
269
+ }
270
+ if (event === 'reloaded') {
271
+ const icon = warningsText ? NETLIFYDEVWARN : NETLIFYDEVLOG;
272
+ const color = warningsText ? chalk.yellow : chalk.green;
273
+ log(`${icon} ${color('Reloaded')} function ${chalk.yellow(func?.displayName)}${warningsText}`);
274
+ return;
275
+ }
276
+ if (event === 'reloading') {
277
+ log(`${NETLIFYDEVLOG} ${chalk.magenta('Reloading')} function ${chalk.yellow(func?.displayName)}...`);
278
+ return;
279
+ }
280
+ if (event === 'removed') {
281
+ log(`${NETLIFYDEVLOG} ${chalk.magenta('Removed')} function ${chalk.yellow(func?.displayName)}`);
282
+ }
283
+ }
284
+ /**
285
+ * Adds a function to the registry
286
+ */
287
+ async registerFunction(name, funcBeforeHook, isReload = false) {
288
+ const { runtime } = funcBeforeHook;
289
+ // The `onRegister` hook allows runtimes to modify the function before it's
290
+ // registered, or to prevent it from being registered altogether if the
291
+ // hook returns `null`.
292
+ // @ts-expect-error FIXME
293
+ const func = typeof runtime.onRegister === 'function' ? runtime.onRegister(funcBeforeHook) : funcBeforeHook;
294
+ if (func === null) {
295
+ return;
296
+ }
297
+ // @ts-expect-error TS(2339) FIXME: Property 'isConnected' does not exist on type 'Fun... Remove this comment to see the full error message
298
+ if (func.isBackground && this.isConnected && !this.capabilities.backgroundFunctions) {
299
+ warn(BACKGROUND_FUNCTIONS_WARNING);
300
+ }
301
+ if (!func.hasValidName()) {
302
+ warn(`Function name '${func.name}' is invalid. It should consist only of alphanumeric characters, hyphen & underscores.`);
303
+ }
304
+ // If the function file is a ZIP, we extract it and rewire its main file to
305
+ // the new location.
306
+ if (extname(func.mainFile) === ZIP_EXTENSION) {
307
+ const unzippedDirectory = await this.unzipFunction(func);
308
+ // If there's a manifest file, look up the function in order to extract
309
+ // the build data.
310
+ // @ts-expect-error TS(2339) FIXME: Property 'manifest' does not exist on type 'Functi... Remove this comment to see the full error message
311
+ const manifestEntry = (this.manifest?.functions || []).find((manifestFunc) => manifestFunc.name === func.name);
312
+ // We found a zipped function that does not have a corresponding entry in
313
+ // the manifest. This shouldn't happen, but we ignore the function in
314
+ // this case.
315
+ if (!manifestEntry) {
316
+ return;
317
+ }
318
+ if (this.debug) {
319
+ FunctionsRegistry.logEvent('extracted', { func });
320
+ }
321
+ func.buildData = {
322
+ ...manifestEntry?.buildData,
323
+ routes: manifestEntry?.routes,
324
+ };
325
+ // When we look at an unzipped function, we don't know whether it uses
326
+ // the legacy entry file format (i.e. `[function name].mjs`) or the new
327
+ // one (i.e. `___netlify-entry-point.mjs`). Let's look for the new one
328
+ // and use it if it exists, otherwise use the old one.
329
+ try {
330
+ const v2EntryPointPath = join(unzippedDirectory, '___netlify-entry-point.mjs');
331
+ await stat(v2EntryPointPath);
332
+ func.mainFile = v2EntryPointPath;
333
+ }
334
+ catch {
335
+ func.mainFile = join(unzippedDirectory, basename(manifestEntry.mainFile));
336
+ }
337
+ }
338
+ else {
339
+ this.buildFunctionAndWatchFiles(func, !isReload);
340
+ }
341
+ this.functions.set(name, func);
342
+ }
343
+ /**
344
+ * A proxy to zip-it-and-ship-it's `listFunctions` method. It exists just so
345
+ * that we can mock it in tests.
346
+ */
347
+ // eslint-disable-next-line class-methods-use-this
348
+ async listFunctions(...args) {
349
+ return await listFunctions(...args);
350
+ }
351
+ /**
352
+ * Takes a list of directories and scans for functions. It keeps tracks of
353
+ * any functions in those directories that we've previously seen, and takes
354
+ * care of registering and unregistering functions as they come and go.
355
+ */
356
+ async scan(relativeDirs) {
357
+ const directories = relativeDirs
358
+ .filter((dir) => Boolean(dir))
359
+ .map((dir) => (isAbsolute(dir) ? dir : join(this.projectRoot, dir)));
360
+ // check after filtering to filter out [undefined] for example
361
+ if (directories.length === 0) {
362
+ return;
363
+ }
364
+ await Promise.all(directories.map((path) => FunctionsRegistry.prepareDirectoryScan(path)));
365
+ const functions = await this.listFunctions(directories, {
366
+ featureFlags: {
367
+ buildRustSource: env.NETLIFY_EXPERIMENTAL_BUILD_RUST_SOURCE === 'true',
368
+ },
369
+ configFileDirectories: [getPathInProject([INTERNAL_FUNCTIONS_FOLDER])],
370
+ // @ts-expect-error TS(2339) FIXME: Property 'config' does not exist on type 'Function... Remove this comment to see the full error message
371
+ config: this.config.functions,
372
+ });
373
+ // user-defined functions take precedence over internal functions,
374
+ // so we want to ignore any internal functions where there's a user-defined one with the same name
375
+ const ignoredFunctions = new Set(functions
376
+ .filter((func) => isInternalFunction(func, this.frameworksAPIPaths.functions.path) &&
377
+ this.functions.has(func.name) &&
378
+ !isInternalFunction(this.functions.get(func.name), this.frameworksAPIPaths.functions.path))
379
+ .map((func) => func.name));
380
+ // Before registering any functions, we look for any functions that were on
381
+ // the previous list but are missing from the new one. We unregister them.
382
+ const deletedFunctions = [...this.functions.values()].filter((oldFunc) => {
383
+ const isFound = functions.some((newFunc) => ignoredFunctions.has(newFunc.name) ||
384
+ (newFunc.name === oldFunc.name && newFunc.mainFile === oldFunc.mainFile));
385
+ return !isFound;
386
+ });
387
+ await Promise.all(deletedFunctions.map((func) => this.unregisterFunction(func)));
388
+ const deletedFunctionNames = new Set(deletedFunctions.map((func) => func.name));
389
+ const addedFunctions = await Promise.all(
390
+ // zip-it-and-ship-it returns an array sorted based on which extension should have precedence,
391
+ // where the last ones precede the previous ones. This is why
392
+ // we reverse the array so we get the right functions precedence in the CLI.
393
+ functions.reverse().map(async ({ displayName, mainFile, name, runtime: runtimeName }) => {
394
+ if (ignoredFunctions.has(name)) {
395
+ return;
396
+ }
397
+ const runtime = runtimes[runtimeName];
398
+ // If there is no matching runtime, it means this function is not yet
399
+ // supported in Netlify Dev.
400
+ if (runtime === undefined) {
401
+ return;
402
+ }
403
+ // If this function has already been registered, we skip it.
404
+ if (this.functions.has(name)) {
405
+ return;
406
+ }
407
+ const func = new NetlifyFunction({
408
+ blobsContext: this.blobsContext,
409
+ // @ts-expect-error TS(2339) FIXME: Property 'config' does not exist on type 'Function... Remove this comment to see the full error message
410
+ config: this.config,
411
+ directory: directories.find((directory) => mainFile.startsWith(directory)),
412
+ mainFile,
413
+ name,
414
+ displayName,
415
+ projectRoot: this.projectRoot,
416
+ runtime,
417
+ // @ts-expect-error TS(2339) FIXME: Property 'timeouts' does not exist on type 'Functi... Remove this comment to see the full error message
418
+ timeoutBackground: this.timeouts.backgroundFunctions,
419
+ // @ts-expect-error TS(2339) FIXME: Property 'timeouts' does not exist on type 'Functi... Remove this comment to see the full error message
420
+ timeoutSynchronous: this.timeouts.syncFunctions,
421
+ // @ts-expect-error TS(2339) FIXME: Property 'settings' does not exist on type 'Functi... Remove this comment to see the full error message
422
+ settings: this.settings,
423
+ });
424
+ // If a function we're registering was also unregistered in this run,
425
+ // then it was a rename. Let's flag it as such so that the messaging
426
+ // is adjusted accordingly.
427
+ const isReload = deletedFunctionNames.has(name);
428
+ await this.registerFunction(name, func, isReload);
429
+ return func;
430
+ }));
431
+ const addedFunctionNames = new Set(addedFunctions.filter(Boolean).map((func) => func?.name));
432
+ deletedFunctions.forEach((func) => {
433
+ // If a function we've unregistered was also registered in this run, then
434
+ // it was a rename that we've already logged. Nothing to do in this case.
435
+ if (addedFunctionNames.has(func.name)) {
436
+ return;
437
+ }
438
+ FunctionsRegistry.logEvent('removed', { func });
439
+ });
440
+ await Promise.all(directories.map((path) => this.setupDirectoryWatcher(path)));
441
+ }
442
+ /**
443
+ * Creates a watcher that looks at files being added or removed from a
444
+ * functions directory. It doesn't care about files being changed, because
445
+ * those will be handled by each functions' watcher.
446
+ */
447
+ async setupDirectoryWatcher(directory) {
448
+ // @ts-expect-error TS(2339) FIXME: Property 'directoryWatchers' does not exist on typ... Remove this comment to see the full error message
449
+ if (this.directoryWatchers.has(directory)) {
450
+ return;
451
+ }
452
+ const watcher = await watchDebounced(directory, {
453
+ depth: 1,
454
+ onAdd: () => {
455
+ this.scan([directory]);
456
+ },
457
+ onUnlink: () => {
458
+ this.scan([directory]);
459
+ },
460
+ });
461
+ // @ts-expect-error TS(2339) FIXME: Property 'directoryWatchers' does not exist on typ... Remove this comment to see the full error message
462
+ this.directoryWatchers.set(directory, watcher);
463
+ }
464
+ /**
465
+ * Removes a function from the registry and closes its file watchers.
466
+ */
467
+ async unregisterFunction(func) {
468
+ const { name } = func;
469
+ this.functions.delete(name);
470
+ const watcher = this.functionWatchers.get(name);
471
+ if (watcher) {
472
+ await watcher.close();
473
+ }
474
+ this.functionWatchers.delete(name);
475
+ }
476
+ /**
477
+ * Takes a zipped function and extracts its contents to an internal directory.
478
+ */
479
+ async unzipFunction(func) {
480
+ const targetDirectory = resolve(this.projectRoot, getPathInProject([SERVE_FUNCTIONS_FOLDER, '.unzipped', func.name]));
481
+ await extractZip(func.mainFile, { dir: targetDirectory });
482
+ return targetDirectory;
483
+ }
484
+ }
485
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/functions/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export declare const name = "go";
2
+ export declare const getBuildFunction: ({ func }: {
3
+ func: any;
4
+ }) => () => Promise<{
5
+ binaryPath: any;
6
+ srcFiles: any[];
7
+ }>;
8
+ export declare const invokeFunction: ({ context, event, func, timeout }: {
9
+ context: any;
10
+ event: any;
11
+ func: any;
12
+ timeout: any;
13
+ }) => Promise<{
14
+ body: any;
15
+ headers: any;
16
+ multiValueHeaders: any;
17
+ statusCode: any;
18
+ } | {
19
+ statusCode: number;
20
+ body?: undefined;
21
+ headers?: undefined;
22
+ multiValueHeaders?: undefined;
23
+ }>;
24
+ export declare const onRegister: (func: any) => any;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/functions/runtimes/go/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI,OAAO,CAAA;AAiCxB,eAAO,MAAM,gBAAgB;;;;;EAK5B,CAAA;AAGD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAwB1B,CAAA;AAGD,eAAO,MAAM,UAAU,oBAItB,CAAA"}
@@ -0,0 +1,68 @@
1
+ import { dirname, extname } from 'path';
2
+ import { platform } from 'process';
3
+ import { temporaryFile } from 'tempy';
4
+ import execa from '../../../../utils/execa.js';
5
+ import { runFunctionsProxy } from '../../local-proxy.js';
6
+ const isWindows = platform === 'win32';
7
+ export const name = 'go';
8
+ // @ts-expect-error TS(7031) FIXME: Binding element 'binaryPath' implicitly has an 'an... Remove this comment to see the full error message
9
+ const build = async ({ binaryPath, functionDirectory }) => {
10
+ try {
11
+ await execa('go', ['build', '-o', binaryPath], { cwd: functionDirectory });
12
+ return { binaryPath, srcFiles: [functionDirectory] };
13
+ }
14
+ catch (error) {
15
+ const isGoInstalled = await checkGoInstallation({ cwd: functionDirectory });
16
+ if (!isGoInstalled) {
17
+ throw new Error("You don't seem to have Go installed. Go to https://golang.org/doc/install for installation instructions.");
18
+ }
19
+ throw error;
20
+ }
21
+ };
22
+ // @ts-expect-error TS(7031) FIXME: Binding element 'cwd' implicitly has an 'any' type... Remove this comment to see the full error message
23
+ const checkGoInstallation = async ({ cwd }) => {
24
+ try {
25
+ await execa('go', ['version'], { cwd });
26
+ return true;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ };
32
+ // @ts-expect-error TS(7031) FIXME: Binding element 'func' implicitly has an 'any' typ... Remove this comment to see the full error message
33
+ export const getBuildFunction = ({ func }) => {
34
+ const functionDirectory = dirname(func.mainFile);
35
+ const binaryPath = temporaryFile(isWindows ? { extension: 'exe' } : undefined);
36
+ return () => build({ binaryPath, functionDirectory });
37
+ };
38
+ // @ts-expect-error TS(7031) FIXME: Binding element 'context' implicitly has an 'any' ... Remove this comment to see the full error message
39
+ export const invokeFunction = async ({ context, event, func, timeout }) => {
40
+ const { stdout } = await runFunctionsProxy({
41
+ binaryPath: func.buildData.binaryPath,
42
+ context,
43
+ directory: dirname(func.mainFile),
44
+ event,
45
+ name: func.name,
46
+ timeout,
47
+ });
48
+ try {
49
+ const { body, headers, multiValueHeaders, statusCode } = JSON.parse(stdout);
50
+ return {
51
+ body,
52
+ headers,
53
+ multiValueHeaders,
54
+ statusCode,
55
+ };
56
+ }
57
+ catch {
58
+ return {
59
+ statusCode: 500,
60
+ };
61
+ }
62
+ };
63
+ // @ts-expect-error TS(7006) FIXME: Parameter 'func' implicitly has an 'any' type.
64
+ export const onRegister = (func) => {
65
+ const isSource = extname(func.mainFile) === '.go';
66
+ return isSource ? func : null;
67
+ };
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/functions/runtimes/go/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import * as go from './go/index.js';
2
+ import * as js from './js/index.js';
3
+ import * as rust from './rust/index.js';
4
+ type BuildFunction = (func: object) => Promise<{
5
+ srcFiles: string[];
6
+ buildPath?: string;
7
+ }>;
8
+ type GetBuildFunction = (params: {
9
+ config: object;
10
+ context: object;
11
+ errorExit: Function;
12
+ func: object;
13
+ functionsDirectory: string;
14
+ projectRoot: string;
15
+ }) => Promise<BuildFunction>;
16
+ type InvokeFunction = (params: {
17
+ context: object;
18
+ event: object;
19
+ func: object;
20
+ timeout: number;
21
+ }) => Promise<{
22
+ body: object;
23
+ statusCode: number;
24
+ }>;
25
+ type OnDirectoryScanFunction = (params: {
26
+ directory: string;
27
+ }) => Promise<void>;
28
+ type OnRegisterFunction = (func: object) => Promise<object | null>;
29
+ export interface Runtime {
30
+ getBuildFunction: GetBuildFunction;
31
+ invokeFunction: InvokeFunction;
32
+ onDirectoryScan?: OnDirectoryScanFunction;
33
+ onRegister?: OnRegisterFunction;
34
+ name: string;
35
+ }
36
+ declare const runtimes: {
37
+ go: typeof go;
38
+ js: typeof js;
39
+ rs: typeof rust;
40
+ };
41
+ export default runtimes;
42
+ //# sourceMappingURL=index.d.ts.map